Commit Graph
4 Commits
Author SHA1 Message Date
Giuseppe CianciandGitHub f9f7827943 Merge pull request #322383 from microsoft/agents/automated-sdk-version-sync-check-0176c59f
build: enforce agent SDK version pin lockstep in CI
2026-07-10 14:58:12 +02:00
63a78a96c8 Codex: regenerate app-server protocol for @openai/codex 0.142.0 (#325262)
* Codex: regenerate app-server protocol for @openai/codex 0.142.0

Regenerate the vendored Codex app-server protocol client to match the
shipped @openai/codex 0.142.0: bump the pin in build/codex/codex-version.txt
and run `npm run codex:gen-protocol` (build/codex/generate-protocol.mjs).

Include only the minimal hand-written call-site adaptations required to keep
the tree compiling against the regenerated types, so this PR builds on its
own:
- DynamicToolSpec became a discriminated union; tag built tool specs with
  `type: 'function'` in codexAgent._buildDynamicTools.
- McpServerElicitationRequestParams gained a third `openai/form` mode whose
  schema is opaque; codexElicitationMapper surfaces the message only for any
  non-`form` mode.
- ThreadItem userMessage gained required `clientId`; test fixture updated.
- McpServerStatus gained required `serverInfo`; test fixture updated.

The actual agent-host feature work (forking, subagent rendering, single
approvals chip, auto-review denial surfacing) is stacked on top.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* signing commit

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-10 14:31:49 +02:00
Giuseppe CianciandCopilot 5f3d6235d8 build: verify codex protocol client is regenerated in lockstep
Add a PR CI check that fails when the committed codex app-server protocol
client (src/vs/platform/agentHost/node/codex/protocol/generated/**) does not
match what `codex app-server generate-ts` produces for the @openai/codex
dev-dependency version, but only when a PR actually changes the generated
client or the version pin.

- build/codex/generate-protocol.mjs: export the reusable pieces (generate,
  resolveCodexBinary, readBinaryVersion, readPinnedVersion, paths) and only
  run main() when invoked directly, so the check can import it side-effect
  free. Types provided by generate-protocol.d.mts.
- build/codex/check-protocol-sync.ts: gate on a git diff touching the
  generated dir or codex-version.txt (its README.md excluded — preserved
  across regen), regenerate into a scratch dir with the dev-dependency binary,
  byte-compare against the committed client, and assert the pin matches. Never
  touches the working tree.
- build/codex/test/checkProtocolSync.test.ts: unit tests for the gate + diff
  helpers; wired in via the build/package.json test glob (adds `codex`).
- package.json: `codex:check-protocol` script.
- .github/workflows/pr.yml: run the gated check in the Compile & Hygiene job.
- generated/README.md: document the check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-10 13:40:10 +02:00
Giuseppe CianciandGitHub 20830ab4e4 [Codex] Add app-server protocol generation (#318826) 2026-06-01 11:48:48 +02:00