Commit Graph

1292 Commits

Author SHA1 Message Date
Peter Steinberger
b71312d7d5 test: require signal deferred callbacks 2026-05-08 19:04:48 +01:00
Peter Steinberger
2956013a23 test: require outbound contract hooks 2026-05-08 18:45:16 +01:00
Peter Steinberger
0fad0a43ca test: tighten core timestamp assertions 2026-05-08 14:14:21 +01:00
Peter Steinberger
c2b2a4cdf4 test: clarify read only channel plugin assertions 2026-05-08 11:26:06 +01:00
Shakker
09e471f32e test: assert bundled sdk import guards 2026-05-08 10:55:24 +01:00
Peter Steinberger
3b254b4d36 test: clarify channel registry id assertion 2026-05-08 07:45:51 +01:00
Peter Steinberger
8af475d9be test: tighten function-shape assertions 2026-05-08 06:19:37 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Vincent Koc
07bf572f35 chore(channels): delete bluebubbles plugin package 2026-05-07 12:53:00 -07:00
Vincent Koc
c97998ce21 chore(channels): remove bluebubbles bundled surface 2026-05-07 12:52:48 -07:00
Peter Steinberger
330ba1fa31 refactor: move canvas to plugin surfaces 2026-05-07 09:07:18 +01:00
Peter Steinberger
1ef85c7d4c test: make suites safe without isolation (#78834)
* test: make suites safe without isolation

* fix: narrow auth profile credential types

* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Vincent Koc
eee7307891 perf(core): trim reply helper churn 2026-05-06 22:22:39 -07:00
Peter Steinberger
69d446d178 test(telegram): lock draft finalization ordering
Add regression coverage for Telegram draft-lane final ordering and shared draft clear-vs-stop lifecycle semantics.\n\nVerification:\n- pnpm test src/channels/draft-stream-controls.test.ts extensions/telegram/src/bot-message-dispatch.test.ts -- --reporter=verbose\n- pnpm exec oxfmt --check --threads=1 src/channels/draft-stream-controls.test.ts extensions/telegram/src/bot-message-dispatch.test.ts\n- git diff --check\n- OPENCLAW_TESTBOX=0 pnpm check:changed\n- exact-tree CI previously passed on 1f822d7c22
2026-05-07 02:12:07 +01:00
Peter Steinberger
0e330c3fa0 Revert "test(telegram): lock draft finalization ordering"
This reverts commit 1f822d7c22.
2026-05-07 02:08:13 +01:00
Peter Steinberger
1f822d7c22 test(telegram): lock draft finalization ordering 2026-05-07 01:58:00 +01:00
Josh Lehman
b22c8998ca fix(doctor): discover load-path plugin contracts (#77477)
Merged via squash.

Prepared head SHA: d428fd47f5
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-06 11:50:47 -07:00
Peter Steinberger
90b69cac02 test(perf): slim channel directory contracts 2026-05-06 19:18:53 +01:00
Alex Knight
d9ffc1aa63 fix cron run binding route (#78373)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 18:57:32 +10:00
Peter Steinberger
3fb1abcdcb test: isolate directory contract fixtures 2026-05-06 09:12:55 +01:00
Shakker
fe393e4427 fix: reuse plugin snapshot for read-only channels 2026-05-06 07:55:27 +01:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
8bfabd6bb1 feat: add channel message lifecycle sdk 2026-05-06 01:46:42 +01:00
Vincent Koc
f042b53782 fix(channels): preserve channel aliases in plugin probes
Key package-state probes, env/config presence, and read-only command defaults by channel id instead of manifest plugin id so alias-owned channel plugins keep setup/native-command detection working.
2026-05-04 15:29:47 -07:00
Vincent Koc
daefb5e341 fix(plugins): trust catalog package installs 2026-05-04 11:30:36 -07:00
Vincent Koc
6e8cdd7d59 test(plugin): harden source loader fallback tests 2026-05-04 01:40:58 -07:00
Val Alexander
21ac476904 fix(telegram): stabilize reply dispatch runtime
Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.

Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
2026-05-04 01:07:57 -05:00
Paul Frederiksen
83037720d9 test: force channel loader jiti fallback path 2026-05-04 06:56:35 +01:00
Peter Steinberger
ab0f8a79ca test(status): update reaction lifecycle snapshots 2026-05-03 17:44:13 +01:00
Peter Steinberger
5039a35a33 fix(discord): preserve tracked reaction targets 2026-05-03 17:44:13 +01:00
Peter Steinberger
788cff1df4 Add opt-in reaction tool tracking 2026-05-03 17:44:13 +01:00
Peter Steinberger
4ec1efbcbc fix(catalog): pin prerelease channel npm specs 2026-05-03 12:18:56 +01:00
Vincent Koc
4781b46056 fix(channels): load third-party official channel packages 2026-05-03 01:30:43 -07:00
Vincent Koc
2a22eb68aa fix(plugins): require provenance for official npm trust
Require OpenClaw-owned install provenance before granting official npm plugin scanner trust. Direct npm package names now scan normally; catalog, onboarding, and doctor paths pass explicit provenance.\n\nValidation:\n- pnpm test:serial src/plugins/install.npm-spec.test.ts src/cli/plugins-cli.install.test.ts src/commands/onboarding-plugin-install.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts src/channels/plugins/contracts/channel-catalog.contract.test.ts src/commands/auth-choice.apply.plugin-provider.test.ts\n- pnpm test:serial src/plugins/install.test.ts src/plugins/provider-auth-choices.test.ts src/plugins/provider-install-catalog.test.ts src/commands/channel-setup/plugin-install.test.ts\n- pnpm exec oxfmt --check --threads=1 ...\n- node scripts/run-oxlint.mjs ...\n- Crabbox cbx_6157440c9bbe / run_cbd813956eed: pnpm check:changed passed\n\nThanks @fede-kamel and @vincentkoc.
2026-05-02 23:30:45 -07:00
Vincent Koc
d4268b1b2b fix(plugins): catalog externalized npm installs 2026-05-02 13:30:07 -07:00
Peter Steinberger
a3564ae546 perf: optimize plugin schema validation 2026-05-02 16:15:45 +01:00
Peter Steinberger
ad0d87d881 perf: cache startup package metadata 2026-05-02 16:11:05 +01:00
Vincent Koc
d228b0dc58 fix(plugins): narrow channel install defaults 2026-05-02 07:41:24 -07:00
Vincent Koc
16e3316beb fix(plugins): type channel clawhub install metadata 2026-05-02 07:41:24 -07:00
Vincent Koc
9281eee702 feat(plugins): prefer clawhub for channel setup installs 2026-05-02 07:41:23 -07:00
Peter Steinberger
2f44ffc8a7 refactor: route plugin metadata consumers through snapshots 2026-05-02 08:41:24 +01:00
Peter Steinberger
bd511be53d refactor(whatsapp): remove legacy heartbeat runners 2026-05-02 08:40:07 +01:00
Peter Steinberger
ebb45a8a28 refactor: unify plugin metadata snapshot callers 2026-05-02 07:51:17 +01:00
Peter Steinberger
f9cdf2f552 refactor: hide allowlist helper 2026-05-02 07:12:25 +01:00
Peter Steinberger
8612af754b feat: simplify thread-bound session spawning 2026-05-02 06:58:07 +01:00
Peter Steinberger
8819f258cc refactor: trim unused core exports 2026-05-02 06:04:56 +01:00
Peter Steinberger
9714eb3e65 refactor: trim inbound contract test helper 2026-05-02 05:48:45 +01:00
Peter Steinberger
dc2396ba13 refactor: trim bundled channel contract loader 2026-05-02 05:34:06 +01:00
Peter Steinberger
43121fb096 fix: guard provider-prefixed delivery targets 2026-05-02 05:30:41 +01:00