Peter Steinberger
b26edfe1ff
test: trim plugin-heavy unit test imports
2026-03-20 18:35:39 +00:00
Tak Hoffman
16e055c083
restore extension-api backward compatibility with migration warning
2026-03-20 13:27:30 -05:00
Vincent Koc
aa78a0c00e
refactor(plugin-sdk): formalize runtime contract barrels
2026-03-20 09:30:34 -07:00
Vincent Koc
faa9faa767
refactor(web-search): share provider clients and config helpers
2026-03-20 09:30:34 -07:00
Peter Steinberger
f6948ce405
refactor: shrink sdk helper surfaces
2026-03-20 15:43:14 +00:00
Thirumalesh
c6968c39d6
feat(compaction): truncate session JSONL after compaction to prevent unbounded growth ( #41021 )
...
Merged via squash.
Prepared head SHA: fa50b63580
Co-authored-by: thirumaleshp <85149081+thirumaleshp@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-20 07:15:09 -07:00
Vincent Koc
0fae764f10
test(plugins): use sync jiti regression path
2026-03-20 01:12:05 -07:00
Vincent Koc
95f890a8b2
test(plugins): relax jiti error string assertions
2026-03-20 01:07:29 -07:00
Vincent Koc
f0a0a6a5b4
test(plugins): isolate git path alias regression
2026-03-20 00:57:25 -07:00
Vincent Koc
68a274c7b3
fix(ci): isolate loader git-path regression env roots
2026-03-20 00:43:03 -07:00
Vincent Koc
d25f6f1833
fix(ci): restore full loader regression coverage
2026-03-20 00:38:11 -07:00
Vincent Koc
9f8af3604d
fix(ci): split slow plugin loader regression test
2026-03-20 00:28:04 -07:00
Vincent Koc
dfc157e1a2
test(plugins): trim loader regression harness churn
2026-03-20 00:06:12 -07:00
Vincent Koc
e56dde815e
fix(web-search): split runtime provider resolution
2026-03-20 00:06:12 -07:00
Lakshya Agarwal
b36e456b09
feat: add Tavily as a bundled web search plugin with search and extract tools ( #49200 )
...
Merged via squash.
Prepared head SHA: ece9226e88
Co-authored-by: lakshyaag-tavily <266572148+lakshyaag-tavily@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-03-20 01:06:26 -04:00
Shakker
2d24f35016
fix(plugins): add bundled web search provider metadata
2026-03-20 03:28:08 +00:00
Harold Hunt
65594f972c
Gateway: unify plugin interactive callback state ( #50722 )
...
Merged via squash.
Prepared head SHA: 7a2740b18a
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Reviewed-by: @huntharo
2026-03-19 22:09:38 -04:00
Shakker
55e12bd236
fix(plugins): stabilize bundle MCP path assertions
2026-03-20 01:11:58 +00:00
Vincent Koc
f3971571fe
fix(plugins): fail strict bootstrap on plugin load errors
2026-03-19 16:07:53 -07:00
Vincent Koc
d80b83e8e3
fix(plugins): scope sdk aliases to loaded module paths
2026-03-19 15:25:54 -07:00
Vincent Koc
3c806a9692
fix(ci): stabilize bundle hooks and mcp path seams
2026-03-19 14:26:52 -07:00
Vincent Koc
247a19a694
fix(hooks): bypass stale plugin bundle caches
2026-03-19 14:26:52 -07:00
Vincent Koc
83a267e2f3
fix(ci): reset deep test runtime state
2026-03-19 14:23:32 -07:00
Vincent Koc
14e84cf0b3
test(ci): trim runtime test harness churn
2026-03-19 12:22:41 -07:00
Tak Hoffman
66894db1b6
test: guard pi package graph alignment
2026-03-19 13:50:26 -05:00
Harold Hunt
401ffb59f5
CLI: support versioned plugin updates ( #49998 )
...
Merged via squash.
Prepared head SHA: 545ea60fa2
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Reviewed-by: @huntharo
2026-03-19 12:51:10 -04:00
Vincent Koc
639f78d257
style(format): restore import order drift
2026-03-19 09:38:42 -07:00
Vincent Koc
dcbcecfb85
fix(ci): resolve Claude marketplace shortcuts from OS home
2026-03-19 09:38:42 -07:00
Vincent Koc
9d772d6eab
fix(ci): normalize bundle mcp paths and skip explicit channel scans
2026-03-19 09:16:45 -07:00
Gustavo Madeira Santana
ff6541f69d
Matrix: fix Jiti runtime API boundary
2026-03-19 11:40:44 -04:00
Gustavo Madeira Santana
dd10f290e8
Matrix: wire thread binding command support
2026-03-19 09:24:31 -04:00
Harold Hunt
5508374669
fix(plugins): share split-load singleton state (openclaw#50418) thanks @huntharo
...
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
2026-03-19 09:10:24 -04:00
Josh Avant
a2a9a553e1
Stabilize plugin loader and Docker extension smoke ( #50058 )
...
* Plugins: stabilize Area 6 loader and Docker smoke
* Docker: fail fast on extension npm install errors
* Tests: stabilize loader non-native Jiti boundary CI timeout
* Tests: stabilize plugin loader Jiti source-runtime coverage
* Docker: keep extension deps on lockfile graph
* Tests: cover tsx-cache renamed package cwd fallback
* Tests: stabilize plugin-sdk export subpath assertions
* Plugins: align tsx-cache alias fallback with subpath fallback
* Tests: normalize guardrail path checks for Windows
* Plugins: restrict plugin-sdk cwd fallback to trusted roots
* Tests: exempt outbound-session from extension import guard
* Tests: tighten guardrails and cli-entry trust coverage
* Tests: guard optional loader fixture exports
* Tests: make loader fixture package exports null-safe
* Tests: make loader fixture package exports null-safe
* Tests: make loader fixture package exports null-safe
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com>
2026-03-18 23:35:32 -05:00
Peter Steinberger
b7ca56f662
refactor: install heavy plugins on demand
2026-03-19 03:37:30 +00:00
Peter Steinberger
83c5bc946d
fix: restore full gate stability
2026-03-19 03:36:03 +00:00
Peter Steinberger
30a94dfd3b
refactor: untangle whatsapp runtime boundary
2026-03-19 03:13:48 +00:00
clay-datacurve
7b61ca1b06
Session management improvements and dashboard API ( #50101 )
...
* fix: make cleanup "keep" persist subagent sessions indefinitely
* feat: expose subagent session metadata in sessions list
* fix: include status and timing in sessions_list tool
* fix: hide injected timestamp prefixes in chat ui
* feat: push session list updates over websocket
* feat: expose child subagent sessions in subagents list
* feat: add admin http endpoint to kill sessions
* Emit session.message websocket events for transcript updates
* Estimate session costs in sessions list
* Add direct session history HTTP and SSE endpoints
* Harden dashboard session events and history APIs
* Add session lifecycle gateway methods
* Add dashboard session API improvements
* Add dashboard session model and parent linkage support
* fix: tighten dashboard session API metadata
* Fix dashboard session cost metadata
* Persist accumulated session cost
* fix: stop followup queue drain cfg crash
* Fix dashboard session create and model metadata
* fix: stop guessing session model costs
* Gateway: cache OpenRouter pricing for configured models
* Gateway: add timeout session status
* Fix subagent spawn test config loading
* Gateway: preserve operator scopes without device identity
* Emit user message transcript events and deduplicate plugin warnings
* feat: emit sessions.changed lifecycle event on subagent spawn
Adds a session-lifecycle-events module (similar to transcript-events)
that emits create events when subagents are spawned. The gateway
server.impl.ts listens for these events and broadcasts sessions.changed
with reason=create to SSE subscribers, so dashboards can pick up new
subagent sessions without polling.
* Gateway: allow persistent dashboard orchestrator sessions
* fix: preserve operator scopes for token-authenticated backend clients
Backend clients (like agent-dashboard) that authenticate with a valid gateway
token but don't present a device identity were getting their scopes stripped.
The scope-clearing logic ran before checking the device identity decision,
so even when evaluateMissingDeviceIdentity returned 'allow' (because
roleCanSkipDeviceIdentity passed for token-authed operators), scopes were
already cleared.
Fix: also check decision.kind before clearing scopes, so token-authenticated
operators keep their requested scopes.
* Gateway: allow operator-token session kills
* Fix stale active subagent status after follow-up runs
* Fix dashboard image attachments in sessions send
* Fix completed session follow-up status updates
* feat: stream session tool events to operator UIs
* Add sessions.steer gateway coverage
* Persist subagent timing in session store
* Fix subagent session transcript event keys
* Fix active subagent session status in gateway
* bump session label max to 512
* Fix gateway send session reactivation
* fix: publish terminal session lifecycle state
* feat: change default session reset to effectively never
- Change DEFAULT_RESET_MODE from "daily" to "idle"
- Change DEFAULT_IDLE_MINUTES from 60 to 0 (0 = disabled/never)
- Allow idleMinutes=0 through normalization (don't clamp to 1)
- Treat idleMinutes=0 as "no idle expiry" in evaluateSessionFreshness
- Default behavior: mode "idle" + idleMinutes 0 = sessions never auto-reset
- Update test assertion for new default mode
* fix: prep session management followups (#50101 ) (thanks @clay-datacurve)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM>
2026-03-19 12:12:30 +09:00
Bruce MacDonald
f8c70bf1f1
fix(ollama): don't auto-pull glm-4.7-flash during Local mode onboarding
2026-03-18 18:02:44 -07:00
Peter Steinberger
62b7b350c9
refactor: move bundled channel deps to plugin packages
2026-03-19 00:24:44 +00:00
Vincent Koc
9a9db87952
fix(release): isolate config doc surfaces and sdk exports
2026-03-18 17:14:15 -07:00
Peter Steinberger
d7018aaf19
refactor: move bundled extension deps to plugin packages
2026-03-19 00:04:50 +00:00
Peter Steinberger
07d9f725b6
refactor: unify plugin sdk primitives
2026-03-18 23:58:56 +00:00
Peter Steinberger
46f49eb6eb
refactor: shrink plugin sdk public surface
2026-03-18 23:31:08 +00:00
Peter Steinberger
6e044ace28
fix: keep bundled runtime deps out of release pack
2026-03-18 23:18:36 +00:00
Vincent Koc
91d37ccfc3
fix(auth): lazy-load provider oauth helpers
2026-03-18 13:40:28 -07:00
Vincent Koc
fa52d122c4
Plugin SDK: route provider metadata through public models subpath
2026-03-18 11:18:04 -07:00
Vincent Koc
152d179302
Plugin SDK: add public WhatsApp runtime subpaths
2026-03-18 11:13:19 -07:00
Vincent Koc
8240fd900a
Plugin SDK: route core channel runtimes through public subpaths
2026-03-18 11:00:58 -07:00
Vincent Koc
7d08070dd7
Plugins: generate bundled auth env metadata
2026-03-18 10:53:48 -07:00
Peter Steinberger
3d8afb96bd
fix: use transpiled jiti for source plugin shims
2026-03-18 16:24:45 +00:00
liyuan97
b64f4e313d
MiniMax: add M2.7 models and update default to M2.7 ( #49691 )
...
* MiniMax: add M2.7 models and update default to M2.7
- Add MiniMax-M2.7 and MiniMax-M2.7-highspeed to provider catalog and model definitions
- Update default model from MiniMax-M2.5 to MiniMax-M2.7 across onboard, portal, and provider configs
- Update isModernMiniMaxModel to recognize M2.7 prefix
- Update all test fixtures to reflect M2.7 as default
Made-with: Cursor
* MiniMax: add extension test for model definitions
* update 2.7
* feat: add MiniMax M2.7 models and update default (#49691 ) (thanks @liyuan97)
---------
Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-03-18 09:24:37 -07:00
Vincent Koc
73539ac787
Core: move web media seam out of plugin sdk
2026-03-18 09:12:23 -07:00
Vincent Koc
cfdc0fdbe1
Plugins: include fal in image-generation contract registry
2026-03-18 08:59:00 -07:00
Vincent Koc
22fc5a5442
Contracts: narrow codex catalog hint return type
2026-03-18 08:54:01 -07:00
Vincent Koc
ebb10c0852
Contracts: fix codex catalog hint assertion
2026-03-18 08:46:58 -07:00
Vincent Koc
6a381e80bc
Contracts: stabilize provider plugin test imports
2026-03-18 08:44:47 -07:00
Peter Steinberger
a0e7a2fcc1
fix: repair rebased contract gate
2026-03-18 15:43:24 +00:00
Peter Steinberger
f6928617b7
test: stabilize gate regressions
2026-03-18 15:36:32 +00:00
Peter Steinberger
e9b19ca1d1
fix: restore full gate after web-search rebase
2026-03-18 15:35:27 +00:00
Peter Steinberger
0cddb5fb7c
fix: restore full gate
2026-03-18 15:34:27 +00:00
Tak Hoffman
5d41fd4497
test: extend plugin contract setup timeouts
2026-03-18 09:42:52 -05:00
Tak Hoffman
13f396b395
Plugins: sync contract registry image providers
2026-03-18 08:27:48 -05:00
Vincent Koc
d8a1ad0f0d
Plugin SDK: split provider auth login seam
2026-03-18 02:04:10 -07:00
Vincent Koc
4ac9024de9
Contracts: harden plugin registry loading
2026-03-18 01:46:50 -07:00
Vincent Koc
7ac23ae7c2
Plugins: fix bundled web search compat registry
2026-03-18 01:42:02 -07:00
Vincent Koc
d1ef7d64e9
Contracts: harden provider registry loading
2026-03-18 01:30:05 -07:00
Vincent Koc
25011bdb1e
Plugins: prefer source bundles in git checkouts
2026-03-18 01:08:40 -07:00
Vincent Koc
fbd88e2c8f
Main recovery: restore formatter and contract checks ( #49570 )
...
* Extensions: fix oxfmt drift on main
* Plugins: restore runtime barrel exports on main
* Config: restore web search compatibility types
* Telegram: align test harness with reply runtime
* Plugin SDK: fix channel config accessor generics
* CLI: remove redundant search provider casts
* Tests: restore main typecheck coverage
* Lobster: fix test import formatting
* Extensions: route bundled seams through plugin-sdk
* Tests: use extension env helper for xai
* Image generation: fix main oxfmt drift
* Config: restore latest main compatibility checks
* Plugin SDK: align guardrail tests with lint
* Telegram: type native command skill mock
2026-03-18 00:30:01 -07:00
Vincent Koc
466510b6d8
refactor: replace "seam" terminology across codebase
...
Replace "seam" with clearer terms throughout:
- "surface" for public API/extension boundaries
- "boundary" for plugin/module interfaces
- "interface" for runtime connection points
- "hook" for test injection points
- "palette" for the lobster palette reference
Also delete experiments/acp-pluginification-architecture-plan.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 00:20:15 -07:00
Vincent Koc
6538c87673
Tests: update Claude bundle integration test for agents, output styles, and LSP
2026-03-18 00:12:24 -07:00
Vincent Koc
4ebd3d11aa
Plugins: add LSP server loader and surface in inspect reports
2026-03-18 00:12:24 -07:00
Vincent Koc
50a81c8731
Plugins: merge agent and output-style dirs into Claude bundle skills
2026-03-18 00:12:24 -07:00
Vincent Koc
0385553918
Plugin SDK: trim lobster and qwen helper exports
2026-03-17 23:48:19 -07:00
Vincent Koc
98fbbebf6a
Tests: add Claude bundle plugin inspect integration test
2026-03-17 23:34:56 -07:00
Vincent Koc
a5fa75cdb3
Plugins: accept Claude bundle hooks as wired capability in loader
2026-03-17 23:34:56 -07:00
Vincent Koc
b48413e252
Plugins: surface MCP servers and bundle capabilities in inspect reports
2026-03-17 23:14:40 -07:00
Vincent Koc
b9b891b614
Plugins: wire Claude bundle hook resolution (parity with Codex)
2026-03-17 23:14:40 -07:00
Vincent Koc
9282d5d09e
Plugins: soften hook-only compatibility copy
2026-03-17 23:08:38 -07:00
Ayaan Zaidi
8c436a470e
perf(test): decouple plugin runtime bootstrap
2026-03-18 11:30:34 +05:30
Val Alexander
5f89897df1
plugins: dist node_modules symlink + config raw-toggle UI fix ( #49490 )
...
* plugins: symlink node_modules into dist plugin dir for bare-specifier resolution
* UI: fix config raw-toggle button sizing and semantic markup
* Update scripts/stage-bundled-plugin-runtime.mjs
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update ui/src/styles/config.css
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix: hoist dist node_modules cleanup before existsSync guard; drop !important from config toggle
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-18 00:20:14 -05:00
Val Alexander
5464ad113e
UI: expand-to-canvas, session navigation, plugin SDK fixes ( #49483 )
...
* Plugins: fix signal SDK circular re-exports and reserved commands TDZ
* UI: add expand-to-canvas button and in-app session navigation
* changelog: UI expand/navigate and plugin TDZ/import fixes
2026-03-18 00:07:53 -05:00
Tak Hoffman
2c5fd8e0c1
chore finalize web search provider boundaries
2026-03-17 23:50:18 -05:00
Tak Hoffman
112d1d3a7c
refactor web search config ownership into extensions
2026-03-17 23:39:51 -05:00
Peter Steinberger
a8907d80dd
feat: finish xai provider integration
2026-03-17 21:31:20 -07:00
Tak Hoffman
3de973ffff
refactor web search provider execution out of core
2026-03-17 23:07:19 -05:00
Vincent Koc
5c4903d3fd
Plugins: centralize compatibility formatting
2026-03-17 20:33:12 -07:00
Gustavo Madeira Santana
1777b99ccc
Signal: move message actions behind plugin boundary
2026-03-18 03:19:35 +00:00
Vincent Koc
27d4fdf3bb
Plugins: surface compatibility notices
2026-03-17 20:03:40 -07:00
Peter Steinberger
44521d6b20
test: stabilize plugin contract mocks
2026-03-18 02:44:30 +00:00
Peter Steinberger
01ae160108
chore: checkpoint ci triage
2026-03-18 02:41:06 +00:00
Gustavo Madeira Santana
9e8b9aba1f
WhatsApp: isolate lazy action runtime boundary
2026-03-18 02:20:57 +00:00
Gustavo Madeira Santana
8165db758b
WhatsApp: move action runtime into extension
2026-03-18 02:08:08 +00:00
Gustavo Madeira Santana
b3ae50c71c
Slack: move action runtime into extension
2026-03-18 02:08:08 +00:00
Gustavo Madeira Santana
ffe24955c8
Plugins: fix pnpm check regressions
2026-03-17 23:25:40 +00:00
Vincent Koc
0e4c072f37
Models: add native GPT-5.4 mini and nano support ( #49289 )
...
* Models: add GPT-5.4 mini and nano support
* Tests: cover OpenAI GPT-5.4 mini and nano extension support
2026-03-17 16:21:39 -07:00
Vincent Koc
77f145f1db
docs(types): add JSDoc to plugin API capability registration methods
...
Label each registerX method with its capability type and add module-level
doc comment to channel runtime types.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 15:00:33 -07:00
Vincent Koc
45bfe3f44b
Plugins: cover channel shape in compatibility matrix
2026-03-17 15:00:15 -07:00
Vincent Koc
7d5a90e589
Plugins: add shape compatibility matrix
2026-03-17 14:58:22 -07:00
Tak Hoffman
5a2a4abc12
CI: add built plugin singleton smoke ( #48710 )
2026-03-17 15:17:41 -05:00
Vincent Koc
0d80897476
Plugins: add inspect matrix and trim export
2026-03-17 10:33:35 -07:00
Vincent Koc
3983928958
Plugins: add inspect command and capability report
2026-03-17 10:16:06 -07:00
Harold Hunt
272d6ed24b
Plugins: add binding resolution callbacks ( #48678 )
...
Merged via squash.
Prepared head SHA: 6d7b32b184
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Co-authored-by: huntharo <5617868+huntharo@users.noreply.github.com>
Reviewed-by: @huntharo
2026-03-17 13:11:08 -04:00
Peter Steinberger
6d9bf6de93
refactor: narrow extension public seams
2026-03-17 09:58:33 -07:00
Peter Steinberger
4b125762f6
refactor: clean extension api boundaries
2026-03-17 09:38:21 -07:00
Peter Steinberger
a724bbce1a
feat: add bundled Chutes extension ( #49136 )
...
* refactor: generalize bundled provider discovery seams
* feat: land chutes extension via plugin-owned auth (#41416 ) (thanks @Veightor)
2026-03-17 09:35:21 -07:00
Bob
ea15819ecf
ACP: harden startup and move configured routing behind plugin seams ( #48197 )
...
* ACPX: keep plugin-local runtime installs out of dist
* Gateway: harden ACP startup and service PATH
* ACP: reinitialize error-state configured bindings
* ACP: classify pre-turn runtime failures as session init failures
* Plugins: move configured ACP routing behind channel seams
* Telegram tests: align startup probe assertions after rebase
* Discord: harden ACP configured binding recovery
* ACP: recover Discord bindings after stale runtime exits
* ACPX: replace dead sessions during ensure
* Discord: harden ACP binding recovery
* Discord: fix review follow-ups
* ACP bindings: load channel snapshots across workspaces
* ACP bindings: cache snapshot channel plugin resolution
* Experiments: add ACP pluginification holy grail plan
* Experiments: rename ACP pluginification plan doc
* Experiments: drop old ACP pluginification doc path
* ACP: move configured bindings behind plugin services
* Experiments: update bindings capability architecture plan
* Bindings: isolate configured binding routing and targets
* Discord tests: fix runtime env helper path
* Tests: fix channel binding CI regressions
* Tests: normalize ACP workspace assertion on Windows
* Bindings: isolate configured binding registry
* Bindings: finish configured binding cleanup
* Bindings: finish generic cleanup
* Bindings: align runtime approval callbacks
* ACP: delete residual bindings barrel
* Bindings: restore legacy compatibility
* Revert "Bindings: restore legacy compatibility"
This reverts commit ac2ed68fa2426ecc874d68278c71c71ad363fcfe.
* Tests: drop ACP route legacy helper names
* Discord/ACP: fix binding regressions
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com>
2026-03-17 17:27:52 +01:00
Peter Steinberger
9f8cf7f71a
test: stabilize full gate
2026-03-17 16:21:59 +00:00
Peter Steinberger
b7dc23b403
test: merge loader cache miss cases
2026-03-17 16:21:59 +00:00
Peter Steinberger
5311d48c66
test: merge loader scoped load cases
2026-03-17 16:21:59 +00:00
Peter Steinberger
477cea7709
test: merge loader memory slot cases
2026-03-17 16:21:59 +00:00
Peter Steinberger
d49c1688f7
test: merge loader bundled telegram cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
6372062be4
test: merge loader provenance warning cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
909ec6b416
test: merge loader workspace warning cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
c21654e1b9
test: merge loader precedence cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
1a3bde81d8
test: merge loader single-plugin registration cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
2c073e7bcb
test: merge loader http route cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
d988e39fc7
test: merge loader duplicate registration cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
bf22e9461e
test: merge loader alias resolution cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
444e3eb9e3
test: merge loader escape path cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
790747478e
test: merge loader provenance path cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
9c086f26a0
test: merge loader setup entry matrix
2026-03-17 16:21:58 +00:00
Peter Steinberger
34460f24b8
test: merge loader cache partition cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
7c3efaeccf
test: merge bundle loader fixture cases
2026-03-17 16:21:58 +00:00
Peter Steinberger
a53de5ad51
test: cache provider discovery fixtures
2026-03-17 16:21:58 +00:00
Peter Steinberger
f2107a53cb
test: remove repeated update module imports
2026-03-17 16:21:58 +00:00
Peter Steinberger
df76e0f44b
test: harden CI-sensitive test suites
2026-03-17 16:21:57 +00:00
Peter Steinberger
795f1f438b
refactor: expose lazy runtime helper to plugins
2026-03-17 08:37:11 -07:00
Jari Mustonen
4f6955fb11
fix(hooks): pass sessionFile and sessionKey in after_compaction hook ( #40781 )
...
Merged via squash.
Prepared head SHA: 11e85f8651
Co-authored-by: jarimustonen <1272053+jarimustonen@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-17 08:30:37 -07:00
Josh Lehman
1399ca5fcb
fix(plugins): forward plugin subagent overrides ( #48277 )
...
Merged via squash.
Prepared head SHA: ffa45893e0
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-17 07:20:27 -07:00
Harold Hunt
1561c6a71c
tests(contracts): fix provider catalog runtime wiring ( #49040 )
2026-03-17 10:05:41 -04:00
Chris Kimpton
f404ff32d5
tests: add missing useNoBundledPlugins() to bundle MCP loader test
...
The "treats bundle MCP as a supported bundle surface" test was missing
the useNoBundledPlugins() call present in all surrounding bundle plugin
tests. Without it, loadOpenClawPlugins() scanned and loaded the full
real bundled plugins directory on every call (with cache:false), causing
excessive memory pressure and an OOM crash on Linux CI, which manifested
as the test timing out at 120s.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 15:49:08 +05:30
Peter Steinberger
9648e7fecb
refactor: consolidate lazy runtime surfaces
2026-03-17 00:59:20 -07:00
Peter Steinberger
449127b474
fix: restore full gate
2026-03-17 07:47:28 +00:00
Peter Steinberger
5747700b3c
refactor(provider-tests): share codex catalog assertions
2026-03-17 07:23:44 +00:00
Peter Steinberger
201964ce6c
refactor(bundle-tests): share bundle mcp fixtures
2026-03-17 07:23:44 +00:00
Peter Steinberger
282e336243
refactor(plugin-tests): share binding approval resolution
2026-03-17 07:23:44 +00:00
Peter Steinberger
c08d556ae4
refactor(plugin-tests): share interactive dispatch assertions
2026-03-17 07:23:44 +00:00
Peter Steinberger
276803095d
refactor(provider-tests): share discovery catalog helpers
2026-03-17 07:23:44 +00:00
Peter Steinberger
52ad686ab5
refactor(runtime-tests): share typing lease assertions
2026-03-17 07:23:44 +00:00
Peter Steinberger
cc35627c8f
fix: harden telegram and loader contracts
2026-03-17 07:17:33 +00:00
Peter Steinberger
6f795fd60e
refactor: dedupe bundled plugin entrypoints
2026-03-17 00:14:12 -07:00
Peter Steinberger
5fb7a1363f
fix: stabilize full gate
2026-03-17 07:06:25 +00:00
Peter Steinberger
3dec814fda
refactor: bundle lazy runtime surfaces
2026-03-17 00:00:45 -07:00
Peter Steinberger
38a6415a70
build: tighten lazy runtime boundaries
2026-03-16 23:24:17 -07:00
Peter Steinberger
520d753b27
refactor(usage): share legacy pi auth token lookup
2026-03-17 06:24:01 +00:00
Peter Steinberger
03c6946125
refactor(plugins): share install target flow
2026-03-17 06:24:01 +00:00
Peter Steinberger
4f5e3e1799
refactor(plugins): share claiming hook loop
2026-03-17 06:24:01 +00:00
Peter Steinberger
45510084cd
refactor(plugins): share bundle path list helpers
2026-03-17 06:24:01 +00:00
Peter Steinberger
e793e3873f
refactor(whatsapp): reuse login tool implementation
2026-03-17 06:24:01 +00:00
Nimrod Gutman
2280fa0022
fix(plugins): normalize speech plugin package ids ( #48777 )
2026-03-17 08:21:43 +02:00
Peter Steinberger
618d35f933
feat(google): add image generation provider
2026-03-16 23:21:16 -07:00
Peter Steinberger
aa2d5aaa0c
feat(plugins): add image generation capability
2026-03-16 22:58:55 -07:00
Peter Steinberger
1116ae9766
test: fix auth choice contract import
2026-03-16 22:54:00 -07:00
Peter Steinberger
00b57145ff
refactor: move agent runtime into agents layer
2026-03-16 22:53:16 -07:00
Peter Steinberger
78a4d12e9a
refactor: fix rebase fallout in plugin auth seams
2026-03-16 22:51:46 -07:00
Peter Steinberger
5dd2245094
refactor: restore public sdk seams after rebase
2026-03-16 22:51:46 -07:00
Vincent Koc
357ce71988
Tests: share provider registration helpers ( #48767 )
2026-03-16 22:50:40 -07:00
Vincent Koc
64c69c3fc9
Tests: dedupe contract helper plumbing ( #48760 )
...
* Plugins: share contract test helpers
* Channels: collapse inbound contract testkit
2026-03-16 22:45:44 -07:00
Josh Lehman
61ccc5bede
chore: fix formatting drift in extension sources ( #48758 )
2026-03-16 22:43:21 -07:00
Peter Steinberger
0bc9c065f2
refactor: move provider auth-choice helpers into plugins
2026-03-16 22:40:33 -07:00
Vincent Koc
6c866b8543
Tests: centralize contract coverage follow-ups ( #48751 )
...
* Plugins: harden global contract coverage
* Channels: tighten global contract coverage
* Channels: centralize inbound contract coverage
* Channels: move inbound contract helpers into core
* Tests: rename local inbound context checks
* Tests: stabilize contract runner profile
* Tests: split scoped contract lanes
* Channels: move inbound dispatch testkit into contracts
* Plugins: share provider contract registry helpers
* Plugins: reuse provider contract registry helpers
2026-03-16 22:26:55 -07:00
Peter Steinberger
d2445b5fcd
feat(plugins): share capability capture helpers
2026-03-16 22:21:18 -07:00
Peter Steinberger
ed06d21013
refactor(providers): share template model cloning
2026-03-17 05:17:51 +00:00
Peter Steinberger
880bc969f9
refactor: move plugin sdk setup helpers out of commands
2026-03-16 22:11:56 -07:00
Peter Steinberger
50c3321d2e
feat(media): route image tool through media providers
2026-03-16 22:00:39 -07:00
Peter Steinberger
7fa3825e80
feat(plugins): derive bundled web search providers from plugins
2026-03-16 21:59:50 -07:00
Vincent Koc
68d2bd27c9
Plugins: reject conflicting native command aliases
2026-03-16 21:49:26 -07:00
Peter Steinberger
dde89d2a83
refactor: isolate provider sdk auth and model helpers
2026-03-16 21:47:28 -07:00
Vincent Koc
06459ca0df
Agents: run bundle MCP tools in embedded Pi ( #48611 )
...
* Agents: run bundle MCP tools in embedded Pi
* Plugins: fix bundle MCP path resolution
* Plugins: warn on unsupported bundle MCP transports
* Commands: add embedded Pi MCP management
* Config: move MCP management to top-level config
2026-03-16 21:46:05 -07:00
Vincent Koc
38bc364aed
Runtime: narrow WhatsApp login tool surface
2026-03-16 21:39:21 -07:00
Peter Steinberger
87b9a063ce
refactor: add shared provider model definitions
2026-03-16 21:34:10 -07:00
Peter Steinberger
631f6f47cf
fix(extensions): restore setup and catalog tests
2026-03-16 21:31:00 -07:00
Peter Steinberger
4bba2888e7
feat(plugins): add web search runtime capability
2026-03-16 21:31:00 -07:00
Peter Steinberger
6d6825ea18
refactor: add shared provider auth modules
2026-03-16 21:21:17 -07:00
Peter Steinberger
9183081bf1
refactor: move provider auth helpers into plugin layer
2026-03-16 21:21:17 -07:00
Peter Steinberger
70da383a61
test: fix rebase fallout
2026-03-16 21:18:16 -07:00
Peter Steinberger
f4fa84aea7
feat(plugins): tighten media runtime integration
2026-03-16 21:13:51 -07:00
Peter Steinberger
45cb02b1dd
refactor(plugins): share MCP server map extraction
2026-03-17 04:10:36 +00:00
Peter Steinberger
39183746ba
refactor(providers): share paired api-key catalogs
2026-03-17 04:10:36 +00:00
Peter Steinberger
0a6140acfa
refactor(providers): share catalog template matcher
2026-03-17 04:10:36 +00:00
Peter Steinberger
a20b64cd92
refactor(providers): share api-key catalog helper
2026-03-17 04:10:36 +00:00
Vincent Koc
f90d432de3
Plugins: honor native command aliases at dispatch
2026-03-16 21:02:08 -07:00
Peter Steinberger
c081dc52b7
feat(plugins): move media understanding into vendor plugins
2026-03-16 20:58:34 -07:00
Peter Steinberger
c64f6adc83
refactor: finish provider auth extraction and canonicalize kimi
2026-03-16 20:49:38 -07:00
Peter Steinberger
3e010e280a
feat(plugins): add media understanding provider registration
2026-03-16 20:42:00 -07:00
Peter Steinberger
57f1ab1fca
feat(tts): enrich speech voice metadata
2026-03-16 20:27:34 -07:00
Peter Steinberger
85781353ec
feat(plugins): expand speech runtime ownership
2026-03-16 20:01:24 -07:00
lishuaigit
76500c7a78
fix: detect Ollama "prompt too long" as context overflow error ( #34019 )
...
Merged via squash.
Prepared head SHA: 825a402f0f
Co-authored-by: lishuaigit <7495165+lishuaigit@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-16 18:57:33 -07:00
Peter Steinberger
662031a88e
feat(plugins): add speech provider registration
2026-03-16 18:50:09 -07:00
Vincent Koc
9c80d717bc
Tests: pin loader command activation semantics
2026-03-16 18:40:50 -07:00
Vincent Koc
6805a80da2
Tests: lock plugin slash commands to one runtime graph
2026-03-16 18:38:11 -07:00
Peter Steinberger
8a10903cf7
test: fix check contract type drift
2026-03-16 18:37:58 -07:00
Vincent Koc
0a93e22b37
Plugins: fix catalog contract mocks
2026-03-16 18:02:46 -07:00
Vincent Koc
4194bba575
Plugins: speed up auth-choice contracts
2026-03-16 17:59:39 -07:00
Vincent Koc
750ce393bc
Plugins: stabilize global catalog contracts
2026-03-16 17:59:39 -07:00
Harold Hunt
94c27f34a1
fix(plugins): keep built plugin loading on one module graph ( #48595 )
2026-03-16 20:58:58 -04:00
Tak Hoffman
4863b651c6
docs: rename onboarding user-facing wizard copy
...
Co-authored-by: Tak <contact-redacted@example.com>
2026-03-16 19:50:31 -05:00
Josh Lehman
eeb140b4f0
fix(plugins): late-binding subagent runtime for non-gateway load paths ( #46648 )
...
Merged via squash.
Prepared head SHA: 44742652c9
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-16 14:27:54 -07:00
Tak Hoffman
2de28379dd
Plugins: remove public extension-api surface ( #48462 )
...
* Plugins: remove public extension-api surface
* Plugins: fix loader setup routing follow-ups
* CI: ignore non-extension helper dirs in extension-fast
* Docs: note extension-api removal as breaking
2026-03-16 15:51:08 -05:00
Gustavo Madeira Santana
09df232f39
Plugins: stage local bundled runtime tree
2026-03-16 16:43:47 +00:00