Commit Graph

3977 Commits

Author SHA1 Message Date
Vincent Koc
fdb042b9ce refactor(providers): remove stale primary model helper 2026-06-19 05:10:15 +08:00
Josh Lehman
b637414871 fix: add plugin host session cleanup seam (#93733)
* fix: add plugin host session cleanup seam (clawdbot-d02.1.9.1.38)

* test: update session accessor writer ratchet
2026-06-18 13:29:39 -07:00
Vincent Koc
a48e5091cb fix(plugins): make StepFun npm-only 2026-06-19 01:38:11 +08:00
Vincent Koc
4e0376255f fix(onboard): reject deprecated external auth choices 2026-06-19 01:05:52 +08:00
Vincent Koc
0710eebec2 fix(plugins): avoid catalog lookup allocations 2026-06-19 01:05:52 +08:00
Vincent Koc
21728777df feat(plugins): externalize official provider batch 2026-06-19 01:05:52 +08:00
Vincent Koc
aad0559de0 refactor(test): dedupe bundled plugin record fixtures 2026-06-18 21:10:40 +08:00
Vincent Koc
8f295f183d refactor(test): dedupe zip central directory fixture 2026-06-18 20:54:36 +08:00
Vincent Koc
9592a83a29 refactor(config): dedupe plugin metadata test snapshots 2026-06-18 20:14:27 +08:00
Vincent Koc
13d474134f refactor(plugins): dedupe install test fixtures 2026-06-18 19:44:18 +08:00
Vincent Koc
dc2fdd1b99 refactor(core): remove unused internal type exports 2026-06-18 18:19:45 +08:00
Vincent Koc
c558e918c2 feat(cohere): externalize provider plugin 2026-06-18 16:50:56 +08:00
Patrick Erichsen
1b19c790bf feat: externalize GMI provider plugin (#94350)
* feat: externalize gmi provider plugin

* fix(plugins): repair gmi alias installs

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-06-18 16:47:38 +08:00
Vincent Koc
ce611bc803 refactor(plugins): dedupe index database options 2026-06-18 13:18:06 +08:00
Vincent Koc
3f6ed50d68 refactor(plugins): dedupe loader validation errors 2026-06-18 12:41:54 +08:00
Vincent Koc
4a596d9bc8 refactor(plugins): remove setup binary facade 2026-06-18 09:46:56 +08:00
Vincent Koc
617076687e refactor(plugins): remove import specifier facade 2026-06-18 09:44:17 +08:00
Vincent Koc
544b00e4e1 refactor(plugins): remove setup browser facade 2026-06-18 09:37:25 +08:00
Alex Knight
23eadfa277 fix(plugins): compose live hook registry view for tool-call hooks
Local extension before_tool_call/after_tool_call hooks registered but
never fired after a scoped mid-run plugin activation (harness or memory
ensure) rebound the global hook runner to a narrow registry, dropping
hooks unique to the broader registry (#91918).

The runner is now created once and resolves hooks live on every dispatch
from the composed set of currently-live registries (the most recently
initialized registry, the active registry, and the pinned channel and
http-route surfaces) instead of freezing one registry. The loader's
one-shot preserve gate is removed since activation order no longer
matters. Per-plugin ownership prefers loaded records so a failed scoped
reload cannot shadow a healthy pinned registration (including a
fail-closed tool-call gate), and the explicitly initialized registry
stays highest precedence so SDK callers keep an authoritative registry.
Reuses the live-registry collector the agent-event bridge already uses
so both dispatch surfaces agree on what is live.
2026-06-18 09:39:44 +10:00
Vincent Koc
34be976c6d refactor(plugins): remove status dependency barrel 2026-06-18 01:49:46 +08:00
Vincent Koc
baa389ebed refactor(plugins): remove embedding reset alias 2026-06-18 00:14:10 +08:00
Vincent Koc
d1169c3dd0 refactor(plugins): remove unused session helpers 2026-06-17 22:22:40 +08:00
Vincent Koc
e7aa2a66f2 refactor(runtime): remove unused registry accessors 2026-06-17 22:01:20 +08:00
Vincent Koc
97ce204d97 refactor(plugins): remove unused helper accessors 2026-06-17 21:13:03 +08:00
Vincent Koc
19c7731292 fix(plugins): classify npm-pack security events as archives 2026-06-17 16:11:32 +08:00
Vincent Koc
81df1b239b fix(plugins): satisfy install security lint 2026-06-17 16:11:32 +08:00
Vincent Koc
80c47ecb99 test(plugins): narrow npm install mock options 2026-06-17 16:11:32 +08:00
Vincent Koc
122f29e5ea fix(plugins): preserve install security provenance 2026-06-17 16:11:32 +08:00
Vincent Koc
b6714bf109 fix(diagnostics): preserve plugin security identities 2026-06-17 16:11:32 +08:00
Vincent Koc
7279f43bbb fix(plugins): avoid duplicate npm install security events 2026-06-17 16:11:32 +08:00
Vincent Koc
b86b891326 feat(plugins): emit security events for installs 2026-06-17 16:11:32 +08:00
Vincent Koc
6855cbc3df refactor(plugins): hide cleanup timeout internals 2026-06-17 10:45:04 +08:00
liuhao1024
d2279591bf fix(plugins): treat refreshable catalogs as requiring runtime discovery (#93786)
Treat refreshable manifest catalog rows as non-authoritative and load the owning plugin for runtime/cache-backed discovery. Adds focused regression coverage for entries-only and full discovery paths.
2026-06-17 08:38:34 +08:00
ragesaq
f94a2506d2 feat(context-engine): pass runtime settings into lifecycle (#88750)
Merged via squash.

Prepared head SHA: 9a19334ee5
Co-authored-by: ragesaq <11304287+ragesaq@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-06-16 16:23:19 -07:00
Gio Della-Libera
e58719503e fix: break plugin registry type import cycle (#93738) 2026-06-17 03:49:46 +08:00
lsr911
583b7195b4 fix: pin plugin workspace dir for sessions.list to avoid O(rows) memo busting (#93719)
* fix: pin plugin workspace dir for sessions.list to avoid O(rows) memo busting

sessions.list was O(rows) slow under concurrent agent/cron load because
each row read a process-global active plugin-registry workspace dir
that was mutated by other turns between rows. The per-row memo key
changed every time, so loadPluginMetadataSnapshot scanned fresh
(~100ms per row).

Fix:
1. Add AsyncLocalStorage-based workspace dir pinning to
   runtime-workspace-state.ts — withPinnedActivePluginRegistryWorkspaceDir()
   snapshots the current workspace dir for the duration of a callback.
2. Wrap listSessionsFromStoreAsync body in the pin so all per-row
   metadata lookups use a stable memo key.

Fixes #90814

* test(plugins): cover request-scoped workspace pins

* fix(plugins): pin canonical runtime workspace reads

* fix(plugins): preserve workspace pins across reloads

---------

Co-authored-by: lsr911 <lsr911@github.com>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-06-17 03:33:46 +08:00
Vincent Koc
de1d329e31 fix(plugins): allow Dreaming sidecar through restrictive memory allowlists (#93678)
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Co-authored-by: pradeep7127 <21005375+pradeep7127@users.noreply.github.com>
2026-06-16 23:02:15 +08:00
BitmapAsset
1881a0188b fix(plugins): resolve provider policy surface for plugin-owned CLI backends (#93261)
Merged via squash.

Prepared head SHA: 27ebfc7c4d
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Reviewed-by: @vincentkoc
2026-06-16 19:05:12 +08:00
Vincent Koc
2e7caba557 refactor(plugins): reuse dependency status core 2026-06-16 17:35:41 +08:00
Vincent Koc
6d22b8eb24 fix(ci): repair main type and lint checks 2026-06-16 10:43:21 +02:00
sunlit-deng
21d3a70826 fix(plugins): load externally-installed channel plugins at gateway startup (#93470)
Merged via squash.

Prepared head SHA: 934dfd3c57
Co-authored-by: sunlit-deng <253064511+sunlit-deng@users.noreply.github.com>
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Reviewed-by: @vincentkoc
2026-06-16 16:13:42 +08:00
zhang-guiping
bb164384c2 [Bug]: ollama-cloud runtime fails DNS lookup for ai.ollama.com, while ollama/<model>:cloud works (#92594)
* fix(ollama): repair retired cloud provider endpoint

Route configured Ollama Cloud provider ids through plugin doctor compatibility migrations so doctor --fix can rewrite the retired ai.ollama.com endpoint before runtime reads persisted config.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* test(doctor): align provider fixture with typed config

Ensure the doctor registry provider-scoped migration test uses a fully typed provider fixture so the test type-check shard validates the intended behavior.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* test(ollama): align doctor fixture with typed config

Use fully typed provider and model fixtures in the Ollama doctor contract tests so the extension test type-check shard validates the migration behavior.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(ollama): preserve custom cloud provider base url

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(ollama): avoid logging retired endpoint secrets

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-06-16 14:17:57 +08:00
Vincent Koc
ccf83ace38 fix(plugins): repair missing required platform packages 2026-06-16 14:00:11 +08:00
Edward Abrams
ef3e5f5e31 perf(plugins): thread prepared manifest plugins through runtime normalization (#85254)
Carry prepared manifest model-id normalization records through the runtime bridge so hot callers reuse existing metadata instead of consulting the snapshot fallback.

The final change preserves the existing no-prepared-record behavior, adds focused forwarding coverage, and removes the one-off proof script before landing.

Thanks @zeroaltitude.

Verification:
- 224 focused tests
- full CI run 27594070734
- real behavior proof run 27594081022
- final whole-branch autoreview clean

Co-authored-by: zeroaltitude <zeroaltitude@gmail.com>
2026-06-16 06:31:36 +02:00
Vincent Koc
6ffa0fb348 test(plugins): narrow session extension registry coverage 2026-06-16 11:36:43 +08:00
杨浩宇0668001029
0fb0c2cb8e fix(plugins): keep empty session extension pins authoritative
Pinned session-extension registries now remain the owner even when empty, preventing later active registry churn from leaking agent-owned extensions into the gateway surface.
2026-06-16 11:36:43 +08:00
杨浩宇0668001029
0e71ce1174 test(plugins): cover session extension registry lifecycle
Exercise pinned startup session extensions through WebSocket patching, release cleanup, standalone loading, and active-registry churn.
2026-06-16 11:36:43 +08:00
杨浩宇0668001029
ffa736f713 fix(plugins): satisfy session extension lint 2026-06-16 11:36:43 +08:00
杨浩宇0668001029
b85ae9fb1b fix(plugins): pin session extension registry 2026-06-16 11:36:43 +08:00
Marcus Castro
ef6b7e3659 docs(plugins): record whatsapp admission compatibility 2026-06-15 20:06:16 +01:00