Skip to content

feat(api)!: sync generated SDK from staging - #105

Merged
aburkard merged 1 commit into
mainfrom
stlc-promote
Sep 3, 2026
Merged

feat(api)!: sync generated SDK from staging#105
aburkard merged 1 commit into
mainfrom
stlc-promote

Conversation

@aburkard

@aburkard aburkard commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Promotes the generated SDK from the staging buffer to this production repo.

  • Source: hyperspell/node-sdk-staging@04f7d8caa3e36c6d7534b410c7f894dc16f5a578 (ref main)
  • Promoted by: https://github.com/hyperspell/hyperspell/actions/runs/33723173859
  • Excluded (production-owned): CHANGELOG.md, release-please manifest/config, the release-please/publish/release-doctor workflows, and version stamps (kept at 0.40.1; release-please bumps them on release).

Merging hands off to release-please: it will open a release PR computing the next version from this PR's conventional-commit message — that release PR is the human gate for the actual publish. Amend the commit type (fix: / feat!:) before merging if the change warrants a different bump.

A re-dispatch of the promote workflow force-pushes this branch, superseding this PR's content in place.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…f894dc16f5a578

Source: hyperspell/node-sdk-staging@04f7d8caa3e36c6d7534b410c7f894dc16f5a578

Promoted by: https://github.com/hyperspell/hyperspell/actions/runs/33723173859
@aburkard aburkard changed the title feat(api): sync generated SDK from staging feat(api)!: sync generated SDK from staging Sep 3, 2026
@aburkard

aburkard commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

Compatibility note: this removes the generated Context Documents client surface and adds read-only Entities (list/get/search) plus normalized Live source operations. The Context Documents HTTP routes are not being removed or changed; Hyperspell-owned clients continue to use them directly, and existing installed SDK versions continue to work. The breaking marker is for consumers that upgrade and compiled against those generated methods.

@entelligence-ai-pr-reviews

Copy link
Copy Markdown

EntelligenceAI PR Summary

Promotes a generated SDK from staging, replacing the legacy context-documents API with entities and live-resource endpoints across the TypeScript client, MCP tooling, embedded API documentation, and tests. The change removes several public resources and pagination types, adds new generated models and request methods, and updates the embedded mock OpenAPI specification.


Review Scorecard

Dimension Rating Basis
Code Quality ●●●○○ 3/5 — Needs Work 1 significant finding(s) — reviewer rated the code Needs Work
Blast Radius Medium EntityCursorPage is referenced in 2 other file(s), touches infra / deploy / config, 20 file(s) / ~2730 line(s) changed (size only — not a blast signal)
Merge Confidence ●●●○○ 3/5 — Review Recommended code quality 3/5 × Medium blast radius

Issues found:

  • Significant packages/mcp-server/src/local-docs-search.ts — Document listResources as a paginated response

Fix before merge but contained despite the Medium blast radius — packages/mcp-server/src/local-docs-search.ts advertises live.listResources as returning a single resource object instead of the paginated response used by the generated API. This creates a misleading MCP-facing contract and can cause consumers to miss the page items or cursor fields, although the broader generated entity/live-resource migration is consistently propagated across the SDK, tooling, embedded specification, and tests. No pre-existing unresolved issues were identified; this documentation mismatch is introduced by this PR.

Need to merge before these are addressed? Anyone with write access can comment @entelligence /approve to approve it now. @entelligence help lists every command.

Evaluated against
  • 24/24 changed files reviewed
  • criteria: correctness, security & access control, robustness & error handling, concurrency & data integrity, repo conventions / steering docs
  • steering docs: none found in repo
Files requiring special attention
  • packages/mcp-server/src/local-docs-search.ts

@entelligence-ai-pr-reviews

Copy link
Copy Markdown

Findings outside the diff (1)

GitHub only accepts inline review comments on lines the PR changed. These findings are about code this PR did not change, so they are reported here instead.


packages/mcp-server/src/local-docs-search.ts · lines 592-600 · MAJOR

MAJOR DOCUMENTATION Document listResources as a paginated response

The embedded MCP method metadata describes live.listResources as returning one resource object, but the generated SDK returns a PagePromise of LiveListResourcesResponse pages. MCP documentation consumers can therefore infer the wrong response shape and omit cursor pagination.

Prompt to fix with AI

Copy this prompt into your AI coding assistant to fix this issue.

Regenerate or manually correct the embedded listResources response metadata and markdown to describe the paginated cursor response, including its items and next_cursor fields.

@aburkard

aburkard commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@Entelligence /approve

The pagination finding does not match this SDK's generated pagination convention. client.live.listResources() returns a PagePromise, while for await yields individual LiveListResourcesResponse items; the embedded response metadata intentionally describes that yielded item. The embedded example explicitly uses for await, and the same representation is used by existing paginated methods such as client.memories.list() and the new client.entities.list(). There is no missing items/next_cursor handling in the actual SDK.

@entelligence-ai-pr-reviews

Copy link
Copy Markdown

@aburkard said:

@Entelligence /approve

The pagination finding does not match this SDK's generated pagination convention. client.live.listResources() returns a PagePromise, while for await yields individual LiveListResourcesResponse items; the embedded response metadata intentionally describes that yielded item. The embedded example explicitly uses for await, and the same representation is used by existing paginated methods such as client.memories.list() and the new client.entities.list(). There is no missing items/next_cursor handling in the actual SDK.

To approve, comment exactly @entelligence /approve with nothing after it. I didn't approve anything just now.

@aburkard

aburkard commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@Entelligence /approve

@entelligence-ai-pr-reviews entelligence-ai-pr-reviews Bot 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.

Entelligence: approved at @aburkard's request via /approve. This overrides the review score and is not a judgement on the code.

@aburkard
aburkard merged commit efeb272 into main Sep 3, 2026
9 checks passed
@aburkard aburkard mentioned this pull request Sep 2, 2026
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.

1 participant