feat: add support for validating Arazzo 1.1.0#2877
Open
DmitryAnansky wants to merge 10 commits into
Open
Conversation
🦋 Changeset detectedLatest commit: 8cdf4f5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
Contributor
Performance Benchmark (Lower is Faster)
|
25febda to
0126f35
Compare
DmitryAnansky
commented
Jun 16, 2026
05e73a3 to
856bc43
Compare
31e7814 to
c360758
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c360758. Configure here.
JLekawa
reviewed
Jun 18, 2026
Co-authored-by: Jacek Łękawa <164185257+JLekawa@users.noreply.github.com>
JLekawa
approved these changes
Jun 18, 2026
thunderquake
approved these changes
Jun 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What/Why/How?
What's new in Arazzo 1.1.0 (verified against spec.openapis.org/arazzo/latest.html)
$self(URI-reference, base URI for the doc)typegainsasyncapi(wasopenapi/arazzo)channelPath(AsyncAPI channel pointer, joins mutual-exclusivity group with operationId/operationPath/workflowId),action(send/receive),correlationId,timeout(integer, ms),dependsOn(list of stepIds)ingainsquerystring(OpenAPI 3.2 alignment)typeis now the generalized Expression Type Object; jsonpath versions gainrfc9535, xpath versions gainxpath-31type:jsonpath/xpath/jsonpointer;versionREQUIRED: jsonpath→rfc9535,draft-goessner-dispatch-jsonpath-00; xpath→xpath-31,xpath-30,xpath-20,xpath-10; jsonpointer→rfc6901context(REQUIRED),selector(REQUIRED),type(REQUIRED, string enum or Expression Type Object). Usable in outputs, parameter values, requestBody payload, payload replacement valuestargetSelectorType(string enum or Expression Type Object);valuemay be a Selector Objectparameters(list of Parameter Object | Reusable Object) for passing inputs to the referenced workflow$message.header.*,$message.payload,$selfsources (no lint impact — expressions are opaque strings to lint)Reference
Closes: #2825
Testing
Screenshots (optional)
Check yourself
Security
Note
Medium Risk
Touches core spec detection and config resolution for a new document version; behavior is covered by unit and e2e tests but mis-routing versions could affect all Arazzo lint runs.
Overview
Adds Arazzo 1.1.0 as a first-class lint target:
detectSpecroutesarazzo: 1.1.xtoarazzo1_1(1.0.x still usesarazzo1), and structural validation uses newArazzo1_1Types($self, AsyncAPI source descriptions,channelPath/action/selector objects, expanded expression types, etc.). 1.0 documents reject 1.1-only fields via the existing struct walk.Configuration gains
arazzo1_1Rules/arazzo1_1Preprocessors/arazzo1_1Decorators(mirroringarazzo1*), wired through presets, config merge, plugins, and CLI fixtures/telemetry for both Arazzo spec keys.Introduces
spec-step-mutually-exclusive-fields(version-aware: includeschannelPathon 1.1) and updatessourceDescription-typeto allowasyncapionly forarazzo1_1. Docs, ruleset templates, and e2e cover valid 1.1 workflows and the new rule.Reviewed by Cursor Bugbot for commit 8cdf4f5. Bugbot is set up for automated code reviews on this repo. Configure here.