Commit Graph

34399 Commits

Author SHA1 Message Date
Peter Steinberger
5b1bd58bd0 test: make bundled channel docker lane resumable v2026.4.23-beta.4 2026-04-24 08:58:29 +01:00
Peter Steinberger
c27a9073f4 fix(plugins): mirror SDK alias for staged sidecars 2026-04-24 08:30:03 +01:00
Peter Steinberger
ad08170196 test: harden Docker E2E readiness 2026-04-24 07:40:17 +01:00
Peter Steinberger
c858346b63 fix: pass Gemini trust flag 2026-04-24 07:19:47 +01:00
Peter Steinberger
933d6e2c27 fix: adapt models registry fallback to release branch 2026-04-24 06:47:24 +01:00
Peter Steinberger
72f831a05f fix: restore models list registry fallback 2026-04-24 06:45:53 +01:00
Peter Steinberger
18664077b0 fix(channels): defer setup runtime deps until login 2026-04-24 06:41:31 +01:00
Peter Steinberger
6601eef58b test(channels): cover staged setup entry dependency loading 2026-04-24 06:15:30 +01:00
Peter Steinberger
b642d7343a fix(channels): keep bundled setup entries dependency-light 2026-04-24 06:15:29 +01:00
Peter Steinberger
006e07e64a chore: bump release beta to 2026.4.23-beta.4 2026-04-24 06:13:17 +01:00
Peter Steinberger
c6eef47924 test: repair live release backports 2026-04-24 06:12:52 +01:00
Peter Steinberger
bc9a53e533 test: stabilize gateway test helpers 2026-04-24 06:05:13 +01:00
Peter Steinberger
eb61c106ad test(gateway): harden codex live harness 2026-04-24 06:05:13 +01:00
Peter Steinberger
ffd9146f1c test: harden live docker lanes 2026-04-24 06:04:49 +01:00
Peter Steinberger
c9e09dafc6 test: default live model concurrency 2026-04-24 06:04:32 +01:00
Peter Steinberger
98d3b480c7 test: stabilize live model sweeps 2026-04-24 06:04:06 +01:00
Peter Steinberger
9f731f49ea ci(release): tolerate plugin logs before agent json 2026-04-24 05:58:41 +01:00
Peter Steinberger
493306fa58 ci(release): parse agent final text in cross-os checks 2026-04-24 05:46:56 +01:00
Peter Steinberger
d4a92cff60 fix(plugins): avoid plugin sdk alias rewrite races v2026.4.23-beta.3 2026-04-24 04:38:32 +01:00
Peter Steinberger
c41c212591 fix: disable bundled plugins during Parallels update 2026-04-24 04:29:44 +01:00
Peter Steinberger
6926494f71 fix: scrub future plugin entries in Parallels update smoke 2026-04-24 04:29:44 +01:00
Peter Steinberger
6f948d925e ci(release): configure shared docker e2e builder 2026-04-24 04:22:01 +01:00
Peter Steinberger
0e2bd4b3ee docs(release): clarify beta number reuse v2026.4.23-beta.2 2026-04-24 03:34:46 +01:00
Peter Steinberger
8c2235e873 fix(plugins): mirror sdk alias for external bundled deps 2026-04-24 03:33:42 +01:00
Peter Steinberger
99354fc1c9 fix(plugins): clean bundled runtime install stage 2026-04-24 03:33:42 +01:00
simonemacario
080ac622c1 fix(plugins): stage bundled-plugin runtime-dep install outside the plugin root
When a packaged bundled plugin's `pluginRoot` is used directly as the npm
execution cwd, `npm install <specs>` resolves the plugin's own
`package.json` as the project manifest and fails with
`EUNSUPPORTEDPROTOCOL: Unsupported URL Type "workspace:": workspace:*`
whenever that manifest declares a `workspace:` runtime dep (e.g.
`"@openclaw/plugin-sdk": "workspace:*"`). This takes out every plugin
with any runtime deps at gateway startup.

`ensureBundledPluginRuntimeDeps` already filters `workspace:` specs from
the CLI arguments, but npm's own resolver reads the cwd manifest
regardless, so the filter alone is not enough. The existing isolated
execution-root + `replaceNodeModulesDir` machinery handles this exact
problem for source-checkout + cache-hit installs. This change activates
the same staging path for the packaged case: when `installRoot ===
pluginRoot` and we are not in the source-checkout cache path, stage the
install inside `<pluginRoot>/.openclaw-install-stage` (which has a
minimal generated `package.json`) and move the produced `node_modules/`
back to the plugin root as before.

- Add regression test `stages plugin-root install when the plugin's own
  package.json declares workspace:* deps` covering the Docker scenario
  (mixed `workspace:*` + concrete runtime dep, e.g. anthropic-style
  `@openclaw/plugin-sdk` + `@anthropic-ai/sdk`).
- Update existing plugin-root-install expectations (`installs
  plugin-local runtime deps when one is missing`, `skips workspace-only
  runtime deps before npm install`, `installs deps that are only present
  in the package root`, `does not trust runtime deps that only resolve
  from the package root`, `does not treat sibling extension runtime deps
  as satisfying a plugin`) to assert the new `installExecutionRoot`.

