Skip to content

Regenerate App Server protocol from codex-cli 0.135.0#1

Merged
huntharo merged 3 commits into
mainfrom
regenerate-codex-0.135.0
Jun 5, 2026
Merged

Regenerate App Server protocol from codex-cli 0.135.0#1
huntharo merged 3 commits into
mainfrom
regenerate-codex-0.135.0

Conversation

@huntharo

@huntharo huntharo commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Mirrors codex-cli 0.135.0 (the final release) and adds a documented clean-room regeneration procedure.

Why

The package version mirrors the codex-cli version that generated src/. This bumps 0.133.0 → 0.135.0. Crucially, it's generated from the final 0.135.0 release binary (rust-v0.135.0, codex-aarch64-apple-darwin), not the 0.135.0-alpha.1 shipped in Codex Desktop and not Homebrew (a rolling cask now at 0.137.0 — it can't pin an older exact version). The generated header carries no version, so provenance lives in package.json (codexCliVersion).

Protocol changes (src/v2/, 587 → 591 .ts files)

  • Removed: ProfileV2
  • Added: AdditionalContextEntry, AdditionalContextKind, ThreadSearchParams, ThreadSearchResponse, ThreadSearchResult
  • Modified: 15 files — e.g. ThreadStartParams.experimentalRawEvents / persistExtendedHistory are now optional; ClientRequest, Config*, Thread*, Turn* updated

Tooling & docs

  • scripts/regenerate.sh (pnpm regenerate): clean-room flow — rm -rf srcgenerate-ts --experimentalgit 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 caught ProfileV2 here).
  • AGENTS.md: canonical procedure — pinning an exact released codex binary, the version-bump rule, typecheck, the global-pnpmfile pnpmfileChecksum lockfile gotcha, commit.
  • CLAUDE.md: pointer to AGENTS.md.
  • README.md: "Regenerating" now leads with pnpm regenerate and links to AGENTS.md; provenance line refreshed to 0.135.0 / 591 files.
  • package.json: version + codexCliVersion0.135.0; added the regenerate script.

Verification

  • pnpm typecheck (tsc --noEmit) passes against the regenerated sources.
  • pnpm-lock.yaml is unchanged — the machine-specific pnpmfileChecksum: line a global pnpmfile injects on install was reverted (matches the existing portable-lockfile setup).

Reviewer notes

  • All of src/ is generated — review it as generator output, not hand-written code. The deletions/renames reflect real protocol changes.
  • Publishing stays gated separately (see PUBLISHING.md); this PR only updates the checked-in source + tooling.

🤖 Generated with Claude Code

huntharo and others added 3 commits June 4, 2026 19:27
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>
@huntharo huntharo merged commit fb903a8 into main Jun 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant