Skip to content

chore!: Deprecate connector schemas - #188

Open
Aaron ("AJ") Steers (aaronsteers) wants to merge 15 commits into
mainfrom
devin/1782199589-test-wildcard-deprecation
Open

chore!: Deprecate connector schemas#188
Aaron ("AJ") Steers (aaronsteers) wants to merge 15 commits into
mainfrom
devin/1782199589-test-wildcard-deprecation

Conversation

@aaronsteers

@aaronsteersAaron ("AJ") Steers (aaronsteers) commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary

Research PR — confirms that Speakeasy overlays support wildcard JSONPath for bulk-deprecating all 600 connector schemas with just 2 overlay actions.

Working syntax:

overlay: 1.0.0x-speakeasy-jsonpath: rfc9535 # Required: switches from legacy to RFC 9535 parseractions:
- target: "$.components.schemas[?search(@~, '^source-')]"update:
deprecated: truex-speakeasy-deprecation-message: "..."

Where @~ is Speakeasy's PropertyNameExtension (accesses the schema key name) and search() does substring regex matching per RFC 9535.

Result: Speakeasy generates @deprecated from typing_extensions on both BaseModel and TypedDict connector classes — producing real DeprecationWarning at runtime, not just docstring annotations. 600 connector model files annotated, 0 core models affected.

Key pitfalls discovered:

  • match() does full-string match (match(@~, '^source-') matches nothing) — use search() instead
  • x-speakeasy-jsonpath: rfc9535 is required — overlay 1.0.0 defaults to legacy VMware Labs parser which lacks match()/search()/@~

Link to Devin session: https://app.devin.ai/sessions/1a9172f7c32f4aa2852da2423f44101a
Requested by: Aaron ("AJ") Steers (@aaronsteers)

…refix
Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation failed. Check the job output for details.

…tion
Try filtering schemas by content (existence of sourceType/destinationType
properties) instead of by name prefix, since match() is not supported.
Co-Authored-By: AJ Steers <aj@airbyte.io>
@github-actions

github-actionsBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generated Code Drift Detected

The committed code does not match what the generation pipeline produces.

To fix: Comment /generate on this PR to regenerate.

 gen.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

octavia-botBotand others added 2 commits June 23, 2026 07:36
…ard matching
Enable x-speakeasy-jsonpath: rfc9535 and use match(@~, '^source-') to
regex-match schema names by prefix. The @~ extension accesses the
property name of the current node in filter expressions.
Co-Authored-By: AJ Steers <aj@airbyte.io>
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

…hema names
match() does full-string match per RFC 9535, so match(@~, '^source-')
requires the entire name to be '^source-'. search() does substring match,
so search(@~, '^source-') correctly finds names starting with 'source-'.
Co-Authored-By: AJ Steers <aj@airbyte.io>
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

@aaronsteersAaron ("AJ") Steers (aaronsteers) changed the title Do not merge: test wildcard JSONPath for deprecating connector schemaschore!: mark typed connector models as deprecatedJun 23, 2026
@aaronsteers
Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review June 23, 2026 08:04
CopilotAI review requested due to automatic review settings June 23, 2026 08:04
@aaronsteersAaron ("AJ") Steers (aaronsteers) changed the title chore!: mark typed connector models as deprecatedchore!: mark typed connector-specific models as deprecatedJun 23, 2026
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment threadgen.yaml Outdated

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

Co-Authored-By: AJ Steers <aj@airbyte.io>
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

@devin-ai-integrationdevin-ai-integrationBot changed the title chore!: mark typed connector-specific models as deprecatedDo not merge: test wildcard JSONPath for deprecating connector schemasJun 23, 2026
Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integrationdevin-ai-integrationBot changed the title Do not merge: test wildcard JSONPath for deprecating connector schemaschore: Do not merge - test wildcard JSONPath for deprecating connector schemasJun 23, 2026
@devin-ai-integrationdevin-ai-integrationBot changed the title chore: Do not merge - test wildcard JSONPath for deprecating connector schemaschore: test wildcard JSONPath for deprecating connector schemasJun 23, 2026
@aaronsteersAaron ("AJ") Steers (aaronsteers) changed the title chore: test wildcard JSONPath for deprecating connector schemaschore!: Deprecate connector schemasJun 23, 2026
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

Co-Authored-By: AJ Steers <aj@airbyte.io>
@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation failed. Check the job output for details.

@octavia-bot

octavia-botBot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Generate SDK Job Info

Running Speakeasy SDK generation.

Job started... Check job output.
SDK generation completed successfully.

Co-Authored-By: AJ Steers <aj@airbyte.io>
devin-ai-integrationBotand others added 5 commits June 23, 2026 19:27
Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
…ero-diff
Co-Authored-By: AJ Steers <aj@airbyte.io>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@aaronsteers@airbyte-support-bot