Regenerate App Server protocol from codex-cli 0.135.0#1
Merged
Conversation
Mirror codex-cli 0.135.0 (final release, not the 0.135.0-alpha.1 Codex
Desktop binary). Generated from the exact rust-v0.135.0 release binary.
src/ (v2) changes vs 0.133.0:
- removed: ProfileV2
- added: AdditionalContextEntry, AdditionalContextKind, ThreadSearch{Params,Response,Result}
- modified: 15 files (e.g. ThreadStartParams fields now optional)
- 587 -> 591 generated .ts files
Also adds a documented clean-room regeneration procedure so removed/renamed
types surface in the diff (a plain re-run leaves stale files behind):
- scripts/regenerate.sh + `pnpm regenerate` (rm -rf src -> generate -> git add -> A/D/M summary)
- AGENTS.md: canonical procedure incl. pinning an exact released codex binary
- CLAUDE.md: pointer to AGENTS.md
- package.json version + codexCliVersion -> 0.135.0; README provenance refreshed
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GitHub now warns that actions running on the Node 20 runtime are deprecated. checkout@v4, setup-node@v4, and pnpm/action-setup@v4 all run on node20; bump all three to v5 (the first node24 major) in both CI and publish workflows. No behavioral change for our usage: setup-node's v5 auto-cache only applies when `cache` is unset (we set `cache: pnpm`), and pnpm/action-setup's version/packageManager values both already pin 10.33.0. Also add a `publint` step (pinned, via dlx — no devDependency / lockfile churn) that validates the published package shape (exports map, files, types resolution). For a generated, type-only package, `tsc --noEmit` is the core check; publint guards against export-map/packaging regressions reaching consumers. (arethetypeswrong was evaluated but doesn't support .ts-source-only packages.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirror the CI/publish workflows: the verify checklist and command table now include the pinned publint packaging check alongside typecheck, with a note on what each guards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Mirrors codex-cli 0.135.0 (the final release) and adds a documented clean-room regeneration procedure.
Why
The package version mirrors the
codex-cliversion that generatedsrc/. This bumps0.133.0 → 0.135.0. Crucially, it's generated from the final0.135.0release binary (rust-v0.135.0,codex-aarch64-apple-darwin), not the0.135.0-alpha.1shipped in Codex Desktop and not Homebrew (a rolling cask now at0.137.0— it can't pin an older exact version). The generated header carries no version, so provenance lives inpackage.json(codexCliVersion).Protocol changes (
src/v2/, 587 → 591.tsfiles)ProfileV2AdditionalContextEntry,AdditionalContextKind,ThreadSearchParams,ThreadSearchResponse,ThreadSearchResultThreadStartParams.experimentalRawEvents/persistExtendedHistoryare now optional;ClientRequest,Config*,Thread*,Turn*updatedTooling & docs
scripts/regenerate.sh(pnpm regenerate): clean-room flow —rm -rf src→generate-ts --experimental→git add -A src→ prints an A/D/M summary + file count + detected version. Deleting first is the point: it surfaces removed/renamed types in the diff (a plain re-run silently leaves stale files behind — it's what caughtProfileV2here).AGENTS.md: canonical procedure — pinning an exact released codex binary, the version-bump rule, typecheck, the global-pnpmfilepnpmfileChecksumlockfile gotcha, commit.CLAUDE.md: pointer toAGENTS.md.README.md: "Regenerating" now leads withpnpm regenerateand links toAGENTS.md; provenance line refreshed to0.135.0/ 591 files.package.json:version+codexCliVersion→0.135.0; added theregeneratescript.Verification
pnpm typecheck(tsc --noEmit) passes against the regenerated sources.pnpm-lock.yamlis unchanged — the machine-specificpnpmfileChecksum:line a global pnpmfile injects on install was reverted (matches the existing portable-lockfile setup).Reviewer notes
src/is generated — review it as generator output, not hand-written code. The deletions/renames reflect real protocol changes.PUBLISHING.md); this PR only updates the checked-in source + tooling.🤖 Generated with Claude Code