Peter Steinberger
16e5d2ad12
fix: keep codex oauth redirect host aligned
2026-05-27 10:41:43 +01:00
Peter Steinberger
49eac0215b
fix: keep codex oauth callback alive during fallback
2026-05-27 10:41:19 +01:00
Peter Steinberger
4611ec430a
fix: align codex oauth callback host
2026-05-27 10:41:19 +01:00
Peter Steinberger
ebc4fb2f51
fix: await codex oauth node runtime imports
2026-05-27 10:41:18 +01:00
Peter Steinberger
719210ba0c
fix: decode codex jwt payloads as base64url
2026-05-27 10:41:18 +01:00
Peter Steinberger
9a7dead795
chore: drop generated google boundary stamps
2026-05-27 10:41:18 +01:00
Peter Steinberger
647148156c
refactor: narrow llm plugin sdk boundary
2026-05-27 10:41:18 +01:00
Peter Steinberger
fe3b564b2f
test: remove codex diagnostic completion race
2026-05-27 10:41:17 +01:00
Peter Steinberger
2d55b45878
test: isolate codex diagnostic active run
2026-05-27 10:41:17 +01:00
Peter Steinberger
fd4651c921
fix: stabilize codex app-server hook tests
2026-05-27 10:41:17 +01:00
Peter Steinberger
37a4a6dbb3
fix: keep codex compaction native
2026-05-27 10:41:17 +01:00
Peter Steinberger
c844d01375
fix: stabilize release validation gates
2026-05-27 10:41:00 +01:00
Peter Steinberger
845f4a2a55
test: update plugin prerelease expectations
2026-05-27 10:41:00 +01:00
Peter Steinberger
957af7bc84
fix: restore release ci after rebase
2026-05-27 10:40:59 +01:00
Peter Steinberger
bdb33c1850
fix: restore release ci checks
2026-05-27 10:40:58 +01:00
Peter Steinberger
9d74254501
fix: clean up post-rebase runtime drift
2026-05-27 10:40:58 +01:00
Peter Steinberger
2c7021d76e
fix: restore shared tool-call stream wrapper
2026-05-27 10:40:57 +01:00
Peter Steinberger
3964620cd4
fix: stabilize release validation regressions
2026-05-27 10:40:56 +01:00
Peter Steinberger
f6a7512ce6
fix: load lightweight provider catalog entries
2026-05-27 10:40:55 +01:00
Peter Steinberger
6c1c1d3bf8
fix: add provider entry catalogs for scoped live discovery
2026-05-27 10:40:55 +01:00
Peter Steinberger
06216e98a7
fix: run static provider catalogs during scoped discovery
2026-05-27 10:40:55 +01:00
Peter Steinberger
15582cfe21
fix: restore provider-scoped release discovery
2026-05-27 10:40:55 +01:00
Peter Steinberger
59a2721e6e
refactor: inline acpx proxy error formatter
2026-05-27 10:40:55 +01:00
Peter Steinberger
65118c86ea
refactor: remove legacy provider compat paths
2026-05-27 10:40:54 +01:00
Peter Steinberger
e88dd9b0d0
refactor: remove static model and pi auth paths
...
Drop static model catalogs and Pi auth bridges, move model/provider facts to manifest-owned runtime contracts, and harden internal embedded-agent utilities.
2026-05-27 10:40:53 +01:00
Peter Steinberger
d927fdca8f
refactor: tighten agent session runtime
...
Make agent-core/runtime dependencies explicit, consolidate compaction and session transcript helpers, and move model/session helpers behind OpenClaw-owned contracts.
2026-05-27 10:40:39 +01:00
Peter Steinberger
85f3e9e988
refactor: extract shared llm runtime
...
Move provider model registries, stream wrappers, OAuth helpers, and LLM utilities into src/llm with plugin-sdk barrels instead of depending on the old embedded runtime layout.
2026-05-27 10:40:15 +01:00
Cathryn Lavery
730ac1a68d
fix(agents/harness): validate forced plugin harness support before pinning ( #74341 )
...
Validates forced plugin harness support for the requested provider/model before pinning Codex or any other plugin harness. This prevents an explicitly forced Codex runtime from accepting unsupported OpenAI-like providers through a hardcoded bypass while preserving implicit PI fallback and CLI runtime alias passthrough.
Regression coverage covers forced Codex rejection for unsupported openai/openai-codex support, Codex provider support declarations, CLI attempt routing, pi-embedded auth/profile forwarding fakes, Testbox scenario probes, and live Docker Codex plugin E2E.
Thanks @cathrynlavery.
2026-05-27 09:59:04 +01:00
Peter Steinberger
98c0ad8b42
test: align extension inbound context assertions
2026-05-27 04:52:02 -04:00
Peter Steinberger
1507a9701b
refactor: centralize inbound supplemental context
...
* refactor: centralize inbound supplemental context
* refactor: trim supplemental finalizer typing
* docs: clarify supplemental context projection
* refactor: move inbound finalization into core
* refactor: simplify channel inbound facts
* refactor: fold supplemental media into inbound finalizer
* refactor: migrate channel inbound callers to builder
* docs: mark inbound finalizer compat types deprecated
* refactor: wire runtime turn context builder
* refactor: replace channel turn runtime API
* fix: respect discord quote visibility
* fix: avoid deprecated line dispatch helper
* refactor: deprecate channel message SDK seams
* docs: trim channel outbound SDK page
* test: migrate irc inbound assertion
* refactor: deprecate outbound SDK facades
* refactor: deprecate channel helper SDK facades
* refactor: deprecate channel streaming SDK facade
* refactor: move direct dm helpers into inbound SDK
* chore: mark legacy test-utils SDK alias deprecated
* refactor: remove unused allow-from read helper
* refactor: route remaining channel dispatch through core
* refactor: enforce modern extension SDK imports
* test: give slow image root tests more time
* ci: support node fallback on windows
* fix: add transcripts tool display metadata
* refactor: trim legacy channel test seams
* fix: preserve channel compat after rebase
* fix: keep deprecated channel inbound aliases
* fix: preserve discord thread context visibility
* fix: clean final rebase conflicts
* fix: preserve channel message dispatch aliases
* fix: sync channel refactor after rebase
* fix: sync channel refactor after latest main
* fix: dedupe memory-core subagent mock
* test: align clickclack inbound dispatch assertions
* fix: sync plugin sdk api hash after rebase
* fix: sync channel refactor after latest main
* fix: sync plugin sdk api hash after rebase
* fix: sync plugin sdk api hash after latest main
* test: remove stale inbound context awaits
2026-05-27 09:26:06 +01:00
Vincent Koc
cefa6777e2
fix(qa): keep fallback delivery on latest targets
2026-05-27 10:06:09 +02:00
Vincent Koc
35248be6b0
fix(qa): isolate mock bridge hook state
2026-05-27 10:06:08 +02:00
Vincent Koc
c2d059dc29
fix(qa): scope mock image prompts to latest turn
2026-05-27 10:06:08 +02:00
Vincent Koc
14198a1c66
fix(qa): close remaining mock qa e2e regressions
2026-05-27 10:06:08 +02:00
Vincent Koc
81c1892c9a
fix(qa): stabilize mock QA scenario contracts
2026-05-27 10:06:08 +02:00
Vincent Koc
ca990f2ce1
fix(codex): keep attempt watchdog for queued terminal turns
...
Keep the Codex app-server full attempt watchdog armed after a terminal turn notification is queued, so a wedged notification projector cannot leave a run stuck indefinitely.
Proof:
- `git diff --check origin/main...HEAD`
- `node scripts/run-oxlint.mjs extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts`
- `node scripts/run-vitest.mjs run extensions/codex/src/app-server/run-attempt.test.ts --testNamePattern "keeps the attempt watchdog armed"` passed in PR proof (`1 passed | 232 skipped`)
- `OPENCLAW_TESTBOX=1 pnpm check:changed` passed in `tbx_01kskyg44ej461k574jee8ffjc`
- CI required checks green after `build-artifacts` rerun job `78031279635` passed
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-05-27 08:50:59 +01:00
Agustin Rivera
08a73dbe4b
fix(qqbot): gate fallback approval buttons ( #87154 )
...
QQBot fallback approval buttons now reuse the same slash-command authorization path as real commands, including access groups and default-account config merging.
Verification:
- node scripts/test-extension.mjs qqbot
- node --max-old-space-size=8192 --import tsx scripts/generate-plugin-sdk-api-baseline.ts --check && git diff --check
- pnpm lint --threads=8
- node scripts/run-vitest.mjs src/agents/agent-command.live-model-switch.test.ts
- GitHub PR checks for 7cc0f15031 : passed
Thanks @eleqtrizit.
Co-authored-by: Agustin Rivera <agustin@rivera-web.com >
2026-05-27 08:44:55 +01:00
Peter Steinberger
e718d471f2
test(codex): mirror raw reasoning event order
2026-05-27 08:29:18 +01:00
Peter Steinberger
4314eadc79
fix(codex): keep raw assistant release path intact
2026-05-27 08:29:18 +01:00
Peter Steinberger
284098d2d8
fix(codex): preserve raw reasoning source-reply guard
2026-05-27 08:29:18 +01:00
Username
4d6bcf9f17
test(codex): verify completion idle watch arms after non-assistant rawResponseItem/completed
...
Regression test for the binary stall fix: when rawResponseItem/completed
arrives with a non-assistant type (e.g. "reasoning") and all tracked
items have completed, the completion idle watch must stay armed so the
stall is caught in 60s, not 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Username
a36c82ba8b
fix(codex): arm completion idle watch after rawResponseItem/completed with no active items
...
When the codex binary emits rawResponseItem/completed and all tracked
items have completed (activeTurnItemIds empty, no active requests), the
binary should deliver turn/completed imminently. Previously, a
rawResponseItem/completed that didn't qualify as a post-tool assistant
completion would actively disarm the completion idle watch, leaving only
the 30-minute terminal timeout to catch a stalled binary. This caused
turns to hang for up to 30 minutes when the OpenAI Responses API fails
to deliver response.completed to the binary.
Now, rawResponseItem/completed with no active items arms the 60s
completion idle watch and is excluded from the disarm path, so stalled
binaries are detected in 60s instead of 30 minutes.
Refs openclaw/openclaw#87071
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-27 08:29:18 +01:00
Peter Steinberger
9ed1b02134
fix(discord): harden requester checks for guild actions
2026-05-27 08:22:25 +01:00
Javier Ailbirt
da822dd28b
fix(googlechat): suppress thread sends in DMs
...
Guard Google Chat DM delivery so direct-space messages that include thread metadata do not request threaded sends. The monitor now derives one group-only reply thread and reuses it for both turn reply context and typing indicator messages.
Adds regression coverage for a DM event carrying `message.thread.name`, proving reply metadata and typing sends omit the thread while the turn still runs.
Verification:
- `node scripts/run-vitest.mjs extensions/googlechat/src/monitor.test.ts`
- `pnpm check:changed` (Blacksmith Testbox `tbx_01ksm18yck1zy35k0adgf66hax`, run https://github.com/openclaw/openclaw/actions/runs/26494371192 )
- `/Users/steipete/Projects/agent-scripts/skills/autoreview/scripts/autoreview --mode local`
- PR CI run https://github.com/openclaw/openclaw/actions/runs/26494573295
- Critical Quality run https://github.com/openclaw/openclaw/actions/runs/26494573221
- Real behavior proof override run https://github.com/openclaw/openclaw/actions/runs/26494609491
Co-authored-by: Javier Ailbirt <jailbirt@theeye.io >
2026-05-27 07:28:09 +01:00
Pablo Guardiola
0c867eef75
feat: expose plugin approval action metadata
...
Expose plugin approval action metadata so plugins can describe richer approval actions across gateway, SDK, channel, and UI surfaces.
2026-05-26 22:46:09 -07:00
Peter Steinberger
b9f6abf5e8
fix: bind plugin command llm auth to host agent
2026-05-27 06:38:35 +01:00
Agustin Rivera
119d2359f3
fix(memory): reject prompt-like memory stores ( #87142 )
...
* fix(memory): reject prompt-like memory stores
* fix(changelog): mention memory store rejection
2026-05-26 21:37:29 -07:00
Agustin Rivera
e72621e566
fix(hooks): enforce default hook agent allowlist
...
Enforce hook allowedAgentIds against the effective default agent when hook payloads omit or blank agentId, while preserving omitted-agent dispatch semantics for default/global routing.
Also updates the affected generated hook config docs from the contributor change and fixes the current-main memory-core test mock after rebasing the PR branch.
Verification:
- pnpm format:check extensions/memory-core/src/dreaming.test.ts src/gateway/hooks.ts src/gateway/hooks.test.ts src/gateway/server/hooks-request-handler.ts src/gateway/server.hooks.test.ts && git diff --check
- node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway-server.config.ts src/gateway/hooks.test.ts src/gateway/server.hooks.test.ts --reporter=dot --pool=forks --no-file-parallelism --testTimeout=120000
- node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test-local-pr87124.tsbuildinfo
- pnpm check:test-types
- .agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main
- GitHub PR merge state CLEAN; CodeQL Critical Quality rerun succeeded after first runner checkout wedged
Co-authored-by: Agustin Rivera <agustin@rivera-web.com >
2026-05-27 05:05:18 +01:00
Steady-ai
eb8f9b46da
fix(codex): avoid native compaction on budget triggers ( #86772 )
...
* fix(codex): avoid native compaction on budget triggers
* fix(codex): require manual trigger for native compaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 05:04:35 +01:00
Peter Steinberger
d2711c900d
perf(gateway): reuse prepared auth stores
2026-05-27 04:51:43 +01:00