Skip to content

[upstream-sync] Port new event data fields from @github/copilot 1.0.4 (upstream PR #796)#55

Draft
github-actions[bot] wants to merge 1 commit intomainfrom
upstream-sync/2026-03-12-267faae598c6fa46
Draft

[upstream-sync] Port new event data fields from @github/copilot 1.0.4 (upstream PR #796)#55
github-actions[bot] wants to merge 1 commit intomainfrom
upstream-sync/2026-03-12-267faae598c6fa46

Conversation

@github-actions
Copy link
Contributor

Summary

This PR ports spec changes from upstream PR #796 ("Update @github/copilot to 1.0.4"), which was a codegen update that added new fields and documentation to the session event types.

Upstream Changes Ported

New session event data fields

session.start event data (::session.start-data):

  • :reasoning-effort — reasoning effort level at session start
  • :already-in-use? — whether the session was already in use by another client
  • :host-type — hosting platform of the git repo ("github" or "ado")
  • :head-commit — head commit of current git branch at session start
  • :base-commit — base commit of current git branch at session start

session.resume event data — new ::session.resume-data spec:

  • :event-count (required) — total persisted events at resume time
  • :selected-model, :reasoning-effort, :already-in-use?, :host-type, :head-commit, :base-commit (all optional)

session.model_change event data — new ::session.model_change-data spec:

  • :new-model (required) — newly selected model identifier
  • :previous-model, :reasoning-effort, :previous-reasoning-effort (all optional)

user.message event data — new :blob attachment type:

  • :data — base64-encoded content
  • :mime-type — MIME type of the inline data
  • :display-name (optional) — user-facing display name

Changes Skipped

Shell exec/kill RPC methods (session.shell.exec, session.shell.kill): These are new internal RPC types in the generated RPC layer. The Clojure SDK does not expose raw session RPC methods in its public API, so these are not ported. If a higher-level shell execution API is warranted, it should be a separate feature.

reasoningEffort type widening in SessionModelSwitchToParams: Changed from specific union to string in the RPC layer only — internal change.

Testing

  • Changes are additive (new optional spec fields, new spec definitions)
  • No existing spec behavior changed
  • Existing tests continue to pass (specs only add new optional fields)

Files Changed

  • src/github/copilot_sdk/specs.clj — new specs and updated event data specs
  • CHANGELOG.md — documented changes under [Unreleased]

Upstream Reference

Generated by Upstream Sync Agent ·

  • expires on Mar 19, 2026, 2:10 PM UTC

Port upstream PR 796 changes to session event data specs:
- session.start: add :reasoning-effort, :already-in-use?, :host-type,
  :head-commit, :base-commit optional fields
- session.resume: add new session.resume-data spec with :event-count (req),
  plus :selected-model, :reasoning-effort, :already-in-use?,
  :host-type, :head-commit, :base-commit optional fields
- session.model_change: add new session.model_change-data spec with
  :new-model (req), :previous-model, :reasoning-effort,
  :previous-reasoning-effort optional fields
- user.message: add :blob attachment type with :data (base64), :mime-type,
  optional :display-name

Shell exec/kill RPC methods from PR 796 are skipped as they are internal
generated RPC types not exposed through the Clojure SDKs public API.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants