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

@aaronsteers Aaron ("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.0
x-speakeasy-jsonpath: rfc9535  # Required: switches from legacy to RFC 9535 parser

actions:
  - target: "$.components.schemas[?search(@~, '^source-')]"
    update:
      deprecated: true
      x-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-bot Bot 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-actions Bot 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-bot Bot 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-bot Bot and 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-bot Bot 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-bot Bot 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.

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

octavia-bot Bot 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-integration devin-ai-integration Bot 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 thread gen.yaml Outdated

Copilot AI 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-bot Bot 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-integration devin-ai-integration Bot changed the title chore!: mark typed connector-specific models as deprecated Do not merge: test wildcard JSONPath for deprecating connector schemas Jun 23, 2026
Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration devin-ai-integration Bot changed the title Do not merge: test wildcard JSONPath for deprecating connector schemas chore: Do not merge - test wildcard JSONPath for deprecating connector schemas Jun 23, 2026
@devin-ai-integration devin-ai-integration Bot changed the title chore: Do not merge - test wildcard JSONPath for deprecating connector schemas chore: test wildcard JSONPath for deprecating connector schemas Jun 23, 2026
@aaronsteers Aaron ("AJ") Steers (aaronsteers) changed the title chore: test wildcard JSONPath for deprecating connector schemas chore!: Deprecate connector schemas Jun 23, 2026
@octavia-bot

octavia-bot Bot 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-bot Bot 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-bot Bot 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-integration Bot and 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>
…ero-diff

Co-Authored-By: AJ Steers <aj@airbyte.io>
Sign up for free to 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.

2 participants