You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feat/asyncapi extractor (#239)
* feat: Add AsyncAPI extractor and support for AsyncAPI specifications
- Implement AsyncAPI extractor to read AsyncAPI 2.x and 3.x documents as messaging topic facts.
- Update architecture documentation to include AsyncAPI in the list of extractors.
- Enhance README to mention AsyncAPI support and its integration.
- Create dedicated documentation for AsyncAPI extraction.
- Add tests for AsyncAPI extraction functionality.
- Modify existing Kafka linking logic to accommodate AsyncAPI protocols.
- Introduce example AsyncAPI specifications for testing.
* feat: Enhance AsyncAPI extractor with local reference resolution and message schema handling
* feat: bind Go Kafka call sites to AsyncAPI operations
- Introduced binding contracts for Go Kafka code to AsyncAPI operations, normalizing messaging operations to `publish` and `subscribe`.
- Enhanced extraction logic to identify Kafka publish/subscribe calls and associate them with AsyncAPI operations.
- Updated facts structure to include messaging operation details, such as `messaging_contract_bound`, `messaging_implementation_count`, and `implemented_by` relations.
- Added tests to verify the correct binding of Kafka operations and ensure that ambiguous or mismatched operations remain unbound.
- Implemented a new binder for messaging contracts to facilitate the linking of code operations to AsyncAPI specifications.
* feat: add TypeScript Kafka call extraction and binding to AsyncAPI operations
* feat: enhance messaging contract binding with protocol compatibility checks
* feat: implement messaging coverage insights for AsyncAPI operations
* feat: enhance AsyncAPI extractor and messaging coverage with additional line tracking and improved test coverage
* feat: update documentation and tests to reflect the addition of a twelfth measurement in enola
* fix: derive the explainer count in render.go's advisory from KnownExplainers
Rebasing onto main's new config.KnownExplainers registry left this one
hardcoded "twelve" stale at sixteen with no conflict to catch it, since
the line wasn't touched by any upstream commit. Compute it instead of
hardcoding another number that will drift again next time an explainer
ships. Updates the README's quoted example output to match, and
regenerates the asyncapi_multirepo golden fixture (two interface-method
symbols now emitted by an unrelated upstream Go-extractor improvement).
* fix: deduplicate equivalent AsyncAPI contracts
* fix: lint failures in asyncapi.go, keep explainer counts spelled out in prose
golangci-lint flagged two real issues: an unnecessary any type on
messageRaw (ST1023), and localRefTail, dead code superseded by
refs.go's refTail (unused). Both fixed; verified clean via
golangci-lint run ./internal/extractors/asyncapiextractor/....
Also reverts the explainer-count digit experiment in render.go and
restores "sixteen" over "16" in the README's quoted example output —
prose keeps spelling counts out as words.