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