Commit Graph

4679 Commits

Author SHA1 Message Date
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
Vincent Koc
6e4f67f084 Merge remote-tracking branch 'origin/main' into fix/control-ui-session-dedupe
* origin/main: (25 commits)
  fix(qqbot): use Gateway timezone for reminders (#116294)
  test(openai): cover out-of-order named mark acks
  docs(openai): clarify cumulative playback marks
  test(openai): cover sustained unnamed mark acknowledgements
  fix(openai): preserve playback acknowledgement order
  test(openai): verify bounded playback acknowledgements
  fix(openai): bound realtime playback marks
  test(agents): mock incremental registry persistence (#116307)
  fix(memory-core): MEMORY.md compaction deletes user notes written under a promotion-style heading (#116180)
  feat(reply): annotate recent history images (#100866)
  chore(ios): refresh native i18n inventory
  fix(ios): isolate capability router handlers
  docs(ios): cut 2026.7.22 release notes
  docs(hooks): document validation responses
  test(qa): assert hook account rejection reasons
  fix(gateway): validate hook delivery accounts
  perf(gateway): bound prepared runtime startup work (#116261)
  fix(agents): prevent registry stalls during large fan-outs (#116286)
  fix(sqlite): preserve replaced snapshot targets on Windows (#116284)
  fix(ci): load frozen shard runner without repository fetch (#116273)
  ...
2026-07-30 16:37:47 +08:00
joshavant
54a6dba0d3 fix(gateway): validate hook delivery accounts 2026-07-30 02:59:06 -05:00
Jason (Json)
a67ad03eea perf(gateway): bound prepared runtime startup work (#116261) 2026-07-30 01:41:35 -06:00
Vincent Koc
bb68389a66 fix(ui): deduplicate gateway-native session hosts 2026-07-30 15:22:37 +08:00
Peter Steinberger
ea42a4612a fix(plugins): plugin install survives pnpm-only overrides (#116245)
* fix(plugins): preserve compatible npm overrides on retry

* fix(plugins): keep npm compatibility type internal

* fix(plugins): bound managed override retries
2026-07-29 22:43:34 -07:00
Vincent Koc
814d1fdf1a fix(test): review Codex runtime scan chunks (#116212)
* fix(test): review Codex runtime scan chunks

* fix(test): count reviewed scan findings
2026-07-30 13:02:57 +08:00
Sergio Cadavid
42e21ad13b fix(plugins): keep run context available after registration (#107028) 2026-07-30 07:07:33 +08:00
Vincent Koc
8530edb057 fix(plugins): deliver subagent completion to current requester (#116091)
* fix(plugins): deliver subagent completion to requester

Co-authored-by: ambitioncn <36698505+ambitioncn@users.noreply.github.com>

* test(qa): register current-requester plugin fixture

* fix(plugins): scope requester authority per hook

---------

Co-authored-by: ambitioncn <36698505+ambitioncn@users.noreply.github.com>
2026-07-30 07:06:17 +08:00
Adam Kalsey
e85e1dba3f fix(plugins): keep next-turn injections callable after register (#111131)
Co-authored-by: guptaishaan <guptaishaan@users.noreply.github.com>
2026-07-30 05:47:00 +08:00
Frank Yang
511ecd9dba fix(plugins): expose inbound message id before dispatch (#112359)
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-30 04:26:28 +08:00
mikasa
d2f2123da5 fix #95351: [Feature]: Generic JSONL line-parsing hook for CliBackendPlugin (native tool-card support beyond claude-stream-json) (#95386)
* feat(plugin-sdk): add CLI backend JSONL parser hook

* fix(test): isolate non-git workspace fixtures

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-30 03:37:39 +08:00