Commit Graph

4690 Commits

Author SHA1 Message Date
Peter Steinberger
87be38ea73 fix(plugins): resolve marketplace aliases without recursive cycles (#117440)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 07:46:40 -07:00
Peter Steinberger
e4d1b7e0d3 refactor(plugins): move plugin contributions into the registry bundle (#117372)
* refactor(plugins): move plugin contributions into the registry bundle

* fix(plugins): guard embedding owner union and drop unused test-util imports

* fix(plugins): break registry facade import cycles

* fix(plugins): remove obsolete registry snapshot seams

* test(gateway): preserve plugin runtime mock exports

* test(auto-reply): install builder registry in diagnostics fixture

* test(plugins): activate registry-backed capability fixtures
2026-08-01 06:57:01 -07:00
Vincent Koc
355295bfef fix(plugins): relink host runtime dependencies (#117408)
* fix(plugins): relink host runtime dependencies

* fix(plugins): remove stale peer helper

* chore(release): leave changelog ownership unchanged

* fix(plugins): clarify host link recovery
2026-08-01 21:27:06 +08:00
Vincent Koc
11239da88f fix(ci): stabilize release validation assertions (#117377)
* test(plugins): align auto-enable metadata assertion

* test(memory): isolate agent enablement coverage
2026-08-01 19:40:51 +08:00
Vincent Koc
0e4fa090e2 fix(cli): reuse validated config during plugin registration (#117289) 2026-08-01 17:01:25 +08:00
Sasan
13a52c59cf fix(models): reuse prepared plugin metadata (#117131)
Carry lifecycle-owned manifest, discovery, and provider owner facts through model normalization instead of rescanning plugin metadata per model.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-01 15:56:02 +08:00
Vincent Koc
f5a8cb02ea test(release): repair full validation regressions (#116931)
* test(discord): mock thread delete listener

* test(qa): expect blocked update evidence

* test(telegram): preserve recovered context body

* fix(test): configure kitchen-sink personality

* test(browser): expect canonical staged upload paths

* test(browser): canonicalize macOS download roots

* test(feishu): seed legacy session rows offline

* test(telegram): isolate message context session stores

* test(qqbot): expect canonical media paths

* test(anthropic): match canonical transcript paths

* test(qa): expect canonical session store keys

* test(gateway): isolate rewind media reads

* test(release): review plugin child spawns

* test(plugins): expect process-stable manifest metadata

* test(google): retire usage telemetry contracts
2026-08-01 15:42:50 +08:00
Ayaan Gazali
11069c3df5 fix(channels): config validation rejects documented channels.<id>.configWrites on 13 channels (#117206) 2026-08-01 15:33:16 +08:00
Peter Steinberger
416d8084bc fix(plugins): preserve workspace plugins across CLI and control UI (#117265)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-01 00:32:27 -07:00
Peter Steinberger
80b0e78d62 fix(plugins): hash loader cache keys so plugin config never leaks into diagnostics (#117237) 2026-07-31 22:46:49 -07:00
Vincent Koc
6922ddd936 fix(qa): isolate runner discovery facades (#117203) 2026-08-01 13:40:11 +08:00
ljy-1351
bf6548bc8e fix(plugins): filter .d.mts and .d.cts declaration files in extension discovery (#107994)
* fix(plugins): filter .d.mts and .d.cts declaration files in extension discovery

isExtensionFile only checked for .d.ts but not .d.mts or .d.cts.
path.extname('.d.mts') returns '.mts' so these declaration files
passed through all checks and were treated as valid plugin entries.

Replaced the single .d.ts check with a regex covering all TS
declaration file variants.

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

* fix: update d.mts test to use distinct filenames so it fails on old code

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-31 21:48:12 -07:00
Peter Steinberger
4376387791 fix(plugins): invalidate bundled artifact locations after metadata refresh (#117041)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 20:26:44 -07:00
Peter Steinberger
c41f033b87 refactor(plugins): consolidate descriptor and startup ownership (#117146) 2026-07-31 18:48:38 -07:00
Peter Steinberger
90ae3c253f fix(plugins): report installed dependency health authoritatively (#117029)
* fix(plugins): project missing dependency health consistently

* fix(plugins): preserve leaf dependency-health boundaries

* fix(plugins): retain runtime dependency failure guidance

* test(plugins): reproduce failed dependency runtime imports

* fix(plugins): narrow existing dependency diagnostics safely

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 17:52:44 -07:00
Vincent Koc
89aadef6ef feat(plugins): externalize iMessage channel (#117101) 2026-08-01 08:01:18 +08:00
Peter Steinberger
9ec20c4a1d refactor(plugins): reuse prepared manifest metadata (#117091) 2026-07-31 16:47:45 -07:00
Peter Steinberger
ea1d6cc35e refactor(memory): unify embedding provider adaptation (#117094) 2026-07-31 16:30:22 -07:00
Vincent Koc
61fb29e90a feat(plugins): externalize OpenCode Go provider (#117064) 2026-08-01 06:31:19 +08:00
Vincent Koc
a3220af4aa chore(msteams): add private Gateway QA adapter
Add the reusable private-build Microsoft Teams Gateway QA adapter with loopback-only ingress, exact-origin connector routing, and packaged runtime coverage. Exact-head CI, Testbox changed gate, real Gateway channel canary, autoreview, and ClawSweeper disposition are complete.
2026-08-01 06:14:50 +08:00
Peter Steinberger
3972c41513 fix(plugins): canonical discovery diagnostics and deterministic lifecycles (#117025)
* fix(plugins): preserve canonical diagnostic ownership

* fix(plugins): make discovery owner ordering deterministic

* test(plugins): keep discovery owner regressions lint and type safe

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 15:10:10 -07:00
Vincent Koc
e73250f54b feat(plugins): externalize OpenCode provider (#117035)
* feat(plugins): externalize OpenCode provider

* docs: refresh OpenCode provider map
2026-08-01 05:07:35 +08:00
Vincent Koc
e84e2a49fc feat(plugins): externalize NovitaAI provider (#117007) 2026-08-01 03:53:46 +08:00
Vincent Koc
8b93fd963c feat(plugins): externalize Mistral provider (#116919)
* feat(plugins): externalize Mistral provider

* fix(update): preserve external provider models during repair

* chore(release): keep Mistral note in PR body
2026-08-01 03:04:12 +08:00
Vincent Koc
0e24d596c0 improve(setup): clarify local provider actions 2026-08-01 00:26:40 +08:00
Vincent Koc
a1026663ae feat(plugins): externalize ComfyUI provider (#116888) 2026-07-31 23:26:51 +08:00
Vincent Koc
e93de36081 feat(plugins): externalize BytePlus provider (#116866) 2026-07-31 22:37:47 +08:00
Vincent Koc
fab2c33cad feat(plugins): externalize Xiaomi provider (#116861) 2026-07-31 22:02:07 +08:00
Vincent Koc
b2b62b2e1e feat(plugins): externalize Volcengine provider (#116854) 2026-07-31 21:28:01 +08:00
Vincent Koc
ba1a6722bb feat(plugins): externalize Vydra provider (#116813) 2026-07-31 20:35:43 +08:00
Peter Steinberger
c52bc53745 fix(plugins): clean up partial service startup once (#116804)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 04:57:29 -07:00
Vincent Koc
eb55c8ea8f feat(plugins): externalize Voyage embeddings (#116785)
* feat(voyage): externalize embedding provider

* fix(voyage): drop stale bundled description
2026-07-31 19:52:33 +08:00
wangyan2026
d865c9b8f5 fix(build): fail closed on symlinked build output roots (#116705)
Reject symlinked generated-output roots before build and postbuild mutation paths can recurse into unrelated targets. Cover aggregate, UI, export-template, bundled-plugin, Docker-prune, and plugin-runtime entry points with regression tests and migration guidance.

Closes #116498

Co-authored-by: WangYan <wang.yan29@xydigit.com>
2026-07-31 19:37:05 +08:00
Peter Steinberger
4e4f76f151 fix(cli): make status and provider diagnostics complete (#116776)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-07-31 04:10:36 -07:00
Vincent Koc
6830820755 feat(plugins): externalize DuckDuckGo search (#116740) 2026-07-31 18:49:07 +08:00
Vincent Koc
58580fff2f fix(plugins): require explicit source external startup (#116759) 2026-07-31 18:18:51 +08:00
Vincent Koc
a550827dad feat(plugins): externalize Synthetic provider (#116720) 2026-07-31 17:19:43 +08:00
Vincent Koc
fa4cc51a87 feat(plugins): externalize Teams and Zoom meetings (#116682) 2026-07-31 14:10:46 +08:00
Vincent Koc
877ba9eb7b perf(cli): trim status cold imports (#116668) 2026-07-31 13:56:50 +08:00
Vincent Koc
ed0dae17bc fix(plugins): remove managed peers after npm override errors (#116675)
* fix(plugins): retry npm override cleanup on uninstall

* fix(plugins): satisfy uninstall cleanup checks
2026-07-31 13:32:51 +08:00
Vincent Koc
b3ce00b480 refactor(schema): share config validation runtime (#116622) 2026-07-31 12:40:48 +08:00
Vincent Koc
b015925bc3 test(core): remove dead and duplicate coverage (#116641)
* test(markdown): make code table style coverage assertive

* test(core): remove duplicate regression coverage
2026-07-31 11:48:46 +08:00
Peter Steinberger
29a92e98ac fix(plugins): recheck cached tool availability (#116625) 2026-07-30 19:51:18 -07:00
Vincent Koc
3a6ee79a72 fix(plugins): keep registry sqlite root consistent (#116427) 2026-07-31 08:51:09 +08:00
Benjamin Badejo
505d7b9f52 fix(state): preserve doctor import TTL 2026-07-30 16:07:51 -05:00
Josh Avant
ce67ffb70e feat(agents): add tool-free isolated completion (#114343)
* feat: add isolated pure-inference completion

* fix(google): block ambient system prompt writes

* docs: refresh generated map
2026-07-30 13:24:45 -05:00
Vincent Koc
ca1328dddb Merge pull request #116285 from openclaw/fix/control-ui-session-dedupe
* origin/fix/control-ui-session-dedupe:
  chore: leave release notes to release flow
  fix(ui): deduplicate gateway-native session hosts
2026-07-30 22:53:53 +08:00
Omar Shahine
b82a59a798 feat(cli): add openclaw automations alias and reword cron display prose (#114854)
* feat(cli): add openclaw automations alias and reword cron display prose

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WhJ8EiMXue6ADLmHfb7FL6

* test(doctor): update cron doctor prose assertions for automations wording

* fix(plugins): include command aliases in plugin CLI collision detection

Codex review finding on the automations alias: plugin CLI registration
seeded existingCommands from command names only, so a plugin exposing a
top-level command matching an alias-only root name (automations, terminal,
chat) would crash Commander at startup instead of being skipped. Seed from
names plus aliases; regression test covers the alias path.

* fix(cli): rename residual cron prose in CLI and gateway RPC errors

Found in combined dev-gateway E2E: automation not found / unknown automation
id errors, add/edit prose, docs tip, skills-cli mention, and the gateway RPC
not-found message. The CLI missing-get matcher accepts both message forms so
older gateways keep resolving name lookups.

* fix(gateway): keep cron.get missing wording as a wire contract for older CLI matchers

ClawSweeper rank-up: shipped CLI matchers parse 'cron job not found: <id>'
before the name-lookup fallback; the rename stays CLI-display only. Adds a
regression pinning the exact wire form.

* fix(cli): rename doctor and task-summary cron prose flagged in review

Repair-plan advisories, session-registry task summary, and the heartbeat
migration health check now say automations; recreate hints use the
openclaw automations CLI form.

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 07:16:57 -07:00
Vincent Koc
8a3f5c862b fix(plugin-sdk): ship documented public typings (#116345)
* fix(plugin-sdk): ship documented public typings

* fix(plugin-sdk): refresh public contract artifacts
2026-07-30 18:20:07 +08:00
Peter Steinberger
a4c6efc998 fix(cli): preserve installed plugins in agent exec (#116336) 2026-07-30 03:00:17 -07:00