Kevin Lin
8954c03231
fix(codex): default plugin destructive actions on ( #80792 )
2026-05-11 16:50:15 -07:00
Peter Steinberger
309f000341
docs: format Codex harness options
2026-05-11 18:23:00 +01:00
Peter Steinberger
694f40fcee
fix: constrain Codex app-server sandbox
2026-05-11 18:23:00 +01:00
pandadev66
dfa1a11676
fix(gateway): fire typed session_end on shutdown/restart for active sessions ( #57790 )
...
`session_end` was only fired when a session was replaced, reset, deleted, or
compacted -- the gateway shutdown/restart paths closed the process without
enumerating active sessions, so downstream `session_end` plugins
(e.g. claude-mem) accumulated ghost rows in `active` state across restarts.
Issue reporter saw 11 orphaned sessions cause 63 timeouts/day from agent
pool exhaustion.
Add an in-memory active-session tracker
(`src/gateway/active-sessions-shutdown-tracker.ts`) populated by
`emitGatewaySessionStartPluginHook` and forgotten unconditionally by
`emitGatewaySessionEndPluginHook` (even when no plugin listens), so any
session that has already been finalized through the normal lifecycle is
never re-fired by the shutdown drain. The close handler then calls a new
`drainActiveSessionsForShutdown({ reason })` in `session-reset-service.ts`
between the `gateway:shutdown`/`gateway:pre-restart` lifecycle hooks and
the subsystem teardown steps; the drain races a bounded 2 s total timeout
so a slow plugin cannot block SIGTERM/SIGINT, surfacing the timeout as a
`session-end-drain` warning on the shutdown result.
Extend `PluginHookSessionEndReason` with `"shutdown"` and `"restart"` so
plugins can distinguish a graceful close from a planned restart; the close
handler picks `restart` when `restartExpectedMs` is set and `shutdown`
otherwise. Update `emitGatewaySessionStartPluginHook` to also accept
`storePath`, `sessionFile`, and `agentId` so the shutdown drain can build
the same `session_end` payload shape the normal lifecycle path emits, and
update the existing call sites in `session-reset-service.ts` and
`server-methods/sessions.ts` to pass those fields through.
Tests:
- `src/gateway/active-sessions-shutdown-tracker.test.ts` (new) -- tracker
insert/forget/clear semantics, idempotent re-noting, empty-id guard,
snapshot isolation.
- `src/gateway/drain-active-sessions-for-shutdown.test.ts` (new) -- drain
fires `session_end` with the right reason for every tracked session,
skips sessions already finalized via reset/delete/compaction, and still
forgets sessions even when no `session_end` plugin is registered.
- `src/gateway/server-close.test.ts` -- four new cases covering the
shutdown/restart drain wiring, the bounded timeout warning, and the
drain-skipped-when-no-helper case.
Docs:
- `docs/plugins/hooks.md` documents the new `shutdown`/`restart` values
on `PluginHookSessionEndReason`.
- `docs/automation/hooks.md` documents the post-`gateway:shutdown`
`session_end` drain step and its bounded execution guarantee.
Fixes #57790 .
2026-05-11 17:28:23 +01:00
VACInc
a28bf10ce2
fix(codex): observe native tool completions
2026-05-11 14:23:46 +01:00
pashpashpash
cc95d4dd28
fix(codex): rotate auth profiles inside harness
2026-05-11 12:41:21 +01:00
pashpashpash
517566e39a
fix(auth): accept friendly OpenAI order for Codex profiles
2026-05-11 12:41:21 +01: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
Peter Steinberger
15cf49222f
build: refresh deps and route testbox through crabbox
2026-05-11 03:41:00 +01:00
Peter Steinberger
f7a07d300a
docs(plugin-sdk): document consolidated workflow seams
2026-05-11 03:24:08 +01:00
pashpashpash
0e8a7e12da
Enable Codex native code mode for OpenClaw harness runs ( #80001 )
...
* fix(codex): enable native code mode in harness
* test(codex): update code mode prompt snapshots
* test(codex): align code mode thread config expectations
* chore(protocol): refresh generated Swift agent params
* fix(codex): enable code-mode-only harness threads
* test(discord): fix test mock type assertions
* test: fix remaining test type assertions
* test(matrix): guard avatar loader test callback
2026-05-11 08:18:03 +09:00
Peter Steinberger
525767c726
feat: expose active model plugin context
2026-05-10 15:21:43 +01:00
Peter Steinberger
4f32a32ed6
refactor: move rare sdk seams into owners
2026-05-10 12:37:10 +01:00
Peter Steinberger
6e14ef60cf
docs: deprecate rare plugin sdk seams
2026-05-10 12:37:10 +01:00
Peter Steinberger
827b0de0ce
refactor: reduce plugin sdk surface
2026-05-10 12:37:10 +01:00
Peter Steinberger
5821a4033c
fix(codex): deliver native image outputs
...
Co-authored-by: Kelaw - Keshav's Agent <keshavbotagent@gmail.com >
2026-05-10 04:06:12 -04:00
Peter Steinberger
f43dc9aa61
fix(mcp): keep numeric bundle tool names provider-safe
2026-05-10 06:29:08 +01:00
Peter Steinberger
e65017b0f9
docs(plugins): add clickclack reference
2026-05-10 06:13:38 +01:00
Peter Steinberger
9243b575ed
chore(release): prepare 2026.5.10-beta.1
2026-05-10 06:13:38 +01:00
Kevin Lin
b79de62b3c
fix(codex): remove dynamic tools profile option
2026-05-09 21:34:33 -07:00
Peter Steinberger
a0fb7fb045
refactor: centralize channel ingress access
2026-05-10 00:18:36 -04:00
Kevin Lin
ce0584af89
docs: reorganize Codex harness docs ( #80029 )
...
* docs: reorganize codex harness docs
* docs: address codex harness review findings
* docs: move codex references to reference nav
* docs: add codex topic configuration section
2026-05-09 19:02:50 -07:00
Peter Steinberger
38fe4d36c6
fix(discord): suppress stale realtime consults
2026-05-10 02:23:25 +01:00
Radek Sienkiewicz
59326c8e3b
fix(slack): wake interactive reply sessions ( #79836 )
...
Merged via squash.
Prepared head SHA: 2bc9182d0f
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-05-09 20:31:40 +02:00
Peter Steinberger
8e0486c6b7
fix: honor Codex dynamic tool timeouts
2026-05-09 14:45:38 +01:00
VACInc
cfb0c34ff6
feat: add realtime consult overrides
2026-05-09 06:51:20 -04:00
Peter Steinberger
d80f20057e
fix: align realtime voice consult tool flow
2026-05-09 11:33:56 +01:00
Peter Steinberger
1f4f51e8e2
feat: add plugin install overrides
2026-05-09 06:06:08 -04:00
Peter Steinberger
4883a0e6c4
chore: update workspace dependencies
2026-05-09 10:58:36 +01:00
Peter Steinberger
0071f67fe6
feat(plugin-sdk): share presentation control helpers
2026-05-09 10:11:56 +01:00
Peter Steinberger
e4bae42d63
feat(plugin-sdk): derive tool target paths for hooks
...
Summary:
- derive apply_patch target paths for before_tool_call and trusted policy events
- route native Codex PreToolUse cwd/sandbox path facts through the host parser
- document the additive derivedPaths hook field and refresh the SDK API baseline
Verification:
- pnpm test src/agents/apply-patch-paths.test.ts src/plugins/host-tool-param-parsers.test.ts src/agents/pi-tools.before-tool-call.e2e.test.ts src/agents/harness/native-hook-relay.test.ts src/plugins/contracts/host-hooks.contract.test.ts
- pnpm check:test-types
- pnpm lint:core
- pnpm plugin-sdk:api:gen
- pnpm plugin-sdk:api:check
- pnpm run check:no-conflict-markers
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/plugins/hooks.md docs/.generated/plugin-sdk-api-baseline.sha256 src/agents/apply-patch-paths.test.ts src/agents/apply-patch-paths.ts src/agents/harness/native-hook-relay.test.ts src/agents/harness/native-hook-relay.ts src/agents/pi-tools.before-tool-call.e2e.test.ts src/agents/pi-tools.before-tool-call.ts src/agents/pi-tools.ts src/auto-reply/reply/dispatch-from-config.test.ts src/plugins/contracts/host-hooks.contract.test.ts src/plugins/hook-types.ts src/plugins/host-tool-param-parsers.test.ts src/plugins/host-tool-param-parsers.ts src/plugins/trusted-tool-policy.ts
- git diff --check origin/main...HEAD && git diff --check
- pnpm build
Co-authored-by: Eva <eva@100yen.org >
Co-authored-by: Josh Lehman <josh@martian.engineering >
2026-05-09 03:31:42 -04:00
Peter Steinberger
9385eaaf88
chore(release): prepare 2026.5.8
2026-05-09 08:05:17 +01:00
Peter Steinberger
311e4608d1
feat: unify model catalog registration
2026-05-09 02:34:56 -04:00
Peter Steinberger
a4b17d65a8
refactor: consolidate message delivery API
2026-05-09 07:04:04 +01:00
Peter Steinberger
58a80d3d93
docs(oc-path): expand usage examples
2026-05-09 01:48:35 -04:00
Peter Steinberger
696540f63a
docs(oc-path): explain why path addressing helps
2026-05-09 01:48:35 -04:00
Peter Steinberger
52a319047e
docs(oc-path): add bundled plugin overview and per-kind CLI recipes
2026-05-09 01:48:35 -04:00
Peter Steinberger
b34cf2f1a2
fix: externalize matrix plugin
2026-05-09 06:38:29 +01:00
Kevin Lin
a7bfa44c35
docs: document codex harness model availability ( #79582 )
2026-05-08 18:10:15 -07:00
Vincent Koc
3ba2ce6694
fix(plugins): avoid managed npm prefix on Windows
...
Fixes #78514 .
2026-05-09 07:51:49 +08:00
pashpashpash
02fe0d8978
Keep OpenAI Codex migrations on automatic runtime routing ( #79238 )
...
* fix: keep migrated openai codex routes automatic
* scope runtime policy to providers and models
* fix runtime policy surfaces
* fix ci runtime policy checks
* fix doctor stale session runtime pins
2026-05-08 16:05:35 +09:00
Kevin Lin
f62618f805
fix: respect Codex requirements for app-server defaults ( #79151 )
...
* fix(codex): honor requirements for app-server defaults
* test(codex): harden requirements policy coverage
* fix(codex): match requirements sandbox constraints
* fix(codex): honor approval requirements in defaults
* fix(codex): honor reviewer requirements in defaults
* fix(codex): honor remote sandbox requirements
2026-05-07 21:16:08 -07:00
pashpashpash
fb106fb9ae
fix codex harness service tiers ( #79152 )
2026-05-08 12:10:41 +09:00
Daev Mithran
9e1e59717f
feat(plugin-sdk): add LLM completion API to plugin ( #64294 )
2026-05-07 19:27:48 -07:00
Patrick Erichsen
10f9a758b6
docs: add dedicated ClawHub docs tab ( #79159 )
...
* docs: add clawhub docs tab
* fix: satisfy docs sync lint
* docs: prune internal clawhub nav pages
* docs: include ClawHub publishing page in nav
* docs: use clawhub how-it-works route
2026-05-07 18:55:08 -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
pashpashpash
3f217964d1
Defer Codex dynamic tools behind search
...
Defer OpenClaw Codex dynamic tools behind Codex tool_search, keep required turn-control tools direct, pin the managed Codex harness to 0.129.0-alpha.15, and document the real behavior/token impact from the live dev-agent watch.
2026-05-07 16:40:37 -07:00
Peter Steinberger
6a4069dead
fix: share plugin runtime helpers
...
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Vincent Koc
07bf572f35
chore(channels): delete bluebubbles plugin package
2026-05-07 12:53:00 -07:00
Vincent Koc
c97998ce21
chore(channels): remove bluebubbles bundled surface
2026-05-07 12:52:48 -07:00