Multi-platform SDK for integrating GitHub Copilot Agent into apps and services
This report summarizes scanner evidence for github/copilot-sdk, a TypeScript project with 10,544 GitHub stars. SynthScan examined 575,410 lines of code across 2002 source files, recording 2991 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 6.5 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2163 finding(s).
Are imports declared and package/API names verified? 408 finding(s).
Are wrappers, guards, and repeated structures necessary? 1746 finding(s).
Which changes need focused human review? 2991 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2991 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodejs/test/copilot-request-handler.test.ts | 52 | class StaticResponseHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/client-api-codegen.test.ts | 63 | function expectOnlyPublicClientSessionHandlers(code: string): void { | CODE |
| LOW | nodejs/test/client-api-codegen.test.ts | 81 | expect(allInternalCode).toContain("export function registerClientSessionApiHandlers("); | CODE |
| LOW | nodejs/test/client-api-codegen.test.ts | 174 | expect(allInternalCode).toContain("def register_client_session_api_handlers("); | CODE |
| LOW | nodejs/test/set-tools.test.ts | 13 | function sessionWithPendingToolsSet() { | CODE |
| LOW | nodejs/test/npm-auth-refresh.test.ts | 39 | async function createTemporaryNpmrcPaths(): Promise<string[]> { | CODE |
| LOW | …dejs/test/e2e/copilot_request_cancel_error.e2e.test.ts | 93 | class ThrowingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | …dejs/test/e2e/copilot_request_cancel_error.e2e.test.ts | 109 | class CancellingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/permissions.e2e.test.ts | 741 | async function createUniqueWorkDirectory(baseDir: string, prefix: string): Promise<string> { | CODE |
| LOW | nodejs/test/e2e/rpc_server_misc.e2e.test.ts | 39 | async function createIsolatedStartedClient( | CODE |
| LOW | nodejs/test/e2e/subagent_hooks.e2e.test.ts | 34 | class RecordingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/subagent_hooks.e2e.test.ts | 75 | function expectSubagentRequestMetadata(records: RequestRecord[]): void { | CODE |
| LOW | nodejs/test/e2e/hydrafusion_max.e2e.test.ts | 22 | class FusionRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/rpc_server.e2e.test.ts | 16 | function createAuthenticatedClient(token: string): CopilotClient { | CODE |
| LOW | nodejs/test/e2e/rpc_server.e2e.test.ts | 50 | async function configureAuthenticatedUser( | CODE |
| LOW | nodejs/test/e2e/rpc_server.e2e.test.ts | 89 | function createUniqueWorkDirectory(prefix: string): string { | CODE |
| LOW | nodejs/test/e2e/session_fs.e2e.test.ts | 1715 | function createTestSessionFsHandler( | CODE |
| LOW | nodejs/test/e2e/mcp_remote_session_closure.e2e.test.ts | 151 | async function startSessionExpiryMcpServer(): Promise<{ | CODE |
| LOW | nodejs/test/e2e/auto_fusion_routing.e2e.test.ts | 13 | class AutoFusionRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/hooks.e2e.test.ts | 175 | async function expectPreToolUseAfterResume(target: CopilotClient): Promise<void> { | CODE |
| LOW | nodejs/test/e2e/copilot_request_session_id.e2e.test.ts | 41 | class RecordingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/copilot_request_session_id.e2e.test.ts | 103 | function buildNonInferenceResponse(url: string): Response { | CODE |
| LOW | nodejs/test/e2e/mcp_scoped_sign_in.e2e.test.ts | 210 | async function authenticationStateChanged( | CODE |
| LOW | nodejs/test/e2e/mode_empty.e2e.test.ts | 39 | async function getSystemMessageSentToLLM(): Promise<string> { | CODE |
| LOW | nodejs/test/e2e/pending_work_resume.e2e.test.ts | 65 | async function waitForPendingPermissionRequestId(session: CopilotSession): Promise<string> { | CODE |
| LOW | nodejs/test/e2e/pending_work_resume.e2e.test.ts | 79 | function waitForExternalToolRequests( | CODE |
| LOW | nodejs/test/e2e/pending_work_resume.e2e.test.ts | 191 | async function forceStopAfterSessionLockObserved( | CODE |
| LOW | nodejs/test/e2e/subagent_prompt_resume.e2e.test.ts | 35 | class RecordingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/subagent_prompt_resume.e2e.test.ts | 339 | function expectAdaptedExplorePrompt(prompt: string): void { | CODE |
| LOW | nodejs/test/e2e/subagent_prompt_resume.e2e.test.ts | 345 | function expectAdaptedGeneralPurposePrompt(prompt: string): void { | CODE |
| LOW | nodejs/test/e2e/byok_bearer_token_provider.e2e.test.ts | 52 | class CapturingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/rpc_shell_user_requested.e2e.test.ts | 28 | function createMarkerThenSleepCommand(markerPath: string, seconds: number): string { | CODE |
| LOW | …js/test/e2e/autopilot_assisted_permissions.e2e.test.ts | 23 | class AssistedPermissionRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/compaction.e2e.test.ts | 209 | function expectNoConversationCacheMarkers(request: CacheWireRequest): void { | CODE |
| LOW | nodejs/test/e2e/rpc_server_plugins.e2e.test.ts | 51 | async function createIsolatedStartedClient(): Promise<{ | CODE |
| LOW | nodejs/test/e2e/rpc_server_plugins.e2e.test.ts | 90 | function createLocalMarketplaceFixture(): string { | CODE |
| LOW | nodejs/test/e2e/rpc_server_plugins.e2e.test.ts | 115 | function createDirectPluginFixture(): string { | CODE |
| LOW | nodejs/test/e2e/rpc_session_state_extras.e2e.test.ts | 32 | function createAuthenticatedClient(token: string): CopilotClient { | CODE |
| LOW | nodejs/test/e2e/rpc_session_state_extras.e2e.test.ts | 41 | async function configureAuthenticatedUser(token: string): Promise<void> { | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 233 | async function expectGitHubMcpConfigApplied(session: CopilotSession): Promise<void> { | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 260 | function assertSessionLimitsStatus( | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 317 | class RecordingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 361 | function anthropicMessageStreamBody( | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 425 | function buildNonInferenceResponse(url: string): Response { | CODE |
| LOW | nodejs/test/e2e/session_config.e2e.test.ts | 521 | function assertAnthropicDocumentCitationsEnabled(requestBody: string) { | CODE |
| LOW | nodejs/test/e2e/plan_exit_mode_notice.e2e.test.ts | 31 | function waitForExitPlanModeRequest( | CODE |
| LOW | nodejs/test/e2e/tools_anthropic_updates.e2e.test.ts | 59 | function streamRejectionAfterOutput(): Response { | CODE |
| LOW | nodejs/test/e2e/telemetry-skills.e2e.test.ts | 50 | function expectNoLegacySkillFields(attributes: Record<string, unknown>): void { | CODE |
| LOW | nodejs/test/e2e/disabled_mcp_servers.e2e.test.ts | 24 | class PersistingRequestHandler extends CopilotRequestHandler { | CODE |
| LOW | nodejs/test/e2e/extension_env_access.e2e.test.ts | 45 | async function runExtensionAgainstStubHost(options: { | CODE |
| LOW | …ejs/test/e2e/assisted_autopilot_permission.e2e.test.ts | 1038 | async function configureAssistedAutopilot(session: CopilotSession, workDir: string): Promise<void> { | CODE |
| LOW | …ejs/test/e2e/assisted_autopilot_permission.e2e.test.ts | 1059 | async function expectAssistedAutopilotConfigured( | CODE |
| LOW | nodejs/test/e2e/session_fs_sqlite.e2e.test.ts | 140 | function createTestSessionFsHandlerWithSqlite( | CODE |
| LOW | nodejs/test/e2e/session_fs_sqlite.e2e.test.ts | 148 | function getOrCreateDb(): DatabaseSync { | CODE |
| LOW | nodejs/test/e2e/harness/sdkTestHelper.ts | 101 | export async function withFinalAssistantMessage( | CODE |
| LOW | nodejs/test/e2e/harness/webSocketResponsesServer.ts | 12 | export async function startWebSocketResponsesServer() { | CODE |
| LOW | nodejs/scripts/package-release.ts | 62 | export function writeRustReleaseSnapshots( | CODE |
| LOW | nodejs/scripts/prepare-runtime.ts | 14 | export async function resolvePreparedRuntimePath({ | CODE |
| LOW | nodejs/scripts/package-set-manifest.js | 22 | export function verifyPackageSetManifestFiles(manifest, packageDirectory) { | CODE |
| LOW | nodejs/scripts/releaseArtifacts.ts | 31 | export async function downloadVerifiedReleaseAsset( | CODE |
| 1261 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/test_rpc_timeout.py | 29 | # ── session-scoped, with params ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/test_rpc_timeout.py | 65 | # ── session-scoped, no params ──────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/test_rpc_timeout.py | 89 | # ── server-scoped, with params ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | python/test_rpc_timeout.py | 113 | # ── server-scoped, no params ───────────────────────────────────── | COMMENT |
| MEDIUM | python/test_session_fs_provider.py | 1 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/test_session_fs_provider.py | 3 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 43 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 45 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 310 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 312 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 402 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 404 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 778 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/test_commands_and_elicitation.py | 780 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | python/copilot/copilot_request_handler.py | 499 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/copilot/copilot_request_handler.py | 501 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/copilot/copilot_request_handler.py | 620 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | python/copilot/copilot_request_handler.py | 622 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 1 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 3 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 338 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 340 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 675 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/copilot_request_handler.py | 677 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/session_fs_provider.py | 1 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/session_fs_provider.py | 3 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | python/copilot/client.py | 199 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 201 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 868 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 870 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 998 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 1000 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 1220 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 1222 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 1340 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/client.py | 1342 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 136 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 138 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 276 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 278 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 366 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 368 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 467 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 469 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 557 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 559 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 624 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 626 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 688 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 690 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 727 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 729 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 754 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 756 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 798 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 800 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 830 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 832 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 983 | # ============================================================================ | COMMENT |
| MEDIUM | python/copilot/session.py | 985 | # ============================================================================ | COMMENT |
| 185 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodejs/test/e2e/harness/sdkTestContext.ts | 101 | const env = { | COMMENT |
| LOW | nodejs/src/index.ts | 41 | CopilotRequestHandler, | COMMENT |
| LOW | go/github_token_provider.go | 21 | // GitHubTokenProviderArgs contains the context for a GitHub token request. | COMMENT |
| LOW | go/github_token_provider.go | 81 | // resume instead of falling back to ambient authentication. | COMMENT |
| LOW | go/copilot_request_handler.go | 61 | Method string | COMMENT |
| LOW | go/copilot_request_handler.go | 101 | } | COMMENT |
| LOW | go/copilot_request_handler.go | 121 | // WebSocketResponseWriter forwards upstream→runtime WebSocket messages back | COMMENT |
| LOW | go/types.go | 61 | type TCPConnection struct { | COMMENT |
| LOW | go/types.go | 101 | // | COMMENT |
| LOW | go/types.go | 121 | Connection RuntimeConnection | COMMENT |
| LOW | go/types.go | 141 | ExtensionLaunchProvider ExtensionLaunchProvider | COMMENT |
| LOW | go/types.go | 161 | // When provided, the token is passed to the runtime via environment | COMMENT |
| LOW | go/types.go | 181 | // non-nil, the client registers as the inference provider on connect, and | COMMENT |
| LOW | go/types.go | 201 | // integration). When true, sessions in a GitHub repository working | COMMENT |
| LOW | go/types.go | 241 | // | COMMENT |
| LOW | go/types.go | 361 | // SectionTone covers response style, conciseness rules, and output formatting preferences. | COMMENT |
| LOW | go/types.go | 401 | // section out of a group-level "remove" (e.g. keep "tone" when removing the | COMMENT |
| LOW | go/types.go | 441 | // - Append mode (default): SDK foundation + optional custom content | COMMENT |
| LOW | go/types.go | 461 | // &rpc.PermissionDecisionNoResult{} // decline to respond; another client may answer | COMMENT |
| LOW | go/types.go | 1261 | // Tools is the list of tool names the agent can use. Nil omits the field | COMMENT |
| LOW | go/types.go | 1281 | COMMENT | |
| LOW | go/types.go | 1321 | // OutputDirectory is the directory to write temp files to. Defaults to the OS | COMMENT |
| LOW | go/types.go | 1381 | } | COMMENT |
| LOW | go/types.go | 1461 | COMMENT | |
| LOW | go/types.go | 1481 | // Included in the User-Agent header for API requests. | COMMENT |
| LOW | go/types.go | 1501 | EnableConfigDiscovery *bool | COMMENT |
| LOW | go/types.go | 1521 | EnableFileHooks *bool | COMMENT |
| LOW | go/types.go | 1541 | // SystemMessage configures system message customization | COMMENT |
| LOW | go/types.go | 1561 | OnMCPAuthRequest MCPAuthHandler | COMMENT |
| LOW | go/types.go | 1581 | // When non-nil and true, assistant.message_delta and assistant.reasoning_delta | COMMENT |
| LOW | go/types.go | 1601 | Providers []NamedProviderConfig | COMMENT |
| LOW | go/types.go | 1621 | // turn for session rewind and cumulative session diff. | COMMENT |
| LOW | go/types.go | 1641 | // defined locally. See also [ClientOptions.Mode] = [ModeEmpty]. | COMMENT |
| LOW | go/types.go | 1661 | MCPOAuthTokenStorage string | COMMENT |
| LOW | go/types.go | 1681 | // PluginDirectories is a list of local filesystem paths to Open Plugins-format | COMMENT |
| LOW | go/types.go | 1701 | LargeOutput *LargeToolOutputConfig | COMMENT |
| LOW | go/types.go | 1721 | // Commands registers slash-commands for this session. Each command appears as | COMMENT |
| LOW | go/types.go | 1741 | // flag or COPILOT_MCP_APPS=true environment override), the runtime adds the | COMMENT |
| LOW | go/types.go | 1761 | GitHubMCPToolConfig *GitHubMCPToolConfig | COMMENT |
| LOW | go/types.go | 1781 | // RequestExtensions asks the host to surface declared canvases as agent-visible extensions. | COMMENT |
| LOW | go/types.go | 1801 | // it into the same feature-flag path as CLI-fetched assignments and stamps | COMMENT |
| LOW | go/types.go | 1821 | // managed defaults remain mutable. | COMMENT |
| LOW | go/types.go | 1861 | type ManagedSettingsPermissions struct { | COMMENT |
| LOW | go/types.go | 1901 | // turn: the runtime halts instead of feeding the result back to the model | COMMENT |
| LOW | go/types.go | 1921 | ToolCallID string | COMMENT |
| LOW | go/types.go | 1941 | // AgentID is the sub-agent instance that issued this call (the AgentID of | COMMENT |
| LOW | go/types.go | 2001 | type SessionCapabilities struct { | COMMENT |
| LOW | go/types.go | 2101 | // cannot be combined with GitHubToken. | COMMENT |
| LOW | go/types.go | 2121 | // IncludedBuiltinSkills is the allowlist of runtime-bundled skill names. | COMMENT |
| LOW | go/types.go | 2141 | // EnableSessionTelemetry enables or disables internal session telemetry for this session. | COMMENT |
| LOW | go/types.go | 2161 | SessionLimits *rpc.SessionLimitsConfig | COMMENT |
| LOW | go/types.go | 2181 | ModelCapabilities *rpc.ModelCapabilitiesOverride | COMMENT |
| LOW | go/types.go | 2201 | // AskUserVariant selects the model-facing shape of the ask_user tool. | COMMENT |
| LOW | go/types.go | 2221 | // information leakage through the shared embedding cache. | COMMENT |
| LOW | go/types.go | 2241 | // and retrieval across sessions. | COMMENT |
| LOW | go/types.go | 2261 | Diagnostics *rpc.DiagnosticsConfiguration | COMMENT |
| LOW | go/types.go | 2281 | // Experimental: this API may change or be removed in future SDK or CLI | COMMENT |
| LOW | go/types.go | 2301 | // output exceeding the configured size, the output is written to a temp file | COMMENT |
| LOW | go/types.go | 2321 | // SuppressResumeEvent, when true, skips emitting the session.resume event. | COMMENT |
| LOW | go/types.go | 2341 | OnEvent SessionEventHandler | COMMENT |
| 617 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/test_stdio_shutdown.py | 43 | if (status.status === 0 && status.stdout.trim().startsWith("Z")) return; | CODE |
| HIGH⚡ | python/copilot/copilot_request_handler.py | 537 | exchange._queue.push(_BodyItem(cancel=True, cancel_reason=params.cancel_reason)) | CODE |
| HIGH⚡ | python/copilot/copilot_request_handler.py | 540 | exchange._queue.push( | CODE |
| HIGH⚡ | python/copilot/copilot_request_handler.py | 544 | exchange._queue.push(_BodyItem(end=True)) | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 569 | exchange._queue.push(_BodyItem(cancel=True, cancel_reason="RPC connection closed")) | CODE |
| HIGH | python/e2e/test_session_e2e.py | 1010 | await session.send("Run 'sleep 2 && echo done'") | CODE |
| HIGH | python/e2e/test_session_e2e.py | 1088 | "Run 'sleep 2 && echo done'", | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 19 | const captureFile = captureIndex >= 0 ? process.argv[captureIndex + 1] : undefined; | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 45 | function writeError(id, code, message, data = null) { | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 86 | parentId: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 103 | parentId: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 116 | parentId: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 126 | parentId: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 153 | capture.requests.push({ method: message.method, params: message.params }); | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 188 | workspacePath: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 189 | capabilities: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 228 | workspacePath: null, | CODE |
| HIGH | python/e2e/_scenario_fake_cli.py | 229 | capabilities: null, | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 272 | capture.callbackResponses.push(message); | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 277 | pendingCreateId = undefined; | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 280 | workspacePath: null, | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 281 | capabilities: null, | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 294 | pendingResumeId = undefined; | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 297 | workspacePath: null, | CODE |
| HIGH⚡ | python/e2e/_scenario_fake_cli.py | 298 | capabilities: null, | CODE |
| HIGH | python/e2e/test_client_options_e2e.py | 89 | const captureFile = captureIndex >= 0 ? process.argv[captureIndex + 1] : undefined; | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 150 | clientResponses.push(message); | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 152 | if (message.id === 9001 && extensionRegistrationId !== undefined) { | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 152 | if (message.id === 9001 && extensionRegistrationId !== undefined) { | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 154 | extensionRegistrationId = undefined; | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 158 | requests.push({ method: message.method, params: message.params }); | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 180 | writeResponse(message.id, { sessionId, workspacePath: null, capabilities: null }); | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 187 | workspacePath: null, | CODE |
| HIGH⚡ | python/e2e/test_client_options_e2e.py | 188 | capabilities: null, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/copilot/_cli_download.py | 226 | except OSError: | CODE |
| HIGH | python/copilot/_cli_download.py | 450 | except OSError: | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 615 | except Exception: | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 695 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 801 | except StopAsyncIteration: | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 855 | except asyncio.CancelledError: | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 224 | except Exception: | CODE |
| HIGH | python/copilot/copilot_request_handler.py | 238 | except Exception: | CODE |
| HIGH | python/copilot/client.py | 4371 | except Exception: | CODE |
| HIGH | python/copilot/client.py | 4378 | except Exception: | CODE |
| HIGH | python/copilot/client.py | 4990 | except OSError: | CODE |
| HIGH | python/copilot/client.py | 4997 | except OSError: | CODE |
| HIGH | python/copilot/client.py | 5001 | except OSError: | CODE |
| HIGH | python/copilot/client.py | 2101 | except subprocess.TimeoutExpired: | CODE |
| HIGH | python/copilot/session.py | 2947 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/session.py | 2795 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/session.py | 2872 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/session.py | 2925 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/session.py | 2993 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/session.py | 3055 | except (JsonRpcError, ProcessExitedError, OSError): | CODE |
| HIGH | python/copilot/_jsonrpc.py | 378 | except EOFError: | CODE |
| HIGH | python/tests/test_installation_confirmation.py | 34 | except OSError: | CODE |
| HIGH | python/e2e/test_ui_elicitation_multi_client_e2e.py | 93 | except Exception: | CODE |
| HIGH | python/e2e/test_session_fs_e2e.py | 478 | except Exception: | CODE |
| HIGH | python/e2e/test_byok_bearer_token_provider_e2e.py | 110 | except Exception: | CODE |
| HIGH | python/e2e/test_byok_bearer_token_provider_e2e.py | 128 | except Exception: | CODE |
| HIGH | python/e2e/test_byok_bearer_token_provider_e2e.py | 134 | except Exception: | CODE |
| HIGH | python/e2e/test_multi_client_e2e.py | 87 | except Exception: | CODE |
| HIGH | python/e2e/test_multi_client_e2e.py | 94 | except Exception: | CODE |
| HIGH | python/e2e/test_copilot_request_handler_e2e.py | 251 | except Exception: | CODE |
| HIGH | python/e2e/test_suspend_e2e.py | 82 | except Exception: | CODE |
| HIGH | python/e2e/_copilot_request_helpers.py | 356 | except Exception: | CODE |
| HIGH | python/e2e/test_commands_e2e.py | 86 | except Exception: | CODE |
| HIGH | python/e2e/test_copilot_request_cancel_error_e2e.py | 100 | except Exception: # noqa: BLE001 | CODE |
| HIGH | python/e2e/test_connection_token.py | 62 | except Exception: | CODE |
| HIGH | python/e2e/test_connection_token.py | 143 | except Exception: | CODE |
| HIGH | python/e2e/test_connection_token.py | 160 | except Exception: | CODE |
| HIGH | python/e2e/testharness/proxy.py | 201 | except subprocess.TimeoutExpired: | CODE |
| HIGH | python/e2e/testharness/proxy.py | 208 | except ProcessLookupError: | CODE |
| HIGH | python/e2e/testharness/proxy.py | 103 | except Exception: | CODE |
| HIGH | python/e2e/testharness/context.py | 206 | except ExceptionGroup: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/test_cli_download.py | 3 | CODE | |
| LOW | python/test_canvas.py | 3 | CODE | |
| LOW | python/test_e2e_harness_cli_path.py | 3 | CODE | |
| LOW | python/test_tool_set.py | 3 | CODE | |
| LOW | python/test_telemetry.py | 3 | CODE | |
| LOW | python/test_github_token_provider.py | 1 | CODE | |
| LOW | python/copilot/_cli_download.py | 20 | CODE | |
| LOW | python/copilot/copilot_request_handler.py | 22 | CODE | |
| LOW | python/copilot/_telemetry.py | 3 | CODE | |
| LOW | python/copilot/session_fs_provider.py | 17 | CODE | |
| LOW | python/copilot/host.py | 5 | CODE | |
| LOW | python/copilot/client.py | 15 | CODE | |
| LOW | python/copilot/client.py | 74 | CODE | |
| LOW | python/copilot/tools.py | 10 | CODE | |
| LOW | python/copilot/_diagnostics.py | 3 | CODE | |
| LOW | python/copilot/session.py | 9 | CODE | |
| LOW | python/copilot/session.py | 131 | CODE | |
| LOW | python/copilot/_mode.py | 10 | CODE | |
| LOW | python/copilot/__init__.py | 10 | CODE | |
| LOW | python/copilot/__init__.py | 13 | CODE | |
| LOW | python/copilot/__init__.py | 14 | CODE | |
| LOW | python/copilot/__init__.py | 14 | CODE | |
| LOW | python/copilot/__init__.py | 14 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 19 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| LOW | python/copilot/__init__.py | 31 | CODE | |
| 237 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | java/docs/adr/adr-005-tool-definition.md | 163 | `javax.lang.model.element.VariableElement.getSimpleName()` always returns the real parameter name at compile time, regar | CODE |
| CRITICAL | …/src/test/java/com/github/copilot/RpcWrappersTest.java | 146 | var params = new com.github.copilot.generated.rpc.PingParams(null); | STRING |
| CRITICAL | …/src/test/java/com/github/copilot/RpcWrappersTest.java | 695 | var params = new com.github.copilot.generated.rpc.SessionMcpAppsCallToolParams(null, "my-server", "my-tool", | STRING |
| CRITICAL | …/src/test/java/com/github/copilot/RpcWrappersTest.java | 708 | var params = new com.github.copilot.generated.rpc.SessionMcpAppsCallToolParams(null, "server1", "tool1", null, | STRING |
| CRITICAL | …/src/test/java/com/github/copilot/RpcWrappersTest.java | 728 | var params = new com.github.copilot.generated.rpc.SessionMcpAppsCallToolParams(null, "echo-server", "echo", | STRING |
| CRITICAL | …/src/test/java/com/github/copilot/PermissionsTest.java | 422 | .setApproveAll(new com.github.copilot.generated.rpc.SessionPermissionsSetApproveAllParams( | CODE |
| CRITICAL | …test/java/com/github/copilot/e2e/RequireInProcess.java | 61 | return org.junit.jupiter.api.extension.ConditionEvaluationResult.disabled(reason); | CODE |
| CRITICAL | …rc/test/java/com/github/copilot/e2e/SkipInProcess.java | 61 | return org.junit.jupiter.api.extension.ConditionEvaluationResult.disabled(reason); | CODE |
| CRITICAL | …/com/github/copilot/tool/CopilotToolProcessorTest.java | 316 | var arguments = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); | STRING |
| CRITICAL | …k/src/main/java/com/github/copilot/CopilotSession.java | 2544 | : com.github.copilot.generated.rpc.ReasoningSummary.fromValue(reasoningSummary); | CODE |
| CRITICAL | …k/src/main/java/com/github/copilot/CopilotSession.java | 2571 | return autoTier == null ? null : com.github.copilot.generated.rpc.AutoTier.fromValue(autoTier.getValue()); | CODE |
| CRITICAL | …k/src/main/java/com/github/copilot/CopilotSession.java | 2612 | : com.github.copilot.generated.rpc.ReasoningSummary.fromValue(options.getReasoningSummary()); | CODE |
| CRITICAL | …sdk/src/main/java/com/github/copilot/rpc/AutoTier.java | 67 | return new AutoTier(com.github.copilot.generated.rpc.AutoTier.fromValue(value).getValue()); | CODE |
| CRITICAL | …src/main/java/com/github/copilot/rpc/package-info.java | 94 | @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "DTOs for JSON deserializa | CODE |
| CRITICAL | java/scripts/codegen/java.ts | 3739 | lines.push(` mapper.registerModule(new com.fasterxml.jackson.datatype.jsr310.JavaTimeModule());`); | CODE |
| CRITICAL | dotnet/test/Unit/RuntimeWrapperTests.cs | 142 | return System.Runtime.InteropServices.RuntimeInformation.RuntimeIdentifier.StartsWith( | CODE |
| CRITICAL | dotnet/test/Unit/MSBuildTargetsTests.cs | 384 | return System.Runtime.InteropServices.RuntimeInformation.RuntimeIdentifier.StartsWith( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/README.md | 1285 | print(f"Error in {input['errorContext']}: {input['error']}") | STRING |
| LOW | python/test_force_stop.py | 77 | except Exception as error: | CODE |
| MEDIUM | python/copilot/_cli_download.py | 561 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| MEDIUM | python/copilot/copilot_request_handler.py | 210 | def _receive_loop(self) -> None: | CODE |
| MEDIUM | python/copilot/copilot_request_handler.py | 229 | def aclose(self) -> None: | CODE |
| MEDIUM | python/copilot/copilot_request_handler.py | 778 | def _produce(self) -> None: | CODE |
| LOW⚡ | python/copilot/copilot_request_handler.py | 615 | except Exception: | CODE |
| LOW⚡ | python/copilot/copilot_request_handler.py | 806 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/copilot_request_handler.py | 816 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/copilot_request_handler.py | 820 | except Exception as exc: | CODE |
| LOW | python/copilot/copilot_request_handler.py | 217 | except Exception as exc: | CODE |
| LOW | python/copilot/copilot_request_handler.py | 224 | except Exception: | CODE |
| LOW | python/copilot/copilot_request_handler.py | 238 | except Exception: | CODE |
| LOW | python/copilot/copilot_request_handler.py | 555 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 238 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 251 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 259 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 278 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 285 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 292 | except Exception: | CODE |
| LOW | python/copilot/session_fs_provider.py | 305 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 325 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 332 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session_fs_provider.py | 340 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 354 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 361 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 415 | except Exception as exc: | CODE |
| LOW | python/copilot/session_fs_provider.py | 441 | except Exception: | CODE |
| LOW | python/copilot/host.py | 251 | except Exception: | CODE |
| LOW | python/copilot/host.py | 254 | except Exception: | CODE |
| LOW | python/copilot/host.py | 330 | except Exception: | CODE |
| MEDIUM | python/copilot/host.py | 247 | def cleanup() -> None: | CODE |
| MEDIUM | python/copilot/host.py | 325 | def invoke() -> None: | CODE |
| LOW⚡ | python/copilot/client.py | 2320 | except Exception: | CODE |
| LOW⚡ | python/copilot/client.py | 2327 | except Exception: | CODE |
| LOW⚡ | python/copilot/client.py | 2336 | except Exception: | CODE |
| LOW | python/copilot/client.py | 777 | except Exception: | CODE |
| LOW | python/copilot/client.py | 2049 | except Exception: | CODE |
| LOW | python/copilot/client.py | 2086 | except Exception as e: | CODE |
| LOW | python/copilot/client.py | 2149 | except Exception as e: | CODE |
| LOW | python/copilot/client.py | 2175 | except Exception as e: | CODE |
| LOW | python/copilot/client.py | 2220 | except Exception: | CODE |
| LOW | python/copilot/client.py | 2229 | except Exception: | CODE |
| LOW | python/copilot/client.py | 3088 | except Exception: | CODE |
| LOW | python/copilot/client.py | 3130 | except Exception: | CODE |
| LOW | python/copilot/client.py | 4371 | except Exception: | CODE |
| LOW | python/copilot/client.py | 4378 | except Exception: | CODE |
| LOW | python/copilot/tools.py | 299 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session.py | 1704 | except Exception as err: | CODE |
| LOW⚡ | python/copilot/session.py | 1712 | except Exception as err: | CODE |
| LOW⚡ | python/copilot/session.py | 1720 | except Exception as err: | CODE |
| LOW⚡ | python/copilot/session.py | 2667 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session.py | 2675 | except Exception as exc: | CODE |
| LOW⚡ | python/copilot/session.py | 3228 | except Exception: | CODE |
| MEDIUM | python/copilot/session.py | 2429 | ... print(f"Error: {data.message}") | STRING |
| LOW | python/copilot/session.py | 2475 | except Exception: | CODE |
| LOW | python/copilot/session.py | 2701 | except Exception: | CODE |
| LOW | python/copilot/session.py | 2785 | except Exception as exc: | CODE |
| LOW | python/copilot/session.py | 2860 | except Exception: | CODE |
| LOW | python/copilot/session.py | 2915 | except Exception: | CODE |
| 51 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/copilot/_cli_download.py | 186 | Provision a complete runtime bundle with a ``copilot[.exe]`` alias. Args: version: CLI version to download. | STRING |
| HIGH | python/copilot/client.py | 1902 | Parse CLI URL into host and port. Supports formats: "host:port", "[ipv6]:port", "http://host:port", | STRING |
| HIGH | python/copilot/client.py | 2444 | Create a new conversation session with the Copilot CLI. Sessions maintain conversation state, handle e | STRING |
| HIGH | python/copilot/client.py | 3331 | Resume an existing conversation session by its ID. This allows you to continue a previous conversation | STRING |
| HIGH | python/copilot/client.py | 3994 | Send a ping request to the server to verify connectivity. Args: message: Optional message | STRING |
| HIGH | python/copilot/client.py | 4108 | List all available sessions known to the server. Returns metadata about each session including ID, tim | STRING |
| HIGH | python/copilot/client.py | 4143 | Get metadata for a specific session by ID. This provides an efficient O(1) lookup of a single session' | STRING |
| HIGH | python/copilot/client.py | 5285 | Handle a user input request from the CLI server. Args: params: The user input request para | STRING |
| HIGH | python/copilot/session.py | 848 | Shows a generic elicitation dialog with a custom schema. Args: params: Elicitation parameters inclu | STRING |
| HIGH | python/copilot/session.py | 872 | Shows a confirmation dialog and returns the user's boolean answer. Args: message: The question to a | STRING |
| HIGH | python/copilot/session.py | 906 | Shows a selection dialog with a list of options. Args: message: Instruction to show the user. | STRING |
| HIGH | python/copilot/session.py | 943 | Shows a text input dialog. Args: message: Instruction to show the user. options: Option | STRING |
| HIGH | python/copilot/session.py | 1991 | Send a message to this session. The message is processed asynchronously. Subscribe to events via :meth | STRING |
| HIGH | python/copilot/session.py | 2139 | Send a message to this session and wait until the session becomes idle. This is a convenience method t | STRING |
| HIGH | python/copilot/session.py | 3774 | Change the Auto routing preference without changing the selected model. **Experimental.** Part of an e | STRING |
| HIGH | python/copilot/_jsonrpc.py | 189 | Send a JSON-RPC request and wait for the response. Args: method: Method name p | STRING |
| HIGH | python/copilot/_jsonrpc.py | 425 | Read exactly num_bytes, handling partial/short reads from pipes. Args: num_bytes: Number o | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodejs/docs/agent-author.md | 7 | ### Step 1: Scaffold the extension | COMMENT |
| LOW⚡ | nodejs/docs/agent-author.md | 18 | ### Step 2: Edit the extension file | COMMENT |
| LOW⚡ | nodejs/docs/agent-author.md | 26 | ### Step 3: Reload extensions | COMMENT |
| LOW⚡ | nodejs/docs/agent-author.md | 34 | ### Step 4: Verify | COMMENT |
| LOW | docs/getting-started.md | 30 | ## Step 1: install the SDK | COMMENT |
| LOW | docs/getting-started.md | 139 | ## Step 2: send your first message | COMMENT |
| LOW | docs/getting-started.md | 371 | ## Step 3: add streaming responses | COMMENT |
| LOW | docs/getting-started.md | 880 | ## Step 4: add a custom tool | COMMENT |
| LOW | docs/getting-started.md | 1288 | ## Step 5: build an interactive assistant | COMMENT |
| LOW | docs/setup/github-oauth.md | 75 | ## Step 1: create a GitHub OAuth app | COMMENT |
| LOW | docs/setup/github-oauth.md | 89 | ## Step 2: implement the OAuth flow | COMMENT |
| LOW | docs/setup/github-oauth.md | 114 | ## Step 3: pass the token to the SDK | COMMENT |
| LOW | docs/setup/backend-services.md | 59 | ## Step 1: start the CLI in headless mode | COMMENT |
| LOW | docs/setup/backend-services.md | 122 | ## Step 2: connect the SDK | COMMENT |
| LOW | docs/integrations/microsoft-agent-framework.md | 367 | // Step 1: Code review session | COMMENT |
| LOW | docs/integrations/microsoft-agent-framework.md | 377 | // Step 2: Documentation session using review output | COMMENT |
| LOW | .github/workflows/release-changelog.md | 44 | ### Step 1: Identify the version range | COMMENT |
| LOW | .github/workflows/release-changelog.md | 60 | ### Step 2: Gather changes | COMMENT |
| LOW | .github/workflows/release-changelog.md | 72 | ### Step 3: Categorize and write up | COMMENT |
| LOW | .github/workflows/release-changelog.md | 87 | ### Step 4: Update the GitHub Release | COMMENT |
| LOW | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 68 | ### Step 0: Setup | COMMENT |
| LOW⚡ | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 83 | ### Step 1: Reproduce failures | COMMENT |
| LOW⚡ | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 93 | ### Step 2: Analyze compilation errors | COMMENT |
| LOW⚡ | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 102 | ### Step 3: Fix compilation errors | COMMENT |
| LOW | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 117 | ### Step 4: Fix test failures | COMMENT |
| LOW | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 131 | ### Step 5: Format | COMMENT |
| LOW | …va-adapt-handwritten-code-to-accept-upgrade-changes.md | 137 | ### Step 6: Final validation | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 83 | ### Step 0: Setup | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 106 | ### Step 1: Reproduce the failure | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 118 | ### Step 2: Diagnose the root cause | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 147 | ### Step 3: Fix the code generator (if needed) | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 170 | ### Step 4: Fix handwritten code (up to 3 attempts) | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 210 | ### Step 5: Push fixes | COMMENT |
| LOW | .github/workflows/java-codegen-fix.md | 223 | ### Step 6: Failure handling | COMMENT |
| LOW⚡ | .github/workflows/cross-repo-issue-analysis.md | 66 | ### Step 1: Understand the Issue | COMMENT |
| LOW⚡ | .github/workflows/cross-repo-issue-analysis.md | 70 | ### Step 2: Analyze Against copilot-sdk | COMMENT |
| LOW⚡ | .github/workflows/cross-repo-issue-analysis.md | 78 | ### Step 3: Investigate copilot-agent-runtime | COMMENT |
| LOW | .github/workflows/cross-repo-issue-analysis.md | 95 | ### Step 4: Make Your Determination | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 279 | ### Step 1: Inventory Current Docs | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 289 | ### Step 2: Check Feature Coverage | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 313 | ### Step 3: Validate Links | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 328 | ### Step 4: Check Multi-Language Examples | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 343 | ### Step 5: Validate Code Samples Against SDK Interface | COMMENT |
| LOW | .github/agents/sdk-docs-maintenance.agent.md | 461 | ### Step 6: Create the Plan | COMMENT |
| LOW | .github/skills/sdk-java-e2e-test/SKILL.md | 31 | ### Step 1: Choose a snapshot category and snapshot base name | COMMENT |
| LOW | .github/skills/sdk-java-e2e-test/SKILL.md | 40 | ### Step 2: Use a recorded snapshot | COMMENT |
| LOW | .github/skills/sdk-java-e2e-test/SKILL.md | 63 | ### Step 3: Create the Java IT test class | COMMENT |
| LOW | .github/skills/sdk-java-e2e-test/SKILL.md | 134 | ### Step 4: Verify | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | go/types.go | 432 | // Removes all SDK guardrails including security restrictions. | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 2048 | // Zero-based agentic-loop iteration the interrupt landed in | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 2192 | // True when the preceding agentic loop was cancelled via abort signal | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 2232 | // True when the preceding agentic loop was cancelled via abort signal | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 2417 | // How this message was delivered to the agentic loop relative to loop state (idle-start vs. steering/queued while busy | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 2867 | // When true, tool calls and permission requests left in flight by the previous session lifetime remain pending after r | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 3413 | // Identifier for this turn within the agentic loop, typically a stringified turn number | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 4366 | // The extension management operation (scaffold, reload) | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 4674 | // The extension management operation (scaffold, reload) | COMMENT |
| MEDIUM | go/rpc/zsession_events.go | 7141 | // How this user message was delivered to the agentic loop, relative to whether the loop was already running. This is th | COMMENT |
| MEDIUM | docs/AGENTS.md | 10 | * `# Custom agents and sub-agent orchestration` — not `# Custom Agents & Sub-Agent Orchestration` | COMMENT |
| MEDIUM | docs/features/custom-agents.md | 1 | # Custom agents and sub-agent orchestration | COMMENT |
| MEDIUM | docs/features/streaming-events.md | 979 | ## Quick reference: agentic turn flow | COMMENT |
| MEDIUM | docs/integrations/microsoft-agent-framework.md | 631 | ### Handle errors at the orchestration level | COMMENT |
| MEDIUM | .github/agents/agentic-workflows.md | 45 | - Configuration: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/github-agentic-workflows.md` | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.md | 69 | **Prompt file**: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/create-agentic-workflow.md` | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.md | 79 | **Prompt file**: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/update-agentic-workflow.md` | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.md | 89 | **Prompt file**: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/debug-agentic-workflow.md` | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.md | 99 | **Prompt file**: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/upgrade-agentic-workflows.md` | CODE |
| MEDIUM | .github/agents/agentic-workflows.md | 119 | **Prompt file**: `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/create-shared-agentic-workflow.md` | CODE |
| MEDIUM | .github/agents/agentic-workflows.md | 193 | # Initialize repository for agentic workflows | COMMENT |
| MEDIUM | .github/agents/agentic-workflows.md | 225 | - Always reference the instructions file at `https://raw.githubusercontent.com/github/gh-aw/main/.github/aw/github-agent | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodejs/test/ahpSealedAuth.test.ts | 18 | const token = "fake-token-for-e2e-tests"; | CODE |
| LOW | nodejs/test/e2e/streaming_fidelity.e2e.test.ts | 87 | gitHubToken: isCI ? "fake-token-for-e2e-tests" : process.env.GITHUB_TOKEN, | CODE |
| LOW | nodejs/test/e2e/streaming_fidelity.e2e.test.ts | 145 | gitHubToken: isCI ? "fake-token-for-e2e-tests" : process.env.GITHUB_TOKEN, | CODE |
| LOW | nodejs/test/e2e/session.e2e.test.ts | 504 | gitHubToken: isCI ? "fake-token-for-e2e-tests" : undefined, | CODE |
| LOW | nodejs/test/e2e/session.e2e.test.ts | 576 | apiKey: "fake-key", | CODE |
| LOW | nodejs/test/e2e/harness/sdkTestContext.ts | 22 | export const DEFAULT_GITHUB_TOKEN = "fake-token-for-e2e-tests"; | CODE |
| LOW | go/internal/e2e/structured_output_e2e_test.go | 32 | ModelID: "gpt-4.1", WireModel: "gpt-4.1", APIKey: "fake-token-for-e2e-tests", | CODE |
| LOW | go/internal/e2e/runtime_host_e2e_test.go | 55 | command := map[string]any{"op": "connect", "url": *host.URL, "githubToken": "fake-token-for-e2e-tests"} | CODE |
| LOW | go/internal/e2e/session_e2e_test.go | 622 | APIKey: "fake-key", | CODE |
| LOW | go/internal/e2e/testharness/context.go | 19 | const defaultGitHubToken = "fake-token-for-e2e-tests" | CODE |
| LOW | python/e2e/test_ui_elicitation_multi_client_e2e.py | 60 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_streaming_fidelity_e2e.py | 98 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_streaming_fidelity_e2e.py | 139 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_structured_output_e2e.py | 67 | "api_key": "fake-token-for-e2e-tests", | CODE |
| LOW | python/e2e/test_client_lifecycle_e2e.py | 59 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW⚡ | python/e2e/test_session_e2e.py | 539 | "api_key": "fake-key", | CODE |
| LOW⚡ | python/e2e/test_session_e2e.py | 550 | "api_key": "fake-key", | CODE |
| LOW | python/e2e/test_session_e2e.py | 259 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_session_e2e.py | 571 | "api_key": "fake-key", | CODE |
| LOW | python/e2e/test_multi_client_e2e.py | 54 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_telemetry_e2e.py | 72 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_telemetry_e2e.py | 174 | github_token="fake-token-for-e2e-tests" | CODE |
| LOW | python/e2e/test_mode_empty_e2e.py | 29 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_copilot_request_handler_e2e.py | 236 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_suspend_e2e.py | 31 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/_copilot_request_helpers.py | 330 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_subagent_hooks_e2e.py | 166 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_commands_e2e.py | 53 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/test_connection_token.py | 45 | "fake-token-for-e2e-tests" if os.environ.get("GITHUB_ACTIONS") == "true" else None | CODE |
| LOW | python/e2e/testharness/context.py | 61 | DEFAULT_GITHUB_TOKEN = "fake-token-for-e2e-tests" | CODE |
| LOW | rust/tests/mcp_plan_transport_choice_test.rs | 79 | "placeholder": "${secret:opaque-id}", | CODE |
| LOW | rust/tests/e2e/session.rs | 1740 | .with_api_key("fake-key"), | CODE |
| LOW | rust/tests/e2e/session.rs | 1768 | .with_api_key("fake-key") | CODE |
| LOW | rust/tests/e2e/session.rs | 1806 | .with_api_key("fake-key"), | CODE |
| LOW | rust/tests/e2e/elicitation.rs | 481 | default: Some("user@example.com"), | CODE |
| LOW | rust/tests/e2e/elicitation.rs | 489 | assert_eq!(options.default, Some("user@example.com")); | CODE |
| LOW | …c/test/java/com/github/copilot/ExecutorWiringTest.java | 90 | .setGitHubToken("fake-token-for-e2e-tests"); | CODE |
| LOW | …t/java/com/github/copilot/StructuredOutputE2ETest.java | 68 | .setModelId("gpt-4.1").setWireModel("gpt-4.1").setApiKey("fake-token-for-e2e-tests") | CODE |
| LOW | …java/com/github/copilot/CopilotRequestTestSupport.java | 86 | ctx.setCopilotUserByToken("fake-token-for-e2e-tests", "e2e-user", "individual_pro", ctx.getProxyUrl(), | CODE |
| LOW | …dk/src/test/java/com/github/copilot/RuntimeHostIT.java | 151 | Map.of("op", "connect", "url", host.getUrl(), "githubToken", "fake-token-for-e2e-tests")); | CODE |
| LOW | …k/src/test/java/com/github/copilot/E2ETestContext.java | 66 | private static final String DEFAULT_GITHUB_TOKEN = "fake-token-for-e2e-tests"; | CODE |
| LOW | dotnet/test/Harness/E2ETestContext.cs | 17 | private const string DefaultGitHubToken = "fake-token-for-e2e-tests"; | CODE |
| LOW | dotnet/test/E2E/RuntimeHostE2ETests.cs | 128 | ["githubToken"] = "fake-token-for-e2e-tests" | CODE |
| LOW | dotnet/test/E2E/SessionE2ETests.cs | 1028 | ApiKey = "fake-key", | CODE |
| LOW | dotnet/test/E2E/SessionE2ETests.cs | 1054 | ApiKey = "fake-key", | CODE |
| LOW | dotnet/test/E2E/SessionE2ETests.cs | 1088 | ApiKey = "fake-key", | CODE |
| LOW | dotnet/test/E2E/StructuredOutputE2ETests.cs | 31 | ? "fake-token-for-e2e-tests" | CODE |
| LOW | dotnet/test/E2E/StructuredOutputE2ETests.cs | 32 | : System.Environment.GetEnvironmentVariable("GITHUB_TOKEN") ?? "fake-token-for-e2e-tests", | CODE |
| LOW | dotnet/test/E2E/ElicitationE2ETests.cs | 343 | Default = "user@example.com", | CODE |
| LOW | dotnet/test/E2E/ElicitationE2ETests.cs | 351 | Assert.Equal("user@example.com", options.Default); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/copilot/client.py | 4941 | # Create a TCP socket connection with timeout. create_connection resolves | COMMENT |
| MEDIUM | python/copilot/client.py | 4971 | # Create a file-like wrapper for the socket | COMMENT |
| MEDIUM | python/copilot/client.py | 4974 | # Create a mock process object that JsonRpcClient expects | COMMENT |
| MEDIUM | python/copilot/client.py | 1578 | >>> # Create a client with default options (spawns CLI server) | STRING |
| MEDIUM | python/copilot/client.py | 1582 | >>> # Create a session and send a message | STRING |
| MEDIUM | python/e2e/test_skills_e2e.py | 34 | # Create a skill subdirectory with SKILL.md | COMMENT |
| MEDIUM | python/e2e/test_skills_e2e.py | 38 | # Create a skill that instructs the model to include a specific marker in responses | COMMENT |
| MEDIUM | python/e2e/test_skills_e2e.py | 159 | # Create a session without skills first | COMMENT |
| MEDIUM⚡ | python/e2e/test_session_e2e.py | 380 | # Create a couple of sessions and send messages to persist them | COMMENT |
| MEDIUM | python/e2e/test_session_e2e.py | 423 | # Create a session and send a message to persist it | COMMENT |
| MEDIUM | python/e2e/test_session_e2e.py | 452 | # Create a session and send a message to persist it | COMMENT |
| MEDIUM | python/e2e/test_session_e2e.py | 490 | # Create a session and send a message to persist it | COMMENT |
| MEDIUM | python/e2e/test_hooks_e2e.py | 34 | # Create a file for the model to read | COMMENT |
| MEDIUM | python/e2e/test_hooks_e2e.py | 65 | # Create a file for the model to read | COMMENT |
| MEDIUM | python/e2e/test_hooks_e2e.py | 135 | # Create a file | COMMENT |
| MEDIUM | python/e2e/test_multi_client_e2e.py | 343 | # Create a file that the agent will try to edit | COMMENT |
| MEDIUM | python/e2e/test_subagent_hooks_e2e.py | 162 | # Create a client with the session-based subagents feature flag | COMMENT |
| MEDIUM | python/e2e/testharness/context.py | 115 | # Create the shared client (like Node.js/Go do). The in-process (FFI) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | scripts/codegen/python.ts | 3353 | return None | CODE |
| HIGH | scripts/codegen/python.ts | 2338 | lines.push(` return None`); | CODE |
| HIGH | scripts/codegen/python.ts | 2354 | lines.push(" return None"); | CODE |
| HIGH | scripts/codegen/python.ts | 3817 | elif "max_context_window_tokens" not in caps["limits"]: | CODE |
| HIGH | scripts/codegen/python.ts | 4412 | lines.push(` return None`); | CODE |
| HIGH | scripts/codegen/python.ts | 4500 | lines.push(` if handler is None: return None`); | CODE |
| HIGH | scripts/codegen/python.ts | 4502 | lines.push(` return None`); | CODE |
| HIGH | scripts/codegen/python.ts | 4528 | lines.push(` return None`); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/test_session.py | 200 | CODE | |
| LOW | python/test_skill_provider.py | 561 | CODE | |
| LOW | python/test_force_stop.py | 29 | CODE | |
| LOW | python/test_jsonrpc.py | 55 | CODE | |
| LOW | python/test_jsonrpc.py | 134 | CODE | |
| LOW | python/test_client.py | 1408 | CODE | |
| LOW | python/copilot/_cli_download.py | 496 | CODE | |
| LOW | python/copilot/host.py | 139 | CODE | |
| LOW | python/copilot/client.py | 1600 | CODE | |
| LOW | python/copilot/client.py | 2009 | CODE | |
| LOW | python/copilot/client.py | 2108 | CODE | |
| LOW | python/copilot/client.py | 2270 | CODE | |
| LOW | python/copilot/client.py | 2352 | CODE | |
| LOW | python/copilot/client.py | 3237 | CODE | |
| LOW | python/copilot/client.py | 4292 | CODE | |
| LOW | python/copilot/client.py | 2991 | CODE | |
| LOW | python/copilot/client.py | 3120 | CODE | |
| LOW | python/copilot/tools.py | 160 | CODE | |
| LOW | python/copilot/tools.py | 409 | CODE | |
| LOW | python/copilot/tools.py | 232 | CODE | |
| LOW | python/copilot/tools.py | 265 | CODE | |
| LOW | python/copilot/session.py | 3492 | CODE | |
| LOW | python/copilot/_jsonrpc.py | 475 | CODE | |
| LOW | python/copilot/_ffi_runtime_host.py | 510 | CODE | |
| LOW | python/e2e/test_ui_elicitation_multi_client_e2e.py | 105 | CODE | |
| LOW | python/e2e/test_compaction_e2e.py | 25 | CODE | |
| LOW | python/e2e/test_compaction_e2e.py | 51 | CODE | |
| LOW | python/e2e/test_multi_client_e2e.py | 107 | CODE | |
| LOW | python/e2e/test_multi_provider_registry_e2e.py | 18 | CODE | |
| LOW | python/e2e/test_session_config_e2e.py | 34 | CODE | |
| LOW | python/e2e/test_session_config_e2e.py | 53 | CODE | |
| LOW | python/e2e/test_session_fs_sqlite_e2e.py | 125 | CODE | |
| LOW | python/e2e/test_pending_work_resume_e2e.py | 505 | CODE | |
| LOW | python/e2e/timeout_diagnostics.py | 47 | CODE | |
| LOW | python/e2e/test_subagent_hooks_e2e.py | 44 | CODE | |
| LOW | python/e2e/test_subagent_hooks_e2e.py | 104 | CODE | |
| LOW | python/e2e/test_commands_e2e.py | 98 | CODE | |
| LOW | python/e2e/testharness/context.py | 223 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/test_github_token_provider.py | 44 | def set_request_handler(self, method: str, handler: Any, **_options: Any) -> None: | CODE |
| LOW⚡ | python/test_github_token_provider.py | 47 | def set_raw_request_handler(self, method: str, handler: Any) -> None: | CODE |
| LOW⚡ | python/test_github_token_provider.py | 50 | def set_notification_method_handler(self, method: str, handler: Any) -> None: | CODE |
| LOW | python/copilot/copilot_request_handler.py | 413 | def set_context(self, params: LlmInferenceHTTPRequestStartRequest) -> None: | CODE |
| LOW | python/copilot/host.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | python/copilot/client.py | 5257 | async def _set_llm_inference_provider(self) -> None: | CODE |
| LOW | python/copilot/client.py | 145 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/copilot/client.py | 4256 | async def set_foreground_session_id(self, session_id: str) -> None: | CODE |
| LOW | python/copilot/client.py | 5110 | async def _set_session_fs_provider(self) -> None: | CODE |
| LOW | python/copilot/session.py | 121 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/copilot/session.py | 1870 | def _set_disconnect_callback(self, callback: Callable[[], None]) -> None: | CODE |
| LOW | python/copilot/session.py | 2070 | async def set_tools(self, tools: list[Tool]) -> None: | CODE |
| LOW | python/copilot/session.py | 3141 | def _set_open_canvases(self, instances: list[OpenCanvasInstance]) -> None: | CODE |
| LOW | python/copilot/session.py | 3169 | def _set_capabilities(self, capabilities: SessionCapabilities | None) -> None: | CODE |
| LOW | python/copilot/__init__.py | 263 | __all__ = [ | CODE |
| LOW | python/copilot/rpc.py | 19 | __all__ = [*_generated_all, "PermissionDecisionSource", "UIElicitationSchemaType"] | CODE |
| LOW | python/copilot/_jsonrpc.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/copilot/_jsonrpc.py | 66 | def set_event() -> None: | CODE |
| LOW | python/copilot/installation_confirmation.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | python/copilot/canvas.py | 34 | __all__ = [ | CODE |
| LOW | python/e2e/testharness/proxy.py | 146 | async def set_copilot_user_by_token(self, token: str, response: dict[str, Any]) -> None: | CODE |
| LOW | python/e2e/testharness/__init__.py | 7 | __all__ = [ | CODE |
| LOW | python/e2e/testharness/context.py | 289 | async def set_copilot_user_by_token(self, token: str, response: dict[str, Any]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | go/cmd/bundler/main.go | 878 | // Code generated by copilot-sdk bundler; DO NOT EDIT. | COMMENT |
| HIGH | …java/com/github/copilot/tool/CopilotToolProcessor.java | 219 | out.println("// GENERATED by CopilotToolProcessor — do not edit"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/e2e/testharness/proxy.py | 36 | # The harness server is in the shared test directory | COMMENT |
| MEDIUM | …/src/test/java/com/github/copilot/SlashCommandsIT.java | 44 | * {@link TestUtil#findCliPath()} so the test harness binary is found in CI. | COMMENT |
| MEDIUM | dotnet/test/Harness/InProcessEnvIsolation.cs | 32 | #pragma warning disable CA2255 // ModuleInitializer discouraged in libraries; intentional in this test harness. | COMMENT |
| MEDIUM | .github/workflows/copilot-setup-steps.yml | 107 | # Install test harness dependencies | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …src/main/java/com/github/copilot/rpc/AzureOptions.java | 21 | * .setApiKey("your-api-key").setAzure(new AzureOptions().setApiVersion("2024-02-01")); | COMMENT |
| HIGH | dotnet/README.md | 1167 | ApiKey = "your-api-key" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …_config/vision_disabled_then_enabled_via_setmodel.yaml | 99 | The file exists. Unfortunately, I'm unable to see the actual image content from the view tool output. The tool | CODE |
| MEDIUM | …_config/vision_disabled_then_enabled_via_setmodel.yaml | 149 | The file exists. Unfortunately, I'm unable to see the actual image content from the view tool output. The tool | CODE |
| MEDIUM | …_config/vision_disabled_then_enabled_via_setmodel.yaml | 220 | The file exists. Unfortunately, I'm unable to see the actual image content from the view tool output. The tool | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/copilot/client.py | 1919 | # Check if it's just a port number | COMMENT |
| LOW | python/copilot/client.py | 2095 | # Check if process exited and capture any remaining stderr | COMMENT |
| LOW | python/copilot/client.py | 4992 | # Close the file wrapper — makefile() holds its own | COMMENT |
| LOW | python/copilot/_jsonrpc.py | 477 | # Check if it's a response to our request | COMMENT |
| LOW | python/copilot/_jsonrpc.py | 516 | # Check if it's a notification from the server | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/copilot/client.py | 1600 | CODE | |
| LOW | python/copilot/client.py | 2352 | CODE | |
| LOW | python/copilot/client.py | 3237 | CODE | |
| LOW | python/copilot/tools.py | 160 | CODE | |
| LOW | python/copilot/session.py | 2126 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/copilot/installation_confirmation.py | 71 | async def handle_request(self, message: dict) -> None: | CODE |
| LOW | python/e2e/_scenario_fake_cli.py | 152 | function handleRequest(message) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | go/session.go | 36 | // Example usage: | COMMENT |