feat(sdk): add release notes and align Anthropic client behavior - #7
Merged
Merged
Conversation
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.
Summary
GitHub Releases now publish reviewed notes from the matching
CHANGELOG.mdversion. Forward and Managed clients also align timeout scope, ordinary response request IDs, and manual pagination with the pinned Anthropic TypeScript SDK (sdk-v0.127.0).fetchonly. Clear it when a response arrives; credential resolution, middleware, and response-body/SSE reads are outside that timer. CallerAbortSignalcancellation still covers the operation and stream reads._request_idon ordinary JSON object responses. Prefer QCA'sx-request-id, fall back torequest-id, and usenullwhen neither is present. PreservewithResponse().request_idand the shapes of arrays, page objects/items, raw responses, and SSE events.Page.getNextPage()throwQoderErrorat the last page and returnPromise<Page<T>>. Automatic iteration still ends normally without an extra request.Unreleasedand update README/API documentation.Why
Release notes need a reviewed, version-specific source. An established SSE stream should remain usable beyond the fetch timeout, and callers should be able to log
result._request_iddirectly when diagnosing successful API calls. Manual pagination should report an exhausted page consistently with the agreed Anthropic baseline.Verification
npm test: 3,314 passed, including the CommonJS/ESM export checks and offline scenarios.npm run buildandnpm run typecheck.npm pack --dry-run.Account-backed integration tests and live examples were not run; the changed client behavior is verified offline. GitHub release publication itself was not executed locally.
Impact
Applications that used
timeoutas a total SSE/download deadline should passsignal: AbortSignal.timeout(...)instead._request_idis reserved SDK metadata and is omitted by JSON serialization and object spread; it is not added recursively to nested data. Manual loops that stopped whengetNextPage()returnednullmust checkhasNextPage()or use async iteration. Public API resource contracts and fixtures do not change. No credentials, live environment files, or test output are included.Related SDK changes: Go #5, Python #7.