Ccopilot-cli-release-app[bot]Update SDK snapshot for Copilot CLI 1.0.97-0
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Update SDK snapshot for Copilot CLI 1.0.90-4 | 16 天前 | |
test: update replay harness default to Claude Sonnet 5 (#2472) * test: update replay harness default to Claude Sonnet 5 Preserve explicit legacy-model replay while advertising a supported default in historical catalogs. Update synthetic C# catalogs, model-list expectations, and the model-specific rate-limit fixture. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * test: preserve legacy selection in catalog and vision fixtures Advertise Sonnet 4.5 alongside the current default when no capture exists, and explicitly pin capability-toggle tests to their existing model so they do not switch model families mid-test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * test: use Sonnet 5 for both vision capability turns Migrate session creation and capability updates together across Node, Python, Go, and C#. Update the shared fixture catalogs without changing conversation captures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: migrate all Sonnet 4.5 fixtures to Sonnet 5 Use Sonnet 5 consistently in test sessions, fake providers, assertions, and replay catalogs. Remove the legacy catalog compatibility shim and retain model-independent replay coverage using an arbitrary provider model. Conversation captures are not regenerated. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: fix migration formatting and fixture-authoring examples Apply Ruff and Spotless reflow after model identifiers shortened, and update Java snapshot-authoring templates to Sonnet 5 so new tests do not reintroduce the retired model. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: trim replay coverage to the Sonnet 5 default Keep missing and empty catalog default coverage and the existing cached catalog test; remove tests added for the deleted compatibility shim. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 | 1 个月前 | |
Update SDK snapshot for Copilot CLI 1.0.97-0 | 3 天前 | |
Update SDK snapshot for Copilot CLI 1.0.97-0 | 3 天前 | |
Update SDK snapshot for Copilot CLI 1.0.94-5 | 7 天前 | |
Update @github/copilot to 1.0.81-2 (#2358) * Update @github/copilot to 1.0.81-2 - Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code * Fix SDK code generation for Copilot 1.0.81-2 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Fix expanded protocol integrations Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Handle expanded command results in Rust tests Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Update Java tests for expanded protocol records Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Resolve updated Copilot platform packages Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Fix Copilot 1.0.81 protocol compatibility Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Update Java provider model test literals Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Fix generated API compatibility checks Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Update tests for expanded RPC contracts Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Use serializable MCP configs in Python RPC tests Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Fix remaining SDK CI regressions Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Serialize empty Go command descriptions Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Reload MCP servers after session resume Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Fix cross-SDK replay and resume regressions Normalize dynamic background-agent IDs for replay matching, tolerate integral JSON floats in generated Python integer decoders, and persist the .NET session before resume. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Replay generated background agent IDs Map stable snapshot agent names to runtime-generated IDs so read_agent and write_agent calls remain executable while requests still normalize deterministically. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Classify missing Go session files Return os.ErrNotExist from the in-memory SQLite provider so the runtime can create a workspace after an ENOENT read. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Disable CLI 1.0.81 runtime-blocked E2E tests Seven E2E tests fail against CLI 1.0.81 for reasons that live in the runtime, not in the SDKs. Skip them with TODO(cli-1.0.81) markers naming the specific regression so they can be re-enabled when the fixed CLI ships: - nodejs tools/factory: nested clearContext deadlock, subagent option forwarding - go rpc_session_state: option-update/service-init ordering - dotnet + rust ui ephemeral query: session.ui.ephemeralQuery model failure - rust mcp lifecycle: startServer has no installed config - rust session_fs_sqlite: nested SQL tool request servicing hang Also fix a real cross-platform bug: the Python SessionFS large-output test asserted a forward-slash temp path, but the CLI joins with the host separator, so it failed on Windows. Normalize separators before matching. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Name the exact blocked CLI build in skip markers The skipped E2E tests are blocked by the prerelease build this PR pins, 1.0.81-2, not by 1.0.81 generally. Say so in the TODO markers and skip reasons so whoever re-enables them compares against the right build. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Fix prettier formatting for skipped factory test Switching the test to it.skip changed the call shape, so prettier wanted a different layout. Move the timeout rationale into the leading comment block so the argument list formats cleanly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Always send command description on the Rust wire The Rust `session.create`/`session.resume` payload is built from `CommandWireDefinition`, which still omitted `description` when the SDK caller left it unset. Only the public `CommandDefinition` serializer was updated for the 1.0.81-2 protocol, so the wire path diverged from Node, Python, Go, and .NET, all of which now always emit the field. Make the wire field a plain `String` and default an absent description to the empty string at both construction sites. Also skip the Go and Python `session.ui.ephemeralQuery` E2E tests, matching the existing .NET and Rust skips for the same runtime regression. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Normalize sessionFs temp path separators in the Node E2E assertion The CLI joins the large-output temp path with the host separator, so the Windows job saw a backslash path and the '/session-state/temp/' assertion failed. Normalize before matching, mirroring the equivalent fix already applied to the Python E2E test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip the Node session.ui.ephemeralQuery E2E test Matches the skips already applied in the Python, Go, .NET, and Rust SDKs for the same CLI 1.0.81-2 regression. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip in-process-only auth and telemetry E2E failures CLI 1.0.81-2 no longer honors client-level GitHub tokens over the in-process (FFI) host, which resolves auth from the ambient environment instead, so every test that starts a client with its own token reports 'Not authenticated'. GitHub telemetry notifications are likewise not forwarded in-process. Use the existing skip_inprocess/SkipIfInProcess guards rather than disabling the tests outright: they keep running, and passing, over the default (stdio) transport, so coverage is retained. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip the Windows permission location E2E test CLI 1.0.81-2 no longer matches the location key returned by permissions.locations.resolve when permissions.locations.apply re-resolves it on Windows, so appliedRuleCount comes back as 0. Coverage is retained on Linux and macOS. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip Go session-resume E2E tests on in-process macOS Resuming a session over the in-process transport under CLI 1.0.81-2 no longer routes model traffic through COPILOT_API_URL, so the CLI reaches the real api.githubcopilot.com and macOS rejects the proxy certificate with an EKU error. Coverage is retained over stdio on every OS and in-process on Linux and Windows. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Repoint the .NET E2E process cwd before deleting work directories The in-process transport points the host process cwd at the context work directory because the native worker inherits it. The assembly-level isolation attribute only restores the cwd around tests that actually execute, so the cwd could still reference a work directory that context disposal then deleted. Every later Process.Start failed resolving its executable because getcwd() returned ENOENT, cascading hundreds of .NET E2E failures in the in-process matrix cells. Repoint the cwd at its load-time value both before deleting the work directory and before creating a new context. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Normalize sessionFs temp path separators in Go and .NET assertions Windows reports the spilled large-output file with backslash separators, so the /session-state/temp/ substring assertion failed there. Mirrors the existing Node and Python normalization. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Align .NET managed-approval kind list with generated discriminators The fallback list is only consulted for a PermissionRequest that did not deserialize into a generated variant. It was missing 'factory' and 'extension-env-access', so a hand-constructed base request with either kind would have been treated as requiring managed approval. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip the ripgrep-backed builtin tool E2E tests in-process The grep and glob built-in tools shell out to the CLI's bundled ripgrep, which the runtime cannot locate when loaded in-process over FFI. The tool returns 'Failed to execute ripgrep: No such file or directory' and the recorded snapshots have no matching response, so the replay proxy 500s. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Import the harness namespace in BuiltinToolsE2ETests Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Remove file-system check-then-use races flagged by CodeQL CodeQL reported two js/file-system-race (TOCTOU) alerts on files this PR touches. Replace the exists/stat-then-read patterns with a single read that handles the missing-file case: - collectHandWrittenGoPublicNames now reads directory entries with withFileTypes so the file-type check and the read are not separate operations on the same path. - loadStoredData and writeFileIfDifferent read directly and treat ENOENT as "nothing stored" instead of calling existsSync first. Verified the Go generator still produces byte-identical output, and test/harness typechecks clean. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip the model-driven Node E2E suites on the in-process transport Every model-driven turn hangs under @github/copilot 1.0.81-2 when the runtime is hosted in-process over FFI: the session never reaches idle, so each test fails on its own timeout with no error surfaced by the runtime. Suites that only exercise RPC without a model turn still pass. This is not a new failure on this branch - all three Node in-process cells have failed on every commit since the dependency bump, and each cell runs 42-69 minutes against a 4-10 minute baseline on main because the hung tests burn their full timeout. They were repeatedly cancelled by subsequent pushes before reporting, so the breakage stayed hidden. Exclude the 39 affected files for the in-process cell only. The same suites still run on the default (stdio) cell on all three OSes, and they all passed in-process on 1.0.76-5, so the lost coverage is limited to the transport rather than the behavior. The list is removed wholesale once a fixed CLI build is picked up. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Wait for async file-change capture in the Python rewind E2E test The rewind test polled only until list_rewind_points cleared its unavailable_reason, then immediately asserted canRestoreFiles. File change capture settles asynchronously after the turn completes, so the first sample could still report fileCount=0 / canRestoreFiles=false. This flaked on the windows-latest inprocess cell. Extend the poll predicate to also require a restorable rewind point. The existing assertions still run once the deadline expires, so a genuine failure is not masked. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip in-process Java E2E suites blocked by CLI 1.0.81-2 @github/copilot 1.0.81-2 never completes a model-driven turn when the runtime is hosted in-process, so every suite that sends a prompt times out. The Java in-process job reported 94 Timeout errors across 20 classes; with surefire's 3x retry at a 60s timeout that job ran for ~284 minutes before failing, against ~8 minutes on main. Exclude the affected classes from the `inprocess` profile only. The stdio-based `Java SDK Tests` jobs still run all of them, so no suite loses coverage outright. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Drop the .NET in-process CAPI matrix cells blocked by CLI 1.0.81-2 The ubuntu and macOS `inprocess` + `capi` cells are the only .NET combinations that fail on @github/copilot 1.0.81-2. A completed run reported 241 failures across 43 classes and took 150-225 minutes, which also starved the rest of the matrix of runners. The defect is specific to this pairing: the in-process BYOK cells and every stdio CAPI cell pass. Exclude just those two cells, mirroring the existing Windows in-process exclusion above. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Also skip McpOAuthResumeE2ETest on the in-process transport The isolated-resume-tests surefire execution runs before the main suite, so its lone remaining timeout still failed the job even though the main run was green (2594 tests, 0 failures, 6m28s). Exclude the class too. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Skip in-process failsafe ITs blocked by CLI 1.0.81-2 Surefire is now fully green in-process (2594 tests, 0 failures), which exposed the same turn hang in the failsafe integration tests: 12 errors across 5 IT classes, all sendAndWait timeouts. Exclude those classes from the inprocess profile too; they still run over stdio in the java-sdk job. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Make hung .NET test runs fail fast and name the culprit The macOS stdio/capi cell has hung on the last three heads, running ~50 minutes until the runner lost communication. Because the runner died mid-job it never uploaded logs, so every one of those failures was undiagnosable. Add a 30 minute job timeout (healthy cells finish under 15) and run dotnet test under --blame-hang so the hung test is identified instead of wedging the runner. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Split the macOS .NET suite across two hosts macos-latest is the smallest runner in the matrix (3 vCPU / 7 GB against ubuntu's 4 / 16) and was the only capi host still running the entire suite unsharded. Since the 1.0.81-2 bump it stopped finishing: 50+ minute runs ending in 'the hosted runner lost communication with the server', and such a runner uploads no logs whatsoever, so nothing about the failure was visible in CI. Reuse the sharding already applied to the Windows default suite. The two shard filters cover all 26 initials between them, so no test is dropped. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Give the Rust E2E replay proxy its own shutdown timeout per_session_auth::session_fails_with_invalid_token failed on a run where all of its assertions passed: teardown posts /stop to the replay proxy and then waited only SHARED_E2E_CLEANUP_TIMEOUT (10s) for the Node process to exit. Unless the test timed out the proxy flushes its recorded snapshot cache before exiting, so that wait covers real I/O that scales with the traffic the test produced, and a loaded runner overran it. The harness force-killed the proxy and then failed the test anyway. Give that one wait its own, generous timeout so a genuinely wedged proxy is still reported while a merely slow flush is not a failure. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Stabilize rewind capture and replay proxy teardown File-change capture settles asynchronously after a turn. The Node rewind test only waited while unavailableReason was set, so it could observe an available rewind point before canRestoreFiles became true. Poll the actual readiness condition, matching the Python fix. The Rust replay proxy acknowledges /stop before its asynchronous shutdown. If npm/tsx leaves its wrapper alive after a successful stop response, the harness already force-reaps it; do not overturn an otherwise passing test solely for that wrapper. Failed stop requests remain failures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 * Satisfy Clippy in replay proxy teardown Collapse the nested conditional as required by clippy::collapsible-if under the Rust CI job's -D warnings configuration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Stephen Toub <stoub@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279 | 1 个月前 | |
Simplify in-process env isolation to snapshot/restore (#1929) | 3 个月前 | |
Update SDK snapshot for Copilot CLI 1.0.95-3 | 7 天前 | |
Update SDK snapshot for Copilot CLI 1.0.92-4 | 11 天前 |