Sync upstream agentclientprotocol/codex-acp main - #21
Merged
Conversation
…ry (agentclientprotocol#380) Bumps the npm_and_yarn group with 1 update in the / directory: [hono](https://github.com/honojs/hono). Updates `hono` from 4.12.31 to 4.13.1 - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.31...v4.13.1) --- updated-dependencies: - dependency-name: hono dependency-version: 4.13.1 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: expose typed session failures for AIR Negotiate safe typed session failures while preserving legacy ACP behavior for other clients. Use PromptResponse metadata for terminal turn failures and session updates for asynchronous failures, with restart-safe identities and deterministic recovery revisions. * fix: make Codex error classification exhaustive Tie session-failure categories to the generated CodexErrorInfo union so schema changes fail typecheck instead of silently falling through. Preserve a safe runtime fallback for newer app-server variants and extract HTTP status codes structurally. * refactor: centralize AIR extension metadata keys
* ci: enforce conventional commit PR titles * ci: release-please flow
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
…ol#400) Co-authored-by: Junie <junie@jetbrains.com>
…ocol#393) * feat: expose warning-severity advisories for AIR (IJAI-993) Codex reports non-fatal advisories as dedicated app-server notifications, but codex-acp flattened them into assistant text: `warning` became `Warning: <message>` and `configWarning` became `Config warning: <summary>`, both as an untagged `agent_message_chunk`. The client could not tell them from the model's own words, so a compaction hint rendered as if the agent had said it. Extend the typed session-failure extension from agentclientprotocol#383 rather than adding a parallel notice concept: a record now carries an optional `severity` of `error` or `warning`, plus an `advisory` category whose wording comes from the app-server. Clients that negotiated the `sessionFailure` capability receive the structured record; everyone else keeps the existing text, unchanged. Advisories live in their own `sessionNotice` slot under a `:notice` id, so they never disturb the revision bookkeeping of an in-flight terminal failure — the two records coexist and the client decides which to show. `severity` is optional on the wire and absent means `error`, so an AIR build that predates this change keeps treating every record it receives as a failure. Scoped out deliberately: `thread/compacted` keeps its italic transcript line (informational, not a warning), and `guardianWarning` / `deprecationNotice` remain dropped as before. * feat: route deprecationNotice through the advisory banner too deprecationNotice carries the same {summary, details} shape as configWarning, so treating the two differently was inertia, not design: it was simply already being dropped. Unlike warning and configWarning it has no legacy text rendering to preserve, so it is emitted only to clients that negotiated typed records. A client that did not must keep seeing exactly what it sees today, which is nothing. Extracts joinSummaryAndDetails so the two notifications share one formatting rule rather than repeating it. * feat: align session failure metadata with AIR protocol * fix: preserve Codex error messages in AIR metadata * fix: preserve typed failure incident lifecycle Keep reconnect retries on one revisioned record until Codex resumes output, then allocate a new incident for later failures. Preserve turn attribution for late notifications and avoid suggesting a new session for account quota.
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
* feat: report changed files to AIR Standard ACP diffs miss paths changed through opaque commands, Git operations, and generators. When AIR negotiates the extension, run a bounded read-only ephemeral Codex audit and publish one correlated terminal report. Keep report delivery fail-open so audit timeout, cancellation, or provider failure never blocks the user prompt. * fix: resolve filesystem aliases in file change reports macOS agents can report /private/tmp paths while the session cwd uses /tmp. Canonicalize the nearest existing ancestors before containment checks, while leaving the path leaf unresolved for deleted files and changed symlink nodes.
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
…#404) * fix: switch providers for loaded sessions Co-authored-by: Junie <junie@jetbrains.com> * refactor: inline codex restart callback type * Move Codex restart lifecycle into server Co-authored-by: Junie <junie@jetbrains.com> * fix: preserve synchronous session lifecycle Co-authored-by: Junie <junie@jetbrains.com> --------- Co-authored-by: Junie <junie@jetbrains.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
* fix: update codex to 0.148.0 * fix: repair types and tests after Codex update --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
# Conflicts: # .github/workflows/codex-update.yml # .github/workflows/e2e.yml # .github/workflows/publish.yml # package-lock.json # package.json # src/CodexAcpServer.ts # src/CodexAppServerClient.ts # src/CodexCommands.ts # src/CodexEventHandler.ts # src/index.ts
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.
Summary
agentclientprotocol/codex-acpmainthroughae048a6.0.148.0.1.6.2while retaining theacp-extension-codexpackage and binary names.Compatibility decisions
Validation
npm run typechecknpm test— 51 passed / 6 skipped files; 461 passed / 29 skipped testsnpm run buildTest environment note
The local Codex
0.148.0optional native package was malformed and could not launch. Process-based tests therefore used the locally installed Codex0.145binary; generated-schema, protocol, mock, typecheck, and build coverage use the merged0.148.0integration.