Commit Graph

2475 Commits

Author SHA1 Message Date
Peter Steinberger 955b4df093 fix(ci): stabilize full release validation 2026-04-28 23:54:43 +01:00
Peter Steinberger 75df09b9ec perf(plugins): cache runtime mirror file decisions 2026-04-28 23:40:43 +01:00
pashpashpash 6ce1058296 Wire diagnostics through the core chat command (#72936)
* feat: wire codex diagnostics feedback

* fix: harden codex diagnostics hints

* fix: neutralize codex diagnostics output

* fix: tighten codex diagnostics safeguards

* fix: bound codex diagnostics feedback output

* fix: tighten codex diagnostics throttling

* fix: confirm codex diagnostics uploads

* docs: clarify codex diagnostics add-on

* fix: route diagnostics through core command

* fix: tighten diagnostics authorization

* fix: pin diagnostics to bundled codex command

* fix: limit owner status in plugin commands

* fix: scope diagnostics confirmations

* fix: scope codex diagnostics cooldowns

* fix: harden codex diagnostics ownership scopes

* fix: harden diagnostics command trust and display

* fix: keep diagnostics command trust internal

* fix: clarify diagnostics exec boundary

* fix: consume codex diagnostics confirmations atomically

* test: include codex diagnostics binding metadata

* test: use string codex binding timestamps

* fix: keep reserved command trust host-only

* fix: harden diagnostics trust and resume hints

* wire diagnostics through exec approval

* fix: keep diagnostics tests aligned with bundled root trust

* fix telegram diagnostics owner auth

* route trajectory exports through exec approval

* fix trajectory exec command encoding

* fix telegram group owner auth

* fix export trajectory approval hardening

* fix pairing command owner bootstrap

* fix telegram owner exec approvals

* fix: make diagnostics approval flow pasteable

* fix: route native sensitive command followups

* fix: invoke diagnostics exports with current cli

* fix: refresh exec approval protocol models

* fix: list codex diagnostics from thread bindings

* fix: fold codex diagnostics into exec approval

* fix: preserve diagnostics approval line breaks

* docs: clarify diagnostics codex workflow
2026-04-29 07:40:37 +09:00
Peter Steinberger baeba45be9 test: speed up tts contract shard 2026-04-28 23:28:10 +01:00
Peter Steinberger 7cefdd956a fix: unblock landing checks (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger 18990f4fea test: avoid bundled discovery in disabled plugin test (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger b8f071a139 fix: isolate bundled plugin test roots (#73235) (thanks @zqchris) 2026-04-28 21:06:49 +01:00
Peter Steinberger 3cad579c4e fix(plugin-sdk): restore discord compatibility facade 2026-04-28 20:59:26 +01:00
Peter Steinberger 0608c1015b perf(plugins): cache manifest metadata loads 2026-04-28 20:39:28 +01:00
Peter Steinberger 933c7968dc fix(ci): stabilize full release validation lanes 2026-04-28 20:36:42 +01:00
Peter Steinberger 5de06ac00e test: keep bundled root fixtures scoped 2026-04-28 20:28:45 +01:00
Vincent Koc df8611c420 test(loader): re-enable bundled fixtures 2026-04-28 12:24:28 -07:00
Vincent Koc b014462690 fix(test): trust bundled plugin fixtures explicitly 2026-04-28 12:24:28 -07:00
Peter Steinberger 9f37ff0c6c test: allow bundled root fixtures under vitest 2026-04-28 20:14:56 +01:00
Peter Steinberger 4a24b23e3e fix(ci): stabilize full release validation 2026-04-28 20:14:14 +01:00
Peter Steinberger f2f34e5f35 fix: restore ci gates on main 2026-04-28 19:54:52 +01:00
Shakker c0ec58f4b6 fix: preserve runtime kind install fallback 2026-04-28 18:04:54 +01:00
Shakker a48ffda7f7 chore: trace plugin lifecycle phases 2026-04-28 18:03:01 +01:00
Pavan Kumar Gondhi bdfb408ce6 fix(plugins): restrict bundled plugin dir resolution to trusted package roots (#73275)
* fix: address issue

* fix: address review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address codex review feedback

* fix: address codex review feedback

* fix: address codex review feedback

* fix: address PR review feedback

* fix: address review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address review feedback

* docs: add changelog entry for PR merge
2026-04-28 21:35:32 +05:30
Harry Xie 891c7d9f1c fix(active-memory): align recall timeout with hook runner
Fixes #72606.
2026-04-28 10:15:01 -05:00
Pavan Kumar Gondhi ccb3af556f fix(security): block npm_execpath injection from workspace .env [AI-assisted] (#73262)
* fix: address issue

* fix: finalize issue changes

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-28 18:11:16 +05:30
Alex Knight f155a5f955 Add cron changed plugin hook (#72773)
* feat: add cron changed plugin hook

* fix: improve cron_changed hook correctness and code quality

- Fix PluginHookGatewayCronDeliveryStatus: replace 'error' with 'unknown'
  to match internal CronDeliveryStatus enum
- Add job snapshot to CronEvent so removed events carry the deleted job
- Extract pickDefined helper, replace 14-field verbose spread mapping
- Add toPluginCronJob mapper for explicit internal→public type boundary
- Fix schedule union: use literal-only kind discriminants for TS narrowing
- Use loadConfig() (runtime) instead of params.cfg (startup) in hook ctx
- Use formatErrorMessage instead of String(err) for stack preservation
- Fix pre-existing getCron TS2322 with explicit cast (matches gateway_start)
- Re-export supporting types from hooks.ts for plugin consumers
- Add tests: removed events with job, finished with full fields, runtime cfg
2026-04-28 21:34:42 +10:00
Alex Knight e84ebeafbd fix(memory-core): retry dreaming cron startup reconciliation (#73493)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-04-28 21:15:23 +10:00
Vincent Koc d55c7ea997 fix(plugins): bound prompt memory recall latency 2026-04-28 03:46:18 -07:00
Peter Steinberger 5de284c2e3 fix(release): restore main release checks 2026-04-28 11:44:44 +01:00
Shakker 32c987626b fix: prune stale plugin runtime mirror entries 2026-04-28 11:25:09 +01:00
Shakker 92016b82ae fix: refresh plugin runtime mirrors in place 2026-04-28 11:25:09 +01:00
Shakker 7727e102a5 fix: scope plugin inspect runtime loading 2026-04-28 11:25:09 +01:00
Shakker 1bd4b7ac4d fix: keep plugin uninstall on metadata path 2026-04-28 11:25:09 +01:00
Gabriel Kripalani 17ef9ef895 feat(openrouter): add video generation provider (#72700)
Adds OpenRouter video generation via video_generate, with hardened async polling/download handling, docs, and regression coverage.

Validation:
- pnpm test src/plugins/plugin-lookup-table.test.ts src/secrets/target-registry.fast-path.test.ts src/gateway/server-startup-post-attach.test.ts extensions/openrouter/video-generation-provider.test.ts src/video-generation/live-test-helpers.test.ts src/media-generation/provider-capabilities.contract.test.ts src/agents/pi-embedded-helpers/failover-matches.test.ts src/plugins/manifest-metadata-scan.test.ts src/agents/openai-transport-stream.test.ts src/media-understanding/openai-compatible-audio.test.ts src/agents/schema-normalization-runtime-contract.test.ts src/agents/provider-request-config.test.ts src/plugin-sdk/provider-stream.test.ts src/agents/pi-embedded-runner/run/attempt.spawn-workspace.websocket.test.ts -- --reporter=verbose
- OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=0 OPENCLAW_LIVE_VIDEO_GENERATION_MODELS=openrouter/google/veo-3.1-fast pnpm test:live src/video-generation/video-generation.live.test.ts -- --runInBand

Co-authored-by: notamicrodose <gabrielkripalani@me.com>
2026-04-28 10:57:31 +01:00
Peter Steinberger 9207660c87 test: fix main ci shard routing 2026-04-28 10:48:27 +01:00
Vincent Koc 210cccb0fe fix(tasks): index async media tasks by agent 2026-04-28 02:43:17 -07:00
Vincent Koc 058b57867e fix(qwen): allow explicit qwen3.6-plus on Coding Plan (#72664) 2026-04-28 02:38:47 -07:00
Peter Steinberger b4ffef5c5f fix(plugins): prune inactive bundled runtime deps 2026-04-28 10:34:24 +01:00
Peter Steinberger 1346a31861 fix(plugins): keep manifestless bundles indexed 2026-04-28 10:34:01 +01:00
Peter Steinberger 249cb54373 fix: keep acp typing for tool-only replies 2026-04-28 09:58:18 +01:00
Peter Steinberger 67b16a4a6d fix: centralize source reply delivery mode 2026-04-28 09:14:19 +01:00
Peter Steinberger 725d557de6 fix(plugins): shorten runtime mirror lock hold 2026-04-28 09:10:37 +01:00
Peter Steinberger 1dd011984a fix: add pricing bootstrap opt-out and sdk compat exports 2026-04-28 08:35:11 +01:00
Ayaan Zaidi 6b6a049337 fix: collapse nested runtime deps cache roots (#73205) (thanks @SymbolStar) 2026-04-28 12:25:25 +05:30
SymbolStar dfaa06fe15 fix(bundled-runtime-deps): collapse nested cache pluginRoot to enclosing key
When a bundled plugin (e.g. plugin-sdk loaded transitively) is resolved via a
pluginRoot already inside the existing plugin-runtime-deps cache, its path
does not match the `dist/extensions/<plugin>` shape, so
resolveBundledPluginPackageRoot() returns null and the caller falls back to
the raw pluginRoot. resolveExistingExternalBundledRuntimeDepsRoots() then
rejected the path because the relative segment crossed a directory separator,
causing the resolver to mint a fresh `openclaw-unknown-<pathhash>` cache
beside the real versioned one. The two caches raced replaceNodeModulesDir()
and triggered ENOTEMPTY crash loops.

Treat any descendant of `<base>/openclaw-*` as belonging to that cache key
so nested resolutions return the existing versioned root instead of creating
a self-referential zombie cache.

Fixes #72956
2026-04-28 12:25:25 +05:30
scoootscooob 3c636208b0 fix(messages): keep group replies tool-only by default
Rewrites the always-on reply handling so group/channel rooms default to message-tool-visible output, while `messages.groupChat.visibleReplies: \"automatic\"` preserves legacy auto-posting.\n\nThanks @scoootscooob.
2026-04-28 07:36:43 +01:00
Peter Steinberger 84477e014d test(openai): align codex runtime fixture 2026-04-28 07:08:27 +01:00
Frank Yang e008830d0e fix(agents): clean up local Claude stdio runs (#73292)
Clean up local Claude stdio one-shot runs before returning from embedded `openclaw agent --local`, including bundle MCP loopback teardown for local process resources.

Keeps gateway-owned MCP loopback cleanup internal to the Gateway, documents the local-vs-gateway behavior, and aligns the stale OpenAI provider-runtime fixture with the current unsupported Codex mini route.
2026-04-28 07:06:01 +01:00
Peter Steinberger 9b556291e9 test(openai): split codex catalog fixtures 2026-04-28 07:04:22 +01:00
Peter Steinberger 870f7d1c0f test(openai): align codex mini contract 2026-04-28 06:56:29 +01:00
Peter Steinberger 9aa461747a fix(plugin-sdk): restore legacy root alias exports 2026-04-28 06:48:59 +01:00
Peter Steinberger 89079a32ef refactor(memory-host): narrow runtime adapters 2026-04-28 06:40:37 +01:00
Shakker d48c3e12a5 feat: gate legacy startup sidecar fallback 2026-04-28 06:31:55 +01:00
Peter Steinberger 583b419827 test(plugins): lock package boundary bridges 2026-04-28 06:30:44 +01:00