Reported in #70844; same root cause as #70701, #70756, #70773, #70818,
#70839 which see the downstream "Cannot find package 'openclaw' from
plugin-runtime-deps" symptom because their
`resolveBundledRuntimeDependencyInstallRoot` resolves to an external
stage dir (clean manifest) so the install succeeds but the resulting
node_modules tree cannot satisfy the filtered-out workspace packages at
ESM import time.

## AI assistance

This PR was AI-assisted with Claude Code.

Testing degree: fully tested for the touched `bundled-runtime-deps`
install staging surface.

- `pnpm exec vitest run --config test/vitest/vitest.plugins.config.ts src/plugins/bundled-runtime-deps.test.ts` (31/31)
- `pnpm exec vitest run --config test/vitest/vitest.plugins.config.ts src/plugins/` (43/43 across 8 files)
- `pnpm exec tsgo --noEmit -p tsconfig.core.json`, `pnpm exec tsgo --noEmit -p tsconfig.core.test.json` (clean)
- `pnpm exec oxlint src/plugins/bundled-runtime-deps.ts src/plugins/bundled-runtime-deps.test.ts` (0 warnings, 0 errors)
- `node scripts/check-src-extension-import-boundary.mjs --json` and `node scripts/check-sdk-package-extension-import-boundary.mjs --json` (both `[]`)

I understand the code path changed here: packaged bundled plugins now
stage their runtime-dep install one directory below `pluginRoot` so npm
never reads the plugin's `workspace:*`-containing manifest during
install; after install completes, the produced `node_modules/` is moved
back to `pluginRoot` via the existing `replaceNodeModulesDir` helper.

Signed-off-by: Simone Macario <simone@sharly.ai>
2026-04-24 03:33:42 +01:00
Peter Steinberger
ef36ca9517 docs(changelog): credit bundled runtime deps fix 2026-04-24 03:31:41 +01:00
Peter Steinberger
c5620ddf9e fix(release): preserve plugin-local runtime deps in postpublish verify 2026-04-24 03:27:35 +01:00
Peter Steinberger
5ab5dc3900 fix(release): harden packed runtime smoke v2026.4.23-beta.1 2026-04-24 02:31:57 +01:00
Peter Steinberger
18c2531d16 chore(release): refresh plugin sdk api baseline 2026-04-24 02:12:38 +01:00
Peter Steinberger
fefc4b3d4e chore(release): refresh config docs baseline 2026-04-24 02:11:08 +01:00
Peter Steinberger
8da230a1b3 chore(release): refresh bundled channel metadata 2026-04-24 02:09:57 +01:00
Peter Steinberger
dc1ce0b2b1 docs(release): clarify beta validation flow 2026-04-24 01:59:49 +01:00
Peter Steinberger
e776922a15 chore(release): prepare 2026.4.23 beta 1 2026-04-24 01:56:25 +01:00
Peter Steinberger
93e95a2057 perf: speed up cli prepare tests 2026-04-24 01:55:02 +01:00
Peter Steinberger
b164bb3717 refactor: centralize realtime voice resolution 2026-04-24 01:50:43 +01:00
Peter Steinberger
57e139100b refactor: share realtime voice bridge sessions 2026-04-24 01:50:43 +01:00
Peter Steinberger
958afeb397 refactor: share provider selection runtime helper 2026-04-24 01:50:43 +01:00
Peter Steinberger
3caaba79bc ci: keep installer smoke dependencies installed 2026-04-24 01:50:43 +01:00
Peter Steinberger
d1ea58fdbf ci: limit bun install smoke to release gates 2026-04-24 01:50:42 +01:00
Peter Steinberger
3a2f0e7a1a ci: split install smoke fast path 2026-04-24 01:50:42 +01:00
Peter Steinberger
4ca5ef694f test: restore split docs CI parity 2026-04-24 01:50:42 +01:00
Peter Steinberger
8e87768419 ci: run telegram extension-fast with forks 2026-04-24 01:50:42 +01:00
Peter Steinberger
b22bf36bc4 ci: throttle telegram extension-fast tests 2026-04-24 01:50:42 +01:00
Peter Steinberger
7c19c31144 feat: support DTMF for voice-call 2026-04-24 01:50:42 +01:00
Peter Steinberger
79066f5cab fix(openai): synthesize codex gpt-5.5 oauth model 2026-04-24 01:49:00 +01:00
Peter Steinberger
cec3482175 fix: support codex app-server image understanding 2026-04-24 01:43:30 +01:00
Peter Steinberger
df58839a59 perf: fold slack http route test 2026-04-24 01:43:04 +01:00
Peter Steinberger
382952a9e1 docs: mark auto-response non-blocking 2026-04-24 01:42:14 +01:00
Gabriel Kripalani
0f026addaa feat: add OpenRouter image generation (#67668)
Adds OpenRouter image generation support for image_generate. Fixes #55066. Thanks @notamicrodose.
2026-04-24 01:39:19 +01:00