[pull] main from github:main - #220
Merged
Merged
Conversation
* Update @github/copilot to 1.0.71
- Updated nodejs and test harness dependencies
- Re-ran code generators
- Formatted generated code
* Route Python hooks.invoke through generated client-global handler
CLI 1.0.71 promoted hooks.invoke to a client-global RPC method with a
generated HooksHandler interface. The handwritten SDK still registered its
own hooks.invoke handler, which only avoided colliding with the generated
one because global handlers were skipped when no LLM/telemetry adapter was
set.
Make the wiring intentional: add _HooksAdapter implementing the generated
HooksHandler protocol (routing HookInvokeRequest.sessionId to the matching
session's dispatcher), always register the client-global handlers with the
hooks adapter, and remove the redundant handwritten hooks.invoke
registrations and dead client-level handler.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ae226b7f-caf9-46f3-b8c5-b9a21c5d7951
* Route Node hooks.invoke through generated client-global handler
CLI 1.0.71 promoted hooks.invoke to a client-global RPC method with a
generated HooksHandler interface. The handwritten SDK registered its own
hooks.invoke handler on the connection, which the generated
registerClientGlobalApiHandlers then shadowed with an unwired handler that
threw "No hooks client-global handler registered" — so hooks never fired.
Wire the existing handleHooksInvoke routing into the generated
clientGlobalHandlers.hooks slot and drop the redundant handwritten
connection.onRequest("hooks.invoke") registration. Behavior is unchanged;
the dispatcher and its payload validation are reused as-is.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ae226b7f-caf9-46f3-b8c5-b9a21c5d7951
* Route Go hooks.invoke through generated client-global handler
CLI 1.0.71 promoted hooks.invoke to a client-global RPC method whose
generated registration installs a hooks.invoke handler that rejects all
invocations unless the Hooks slot is populated. Whenever an LLM inference
or telemetry adapter was configured, that generated handler overrode the
handwritten hooks.invoke registration and hooks stopped firing (e.g. the
sub-agent hook test).
Always register the client-global handlers with a hooksAdapter that
delegates to the existing per-session dispatcher, and drop the redundant
handwritten hooks.invoke registration.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ae226b7f-caf9-46f3-b8c5-b9a21c5d7951
* Fix Rust hook input deserialization for float timestamps
The Copilot CLI serializes hook input `timestamp` as a JSON float
(e.g. `1784203878038.0`). Rust's hand-authored hook input structs typed
`timestamp` as `i64`, so `serde_json::from_value` rejected the float,
`dispatch_hook` returned an error, and the session handler fell back to
an empty `{ "output": {} }` response. Hooks therefore never fired: e.g. a
preToolUse deny was dropped, the CLI executed the tool, and the replayed
conversation diverged ("No cached response" -> 500).
Other SDKs tolerate this incidentally (Go decodes `input` into `any` and
re-marshals, dropping the `.0`); Rust decodes strictly. Type the hook
input `timestamp` fields as `f64` to match the shape the runtime sends.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ae226b7f-caf9-46f3-b8c5-b9a21c5d7951
* Fix .NET build break and float hook timestamps for hooks.invoke
CLI 1.0.71 promoted hooks.invoke to an internal client-global RPC method.
The C# codegen still emitted its internal request/result DTOs behind a public
IHooksHandler surface, producing CS0050/CS0051 inconsistent-accessibility
errors that broke the entire .NET build. It also registered a second, unwired
hooks.invoke handler that would shadow the working handwritten one.
Filter internal client-global and client-session methods in the C# code
generator so no generated interface, handler property, or RPC registration is
emitted for internal methods like hooks.invoke. The handwritten
SetLocalRpcMethod(hooks.invoke, ...) registration continues to serve hooks.
This mirrors, for .NET's static typing, the routing fixes already applied to
Node, Python, and Go.
Also tolerate hook timestamp epoch milliseconds encoded as either JSON
integers or floats in UnixMillisecondsDateTimeOffsetConverter, covering the
CLI 1.0.71 float serialization (matching the Rust fix).
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 94a20428-6b0e-4733-a354-0abf2d186320
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Enable issue intents on issue-triage workflow
Recompile issue-triage.lock.yml with gh-aw v0.82.1 to wire
GH_AW_RUNTIME_FEATURES=${{ vars.GH_AW_RUNTIME_FEATURES }}, enabling native
issue intents (rationale/confidence) for the workflow's add-labels safe
output. No behavior change: the trigger, permissions, prompt, and safe
outputs are unchanged, and the source .md is untouched.
The actions-lock.json pin bump (github/gh-aw-actions/setup v0.82.1) is
required by the recompiled lock.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Bump verify-compiled gh-aw pin to v0.82.1 and recompile locks
The verify-compiled workflow pinned gh-aw v0.77.5 while issue-triage.lock.yml
was compiled with v0.82.1, so CI recompiled at v0.77.5 and the byte diff failed
the check. Bump the pin to v0.82.1 to match, and recompile all lock files at
v0.82.1 so they are consistent with the pinned compiler.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* chore(aw): upgrade aw workflows with latest pre-release
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix(ci): align verify workflow gh-aw toolchain
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Add generated agentics-maintenance workflow (gh-aw v0.82.10)
`gh aw compile` with the v0.82.10 toolchain introduced by this PR emits
`.github/workflows/agentics-maintenance.yml`. Commit the generated file
so it is tracked alongside the recompiled locks.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 004ba78d-3cf4-41ab-8647-180e683460f0
* Enable org billing (copilot-requests) for agentic workflows
Add `permissions.copilot-requests: write` to all 11 agentic (gh-aw)
workflows so their Copilot usage is billed to the org, and recompile the
lock files. The compiled workflows now authenticate the Copilot CLI with
the GitHub Actions token and set S2STOKENS=true.
Authored by adding `features.copilot-requests: true`, migrating it with
`gh aw fix --write` (the deprecated flag maps to the permission), and
recompiling with gh-aw v0.82.10.
Rebased onto #1880 (issue-intents), which bumps the pinned gh-aw CLI to
v0.82.10.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 004ba78d-3cf4-41ab-8647-180e683460f0
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )