feat(packages): Expose canonical attribute read chains - #508
Draft
Lms24 wants to merge 4 commits into
Draft
Conversation
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. Breaking Changes 🛠
New Features ✨Attributes
Op
Other
Internal Changes 🔧Attribute
Attributes
Deps
Other
🤖 This preview updates automatically when you update the PR. |
Member
Author
|
bugbot review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 1532a46. Configure here.
Generate stable-first key chains in JavaScript and Python so SDKs can read legacy attributes without importing the full metadata registry. Add small lookup helpers while preserving tree-shakeable package paths. Fixes #496 Co-Authored-By: Claude <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Use a single expression to preserve lookup semantics while reducing the shipped helper by 13 bytes. Move coverage into a dedicated unit test. Refs GH-496 Co-Authored-By: Claude <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Add examples and parameter guidance for the JavaScript and Python helpers. Generate the Python docstring so regeneration preserves the API documentation. Refs GH-496 Co-Authored-By: Claude <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Clean up three pre-existing type errors in the attribute generator: - Drop the `_isDeprecated` destructure in `writeToJs`, which did not exist on the element type and was never read. - Widen `convertToPythonLiteral` to accept `AttributeValue[]`. The body already recursed over arrays, but the `AttributeJson['example']` annotation excluded them, so passing `examples` did not type check. - Guard the first Python example on `firstExample !== undefined` so the indexed access narrows, instead of passing a possibly-`undefined` value into a parameter that did not accept it. - Remove the unused `attributesDir` and `attributeFiles` parameters from `generateMetadataDict` and update the call site. Generated output is byte-identical: re-running `yarn generate` produces no diff in the JavaScript or Python attribute files. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Lms24
force-pushed
the
lms/feat-attribute-read-chains
branch
from
July 31, 2026 14:34
1532a46 to
b91c5b1
Compare
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.
Expose canonical-first attribute read chains and lightweight lookup helpers in JavaScript and Python.
Fixes #496