feat(sdk-typescript): add application-owned OAuth PKCE flow - #44
Conversation
Nostradamus Risk Rating — CriticalThe PR introduces a complete new Go SDK ( High/Critical — a full threat model follows. |
|
Nostradamus Threat Model - Passed - APPSEC-1569 |
Change Control Evidence CheckAuthorization — ❌ FailEvidence:
Testing — ✅ PassEvidence:
Approval — ✅ PassEvidence:
Segregation of Duties — ✅ PassValidated:
Last checked: 2026-08-29 13:48 UTC ↩ Re-run Clarissa if tickets, CI, or approvals have changed. |
ximt
left a comment
There was a problem hiding this comment.
Request changes. I reviewed the pinned PR head against its base using focused Go auth/transport/WebSocket/services/generated, TypeScript OAuth/PKCE, and packaging slices. The inline comments contain one Critical and nine Important findings involving request lifecycle, token routing, order-book/account data integrity, pagination, numeric portability, cancellation safety, and release correctness.
Targeted go test -race ./auth ./transport ./websocket ./services ./types passes, and the SDK compiles for GOOS=linux/GOARCH=386; those checks do not cover the runtime wire-decoding and lifecycle cases called out here. Please fix these issues and re-review against the new head SHA.
e260cfd to
e5183b2
Compare
|
Scope correction: this PR branch was rebuilt from |
ximt
left a comment
There was a problem hiding this comment.
Found one critical production issue in the new OAuth revocation path. The package type/adapter contract permits an empty response body, and Gemini documents revocation success as HTTP 200 with an empty body. Please fix this before merge; the package checks and tests pass, but they do not cover the empty-body response.
ximt
left a comment
There was a problem hiding this comment.
Re-reviewed PR #44 at d4d72e0 in the isolated worktree. The previous critical OAuth revocation issue is fixed: successful 2xx responses are handled before body reads, empty 200/204 bodies are covered by regression tests, and response cleanup remains best-effort. Local typecheck, 635 tests, package verification, browser/bundle verification, API-surface verification, and diff checks pass. No remaining Critical or Important correctness or security findings.
|
@ximt Could you please confirm the review disposition on PR #44? The two TypeScript OAuth findings were fixed in e5183b2 and d4d72e0; the nine Go findings were moved to PR #43. All 11 inline threads are now replied to and resolved, and the PR is approved. The remaining SSDLC status is governance-only and needs a Linear change ticket. |
Summary
Adds OAuth authorization-code + PKCE orchestration to the TypeScript SDK while keeping browser navigation, callback handling, and credential storage application-owned.
Scope: This PR is limited to
packages/sdk-typescript/**; it contains no Go SDK changes.Verification
npm audit --omit=dev: 0 vulnerabilities