[wip] Add canvas launch authorization and session retention - #2630
[wip] Add canvas launch authorization and session retention#2630ulugbekna wants to merge 1 commit into
Conversation
Require an exact live launch-provider contract acknowledgement before session startup and on replacement connections. Preserve ordinary client behavior when no provider is configured, and fail closed instead of falling back. Expose explicit no-turn retention through generated session RPCs and a connected-client retain-by-ID helper. Include source, reconnect, runtime and packed-consumer regression coverage and document the public contract. Co-authored-by: Copilot <[email protected]> Copilot-Session: a069b1a2-65a9-4427-b3fe-6546a3bffc9e
c595899 to
dd1a897
Compare
SDK Consistency ReviewThis PR (marked [wip] / draft) adds two new Node.js/TypeScript-only client capabilities:
Cross-SDK findings
AssessmentThis looks like intentional, staged work rather than an oversight: the PR description explicitly states "This draft does not bump/release SDK packages or claim all-language SDK parity for the new Node client option" and is still in draft/WIP state pending a companion runtime implementation. No inline comments are being added since the author has already flagged the parity gap themselves. Suggestion for follow-up (non-blocking for this draft): once the runtime contract stabilizes, consider tracking follow-up work to bring
|
Summary
Add the public Node SDK launch-provider and no-turn retention contracts required by a host that runs explicitly approved local canvas packages.
Included
CopilotClientOptions.extensionLaunchProvider, public request/result/profile/source types, and exact live{ contractVersion: 1 }acknowledgement before creation/resume and on replacement connections.session.retain/session.retainedbindings andclient.retainSession(sessionId)for connected-client retention while an initial create/resume is still waiting on a launch resolver.This API is not a code-integrity mechanism, trust store or backend sandbox. The consuming host still owns exact package/revision/workspace approval.
Validation
npx vitest run test/extension-launch-provider.test.ts— 23 passing.WIP / dependencies
Review and CI follow-up (2026-09-13)
dd1a8979passes Node typecheck, build, lint/format and 225 selected local tests with the correct runtime artifacts.1.0.84-5, whose schemas do not contain the new launch acknowledgement or retention API/event.Local
.local/andnodejs/.local/caches, packed artifacts, runtime logs and consumer scratch directories are intentionally excluded.Public companion drafts
The runtime implementation is tracked separately in its existing private repository.