Peter Steinberger
9d4610cbd1
fix(codex): settle plugin activation, align plugin/list with codex 0.144, bound discovery per turn ( #108311 )
...
* fix(codex): settle plugin activation, align plugin/list with codex 0.144, bound discovery per turn
- plugin/list curated queries omit cwds and marketplaceKinds (0.144 semantics:
explicit kinds disable the automatic global remote catalog; cwds:[] never
suppressed it), and the missing-marketplace check recognizes the current
openai-curated-remote wire name via the shared predicate (#107305 )
- curated plugin/list snapshots settle in a process-local metadata cache
(coalesced, invalidated on install/identity change/restart, 1h freshness
window matching the app-inventory cache) so a missing marketplace or plugin
no longer re-runs blocking discovery RPCs on every embedded-Codex turn;
fail-open local-only responses (upstream warns without a load error when the
remote catalog fetch fails) are never cached, and workspace-directory
queries stay live because external activation has no invalidation signal
- the whole plugin-config build shares one bounded startup deadline with
remaining-budget propagation per RPC and a deny-all apps fallback, so a hung
plugin/list cannot consume the turn (#107305 )
- guarded thread requests (start/resume/fork under the native-config fence)
must carry a finite timeout or abort signal, closing the unbounded-fence-hold
window for raw callers (#106719 hardening)
* chore(codex): keep plugin metadata types and deadline builder module-local
Deadline behavior tests exercise the production provider composition instead
of a test-only export.
2026-07-15 06:40:29 -07:00
Peter Steinberger
26210c1600
refactor: remove browser and codex dead exports ( #105867 )
...
* refactor(browser): collapse Playwright export paths
* refactor(browser): remove dead plugin exports
* refactor(codex): remove dead app-server exports
* refactor(codex): remove remaining dead exports
* test(codex): use canonical private-type owners
* test(browser): isolate proxy startup state
* test(browser): remove stale chrome imports
* refactor(codex): privatize remaining helpers
* chore(deadcode): refresh export baseline after rebase
* refactor(browser): finish canonical helper ownership
* refactor: fix dead-export cleanup gates
* refactor(codex): keep runtime facades LOC-neutral
* chore(ci): refresh TypeScript LOC baseline
* chore(deadcode): refresh ratchets after rebase
* chore(ci): refresh LOC baseline after main advance
* chore(deadcode): align ratchets with latest main
2026-07-12 22:23:11 -07:00
Peter Steinberger
7bf80dc2c6
chore(tooling): enforce formatting and refresh TypeScript checks ( #104239 )
...
* chore(tooling): enforce current formatter and refresh checks
* chore(tooling): keep release changelog formatter-owned
* chore(tooling): retain compatible Node type surface
* ci: enforce formatting for docs-only changes
* ci: isolate docs formatter check
* chore(tooling): apply updated lint and format rules
* chore(tooling): satisfy updated switch lint
* style(ui): apply Linux formatter layout
* test(doctor): match quiet local audio contribution
* test(doctor): assert quiet output only
* test(doctor): follow restored information contract
2026-07-11 01:09:51 -07:00
pash-openai
806a116f9d
Let owner-operated Codex agents use connected account apps ( #100973 )
...
* Allow connected Codex account apps
* Preserve explicit plugin app policy
* Refresh Codex documentation map
* Unify connected apps with Codex plugin policy
* Format Codex configuration reference
2026-07-06 12:31:45 -07:00
Kevin Lin
d9b5afad18
fix(codex): rename destructive approval mode to ask ( #98501 )
...
* fix(codex): rename destructive approval mode to ask
* fix(codex): keep ask reviewer app-scoped
* test: fix current-main CI regressions
2026-07-01 15:14:55 -07:00
Kevin Lin
58367137ea
fix(codex): keep plugin apps available when inventory is missing ( #98042 )
...
* fix(codex): refresh missing app inventory
* fix(codex): support remote curated plugins
* fix(codex): resolve plugins across curated marketplaces
* fix(codex): enable Guardian on first thread turn
2026-06-30 00:44:28 -07:00
Kevin Lin
389c355bcf
fix(codex): preserve per-app approval reviewer policy ( #97327 )
...
* fix(codex): version app inventory cache keys
* fix(codex): refresh and replay plugin app policy
* fix(codex): preserve user reviewer for plugin turns
* fix(codex): gate plugin reviewer from startup policy
* fix(codex): route app approvals to user reviewer
* fix(codex): prompt destructive app tools
* fix(codex): scope app approval reviewers
* test(codex): complete app policy fixture
* fix(codex): avoid pre-start app inventory gate
* Revert "fix(codex): prompt destructive app tools"
This reverts commit d1cb0d5ba8 .
# Conflicts:
# extensions/codex/src/app-server/plugin-thread-config.test.ts
# extensions/codex/src/app-server/plugin-thread-config.ts
2026-06-29 02:35:13 -07:00
Kevin Lin
c5d34c8376
feat(codex): add always plugin approval mode ( #97123 )
...
* feat(codex): add always plugin approval mode
* fix(codex): normalize plugin approval decisions
* fix(codex): fail closed on layered approval overrides
2026-06-27 01:19:00 -07:00
Kevin Lin
a6a4652c70
fix(codex): expose plugin apps after delayed inventory load ( #96872 )
...
* fix(codex): refresh missing plugin app inventory
* fix(codex): honor OpenClaw app enablement overrides
2026-06-25 21:10:02 -07:00
Kevin Lin
bc5081c587
feat(codex): support remote app-server plugins ( #94203 )
...
* feat(codex): support remote app-server plugins
* fix(codex): refresh remote plugin apps after install
* fix(codex): infer remote app-server topology
* docs(codex): document remote app-server plugin config
* fix(codex): remove remote mutation policy
* fix(codex): simplify remote workspace root
* docs(codex): fix remote app-server PR docs
2026-06-17 13:52:34 -07:00
Kevin Lin
e82d19fb06
feat(codex): add auto plugin approvals ( #92625 )
...
* feat(codex): add on-request plugin approvals
* feat(codex): rename plugin approval policy to auto
* fix(codex): update binding schema version callers
2026-06-14 18:00:38 -07:00
Peter Steinberger
d99268ae51
docs: document codex plugin app config
2026-06-04 08:46:41 -04:00
Kevin Lin
f169e0aafd
fix(codex): guard against stale codex app snapshots leading to plugin invocation failure ( #83807 )
...
* feat(codex): add plugin enable disable list commands
* fix(codex): escape plugin management output
* test(codex): narrow plugin command coverage
* fix(codex): gate plugin management writes
* test(codex): type command plugin context
* fix(codex): recover plugin app bindings
* fix(codex): fail closed on missing app inventory
* fix(codex): restore plugin thread config log signal
* revert(codex): drop plugin management commands
* fix(codex): warn on missing plugin app inventory
* fix(codex): trim plugin binding debug logs
* fix(codex): restore thread lifecycle json import
* chore(codex): remove plugin app debug logs
* fix(codex): redact plugin thread config logs
2026-05-18 18:57:48 -07:00
Kevin Lin
cfc189de0a
fix(codex): auto-approve plugin read tools ( #80513 )
...
* fix(codex): auto-approve plugin read tools
* docs: add codex plugin approval changelog
2026-05-10 21:13:40 -07:00
Kevin Lin
a1ac559ed7
feat(codex): enable native plugin app support ( #78733 )
...
* feat(codex): add native plugin config schema
* feat(codex): add native plugin inventory activation
* feat(codex): configure native plugin apps for threads
* feat(codex): enforce plugin elicitation policy
* feat(codex): migrate native plugins
* docs(codex): document native plugin support
* fix(codex): harden plugin migration refresh
* fix(codex): satisfy plugin activation lint
* fix: stabilize codex plugin app config
* fix: address codex plugin review feedback
* fix: key codex plugin app cache by websocket credentials
* fix: keep codex plugin app fingerprints stable
* fix: refresh codex plugin cache test fixtures
* fix: refresh plugin app readiness after activation
* fix: support remote codex plugin activation
* fix: recover plugin app bindings after cache refresh
* fix: force codex app refresh after plugin activation
* fix: recover partial codex plugin app bindings
* fix: sync codex plugin selection config
* fix: keep codex plugin activation fail closed
* fix: align codex plugin protocol types with main
* fix: refresh partial codex plugin app bindings
* fix: key codex app cache by env api key
* fix: skip failed codex plugin migration config
* test: update codex prompt snapshots
* fix: fail closed on missing codex app inventory entries
* fix(codex): enforce native plugin policy gates
* fix(codex): normalize native plugin policy types
* fix(codex): fail closed on plugin refresh errors
* fix(codex): use native plugin destructive policy
* fix(codex): key plugin cache by api-key profiles
* fix(codex): drop unshipped plugin fingerprint compat
* fix(codex): let native app policy gate plugin tools
* fix(codex): allow open-world plugin app tools
* fix(codex): revalidate native plugin app bindings
* fix(codex): preserve plugin binding on recheck failure
* docs(codex): clarify plugin harness scope
* fix(codex): return activation report state exhaustively
* test(codex): refresh prompt snapshots after rebase
* fix(codex): match namespaced plugin ids
2026-05-07 17:20:28 -07:00