Skip to content

Add E2E test for session.providerEndpoint.get#1621

Draft
SteveSandersonMS wants to merge 1 commit into
mainfrom
stevesandersonms/provider-endpoint-e2e
Draft

Add E2E test for session.providerEndpoint.get#1621
SteveSandersonMS wants to merge 1 commit into
mainfrom
stevesandersonms/provider-endpoint-e2e

Conversation

@SteveSandersonMS

@SteveSandersonMS SteveSandersonMS commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Adds a Node E2E test for the new session.providerEndpoint.get shared API (not yet shipped).

The new RPC returns the provider endpoint + credentials for a session — the BYOK config if one is set, otherwise the resolved CAPI endpoint — so SDK consumers can call the LLM backend directly with their own OpenAI/Anthropic client.

Changes

  • Regenerated nodejs/src/generated/rpc.ts and session-events.ts against the runtime schema that adds providerEndpoint.
  • New nodejs/test/e2e/provider_endpoint.e2e.test.ts covering:
    • BYOK: returns protocol, baseUrl, apiKey, headers from the configured provider.
    • CAPI: returns the resolved CAPI base URL (using the harness CapiProxy so no real network calls).

Validating

Built the runtime branch locally and pointed the harness at it:

COPILOT_CLI_PATH=<runtime>\dist-cli\index.js npm run test:e2e -- provider_endpoint

Both tests pass.

Draft because this depends on the runtime PR landing + a release that includes the new schema before it can run in CI.

@github-actions

This comment has been minimized.

@SteveSandersonMS SteveSandersonMS force-pushed the stevesandersonms/provider-endpoint-e2e branch 2 times, most recently from c310f9d to 9d87a1e Compare June 10, 2026 14:32
Validates the new shared API exposed by copilot-agent-runtime (see
github/copilot-sdk-internal#133) end-to-end from the Node SDK. Covers
both BYOK (returns provider config + headers) and CAPI (returns the
resolved CAPI base URL).

Regenerates rpc.ts and session-events.ts against the runtime schema that
adds the providerEndpoint RPC.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@SteveSandersonMS SteveSandersonMS force-pushed the stevesandersonms/provider-endpoint-e2e branch from 9d87a1e to d0916b9 Compare June 10, 2026 14:36
@github-actions

Copy link
Copy Markdown
Contributor

Cross-SDK Consistency Review

This PR regenerates Node.js generated types against an updated runtime schema and adds E2E tests for session.providerEndpoint.get. Since this is a draft waiting on the runtime to ship, the following is a heads-up on what will be needed for full cross-SDK parity when this gets promoted.

New APIs added (Node.js only)

The regenerated rpc.ts introduces several new items that will need to be propagated to all other SDK generated files via the codegen scripts (scripts/codegen/{go,csharp,python,rust}.ts and the Java codegen):

New addition Node.js location Other SDKs status
ProviderEndpoint interface rpc.ts ❌ Not yet in Go/Python/.NET/Rust/Java
ProviderSessionToken interface rpc.ts ❌ Not yet in other SDKs
ProviderWireProtocol enum rpc.ts ❌ Not yet in other SDKs
ProviderEndpointGetRequest rpc.ts ❌ Not yet in other SDKs
session.rpc.providerEndpoint.get() createSessionRpc ❌ Not yet in other SDKs
agents.discover createServerRpc ❌ Not yet in Go/Python/.NET/Rust/Java
ServerAgentList, ServerInstructionSourceList rpc.ts ❌ Not yet in other SDKs
createInternalSessionRpc rpc.ts SDK-internal, may not apply

Schema field changes that also need propagation

The following field-level schema changes in Node.js generated types will also need to be reflected in the other SDKs' generated files:

  • ScheduleEntry: intervalMs changed from required → optional; added cron, tz, at fields
  • TaskAgentInfo: added resolvedModel field
  • ResumeData (session-events.ts): added eventsFileSizeBytes
  • ScheduleCreatedData (session-events.ts): added at, cron, tz fields

E2E tests to add

Once the runtime ships, session.providerEndpoint.get tests analogous to nodejs/test/e2e/provider_endpoint.e2e.test.ts should be added for:

  • Python (python/e2e/)
  • Go (go/ — look at existing *_test.go E2E patterns)
  • .NET (dotnet/test/)
  • Rust (rust/tests/e2e/)
  • Java (java/src/test/java/**/e2e/)

No action needed now

Since this is a draft waiting on the runtime release, the above is expected to be incomplete at this stage. When the runtime PR lands and this is undrafted, running just codegen (or the per-language codegen commands) against the updated schema should regenerate the other SDKs' files automatically — the main gap to track is adding the per-language E2E tests.

The Node.js test implementation looks correct and comprehensive (covers both BYOK and CAPI-OAuth cases). 👍

Generated by SDK Consistency Review Agent for issue #1621 · sonnet46 1.9M ·

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