*/
private _getClientForToken(githubToken: string): Promise<CAPIClient> {
return this._getEntryForToken(githubToken).then(entry => entry.capiClient);
copilotApiService.ts
}
/**
Frontier kind: Code frontier
unlabeled · c_cf8b228d7639
87 tests · 20102 LOC · 84 files · introduces 0 tests · 2 LOC · 1 file
The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.
Introduced files, introduced tests, and structurally relevant concept specialization
In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.
Graph controls are ready.
Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.
Every exact file and test below is linked only from the concept that introduces it.
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract SSE error frame missing type: defaults to api_error|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Streaming Responses throws on error event with message|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Streaming Responses handles data split across multiple network chunks|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Streaming Responses yields text deltas from content_block_delta events|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract SSE error frame with conforming envelope is preserved verbatim (extra fields propagate)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract SSE error frame with full envelope: passthrough type and message|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Streaming Responses handles a data line split right at the newline boundary|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Streaming Responses handles many small deltas|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Cancellation cancels the underlying SSE stream after message_stop terminates the generator|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) message_stop is the last yielded event|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) stops after message_stop even if extra SSE data follows|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) tool_use block events round-trip through messages()|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) yields all six protocol event types in order|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) yields input_json_delta events|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) yields message_delta with stop_reason payload|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Raw Event Stream (messages()) yields thinking_delta events (not filtered by messages())|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format streaming sends stream=true in the body|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract 401 still invalidates the cached token (regression)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery invalidates cached endpoint discovery on 401 from messages so the next call re-discovers|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract non-2xx with non-Anthropic JSON body: synthesizes api_error envelope|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses throws on 429 rate limit|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract error message never embeds auth tokens|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService CopilotApiError contract non-2xx with plain-text body: synthesizes api_error envelope using body|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery error from CAPI does not include the github token|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses throws on 500 server error|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery in-flight discovery dedup spans concurrent messages + models calls|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models reuses cached token across messages and models calls|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery does not double-discover when concurrent requests race on first call|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery does not re-discover when the cache is still warm for the same token|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery reuses cached endpoint discovery for consecutive calls with same github token|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format suppressIntegrationId opt-in controls the Copilot-Integration-Id header|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Shared Behavior both modes share the same cached copilot token|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Cancellation does not forward AbortSignal to the shared token mint fetch|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Cancellation forwards AbortSignal to fetch for messages|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery discovers independently for concurrent requests with different github tokens|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery falls back to default API base when endpoints.api is missing|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery re-discovers endpoints when the github token changes|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery runs endpoint discovery on first request|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery sends the github token as a Bearer Authorization header to the discovery endpoint|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery uses endpoints.api from the /copilot_internal/user response as the CAPI base|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses concatenates multiple text blocks|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses returns empty string when no text blocks are present|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses returns text content from a single text block|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses returns the stop reason|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses skips non-text content blocks (tool_use, thinking)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Non-Streaming Responses stop_reason is null when missing from server response|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format caller-supplied headers cannot override security-sensitive standard headers|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format defaults to non-streaming when stream is omitted|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format merges caller-provided headers into the request|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format non-streaming sends stream=false in the body|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format omits system field entirely when not provided|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format passes messages through as-is|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format sends correct CAPI headers|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format sends max_tokens in the body|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Request Format sends model in the body|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery error from endpoint discovery does not include the github token|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery throws on 403 from endpoint discovery|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Endpoint Discovery throws on 500 from endpoint discovery|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Cancellation forwards AbortSignal to fetch for models|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models caller-supplied headers cannot override Authorization in models()|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models returns empty array when data is missing|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models returns models from the data array|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models routes to the models endpoint URL|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/shared/copilotApiService.test|title=CopilotApiService Models sends Bearer token in Authorization header|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/charCode.test|title=CharCode has good values|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/path.test|title=Paths (Node Implementation) path|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI File paths containing apostrophes break URI parsing and cannot be opened #276075|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI URI#file, win-speciale|occurrence=1Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 2 introduced LOC across 1 ranges. Expand a file to inspect source; the > gutter marks introduced lines.
*/
private _getClientForToken(githubToken: string): Promise<CAPIClient> {
return this._getEntryForToken(githubToken).then(entry => entry.capiClient);
copilotApiService.ts
}
/**