Vincent Koc
d10d71cdb6
fix(codex): stabilize app-server cleanup tests
2026-06-01 13:15:05 +02:00
Peter Steinberger
8e28c773fe
chore(release): prepare 2026.6.1
2026-06-01 10:30:15 +01:00
Vincent Koc
f8e9ba3718
fix(codex): prevent aborted app-server turn handles
2026-06-01 10:12:36 +01:00
Vincent Koc
c429a3c472
fix(codex): skip stale bootstrap history without engine
2026-06-01 07:26:08 +01:00
Vincent Koc
9a7e0d43da
fix(codex): accept legacy app-server auth provider
2026-06-01 07:11:28 +01:00
Vincent Koc
f55ff8dd1b
fix(codex): skip stale bootstrap history without engine
2026-06-01 07:11:28 +01:00
Vincent Koc
91ca036717
test(agents): use neutral tool schema fixtures ( #88848 )
2026-05-31 22:09:48 -04:00
Peter Steinberger
fb64546d9e
fix: preserve no-policy native hook fallback
...
Keep selected no-policy Codex PreToolUse relay hooks installed with an explicit unavailable no-op marker, while unknown unavailable PreToolUse and PermissionRequest still fail closed.
Refs #87543 .
Replaces #88620 .
Verification:
- pnpm test extensions/codex/src/app-server/native-hook-relay.test.ts src/agents/harness/native-hook-relay.test.ts src/cli/native-hook-relay-cli.test.ts
- pnpm lint --threads=8
- autoreview --mode branch --base origin/main
- GitHub CI run 26729700996, Real behavior proof 26729874455, OpenGrep 26729701010, CodeQL high 26729701003
Co-authored-by: woodym-dotcom <266261448+woodym-dotcom@users.noreply.github.com >
2026-05-31 21:24:09 -04:00
Peter Steinberger
27dde7a4d6
chore(lint): enable stricter error rules
2026-06-01 01:12:21 +01:00
Feelw00
01193dea26
fix: make task persistence failures explicit
...
Preserve task and TaskFlow durability by persisting before in-memory registry mutation and surfacing explicit persistence failures instead of reporting fake success.
Adds non-throwing try-create runtime helpers while keeping existing throwing public create APIs compatible. Maintainer follow-up keeps task/TaskFlow sync repair bounded, prevents split task/delivery-state writes, and keeps CI green on the current base.
Thanks @Feelw00.
2026-06-01 00:12:28 +01:00
Vincent Koc
edc0a22179
fix(agents): quarantine tools before schema normalization
2026-05-31 23:33:03 +01:00
Peter Steinberger
22cb7fb6b7
chore(lint): enable no-promise-executor-return
2026-05-31 23:06:13 +01:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
Peter Steinberger
2df95c0b10
chore(lint): enable no-misused-promises
2026-05-31 20:42:13 +01:00
Peter Steinberger
b02c448585
docs(plugins): add npm readmes for channel providers
2026-05-31 20:02:45 +01:00
Peter Steinberger
3bac0bcbfb
fix(codex): stream final answer partials ( #88730 )
2026-05-31 19:00:44 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Peter Steinberger
d641126c1d
feat(plugin-sdk): add typed presentation command actions ( #88721 )
...
* feat(plugin-sdk): add typed presentation command actions
* test: use shared env helper in telegram bot tests
* test: expect typed approval actions
* test: expect typed sdk approval actions
2026-05-31 18:48:45 +01:00
Peter Steinberger
827ceb55d0
fix(codex): restore bounded recovery continuity
...
Restore bounded Codex native recovery continuity without replaying covered mirrored transcript history. Closes #88352 . Closes #88354 .
2026-05-31 15:55:32 +01:00
Peter Steinberger
4d69fc23d0
fix(codex): clear completed dynamic tool release blockers
2026-05-31 15:02:44 +01:00
Peter Steinberger
1e82263492
fix(codex): let async media coexist with terminal batches
2026-05-31 15:02:44 +01:00
Peter Steinberger
0d17623f00
chore: bump OpenClaw version to 2026.5.31
...
Bumps OpenClaw release metadata to 2026.5.31 across package manifests, app version files, plugin metadata, changelog headings, and generated shrinkwraps.
Verification:
- pnpm plugins:sync:check
- pnpm ios:version:check
- pnpm deps:shrinkwrap:check
- git diff --check
- stale 2026.5.30/build-code scan across changed files
- autoreview clean: no accepted/actionable findings
- PR CI green for real gates: Checks, security scans, dependency guard, app lanes, real behavior proof
Known non-code workflow issue:
- label workflow failed because this PR hits GitHub's 100-label issue cap before the size-label step.
2026-05-31 14:46:17 +01:00
Soham Patankar
400be62f76
feat(codex): add portable Codex command pickers ( #82224 )
...
Refactor Codex slash-command pickers so the Codex plugin owns the native command tree and returns portable presentation buttons for channels to render. Telegram now maps portable slash-command buttons to `tgcmd:` native callbacks while preserving approval callback shortening/bypass behavior, and the old Telegram-specific Codex callback menu path is gone.
Verification:
- `node scripts/run-vitest.mjs extensions/codex/src/command-plugins-management.test.ts extensions/codex/src/commands.test.ts extensions/telegram/src/button-types.test.ts`
- `node scripts/run-vitest.mjs extensions/telegram/src/bot.test.ts extensions/telegram/src/button-types.test.ts extensions/telegram/src/bot-native-commands.test.ts extensions/telegram/src/shared.test.ts`
- `node scripts/run-vitest.mjs run --config test/vitest/vitest.media-understanding.config.ts --reporter=verbose`
- `pnpm check:test-types`
- `pnpm tsgo:prod`
- `pnpm lint --threads=8`
- `git diff --check`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- CI `26714121462`
Co-authored-by: Soham Patankar <102520430+yaanfpv@users.noreply.github.com >
2026-05-31 14:45:10 +01:00
Soham Patankar
4f3d8a57dd
fix(codex): accept first-party OpenAI plugin marketplaces
...
Allow Codex native plugin config to target first-party OpenAI marketplaces, including openai-curated, openai-bundled, and openai-primary-runtime.
Fixes #82216 .
Thanks @yaanfpv for the contribution.
Verification:
- node scripts/run-vitest.mjs test/scripts/lint-suppressions.test.ts
- pnpm build:ci-artifacts
- OPENCLAW_VITEST_MAX_WORKERS=2 node scripts/run-vitest.mjs run --config test/vitest/vitest.full-core-support-boundary.config.ts test/scripts/lint-suppressions.test.ts
- node scripts/run-vitest.mjs extensions/codex/src/app-server/config.test.ts extensions/codex/src/app-server/plugin-activation.test.ts extensions/codex/src/app-server/session-binding.test.ts extensions/codex/src/migration/provider.test.ts extensions/sms/src/channel.test.ts extensions/sms/src/inbound.test.ts
- git diff --check
- ./.agents/skills/autoreview/scripts/autoreview --mode local
- GitHub PR CI on head 896640060b , including build-artifacts run 26709647050
2026-05-31 11:08:42 +01:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
48ccc50282
chore: update dependencies
2026-05-31 09:07:53 +01:00
Steven
b48c72cd19
fix(discord): deliver same-session channel replies
...
Deliver same-session channel replies directly while preserving stale-reply guards.
The fix bypasses the announce decider only when the requester and target are the same source channel, carries reply baselines into fire-and-forget follow-up delivery, and keeps history reads best-effort so timeout-zero sends still dispatch. It also includes focused regression coverage for delayed same-session replies, stale snapshots, retry timer caps, and the current strict-null/package-boundary blockers fixed while preparing the PR.
2026-05-31 08:52:01 +01:00
Peter Steinberger
59694e86d9
chore(lint): enable structured clone rules
2026-05-31 08:34:28 +01:00
Peter Steinberger
d4d7fdbc59
fix(ci): satisfy strict nullish guards
2026-05-31 02:50:24 -04:00
Peter Steinberger
deb7bc6539
chore(lint): enable readability lint rules
2026-05-31 07:17:57 +01:00
Peter Steinberger
0211a3aa9f
fix(ci): restore main validation
2026-05-31 02:13:10 -04:00
Peter Steinberger
23dac6c263
test: keep vitest cases under one second
2026-05-31 06:51:34 +01:00
Peter Steinberger
0c97922e23
fix(codex): bound synthesized hook start times
2026-05-31 01:37:46 -04:00
Peter Steinberger
3d0dc15904
fix(codex): bound native hook cleanup grace
2026-05-31 01:37:45 -04:00
Peter Steinberger
5e11c85c0a
fix(codex): clamp app-server timer config
2026-05-31 01:37:44 -04:00
Peter Steinberger
4135771adf
fix(codex): clamp app-server watch timers
2026-05-31 01:37:44 -04:00
Peter Steinberger
0530596eef
fix(codex): clamp turn collector timeout
2026-05-31 01:37:44 -04:00
Peter Steinberger
417022864b
fix(codex): clamp media turn timeout
2026-05-31 01:37:43 -04:00
Vincent Koc
26913e60a4
fix(codex): preserve public OpenAI app-server provider
2026-05-31 03:39:03 +02:00
Shakker
9a00d74044
fix: share skill workshop prompt with codex
2026-05-31 01:53:01 +01:00
Peter Steinberger
4c33aaa86c
refactor: unify OpenAI provider identity ( #88451 )
...
* refactor: unify OpenAI provider identity
* refactor: move legacy oauth sidecar doctor helpers
* test: align OpenAI fixtures after rebase
* test: clean OpenAI provider unification
* fix: finish OpenAI provider cleanup
* fix: finish OpenAI cleanup follow-through
* fix: finish OpenAI CI cleanup
2026-05-31 00:29:44 +01:00
Abner Shang
961691def2
fix(codex): keep app-server continuation turns alive
...
Keep Codex app-server continuation turns alive after post-tool, raw assistant, and progress notifications, and reschedule continuation idle watches when shorter progress timeouts apply.
Add regression coverage for the plugin-sdk child_process mock helper deadlock that blocked CI shards on this PR.
Co-authored-by: abnershang <abner.shang@gmail.com >
2026-05-30 20:41:04 +01:00
Peter Steinberger
5fde637ba8
fix(codex): bound app inventory cache expiry
2026-05-30 13:53:13 -04:00
Peter Steinberger
18e7d28b21
perf(gateway): reuse stable turn metadata
2026-05-30 17:30:47 +01:00
Peter Steinberger
ef88f0f949
perf(sessions): skip prompt hydration for metadata reads
2026-05-30 16:03:39 +01:00
Vincent Koc
5df00520cb
perf(extensions): cache provider runtime imports
2026-05-30 13:00:30 +02:00
Peter Steinberger
d92b3b5cc2
refactor: unify OpenAI provider identity
...
Refactor OpenAI provider identity so OpenAI remains the canonical provider for API-key and OAuth-backed flows while legacy openai-codex state is doctor/migration-only.
Keeps OpenAI Codex Responses as an API/transport class rather than a provider identity, moves auth aliases through providerAuthAliases, updates doctor repair sequencing for old auth/profile state, and refreshes tests/docs around the canonical OpenAI behavior.
2026-05-30 11:48:41 +02:00
Peter Steinberger
28eb4cfa12
fix(codex): ignore invalid history timestamps
2026-05-30 05:28:14 -04:00
Peter Steinberger
ff2a99b22e
fix(codex): ignore invalid rate limit reset dates
2026-05-30 05:10:50 -04:00
Vincent Koc
b13529767b
refactor: share inline image data URL sanitizer
2026-05-30 10:08:54 +02:00