Repository navigation
Commit 6d09534
committed
release: sync copilot-sdk-cpp v0.4.0
Re-pins the SDK to @github/copilot 1.0.84-5 (github/copilot-sdk f45c46fd),
regenerates the protocol layer, and adds the API surface that came with it.
The wire protocol is unchanged at version 3, so this is compatible with
servers the previous release worked against.
Fixes
- FFI transport could unload the runtime library while it still held our
callback. copilot_runtime_connection_close returning false does not mean
failure -- it means the runtime has not quiesced yet. close() discarded
that result, shut the host down and unloaded the library regardless, so a
late callback could land in unmapped memory. It now retries until the
runtime agrees, and if it never does, the library is deliberately left
loaded rather than freed out from under it. Affects in-process transport
users only (connection.ffi_library_path).
- Bracketed IPv6 runtime URLs such as "[::1]:4000" failed to parse: the host
pattern stopped at the address's own colons.
Added
- ClientOptions::client_info (CopilotClientInfo) declares the integrating
application on the connect handshake so the runtime attributes telemetry
to a consistent surface. Note the public names are application/integration
while the protocol spells them editor/extension; the mapping is handled
for you.
- MessageOptions::source (MessageSource) tags message provenance as
user, system, or agent-<id>.
- Session::set_auto_tier() over session.model.switchAutoTier, with
AutoTier and AutoTierResult. Passing nullopt returns the session to
provider-default Auto routing. The switch is deferred until a future turn
mints a replacement model, which is why the result reports a status and a
pending tier rather than completing inline.
- SessionConfig and ResumeSessionConfig gain feature_flags and
auth_client_id_metadata_url.
- Client::clear_managed_settings_cache() over managedSettings.clearCache.
- 11 new session event types are mapped rather than falling through to
SessionEventType::Unknown. Their payloads are exposed as raw JSON for now.
Generated surface
API definitions 1218 -> 1293
event definitions 535 -> 576
RPC methods 367 -> 384
event variants 133 -> 144
The codegen validator now reads the CLI version from nodejs/src/cliVersion.ts
with a fallback to package-lock.json, since upstream moved CLI acquisition to
GitHub Releases and the old lookup raised an undiagnosable KeyError.
Not yet ported from this upstream range: session detach for cleanup
(github/copilot-sdk fcffcdf0) and cancelling pending host tool invocations on
connection close (53e74d81). Both are session-lifecycle changes.1 parent 790ba0e commit 6d09534
17 files changed
Lines changed: 3875 additions & 389 deletions
File tree
- include/copilot
- generated
- schemas
- src
- tests
- tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
169 | 176 | | |
170 | 177 | | |
171 | 178 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3106 | 3106 | | |
3107 | 3107 | | |
3108 | 3108 | | |
| 3109 | + | |
| 3110 | + | |
| 3111 | + | |
| 3112 | + | |
| 3113 | + | |
| 3114 | + | |
| 3115 | + | |
| 3116 | + | |
| 3117 | + | |
| 3118 | + | |
| 3119 | + | |
| 3120 | + | |
3109 | 3121 | | |
3110 | 3122 | | |
3111 | 3123 | | |
| |||
3439 | 3451 | | |
3440 | 3452 | | |
3441 | 3453 | | |
| 3454 | + | |
| 3455 | + | |
| 3456 | + | |
| 3457 | + | |
| 3458 | + | |
| 3459 | + | |
| 3460 | + | |
| 3461 | + | |
| 3462 | + | |
| 3463 | + | |
| 3464 | + | |
| 3465 | + | |
| 3466 | + | |
| 3467 | + | |
| 3468 | + | |
3442 | 3469 | | |
3443 | 3470 | | |
3444 | 3471 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
0 commit comments