Commit graph

3411 commits

Author SHA1 Message Date
Peter Steinberger
49e9382cc0
fix(configure): unify OpenAI auth provider picker (#82324) 2026-05-16 01:02:33 +01:00
Peter Steinberger
a6dd9fdf08 fix(cron): separate failure notification delivery 2026-05-15 21:51:25 +01:00
Vincent Koc
d2e0a8231f
fix(plugins): reject malformed package entries 2026-05-16 03:44:33 +08:00
Peter Steinberger
6ca9de1e0a
refactor: deprecate legacy reply history helpers (#82236) 2026-05-15 18:44:04 +01:00
MrBrain
bfc674876d feat(wizard): localize onboarding flows 2026-05-15 15:33:27 +01:00
Peter Steinberger
d89732efca fix(slack): route plugin modal submissions
Co-authored-by: shannon0430 <258282406+shannon0430@users.noreply.github.com>

Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>

Co-authored-by: Jin Kim <198280395+jink-ucla@users.noreply.github.com>
2026-05-15 13:18:55 +01:00
Peter Steinberger
373f709130 fix(gateway): preserve core method collision guards 2026-05-15 12:25:31 +01:00
Peter Steinberger
93b9223bee fix(plugins): tolerate legacy inspect reports 2026-05-15 12:25:31 +01:00
Peter Steinberger
db3c4ba8d3 refactor(gateway): collapse method metadata shims 2026-05-15 12:25:31 +01:00
Peter Steinberger
622728757f refactor(gateway): add method descriptor registry 2026-05-15 12:25:31 +01:00
Peter Steinberger
a1a6cd6508
refactor: centralize inbound history shaping
Centralize inbound history shaping through shared reply-history helpers and preserve existing channel behavior.
2026-05-15 11:56:38 +01:00
Peter Steinberger
dfeaf6f7cf refactor: add gateway method dispatch contract 2026-05-15 11:44:58 +01:00
Pavan Kumar Gondhi
eb1e6099d2
Constrain provider catalog entry paths [AI] (#81884)
* fix: constrain provider catalog entries to plugin root

* addressing review-skill

* docs: add changelog entry for PR merge
2026-05-15 14:48:24 +05:30
Peter Steinberger
4a188e7ca5
chore: update dependencies 2026-05-15 07:28:28 +01:00
Kaspre
5734193fdf
fix(plugins): keep metadata snapshot memo fresh
* fix(plugins): keep metadata memo freshness

* fix(plugins): keep metadata memo freshness

* fix(plugins): resolve metadata memo review gaps

* fix(plugins): scope metadata memo watches to env

* fix(plugins): tighten metadata memo fingerprint return type

`resolvePersistedRegistryFastMemoFingerprint` was annotated `: unknown`
but always returns object literals (`{ disabled: true }` or
`{ index, npmPackageJson }`). Spreading the unknown-typed result on
line 478 (`...fastFingerprint`) was rejected by tsgo with TS2698, which
cascaded across every check that runs the project compile (build,
tsgo:prod, check:test-types, lint, all node test shards).

Tighten the return type to `Record<string, unknown>` to match the
function's actual return shapes and unblock the spread.

* test(gateway): tolerate ENOENT in sessions.list spy predicate

The `sessions.list configuredAgentsOnly hides disk-discovered
unregistered agent stores` test spies on `fsSync.readFileSync` and
predicates with `fsSync.realpathSync.native(file) === realDiskOnlyStorePath`
for every captured read. The native realpath call throws on missing
files, so any new readFileSync of a path that may not exist (e.g. the
persisted plugin install records probe added in this PR) crashes the
predicate before the assertion runs.

Wrap the predicate in ENOENT tolerance so the test stays robust against
any future readFileSync of files that may not exist on disk.

* fix(plugins): refresh memo from cached registry

* fix(plugins): use high resolution memo fingerprints

* test(plugins): stabilize memo freshness regression

* test(cli): satisfy config mutation mock hash contract

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-15 07:12:31 +01:00
Peter Steinberger
93c799eb16
test(release): tolerate generated Slack scan artifact 2026-05-15 06:55:03 +01:00
Peter Steinberger
942334f97d
test(release): update plugin prerelease assertions 2026-05-15 06:55:03 +01:00
Val Alexander
eb4e20ca1d
fix(plugins): expose effective context budget in hooks
Some checks are pending
CI / check-preflight-guards (push) Blocked by required conditions
CI / check-prod-types (push) Blocked by required conditions
CI / check-strict-smoke (push) Blocked by required conditions
CI / check-test-types (push) Blocked by required conditions
CI / check (push) Blocked by required conditions
CI / check-additional-boundaries-a (push) Blocked by required conditions
CI / check-additional-boundaries-b (push) Blocked by required conditions
CI / check-additional-boundaries-c (push) Blocked by required conditions
CI / check-additional-boundaries-d (push) Blocked by required conditions
CI / check-additional-extension-bundled (push) Blocked by required conditions
CI / check-additional-extension-channels (push) Blocked by required conditions
CI / check-additional-extension-package-boundary (push) Blocked by required conditions
CI / check-additional-runtime-topology-architecture (push) Blocked by required conditions
CI / check-additional (push) Blocked by required conditions
CI / build-smoke (push) Blocked by required conditions
CI / check-docs (push) Blocked by required conditions
CI / skills-python (push) Blocked by required conditions
CI / -6 (push) Blocked by required conditions
CI / -7 (push) Blocked by required conditions
CI / macos-swift (push) Blocked by required conditions
CI / -8 (push) Blocked by required conditions
ClawSweeper Dispatch / dispatch (push) Waiting to run
Docs Sync Publish Repo / sync-publish-repo (push) Waiting to run
Docs / docs (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
Add optional context budget/source/reference metadata to plugin hook contexts plus llm_output and sanitized model_call_* hook events.

Thread the existing resolved context-window info through Pi embedded runs, CLI harness runs, and Codex app-server hook emission so plugins can observe the effective budget after agent/model/config caps.

Document the metadata and cover the CLI, Pi, Codex app-server, and model-call paths with focused tests.

Fixes #64327.
2026-05-14 17:51:53 -05:00
Peter Steinberger
d9ff8cfb01
fix: plan managed npm peer pins with npm
Plan managed npm peer dependency pins from npm's lockfile planner instead of recursively scanning nested node_modules packages, preserving host peer ranges when npm cannot produce a usable root pin.

Also preserves active root-managed OpenClaw host runtimes during npm plugin installs, folding the active-host guard/test from #81632.

Verification:
- codex-review --full-access
- pnpm check:test-types
- pnpm exec oxfmt --check --threads=1 src/infra/npm-managed-root.ts src/infra/npm-managed-root.test.ts src/plugins/install.npm-spec.test.ts CHANGELOG.md test/scripts/mantis-build-telegram-desktop-proof-evidence.test.ts && git diff --check
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/infra/npm-managed-root.test.ts src/plugins/install.npm-spec.test.ts -- --reporter=verbose
- OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/test-projects.mjs src/plugins/install.npm-spec.e2e.test.ts -- --reporter=verbose
- node scripts/run-vitest.mjs run --config test/vitest/vitest.full-core-support-boundary.config.ts test/scripts/mantis-build-telegram-desktop-proof-evidence.test.ts --reporter=verbose
- GitHub current-head checks: 55 completed, 0 failures; remaining Blacksmith-backed jobs capacity-queued at merge decision time.

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-05-14 21:25:22 +01:00
Pavan Kumar Gondhi
386d321634
Bind gateway approval access to requester metadata [AI] (#81380)
* fix: bind approval access to requester metadata

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing claude review

* addressing ci

* fix: complete root-cause handling

* addressing review-skill

* addressing codex review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-14 23:21:34 +05:30
Andrii Furmanets
42b95a9eb1
fix(plugins): harden git ref checkout 2026-05-14 19:56:36 +08:00
Vincent Koc
8f7a3cbff3
fix(plugins): repair legacy npm declaration stubs 2026-05-14 19:17:05 +08:00
Vincent Koc
a1de61bf65
fix(channels): list manifest-only plugins 2026-05-14 18:47:52 +08:00
Peter Steinberger
a0f35574d0
Remove codex-cli backend and migrate to Codex runtime
Remove the bundled codex-cli backend, migrate legacy codex-cli refs and runtime pins to the Codex app-server runtime, and update live/backend workflow coverage for the supported CLI lanes.
2026-05-14 10:07:18 +01:00
samzong
1d121c1f08
chore(gateway): add startup trace attribution (#81738)
Adds owner-level startup trace attribution for gateway auth, plugin loading, lookup counts, and plugin sidecar services.

Verification:
- node scripts/run-vitest.mjs src/plugins/startup-trace-segment.test.ts src/plugins/services.test.ts src/plugins/loader.test.ts src/gateway/server-startup-config.secrets.test.ts
- pnpm build
- pnpm check

CI override:
- Red checks are unrelated baseline noise. The failed CI shard is src/cli/plugins-install-persist.test.ts, which fails on origin/main 336ba2a2b3 with the same missing resolveIsNixMode mock export. PR #81738 touches gateway/plugin startup trace files and CHANGELOG.md, not the failing CLI plugin install test.

Thanks @samzong.

Co-authored-by: samzong <13782141+samzong@users.noreply.github.com>
2026-05-14 16:50:08 +08:00
Sarah Fortune
2f2563314a
fix(codex): handle delayed plugin marketplace (#81625) 2026-05-14 01:17:58 -07:00
Kaspre
f71df80522
perf(plugins): memoize metadata snapshots narrowly 2026-05-14 16:15:50 +08:00
Vincent Koc
25eef1203a
fix(plugins): prefer installed memory tool owners 2026-05-14 14:35:45 +08:00
Vincent Koc
c635f0087e
fix(plugins): preserve dot-prefixed package metadata 2026-05-14 14:08:53 +08:00
WhatsSkiLL
eefa6ecea0
fix(plugins): discover setup provider env vars (#81542)
Discover provider plugins from setup.providers[].envVars credentials during provider discovery while keeping the deprecated providerAuthEnvVars fallback.

Co-authored-by: JARVIS-Glasses <whatsskilll@gmail.com>
2026-05-14 06:58:05 +01:00
samzong
bb8aa0cfe2
[Fix] Throttle agent event fanout (#80335)
Merged via squash.

Prepared head SHA: 5dddb405ad
Co-authored-by: samzong <13782141+samzong@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-13 22:21:46 -07:00
Vincent Koc
89987df3d5
test(matrix): guard externalized runtime deps 2026-05-14 12:38:17 +08:00
Kevin Lin
78644bc6de
fix: carry codex migration config through onboarding 2026-05-13 20:50:07 -07:00
pashpashpash
3ce922437f
fix: load Codex for selectable OpenAI agent models
Treat selectable configured OpenAI agent models as Codex runtime requirements during plugin auto-enable, startup planning, and doctor install repair.\n\nPR: https://github.com/openclaw/openclaw/pull/81591
2026-05-14 09:51:15 +08:00
Peter Steinberger
0b55317494
test(plugins): isolate capability provider runtime mocks 2026-05-14 01:07:57 +01:00
Peter Steinberger
3225ec43c8
test(plugin-install): align npm peer scan expectations 2026-05-14 00:51:09 +01:00
JARVIS-Glasses
5214f16e29 fix(update): clear stale plugin refs after failed updates 2026-05-14 00:25:52 +01:00
Peter Steinberger
dc7fab4dc5
perf: cache pi model discovery 2026-05-14 00:13:29 +01:00
Peter Steinberger
c654f1f811
test(whatsapp): allow audio runtime dependency 2026-05-13 23:47:03 +01:00
Peter Steinberger
cf571c1b58
fix(plugins): scope install scanner to runtime graph 2026-05-13 21:22:37 +01:00
Kevin Lin
6a23e26a27
docs: consolidate plugin install docs (#81167)
* docs: consolidate plugin install docs

* docs: align plugin getting started page

* snap

* docs: add reusable audit viewer tooling

* docs: add audit viewer doc mode

* docs: add audit viewer diff mode

* docs: strengthen plugin docs audit coverage

* docs: preserve plugin scan order reference

* docs: resolve plugin audit coverage gaps

* docs: strengthen audit line mappings

* docs: narrow plugin docs refactor scope

* docs: preserve plugin audit facts

* docs: keep audit skill local

* docs: remove audit skill from pr

* fix: satisfy plugin scan lint

* docs: address plugin docs review
2026-05-13 13:17:39 -07:00
AI-HUB
b7d3b74f1c
fix(ui): order live chat items by timestamp (#81016)
* fix(ui): order live chat items by timestamp

* fix(ui): stabilize chat timestamp sorting

* test: refresh core lint fixtures

* test: refresh current main guard fixtures

* test: refresh codex prompt snapshots

* test(matrix): keep runtime helper local

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-13 20:30:44 +01:00
Peter Steinberger
439e396262
fix(plugins): allow benign LanceDB runtime shims 2026-05-13 20:24:46 +01:00
Peter Steinberger
8a406528b4
fix(codex): project user MCP servers into app-server threads
Fixes #80814.

Co-authored-by: kinjitakabe <273844887+kinjitakabe@users.noreply.github.com>
2026-05-13 20:07:10 +01:00
Rubén Cuevas
83549774cd fix(openai): clarify remote Codex OAuth prompt 2026-05-13 16:13:35 +01:00
Vincent Koc
2a67a7f65e
fix(plugins): prune managed peers on uninstall 2026-05-13 22:53:58 +08:00
Peter Steinberger
4d8aec8210
fix(plugins): attribute runtime config deprecations (#81425) (thanks @BKF-Gitty)
Co-authored-by: BKF-Gitty <bandark@mac.com>
2026-05-13 15:37:43 +01:00
Shakker
402b0df3b6 fix: preserve owned plugin dependencies during peer repair 2026-05-13 15:26:40 +01:00
Shakker
f4cb20300f fix: harden managed plugin peer recovery 2026-05-13 15:26:40 +01:00
Shakker
6e5042cd62 fix: avoid rescanning repaired plugin peers 2026-05-13 15:26:40 +01:00