Commit Graph

273 Commits

Author SHA1 Message Date
pashpashpash
3a901b5e95 Revert "Install Codex plugin on OpenAI model selection (#78799)" (#78878)
This reverts commit c8f3fecad6.
2026-05-07 18:13:59 +09:00
pashpashpash
c8f3fecad6 Install Codex plugin on OpenAI model selection (#78799)
* route openai agent runs through codex

* fix: load codex plugin for implicit openai runtime

* docs: credit openai codex auth fix

* fix(agents): respect custom openai runtime routing

* fix(agents): install codex plugin on openai selection

* fix(agents): preserve OpenAI Codex auth switching

* fix(ci): restore channel contract runner expression

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-05-07 01:57:34 -07:00
Peter Steinberger
330ba1fa31 refactor: move canvas to plugin surfaces 2026-05-07 09:07:18 +01:00
Val Alexander
62ccd8b644 Fix model and tool normalization regressions
Summary:
- Fix model and tool normalization regressions, including explicit tool-policy grants for messaging profile warnings.
- Keep Codex and Microsoft Foundry auth handling compatible with aws-sdk auth profile modes after rebasing onto current main.

Verification:
- pnpm test src/agents/pi-tools.policy.test.ts
- pnpm tsgo:extensions
- pnpm tsgo:extensions:test
- pnpm test extensions/codex/src/app-server/auth-bridge.test.ts extensions/microsoft-foundry/index.test.ts
- pnpm test:extensions:package-boundary
- pnpm lint --threads=8
- git diff --check
- GitHub PR checks green on 4ad136106b
2026-05-07 02:29:28 -05:00
Peter Steinberger
c22f414c69 fix(codex): keep app-server alive after turn activity
Co-authored-by: Rubén Cuevas <4742789+rubencu@users.noreply.github.com>
2026-05-07 05:51:16 +01:00
Shakker
f011d6bc0a Fix repeated Codex native approval prompts after allow-always (#78234)
* fix: reuse codex native approvals

* fix: scope native approval reuse by session

* fix: let codex guardian own native permission approvals

* fix: refresh plugin approval protocol models

---------

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-05-07 05:55:38 +09:00
Vincent Koc
1ab00c4469 test(codex): remove unused runtime plan helper 2026-05-06 11:36:02 -07:00
Peter Steinberger
2d5df741f5 test(perf): avoid codex failure runtime plan setup 2026-05-06 13:43:51 +01:00
Peter Steinberger
3317b79e5f test(perf): avoid codex hook runtime plan setup 2026-05-06 13:40:14 +01:00
Peter Steinberger
458ce2da94 test(perf): settle codex hook turn startup 2026-05-06 13:32:45 +01:00
Peter Steinberger
12a42bf3da test(perf): narrow codex trajectory import 2026-05-06 13:22:04 +01:00
Peter Steinberger
0bc83b0fdf test(perf): narrow codex harness test import 2026-05-06 13:16:09 +01:00
Peter Steinberger
14a113f7e5 test(perf): remove codex hook polling 2026-05-06 12:57:15 +01:00
Peter Steinberger
5d7878dff1 test(perf): narrow codex session key test 2026-05-06 12:45:38 +01:00
Peter Steinberger
c4537fa6c3 test(perf): shorten codex app-server hot test 2026-05-06 12:34:22 +01:00
Peter Steinberger
0b88d6286c chore: bump version to 2026.5.6 2026-05-06 09:47:34 +01:00
Shubhankar Tripathy
9edeffc751 fix(codex/app-server): forward bootstrap into developerInstructions (#77372)
The OpenClaw workspace bootstrap block (SOUL.md, IDENTITY.md, USER.md,
TOOLS.md, BOOTSTRAP.md, MEMORY.md, HEARTBEAT.md) was only being merged into
Codex's config.instructions. The Codex app-server runtime overlay
consistently applies the explicit developerInstructions field, so persona
and style guidance present in the workspace was failing to shape Codex
behavior on session resume.

Build the workspace bootstrap block before finalizing developerInstructions
and join it into both:

- the baseline developerInstructions (initial assignment), and
- the context-engine developerInstructions (when context engine is active),
  preserving the existing config-engine projection addition.

The existing config.instructions merge stays intact, so the bootstrap now
reaches Codex through both paths and downstream hooks
(resolveAgentHarnessBeforePromptBuildResult) see what Codex will actually
receive. AGENTS.md remains excluded because Codex loads it natively.

Update the existing 'passes OpenClaw bootstrap files through ...' test to
also assert the developerInstructions field carries SOUL.md and the Codex
AGENTS.md substitution note while still excluding the native AGENTS.md
content.

Fixes #77363.
2026-05-06 09:09:59 +01:00
Ayaan Zaidi
3e0fcafb87 test(codex): use full runtime plan in app server tests 2026-05-06 13:03:54 +05:30
keshavbotagent
3f210b10ce fix: show Codex tool progress in channel drafts (#77949)
Summary:
- Normalize Codex app-server dynamic and native tool activity into channel-visible tool progress.
- Keep Telegram message-tool-only progress drafts visible without duplicate dynamic item/tool lines.
- Preserve suppressed item progress while avoiding duplicate tool callbacks.

Verification:
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.test.ts --pool=forks --maxWorkers=1
- pnpm tsgo:extensions:test
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md extensions/codex/src/app-server/event-projector.ts extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/codex/src/app-server/tool-progress-normalization.ts extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/get-reply-options.types.ts src/auto-reply/reply/agent-runner-execution.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.ts src/auto-reply/reply/dispatch-from-config.test.ts src/infra/agent-events.ts
- pnpm lint:extensions
- pnpm build
- CI on 6ff6a1f868: 88 success, 20 skipped, 1 neutral, no failures or pending checks

Fixes #75641.
2026-05-06 08:18:20 +01:00
Peter Steinberger
e37607349b test: trim codex app-server test setup 2026-05-06 07:56:37 +01:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
e428a2dfe2 test: add focused seams for faster isolated tests 2026-05-06 00:53:05 +01:00
Peter Steinberger
a6d88e3cd9 fix: restore Codex agent dir runtime import 2026-05-05 21:07:07 +01:00
Peter Steinberger
782963ae66 refactor: compact generated protocol metadata 2026-05-05 20:47:38 +01:00
Peter Steinberger
35da7d2c99 refactor: remove legacy agent dir resolver 2026-05-05 20:07:49 +01:00
Kelaw - Keshav's Agent
a373468d82 fix: recover missing Codex bound threads 2026-05-05 04:04:58 +01:00
Peter Steinberger
b17bb63b9e fix: repair stale session route state in doctor 2026-05-05 01:51:23 +01:00
pashpashpash
b2c3202a15 Surface Codex usage-limit reset details in chat replies (#77557)
* fix(codex): surface usage limit reset details

* fix(codex): satisfy extension lint

* fix: surface codex runtime failures in tool-only replies
2026-05-05 09:00:39 +09:00
Peter Steinberger
d522a18971 fix: sync Codex app-server protocol (#77578)
* fix: sync codex app-server protocol

* docs: add codex protocol changelog

* fix: refresh codex protocol schemas
2026-05-05 00:43:07 +01:00
Vincent Koc
ac3cd1a0ca Harden Codex harness control surfaces (#77459)
* fix(scripts): find codex protocol source from worktrees

* fix(test): keep codex harness docker caches writable

* fix(test): relax live codex cache mount permissions

* test(codex): add live docker harness debug output

* fix(test): detect numeric ci env in codex docker harness

* fix(codex): skip duplicate agent-command telemetry

* fix(tooling): skip sparse-missing oxlint tsconfig

* fix(tooling): route changed checks through testbox

* fix(qa): keep coverage json source-clean

* fix(test): preflight codex docker auth

* fix(codex): validate bind option values

* fix(codex): parse quoted command arguments

* fix(codex): reject extra control args

* fix(codex): use content for blank bound prompts

* fix(codex): decode local image file urls

* fix(codex): treat local media urls as images

* fix(codex): keep windows media paths local

* fix(codex): reject malformed diagnostics confirmations

* fix(codex): reject malformed resume commands

* fix(codex): reject malformed thread actions

* fix(codex): reject malformed turn controls

* fix(codex): reject malformed model controls

* fix(codex): resolve empty user input prompts

* fix(codex): enforce user input options

* fix(codex): reject ambiguous computer-use actions

* fix(codex): ignore stale bound turn notifications

* test(gateway): close task registries in gateway harness

* test(gateway): route cleanup through task seams

* fix(codex): describe current permission approvals

* fix(codex): disclose command approval amendments

* fix(codex): preserve approval detail under truncation

* fix(codex): propagate dynamic tool failures

* test(codex): align dynamic tool block contract

* fix(codex): reject extra read-only command operands

* fix(codex): escape command readout fields

* fix(codex): escape status probe errors

* fix(codex): narrow formatted thread details

* fix(codex): escape successful status summaries

* fix(codex): escape bound control replies

* fix(codex): escape user input prompts

* fix(codex): escape control failure replies

* fix(codex): escape approval prompt text

* test(codex): narrow escaped reply assertions

* test(codex): complete strict reply fixtures

* test(codex): preserve account fixture literals

* test(codex): align status probe fixtures

* fix(codex): satisfy sanitizer regex lint

* fix(codex): harden command readouts

* fix(codex): harden bound image inputs

* fix(codex): sanitize command failure replies

* test(codex): complete rate limit fixture

* test(tooling): isolate postinstall compile cache fixture

* fix(codex): keep app-server event ownership explicit

---------

Co-authored-by: pashpashpash <nik@vault77.ai>
2026-05-05 07:23:41 +09:00
Chunyue Wang
14aa98827a fix(codex/app-server): stable mirror idempotency to prevent transcript loss (#77046)
* fix(codex/app-server): stable mirror idempotency to prevent transcript loss

* Changelog: note codex/app-server transcript mirror dedupe stabilization (#77046)
2026-05-04 23:17:00 +01:00
Peter Steinberger
8ee08b2b77 chore: update dependencies 2026-05-04 23:07:09 +01:00
VACInc
8cf1800ee9 fix codex thread continuity 2026-05-04 20:48:51 +01:00
Eva
cb38535875 [plugin sdk] Project session extension slots (#75609)
Merged via squash.

Prepared head SHA: d9b670a867
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-04 08:04:27 -07:00
Peter Steinberger
5397667272 chore(release): prepare 2026.5.4 2026-05-04 10:09:55 +01:00
Vincent Koc
e9ca63cf06 fix(codex): preserve run session status key 2026-05-03 21:20:03 -07:00
Vincent Koc
1fe2b8b548 test(codex): sync app-server model auth mock 2026-05-03 18:56:03 -07:00
Vincent Koc
eb1a0aa574 fix(codex): honor app-server auth order 2026-05-03 18:25:19 -07:00
Peter Steinberger
eb66def656 fix: scope messaging tool final reply dedupe
Co-authored-by: HCL <chenglunhu@gmail.com>
2026-05-04 01:35:58 +01:00
Peter Steinberger
5d09b4b92c feat(agents): add tool progress detail modes 2026-05-04 01:35:27 +01:00
Peter Steinberger
c308d04bca test: harden Codex binding provider normalization 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
8ea04f994a fix: resolve Codex native auth by profile provider 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
71f55214ec fix: select Codex OAuth profile for bound app-server turns 2026-05-04 01:10:30 +01:00
Kelaw - Keshav's Agent
05d11a4318 fix: preserve Codex binding OAuth transport
(cherry picked from commit f45dc3168a)
2026-05-04 01:10:30 +01:00
pashpashpash
5bcc321343 Scope Codex heartbeat guidance to heartbeat turns (#76788)
* fix(codex): scope heartbeat guidance to collaboration mode

* fix heartbeat tool direct context

* test prompt heartbeat collaboration snapshots

* fix heartbeat changelog credit
2026-05-04 01:58:39 +09:00
Peter Steinberger
9dc0f10f8a test: type codex dynamic tool fixture 2026-05-03 16:40:46 +01:00
Peter Steinberger
1bfc66da33 test: avoid codex app-server factory race 2026-05-03 16:34:49 +01:00
Peter Steinberger
5e830508b6 test: stabilize release validation lanes 2026-05-03 16:24:17 +01:00
Vishal Jain
0e4d28aa9e fix(codex): force message tool for source replies (#76663)
* fix(codex): force message tool for source replies

* docs: credit codex source reply fix (#76663) (thanks @VishalJ99)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-03 15:29:07 +01:00