Compare commits
294 Commits
feat/plugi
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bfe6f8aa0c | ||
|
|
7746354b22 | ||
|
|
85f562d5e3 | ||
|
|
98c24dbb02 | ||
|
|
d4ad88dc5a | ||
|
|
cad03ae202 | ||
|
|
b9d60777cf | ||
|
|
a7fb812de3 | ||
|
|
9d8c0f473d | ||
|
|
f6d13d63ed | ||
|
|
c7cebf32cb | ||
|
|
8f99590e5e | ||
|
|
8611b53dfa | ||
|
|
066e916c05 | ||
|
|
964df22b64 | ||
|
|
1235161e0f | ||
|
|
ef0d662915 | ||
|
|
e566d83b1e | ||
|
|
1b06b1208b | ||
|
|
5b04665a44 | ||
|
|
7d8d2c1e88 | ||
|
|
ba681dbd5b | ||
|
|
d68c82e8d7 | ||
|
|
92ff0d2fc6 | ||
|
|
176dedc832 | ||
|
|
b211955d63 | ||
|
|
8d541192c0 | ||
|
|
ce1eeec7bc | ||
|
|
2763e7e5ac | ||
|
|
b1729769ea | ||
|
|
3024edb959 | ||
|
|
bae69dcaf9 | ||
|
|
c54bcc89d2 | ||
|
|
83033f6608 | ||
|
|
c59a52aa76 | ||
|
|
cd140f89e3 | ||
|
|
7dca9228df | ||
|
|
08b5cf96b7 | ||
|
|
621c66e787 | ||
|
|
deee92ae5c | ||
|
|
f28b483488 | ||
|
|
d62d1da317 | ||
|
|
2e8fac3fc7 | ||
|
|
7644287646 | ||
|
|
877c217437 | ||
|
|
743e2d686e | ||
|
|
f5f922b502 | ||
|
|
6eebf29555 | ||
|
|
06e8215f62 | ||
|
|
614b3209ea | ||
|
|
39e9f1565d | ||
|
|
dae2654661 | ||
|
|
c00b25a7eb | ||
|
|
84c3fb61a9 | ||
|
|
36b6f982c1 | ||
|
|
aa19cc68f0 | ||
|
|
19cc3355dc | ||
|
|
6a07de21c8 | ||
|
|
aad4b80897 | ||
|
|
fd975183ea | ||
|
|
40eddcda1f | ||
|
|
fd9e456239 | ||
|
|
5983713a34 | ||
|
|
634bdb1492 | ||
|
|
24370b0e49 | ||
|
|
7673e48b22 | ||
|
|
b25f8cf560 | ||
|
|
603039f34e | ||
|
|
dfeb674dcb | ||
|
|
a02928bc44 | ||
|
|
b293a5a773 | ||
|
|
b1e3a61dc0 | ||
|
|
27bf452906 | ||
|
|
9834e2bdcf | ||
|
|
ca97245e90 | ||
|
|
830ab612ad | ||
|
|
441958657e | ||
|
|
7b1f8a9979 | ||
|
|
692cd40bca | ||
|
|
10a7a80d9c | ||
|
|
9e17bc0d08 | ||
|
|
da5a84e9a4 | ||
|
|
2f7a12f56f | ||
|
|
58264d3e35 | ||
|
|
564761a30e | ||
|
|
5f64b98182 | ||
|
|
062d5494d6 | ||
|
|
b05316d156 | ||
|
|
0389929569 | ||
|
|
02f8976e6c | ||
|
|
dda88a9de0 | ||
|
|
87c9568e4f | ||
|
|
f0c7f8d996 | ||
|
|
3f15ddba42 | ||
|
|
f301dc8290 | ||
|
|
4f32d40eba | ||
|
|
8ce5ef46f7 | ||
|
|
eed94ee91c | ||
|
|
66a4cb550b | ||
|
|
440e4d27bc | ||
|
|
dca0f80bc2 | ||
|
|
1c4d027af3 | ||
|
|
bcb42ec7b7 | ||
|
|
eb73e9cc1f | ||
|
|
f1858da20e | ||
|
|
c69ff730d1 | ||
|
|
8a2544eedd | ||
|
|
6b8bf190c2 | ||
|
|
2c8d05a324 | ||
|
|
7e33faf6e9 | ||
|
|
178775d4b9 | ||
|
|
d7927fd40d | ||
|
|
58c7deb8de | ||
|
|
aeef23a788 | ||
|
|
8acd4b2faf | ||
|
|
655636fca5 | ||
|
|
4d5a402f0e | ||
|
|
7e3abf2ea7 | ||
|
|
4b55c25dd6 | ||
|
|
02db0f6954 | ||
|
|
8c53490583 | ||
|
|
56f92bd6a3 | ||
|
|
312eb9933f | ||
|
|
e67afe28d6 | ||
|
|
2ef004e30d | ||
|
|
06055e7e71 | ||
|
|
47998a041c | ||
|
|
49189c184c | ||
|
|
9ea9404d5d | ||
|
|
0305d0704b | ||
|
|
43e1bafa94 | ||
|
|
3b5131e345 | ||
|
|
38d17951db | ||
|
|
5856c21c3b | ||
|
|
6c8d1153c6 | ||
|
|
6ee0f2ab05 | ||
|
|
d68749c073 | ||
|
|
8a751054d3 | ||
|
|
1678f39f2f | ||
|
|
b6fd069593 | ||
|
|
36f31fe624 | ||
|
|
12462e49b5 | ||
|
|
072f911599 | ||
|
|
8b1ff6f63b | ||
|
|
fec78d6592 | ||
|
|
1f5457ebde | ||
|
|
664fd6d677 | ||
|
|
76617763f8 | ||
|
|
3ef5df8f3f | ||
|
|
0db0d4356b | ||
|
|
a0fec9b35d | ||
|
|
6086500a5c | ||
|
|
f71bc9bb9f | ||
|
|
86ea4d6e7e | ||
|
|
fa65a864ed | ||
|
|
b99dd367f3 | ||
|
|
cd8395dfad | ||
|
|
9e7edebb8d | ||
|
|
f14c1657d6 | ||
|
|
7b5c7c836f | ||
|
|
c918fd2632 | ||
|
|
858aeec95e | ||
|
|
80d0b8cc21 | ||
|
|
e95aa3dce0 | ||
|
|
b8d22ff1d6 | ||
|
|
70d853c9ab | ||
|
|
3062a15cee | ||
|
|
4800ab68e0 | ||
|
|
b995e57c62 | ||
|
|
658fc66984 | ||
|
|
2299f61724 | ||
|
|
a25408e154 | ||
|
|
8138ff870d | ||
|
|
31f7cf4790 | ||
|
|
42b174382d | ||
|
|
cdc8b69fb6 | ||
|
|
d0b60e55f9 | ||
|
|
a5598d5d96 | ||
|
|
9e522e0ade | ||
|
|
0cd5477338 | ||
|
|
c2b9212aa4 | ||
|
|
a2b311f020 | ||
|
|
8125e08680 | ||
|
|
07fb7856ea | ||
|
|
5549905713 | ||
|
|
92ee26df37 | ||
|
|
1a72e4ffe5 | ||
|
|
c0c44d1c74 | ||
|
|
3c73cff5d0 | ||
|
|
8833296f49 | ||
|
|
b97e3d6a2e | ||
|
|
454cce7ad7 | ||
|
|
c5cb815352 | ||
|
|
a8dee50391 | ||
|
|
1912fb84aa | ||
|
|
c74efdae69 | ||
|
|
603e092b76 | ||
|
|
96897954f9 | ||
|
|
34a3d3c520 | ||
|
|
3a37d5b082 | ||
|
|
4a23e49f99 | ||
|
|
c0dafda3a8 | ||
|
|
b382c6a0af | ||
|
|
b921cd3086 | ||
|
|
0bd1064a56 | ||
|
|
367e894ec4 | ||
|
|
bf92a7db22 | ||
|
|
3dbb86aeb9 | ||
|
|
1745535708 | ||
|
|
6c45a5fd82 | ||
|
|
c05ca9c20a | ||
|
|
9b4b527c34 | ||
|
|
44db8af401 | ||
|
|
21571313cf | ||
|
|
b9dfa3d2a2 | ||
|
|
aac58d8358 | ||
|
|
0365e66bb4 | ||
|
|
332f7bc3df | ||
|
|
58b780eef6 | ||
|
|
ac784ab84e | ||
|
|
3d316c0b3e | ||
|
|
e5b69278d9 | ||
|
|
ba1806258e | ||
|
|
c1afaeff91 | ||
|
|
b83e3b071d | ||
|
|
7523705162 | ||
|
|
3d3db8870c | ||
|
|
8232bb9479 | ||
|
|
f1e8bf8f6e | ||
|
|
46ada25ebc | ||
|
|
ac20c8a679 | ||
|
|
fbd2e4ecdd | ||
|
|
a0f54ea55b | ||
|
|
c9ad4ecbe9 | ||
|
|
d3f35a7f89 | ||
|
|
46438cf4e1 | ||
|
|
a2371b7c21 | ||
|
|
716f9d3389 | ||
|
|
3accbc0e1f | ||
|
|
395f63a41e | ||
|
|
2439e1ef83 | ||
|
|
f96681756d | ||
|
|
e1b82ebc76 | ||
|
|
d39422cbf7 | ||
|
|
5ec1e3d8ee | ||
|
|
6304f38dc5 | ||
|
|
786f5ce1bf | ||
|
|
06df5163da | ||
|
|
f55d1cd8b7 | ||
|
|
d9a0cf2222 | ||
|
|
1a2be0a526 | ||
|
|
f617060140 | ||
|
|
7226fd6a29 | ||
|
|
9c33b583eb | ||
|
|
549976d241 | ||
|
|
637141985d | ||
|
|
d5cac1a4f0 | ||
|
|
b0abd22135 | ||
|
|
78d318c3bc | ||
|
|
dccca0fc5c | ||
|
|
6240c54945 | ||
|
|
f18ec7fea1 | ||
|
|
ddea95409f | ||
|
|
33210de854 | ||
|
|
2994eb59a7 | ||
|
|
cc43269c5d | ||
|
|
40e68ae949 | ||
|
|
f9361cdecc | ||
|
|
b61de3983e | ||
|
|
2d5c185714 | ||
|
|
0ab4d63c34 | ||
|
|
c4c837be8d | ||
|
|
aa8981f863 | ||
|
|
3f7da22fca | ||
|
|
83a8d4c820 | ||
|
|
03acb87387 | ||
|
|
081de3335d | ||
|
|
dd2c200707 | ||
|
|
7488184f10 | ||
|
|
d45606990b | ||
|
|
29cfd075b0 | ||
|
|
a513b0da53 | ||
|
|
2cfa80f9c3 | ||
|
|
4a17b11737 | ||
|
|
ee8ca38162 | ||
|
|
979ea35fe6 | ||
|
|
d14bee2609 | ||
|
|
31cd715fcb | ||
|
|
74bee5b814 | ||
|
|
2be4c2da59 | ||
|
|
baf7625965 | ||
|
|
582e0663ac | ||
|
|
010f80a02d | ||
|
|
f8a035d677 |
264
.github/dependabot.yml
vendored
264
.github/dependabot.yml
vendored
@ -55,3 +55,267 @@ updates:
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/bluebubbles"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "01 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/diagnostics-otel"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "02 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/discord"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "03 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/lobster"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "04 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/matrix"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "05 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/msteams"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "06 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/nextcloud-talk"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "07 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/nostr"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "08 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/voice-call"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "09 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/zalo"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "10 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/zalouser"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "11 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/feishu"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "12 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/tlon"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "13 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/twitch"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "14 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/mattermost"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "15 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/synology-chat"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "16 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/brave-plugin"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "17 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/codex"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "18 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/diagnostics-prometheus"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "19 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/google-meet"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "20 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/diffs"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "21 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/memory-lancedb"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "22 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/openclaw-qqbot"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "23 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/plugins/whatsapp"
|
||||
schedule:
|
||||
interval: "cron"
|
||||
cronjob: "24 9,21 * * *"
|
||||
timezone: "Etc/UTC"
|
||||
open-pull-requests-limit: 5
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
|
||||
164
.github/workflows/check.yml
vendored
164
.github/workflows/check.yml
vendored
@ -5,7 +5,7 @@ on:
|
||||
# plugins/** must retest on Dependabot PRs and again after merge to main.
|
||||
pull_request:
|
||||
push:
|
||||
branches: [main]
|
||||
branches: [main, crab-beta, crab-development]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@ -23,30 +23,35 @@ jobs:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
path: openclaw
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
- run: node scripts/sync-fixtures.mjs --materialize
|
||||
- run: npm test
|
||||
- run: node scripts/sync-fixtures.mjs --check
|
||||
- run: node scripts/run-contract-smoke.mjs --strict --openclaw ./openclaw
|
||||
- run: node scripts/inspect-fixtures.mjs --check
|
||||
- run: node scripts/generate-report.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/capture-contracts.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/synthetic-probes.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/cold-import-readiness.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/workspace-plan.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/platform-probes.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/import-loop-profile.mjs --check
|
||||
- run: node scripts/profile-contract-runtime.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/check-contract-coverage.mjs --openclaw ./openclaw
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --github-output
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
- shell: bash
|
||||
run: |
|
||||
plugin_track="${{ steps.openclaw-track.outputs.track }}"
|
||||
extra_args=(--openclaw-track "${{ steps.openclaw-track.outputs.track }}" --plugin-track "${plugin_track}")
|
||||
if [ "${{ steps.openclaw-track.outputs.track }}" = "development" ]; then
|
||||
extra_args=(--openclaw-track "${{ steps.openclaw-track.outputs.track }}" --fixture-set openclaw-beta --plugin-track source-pack)
|
||||
fi
|
||||
node scripts/run-static-suite.mjs --openclaw ./openclaw --policy dashboard --profile-runs 3 --plugin-inspector-smoke "${extra_args[@]}"
|
||||
- name: Write CI summary artifacts
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
env:
|
||||
CRABPOT_FIXTURE_SET: ${{ steps.openclaw-track.outputs.track == 'development' && 'openclaw-beta' || '' }}
|
||||
CRABPOT_OPENCLAW_TRACK: ${{ steps.openclaw-track.outputs.track }}
|
||||
CRABPOT_PLUGIN_TRACK: ${{ steps.openclaw-track.outputs.track == 'development' && 'source-pack' || steps.openclaw-track.outputs.track }}
|
||||
run: |
|
||||
node scripts/generate-report.mjs --openclaw ./openclaw
|
||||
node scripts/capture-contracts.mjs --openclaw ./openclaw
|
||||
@ -54,11 +59,12 @@ jobs:
|
||||
node scripts/cold-import-readiness.mjs --openclaw ./openclaw
|
||||
node scripts/workspace-plan.mjs --openclaw ./openclaw
|
||||
node scripts/platform-probes.mjs --openclaw ./openclaw
|
||||
node scripts/check-generated-surface-fixture.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/compare-runtime-profile.mjs
|
||||
node scripts/check-ci-policy.mjs
|
||||
node scripts/write-ci-summary.mjs --mode check --openclaw-label openclaw/openclaw@main --github-step-summary
|
||||
node scripts/write-ci-summary.mjs --mode check --openclaw-label "${{ steps.openclaw-track.outputs.label }}" --github-step-summary
|
||||
- name: Upload CI reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
@ -76,21 +82,23 @@ jobs:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --github-output
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
- run: node --version
|
||||
- run: node scripts/sync-fixtures.mjs --materialize
|
||||
- run: npm test
|
||||
- run: node scripts/sync-fixtures.mjs --check
|
||||
- run: node scripts/inspect-fixtures.mjs --check
|
||||
- run: node scripts/generate-report.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/cold-import-readiness.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/workspace-plan.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/platform-probes.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/import-loop-profile.mjs --check
|
||||
- run: node scripts/profile-contract-runtime.mjs --check --openclaw ./openclaw
|
||||
- shell: bash
|
||||
run: |
|
||||
plugin_track="${{ steps.openclaw-track.outputs.track }}"
|
||||
extra_args=(--openclaw-track "${{ steps.openclaw-track.outputs.track }}" --plugin-track "${plugin_track}")
|
||||
if [ "${{ steps.openclaw-track.outputs.track }}" = "development" ]; then
|
||||
extra_args=(--openclaw-track "${{ steps.openclaw-track.outputs.track }}" --fixture-set openclaw-beta --plugin-track source-pack)
|
||||
fi
|
||||
node scripts/run-static-suite.mjs --openclaw ./openclaw --policy dashboard --profile-runs 3 --plugin-inspector-smoke "${extra_args[@]}"
|
||||
|
||||
changed-fixture-plan:
|
||||
name: Resolve changed fixture matrix
|
||||
@ -105,13 +113,20 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: recursive
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
path: openclaw
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --github-output
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
- name: Resolve diff refs
|
||||
id: refs
|
||||
shell: bash
|
||||
@ -155,13 +170,20 @@ jobs:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
path: openclaw
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --github-output
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
- name: Validate workspace plan
|
||||
run: node scripts/workspace-plan.mjs --check --openclaw ./openclaw
|
||||
- name: Execute fixture lane
|
||||
@ -174,6 +196,10 @@ jobs:
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
run: npm run execution:report
|
||||
- name: Reconcile compatibility report with runtime evidence
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
run: node scripts/generate-report.mjs --openclaw ./openclaw --execution-results reports/crabpot-execution-results.json --fixture-set "${{ matrix.id }}"
|
||||
- name: Run execution policy
|
||||
id: policy
|
||||
if: always()
|
||||
@ -182,7 +208,7 @@ jobs:
|
||||
- name: Write isolated summary
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
run: node scripts/write-ci-summary.mjs --mode changed-isolated --openclaw-label openclaw/openclaw@main --github-step-summary
|
||||
run: node scripts/write-ci-summary.mjs --mode changed-isolated --openclaw-label "${{ steps.openclaw-track.outputs.label }}" --github-step-summary
|
||||
- name: Upload isolated execution artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
@ -190,12 +216,14 @@ jobs:
|
||||
name: crabpot-changed-isolated-${{ matrix.id }}
|
||||
path: |
|
||||
.crabpot/results/
|
||||
reports/crabpot-report.*
|
||||
reports/crabpot-issues.*
|
||||
reports/crabpot-execution-results.*
|
||||
reports/crabpot-ci-policy.*
|
||||
reports/crabpot-ci-summary.*
|
||||
if-no-files-found: warn
|
||||
- name: Fail if isolated execution failed
|
||||
if: ${{ steps.execute.outcome == 'failure' || steps.policy.outcome == 'failure' }}
|
||||
- name: Fail if isolated policy failed
|
||||
if: ${{ steps.policy.outcome == 'failure' }}
|
||||
run: exit 1
|
||||
|
||||
dashboard:
|
||||
@ -208,16 +236,39 @@ jobs:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
path: openclaw
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
- run: node scripts/sync-fixtures.mjs --materialize
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --github-output
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
- run: node scripts/sync-fixtures.mjs --materialize --openclaw ./openclaw
|
||||
env:
|
||||
CRABPOT_FIXTURE_SET: ${{ steps.openclaw-track.outputs.track == 'development' && 'openclaw-beta' || '' }}
|
||||
CRABPOT_PLUGIN_TRACK: ${{ steps.openclaw-track.outputs.track == 'development' && 'source-pack' || steps.openclaw-track.outputs.track }}
|
||||
- name: Install OpenClaw lifecycle dependencies
|
||||
run: |
|
||||
corepack enable
|
||||
pnpm --dir openclaw install --frozen-lockfile --ignore-scripts
|
||||
- name: Fetch main dashboard baseline
|
||||
if: ${{ steps.openclaw-track.outputs.track != 'latest' }}
|
||||
run: |
|
||||
mkdir -p .crabpot/baseline
|
||||
git fetch --no-tags --depth=1 origin main
|
||||
git show origin/main:reports/crabpot-dashboard-data.json > .crabpot/baseline/main-dashboard-data.json || true
|
||||
- name: Write README dashboard
|
||||
env:
|
||||
CRABPOT_FIXTURE_SET: ${{ steps.openclaw-track.outputs.track == 'development' && 'openclaw-beta' || '' }}
|
||||
CRABPOT_OPENCLAW_TRACK: ${{ steps.openclaw-track.outputs.track }}
|
||||
CRABPOT_PLUGIN_TRACK: ${{ steps.openclaw-track.outputs.track == 'development' && 'source-pack' || steps.openclaw-track.outputs.track }}
|
||||
CRABPOT_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
run: |
|
||||
export CRABPOT_SUMMARY_GENERATED_AT="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
@ -227,16 +278,21 @@ jobs:
|
||||
node scripts/cold-import-readiness.mjs --openclaw ./openclaw
|
||||
node scripts/workspace-plan.mjs --openclaw ./openclaw
|
||||
node scripts/platform-probes.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/compare-runtime-profile.mjs
|
||||
node scripts/check-ci-policy.mjs
|
||||
node scripts/write-ci-summary.mjs --mode check --openclaw-label openclaw/openclaw@main
|
||||
node scripts/update-readme-summary.mjs
|
||||
if ! git diff --quiet README.md; then
|
||||
node scripts/write-ci-summary.mjs --mode check --openclaw-label "${{ steps.openclaw-track.outputs.label }}"
|
||||
node scripts/update-track-metadata.mjs
|
||||
baseline_arg=""
|
||||
if [ -f .crabpot/baseline/main-dashboard-data.json ]; then
|
||||
baseline_arg="--baseline-data .crabpot/baseline/main-dashboard-data.json"
|
||||
fi
|
||||
node scripts/update-readme-summary.mjs ${baseline_arg}
|
||||
git add README.md reports/
|
||||
if ! git diff --cached --quiet; then
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add README.md
|
||||
git commit -m "chore(readme): update crabpot dashboard [skip ci]"
|
||||
git push
|
||||
git push || echo "::notice::Skipped stale dashboard push because ${GITHUB_REF_NAME} moved; a newer check run will refresh it."
|
||||
fi
|
||||
|
||||
104
.github/workflows/dependabot-auto-merge.yml
vendored
104
.github/workflows/dependabot-auto-merge.yml
vendored
@ -10,6 +10,10 @@ permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
concurrency:
|
||||
group: crabpot-dependabot-automerge-${{ github.event.pull_request.base.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
refresh-and-automerge:
|
||||
name: Refresh reports and enable auto-merge
|
||||
@ -25,17 +29,44 @@ jobs:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
|
||||
- name: Configure git author
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
- name: Resolve OpenClaw track
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --branch "${{ github.event.pull_request.base.ref }}" --github-output
|
||||
|
||||
- name: Checkout OpenClaw
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
- name: Update Dependabot branch with base
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
git fetch origin "${{ github.event.pull_request.base.ref }}"
|
||||
git merge --no-edit "origin/${{ github.event.pull_request.base.ref }}"
|
||||
|
||||
- name: Verify Dependabot changed only fixture pins
|
||||
- name: Fetch main dashboard baseline
|
||||
if: ${{ github.event.pull_request.base.ref != 'main' }}
|
||||
run: |
|
||||
mkdir -p .crabpot/baseline
|
||||
git fetch --no-tags --depth=1 origin main
|
||||
git show origin/main:reports/crabpot-dashboard-data.json > .crabpot/baseline/main-dashboard-data.json || true
|
||||
|
||||
- name: Verify Dependabot changed only fixture pins and generated reports
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
@ -48,19 +79,25 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
while IFS= read -r file; do
|
||||
if [[ "$file" == ".gitmodules" || "$file" =~ ^plugins/[^/]+$ || "$file" =~ ^plugins/[^/]+/package(-lock)?\.json$ ]]; then
|
||||
if [[ "$file" == ".gitmodules" || "$file" == "README.md" || "$file" =~ ^reports/ || "$file" =~ ^plugins/[^/]+$ || "$file" =~ ^plugins/[^/]+/package(-lock)?\.json$ ]]; then
|
||||
continue
|
||||
fi
|
||||
echo "::error file=${file}::Dependabot auto-merge only accepts fixture pin changes"
|
||||
echo "::error file=${file}::Dependabot auto-merge only accepts fixture pin changes and generated report updates"
|
||||
exit 1
|
||||
done < /tmp/crabpot-dependabot-files.txt
|
||||
|
||||
- name: Install OpenClaw lifecycle dependencies
|
||||
run: |
|
||||
corepack enable
|
||||
pnpm --dir openclaw install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- name: Refresh compatibility reports
|
||||
env:
|
||||
CRABPOT_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
run: |
|
||||
export CRABPOT_SUMMARY_GENERATED_AT="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
node scripts/sync-fixtures.mjs --materialize
|
||||
CRABPOT_SUMMARY_GENERATED_AT="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
export CRABPOT_SUMMARY_GENERATED_AT
|
||||
node scripts/sync-fixtures.mjs --materialize --openclaw ./openclaw
|
||||
npm test
|
||||
node scripts/sync-fixtures.mjs --check
|
||||
node scripts/run-contract-smoke.mjs --strict --openclaw ./openclaw
|
||||
@ -71,25 +108,60 @@ jobs:
|
||||
node scripts/cold-import-readiness.mjs --openclaw ./openclaw
|
||||
node scripts/workspace-plan.mjs --openclaw ./openclaw
|
||||
node scripts/platform-probes.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/compare-runtime-profile.mjs
|
||||
node scripts/check-ci-policy.mjs
|
||||
node scripts/write-ci-summary.mjs --mode dependabot --openclaw-label openclaw/openclaw@main
|
||||
node scripts/update-readme-summary.mjs
|
||||
node scripts/write-ci-summary.mjs --mode dependabot --openclaw-label "${{ steps.openclaw-track.outputs.label }}"
|
||||
node scripts/update-track-metadata.mjs
|
||||
baseline_args=()
|
||||
if [ -f .crabpot/baseline/main-dashboard-data.json ]; then
|
||||
baseline_args=(--baseline-data .crabpot/baseline/main-dashboard-data.json)
|
||||
fi
|
||||
node scripts/update-readme-summary.mjs "${baseline_args[@]}"
|
||||
|
||||
- name: Commit refreshed reports
|
||||
run: |
|
||||
if ! git diff --quiet README.md reports/; then
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add README.md reports/
|
||||
git commit -m "chore(reports): refresh dependabot compatibility reports"
|
||||
git push
|
||||
fi
|
||||
|
||||
- name: Enable Dependabot auto-merge
|
||||
- name: Merge Dependabot PR
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
run: gh pr merge "${PR_NUMBER}" --auto --squash --delete-branch
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
for attempt in {1..18}; do
|
||||
state="$(gh pr view "${PR_NUMBER}" --json mergeable,mergeStateStatus,statusCheckRollup --jq '
|
||||
[
|
||||
.mergeable,
|
||||
.mergeStateStatus,
|
||||
([.statusCheckRollup[]?
|
||||
| select((.workflowName // "") != "Dependabot Auto Merge")
|
||||
| select((.status // .state // "") == "IN_PROGRESS" or (.status // .state // "") == "QUEUED" or (.status // .state // "") == "PENDING" or (.status // .state // "") == "EXPECTED")
|
||||
] | length),
|
||||
([.statusCheckRollup[]?
|
||||
| select((.workflowName // "") != "Dependabot Auto Merge")
|
||||
| select((.conclusion // .state // "") == "FAILURE" or (.conclusion // .state // "") == "ERROR" or (.conclusion // .state // "") == "TIMED_OUT" or (.conclusion // .state // "") == "ACTION_REQUIRED" or (.conclusion // .state // "") == "CANCELLED")
|
||||
] | length)
|
||||
] | @tsv
|
||||
')"
|
||||
read -r mergeable merge_state pending_checks failed_checks <<< "${state}"
|
||||
if [ "${failed_checks}" != "0" ]; then
|
||||
echo "::error::PR ${PR_NUMBER} has ${failed_checks} failed status check(s); refusing auto-merge"
|
||||
gh pr view "${PR_NUMBER}" --json url,mergeable,mergeStateStatus,statusCheckRollup
|
||||
exit 1
|
||||
fi
|
||||
if [ "${mergeable}" = "MERGEABLE" ] && [ "${pending_checks}" = "0" ]; then
|
||||
gh pr merge "${PR_NUMBER}" --squash --delete-branch
|
||||
exit 0
|
||||
fi
|
||||
echo "PR ${PR_NUMBER} mergeable=${mergeable} mergeStateStatus=${merge_state} pendingChecks=${pending_checks}; waiting for mergeability and green checks (${attempt}/18)"
|
||||
sleep 10
|
||||
done
|
||||
gh pr view "${PR_NUMBER}" --json url,mergeable,mergeStateStatus,statusCheckRollup
|
||||
exit 1
|
||||
|
||||
33
.github/workflows/openclaw-ref-compat.yml
vendored
33
.github/workflows/openclaw-ref-compat.yml
vendored
@ -58,7 +58,7 @@ on:
|
||||
description: "Fail on warning-level contract policy findings"
|
||||
type: boolean
|
||||
required: true
|
||||
default: false
|
||||
default: true
|
||||
strict_perf:
|
||||
description: "Fail on runtime profile threshold regressions when enough samples exist"
|
||||
type: boolean
|
||||
@ -77,6 +77,7 @@ jobs:
|
||||
PROFILE_RUNS: ${{ inputs.profile_runs }}
|
||||
STRICT_CONTRACT: ${{ inputs.strict_contract }}
|
||||
STRICT_PERF: ${{ inputs.strict_perf }}
|
||||
SUITE_POLICY: ${{ inputs.strict_contract && 'release' || 'dashboard' }}
|
||||
steps:
|
||||
- name: Checkout Crabpot
|
||||
uses: actions/checkout@v6
|
||||
@ -100,22 +101,14 @@ jobs:
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
- run: node scripts/sync-fixtures.mjs --materialize
|
||||
- run: npm test
|
||||
- run: node scripts/sync-fixtures.mjs --check
|
||||
- run: node scripts/run-contract-smoke.mjs --strict --openclaw ./openclaw
|
||||
- run: node scripts/inspect-fixtures.mjs --check
|
||||
- run: node scripts/generate-report.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/capture-contracts.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/synthetic-probes.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/cold-import-readiness.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/workspace-plan.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/platform-probes.mjs --check --openclaw ./openclaw
|
||||
- run: node scripts/import-loop-profile.mjs --check
|
||||
- run: node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs "${PROFILE_RUNS}"
|
||||
- run: node scripts/run-static-suite.mjs --openclaw ./openclaw --policy "${SUITE_POLICY}" --profile-runs "${PROFILE_RUNS}" --plugin-inspector-smoke
|
||||
- name: Run runtime profile policy
|
||||
run: node scripts/compare-runtime-profile.mjs ${{ inputs.strict_perf && '--strict' || '' }}
|
||||
- run: node scripts/check-contract-coverage.mjs --openclaw ./openclaw
|
||||
- name: Install OpenClaw lifecycle dependencies
|
||||
run: |
|
||||
corepack enable
|
||||
pnpm --dir openclaw install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- name: Write report artifacts
|
||||
if: always()
|
||||
@ -127,7 +120,8 @@ jobs:
|
||||
node scripts/cold-import-readiness.mjs --openclaw ./openclaw
|
||||
node scripts/workspace-plan.mjs --openclaw ./openclaw
|
||||
node scripts/platform-probes.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs
|
||||
node scripts/check-generated-surface-fixture.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs --openclaw ./openclaw --runs "${PROFILE_RUNS}"
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs "${PROFILE_RUNS}"
|
||||
node scripts/compare-runtime-profile.mjs ${{ inputs.strict_perf && '--strict' || '' }}
|
||||
node scripts/check-ci-policy.mjs ${{ inputs.strict_contract && '--strict' || '' }}
|
||||
@ -181,7 +175,7 @@ jobs:
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
- run: node scripts/sync-fixtures.mjs --materialize
|
||||
- run: node scripts/sync-fixtures.mjs --materialize --openclaw ./openclaw
|
||||
- run: npm test
|
||||
- name: Compare OpenClaw refs
|
||||
run: |
|
||||
@ -311,6 +305,11 @@ jobs:
|
||||
continue-on-error: true
|
||||
run: npm run execution:report
|
||||
|
||||
- name: Reconcile compatibility report with runtime evidence
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
run: node scripts/generate-report.mjs --openclaw ./openclaw --execution-results reports/crabpot-execution-results.json --fixture-set "${{ matrix.id }}"
|
||||
|
||||
- name: Run execution policy
|
||||
id: policy
|
||||
if: always()
|
||||
@ -329,6 +328,8 @@ jobs:
|
||||
name: crabpot-openclaw-ref-isolated-${{ matrix.id }}
|
||||
path: |
|
||||
.crabpot/results/
|
||||
reports/crabpot-report.*
|
||||
reports/crabpot-issues.*
|
||||
reports/crabpot-execution-results.*
|
||||
reports/crabpot-ci-policy.*
|
||||
reports/crabpot-ci-summary.*
|
||||
|
||||
165
.github/workflows/track-dashboard.yml
vendored
Normal file
165
.github/workflows/track-dashboard.yml
vendored
Normal file
@ -0,0 +1,165 @@
|
||||
name: Track Dashboard
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# Development follows OpenClaw main, so refresh it often enough to catch
|
||||
# contract drift. The job usually finishes in a few minutes; concurrency
|
||||
# below keeps slower runs from stacking up.
|
||||
- cron: "7,22,37,52 * * * *"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
track:
|
||||
description: "Crabpot track to refresh"
|
||||
required: true
|
||||
default: development
|
||||
type: choice
|
||||
options:
|
||||
- development
|
||||
- beta
|
||||
- latest
|
||||
- all
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
dashboard:
|
||||
name: Refresh ${{ matrix.track }} dashboard
|
||||
runs-on: ubuntu-latest
|
||||
concurrency:
|
||||
group: crabpot-track-dashboard-${{ matrix.track }}
|
||||
cancel-in-progress: true
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- track: latest
|
||||
branch: main
|
||||
fixture_set: ""
|
||||
plugin_track: latest
|
||||
- track: beta
|
||||
branch: crab-beta
|
||||
fixture_set: ""
|
||||
plugin_track: beta
|
||||
- track: development
|
||||
branch: crab-development
|
||||
fixture_set: openclaw-beta
|
||||
plugin_track: source-pack
|
||||
steps:
|
||||
- name: Select requested track
|
||||
id: select
|
||||
shell: bash
|
||||
run: |
|
||||
run=false
|
||||
if [ "${{ github.event_name }}" = "schedule" ] && [ "${{ matrix.track }}" = "development" ]; then
|
||||
run=true
|
||||
fi
|
||||
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && { [ "${{ inputs.track }}" = "all" ] || [ "${{ inputs.track }}" = "${{ matrix.track }}" ]; }; then
|
||||
run=true
|
||||
fi
|
||||
echo "run=${run}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
with:
|
||||
ref: main
|
||||
submodules: recursive
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
with:
|
||||
node-version: 22
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
plugins/**/package-lock.json
|
||||
|
||||
- name: Resolve OpenClaw track
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
id: openclaw-track
|
||||
run: node scripts/resolve-openclaw-track.mjs --track "${{ matrix.track }}" --github-output
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
with:
|
||||
repository: openclaw/openclaw
|
||||
ref: ${{ steps.openclaw-track.outputs.ref }}
|
||||
path: openclaw
|
||||
|
||||
- if: ${{ steps.select.outputs.run == 'true' }}
|
||||
run: |
|
||||
node scripts/run-static-suite.mjs \
|
||||
--openclaw ./openclaw \
|
||||
--policy dashboard \
|
||||
--profile-runs 3 \
|
||||
--plugin-inspector-smoke \
|
||||
--openclaw-track "${{ matrix.track }}" \
|
||||
--fixture-set "${{ matrix.fixture_set }}" \
|
||||
--plugin-track "${{ matrix.plugin_track }}"
|
||||
|
||||
- name: Install OpenClaw lifecycle dependencies
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
run: |
|
||||
corepack enable
|
||||
pnpm --dir openclaw install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- name: Fetch main dashboard baseline
|
||||
if: ${{ steps.select.outputs.run == 'true' && matrix.track != 'latest' }}
|
||||
run: |
|
||||
mkdir -p .crabpot/baseline
|
||||
git fetch --no-tags --depth=1 origin main
|
||||
git show origin/main:reports/crabpot-dashboard-data.json > .crabpot/baseline/main-dashboard-data.json || true
|
||||
|
||||
- name: Write branch dashboard
|
||||
if: ${{ steps.select.outputs.run == 'true' }}
|
||||
env:
|
||||
CRABPOT_FIXTURE_SET: ${{ matrix.fixture_set }}
|
||||
CRABPOT_OPENCLAW_TRACK: ${{ matrix.track }}
|
||||
CRABPOT_PLUGIN_TRACK: ${{ matrix.plugin_track }}
|
||||
CRABPOT_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
run: |
|
||||
export CRABPOT_SUMMARY_GENERATED_AT="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
execution_results_arg=""
|
||||
if [ "${{ matrix.track }}" = "development" ]; then
|
||||
CRABPOT_EXECUTE_ISOLATED=1 node scripts/execute-workspace-plan.mjs --fixture-set openclaw-beta --openclaw ./openclaw --continue-on-error
|
||||
node scripts/summarize-execution-results.mjs --write
|
||||
execution_results_arg="--execution-results reports/crabpot-execution-results.json"
|
||||
fi
|
||||
node scripts/generate-report.mjs --openclaw ./openclaw ${execution_results_arg}
|
||||
node scripts/capture-contracts.mjs --openclaw ./openclaw
|
||||
node scripts/synthetic-probes.mjs --openclaw ./openclaw
|
||||
node scripts/cold-import-readiness.mjs --openclaw ./openclaw
|
||||
node scripts/workspace-plan.mjs --openclaw ./openclaw
|
||||
node scripts/platform-probes.mjs --openclaw ./openclaw
|
||||
node scripts/check-generated-surface-fixture.mjs --openclaw ./openclaw
|
||||
node scripts/import-loop-profile.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/profile-contract-runtime.mjs --openclaw ./openclaw --runs 3
|
||||
node scripts/compare-runtime-profile.mjs
|
||||
node scripts/check-ci-policy.mjs
|
||||
node scripts/write-ci-summary.mjs --mode "track:${{ matrix.track }}" --openclaw-label "${{ steps.openclaw-track.outputs.label }}"
|
||||
node scripts/update-track-metadata.mjs --track "${{ matrix.track }}"
|
||||
baseline_arg=""
|
||||
if [ -f .crabpot/baseline/main-dashboard-data.json ]; then
|
||||
baseline_arg="--baseline-data .crabpot/baseline/main-dashboard-data.json"
|
||||
fi
|
||||
node scripts/update-readme-summary.mjs ${baseline_arg}
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add README.md reports/
|
||||
if ! git diff --cached --quiet; then
|
||||
git commit -m "chore(readme): refresh ${{ matrix.track }} dashboard [skip ci]"
|
||||
if [ "${{ matrix.branch }}" = "main" ]; then
|
||||
git push origin HEAD:${{ matrix.branch }}
|
||||
else
|
||||
git fetch --no-tags --depth=1 origin "${{ matrix.branch }}"
|
||||
git push --force-with-lease="refs/heads/${{ matrix.branch }}" origin HEAD:${{ matrix.branch }}
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Upload track reports
|
||||
if: ${{ always() && steps.select.outputs.run == 'true' }}
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: crabpot-track-${{ matrix.track }}-reports
|
||||
path: reports/
|
||||
if-no-files-found: warn
|
||||
24
.gitmodules
vendored
24
.gitmodules
vendored
@ -90,3 +90,27 @@
|
||||
path = plugins/mocrane-wecom
|
||||
url = https://github.com/TencentCloud-Lighthouse/openclaw-wecom.git
|
||||
shallow = true
|
||||
[submodule "plugins/dingtalk-connector"]
|
||||
path = plugins/dingtalk-connector
|
||||
url = https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector.git
|
||||
shallow = true
|
||||
[submodule "plugins/kitchen-sink"]
|
||||
path = plugins/kitchen-sink
|
||||
url = https://github.com/openclaw/kitchen-sink.git
|
||||
shallow = true
|
||||
[submodule "plugins/openclaw-telemetry"]
|
||||
path = plugins/openclaw-telemetry
|
||||
url = https://github.com/knostic/openclaw-telemetry.git
|
||||
shallow = true
|
||||
[submodule "plugins/telnyx-sms"]
|
||||
path = plugins/telnyx-sms
|
||||
url = https://github.com/team-telnyx/telnyx-openclaw-sms-channel.git
|
||||
shallow = true
|
||||
[submodule "plugins/clawrouter"]
|
||||
path = plugins/clawrouter
|
||||
url = https://github.com/BlockRunAI/ClawRouter.git
|
||||
shallow = true
|
||||
[submodule "plugins/nemoclaw"]
|
||||
path = plugins/nemoclaw
|
||||
url = https://github.com/NVIDIA/NemoClaw.git
|
||||
shallow = true
|
||||
|
||||
4
.rgignore
Normal file
4
.rgignore
Normal file
@ -0,0 +1,4 @@
|
||||
# External plugin submodule history/comments that mention retired OpenClaw
|
||||
# metadata. Crabpot-owned files are checked by npm run check:contracts.
|
||||
plugins/agentchat/integrations/openclaw-channel/CHANGELOG.md
|
||||
plugins/nemoclaw/scripts/generate-openclaw-config.py
|
||||
@ -8,5 +8,9 @@
|
||||
opt-in and secrets.
|
||||
- Prefer seam labels over product categories: `dynamic-tool`, `llm-observer`,
|
||||
`gateway-service`, `provider-capability`, and similar.
|
||||
- Treat `openclaw` package dependencies as host-linked inputs owned by the
|
||||
inspector/workspace plan, not as upstream plugin install findings.
|
||||
- When plugin-inspector behavior or package versions change, update both the
|
||||
source ref and generated report/test expectations. After npm publish, update
|
||||
the package pin and run both source-mode and package-mode smoke checks.
|
||||
- When adding a fixture, explain the unique seam it covers in `why`.
|
||||
|
||||
|
||||
122
README.md
122
README.md
@ -1,69 +1,77 @@
|
||||
# crabpot
|
||||
# 🦀 crabpot
|
||||
|
||||
Compatibility trap for OpenClaw plugin contracts.
|
||||
<img width="1376" height="768" alt="crabpot" src="https://github.com/user-attachments/assets/79eb0be1-0736-4a78-a62d-cb66ab080c60" />
|
||||
<p></p>
|
||||
|
||||
`crabpot` keeps a curated set of real community plugins pinned under `plugins/`
|
||||
and runs seam-focused compatibility checks against OpenClaw plugin APIs. The goal
|
||||
is to catch contract drift before external plugin authors do.
|
||||
**Goto: [Latest Published](https://github.com/openclaw/crabpot/tree/main) | [Latest Beta](https://github.com/openclaw/crabpot/tree/crab-beta) | [Main Development](https://github.com/openclaw/crabpot/tree/crab-development)**
|
||||
|
||||
**Compatibility trap for OpenClaw plugin contracts.** `crabpot` keeps a curated set of real community plugins pinned under `plugins/` and runs seam-focused compatibility checks against OpenClaw plugin APIs. The goal is to catch contract drift before external plugin authors do. Built on top of `plugin-inspector`, the testing harness for OpenClaw.
|
||||
|
||||
## Reporting Data
|
||||
|
||||
`main` follows the latest published npm package and npm `latest` plugin artifacts, with bundled OpenClaw fixtures source-packed from the matching checkout. `crab-beta` follows beta npm dist-tags for externalized packages and source-packs bundled fixtures. `crab-development` checks `openclaw/openclaw` main against source-packed official plugin artifacts from that same OpenClaw checkout.
|
||||
- **Last dashboard update:** May 07, 2026, 09:32 UTC
|
||||
<!-- crabpot-tracks:start -->
|
||||
- **Source:** `npm-latest`
|
||||
- **OpenClaw version:** `2026.5.6`
|
||||
- **OpenClaw SHA:** `c97b9f79ec43`
|
||||
- **Dashboard target:** `openclaw@latest + @openclaw/*@latest + bundled source fixtures`
|
||||
- **Plugin artifacts:** `npm latest fixture set plus bundled source-packed fixtures`
|
||||
- **GitHub report run:** [25487512981](https://github.com/openclaw/crabpot/actions/runs/25487512981)
|
||||
<!-- crabpot-tracks:end -->
|
||||
|
||||
<!-- crabpot-summary:start -->
|
||||
## Dashboard
|
||||
|
||||
Last dashboard update: Apr 26, 2026, 08:52 UTC
|
||||
| Metric | Result |
|
||||
| ---------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| Fixtures | 57 |
|
||||
| Hard breakages | 0 |
|
||||
| Warnings | 126 |
|
||||
| Suggestions | 155 |
|
||||
| Issues | 281 |
|
||||
| P0 issues | [🔴 P0 0](reports/crabpot-issues.md#p0-live-issues) |
|
||||
| P1 issues | [🟠 P1 15](reports/crabpot-issues.md#triage-summary) |
|
||||
| Live issues | 0 total / 0 P0 |
|
||||
| Compat gaps | 2 |
|
||||
| Deprecation warnings | 42 |
|
||||
| Inspector gaps | 163 |
|
||||
| Upstream metadata | 74 |
|
||||
| Contract probes | 277 |
|
||||
| Policy failures | 0 |
|
||||
| Policy warnings | 19 |
|
||||
| Ref diff failures | 0 |
|
||||
| Profile failures | 0 |
|
||||
| Execution probes | 12 pass / 0 fail / 18 blocked |
|
||||
| Synthetic probes | 434 ready / 0 blocked / 434 total |
|
||||
| Cold import | 6 ready / 97 blocked / 103 entrypoints |
|
||||
| Workspace plan | 103 entrypoints / 43 installs / 11 builds |
|
||||
| Platform risks | 14 Windows / 14 container |
|
||||
| Jiti loader candidates | 25 |
|
||||
| Import loop | p50 2421ms / p95 2471ms / plugin delta RSS 13.3MB / plugin delta CPU 35ms / OpenClaw import 84ms / activate 0.3ms |
|
||||
| Runtime profile | p50 2337ms / command p95 2391ms / max RSS 455.4MB / 3 samples/command |
|
||||
|
||||
State: PASS
|
||||
### OpenClaw Lifecycle Probe
|
||||
|
||||
Mode: check
|
||||
|
||||
OpenClaw: openclaw/openclaw@main
|
||||
|
||||
Run: https://github.com/openclaw/crabpot/actions/runs/24952631216
|
||||
|
||||
### Result Grid
|
||||
|
||||
| Metric | Result |
|
||||
| ---------------------- | ---------------------------------------------------- |
|
||||
| Fixtures | 27 |
|
||||
| Hard breakages | 0 |
|
||||
| Warnings | 51 |
|
||||
| Suggestions | 92 |
|
||||
| Issues | 143 |
|
||||
| P0 issues | [🔴 P0 2](reports/crabpot-issues.md#p0-live-issues) |
|
||||
| P1 issues | [🟠 P1 26](reports/crabpot-issues.md#triage-summary) |
|
||||
| Live issues | 2 total / 2 P0 |
|
||||
| Compat gaps | 1 |
|
||||
| Deprecation warnings | 21 |
|
||||
| Inspector gaps | 97 |
|
||||
| Upstream metadata | 22 |
|
||||
| Contract probes | 141 |
|
||||
| Policy failures | 0 |
|
||||
| Policy warnings | 3 |
|
||||
| Ref diff failures | 0 |
|
||||
| Profile failures | 0 |
|
||||
| Execution probes | 6 pass / 0 fail / 2 blocked |
|
||||
| Synthetic probes | 141 ready / 0 blocked / 141 total |
|
||||
| Cold import | 0 ready / 30 blocked / 30 entrypoints |
|
||||
| Workspace plan | 30 entrypoints / 20 installs / 7 builds |
|
||||
| Platform risks | 153 Windows / 47 container |
|
||||
| Jiti loader candidates | 18 |
|
||||
| Import loop | p50 153ms / p95 165ms / max RSS 46.3MB / CPU 27ms |
|
||||
| Runtime profile | p50 649ms / p95 1329ms / max RSS 68.7MB |
|
||||
| Phase | p50 | p95 |
|
||||
| -------------------------- | ----- | ------ |
|
||||
| Import (`full`) | 84ms | 88.6ms |
|
||||
| Activate (`full:register`) | 0.3ms | 1.2ms |
|
||||
|
||||
### Top Discovered Issues
|
||||
|
||||
| Severity | Class | Fixture | Code | Decision | Title |
|
||||
| -------- | ------------- | ---------------- | ------------------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 🔴 P0 | live-issue | codex-app-server | sdk-export-missing | core-compat-adapter | [codex-app-server: plugin SDK import aliases are missing from target package exports](reports/crabpot-issues.md#p0-live-issues) |
|
||||
| 🔴 P0 | live-issue | hyperspell | unknown-hook-name | core-compat-adapter | [hyperspell: fixture uses a hook missing from target OpenClaw](reports/crabpot-issues.md#p0-live-issues) |
|
||||
| 🟠 P1 | inspector-gap | a2a-gateway | registration-capture-gap | inspector-follow-up | [a2a-gateway: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | clawmetry | registration-capture-gap | inspector-follow-up | [clawmetry: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | compat-gap | codex-app-server | missing-compat-record | core-compat-adapter | [codex-app-server: compat-dependent behavior lacks registry coverage](reports/crabpot-issues.md#compat-gaps) |
|
||||
| 🟠 P1 | inspector-gap | codex-app-server | registration-capture-gap | inspector-follow-up | [codex-app-server: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | connectclaw | registration-capture-gap | inspector-follow-up | [connectclaw: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | honcho | conversation-access-hook | inspector-follow-up | [honcho: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | honcho | registration-capture-gap | inspector-follow-up | [honcho: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | hyperspell | conversation-access-hook | inspector-follow-up | [hyperspell: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| Severity | Class | Fixture | Code | Decision | Title |
|
||||
| -------- | ------------- | ----------------- | ------------------------ | ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 🟠 P1 | compat-gap | clawmetry | sdk-export-missing | core-compat-adapter | [clawmetry: plugin SDK import aliases are missing from target package exports](reports/crabpot-issues.md#compat-gaps) |
|
||||
| 🟠 P1 | inspector-gap | honcho | conversation-access-hook | inspector-follow-up | [honcho: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | compat-gap | honcho | sdk-export-missing | core-compat-adapter | [honcho: plugin SDK import aliases are missing from target package exports](reports/crabpot-issues.md#compat-gaps) |
|
||||
| 🟠 P1 | inspector-gap | kitchen-sink | before-tool-call-probe | inspector-follow-up | [kitchen-sink: before_tool_call needs terminal/block/approval probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | kitchen-sink | conversation-access-hook | inspector-follow-up | [kitchen-sink: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | llm-trace-phoenix | conversation-access-hook | inspector-follow-up | [llm-trace-phoenix: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | memory-lancedb | conversation-access-hook | inspector-follow-up | [memory-lancedb: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | memory-tencentdb | conversation-access-hook | inspector-follow-up | [memory-tencentdb: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | memos-cloud | conversation-access-hook | inspector-follow-up | [memos-cloud: conversation-access hooks need privacy-boundary probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
| 🟠 P1 | inspector-gap | nemoclaw | before-tool-call-probe | inspector-follow-up | [nemoclaw: before_tool_call needs terminal/block/approval probes](reports/crabpot-issues.md#inspector-proof-gaps) |
|
||||
<!-- crabpot-summary:end -->
|
||||
## What this tests
|
||||
|
||||
@ -135,11 +143,13 @@ For deeper review, open the reports in this order:
|
||||
| Isolated install/build/capture commands Crabpot would run | `npm run workspace:plan` | `reports/crabpot-workspace-plan.md` |
|
||||
| Results from opt-in isolated fixture execution | `npm run execution:report` | `reports/crabpot-execution-results.md` |
|
||||
| Boot time and RSS against the target OpenClaw registry surface | `npm run profile` | `reports/crabpot-runtime-profile.md` |
|
||||
| README dashboard refresh from all generated JSON reports | `npm run readme:summary` | `README.md` |
|
||||
| README dashboard refresh from all generated JSON reports | `npm run readme:summary` | `README.md`, `reports/crabpot-dashboard-data.json` |
|
||||
|
||||
Each Markdown report has a matching JSON file beside it for CI, dashboards, and
|
||||
future inspector tooling. The JSON is the contract; the Markdown is the review
|
||||
surface.
|
||||
surface. `reports/crabpot-dashboard-data.json` is the compact machine-readable
|
||||
dashboard card used to compare `crab-beta` and `crab-development` against
|
||||
`main`.
|
||||
|
||||
Use the main compatibility report like this:
|
||||
|
||||
|
||||
@ -12,9 +12,37 @@
|
||||
{
|
||||
"id": "service-lifecycle-harness",
|
||||
"seam": "registerService",
|
||||
"reasonIncludes": "lifecycle",
|
||||
"reasonIncludes": "includeLifecycle=true",
|
||||
"decision": "allowed-blocked",
|
||||
"until": "service lifecycle harness lands"
|
||||
},
|
||||
{
|
||||
"id": "provider-capability-harness",
|
||||
"seam": "registerSpeechProvider",
|
||||
"reasonIncludes": "includeProviderCapabilities=true",
|
||||
"decision": "allowed-blocked",
|
||||
"until": "provider capability harness lands"
|
||||
},
|
||||
{
|
||||
"id": "live-network-tool-probes",
|
||||
"seam": "registerTool",
|
||||
"reasonIncludes": "live network access",
|
||||
"decision": "allowed-blocked",
|
||||
"until": "network-capability harness lands"
|
||||
},
|
||||
{
|
||||
"id": "generated-surface-hook-stubs",
|
||||
"seam": "*",
|
||||
"reasonIncludes": "captured hook has no callable handler",
|
||||
"decision": "allowed-blocked",
|
||||
"until": "generated surface runtime harness lands"
|
||||
},
|
||||
{
|
||||
"id": "generated-surface-registration-stubs",
|
||||
"seam": "*",
|
||||
"reasonIncludes": "captured registration has no supported callable probe",
|
||||
"decision": "allowed-blocked",
|
||||
"until": "generated surface runtime harness lands"
|
||||
}
|
||||
],
|
||||
"expectedWarnings": [
|
||||
@ -34,6 +62,16 @@
|
||||
},
|
||||
"fixtureSets": {
|
||||
"smoke": ["wecom", "llm-trace-phoenix", "codex-app-server", "opik-openclaw"],
|
||||
"openclaw-beta": [
|
||||
"brave-plugin",
|
||||
"codex",
|
||||
"diagnostics-prometheus",
|
||||
"google-meet",
|
||||
"diffs",
|
||||
"memory-lancedb",
|
||||
"openclaw-qqbot",
|
||||
"whatsapp"
|
||||
],
|
||||
"sdk-alias": ["codex-app-server"],
|
||||
"side-effect-review": ["hasdata", "llm-trace-phoenix", "web-search-plus"],
|
||||
"build": ["agentchat", "clawmetry", "opik-openclaw"]
|
||||
|
||||
@ -124,6 +124,26 @@
|
||||
},
|
||||
"why": "Opik trace exporter covering LLM spans, tool spans, subagent spans, stale trace cleanup, CLI setup, and persisted tool-result sanitization."
|
||||
},
|
||||
{
|
||||
"id": "openclaw-telemetry",
|
||||
"name": "OpenClaw Telemetry",
|
||||
"repo": "https://github.com/knostic/openclaw-telemetry.git",
|
||||
"path": "plugins/openclaw-telemetry",
|
||||
"priority": "high",
|
||||
"seams": ["diagnostics", "llm-observer", "tool-runtime", "message-lifecycle", "gateway-service"],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"before_tool_call",
|
||||
"after_tool_call",
|
||||
"message_received",
|
||||
"message_sent",
|
||||
"before_agent_start",
|
||||
"agent_end"
|
||||
],
|
||||
"registrations": ["registerService"]
|
||||
},
|
||||
"why": "Telemetry fixture covering high-volume lifecycle hooks, tool-call capture, message events, JSONL/syslog sinks, redaction, rate limiting, and integrity hash chains."
|
||||
},
|
||||
{
|
||||
"id": "lossless-claw",
|
||||
"name": "Lossless Claw (LCM)",
|
||||
@ -157,12 +177,11 @@
|
||||
"repo": "https://github.com/hyperspell/hyperspell-openclaw.git",
|
||||
"path": "plugins/hyperspell",
|
||||
"priority": "high",
|
||||
"seams": ["memory-runtime", "prompt-mutation", "session-lifecycle", "file-watch", "cli"],
|
||||
"seams": ["dynamic-tool", "external-memory", "cli"],
|
||||
"expect": {
|
||||
"hooks": ["before_agent_start", "after_compaction", "session_end", "agent_end", "file_changed"],
|
||||
"registrations": ["registerCli", "registerCommand", "registerService", "registerTool"]
|
||||
"registrations": ["registerCli", "registerCommand", "registerTool"]
|
||||
},
|
||||
"why": "Memory and context fixture covering legacy startup hooks, compaction/session hooks, file-change sync, CLI setup, command handlers, and tool-backed external memory search/write."
|
||||
"why": "Memory and context fixture covering CLI setup, command handlers, and tool-backed external memory search/write."
|
||||
},
|
||||
{
|
||||
"id": "honcho",
|
||||
@ -204,6 +223,855 @@
|
||||
},
|
||||
"why": "NPM-installed dynamic tool fixture for Composio/MCP integration, prompt context injection, CLI setup, external API auth, and large remote tool catalogs."
|
||||
},
|
||||
{
|
||||
"id": "kitchen-sink",
|
||||
"name": "OpenClaw Kitchen Sink",
|
||||
"repo": "https://github.com/openclaw/kitchen-sink.git",
|
||||
"path": "plugins/kitchen-sink",
|
||||
"priority": "high",
|
||||
"seams": [
|
||||
"plugin-api-surface",
|
||||
"hook",
|
||||
"registration-surface",
|
||||
"manifest-contracts",
|
||||
"provider-capability",
|
||||
"credential-free"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"after_compaction",
|
||||
"after_tool_call",
|
||||
"agent_end",
|
||||
"before_agent_finalize",
|
||||
"before_agent_reply",
|
||||
"before_agent_start",
|
||||
"before_compaction",
|
||||
"before_dispatch",
|
||||
"before_install",
|
||||
"before_message_write",
|
||||
"before_model_resolve",
|
||||
"before_prompt_build",
|
||||
"before_reset",
|
||||
"before_tool_call",
|
||||
"gateway_start",
|
||||
"gateway_stop",
|
||||
"inbound_claim",
|
||||
"llm_input",
|
||||
"llm_output",
|
||||
"message_received",
|
||||
"message_sending",
|
||||
"message_sent",
|
||||
"model_call_ended",
|
||||
"model_call_started",
|
||||
"reply_dispatch",
|
||||
"session_end",
|
||||
"session_start",
|
||||
"subagent_delivery_target",
|
||||
"subagent_ended",
|
||||
"subagent_spawned",
|
||||
"subagent_spawning",
|
||||
"tool_result_persist"
|
||||
],
|
||||
"registrations": [
|
||||
"registerAgentHarness",
|
||||
"registerAgentToolResultMiddleware",
|
||||
"registerAutoEnableProbe",
|
||||
"registerChannel",
|
||||
"registerCli",
|
||||
"registerCliBackend",
|
||||
"registerCodexAppServerExtensionFactory",
|
||||
"registerCommand",
|
||||
"registerCompactionProvider",
|
||||
"registerConfigMigration",
|
||||
"registerContextEngine",
|
||||
"registerDetachedTaskRuntime",
|
||||
"registerGatewayDiscoveryService",
|
||||
"registerGatewayMethod",
|
||||
"registerHook",
|
||||
"registerHttpRoute",
|
||||
"registerImageGenerationProvider",
|
||||
"registerInteractiveHandler",
|
||||
"registerMediaUnderstandingProvider",
|
||||
"registerMemoryCapability",
|
||||
"registerMemoryCorpusSupplement",
|
||||
"registerMemoryEmbeddingProvider",
|
||||
"registerMemoryFlushPlan",
|
||||
"registerMemoryPromptSection",
|
||||
"registerMemoryPromptSupplement",
|
||||
"registerMemoryRuntime",
|
||||
"registerMigrationProvider",
|
||||
"registerMusicGenerationProvider",
|
||||
"registerNodeHostCommand",
|
||||
"registerProvider",
|
||||
"registerRealtimeTranscriptionProvider",
|
||||
"registerRealtimeVoiceProvider",
|
||||
"registerReload",
|
||||
"registerSecurityAuditCollector",
|
||||
"registerService",
|
||||
"registerSpeechProvider",
|
||||
"registerTextTransforms",
|
||||
"registerTool",
|
||||
"registerVideoGenerationProvider",
|
||||
"registerWebFetchProvider",
|
||||
"registerWebSearchProvider"
|
||||
],
|
||||
"manifestContracts": [
|
||||
"agentToolResultMiddleware",
|
||||
"documentExtractors",
|
||||
"embeddedExtensionFactories",
|
||||
"externalAuthProviders",
|
||||
"imageGenerationProviders",
|
||||
"mediaUnderstandingProviders",
|
||||
"memoryEmbeddingProviders",
|
||||
"migrationProviders",
|
||||
"musicGenerationProviders",
|
||||
"realtimeTranscriptionProviders",
|
||||
"realtimeVoiceProviders",
|
||||
"speechProviders",
|
||||
"tools",
|
||||
"videoGenerationProviders",
|
||||
"webContentExtractors",
|
||||
"webFetchProviders",
|
||||
"webSearchProviders"
|
||||
]
|
||||
},
|
||||
"why": "Credential-free generated fixture covering the public OpenClaw plugin API surface across hooks, registrars, provider capabilities, setup metadata, manifest contracts, and SDK import compatibility."
|
||||
},
|
||||
{
|
||||
"id": "bluebubbles",
|
||||
"name": "OpenClaw BlueBubbles channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/bluebubbles",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/bluebubbles",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/bluebubbles",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"account-auth",
|
||||
"media",
|
||||
"macos-bridge",
|
||||
"npm-artifact"
|
||||
],
|
||||
"why": "Official OpenClaw BlueBubbles channel package covering macOS/iMessage bridge assumptions, account auth, media-capable channel metadata, and npm artifact packaging from the monorepo.",
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "diagnostics-otel",
|
||||
"name": "OpenClaw diagnostics OpenTelemetry exporter",
|
||||
"package": {
|
||||
"name": "@openclaw/diagnostics-otel",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/diagnostics-otel",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/diagnostics-otel",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"diagnostics",
|
||||
"telemetry",
|
||||
"otel-export",
|
||||
"service",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerService"
|
||||
]
|
||||
},
|
||||
"why": "Official OpenClaw OpenTelemetry diagnostics package covering service registration, telemetry exporter setup, and npm package metadata mapped back to the monorepo source."
|
||||
},
|
||||
{
|
||||
"id": "discord",
|
||||
"name": "OpenClaw Discord channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/discord",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/discord",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/discord",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"subagent-routing",
|
||||
"message-policy",
|
||||
"account-auth",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"subagent_delivery_target",
|
||||
"subagent_ended",
|
||||
"subagent_spawning"
|
||||
],
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official OpenClaw Discord channel package covering subagent routing hooks, message policy, account auth, and npm artifact packaging from the monorepo."
|
||||
},
|
||||
{
|
||||
"id": "lobster",
|
||||
"name": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
|
||||
"package": {
|
||||
"name": "@openclaw/lobster",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/lobster",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/lobster",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"tool",
|
||||
"workflow",
|
||||
"approval",
|
||||
"async-job",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official Lobster workflow package covering typed pipeline tools, resumable approval semantics, manifest tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "matrix",
|
||||
"name": "OpenClaw Matrix channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/matrix",
|
||||
"tag": "latest",
|
||||
"artifactSource": "source-pack"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/matrix",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/matrix",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"gateway-method",
|
||||
"subagent-routing",
|
||||
"cli"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official bundled OpenClaw Matrix channel package covering CLI setup, gateway methods, and subagent routing hooks; Crabpot source-packs it from the OpenClaw monorepo instead of requiring a separate npm dist-tag."
|
||||
},
|
||||
{
|
||||
"id": "msteams",
|
||||
"name": "OpenClaw Microsoft Teams channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/msteams",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/msteams",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/msteams",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"account-auth",
|
||||
"enterprise-chat",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official Microsoft Teams channel package covering enterprise chat auth, channel factory metadata, message policy, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "nextcloud-talk",
|
||||
"name": "OpenClaw Nextcloud Talk channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/nextcloud-talk",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/nextcloud-talk",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/nextcloud-talk",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"account-auth",
|
||||
"self-hosted-chat",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official Nextcloud Talk channel package covering self-hosted chat setup, account auth, channel factory metadata, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "nostr",
|
||||
"name": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
|
||||
"package": {
|
||||
"name": "@openclaw/nostr",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/nostr",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/nostr",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"encrypted-dm",
|
||||
"http-routes",
|
||||
"account-auth",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel",
|
||||
"registerHttpRoute"
|
||||
]
|
||||
},
|
||||
"why": "Official Nostr channel package covering encrypted DM channel behavior, HTTP route registration, account auth, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "voice-call",
|
||||
"name": "OpenClaw voice-call plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/voice-call",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/voice-call",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/voice-call",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"tool",
|
||||
"gateway-method",
|
||||
"service",
|
||||
"config-migration",
|
||||
"cli"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerCli",
|
||||
"registerGatewayMethod",
|
||||
"registerService",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official voice-call package covering gateway methods, service lifecycle, tool registration, config migration, CLI setup, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "zalo",
|
||||
"name": "OpenClaw Zalo channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/zalo",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/zalo",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/zalo",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"account-auth",
|
||||
"media",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official Zalo channel package covering account auth, media-capable channel metadata, channel factory registration, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "zalouser",
|
||||
"name": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
|
||||
"package": {
|
||||
"name": "@openclaw/zalouser",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/zalouser",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/zalouser",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"native-integration",
|
||||
"account-auth",
|
||||
"tool",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official Zalo personal account package covering native zca-js integration, channel factory registration, tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "feishu",
|
||||
"name": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
|
||||
"package": {
|
||||
"name": "@openclaw/feishu",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/feishu",
|
||||
"ref": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
},
|
||||
"path": "plugins/feishu",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"subagent-routing",
|
||||
"tool",
|
||||
"account-auth",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official Feishu/Lark channel package covering subagent routing hooks, account auth, tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "tlon",
|
||||
"name": "OpenClaw Tlon/Urbit channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/tlon",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/tlon",
|
||||
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
},
|
||||
"path": "plugins/tlon",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"federated-network",
|
||||
"account-auth",
|
||||
"tool",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official Tlon/Urbit channel package covering federated-network account setup, channel factory registration, tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "twitch",
|
||||
"name": "OpenClaw Twitch channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/twitch",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/twitch",
|
||||
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
},
|
||||
"path": "plugins/twitch",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"streaming-chat",
|
||||
"account-auth",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"why": "Official Twitch channel package covering streaming-chat channel metadata, account auth, message policy, and npm artifact packaging.",
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "mattermost",
|
||||
"name": "OpenClaw Mattermost channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/mattermost",
|
||||
"tag": "latest",
|
||||
"artifactSource": "source-pack"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/mattermost",
|
||||
"ref": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
},
|
||||
"path": "plugins/mattermost",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"http-routes",
|
||||
"self-hosted-chat",
|
||||
"account-auth"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official bundled Mattermost channel package covering self-hosted chat auth, HTTP route registration, and channel factory metadata; Crabpot source-packs it from the OpenClaw monorepo instead of requiring a separate npm dist-tag."
|
||||
},
|
||||
{
|
||||
"id": "synology-chat",
|
||||
"name": "Synology Chat channel plugin for OpenClaw",
|
||||
"package": {
|
||||
"name": "@openclaw/synology-chat",
|
||||
"tag": "latest"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/synology-chat",
|
||||
"ref": "b19a6ee62db342d400a233903adcaf17f67246c5"
|
||||
},
|
||||
"path": "plugins/synology-chat",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"self-hosted-chat",
|
||||
"account-auth",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerChannel"
|
||||
]
|
||||
},
|
||||
"why": "Official Synology Chat channel package covering self-hosted chat setup, channel factory registration, account auth, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "brave-plugin",
|
||||
"name": "OpenClaw Brave plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/brave-plugin",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/brave",
|
||||
"ref": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
|
||||
},
|
||||
"path": "plugins/brave-plugin",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"provider-capability",
|
||||
"web-search-provider",
|
||||
"external-api",
|
||||
"env-auth",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerWebSearchProvider"
|
||||
],
|
||||
"manifestContracts": [
|
||||
"webSearchProviders"
|
||||
]
|
||||
},
|
||||
"why": "Official Brave search package covering web search provider registration, external API/env auth metadata, manifest provider contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "codex",
|
||||
"name": "OpenClaw Codex harness and model provider plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/codex",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/codex",
|
||||
"ref": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
|
||||
},
|
||||
"path": "plugins/codex",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"agent-harness",
|
||||
"provider-capability",
|
||||
"media-understanding",
|
||||
"migration-provider",
|
||||
"channel-bridge"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"inbound_claim"
|
||||
],
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerAgentHarness",
|
||||
"registerCommand",
|
||||
"registerMediaUnderstandingProvider",
|
||||
"registerMigrationProvider",
|
||||
"registerProvider"
|
||||
],
|
||||
"manifestContracts": [
|
||||
"mediaUnderstandingProviders",
|
||||
"migrationProviders"
|
||||
]
|
||||
},
|
||||
"why": "Official Codex package covering agent harness registration, model provider wiring, media understanding, migrations, inbound claims, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "diagnostics-prometheus",
|
||||
"name": "OpenClaw diagnostics Prometheus exporter",
|
||||
"package": {
|
||||
"name": "@openclaw/diagnostics-prometheus",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/diagnostics-prometheus",
|
||||
"ref": "f4ef1bf04e9637958418428db0ff9e75e6698159"
|
||||
},
|
||||
"path": "plugins/diagnostics-prometheus",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"diagnostics",
|
||||
"telemetry",
|
||||
"prometheus-export",
|
||||
"http-routes",
|
||||
"service"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerHttpRoute",
|
||||
"registerService"
|
||||
]
|
||||
},
|
||||
"why": "Official Prometheus diagnostics package covering service lifecycle, metrics HTTP routes, telemetry export, and monorepo-backed npm packaging."
|
||||
},
|
||||
{
|
||||
"id": "google-meet",
|
||||
"name": "OpenClaw Google Meet participant plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/google-meet",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/google-meet",
|
||||
"ref": "f4ef1bf04e9637958418428db0ff9e75e6698159"
|
||||
},
|
||||
"path": "plugins/google-meet",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"tool",
|
||||
"gateway-method",
|
||||
"node-host-command",
|
||||
"meeting",
|
||||
"cli"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerCli",
|
||||
"registerGatewayMethod",
|
||||
"registerNodeHostCommand",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official Google Meet package covering meeting tools, gateway methods, node host commands, CLI setup, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "diffs",
|
||||
"name": "OpenClaw diff viewer plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/diffs",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/diffs",
|
||||
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
},
|
||||
"path": "plugins/diffs",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"tool",
|
||||
"http-routes",
|
||||
"prompt-mutation",
|
||||
"diff-viewer",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"before_prompt_build"
|
||||
],
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerHttpRoute",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official diff viewer package covering prompt mutation, HTTP route UI surface, tool registration, manifest tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "memory-lancedb",
|
||||
"name": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
|
||||
"package": {
|
||||
"name": "@openclaw/memory-lancedb",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/memory-lancedb",
|
||||
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
},
|
||||
"path": "plugins/memory-lancedb",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"memory-runtime",
|
||||
"prompt-mutation",
|
||||
"session-lifecycle",
|
||||
"vector-store",
|
||||
"cli"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": [
|
||||
"agent_end",
|
||||
"before_prompt_build",
|
||||
"session_end"
|
||||
],
|
||||
"registrations": [
|
||||
"definePluginEntry",
|
||||
"registerCli",
|
||||
"registerService",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official LanceDB memory package covering automatic recall/capture hooks, vector-store lifecycle, service/CLI setup, tool contracts, and npm artifact packaging."
|
||||
},
|
||||
{
|
||||
"id": "openclaw-qqbot",
|
||||
"name": "OpenClaw QQ Bot channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/qqbot",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/qqbot",
|
||||
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
},
|
||||
"path": "plugins/openclaw-qqbot",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"command",
|
||||
"tool",
|
||||
"media",
|
||||
"npm-artifact"
|
||||
],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerCommand",
|
||||
"registerTool"
|
||||
]
|
||||
},
|
||||
"why": "Official OpenClaw QQ Bot npm package covering command/tool registration, channel manifest metadata, media-capable messaging, and monorepo source mapping without replacing the external QQBot fixture."
|
||||
},
|
||||
{
|
||||
"id": "whatsapp",
|
||||
"name": "OpenClaw WhatsApp channel plugin",
|
||||
"package": {
|
||||
"name": "@openclaw/whatsapp",
|
||||
"tag": "beta"
|
||||
},
|
||||
"source": {
|
||||
"repo": "https://github.com/openclaw/openclaw.git",
|
||||
"path": "extensions/whatsapp",
|
||||
"ref": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
},
|
||||
"path": "plugins/whatsapp",
|
||||
"priority": "medium",
|
||||
"seams": [
|
||||
"channel",
|
||||
"account-auth",
|
||||
"media",
|
||||
"message-policy",
|
||||
"npm-artifact"
|
||||
],
|
||||
"why": "Official WhatsApp channel package covering account auth, media-capable channel metadata, message policy, and npm artifact packaging from the monorepo."
|
||||
},
|
||||
{
|
||||
"id": "nemoclaw",
|
||||
"name": "NemoClaw",
|
||||
"repo": "https://github.com/NVIDIA/NemoClaw.git",
|
||||
"path": "plugins/nemoclaw",
|
||||
"subdir": "nemoclaw",
|
||||
"priority": "high",
|
||||
"seams": [
|
||||
"provider-capability",
|
||||
"prompt-mutation",
|
||||
"security-audit",
|
||||
"process-spawn",
|
||||
"command",
|
||||
"config-schema"
|
||||
],
|
||||
"expect": {
|
||||
"hooks": ["before_agent_start", "before_tool_call"],
|
||||
"registrations": ["registerCommand", "registerProvider"]
|
||||
},
|
||||
"why": "NVIDIA OpenShell fixture covering sandbox-aware runtime context injection, managed inference provider registration, slash-command migration/status flows, OpenShell CLI probing, and secret-blocking tool-call policy."
|
||||
},
|
||||
{
|
||||
"id": "memory-tencentdb",
|
||||
"name": "TencentDB Agent Memory",
|
||||
@ -232,6 +1100,18 @@
|
||||
},
|
||||
"why": "DingTalk channel fixture from the latest npm-backed repo, covering enterprise IM auth, channel setup, media handling, and webhook-style message ingress."
|
||||
},
|
||||
{
|
||||
"id": "dingtalk-connector",
|
||||
"name": "DingTalk Connector",
|
||||
"repo": "https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector.git",
|
||||
"path": "plugins/dingtalk-connector",
|
||||
"priority": "high",
|
||||
"seams": ["channel", "streaming", "account-auth", "interactive-card", "gateway-method"],
|
||||
"expect": {
|
||||
"registrations": ["registerChannel", "registerGatewayMethod"]
|
||||
},
|
||||
"why": "Official DingTalk connector fixture covering Stream-mode channel ingress, AI Card replies, multi-account access policy, gateway RPC methods, and packaged channel skills."
|
||||
},
|
||||
{
|
||||
"id": "mocrane-wecom",
|
||||
"name": "Mocrane WeCom",
|
||||
@ -256,7 +1136,7 @@
|
||||
"priority": "high",
|
||||
"seams": ["channel", "media", "command", "account-auth", "sdk-compat"],
|
||||
"expect": {
|
||||
"registrations": ["registerChannel", "registerTool", "registerCommand"]
|
||||
"registrations": ["createChatChannelPlugin", "registerTool", "registerCommand"]
|
||||
},
|
||||
"why": "NPM-pinned Yuanbao channel fixture covering bot auth, media messaging, built-in commands, command queue state compatibility, and root SDK imports."
|
||||
},
|
||||
@ -269,11 +1149,11 @@
|
||||
},
|
||||
"path": "plugins/openclaw-weixin",
|
||||
"priority": "high",
|
||||
"seams": ["channel", "media", "account-auth", "pairing", "sdk-subpaths"],
|
||||
"seams": ["channel", "media", "account-auth", "pairing", "sdk-subpaths", "catalog-discovery"],
|
||||
"expect": {
|
||||
"registrations": ["registerChannel"]
|
||||
},
|
||||
"why": "NPM-pinned Weixin channel fixture covering scan-login pairing, account isolation, media upload/download, and narrow SDK subpath usage."
|
||||
"why": "NPM-pinned Weixin channel fixture covering scan-login pairing, account isolation, media upload/download, narrow SDK subpath usage, and npm-installed channel catalog discovery."
|
||||
},
|
||||
{
|
||||
"id": "lightclawbot",
|
||||
@ -290,6 +1170,49 @@
|
||||
},
|
||||
"why": "NPM-pinned channel fixture covering cron/proactive messaging metadata, file upload tooling, bundled Socket.IO dependencies, and built JavaScript-only plugin packages."
|
||||
},
|
||||
{
|
||||
"id": "telnyx-sms",
|
||||
"name": "Telnyx SMS",
|
||||
"repo": "https://github.com/team-telnyx/telnyx-openclaw-sms-channel.git",
|
||||
"path": "plugins/telnyx-sms",
|
||||
"priority": "medium",
|
||||
"seams": ["channel", "media", "account-auth", "http-routes", "cli"],
|
||||
"expect": {
|
||||
"registrations": ["defineChannelPluginEntry", "registerCli", "registerHttpRoute"]
|
||||
},
|
||||
"why": "Telnyx-owned SMS/MMS channel fixture covering channel setup entries, multi-account phone-number auth, inbound webhook verification, HTTP route registration, MMS handling, and auto-exposure flows."
|
||||
},
|
||||
{
|
||||
"id": "clawrouter",
|
||||
"name": "ClawRouter",
|
||||
"repo": "https://github.com/BlockRunAI/ClawRouter.git",
|
||||
"path": "plugins/clawrouter",
|
||||
"priority": "medium",
|
||||
"seams": ["provider-capability", "gateway-service", "process-spawn", "command", "dynamic-tool"],
|
||||
"expect": {
|
||||
"registrations": [
|
||||
"registerProvider",
|
||||
"registerImageGenerationProvider",
|
||||
"registerMusicGenerationProvider",
|
||||
"registerVideoGenerationProvider",
|
||||
"registerWebSearchProvider",
|
||||
"registerTool",
|
||||
"registerCommand",
|
||||
"registerService"
|
||||
]
|
||||
},
|
||||
"execution": {
|
||||
"blockedFailures": [
|
||||
{
|
||||
"id": "clawrouter-live-network-tools",
|
||||
"seam": "registerTool",
|
||||
"errorIncludes": "fetch failed",
|
||||
"reason": "captured tool requires live network access"
|
||||
}
|
||||
]
|
||||
},
|
||||
"why": "Model-router fixture covering provider registration, generation/search provider capabilities, proxy sidecar lifecycle, x402 wallet/auth setup, command registration, partner tool surfacing, and config mutation edge cases."
|
||||
},
|
||||
{
|
||||
"id": "memu-engine",
|
||||
"name": "MemU Engine",
|
||||
|
||||
@ -34,7 +34,18 @@
|
||||
"properties": {
|
||||
"name": { "type": "string", "minLength": 1 },
|
||||
"version": { "type": "string", "minLength": 1 },
|
||||
"tag": { "type": "string", "minLength": 1 }
|
||||
"tag": { "type": "string", "minLength": 1 },
|
||||
"artifactSource": { "enum": ["npm", "source-pack"] }
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"type": "object",
|
||||
"required": ["repo", "path", "ref"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"repo": { "type": "string", "pattern": "^https://github.com/.+\\.git$" },
|
||||
"path": { "type": "string", "pattern": "^[^/].*" },
|
||||
"ref": { "type": "string", "minLength": 1 }
|
||||
}
|
||||
},
|
||||
"path": { "type": "string", "pattern": "^plugins/[a-z0-9][a-z0-9-]*$" },
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
# Inspector Plan
|
||||
|
||||
Crabpot is the fixture base. The reusable inspector should become a separate
|
||||
package later.
|
||||
Crabpot is the fixture base. The reusable inspector now lives in the separate
|
||||
`openclaw/plugin-inspector` repo and will replace the local prototype scripts in
|
||||
phases.
|
||||
|
||||
## Layers
|
||||
|
||||
@ -85,8 +86,24 @@ Generated reports live in `reports/`:
|
||||
- `crabpot-workspace-plan.md`
|
||||
- `crabpot-workspace-plan.json`
|
||||
|
||||
Later, replace the static scanner with the packaged inspector while keeping
|
||||
`crabpot.config.json` as the fixture manifest.
|
||||
The first packaged-inspector smoke runs through:
|
||||
|
||||
```bash
|
||||
npm run plugin-inspector:smoke
|
||||
```
|
||||
|
||||
The smoke writes ignored artifacts under `.crabpot/plugin-inspector-smoke/`.
|
||||
By default the smoke runs the published `@openclaw/plugin-inspector@0.1.3`
|
||||
package through `npm exec`. For local plugin-inspector development, set
|
||||
`CRABPOT_PLUGIN_INSPECTOR_CLI=source` to run the sibling or pinned source
|
||||
checkout instead. Set `CRABPOT_PLUGIN_INSPECTOR_BIN=/path/to/plugin-inspector`
|
||||
to test an arbitrary CLI binary.
|
||||
|
||||
Current migration state: `scripts/inspect-fixtures.mjs` delegates static source,
|
||||
manifest, and package inspection to `plugin-inspector` while preserving
|
||||
crabpot's existing command output and exported helper names. Crabpot keeps its
|
||||
orchestration, report paths, fixture policy, and opt-in execution guards; the
|
||||
reusable compatibility logic now lives in the published inspector package.
|
||||
|
||||
## Compatibility issue workflow
|
||||
|
||||
|
||||
@ -108,6 +108,7 @@ records, and manifest fields.
|
||||
Run the quality gate directly when changing classifiers:
|
||||
|
||||
```bash
|
||||
npm run plugin-inspector:smoke
|
||||
npm run contract:coverage
|
||||
npm run contract:capture -- --check
|
||||
npm run contract:synthetic -- --check
|
||||
@ -118,6 +119,11 @@ npm run profile -- --check
|
||||
node scripts/check-contract-coverage.mjs --openclaw ../openclaw
|
||||
```
|
||||
|
||||
`npm run plugin-inspector:smoke` uses the published
|
||||
`@openclaw/plugin-inspector@0.1.3` package by default. Use
|
||||
`CRABPOT_PLUGIN_INSPECTOR_CLI=source npm run plugin-inspector:smoke` only when
|
||||
validating local inspector source changes.
|
||||
|
||||
Issue severity means:
|
||||
|
||||
- `P0`: current hard breakage.
|
||||
|
||||
10
package.json
10
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "crabpot",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.4",
|
||||
"private": true,
|
||||
"description": "Compatibility testbed for OpenClaw community plugins and plugin seams.",
|
||||
"type": "module",
|
||||
@ -8,7 +8,9 @@
|
||||
"node": ">=22"
|
||||
},
|
||||
"scripts": {
|
||||
"check": "node scripts/sync-fixtures.mjs --materialize && npm test && node scripts/sync-fixtures.mjs --check && node scripts/run-contract-smoke.mjs && node scripts/inspect-fixtures.mjs --check && node scripts/generate-report.mjs --check && node scripts/capture-contracts.mjs --check && node scripts/synthetic-probes.mjs --check && node scripts/cold-import-readiness.mjs --check && node scripts/workspace-plan.mjs --check && node scripts/platform-probes.mjs --check && node scripts/import-loop-profile.mjs --check && node scripts/profile-contract-runtime.mjs --check && node scripts/check-contract-coverage.mjs",
|
||||
"check": "node scripts/run-static-suite.mjs --policy dashboard",
|
||||
"check:contracts": "node scripts/check-openclaw-plugin-contracts.mjs",
|
||||
"check:release": "node scripts/run-static-suite.mjs --policy release",
|
||||
"ci:policy": "node scripts/check-ci-policy.mjs",
|
||||
"ci:summary": "node scripts/write-ci-summary.mjs",
|
||||
"contract:capture": "node scripts/capture-contracts.mjs",
|
||||
@ -23,8 +25,12 @@
|
||||
"fixtures:inspect": "node scripts/inspect-fixtures.mjs",
|
||||
"fixtures:sync": "node scripts/sync-fixtures.mjs --materialize",
|
||||
"import:profile": "node scripts/import-loop-profile.mjs",
|
||||
"import:profile:openclaw": "node scripts/import-loop-profile.mjs --openclaw ../openclaw",
|
||||
"plugin-inspector:smoke": "node scripts/run-plugin-inspector-smoke.mjs --check",
|
||||
"profile": "node scripts/profile-contract-runtime.mjs",
|
||||
"profile:compare": "node scripts/compare-runtime-profile.mjs",
|
||||
"track:metadata": "node scripts/update-track-metadata.mjs",
|
||||
"track:metadata:check": "node scripts/update-track-metadata.mjs --check",
|
||||
"platform:probes": "node scripts/platform-probes.mjs",
|
||||
"readme:summary": "node scripts/update-readme-summary.mjs",
|
||||
"ref:diff": "node scripts/compare-openclaw-refs.mjs",
|
||||
|
||||
@ -4,7 +4,9 @@ Crabpot keeps external plugins under `plugins/`. Most fixtures are git
|
||||
submodules. Npm-only fixtures use committed `plugins/<id>/package.json` shim
|
||||
packages with one exact dependency pin; `node scripts/sync-fixtures.mjs --materialize`
|
||||
unpacks the package payload into ignored `plugins/<id>/.crabpot-package/`
|
||||
directories for static inspection. The parent repo owns only pins, fixture
|
||||
directories for static inspection. OpenClaw monorepo npm fixtures also declare
|
||||
`source.repo`, `source.path`, and `source.ref` so report evidence links point at
|
||||
the owning `openclaw/openclaw` source tree. The parent repo owns only pins, fixture
|
||||
metadata, generated reports, and tests. Plugin source stays upstream-owned.
|
||||
|
||||
Dependabot watches `.gitmodules` with the `gitsubmodule` ecosystem and the npm
|
||||
@ -32,6 +34,8 @@ directory: "/plugins/<id>"
|
||||
- Npm fixtures use `crabpot.config.json` for package identity and
|
||||
`plugins/<id>/package.json` for the exact dependency pin; materialization
|
||||
unpacks the package into ignored `plugins/<id>/.crabpot-package/`.
|
||||
- Monorepo npm fixtures add `source.repo`, `source.path`, and `source.ref`;
|
||||
generated report links map packed payload paths back to the owning source path.
|
||||
- `scripts/inspect-fixtures.mjs` reads source statically and checks expected
|
||||
hooks, registrations, manifests, packages, and SDK imports.
|
||||
- `scripts/generate-report.mjs` compares observed plugin seams with the target
|
||||
@ -52,17 +56,47 @@ directory: "/plugins/<id>"
|
||||
| `mcp-adapter` | `plugins/mcp-adapter` | git | high | dynamic tool, MCP transport, schema passthrough | Dynamic tool discovery from MCP servers with stdio/http transports and schema passthrough. |
|
||||
| `llm-trace-phoenix` | `plugins/llm-trace-phoenix` | git | high | LLM observer, telemetry | Small sharp fixture for `llm_input`/`llm_output` access and raw prompt/output privacy boundaries. |
|
||||
| `opik-openclaw` | `plugins/opik-openclaw` | git | high | LLM observer, tools, subagents | Trace exporter covering LLM spans, tool spans, subagent spans, cleanup, CLI setup, and persisted tool-result sanitization. |
|
||||
| `openclaw-telemetry` | `plugins/openclaw-telemetry` | git | high | diagnostics, lifecycle hooks, telemetry | Telemetry fixture covering lifecycle hooks, tool-call capture, message events, JSONL/syslog sinks, redaction, rate limiting, and integrity hashes. |
|
||||
| `lossless-claw` | `plugins/lossless-claw` | git | high | context engine, prompt mutation, lifecycle | Lossless context-management fixture covering context engine registration, DAG compaction tools, prompt assembly hooks, session cleanup, and gateway lifecycle. |
|
||||
| `connectclaw` | `plugins/connectclaw` | git | high | dynamic tool, gateway service, Hono relay | Contacts/messaging plugin with dynamic tool factories, commands, polling service wakeups, and a Hono relay package. |
|
||||
| `hyperspell` | `plugins/hyperspell` | git | high | memory runtime, prompt mutation, file watch | Memory/context fixture covering startup, compaction/session hooks, file-change sync, CLI, commands, and memory tools. |
|
||||
| `honcho` | `plugins/honcho` | git | high | memory runtime, gateway lifecycle, subagents | Memory-runtime fixture covering plugin-entry aliases, memory runtime/prompt sections, gateway lifecycle, subagent capture, and external memory tools. |
|
||||
| `composio` | `plugins/composio` | git | high | dynamic tool, MCP, external API | NPM-installed dynamic tool fixture for Composio/MCP, prompt context injection, CLI setup, external API auth, and remote tool catalogs. |
|
||||
| `kitchen-sink` | `plugins/kitchen-sink` | git | high | plugin API surface, hooks, manifest contracts | Credential-free generated fixture covering hooks, registrars, provider capabilities, setup metadata, manifest contracts, and SDK import compatibility. |
|
||||
| `bluebubbles` | `plugins/bluebubbles` | npm + source | medium | channel, account auth, media | Official OpenClaw BlueBubbles channel package covering macOS/iMessage bridge assumptions, account auth, media-capable channel metadata, and npm artifact packaging from the monorepo. |
|
||||
| `diagnostics-otel` | `plugins/diagnostics-otel` | npm + source | medium | diagnostics, telemetry, otel export | Official OpenClaw OpenTelemetry diagnostics package covering service registration, telemetry exporter setup, and npm package metadata mapped back to the monorepo source. |
|
||||
| `discord` | `plugins/discord` | npm + source | medium | channel, subagent routing, message policy | Official OpenClaw Discord channel package covering subagent routing hooks, message policy, account auth, and npm artifact packaging from the monorepo. |
|
||||
| `lobster` | `plugins/lobster` | npm + source | medium | tool, workflow, approval | Official Lobster workflow package covering typed pipeline tools, resumable approval semantics, manifest tool contracts, and npm artifact packaging. |
|
||||
| `matrix` | `plugins/matrix` | npm + source | medium | channel, gateway method, subagent routing | Official OpenClaw Matrix channel package covering CLI setup, gateway methods, subagent routing hooks, and monorepo-backed npm packaging. |
|
||||
| `msteams` | `plugins/msteams` | npm + source | medium | channel, account auth, enterprise chat | Official Microsoft Teams channel package covering enterprise chat auth, channel factory metadata, message policy, and npm artifact packaging. |
|
||||
| `nextcloud-talk` | `plugins/nextcloud-talk` | npm + source | medium | channel, account auth, self hosted chat | Official Nextcloud Talk channel package covering self-hosted chat setup, account auth, channel factory metadata, and npm artifact packaging. |
|
||||
| `nostr` | `plugins/nostr` | npm + source | medium | channel, encrypted dm, http routes | Official Nostr channel package covering encrypted DM channel behavior, HTTP route registration, account auth, and npm artifact packaging. |
|
||||
| `voice-call` | `plugins/voice-call` | npm + source | medium | tool, gateway method, service | Official voice-call package covering gateway methods, service lifecycle, tool registration, config migration, CLI setup, and npm artifact packaging. |
|
||||
| `zalo` | `plugins/zalo` | npm + source | medium | channel, account auth, media | Official Zalo channel package covering account auth, media-capable channel metadata, channel factory registration, and npm artifact packaging. |
|
||||
| `zalouser` | `plugins/zalouser` | npm + source | medium | channel, native integration, account auth | Official Zalo personal account package covering native zca-js integration, channel factory registration, tool contracts, and npm artifact packaging. |
|
||||
| `feishu` | `plugins/feishu` | npm + source | medium | channel, subagent routing, tool | Official Feishu/Lark channel package covering subagent routing hooks, account auth, tool contracts, and npm artifact packaging. |
|
||||
| `tlon` | `plugins/tlon` | npm + source | medium | channel, federated network, account auth | Official Tlon/Urbit channel package covering federated-network account setup, channel factory registration, tool contracts, and npm artifact packaging. |
|
||||
| `twitch` | `plugins/twitch` | npm + source | medium | channel, streaming chat, account auth | Official Twitch channel package covering streaming-chat channel metadata, account auth, message policy, and npm artifact packaging. |
|
||||
| `mattermost` | `plugins/mattermost` | npm + source | medium | channel, http routes, self hosted chat | Official Mattermost channel package covering self-hosted chat auth, HTTP route registration, channel factory metadata, and npm artifact packaging. |
|
||||
| `synology-chat` | `plugins/synology-chat` | npm + source | medium | channel, self hosted chat, account auth | Official Synology Chat channel package covering self-hosted chat setup, channel factory registration, account auth, and npm artifact packaging. |
|
||||
| `brave-plugin` | `plugins/brave-plugin` | npm + source | medium | provider capability, web search provider, external api | Official Brave search package covering web search provider registration, external API/env auth metadata, manifest provider contracts, and npm artifact packaging. |
|
||||
| `codex` | `plugins/codex` | npm + source | medium | agent harness, provider capability, media understanding | Official Codex package covering agent harness registration, model provider wiring, media understanding, migrations, inbound claims, and npm artifact packaging. |
|
||||
| `diagnostics-prometheus` | `plugins/diagnostics-prometheus` | npm + source | medium | diagnostics, telemetry, prometheus export | Official Prometheus diagnostics package covering service lifecycle, metrics HTTP routes, telemetry export, and monorepo-backed npm packaging. |
|
||||
| `google-meet` | `plugins/google-meet` | npm + source | medium | tool, gateway method, node host command | Official Google Meet package covering meeting tools, gateway methods, node host commands, CLI setup, and npm artifact packaging. |
|
||||
| `diffs` | `plugins/diffs` | npm + source | medium | tool, http routes, prompt mutation | Official diff viewer package covering prompt mutation, HTTP route UI surface, tool registration, manifest tool contracts, and npm artifact packaging. |
|
||||
| `memory-lancedb` | `plugins/memory-lancedb` | npm + source | medium | memory runtime, prompt mutation, session lifecycle | Official LanceDB memory package covering automatic recall/capture hooks, vector-store lifecycle, service/CLI setup, tool contracts, and npm artifact packaging. |
|
||||
| `openclaw-qqbot` | `plugins/openclaw-qqbot` | npm + source | medium | channel, command, tool | Official OpenClaw QQ Bot npm package covering command/tool registration, channel manifest metadata, media-capable messaging, and monorepo source mapping without replacing the external QQBot fixture. |
|
||||
| `whatsapp` | `plugins/whatsapp` | npm + source | medium | channel, account auth, media | Official WhatsApp channel package covering account auth, media-capable channel metadata, message policy, and npm artifact packaging from the monorepo. |
|
||||
| `nemoclaw` | `plugins/nemoclaw` | git | high | provider capability, runtime context, security policy | NVIDIA OpenShell fixture covering sandbox-aware runtime context injection, managed inference provider registration, slash-command migration/status flows, OpenShell CLI probing, and secret-blocking tool-call policy. |
|
||||
| `memory-tencentdb` | `plugins/memory-tencentdb` | npm | high | memory runtime, vector store, lifecycle | TencentDB memory fixture covering recall/capture hooks, SQLite/TCVDB storage, cleanup lifecycle, and seed/export CLI commands. |
|
||||
| `ddingtalk` | `plugins/ddingtalk` | git | high | channel, media, webhook | DingTalk channel fixture covering enterprise IM auth, channel setup, media handling, and webhook-style ingress. |
|
||||
| `dingtalk-connector` | `plugins/dingtalk-connector` | git | high | channel, streaming, gateway methods | Official DingTalk connector fixture covering Stream-mode ingress, AI Card replies, multi-account access policy, gateway RPC methods, and packaged channel skills. |
|
||||
| `mocrane-wecom` | `plugins/mocrane-wecom` | git | high | channel, MCP, SDK compat | Latest @mocrane/wecom-backed fixture covering WeCom routing, MCP tooling, skill bundles, HTTP routes, and SDK shims. |
|
||||
| `yuanbao` | `plugins/yuanbao` | npm | high | channel, command, SDK compat | Yuanbao bot fixture covering auth, media, tools, command queue compatibility, and root SDK imports. |
|
||||
| `openclaw-weixin` | `plugins/openclaw-weixin` | npm | high | channel, pairing, SDK subpaths | Weixin channel fixture covering scan-login pairing, account isolation, media, and narrow SDK subpath usage. |
|
||||
| `openclaw-weixin` | `plugins/openclaw-weixin` | npm | high | channel, pairing, SDK subpaths, catalog discovery | Weixin channel fixture covering scan-login pairing, account isolation, media, narrow SDK subpath usage, and npm-installed channel catalog discovery. |
|
||||
| `lightclawbot` | `plugins/lightclawbot` | npm | medium | channel, cron, bundled deps | Channel fixture covering cron/proactive messaging metadata, upload tooling, bundled Socket.IO dependencies, and JS-only packages. |
|
||||
| `telnyx-sms` | `plugins/telnyx-sms` | git | medium | channel, HTTP routes, media | Telnyx-owned SMS/MMS channel fixture covering channel setup, multi-account auth, webhook verification, route registration, and auto-exposure flows. |
|
||||
| `clawrouter` | `plugins/clawrouter` | git | medium | provider capability, proxy, commands | Model-router fixture covering provider registration, generation/search capabilities, sidecar lifecycle, x402 wallet setup, commands, and partner tools. |
|
||||
| `memu-engine` | `plugins/memu-engine` | git | medium | memory runtime, Python sidecar | Memory tool fixture with a Python sidecar, session ingestion, filesystem storage migration, and local memory data layout assumptions. |
|
||||
| `secureclaw` | `plugins/secureclaw` | git | medium | security audit, config hardening, gateway lifecycle | Security fixture covering gateway-start scanning, config/credential hardening, filesystem audit behavior, and CLI remediation/reporting. |
|
||||
| `memos-cloud` | `plugins/memos-cloud` | git | medium | memory runtime, legacy hooks, external API | Cloud memory fixture covering legacy `registerHook`, startup/session-end hooks, config UI, env/config precedence, and MemOS API calls. |
|
||||
@ -98,6 +132,7 @@ directory: "/plugins/<id>"
|
||||
6. Add a fixture entry to `crabpot.config.json` with:
|
||||
- `id`, `name`, `path`, and optional `subdir`
|
||||
- exactly one of `repo` or `package: { name, tag }`
|
||||
- optional `source: { repo, path, ref }` for npm packages published from a monorepo
|
||||
- `priority`
|
||||
- seam labels
|
||||
- expected hooks, registrations, or manifest contracts
|
||||
|
||||
33
plugins/bluebubbles/package-lock.json
generated
Normal file
33
plugins/bluebubbles/package-lock.json
generated
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-bluebubbles",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-bluebubbles",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/bluebubbles": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/bluebubbles": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/bluebubbles/-/bluebubbles-2026.3.13.tgz",
|
||||
"integrity": "sha512-yfLftVZDZFMjJJGbg1SObi4G81lEHXnlNXnT4Ezx0y0UDw3y11NYj21qNMaz+K1DUYNBQomFVLS6NZ6c74RF7g==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/bluebubbles/package.json
Normal file
17
plugins/bluebubbles/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-bluebubbles",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw BlueBubbles channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/bluebubbles": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "bluebubbles",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/bluebubbles",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/bluebubbles",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
20
plugins/brave-plugin/package-lock.json
generated
Normal file
20
plugins/brave-plugin/package-lock.json
generated
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-brave-plugin",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-brave-plugin",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/brave-plugin": "2026.5.1-beta.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/brave-plugin": {
|
||||
"version": "2026.5.1-beta.1",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/brave-plugin/-/brave-plugin-2026.5.1-beta.1.tgz",
|
||||
"integrity": "sha512-lPHMp61vX7+q5k6E+qhzJJaUXh+ZtzP4ummCj7t0lR+x7cRqohezSZxTJLM2GlC3UNsnLSxjf30HpvduloOAhA=="
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/brave-plugin/package.json
Normal file
17
plugins/brave-plugin/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-brave-plugin",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Brave plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/brave-plugin": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "brave-plugin",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/brave-plugin",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/brave",
|
||||
"sourceRef": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit b329bb3ed18b651d369bf35321ec58bd47dc33b4
|
||||
Subproject commit 7b03924c02a50ddb096407e823e48a6d369247a7
|
||||
1
plugins/clawrouter
Submodule
1
plugins/clawrouter
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit bb72bddae4da7fd285e4804a5716f2a226a6f103
|
||||
3720
plugins/codex/package-lock.json
generated
Normal file
3720
plugins/codex/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
plugins/codex/package.json
Normal file
17
plugins/codex/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-codex",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Codex harness and model provider plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/codex": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "codex",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/codex",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/codex",
|
||||
"sourceRef": "a22f06504376e7203a2bec8fde094b7cdcb06c02"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit 6cd516650168890e9b850064afaaa5fe24df5950
|
||||
Subproject commit 7a4e2646e914de075435b3837123cc03c3edae36
|
||||
1464
plugins/diagnostics-otel/package-lock.json
generated
Normal file
1464
plugins/diagnostics-otel/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
plugins/diagnostics-otel/package.json
Normal file
17
plugins/diagnostics-otel/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-diagnostics-otel",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw diagnostics OpenTelemetry exporter.",
|
||||
"dependencies": {
|
||||
"@openclaw/diagnostics-otel": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "diagnostics-otel",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/diagnostics-otel",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/diagnostics-otel",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
20
plugins/diagnostics-prometheus/package-lock.json
generated
Normal file
20
plugins/diagnostics-prometheus/package-lock.json
generated
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-diagnostics-prometheus",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-diagnostics-prometheus",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/diagnostics-prometheus": "2026.5.1-beta.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/diagnostics-prometheus": {
|
||||
"version": "2026.5.1-beta.2",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/diagnostics-prometheus/-/diagnostics-prometheus-2026.5.1-beta.2.tgz",
|
||||
"integrity": "sha512-R0iQAXYT3OFNBDqUxOFnH3TUHVWBvSJqbMC3rZvjdfBJP5q1dEYsoogOJF7wwzACARRaZP3GvOZ9RTwdgqmmdw=="
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/diagnostics-prometheus/package.json
Normal file
17
plugins/diagnostics-prometheus/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-diagnostics-prometheus",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw diagnostics Prometheus exporter.",
|
||||
"dependencies": {
|
||||
"@openclaw/diagnostics-prometheus": "2026.5.1-beta.2"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "diagnostics-prometheus",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/diagnostics-prometheus",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/diagnostics-prometheus",
|
||||
"sourceRef": "f4ef1bf04e9637958418428db0ff9e75e6698159"
|
||||
}
|
||||
}
|
||||
657
plugins/diffs/package-lock.json
generated
Normal file
657
plugins/diffs/package-lock.json
generated
Normal file
@ -0,0 +1,657 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-diffs",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-diffs",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/diffs": "2026.5.1-beta.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/diffs": {
|
||||
"version": "2026.5.1-beta.1",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/diffs/-/diffs-2026.5.1-beta.1.tgz",
|
||||
"integrity": "sha512-OSb+QCBJ+vUY/GGjRsiB+UiTi58m02nR/dVdOjlrLKCQkh7Q5rewDzCgACtwMW9gqjvh4TMZH2xRQccwM9FhDw==",
|
||||
"dependencies": {
|
||||
"@pierre/diffs": "1.1.20",
|
||||
"@pierre/theme": "0.0.29",
|
||||
"playwright-core": "1.59.1",
|
||||
"typebox": "1.1.37"
|
||||
}
|
||||
},
|
||||
"node_modules/@pierre/diffs": {
|
||||
"version": "1.1.20",
|
||||
"resolved": "https://registry.npmjs.org/@pierre/diffs/-/diffs-1.1.20.tgz",
|
||||
"integrity": "sha512-lLi+3sLCm3QDd5/aLO9pw+WbF6UzhrkWm2oTZ5WZJTGemOyUNRJ4DDhcEKmVusu4C4bXx9Nssh6fF+wQcapb5w==",
|
||||
"license": "apache-2.0",
|
||||
"dependencies": {
|
||||
"@pierre/theme": "0.0.28",
|
||||
"@shikijs/transformers": "^3.0.0",
|
||||
"diff": "8.0.3",
|
||||
"hast-util-to-html": "9.0.5",
|
||||
"lru_map": "0.4.1",
|
||||
"shiki": "^3.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^18.3.1 || ^19.0.0",
|
||||
"react-dom": "^18.3.1 || ^19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@pierre/diffs/node_modules/@pierre/theme": {
|
||||
"version": "0.0.28",
|
||||
"resolved": "https://registry.npmjs.org/@pierre/theme/-/theme-0.0.28.tgz",
|
||||
"integrity": "sha512-1j/H/fECBuc9dEvntdWI+l435HZapw+RCJTlqCA6BboQ5TjlnE005j/ROWutXIs8aq5OAc82JI2Kwk4A1WWBgw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@pierre/theme": {
|
||||
"version": "0.0.29",
|
||||
"resolved": "https://registry.npmjs.org/@pierre/theme/-/theme-0.0.29.tgz",
|
||||
"integrity": "sha512-ZXce2GikoXHNThHdkaxA2X4ISnzSTL/LmKDYaTwqP1bQqENs+l7B+PheF9RsUWgx4GbphW5GU1i1vO4ttAzCUA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"vscode": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/core": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz",
|
||||
"integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/types": "3.23.0",
|
||||
"@shikijs/vscode-textmate": "^10.0.2",
|
||||
"@types/hast": "^3.0.4",
|
||||
"hast-util-to-html": "^9.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/engine-javascript": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz",
|
||||
"integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/types": "3.23.0",
|
||||
"@shikijs/vscode-textmate": "^10.0.2",
|
||||
"oniguruma-to-es": "^4.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/engine-oniguruma": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz",
|
||||
"integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/types": "3.23.0",
|
||||
"@shikijs/vscode-textmate": "^10.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/langs": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz",
|
||||
"integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/types": "3.23.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/themes": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz",
|
||||
"integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/types": "3.23.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/transformers": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.23.0.tgz",
|
||||
"integrity": "sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/core": "3.23.0",
|
||||
"@shikijs/types": "3.23.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/types": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz",
|
||||
"integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/vscode-textmate": "^10.0.2",
|
||||
"@types/hast": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@shikijs/vscode-textmate": {
|
||||
"version": "10.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
|
||||
"integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/hast": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
|
||||
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/mdast": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
|
||||
"integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/unist": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
|
||||
"integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@ungap/structured-clone": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
|
||||
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/ccount": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
|
||||
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/character-entities-html4": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
|
||||
"integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/character-entities-legacy": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
|
||||
"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/comma-separated-tokens": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
|
||||
"integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/dequal": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
|
||||
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/devlop": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
|
||||
"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dequal": "^2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/diff": {
|
||||
"version": "8.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz",
|
||||
"integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==",
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/hast-util-to-html": {
|
||||
"version": "9.0.5",
|
||||
"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz",
|
||||
"integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/hast": "^3.0.0",
|
||||
"@types/unist": "^3.0.0",
|
||||
"ccount": "^2.0.0",
|
||||
"comma-separated-tokens": "^2.0.0",
|
||||
"hast-util-whitespace": "^3.0.0",
|
||||
"html-void-elements": "^3.0.0",
|
||||
"mdast-util-to-hast": "^13.0.0",
|
||||
"property-information": "^7.0.0",
|
||||
"space-separated-tokens": "^2.0.0",
|
||||
"stringify-entities": "^4.0.0",
|
||||
"zwitch": "^2.0.4"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/hast-util-whitespace": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
|
||||
"integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/hast": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/html-void-elements": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
|
||||
"integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/lru_map": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.4.1.tgz",
|
||||
"integrity": "sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/mdast-util-to-hast": {
|
||||
"version": "13.2.1",
|
||||
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
|
||||
"integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/hast": "^3.0.0",
|
||||
"@types/mdast": "^4.0.0",
|
||||
"@ungap/structured-clone": "^1.0.0",
|
||||
"devlop": "^1.0.0",
|
||||
"micromark-util-sanitize-uri": "^2.0.0",
|
||||
"trim-lines": "^3.0.0",
|
||||
"unist-util-position": "^5.0.0",
|
||||
"unist-util-visit": "^5.0.0",
|
||||
"vfile": "^6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/micromark-util-character": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
|
||||
"integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"micromark-util-symbol": "^2.0.0",
|
||||
"micromark-util-types": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/micromark-util-encode": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
|
||||
"integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/micromark-util-sanitize-uri": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
|
||||
"integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"micromark-util-character": "^2.0.0",
|
||||
"micromark-util-encode": "^2.0.0",
|
||||
"micromark-util-symbol": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/micromark-util-symbol": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
|
||||
"integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/micromark-util-types": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
|
||||
"integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/oniguruma-parser": {
|
||||
"version": "0.12.2",
|
||||
"resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz",
|
||||
"integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/oniguruma-to-es": {
|
||||
"version": "4.3.6",
|
||||
"resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz",
|
||||
"integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"oniguruma-parser": "^0.12.2",
|
||||
"regex": "^6.1.0",
|
||||
"regex-recursion": "^6.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-core": {
|
||||
"version": "1.59.1",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz",
|
||||
"integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==",
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"playwright-core": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/property-information": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
|
||||
"integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/react": {
|
||||
"version": "19.2.5",
|
||||
"resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz",
|
||||
"integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-dom": {
|
||||
"version": "19.2.5",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz",
|
||||
"integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"scheduler": "^0.27.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^19.2.5"
|
||||
}
|
||||
},
|
||||
"node_modules/regex": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
|
||||
"integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"regex-utilities": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/regex-recursion": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
|
||||
"integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"regex-utilities": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/regex-utilities": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
|
||||
"integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/scheduler": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/shiki": {
|
||||
"version": "3.23.0",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz",
|
||||
"integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@shikijs/core": "3.23.0",
|
||||
"@shikijs/engine-javascript": "3.23.0",
|
||||
"@shikijs/engine-oniguruma": "3.23.0",
|
||||
"@shikijs/langs": "3.23.0",
|
||||
"@shikijs/themes": "3.23.0",
|
||||
"@shikijs/types": "3.23.0",
|
||||
"@shikijs/vscode-textmate": "^10.0.2",
|
||||
"@types/hast": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/space-separated-tokens": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
|
||||
"integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/stringify-entities": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
|
||||
"integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"character-entities-html4": "^2.0.0",
|
||||
"character-entities-legacy": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/trim-lines": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
|
||||
"integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/typebox": {
|
||||
"version": "1.1.37",
|
||||
"resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.37.tgz",
|
||||
"integrity": "sha512-jb7jp6KvOvvy5sd+11AfJ0/e0F0AS9RcOXd55oGi2ZnRHIGmFvrTaNF+ZidRmGBmmNTkM5KKl0Z37KzxJ+owEQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/unist-util-is": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
|
||||
"integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/unist-util-position": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
|
||||
"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/unist-util-stringify-position": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
|
||||
"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/unist-util-visit": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
|
||||
"integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0",
|
||||
"unist-util-is": "^6.0.0",
|
||||
"unist-util-visit-parents": "^6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/unist-util-visit-parents": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
|
||||
"integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0",
|
||||
"unist-util-is": "^6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/vfile": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
|
||||
"integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0",
|
||||
"vfile-message": "^4.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/vfile-message": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
|
||||
"integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0",
|
||||
"unist-util-stringify-position": "^4.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/zwitch": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
|
||||
"integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/diffs/package.json
Normal file
17
plugins/diffs/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-diffs",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw diff viewer plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/diffs": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "diffs",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/diffs",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/diffs",
|
||||
"sourceRef": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
}
|
||||
}
|
||||
1
plugins/dingtalk-connector
Submodule
1
plugins/dingtalk-connector
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 3441bcffc4dee15936ede406ce001ffcf9e2efc3
|
||||
21
plugins/discord/package-lock.json
generated
Normal file
21
plugins/discord/package-lock.json
generated
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-discord",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-discord",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/discord": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/discord": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/discord/-/discord-2026.3.13.tgz",
|
||||
"integrity": "sha512-uYCzMmpYVhFPD0TstMmnTNBk9N3Uk/VsZivjr8V/B7g7ajI5HPgsiHBjCLrTmmJZKsVnauo0pAIx/aBcKejYpQ==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later."
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/discord/package.json
Normal file
17
plugins/discord/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-discord",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Discord channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/discord": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "discord",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/discord",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/discord",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
644
plugins/feishu/package-lock.json
generated
Normal file
644
plugins/feishu/package-lock.json
generated
Normal file
@ -0,0 +1,644 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-feishu",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-feishu",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/feishu": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@larksuiteoapi/node-sdk": {
|
||||
"version": "1.62.1",
|
||||
"resolved": "https://registry.npmjs.org/@larksuiteoapi/node-sdk/-/node-sdk-1.62.1.tgz",
|
||||
"integrity": "sha512-o9oAjv5Ffnp/6iXIJLHrO6N0US/r2ZZy3xmO6ylGegjuVSC05cx0fADA38Dc1h0FV8T9BDK+ariWk84TNMGbKg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"axios": "~1.13.3",
|
||||
"lodash.identity": "^3.0.0",
|
||||
"lodash.merge": "^4.6.2",
|
||||
"lodash.pickby": "^4.6.0",
|
||||
"protobufjs": "^7.2.6",
|
||||
"qs": "^6.14.2",
|
||||
"ws": "^8.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/feishu": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/feishu/-/feishu-2026.3.13.tgz",
|
||||
"integrity": "sha512-D5vPkgGZ9lfCQnDFlGrQN6NCSUYRgYW9k7amW3qlm9zBI4Sp+alRZVqLZ4yZ2eCXHjw9RVp/L75wjJ7NBQyfEw==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@larksuiteoapi/node-sdk": "^1.59.0",
|
||||
"@sinclair/typebox": "0.34.48",
|
||||
"https-proxy-agent": "^8.0.0",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
||||
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/base64": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
||||
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/codegen": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
|
||||
"integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/eventemitter": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
||||
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/fetch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
||||
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.1",
|
||||
"@protobufjs/inquire": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/float": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
||||
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/inquire": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.1.tgz",
|
||||
"integrity": "sha512-mnzgDV26ueAvk7rsbt9L7bE0SuAoqyuys/sMMrmVcN5x9VsxpcG3rqAUSgDyLp0UZlmNfIbQ4fHfCtreVBk8Ew==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/path": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
||||
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/pool": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
||||
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@protobufjs/utf8": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
|
||||
"integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@sinclair/typebox": {
|
||||
"version": "0.34.48",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
|
||||
"integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "25.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
|
||||
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~7.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/agent-base": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-8.0.0.tgz",
|
||||
"integrity": "sha512-QT8i0hCz6C/KQ+KTAbSNwCHDGdmUJl2tp2ZpNlGSWCfhUNVbYG2WLE3MdZGBAgXPV4GAvjGMxo+C1hroyxmZEg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.13.6",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz",
|
||||
"integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.11",
|
||||
"form-data": "^4.0.5",
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bind-apply-helpers": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
||||
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"function-bind": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bound": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
|
||||
"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bind-apply-helpers": "^1.0.2",
|
||||
"get-intrinsic": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dunder-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bind-apply-helpers": "^1.0.1",
|
||||
"es-errors": "^1.3.0",
|
||||
"gopd": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-define-property": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-errors": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-object-atoms": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-set-tostringtag": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
||||
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"get-intrinsic": "^1.2.6",
|
||||
"has-tostringtag": "^1.0.2",
|
||||
"hasown": "^2.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/follow-redirects": {
|
||||
"version": "1.16.0",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
|
||||
"integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"debug": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
||||
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"es-set-tostringtag": "^2.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"mime-types": "^2.1.12"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-intrinsic": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bind-apply-helpers": "^1.0.2",
|
||||
"es-define-property": "^1.0.1",
|
||||
"es-errors": "^1.3.0",
|
||||
"es-object-atoms": "^1.1.1",
|
||||
"function-bind": "^1.1.2",
|
||||
"get-proto": "^1.0.1",
|
||||
"gopd": "^1.2.0",
|
||||
"has-symbols": "^1.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"math-intrinsics": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dunder-proto": "^1.0.1",
|
||||
"es-object-atoms": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/gopd": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
||||
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-symbols": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
||||
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-tostringtag": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
||||
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-symbols": "^1.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
|
||||
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/https-proxy-agent": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-8.0.0.tgz",
|
||||
"integrity": "sha512-YYeW+iCnAS3xhvj2dvVoWgsbca3RfQy/IlaNHHOtDmU0jMqPI9euIq3Y9BJETdxk16h9NHHCKqp/KB9nIMStCQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"agent-base": "8.0.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.identity": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz",
|
||||
"integrity": "sha512-AupTIzdLQxJS5wIYUQlgGyk2XRTfGXA+MCghDHqZk0pzUNYvd3EESS6dkChNauNYVIutcb0dfHw1ri9Q1yPV8Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.merge": {
|
||||
"version": "4.6.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.pickby": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
|
||||
"integrity": "sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/long": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
|
||||
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/math-intrinsics": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-types": {
|
||||
"version": "2.1.35",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mime-db": "1.52.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.13.4",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
||||
"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/protobufjs": {
|
||||
"version": "7.5.6",
|
||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.6.tgz",
|
||||
"integrity": "sha512-M71sTMB146U3u0di3yup8iM+zv8yPRNQVr1KK4tyBitl3qFvEGucq/rGDRShD2rsJhtN02RJaJ7j5X5hmy8SJg==",
|
||||
"hasInstallScript": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.2",
|
||||
"@protobufjs/base64": "^1.1.2",
|
||||
"@protobufjs/codegen": "^2.0.5",
|
||||
"@protobufjs/eventemitter": "^1.1.0",
|
||||
"@protobufjs/fetch": "^1.1.0",
|
||||
"@protobufjs/float": "^1.0.2",
|
||||
"@protobufjs/inquire": "^1.1.1",
|
||||
"@protobufjs/path": "^1.1.2",
|
||||
"@protobufjs/pool": "^1.1.0",
|
||||
"@protobufjs/utf8": "^1.1.1",
|
||||
"@types/node": ">=13.7.0",
|
||||
"long": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/qs": {
|
||||
"version": "6.15.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz",
|
||||
"integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"side-channel": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
||||
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"object-inspect": "^1.13.3",
|
||||
"side-channel-list": "^1.0.0",
|
||||
"side-channel-map": "^1.0.1",
|
||||
"side-channel-weakmap": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel-list": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
|
||||
"integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"object-inspect": "^1.13.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel-map": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
|
||||
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bound": "^1.0.2",
|
||||
"es-errors": "^1.3.0",
|
||||
"get-intrinsic": "^1.2.5",
|
||||
"object-inspect": "^1.13.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel-weakmap": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
|
||||
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bound": "^1.0.2",
|
||||
"es-errors": "^1.3.0",
|
||||
"get-intrinsic": "^1.2.5",
|
||||
"object-inspect": "^1.13.3",
|
||||
"side-channel-map": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "7.19.2",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
|
||||
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/feishu/package.json
Normal file
17
plugins/feishu/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-feishu",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng).",
|
||||
"dependencies": {
|
||||
"@openclaw/feishu": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "feishu",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/feishu",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/feishu",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
47
plugins/google-meet/package-lock.json
generated
Normal file
47
plugins/google-meet/package-lock.json
generated
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-google-meet",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-google-meet",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/google-meet": "2026.5.1-beta.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/google-meet": {
|
||||
"version": "2026.5.1-beta.2",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/google-meet/-/google-meet-2026.5.1-beta.2.tgz",
|
||||
"integrity": "sha512-Kfd0V4vrjL4T1XqHVJZKgydI2GdQpH+jziF100a/+rirYK6i7DKIkKJK/i0IFNq5gf90edkzUlyKMlWrZIJXsA==",
|
||||
"dependencies": {
|
||||
"commander": "^14.0.3",
|
||||
"typebox": "1.1.37"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.4.25"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/typebox": {
|
||||
"version": "1.1.37",
|
||||
"resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.37.tgz",
|
||||
"integrity": "sha512-jb7jp6KvOvvy5sd+11AfJ0/e0F0AS9RcOXd55oGi2ZnRHIGmFvrTaNF+ZidRmGBmmNTkM5KKl0Z37KzxJ+owEQ==",
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/google-meet/package.json
Normal file
17
plugins/google-meet/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-google-meet",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Google Meet participant plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/google-meet": "2026.5.1-beta.2"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "google-meet",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/google-meet",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/google-meet",
|
||||
"sourceRef": "f4ef1bf04e9637958418428db0ff9e75e6698159"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit f1ac095b5d633d463d57c5cc9735547a73ff9199
|
||||
Subproject commit e9f01452b781d24b38336ef0738f2c97353c541e
|
||||
1
plugins/kitchen-sink
Submodule
1
plugins/kitchen-sink
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 6995e72caacdcab1aedc74f20d2118465eaf976e
|
||||
1300
plugins/lightclawbot/package-lock.json
generated
1300
plugins/lightclawbot/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -6,6 +6,9 @@
|
||||
"dependencies": {
|
||||
"lightclawbot": "1.1.2"
|
||||
},
|
||||
"overrides": {
|
||||
"@anthropic-ai/sdk": "0.91.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "lightclawbot",
|
||||
"source": "npm",
|
||||
|
||||
30
plugins/lobster/package-lock.json
generated
Normal file
30
plugins/lobster/package-lock.json
generated
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-lobster",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-lobster",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/lobster": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/lobster": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/lobster/-/lobster-2026.3.13.tgz",
|
||||
"integrity": "sha512-4ezsGiYPANwzEJ0QAZ0TqhaMfhvdBcXupTc4TPqEALk+0lbuO9+y5MQkeDCZKaRGQfKmeX0yhgHhqOWLTdGwww==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@sinclair/typebox": "0.34.48"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinclair/typebox": {
|
||||
"version": "0.34.48",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
|
||||
"integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/lobster/package.json
Normal file
17
plugins/lobster/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-lobster",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for Lobster workflow tool plugin (typed pipelines + resumable approvals).",
|
||||
"dependencies": {
|
||||
"@openclaw/lobster": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "lobster",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/lobster",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/lobster",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit 8d634cdf4b7544c9093c2e701fbbe5075d1e3de6
|
||||
Subproject commit 4fc60c925c1eed730a73c6bb62144f7af905687f
|
||||
4907
plugins/matrix/package-lock.json
generated
Normal file
4907
plugins/matrix/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
plugins/matrix/package.json
Normal file
17
plugins/matrix/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-matrix",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Matrix channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/matrix": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "matrix",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/matrix",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/matrix",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
21
plugins/mattermost/package-lock.json
generated
Normal file
21
plugins/mattermost/package-lock.json
generated
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-mattermost",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-mattermost",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/mattermost": "2026.2.21"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/mattermost": {
|
||||
"version": "2026.2.21",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/mattermost/-/mattermost-2026.2.21.tgz",
|
||||
"integrity": "sha512-FUQsyJ3YMRXjFCzjEmtET0hrfUJSDi//GVaAUkixrH6aC0tS/j23rXfaZW4LkT1N+d046jXCl+tmWiieUAa6QA==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later."
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/mattermost/package.json
Normal file
17
plugins/mattermost/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-mattermost",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Mattermost channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/mattermost": "2026.2.21"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "mattermost",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/mattermost",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/mattermost",
|
||||
"sourceRef": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
}
|
||||
}
|
||||
518
plugins/memory-lancedb/package-lock.json
generated
Normal file
518
plugins/memory-lancedb/package-lock.json
generated
Normal file
@ -0,0 +1,518 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-memory-lancedb",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-memory-lancedb",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/memory-lancedb": "2026.5.1-beta.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb/-/lancedb-0.27.2.tgz",
|
||||
"integrity": "sha512-JQpZHV5KzUzDI3flYCjtZcfHlEbL8lM54E0NT+jrRYe29aKYegfavvPsAsuZp0VdcMwFMZcpMkaBhjQMo/fwvg==",
|
||||
"cpu": [
|
||||
"x64",
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"os": [
|
||||
"darwin",
|
||||
"linux",
|
||||
"win32"
|
||||
],
|
||||
"dependencies": {
|
||||
"reflect-metadata": "^0.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@lancedb/lancedb-darwin-arm64": "0.27.2",
|
||||
"@lancedb/lancedb-linux-arm64-gnu": "0.27.2",
|
||||
"@lancedb/lancedb-linux-arm64-musl": "0.27.2",
|
||||
"@lancedb/lancedb-linux-x64-gnu": "0.27.2",
|
||||
"@lancedb/lancedb-linux-x64-musl": "0.27.2",
|
||||
"@lancedb/lancedb-win32-arm64-msvc": "0.27.2",
|
||||
"@lancedb/lancedb-win32-x64-msvc": "0.27.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"apache-arrow": ">=15.0.0 <=18.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-darwin-arm64": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-darwin-arm64/-/lancedb-darwin-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-+XM68V/Rou8kKWDnUeKvg9ChKS0zGeQC2sKAop+06Ty4LwIjEGkeYBYrK0vMhZkBN5EFaOjTOp8E8hGQxdFwXA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-linux-arm64-gnu": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-linux-arm64-gnu/-/lancedb-linux-arm64-gnu-0.27.2.tgz",
|
||||
"integrity": "sha512-laiTTDeMUTzm7t+t6ME5nNQMDoERjmkeuWAFWekbXiFdmp62Dqu34Lvf2BvpWnKwxLMZ5JcBJFIw32WS8/8Jnw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-linux-arm64-musl": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-linux-arm64-musl/-/lancedb-linux-arm64-musl-0.27.2.tgz",
|
||||
"integrity": "sha512-bK5Mc50EvwGZaaiym5CoPu8Y4GNSyEEvTQ0dTC2AUIm83qdQu1rGw6kkYtc/rTH/hbvAvPQot4agHDZfMVxfYw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-linux-x64-gnu": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-linux-x64-gnu/-/lancedb-linux-x64-gnu-0.27.2.tgz",
|
||||
"integrity": "sha512-qe+ML0YmPru0o84f33RBHqoNk6zsHBjiXTLKsEBDiiFYKks/XMsrkKy9NQYcTxShBrg/nx/MLzCzd7dihqgNYw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-linux-x64-musl": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-linux-x64-musl/-/lancedb-linux-x64-musl-0.27.2.tgz",
|
||||
"integrity": "sha512-ZpX6Oxn06qvzAdm+D/gNb3SRp/A9lgRAPvPg6nnMmSQk5XamC/hbGO07uK1wwop7nlqXUH/thk4is2y2ieWdTw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-win32-arm64-msvc": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-win32-arm64-msvc/-/lancedb-win32-arm64-msvc-0.27.2.tgz",
|
||||
"integrity": "sha512-4ffpFvh49MiUtkdFJOmBytXEbgUPXORphTOuExnJAgT1VAKwQcu4ZzdsgNoK6mumKBaU+pYQU/MedNkgTzx/Lw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@lancedb/lancedb-win32-x64-msvc": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@lancedb/lancedb-win32-x64-msvc/-/lancedb-win32-x64-msvc-0.27.2.tgz",
|
||||
"integrity": "sha512-XlwiI6CK2Gkqq+FFVAStHojao/XjIJpDPTm7Tb9SpLL64IlwGw3yaT2hnWKTm90W4KlSrpfSldPly+s+y4U7JQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/memory-lancedb": {
|
||||
"version": "2026.5.1-beta.1",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/memory-lancedb/-/memory-lancedb-2026.5.1-beta.1.tgz",
|
||||
"integrity": "sha512-PRnMSgplR5+xdOuCMERxemdaGiMTYTgg7dSHz/uLo8B54mf3BHcuKxFQ60755Tc1QzGtrzA8MqPElf07Pn0JsQ==",
|
||||
"dependencies": {
|
||||
"@lancedb/lancedb": "^0.27.2",
|
||||
"openai": "^6.35.0",
|
||||
"typebox": "1.1.37"
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/helpers": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz",
|
||||
"integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/command-line-args": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz",
|
||||
"integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/command-line-usage": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.4.tgz",
|
||||
"integrity": "sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.19.39",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz",
|
||||
"integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~6.21.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/apache-arrow": {
|
||||
"version": "18.1.0",
|
||||
"resolved": "https://registry.npmjs.org/apache-arrow/-/apache-arrow-18.1.0.tgz",
|
||||
"integrity": "sha512-v/ShMp57iBnBp4lDgV8Jx3d3Q5/Hac25FWmQ98eMahUiHPXcvwIMKJD0hBIgclm/FCG+LwPkAKtkRO1O/W0YGg==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@swc/helpers": "^0.5.11",
|
||||
"@types/command-line-args": "^5.2.3",
|
||||
"@types/command-line-usage": "^5.0.4",
|
||||
"@types/node": "^20.13.0",
|
||||
"command-line-args": "^5.2.1",
|
||||
"command-line-usage": "^7.0.1",
|
||||
"flatbuffers": "^24.3.25",
|
||||
"json-bignum": "^0.0.3",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"bin": {
|
||||
"arrow2csv": "bin/arrow2csv.js"
|
||||
}
|
||||
},
|
||||
"node_modules/array-back": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
|
||||
"integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk-template": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz",
|
||||
"integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk-template?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/command-line-args": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
|
||||
"integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"array-back": "^3.1.0",
|
||||
"find-replace": "^3.0.0",
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"typical": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/command-line-usage": {
|
||||
"version": "7.0.4",
|
||||
"resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.4.tgz",
|
||||
"integrity": "sha512-85UdvzTNx/+s5CkSgBm/0hzP80RFHAa7PsfeADE5ezZF3uHz3/Tqj9gIKGT9PTtpycc3Ua64T0oVulGfKxzfqg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"array-back": "^6.2.2",
|
||||
"chalk-template": "^0.4.0",
|
||||
"table-layout": "^4.1.1",
|
||||
"typical": "^7.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/command-line-usage/node_modules/array-back": {
|
||||
"version": "6.2.3",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.3.tgz",
|
||||
"integrity": "sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12.17"
|
||||
}
|
||||
},
|
||||
"node_modules/command-line-usage/node_modules/typical": {
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz",
|
||||
"integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12.17"
|
||||
}
|
||||
},
|
||||
"node_modules/find-replace": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
|
||||
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"array-back": "^3.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/flatbuffers": {
|
||||
"version": "24.12.23",
|
||||
"resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-24.12.23.tgz",
|
||||
"integrity": "sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/json-bignum": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz",
|
||||
"integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.camelcase": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
|
||||
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/openai": {
|
||||
"version": "6.35.0",
|
||||
"resolved": "https://registry.npmjs.org/openai/-/openai-6.35.0.tgz",
|
||||
"integrity": "sha512-L/skwIGnt5xQZHb0UfTu9uAUKbis3ehKypOuJKi20QvG7UStV6C8IC3myGYHcdiF4kms/bAvOJ9UqqNWqi8x/Q==",
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"openai": "bin/cli"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ws": "^8.18.0",
|
||||
"zod": "^3.25 || ^4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ws": {
|
||||
"optional": true
|
||||
},
|
||||
"zod": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/reflect-metadata": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
|
||||
"integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/table-layout": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz",
|
||||
"integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"array-back": "^6.2.2",
|
||||
"wordwrapjs": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.17"
|
||||
}
|
||||
},
|
||||
"node_modules/table-layout/node_modules/array-back": {
|
||||
"version": "6.2.3",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.3.tgz",
|
||||
"integrity": "sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12.17"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"license": "0BSD",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/typebox": {
|
||||
"version": "1.1.37",
|
||||
"resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.37.tgz",
|
||||
"integrity": "sha512-jb7jp6KvOvvy5sd+11AfJ0/e0F0AS9RcOXd55oGi2ZnRHIGmFvrTaNF+ZidRmGBmmNTkM5KKl0Z37KzxJ+owEQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/typical": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
|
||||
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/wordwrapjs": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.1.tgz",
|
||||
"integrity": "sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12.17"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/memory-lancedb/package.json
Normal file
17
plugins/memory-lancedb/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-memory-lancedb",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture.",
|
||||
"dependencies": {
|
||||
"@openclaw/memory-lancedb": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "memory-lancedb",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/memory-lancedb",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/memory-lancedb",
|
||||
"sourceRef": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit 03fcc33c5fd285971d4b3dbaa8bbb31cb727db7c
|
||||
Subproject commit e931499a2589af06ee543ce07df2bdda29ac8085
|
||||
1404
plugins/msteams/package-lock.json
generated
Normal file
1404
plugins/msteams/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
plugins/msteams/package.json
Normal file
17
plugins/msteams/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-msteams",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Microsoft Teams channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/msteams": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "msteams",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/msteams",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/msteams",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
1
plugins/nemoclaw
Submodule
1
plugins/nemoclaw
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 3351fbdd4eb7d9b80ec471545083956327da2b10
|
||||
33
plugins/nextcloud-talk/package-lock.json
generated
Normal file
33
plugins/nextcloud-talk/package-lock.json
generated
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-nextcloud-talk",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-nextcloud-talk",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/nextcloud-talk": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/nextcloud-talk": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/nextcloud-talk/-/nextcloud-talk-2026.3.13.tgz",
|
||||
"integrity": "sha512-zw5uy5FZd6PFp2LqrAR9R9Pn610DHHHbk1p5ZlIadCyW5ECuXDYsEpUzJpcL0P7MN5vCMOkVL+5QDbKGB6R4gQ==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/nextcloud-talk/package.json
Normal file
17
plugins/nextcloud-talk/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-nextcloud-talk",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Nextcloud Talk channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/nextcloud-talk": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "nextcloud-talk",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/nextcloud-talk",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/nextcloud-talk",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
138
plugins/nostr/package-lock.json
generated
Normal file
138
plugins/nostr/package-lock.json
generated
Normal file
@ -0,0 +1,138 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-nostr",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-nostr",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/nostr": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/ciphers": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-2.1.1.tgz",
|
||||
"integrity": "sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/curves": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz",
|
||||
"integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/hashes": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz",
|
||||
"integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/nostr": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/nostr/-/nostr-2026.3.13.tgz",
|
||||
"integrity": "sha512-5KLRCPbQ/K5O7Qk7yFDTr/MeJI73SHYnRN3vA6Te3IbfWiCrcJN8dn3r/ZdZF6IGyZI3McNnmR622xo0AiDs8w==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"nostr-tools": "^2.23.3",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@scure/base": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz",
|
||||
"integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@scure/bip32": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.0.1.tgz",
|
||||
"integrity": "sha512-4Md1NI5BzoVP+bhyJaY3K6yMesEFzNS1sE/cP+9nuvE7p/b0kx9XbpDHHFl8dHtufcbdHRUUQdRqLIPHN/s7yA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/curves": "2.0.1",
|
||||
"@noble/hashes": "2.0.1",
|
||||
"@scure/base": "2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@scure/bip39": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-2.0.1.tgz",
|
||||
"integrity": "sha512-PsxdFj/d2AcJcZDX1FXN3dDgitDDTmwf78rKZq1a6c1P1Nan1X/Sxc7667zU3U+AN60g7SxxP0YCVw2H/hBycg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "2.0.1",
|
||||
"@scure/base": "2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/nostr-tools": {
|
||||
"version": "2.23.3",
|
||||
"resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.23.3.tgz",
|
||||
"integrity": "sha512-AALyt9k8xPdF4UV2mlLJ2mgCn4kpTB0DZ8t2r6wjdUh6anfx2cTVBsHUlo9U0EY/cKC5wcNyiMAmRJV5OVEalA==",
|
||||
"license": "Unlicense",
|
||||
"dependencies": {
|
||||
"@noble/ciphers": "2.1.1",
|
||||
"@noble/curves": "2.0.1",
|
||||
"@noble/hashes": "2.0.1",
|
||||
"@scure/base": "2.0.0",
|
||||
"@scure/bip32": "2.0.1",
|
||||
"@scure/bip39": "2.0.1",
|
||||
"nostr-wasm": "0.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"typescript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/nostr-wasm": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/nostr-wasm/-/nostr-wasm-0.1.0.tgz",
|
||||
"integrity": "sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/nostr/package.json
Normal file
17
plugins/nostr/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-nostr",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Nostr channel plugin for NIP-04 encrypted DMs.",
|
||||
"dependencies": {
|
||||
"@openclaw/nostr": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "nostr",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/nostr",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/nostr",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
133
plugins/openclaw-qqbot/package-lock.json
generated
Normal file
133
plugins/openclaw-qqbot/package-lock.json
generated
Normal file
@ -0,0 +1,133 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-openclaw-qqbot",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-openclaw-qqbot",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/qqbot": "2026.5.1-beta.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@eshaz/web-worker": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@eshaz/web-worker/-/web-worker-1.2.2.tgz",
|
||||
"integrity": "sha512-WxXiHFmD9u/owrzempiDlBB1ZYqiLnm9s6aPc8AlFQalq2tKmqdmMr9GXOupDgzXtqnBipj8Un0gkIm7Sjf8mw==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@openclaw/qqbot": {
|
||||
"version": "2026.5.1-beta.1",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/qqbot/-/qqbot-2026.5.1-beta.1.tgz",
|
||||
"integrity": "sha512-TNG40RLtcvUIqd397YBIUICugtgZ+8jHVyPHt2homG6d5Ola/uVrurkZFcs9mq4JcB0VFhKyXXqXzLGy+GG/Zw==",
|
||||
"dependencies": {
|
||||
"@tencent-connect/qqbot-connector": "^1.1.0",
|
||||
"mpg123-decoder": "^1.0.3",
|
||||
"silk-wasm": "^3.7.1",
|
||||
"ws": "^8.20.0",
|
||||
"zod": "^4.4.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"openclaw": ">=2026.4.27"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"openclaw": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@tencent-connect/qqbot-connector": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@tencent-connect/qqbot-connector/-/qqbot-connector-1.1.0.tgz",
|
||||
"integrity": "sha512-3nQ2mdyzPRKpBHjd3QiKZDwNzw1F7fBN+rSq8Xms2gg+JWZR4SY2Zdf+doqTyXdyVjG4Y0QM7IA4U42zT9xxzw==",
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"qrcode-terminal": "^0.12"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@wasm-audio-decoders/common": {
|
||||
"version": "9.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@wasm-audio-decoders/common/-/common-9.0.7.tgz",
|
||||
"integrity": "sha512-WRaUuWSKV7pkttBygml/a6dIEpatq2nnZGFIoPTc5yPLkxL6Wk4YaslPM98OPQvWacvNZ+Py9xROGDtrFBDzag==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eshaz/web-worker": "1.2.2",
|
||||
"simple-yenc": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/mpg123-decoder": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mpg123-decoder/-/mpg123-decoder-1.0.3.tgz",
|
||||
"integrity": "sha512-+fjxnWigodWJm3+4pndi+KUg9TBojgn31DPk85zEsim7C6s0X5Ztc/hQYdytXkwuGXH+aB0/aEkG40Emukv6oQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@wasm-audio-decoders/common": "9.0.7"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/eshaz"
|
||||
}
|
||||
},
|
||||
"node_modules/qrcode-terminal": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz",
|
||||
"integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==",
|
||||
"bin": {
|
||||
"qrcode-terminal": "bin/qrcode-terminal.js"
|
||||
}
|
||||
},
|
||||
"node_modules/silk-wasm": {
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/silk-wasm/-/silk-wasm-3.7.1.tgz",
|
||||
"integrity": "sha512-mXPwLRtZxrYV3TZx41jMAeKc80wvmyrcXIcs8HctFxK15Ahz2OJQENYhNgEPeCEOdI6Mbx1NxQsqxzwc3DKerw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/simple-yenc": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/simple-yenc/-/simple-yenc-1.0.4.tgz",
|
||||
"integrity": "sha512-5gvxpSd79e9a3V4QDYUqnqxeD4HGlhCakVpb6gMnDD7lexJggSBJRBO5h52y/iJrdXRilX9UCuDaIJhSWm5OWw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/eshaz"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/openclaw-qqbot/package.json
Normal file
17
plugins/openclaw-qqbot/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-openclaw-qqbot",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw QQ Bot channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/qqbot": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "openclaw-qqbot",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/qqbot",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/qqbot",
|
||||
"sourceRef": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
}
|
||||
}
|
||||
1
plugins/openclaw-telemetry
Submodule
1
plugins/openclaw-telemetry
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 86c2458a0dfe82d639c208c5220396feb9d53c45
|
||||
8
plugins/openclaw-weixin/package-lock.json
generated
8
plugins/openclaw-weixin/package-lock.json
generated
@ -8,13 +8,13 @@
|
||||
"name": "@crabpot/fixture-openclaw-weixin",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@tencent-weixin/openclaw-weixin": "2.1.10"
|
||||
"@tencent-weixin/openclaw-weixin": "2.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@tencent-weixin/openclaw-weixin": {
|
||||
"version": "2.1.10",
|
||||
"resolved": "https://registry.npmjs.org/@tencent-weixin/openclaw-weixin/-/openclaw-weixin-2.1.10.tgz",
|
||||
"integrity": "sha512-cEG6Iw5g2qqlA+8/TcmV+E8aFUEX0ruxF0+a5LgVy5wv56/qP07KoapfRa7YTRPzhRW5UDaz6zsZQArt/4ZNnA==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@tencent-weixin/openclaw-weixin/-/openclaw-weixin-2.3.1.tgz",
|
||||
"integrity": "sha512-plOrZq5Oj4YkmP2/yclVnlPuPruUfXxk7BmHfnJFcFPmaXpt9X3gMF1WyQ6ebnEqtCvIpAIsntufgKShZemxCA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"qrcode-terminal": "0.12.0",
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Weixin.",
|
||||
"dependencies": {
|
||||
"@tencent-weixin/openclaw-weixin": "2.1.10"
|
||||
"@tencent-weixin/openclaw-weixin": "2.3.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "openclaw-weixin",
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit f8987269d3f2121f52ace4f60c80629266c0dfd7
|
||||
Subproject commit 0f62b10688428f288eaff9b99e0ee7a9334137e7
|
||||
33
plugins/synology-chat/package-lock.json
generated
Normal file
33
plugins/synology-chat/package-lock.json
generated
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-synology-chat",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-synology-chat",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/synology-chat": "2026.2.22"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/synology-chat": {
|
||||
"version": "2026.2.22",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/synology-chat/-/synology-chat-2026.2.22.tgz",
|
||||
"integrity": "sha512-MtNiSs5wIDoQ1k/5PH6qRBYkydZTzjjhfp/4RpIiI0q1cBLl8l8qUASvXSDwm8iUxsCgLDizirxgYh3CyHBOqw==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/synology-chat/package.json
Normal file
17
plugins/synology-chat/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-synology-chat",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for Synology Chat channel plugin for OpenClaw.",
|
||||
"dependencies": {
|
||||
"@openclaw/synology-chat": "2026.2.22"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "synology-chat",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/synology-chat",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/synology-chat",
|
||||
"sourceRef": "b19a6ee62db342d400a233903adcaf17f67246c5"
|
||||
}
|
||||
}
|
||||
1
plugins/telnyx-sms
Submodule
1
plugins/telnyx-sms
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit dee567716ca56d49464bf6354393f3656d92a2b3
|
||||
34
plugins/tlon/package-lock.json
generated
Normal file
34
plugins/tlon/package-lock.json
generated
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-tlon",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-tlon",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/tlon": "2026.2.21"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/tlon": {
|
||||
"version": "2026.2.21",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/tlon/-/tlon-2026.2.21.tgz",
|
||||
"integrity": "sha512-RTm9SFRwabR36jdVm7YZpZcpqf3m+Yu2AsGRsmWLK2qVmz6RLWrv1fWRapirL2LlUYJTEPJkYwanhjrQqssHrg==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@urbit/aura": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@urbit/aura": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@urbit/aura/-/aura-3.0.0.tgz",
|
||||
"integrity": "sha512-N8/FHc/lmlMDCumMuTXyRHCxlov5KZY6unmJ9QR2GOw+OpROZMBsXYGwE+ZMtvN21ql9+Xb8KhGNBj08IrG3Wg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=16",
|
||||
"npm": ">=8"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/tlon/package.json
Normal file
17
plugins/tlon/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-tlon",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Tlon/Urbit channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/tlon": "2026.2.21"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "tlon",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/tlon",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/tlon",
|
||||
"sourceRef": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
}
|
||||
}
|
||||
326
plugins/twitch/package-lock.json
generated
Normal file
326
plugins/twitch/package-lock.json
generated
Normal file
@ -0,0 +1,326 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-twitch",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-twitch",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/twitch": "2026.2.21"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/cache-decorators": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/cache-decorators/-/cache-decorators-4.0.1.tgz",
|
||||
"integrity": "sha512-HNYLBLWs/t28GFZZeqdIBqq8f37mqDIFO6xNPof94VjpKvuP6ROqCZGafx88dk5zZUlBfViV9jD8iNNlXfc4CA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/shared-utils": "^3.6.3",
|
||||
"tslib": "^2.6.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/connection": {
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/connection/-/connection-10.0.1.tgz",
|
||||
"integrity": "sha512-CRP/azUPxwWpR4yT8wOQoM9XFliTVWVAJ8h1SlFnVRAgMlPNyg88/vbDEqZ+udtSB5m8uS10XafZxMUcegMBlQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/isomorphic-ws": "^7.0.0",
|
||||
"@d-fischer/logger": "^4.2.1",
|
||||
"@d-fischer/shared-utils": "^3.5.0",
|
||||
"@d-fischer/typed-event-emitter": "^3.3.0",
|
||||
"@types/node": "^20.19.37",
|
||||
"@types/ws": "^8.5.4",
|
||||
"tslib": "^2.4.1",
|
||||
"ws": "^8.11.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/deprecate": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/deprecate/-/deprecate-2.0.2.tgz",
|
||||
"integrity": "sha512-wlw3HwEanJFJKctwLzhfOM6LKwR70FPfGZGoKOhWBKyOPXk+3a9Cc6S9zhm6tka7xKtpmfxVIReGUwPnMbIaZg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@d-fischer/detect-node": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/detect-node/-/detect-node-3.0.1.tgz",
|
||||
"integrity": "sha512-0Rf3XwTzuTh8+oPZW9SfxTIiL+26RRJ0BRPwj5oVjZFyFKmsj9RGfN2zuTRjOuA3FCK/jYm06HOhwNK+8Pfv8w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@d-fischer/escape-string-regexp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
|
||||
"integrity": "sha512-7eoxnxcto5eVPW5h1T+ePnVFukmI9f/ZR9nlBLh1t3kyzJDUNor2C+YW9H/Terw3YnbZSDgDYrpCJCHtOtAQHw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/isomorphic-ws": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/isomorphic-ws/-/isomorphic-ws-7.0.2.tgz",
|
||||
"integrity": "sha512-xK+qIJUF0ne3dsjq5Y3BviQ4M+gx9dzkN+dPP7abBMje4YRfow+X9jBgeEoTe5e+Q6+8hI9R0b37Okkk8Vf0hQ==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"ws": "^8.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/logger": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/logger/-/logger-4.2.4.tgz",
|
||||
"integrity": "sha512-TFMZ/SVW8xyQtyJw9Rcuci4betSKy0qbQn2B5+1+72vVXeO8Qb1pYvuwF5qr0vDGundmSWq7W8r19nVPnXXSvA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/detect-node": "^3.0.1",
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/rate-limiter": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/rate-limiter/-/rate-limiter-1.1.0.tgz",
|
||||
"integrity": "sha512-O5HgACwApyCZhp4JTEBEtbv/W3eAwEkrARFvgWnEsDmXgCMWjIHwohWoHre5BW6IYXFSHBGsuZB/EvNL3942kQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/logger": "^4.2.3",
|
||||
"@d-fischer/shared-utils": "^3.6.3",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/shared-utils": {
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/shared-utils/-/shared-utils-3.6.4.tgz",
|
||||
"integrity": "sha512-BPkVLHfn2Lbyo/ENDBwtEB8JVQ+9OzkjJhUunLaxkw4k59YFlQxUUwlDBejVSFcpQT0t+D3CQlX+ySZnQj0wxw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.4.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@d-fischer/typed-event-emitter": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@d-fischer/typed-event-emitter/-/typed-event-emitter-3.3.3.tgz",
|
||||
"integrity": "sha512-OvSEOa8icfdWDqcRtjSEZtgJTFOFNgTjje7zaL0+nAtu2/kZtRCSK5wUMrI/aXtCH8o0Qz2vA8UqkhWUTARFQQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tslib": "^2.4.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/twitch": {
|
||||
"version": "2026.2.21",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/twitch/-/twitch-2026.2.21.tgz",
|
||||
"integrity": "sha512-uCtkUVUqj08LMwfBF2E6c0S6Pyu/kvLy/kWelsIqrpMJwzUgFrcsAwVb8YuRdmrQxFzQqZ5QQ8KEbYk7R9orPg==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@twurple/api": "^8.0.3",
|
||||
"@twurple/auth": "^8.0.3",
|
||||
"@twurple/chat": "^8.0.3",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@twurple/api": {
|
||||
"version": "8.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@twurple/api/-/api-8.1.3.tgz",
|
||||
"integrity": "sha512-DTa/VX+h7kciDz3ZBQmrpVy1nPIepRMv4BtldaXKfDERlXRQBt4V2d6KfNn/hdUkRkxJ2Xi8x4PfBFE79VSrBw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/cache-decorators": "^4.0.0",
|
||||
"@d-fischer/detect-node": "^3.0.1",
|
||||
"@d-fischer/logger": "^4.2.1",
|
||||
"@d-fischer/rate-limiter": "^1.1.0",
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"@d-fischer/typed-event-emitter": "^3.3.3",
|
||||
"@twurple/api-call": "8.1.3",
|
||||
"@twurple/common": "8.1.3",
|
||||
"retry": "^0.13.1",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@twurple/auth": "8.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@twurple/api-call": {
|
||||
"version": "8.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@twurple/api-call/-/api-call-8.1.3.tgz",
|
||||
"integrity": "sha512-eKIoIRHyPsyJwCOpofE+/J+C5O+bPnxtq3bPUzMsS4EzZOF268WocbkaKLW1Fh3tepyxj3TvTNxEvKA6jbJr0A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"@twurple/common": "8.1.3",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@twurple/auth": {
|
||||
"version": "8.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@twurple/auth/-/auth-8.1.3.tgz",
|
||||
"integrity": "sha512-UklOtXzQUnZskFsvt3h3kmkjXsILqNXe4NCMR1SYPicsYVnVMElS1uMiVI/H5mzJhVR5MFx5wQQyI15b5YtBxw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/logger": "^4.2.1",
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"@d-fischer/typed-event-emitter": "^3.3.3",
|
||||
"@twurple/api-call": "8.1.3",
|
||||
"@twurple/common": "8.1.3",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@twurple/chat": {
|
||||
"version": "8.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@twurple/chat/-/chat-8.1.3.tgz",
|
||||
"integrity": "sha512-BTamweCTlv8Bdkx1um0dSn0sDXBm3CX4js0GbatWPsX6mrMWljny2pQgIj+PSkTtHfsR4fmGEIayAticEydxnQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/cache-decorators": "^4.0.0",
|
||||
"@d-fischer/deprecate": "^2.0.2",
|
||||
"@d-fischer/logger": "^4.2.1",
|
||||
"@d-fischer/rate-limiter": "^1.1.0",
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"@d-fischer/typed-event-emitter": "^3.3.3",
|
||||
"@twurple/common": "8.1.3",
|
||||
"ircv3": "^0.33.0",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@twurple/auth": "8.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@twurple/common": {
|
||||
"version": "8.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@twurple/common/-/common-8.1.3.tgz",
|
||||
"integrity": "sha512-B2BT42fJAEYqSPGjTd6qyZoUv6kgFzIvUJuTIrOUcBiJxcvZh8tD+WLRd5xfMKhtLbUFgesYlHxdPhmdar8/zw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/shared-utils": "^3.6.1",
|
||||
"klona": "^2.0.4",
|
||||
"tslib": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.19.39",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz",
|
||||
"integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.21.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.18.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
||||
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/ircv3": {
|
||||
"version": "0.33.1",
|
||||
"resolved": "https://registry.npmjs.org/ircv3/-/ircv3-0.33.1.tgz",
|
||||
"integrity": "sha512-FPUj/q6zsLgIX6QDdLMjPRBObw0xK+k6eiI62dcTRwdl5aezYV0nuMhpmafyHOD6ZDqfw8DW4ayrvDfmYO65JQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d-fischer/connection": "^10.0.1",
|
||||
"@d-fischer/escape-string-regexp": "^5.0.0",
|
||||
"@d-fischer/logger": "^4.2.1",
|
||||
"@d-fischer/shared-utils": "^3.5.0",
|
||||
"@d-fischer/typed-event-emitter": "^3.3.0",
|
||||
"klona": "^2.0.5",
|
||||
"tslib": "^2.4.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
}
|
||||
},
|
||||
"node_modules/klona": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
|
||||
"integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/retry": {
|
||||
"version": "0.13.1",
|
||||
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
|
||||
"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"license": "0BSD"
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/twitch/package.json
Normal file
17
plugins/twitch/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-twitch",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Twitch channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/twitch": "2026.2.21"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "twitch",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/twitch",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/twitch",
|
||||
"sourceRef": "35a57bc940833a6c1f594b2308e349e5ee0148db"
|
||||
}
|
||||
}
|
||||
72
plugins/voice-call/package-lock.json
generated
Normal file
72
plugins/voice-call/package-lock.json
generated
Normal file
@ -0,0 +1,72 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-voice-call",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-voice-call",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/voice-call": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/voice-call": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/voice-call/-/voice-call-2026.3.13.tgz",
|
||||
"integrity": "sha512-AgXSfIn4KnX3b851z9FQ3dMora02CxAL0EJOTmbj1Pxxe8XMHjISORfaR82VEmQ7MLjSUek63QDYL8k6754MdQ==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@sinclair/typebox": "0.34.48",
|
||||
"commander": "^14.0.3",
|
||||
"ws": "^8.19.0",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinclair/typebox": {
|
||||
"version": "0.34.48",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
|
||||
"integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/voice-call/package.json
Normal file
17
plugins/voice-call/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-voice-call",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw voice-call plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/voice-call": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "voice-call",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/voice-call",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/voice-call",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit 6e4c765cd04eb449c806748c3130793fe0b05e5e
|
||||
Subproject commit dd3cab6e11f16eaa3fcee0ce67d3a809b155341a
|
||||
@ -1 +1 @@
|
||||
Subproject commit b7849ac055c8fa699d01b48e83cf24028907307d
|
||||
Subproject commit 503a1d5403bc3a57763b9ef17c60a9d5e31b53d9
|
||||
2068
plugins/whatsapp/package-lock.json
generated
Normal file
2068
plugins/whatsapp/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
plugins/whatsapp/package.json
Normal file
17
plugins/whatsapp/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-whatsapp",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw WhatsApp channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/whatsapp": "2026.5.1-beta.1"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "whatsapp",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/whatsapp",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/whatsapp",
|
||||
"sourceRef": "355680f1f21af3782c8ffbb5f3cec281dc584af6"
|
||||
}
|
||||
}
|
||||
1758
plugins/yuanbao/package-lock.json
generated
1758
plugins/yuanbao/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,17 @@
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for Tencent Yuanbao Bot.",
|
||||
"dependencies": {
|
||||
"openclaw-plugin-yuanbao": "2.11.0"
|
||||
"openclaw-plugin-yuanbao": "3.0.1"
|
||||
},
|
||||
"overrides": {
|
||||
"@anthropic-ai/sdk": "0.91.1",
|
||||
"conf": "10.2.0",
|
||||
"cos-nodejs-sdk-v5": "2.16.0-beta.8",
|
||||
"fast-xml-parser": "5.7.2",
|
||||
"form-data": "4.0.5",
|
||||
"qs": "6.15.1",
|
||||
"tough-cookie": "6.0.1",
|
||||
"uuid": "14.0.0"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "yuanbao",
|
||||
|
||||
43
plugins/zalo/package-lock.json
generated
Normal file
43
plugins/zalo/package-lock.json
generated
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-zalo",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-zalo",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/zalo": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/zalo": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/zalo/-/zalo-2026.3.13.tgz",
|
||||
"integrity": "sha512-v/NQezfoCpFxIlOpLXJHdT1zkldql1D/E0lccqCfbu2OeldePMNpgOgA7B5TDHsC1FlNMR+M2FR5pU212k+wLw==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"undici": "7.24.1",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "7.24.1",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.1.tgz",
|
||||
"integrity": "sha512-5xoBibbmnjlcR3jdqtY2Lnx7WbrD/tHlT01TmvqZUFVc9Q1w4+j5hbnapTqbcXITMH1ovjq/W7BkqBilHiVAaA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20.18.1"
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/zalo/package.json
Normal file
17
plugins/zalo/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-zalo",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Zalo channel plugin.",
|
||||
"dependencies": {
|
||||
"@openclaw/zalo": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "zalo",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/zalo",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/zalo",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
401
plugins/zalouser/package-lock.json
generated
Normal file
401
plugins/zalouser/package-lock.json
generated
Normal file
@ -0,0 +1,401 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-zalouser",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@crabpot/fixture-zalouser",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@openclaw/zalouser": "2026.3.13"
|
||||
}
|
||||
},
|
||||
"node_modules/@openclaw/zalouser": {
|
||||
"version": "2026.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@openclaw/zalouser/-/zalouser-2026.3.13.tgz",
|
||||
"integrity": "sha512-bhgN94P/LYwD8Xdj7bapG9AfhNz5Y4GPKi9X5prVbwaiP71BXezbs6SRxnLlu9B9KWjUDnyAwoOCFD2cnlTE/w==",
|
||||
"deprecated": "Deprecated: obsolete OpenClaw plugin package version. Use current OpenClaw bundled/plugin distribution; newer npm releases may return later.",
|
||||
"dependencies": {
|
||||
"@sinclair/typebox": "0.34.48",
|
||||
"zca-js": "2.1.1",
|
||||
"zod": "^4.3.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinclair/typebox": {
|
||||
"version": "0.34.48",
|
||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
|
||||
"integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/bignumber.js": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz",
|
||||
"integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bind-apply-helpers": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
||||
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"function-bind": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/crypto-js": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
|
||||
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dunder-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bind-apply-helpers": "^1.0.1",
|
||||
"es-errors": "^1.3.0",
|
||||
"gopd": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-define-property": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-errors": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-object-atoms": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/es-set-tostringtag": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
||||
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0",
|
||||
"get-intrinsic": "^1.2.6",
|
||||
"has-tostringtag": "^1.0.2",
|
||||
"hasown": "^2.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
||||
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"es-set-tostringtag": "^2.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"mime-types": "^2.1.12"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-intrinsic": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"call-bind-apply-helpers": "^1.0.2",
|
||||
"es-define-property": "^1.0.1",
|
||||
"es-errors": "^1.3.0",
|
||||
"es-object-atoms": "^1.1.1",
|
||||
"function-bind": "^1.1.2",
|
||||
"get-proto": "^1.0.1",
|
||||
"gopd": "^1.2.0",
|
||||
"has-symbols": "^1.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"math-intrinsics": "^1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dunder-proto": "^1.0.1",
|
||||
"es-object-atoms": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/gopd": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
||||
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-symbols": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
||||
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-tostringtag": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
||||
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-symbols": "^1.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
|
||||
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/json-bigint": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
|
||||
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bignumber.js": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/math-intrinsics": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-types": {
|
||||
"version": "2.1.35",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mime-db": "1.52.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/pako": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
|
||||
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
|
||||
"license": "(MIT AND Zlib)"
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.7.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
||||
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/spark-md5": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz",
|
||||
"integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==",
|
||||
"license": "(WTFPL OR MIT)"
|
||||
},
|
||||
"node_modules/tldts": {
|
||||
"version": "6.1.86",
|
||||
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
|
||||
"integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tldts-core": "^6.1.86"
|
||||
},
|
||||
"bin": {
|
||||
"tldts": "bin/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tldts-core": {
|
||||
"version": "6.1.86",
|
||||
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz",
|
||||
"integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tough-cookie": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
|
||||
"integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"tldts": "^6.1.32"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/zca-js": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/zca-js/-/zca-js-2.1.1.tgz",
|
||||
"integrity": "sha512-6zCmaIIWg/1eYlvCvO4rVsFt6SQ8MRodro3dCzMkk+LNgB3MyaEMBywBJfsw44WhODmOh8iMlPv4xDTNTMWDWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"crypto-js": "^4.2.0",
|
||||
"form-data": "^4.0.4",
|
||||
"json-bigint": "^1.0.0",
|
||||
"pako": "^2.1.0",
|
||||
"semver": "^7.6.3",
|
||||
"spark-md5": "^3.0.2",
|
||||
"tough-cookie": "^5.0.0",
|
||||
"ws": "^8.18.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz",
|
||||
"integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
plugins/zalouser/package.json
Normal file
17
plugins/zalouser/package.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "@crabpot/fixture-zalouser",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Crabpot npm fixture shim for OpenClaw Zalo Personal Account plugin via native zca-js integration.",
|
||||
"dependencies": {
|
||||
"@openclaw/zalouser": "2026.3.13"
|
||||
},
|
||||
"crabpot": {
|
||||
"fixture": "zalouser",
|
||||
"source": "npm",
|
||||
"package": "@openclaw/zalouser",
|
||||
"sourceRepo": "https://github.com/openclaw/openclaw.git",
|
||||
"sourcePath": "extensions/zalouser",
|
||||
"sourceRef": "2ce6b77205187c76ce7cde6cb0913de14d4452fa"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -3,10 +3,11 @@
|
||||
"status": "pass",
|
||||
"strict": false,
|
||||
"policy": {
|
||||
"allowedBlocked": 2,
|
||||
"allowedBlocked": 6,
|
||||
"expectedWarnings": 1,
|
||||
"fixtureSets": [
|
||||
"build",
|
||||
"openclaw-beta",
|
||||
"sdk-alias",
|
||||
"side-effect-review",
|
||||
"smoke"
|
||||
@ -19,41 +20,216 @@
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"checkCount": 9,
|
||||
"checkCount": 25,
|
||||
"failCount": 0,
|
||||
"warnCount": 3,
|
||||
"warnCount": 19,
|
||||
"passCount": 6
|
||||
},
|
||||
"checks": [
|
||||
{
|
||||
"id": "compatibility-report.live-p0-issues",
|
||||
"id": "execution-results.audit-findings",
|
||||
"action": "warn",
|
||||
"message": "2 live P0 issues tracked",
|
||||
"message": "12 package audit findings",
|
||||
"evidence": [
|
||||
"codex-app-server:sdk-export-missing:untracked",
|
||||
"hyperspell:unknown-hook-name:none"
|
||||
"clawrouter:12"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.wecom.registerChannel.0",
|
||||
"id": "execution-results.blocked.clawrouter.registerService.29",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured registration requires includeChannelRuntime=true",
|
||||
"message": "allowed-blocked: captured registration requires includeLifecycle=true",
|
||||
"evidence": [
|
||||
".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json",
|
||||
"registerChannel",
|
||||
"captured registration requires includeChannelRuntime=true",
|
||||
"channel-runtime-harness"
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerService",
|
||||
"captured registration requires includeLifecycle=true",
|
||||
"service-lifecycle-harness"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.wecom.registerTool.2",
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.10",
|
||||
"action": "warn",
|
||||
"message": "expected-warning: captured registration has no object descriptor",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json",
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured registration has no object descriptor",
|
||||
"tool-factory-descriptor"
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.11",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.12",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.13",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.14",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.15",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.16",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.17",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.18",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.19",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.20",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.21",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.5",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.6",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.7",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.8",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.9",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -65,63 +241,73 @@
|
||||
{
|
||||
"id": "compatibility-report.deprecation-warnings",
|
||||
"action": "pass",
|
||||
"message": "21 deprecated compat seams tracked",
|
||||
"message": "42 deprecated compat seams tracked",
|
||||
"evidence": [
|
||||
"a2a-gateway:legacy-root-sdk-import",
|
||||
"agentchat:channel-env-vars",
|
||||
"apify:legacy-root-sdk-import",
|
||||
"brave-plugin:provider-auth-env-vars",
|
||||
"codex-app-server:legacy-root-sdk-import",
|
||||
"composio:legacy-root-sdk-import",
|
||||
"connectclaw:legacy-before-agent-start",
|
||||
"connectclaw:legacy-root-sdk-import",
|
||||
"dingtalk-connector:legacy-root-sdk-import",
|
||||
"discord:channel-env-vars",
|
||||
"feishu:channel-env-vars",
|
||||
"hasdata:provider-auth-env-vars",
|
||||
"honcho:legacy-before-agent-start",
|
||||
"honcho:legacy-root-sdk-import",
|
||||
"hyperspell:legacy-before-agent-start",
|
||||
"hyperspell:legacy-root-sdk-import",
|
||||
"inworld-tts:provider-auth-env-vars",
|
||||
"kitchen-sink:legacy-before-agent-start",
|
||||
"kitchen-sink:legacy-root-sdk-import",
|
||||
"llm-trace-phoenix:legacy-root-sdk-import",
|
||||
"lossless-claw:legacy-root-sdk-import",
|
||||
"matrix:channel-env-vars",
|
||||
"mattermost:channel-env-vars",
|
||||
"memory-tencentdb:legacy-root-sdk-import",
|
||||
"memos-cloud:legacy-before-agent-start",
|
||||
"memu-engine:legacy-root-sdk-import",
|
||||
"mocrane-wecom:legacy-root-sdk-import",
|
||||
"msteams:channel-env-vars",
|
||||
"nemoclaw:legacy-before-agent-start",
|
||||
"nextcloud-talk:channel-env-vars",
|
||||
"nostr:channel-env-vars",
|
||||
"openclaw-qqbot:channel-env-vars",
|
||||
"openclaw-telemetry:legacy-before-agent-start",
|
||||
"openclaw-telemetry:legacy-root-sdk-import",
|
||||
"opik-openclaw:legacy-root-sdk-import",
|
||||
"qqbot:legacy-root-sdk-import",
|
||||
"yuanbao:legacy-root-sdk-import"
|
||||
"synology-chat:channel-env-vars",
|
||||
"telnyx-sms:channel-env-vars",
|
||||
"twitch:channel-env-vars",
|
||||
"voice-call:channel-env-vars",
|
||||
"yuanbao:channel-env-vars",
|
||||
"zalo:channel-env-vars",
|
||||
"zalouser:channel-env-vars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "compatibility-report.inspector-gaps",
|
||||
"action": "pass",
|
||||
"message": "97 inspector proof gaps tracked",
|
||||
"message": "163 inspector proof gaps tracked",
|
||||
"evidence": [
|
||||
"a2a-gateway:registration-capture-gap",
|
||||
"clawmetry:registration-capture-gap",
|
||||
"codex-app-server:registration-capture-gap",
|
||||
"connectclaw:registration-capture-gap",
|
||||
"honcho:conversation-access-hook",
|
||||
"honcho:registration-capture-gap",
|
||||
"hyperspell:conversation-access-hook",
|
||||
"hyperspell:registration-capture-gap",
|
||||
"lightclawbot:registration-capture-gap",
|
||||
"kitchen-sink:before-tool-call-probe",
|
||||
"kitchen-sink:conversation-access-hook",
|
||||
"llm-trace-phoenix:conversation-access-hook",
|
||||
"lossless-claw:registration-capture-gap",
|
||||
"mcp-adapter:registration-capture-gap",
|
||||
"memory-lancedb:conversation-access-hook",
|
||||
"memory-tencentdb:conversation-access-hook",
|
||||
"memos-cloud:conversation-access-hook",
|
||||
"memos-cloud:registration-capture-gap",
|
||||
"mocrane-wecom:registration-capture-gap",
|
||||
"openclaw-weixin:registration-capture-gap",
|
||||
"nemoclaw:before-tool-call-probe",
|
||||
"openclaw-telemetry:before-tool-call-probe",
|
||||
"openclaw-telemetry:conversation-access-hook",
|
||||
"opik-openclaw:before-tool-call-probe",
|
||||
"opik-openclaw:conversation-access-hook",
|
||||
"opik-openclaw:registration-capture-gap",
|
||||
"qqbot:registration-capture-gap",
|
||||
"secureclaw:registration-capture-gap",
|
||||
"wecom:before-tool-call-probe",
|
||||
"wecom:registration-capture-gap",
|
||||
"yuanbao:registration-capture-gap",
|
||||
"a2a-gateway:package-dependency-install-required",
|
||||
"a2a-gateway:package-typescript-source-entrypoint",
|
||||
"a2a-gateway:registration-capture-gap",
|
||||
"a2a-gateway:runtime-tool-capture",
|
||||
"agentchat:channel-contract-probe",
|
||||
"agentchat:package-build-artifact-entrypoint",
|
||||
@ -129,110 +315,176 @@
|
||||
"apify:package-dependency-install-required",
|
||||
"apify:package-typescript-source-entrypoint",
|
||||
"apify:runtime-tool-capture",
|
||||
"bluebubbles:channel-contract-probe",
|
||||
"clawmetry:package-build-artifact-entrypoint",
|
||||
"clawmetry:package-dependency-install-required",
|
||||
"clawmetry:package-typescript-source-entrypoint",
|
||||
"clawmetry:registration-capture-gap",
|
||||
"clawrouter:package-dependency-install-required",
|
||||
"clawrouter:registration-capture-gap",
|
||||
"clawrouter:runtime-tool-capture",
|
||||
"codex:package-dependency-install-required",
|
||||
"codex:registration-capture-gap",
|
||||
"codex-app-server:package-dependency-install-required",
|
||||
"codex-app-server:package-typescript-source-entrypoint",
|
||||
"codex-app-server:registration-capture-gap",
|
||||
"composio:package-dependency-install-required",
|
||||
"composio:package-typescript-source-entrypoint",
|
||||
"composio:runtime-tool-capture",
|
||||
"connectclaw:package-dependency-install-required",
|
||||
"connectclaw:package-typescript-source-entrypoint",
|
||||
"connectclaw:registration-capture-gap",
|
||||
"connectclaw:runtime-tool-capture",
|
||||
"ddingtalk:channel-contract-probe",
|
||||
"ddingtalk:package-dependency-install-required",
|
||||
"ddingtalk:package-typescript-source-entrypoint",
|
||||
"diagnostics-otel:package-dependency-install-required",
|
||||
"diagnostics-otel:registration-capture-gap",
|
||||
"diagnostics-prometheus:registration-capture-gap",
|
||||
"diffs:package-dependency-install-required",
|
||||
"diffs:registration-capture-gap",
|
||||
"dingtalk-connector:channel-contract-probe",
|
||||
"dingtalk-connector:package-build-artifact-entrypoint",
|
||||
"dingtalk-connector:package-dependency-install-required",
|
||||
"dingtalk-connector:registration-capture-gap",
|
||||
"discord:channel-contract-probe",
|
||||
"discord:package-dependency-install-required",
|
||||
"feishu:channel-contract-probe",
|
||||
"feishu:package-dependency-install-required",
|
||||
"google-meet:package-dependency-install-required",
|
||||
"google-meet:registration-capture-gap",
|
||||
"hasdata:package-dependency-install-required",
|
||||
"hasdata:package-typescript-source-entrypoint",
|
||||
"honcho:package-build-artifact-entrypoint",
|
||||
"honcho:package-dependency-install-required",
|
||||
"honcho:registration-capture-gap",
|
||||
"honcho:runtime-tool-capture",
|
||||
"hyperspell:package-dependency-install-required",
|
||||
"hyperspell:package-typescript-source-entrypoint",
|
||||
"hyperspell:registration-capture-gap",
|
||||
"hyperspell:runtime-tool-capture",
|
||||
"inworld-tts:package-dependency-install-required",
|
||||
"inworld-tts:package-typescript-source-entrypoint",
|
||||
"kitchen-sink:channel-contract-probe",
|
||||
"kitchen-sink:registration-capture-gap",
|
||||
"lightclawbot:channel-contract-probe",
|
||||
"lightclawbot:package-dependency-install-required",
|
||||
"lightclawbot:registration-capture-gap",
|
||||
"lightclawbot:runtime-tool-capture",
|
||||
"llm-trace-phoenix:package-typescript-source-entrypoint",
|
||||
"lobster:package-dependency-install-required",
|
||||
"lossless-claw:package-build-artifact-entrypoint",
|
||||
"lossless-claw:package-dependency-install-required",
|
||||
"lossless-claw:runtime-tool-capture",
|
||||
"lossless-claw:registration-capture-gap",
|
||||
"matrix:package-dependency-install-required",
|
||||
"matrix:package-typescript-source-entrypoint",
|
||||
"matrix:registration-capture-gap",
|
||||
"mattermost:channel-contract-probe",
|
||||
"mattermost:package-dependency-install-required",
|
||||
"mattermost:package-typescript-source-entrypoint",
|
||||
"mattermost:registration-capture-gap",
|
||||
"mcp-adapter:package-dependency-install-required",
|
||||
"mcp-adapter:package-typescript-source-entrypoint",
|
||||
"mcp-adapter:registration-capture-gap",
|
||||
"mcp-adapter:runtime-tool-capture",
|
||||
"memory-lancedb:package-dependency-install-required",
|
||||
"memory-lancedb:registration-capture-gap",
|
||||
"memory-tencentdb:package-dependency-install-required",
|
||||
"memory-tencentdb:package-typescript-source-entrypoint",
|
||||
"memory-tencentdb:runtime-tool-capture",
|
||||
"memory-tencentdb:registration-capture-gap",
|
||||
"memos-cloud:registration-capture-gap",
|
||||
"memu-engine:package-typescript-source-entrypoint",
|
||||
"memu-engine:runtime-tool-capture",
|
||||
"mocrane-wecom:channel-contract-probe",
|
||||
"mocrane-wecom:package-dependency-install-required",
|
||||
"mocrane-wecom:package-typescript-source-entrypoint",
|
||||
"mocrane-wecom:registration-capture-gap",
|
||||
"mocrane-wecom:runtime-tool-capture",
|
||||
"msteams:channel-contract-probe",
|
||||
"msteams:package-dependency-install-required",
|
||||
"nemoclaw:package-build-artifact-entrypoint",
|
||||
"nemoclaw:package-dependency-install-required",
|
||||
"nemoclaw:registration-capture-gap",
|
||||
"nextcloud-talk:channel-contract-probe",
|
||||
"nextcloud-talk:package-dependency-install-required",
|
||||
"nostr:channel-contract-probe",
|
||||
"nostr:package-dependency-install-required",
|
||||
"nostr:registration-capture-gap",
|
||||
"openclaw-qqbot:package-dependency-install-required",
|
||||
"openclaw-qqbot:registration-capture-gap",
|
||||
"openclaw-telemetry:package-typescript-source-entrypoint",
|
||||
"openclaw-telemetry:registration-capture-gap",
|
||||
"openclaw-weixin:channel-contract-probe",
|
||||
"openclaw-weixin:package-dependency-install-required",
|
||||
"openclaw-weixin:package-typescript-source-entrypoint",
|
||||
"openclaw-weixin:registration-capture-gap",
|
||||
"opik-openclaw:package-build-artifact-entrypoint",
|
||||
"opik-openclaw:package-dependency-install-required",
|
||||
"opik-openclaw:package-typescript-source-entrypoint",
|
||||
"opik-openclaw:registration-capture-gap",
|
||||
"qqbot:channel-contract-probe",
|
||||
"qqbot:package-dependency-install-required",
|
||||
"qqbot:registration-capture-gap",
|
||||
"qqbot:runtime-tool-capture",
|
||||
"secureclaw:package-build-artifact-entrypoint",
|
||||
"secureclaw:package-dependency-install-required",
|
||||
"web-search-plus:package-dependency-install-required",
|
||||
"secureclaw:registration-capture-gap",
|
||||
"synology-chat:channel-contract-probe",
|
||||
"synology-chat:package-dependency-install-required",
|
||||
"telnyx-sms:channel-contract-probe",
|
||||
"telnyx-sms:package-build-artifact-entrypoint",
|
||||
"telnyx-sms:registration-capture-gap",
|
||||
"tlon:channel-contract-probe",
|
||||
"tlon:package-dependency-install-required",
|
||||
"twitch:channel-contract-probe",
|
||||
"twitch:package-dependency-install-required",
|
||||
"voice-call:package-dependency-install-required",
|
||||
"voice-call:registration-capture-gap",
|
||||
"web-search-plus:package-typescript-source-entrypoint",
|
||||
"web-search-plus:runtime-tool-capture",
|
||||
"wecom:channel-contract-probe",
|
||||
"wecom:package-dependency-install-required",
|
||||
"wecom:registration-capture-gap",
|
||||
"wecom:runtime-tool-capture",
|
||||
"whatsapp:channel-contract-probe",
|
||||
"whatsapp:package-dependency-install-required",
|
||||
"yuanbao:channel-contract-probe",
|
||||
"yuanbao:package-dependency-install-required",
|
||||
"yuanbao:runtime-tool-capture"
|
||||
"yuanbao:package-typescript-source-entrypoint",
|
||||
"yuanbao:registration-capture-gap",
|
||||
"yuanbao:runtime-tool-capture",
|
||||
"zalo:channel-contract-probe",
|
||||
"zalo:package-dependency-install-required",
|
||||
"zalouser:channel-contract-probe",
|
||||
"zalouser:package-dependency-install-required"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "compatibility-report.live-p0-issues",
|
||||
"action": "pass",
|
||||
"message": "0 live P0 issues tracked",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
"id": "compatibility-report.p1-issues",
|
||||
"action": "pass",
|
||||
"message": "26 P1 issues tracked",
|
||||
"message": "15 P1 issues tracked",
|
||||
"evidence": [
|
||||
"a2a-gateway:registration-capture-gap",
|
||||
"clawmetry:registration-capture-gap",
|
||||
"codex-app-server:missing-compat-record",
|
||||
"codex-app-server:registration-capture-gap",
|
||||
"connectclaw:registration-capture-gap",
|
||||
"clawmetry:sdk-export-missing",
|
||||
"honcho:conversation-access-hook",
|
||||
"honcho:registration-capture-gap",
|
||||
"hyperspell:conversation-access-hook",
|
||||
"hyperspell:registration-capture-gap",
|
||||
"lightclawbot:registration-capture-gap",
|
||||
"honcho:sdk-export-missing",
|
||||
"kitchen-sink:before-tool-call-probe",
|
||||
"kitchen-sink:conversation-access-hook",
|
||||
"llm-trace-phoenix:conversation-access-hook",
|
||||
"lossless-claw:registration-capture-gap",
|
||||
"mcp-adapter:registration-capture-gap",
|
||||
"memory-lancedb:conversation-access-hook",
|
||||
"memory-tencentdb:conversation-access-hook",
|
||||
"memos-cloud:conversation-access-hook",
|
||||
"memos-cloud:registration-capture-gap",
|
||||
"mocrane-wecom:registration-capture-gap",
|
||||
"openclaw-weixin:registration-capture-gap",
|
||||
"nemoclaw:before-tool-call-probe",
|
||||
"openclaw-telemetry:before-tool-call-probe",
|
||||
"openclaw-telemetry:conversation-access-hook",
|
||||
"opik-openclaw:before-tool-call-probe",
|
||||
"opik-openclaw:conversation-access-hook",
|
||||
"opik-openclaw:registration-capture-gap",
|
||||
"qqbot:registration-capture-gap",
|
||||
"secureclaw:registration-capture-gap",
|
||||
"wecom:before-tool-call-probe",
|
||||
"wecom:registration-capture-gap",
|
||||
"yuanbao:registration-capture-gap"
|
||||
"wecom:before-tool-call-probe"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.audit-findings",
|
||||
"action": "pass",
|
||||
"message": "0 package audit findings",
|
||||
"evidence": []
|
||||
},
|
||||
{
|
||||
"id": "execution-results.failures",
|
||||
"action": "pass",
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,95 +1,54 @@
|
||||
{
|
||||
"generatedAt": "deterministic",
|
||||
"mode": "local",
|
||||
"openclawLabel": "",
|
||||
"title": "Crabpot CI Summary",
|
||||
"mode": "dependabot",
|
||||
"openclawLabel": "openclaw@latest (2026.5.6, c97b9f79ec43)",
|
||||
"status": "pass",
|
||||
"summary": {
|
||||
"breakages": 0,
|
||||
"warnings": 51,
|
||||
"suggestions": 92,
|
||||
"issues": 143,
|
||||
"p0Issues": 2,
|
||||
"p1Issues": 26,
|
||||
"liveIssues": 2,
|
||||
"liveP0Issues": 2,
|
||||
"compatGaps": 1,
|
||||
"deprecationWarnings": 21,
|
||||
"inspectorGaps": 97,
|
||||
"upstreamIssues": 22,
|
||||
"warnings": 126,
|
||||
"suggestions": 155,
|
||||
"issues": 281,
|
||||
"p0Issues": 0,
|
||||
"p1Issues": 15,
|
||||
"liveIssues": 0,
|
||||
"liveP0Issues": 0,
|
||||
"compatGaps": 2,
|
||||
"deprecationWarnings": 42,
|
||||
"inspectorGaps": 163,
|
||||
"upstreamIssues": 74,
|
||||
"refDiffFailures": 0,
|
||||
"refDiffWarnings": 0,
|
||||
"policyFailures": 0,
|
||||
"policyWarnings": 3,
|
||||
"policyWarnings": 19,
|
||||
"profileFailures": 0,
|
||||
"profileWarnings": 1,
|
||||
"executionPass": 6,
|
||||
"profileWarnings": 2,
|
||||
"executionPass": 12,
|
||||
"executionFail": 0,
|
||||
"executionBlocked": 2,
|
||||
"platformWindowsRisks": 153,
|
||||
"platformContainerRisks": 47,
|
||||
"loaderJitiCandidates": 18,
|
||||
"importLoopP50Ms": 950,
|
||||
"importLoopP95Ms": 1023,
|
||||
"importLoopMaxRssMb": 45.5,
|
||||
"importLoopMaxCpuMs": 208
|
||||
"executionBlocked": 18,
|
||||
"platformWindowsRisks": 14,
|
||||
"platformContainerRisks": 14,
|
||||
"loaderJitiCandidates": 25,
|
||||
"importLoopP50Ms": 2421,
|
||||
"importLoopP95Ms": 2471,
|
||||
"importLoopOpenClawLifecycleCount": 3,
|
||||
"importLoopOpenClawImportP50Ms": 84,
|
||||
"importLoopOpenClawActivationP50Ms": 0.3,
|
||||
"importLoopMetricBasis": "baseline-adjusted",
|
||||
"importLoopMaxRssMb": 13.3,
|
||||
"importLoopMaxCpuMs": 35,
|
||||
"importLoopRssSampleCount": 287,
|
||||
"importLoopCpuSampleCount": 287
|
||||
},
|
||||
"topIssues": [
|
||||
{
|
||||
"severity": "P0",
|
||||
"issueClass": "live-issue",
|
||||
"fixture": "codex-app-server",
|
||||
"code": "sdk-export-missing",
|
||||
"title": "codex-app-server: plugin SDK import aliases are missing from target package exports",
|
||||
"decision": "core-compat-adapter"
|
||||
},
|
||||
{
|
||||
"severity": "P0",
|
||||
"issueClass": "live-issue",
|
||||
"fixture": "hyperspell",
|
||||
"code": "unknown-hook-name",
|
||||
"title": "hyperspell: fixture uses a hook missing from target OpenClaw",
|
||||
"decision": "core-compat-adapter"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "a2a-gateway",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "a2a-gateway: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "clawmetry",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "clawmetry: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "compat-gap",
|
||||
"fixture": "codex-app-server",
|
||||
"code": "missing-compat-record",
|
||||
"title": "codex-app-server: compat-dependent behavior lacks registry coverage",
|
||||
"fixture": "clawmetry",
|
||||
"code": "sdk-export-missing",
|
||||
"title": "clawmetry: plugin SDK import aliases are missing from target package exports",
|
||||
"decision": "core-compat-adapter"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "codex-app-server",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "codex-app-server: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "connectclaw",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "connectclaw: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
@ -100,34 +59,26 @@
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"issueClass": "compat-gap",
|
||||
"fixture": "honcho",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "honcho: runtime registrations need capture before contract judgment",
|
||||
"code": "sdk-export-missing",
|
||||
"title": "honcho: plugin SDK import aliases are missing from target package exports",
|
||||
"decision": "core-compat-adapter"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "kitchen-sink",
|
||||
"code": "before-tool-call-probe",
|
||||
"title": "kitchen-sink: before_tool_call needs terminal/block/approval probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "hyperspell",
|
||||
"fixture": "kitchen-sink",
|
||||
"code": "conversation-access-hook",
|
||||
"title": "hyperspell: conversation-access hooks need privacy-boundary probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "hyperspell",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "hyperspell: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "lightclawbot",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "lightclawbot: runtime registrations need capture before contract judgment",
|
||||
"title": "kitchen-sink: conversation-access hooks need privacy-boundary probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
@ -141,17 +92,9 @@
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "lossless-claw",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "lossless-claw: runtime registrations need capture before contract judgment",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "mcp-adapter",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "mcp-adapter: runtime registrations need capture before contract judgment",
|
||||
"fixture": "memory-lancedb",
|
||||
"code": "conversation-access-hook",
|
||||
"title": "memory-lancedb: conversation-access hooks need privacy-boundary probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
@ -173,59 +116,258 @@
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "memos-cloud",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "memos-cloud: runtime registrations need capture before contract judgment",
|
||||
"fixture": "nemoclaw",
|
||||
"code": "before-tool-call-probe",
|
||||
"title": "nemoclaw: before_tool_call needs terminal/block/approval probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "mocrane-wecom",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "mocrane-wecom: runtime registrations need capture before contract judgment",
|
||||
"fixture": "openclaw-telemetry",
|
||||
"code": "before-tool-call-probe",
|
||||
"title": "openclaw-telemetry: before_tool_call needs terminal/block/approval probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "openclaw-weixin",
|
||||
"code": "registration-capture-gap",
|
||||
"title": "openclaw-weixin: runtime registrations need capture before contract judgment",
|
||||
"fixture": "openclaw-telemetry",
|
||||
"code": "conversation-access-hook",
|
||||
"title": "openclaw-telemetry: conversation-access hooks need privacy-boundary probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "opik-openclaw",
|
||||
"code": "before-tool-call-probe",
|
||||
"title": "opik-openclaw: before_tool_call needs terminal/block/approval probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "opik-openclaw",
|
||||
"code": "conversation-access-hook",
|
||||
"title": "opik-openclaw: conversation-access hooks need privacy-boundary probes",
|
||||
"decision": "inspector-follow-up"
|
||||
},
|
||||
{
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "wecom",
|
||||
"code": "before-tool-call-probe",
|
||||
"title": "wecom: before_tool_call needs terminal/block/approval probes",
|
||||
"decision": "inspector-follow-up"
|
||||
}
|
||||
],
|
||||
"refRegressions": [],
|
||||
"policyFindings": [
|
||||
{
|
||||
"id": "compatibility-report.live-p0-issues",
|
||||
"id": "execution-results.audit-findings",
|
||||
"action": "warn",
|
||||
"message": "2 live P0 issues tracked",
|
||||
"message": "12 package audit findings",
|
||||
"evidence": [
|
||||
"codex-app-server:sdk-export-missing:untracked",
|
||||
"hyperspell:unknown-hook-name:none"
|
||||
"clawrouter:12"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.wecom.registerChannel.0",
|
||||
"id": "execution-results.blocked.clawrouter.registerService.29",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured registration requires includeChannelRuntime=true",
|
||||
"message": "allowed-blocked: captured registration requires includeLifecycle=true",
|
||||
"evidence": [
|
||||
".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json",
|
||||
"registerChannel",
|
||||
"captured registration requires includeChannelRuntime=true",
|
||||
"channel-runtime-harness"
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerService",
|
||||
"captured registration requires includeLifecycle=true",
|
||||
"service-lifecycle-harness"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.wecom.registerTool.2",
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.10",
|
||||
"action": "warn",
|
||||
"message": "expected-warning: captured registration has no object descriptor",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json",
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured registration has no object descriptor",
|
||||
"tool-factory-descriptor"
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.11",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.12",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.13",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.14",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.15",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.16",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.17",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.18",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.19",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.20",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.21",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.5",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.6",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.7",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.8",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "execution-results.blocked.clawrouter.registerTool.9",
|
||||
"action": "warn",
|
||||
"message": "allowed-blocked: captured tool requires live network access",
|
||||
"evidence": [
|
||||
".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"registerTool",
|
||||
"captured tool requires live network access",
|
||||
"live-network-tool-probes"
|
||||
]
|
||||
}
|
||||
],
|
||||
@ -234,11 +376,20 @@
|
||||
"id": "profile.wall-p95",
|
||||
"action": "warn",
|
||||
"metric": "p95WallMs",
|
||||
"message": "p95WallMs regressed 262.5% over baseline",
|
||||
"message": "p95WallMs regressed 87.8% over baseline",
|
||||
"baseline": 1273,
|
||||
"current": 4615,
|
||||
"delta": 3342,
|
||||
"percent": 262.5
|
||||
"current": 2391,
|
||||
"delta": 1118,
|
||||
"percent": 87.8
|
||||
},
|
||||
{
|
||||
"id": "profile.peak-rss",
|
||||
"action": "warn",
|
||||
"metric": "maxPeakRssMb",
|
||||
"message": "maxPeakRssMb regressed 390.29999999999995 over baseline",
|
||||
"baseline": 65.1,
|
||||
"current": 455.4,
|
||||
"delta": 390.29999999999995
|
||||
}
|
||||
],
|
||||
"artifacts": {
|
||||
|
||||
@ -1,64 +1,59 @@
|
||||
# Crabpot CI Summary
|
||||
|
||||
Generated: deterministic
|
||||
Mode: local
|
||||
OpenClaw: -
|
||||
Mode: dependabot
|
||||
OpenClaw: openclaw@latest (2026.5.6, c97b9f79ec43)
|
||||
Status: PASS
|
||||
|
||||
## Counts
|
||||
|
||||
| Metric | Value |
|
||||
| --------------------------- | ------------------------------------------------------- |
|
||||
| Breakages | 0 |
|
||||
| Warnings | 51 |
|
||||
| Suggestions | 92 |
|
||||
| Issues | 143 |
|
||||
| P0 issues | 2 |
|
||||
| P1 issues | 26 |
|
||||
| Live issues | 2 |
|
||||
| Live P0 issues | 2 |
|
||||
| Compat gaps | 1 |
|
||||
| Deprecation warnings | 21 |
|
||||
| Inspector gaps | 97 |
|
||||
| Upstream metadata | 22 |
|
||||
| Ref diff failures | 0 |
|
||||
| Ref diff warnings | 0 |
|
||||
| Policy failures | 0 |
|
||||
| Policy warnings | 3 |
|
||||
| Profile failures | 0 |
|
||||
| Profile warnings | 1 |
|
||||
| Execution pass | 6 |
|
||||
| Execution fail | 0 |
|
||||
| Execution blocked | 2 |
|
||||
| Windows portability risks | 153 |
|
||||
| Container portability risks | 47 |
|
||||
| Jiti loader candidates | 18 |
|
||||
| Import loop | p50 950 ms / p95 1023 ms / max RSS 45.5 MB / CPU 208 ms |
|
||||
| Metric | Value |
|
||||
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| Breakages | 0 |
|
||||
| Warnings | 126 |
|
||||
| Suggestions | 155 |
|
||||
| Issues | 281 |
|
||||
| P0 issues | 0 |
|
||||
| P1 issues | 15 |
|
||||
| Live issues | 0 |
|
||||
| Live P0 issues | 0 |
|
||||
| Compat gaps | 2 |
|
||||
| Deprecation warnings | 42 |
|
||||
| Inspector gaps | 163 |
|
||||
| Upstream metadata | 74 |
|
||||
| Ref diff failures | 0 |
|
||||
| Ref diff warnings | 0 |
|
||||
| Policy failures | 0 |
|
||||
| Policy warnings | 19 |
|
||||
| Profile failures | 0 |
|
||||
| Profile warnings | 2 |
|
||||
| Execution pass | 12 |
|
||||
| Execution fail | 0 |
|
||||
| Execution blocked | 18 |
|
||||
| Windows portability risks | 14 |
|
||||
| Container portability risks | 14 |
|
||||
| Jiti loader candidates | 25 |
|
||||
| Import loop | p50 2421 ms / p95 2471 ms / plugin delta RSS 13.3 MB / plugin delta CPU 35 ms / OpenClaw import 84 ms / activate 0.3 ms |
|
||||
|
||||
## Top Issues
|
||||
|
||||
| Severity | Class | Fixture | Code | Decision | Title |
|
||||
| -------- | ------------- | ----------------- | ------------------------ | ------------------- | ----------------------------------------------------------------------------------- |
|
||||
| P0 | live-issue | codex-app-server | sdk-export-missing | core-compat-adapter | codex-app-server: plugin SDK import aliases are missing from target package exports |
|
||||
| P0 | live-issue | hyperspell | unknown-hook-name | core-compat-adapter | hyperspell: fixture uses a hook missing from target OpenClaw |
|
||||
| P1 | inspector-gap | a2a-gateway | registration-capture-gap | inspector-follow-up | a2a-gateway: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | clawmetry | registration-capture-gap | inspector-follow-up | clawmetry: runtime registrations need capture before contract judgment |
|
||||
| P1 | compat-gap | codex-app-server | missing-compat-record | core-compat-adapter | codex-app-server: compat-dependent behavior lacks registry coverage |
|
||||
| P1 | inspector-gap | codex-app-server | registration-capture-gap | inspector-follow-up | codex-app-server: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | connectclaw | registration-capture-gap | inspector-follow-up | connectclaw: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | honcho | conversation-access-hook | inspector-follow-up | honcho: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | honcho | registration-capture-gap | inspector-follow-up | honcho: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | hyperspell | conversation-access-hook | inspector-follow-up | hyperspell: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | hyperspell | registration-capture-gap | inspector-follow-up | hyperspell: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | lightclawbot | registration-capture-gap | inspector-follow-up | lightclawbot: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | llm-trace-phoenix | conversation-access-hook | inspector-follow-up | llm-trace-phoenix: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | lossless-claw | registration-capture-gap | inspector-follow-up | lossless-claw: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | mcp-adapter | registration-capture-gap | inspector-follow-up | mcp-adapter: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | memory-tencentdb | conversation-access-hook | inspector-follow-up | memory-tencentdb: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | memos-cloud | conversation-access-hook | inspector-follow-up | memos-cloud: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | memos-cloud | registration-capture-gap | inspector-follow-up | memos-cloud: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | mocrane-wecom | registration-capture-gap | inspector-follow-up | mocrane-wecom: runtime registrations need capture before contract judgment |
|
||||
| P1 | inspector-gap | openclaw-weixin | registration-capture-gap | inspector-follow-up | openclaw-weixin: runtime registrations need capture before contract judgment |
|
||||
| Severity | Class | Fixture | Code | Decision | Title |
|
||||
| -------- | ------------- | ------------------ | ------------------------ | ------------------- | ---------------------------------------------------------------------------- |
|
||||
| P1 | compat-gap | clawmetry | sdk-export-missing | core-compat-adapter | clawmetry: plugin SDK import aliases are missing from target package exports |
|
||||
| P1 | inspector-gap | honcho | conversation-access-hook | inspector-follow-up | honcho: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | compat-gap | honcho | sdk-export-missing | core-compat-adapter | honcho: plugin SDK import aliases are missing from target package exports |
|
||||
| P1 | inspector-gap | kitchen-sink | before-tool-call-probe | inspector-follow-up | kitchen-sink: before_tool_call needs terminal/block/approval probes |
|
||||
| P1 | inspector-gap | kitchen-sink | conversation-access-hook | inspector-follow-up | kitchen-sink: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | llm-trace-phoenix | conversation-access-hook | inspector-follow-up | llm-trace-phoenix: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | memory-lancedb | conversation-access-hook | inspector-follow-up | memory-lancedb: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | memory-tencentdb | conversation-access-hook | inspector-follow-up | memory-tencentdb: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | memos-cloud | conversation-access-hook | inspector-follow-up | memos-cloud: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | nemoclaw | before-tool-call-probe | inspector-follow-up | nemoclaw: before_tool_call needs terminal/block/approval probes |
|
||||
| P1 | inspector-gap | openclaw-telemetry | before-tool-call-probe | inspector-follow-up | openclaw-telemetry: before_tool_call needs terminal/block/approval probes |
|
||||
| P1 | inspector-gap | openclaw-telemetry | conversation-access-hook | inspector-follow-up | openclaw-telemetry: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | opik-openclaw | before-tool-call-probe | inspector-follow-up | opik-openclaw: before_tool_call needs terminal/block/approval probes |
|
||||
| P1 | inspector-gap | opik-openclaw | conversation-access-hook | inspector-follow-up | opik-openclaw: conversation-access hooks need privacy-boundary probes |
|
||||
| P1 | inspector-gap | wecom | before-tool-call-probe | inspector-follow-up | wecom: before_tool_call needs terminal/block/approval probes |
|
||||
|
||||
## Ref Regressions
|
||||
|
||||
@ -66,17 +61,34 @@ _none_
|
||||
|
||||
## Policy Findings
|
||||
|
||||
| Action | ID | Message | Evidence |
|
||||
| ------ | ------------------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| warn | compatibility-report.live-p0-issues | 2 live P0 issues tracked | codex-app-server:sdk-export-missing:untracked, hyperspell:unknown-hook-name:none |
|
||||
| warn | execution-results.blocked.wecom.registerChannel.0 | allowed-blocked: captured registration requires includeChannelRuntime=true | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json, registerChannel, captured registration requires includeChannelRuntime=true, channel-runtime-harness |
|
||||
| warn | execution-results.blocked.wecom.registerTool.2 | expected-warning: captured registration has no object descriptor | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json, registerTool, captured registration has no object descriptor, tool-factory-descriptor |
|
||||
| Action | ID | Message | Evidence |
|
||||
| ------ | ------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| warn | execution-results.audit-findings | 12 package audit findings | clawrouter:12 |
|
||||
| warn | execution-results.blocked.clawrouter.registerService.29 | allowed-blocked: captured registration requires includeLifecycle=true | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerService, captured registration requires includeLifecycle=true, service-lifecycle-harness |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.10 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.11 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.12 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.13 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.14 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.15 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.16 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.17 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.18 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.19 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.20 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.21 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.5 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.6 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.7 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.8 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
| warn | execution-results.blocked.clawrouter.registerTool.9 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes |
|
||||
|
||||
## Profile Findings
|
||||
|
||||
| Action | ID | Metric | Baseline | Current | Message |
|
||||
| ------ | ---------------- | --------- | -------- | ------- | ---------------------------------------- |
|
||||
| warn | profile.wall-p95 | p95WallMs | 1273 | 4615 | p95WallMs regressed 262.5% over baseline |
|
||||
| Action | ID | Metric | Baseline | Current | Message |
|
||||
| ------ | ---------------- | ------------ | -------- | ------- | ------------------------------------------------------- |
|
||||
| warn | profile.wall-p95 | p95WallMs | 1273 | 2391 | p95WallMs regressed 87.8% over baseline |
|
||||
| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 455.4 | maxPeakRssMb regressed 390.29999999999995 over baseline |
|
||||
|
||||
## Artifacts
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -6,46 +6,119 @@ Generated: deterministic
|
||||
|
||||
| Metric | Value |
|
||||
| --------------------------- | ----- |
|
||||
| Fixtures | 27 |
|
||||
| Entrypoints | 30 |
|
||||
| Ready | 0 |
|
||||
| Blocked | 30 |
|
||||
| TypeScript loader required | 17 |
|
||||
| Build required | 7 |
|
||||
| Dependency install required | 20 |
|
||||
| SDK alias required | 1 |
|
||||
| Fixtures | 57 |
|
||||
| Entrypoints | 103 |
|
||||
| Ready | 6 |
|
||||
| Blocked | 97 |
|
||||
| TypeScript loader required | 24 |
|
||||
| Build required | 9 |
|
||||
| Dependency install required | 43 |
|
||||
| SDK alias required | 3 |
|
||||
|
||||
## Entrypoints
|
||||
|
||||
| Fixture | Kind | Status | Path | Blockers | Assertions |
|
||||
| ----------------- | ---------------- | --------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| agentchat | extension | build-required | plugins/agentchat/integrations/openclaw-channel/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| agentchat | setupEntry | build-required | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| wecom | extension | dependency-install-required | plugins/wecom/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| qqbot | extension | dependency-install-required | plugins/qqbot/preload.cjs | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| a2a-gateway | extension | ts-loader-required | plugins/a2a-gateway/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| hasdata | extension | ts-loader-required | plugins/hasdata/src/index.ts | ts-loader-required, top-level-side-effect-review, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| mcp-adapter | extension | ts-loader-required | plugins/mcp-adapter/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| llm-trace-phoenix | extension | ts-loader-required | plugins/llm-trace-phoenix/index.ts | ts-loader-required, top-level-side-effect-review | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture |
|
||||
| opik-openclaw | extension | ts-loader-required | plugins/opik-openclaw/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| opik-openclaw | runtimeExtension | build-required | plugins/opik-openclaw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| lossless-claw | extension | build-required | plugins/lossless-claw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| connectclaw | extension | ts-loader-required | plugins/connectclaw/packages/plugin/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| hyperspell | extension | ts-loader-required | plugins/hyperspell/index.ts | ts-loader-required, top-level-side-effect-review, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| honcho | extension | build-required | plugins/honcho/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| composio | extension | ts-loader-required | plugins/composio/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| memory-tencentdb | extension | ts-loader-required | plugins/memory-tencentdb/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| ddingtalk | extension | ts-loader-required | plugins/ddingtalk/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| mocrane-wecom | extension | ts-loader-required | plugins/mocrane-wecom/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| yuanbao | extension | dependency-install-required | plugins/yuanbao/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| openclaw-weixin | extension | ts-loader-required | plugins/openclaw-weixin/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| lightclawbot | extension | dependency-install-required | plugins/lightclawbot/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| memu-engine | extension | ts-loader-required | plugins/memu-engine/index.ts | ts-loader-required, top-level-side-effect-review | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture |
|
||||
| secureclaw | extension | build-required | plugins/secureclaw/secureclaw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| memos-cloud | extension | review-required | plugins/memos-cloud/index.js | top-level-side-effect-review | cold import sandbox blocks network/process side effects before register capture |
|
||||
| clawmetry | extension | ts-loader-required | plugins/clawmetry/clawhub-plugin/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| clawmetry | runtimeExtension | build-required | plugins/clawmetry/clawhub-plugin/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| codex-app-server | extension | sdk-alias-required | plugins/codex-app-server/index.ts | ts-loader-required, dependency-install-required, sdk-alias-required, sdk-alias-required, sdk-alias-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import; target OpenClaw exports the imported SDK alias or provides a migration shim; target OpenClaw exports the imported SDK alias or provides a migration shim; target OpenClaw exports the imported SDK alias or provides a migration shim |
|
||||
| web-search-plus | extension | ts-loader-required | plugins/web-search-plus/index.ts | ts-loader-required, top-level-side-effect-review, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| apify | extension | ts-loader-required | plugins/apify/src/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| inworld-tts | extension | ts-loader-required | plugins/inworld-tts/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| Fixture | Kind | Status | Path | Blockers | Assertions |
|
||||
| ---------------------- | ---------------- | --------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| agentchat | extension | build-required | plugins/agentchat/integrations/openclaw-channel/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| agentchat | setupEntry | build-required | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| wecom | extension | dependency-install-required | plugins/wecom/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| qqbot | extension | dependency-install-required | plugins/qqbot/preload.cjs | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| a2a-gateway | extension | ts-loader-required | plugins/a2a-gateway/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| hasdata | extension | ts-loader-required | plugins/hasdata/src/index.ts | ts-loader-required, top-level-side-effect-review, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| mcp-adapter | extension | ts-loader-required | plugins/mcp-adapter/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| llm-trace-phoenix | extension | ts-loader-required | plugins/llm-trace-phoenix/index.ts | ts-loader-required, top-level-side-effect-review | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture |
|
||||
| opik-openclaw | extension | ts-loader-required | plugins/opik-openclaw/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| opik-openclaw | runtimeExtension | build-required | plugins/opik-openclaw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| openclaw-telemetry | extension | ts-loader-required | plugins/openclaw-telemetry/index.ts | ts-loader-required | TypeScript source entrypoint is compiled or loaded before cold import |
|
||||
| lossless-claw | extension | build-required | plugins/lossless-claw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| connectclaw | extension | ts-loader-required | plugins/connectclaw/packages/plugin/index.ts | ts-loader-required | TypeScript source entrypoint is compiled or loaded before cold import |
|
||||
| hyperspell | extension | ts-loader-required | plugins/hyperspell/index.ts | ts-loader-required, top-level-side-effect-review, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| honcho | extension | sdk-alias-required | plugins/honcho/dist/index.js | build-required, sdk-alias-required | plugin build or source alias resolution runs before cold import; target OpenClaw exports the imported SDK alias or provides a migration shim |
|
||||
| composio | extension | ts-loader-required | plugins/composio/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| kitchen-sink | extension | ready | plugins/kitchen-sink/src/index.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| kitchen-sink | runtimeExtension | ready | plugins/kitchen-sink/src/index.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| kitchen-sink | setupEntry | ready | plugins/kitchen-sink/src/setup.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| bluebubbles | extension | missing | plugins/bluebubbles/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| bluebubbles | runtimeExtension | ready | plugins/bluebubbles/.crabpot-package/dist/index.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| bluebubbles | setupEntry | missing | plugins/bluebubbles/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| diagnostics-otel | extension | missing | plugins/diagnostics-otel/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| diagnostics-otel | runtimeExtension | dependency-install-required | plugins/diagnostics-otel/.crabpot-package/dist/index.js | top-level-side-effect-review, dependency-install-required | cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| discord | extension | missing | plugins/discord/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| discord | runtimeExtension | dependency-install-required | plugins/discord/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| discord | setupEntry | missing | plugins/discord/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| lobster | extension | missing | plugins/lobster/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| lobster | runtimeExtension | dependency-install-required | plugins/lobster/.crabpot-package/dist/index.js | top-level-side-effect-review, dependency-install-required | cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| matrix | extension | ts-loader-required | plugins/matrix/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| matrix | setupEntry | ts-loader-required | plugins/matrix/.crabpot-package/setup-entry.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| msteams | extension | missing | plugins/msteams/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| msteams | runtimeExtension | dependency-install-required | plugins/msteams/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| msteams | setupEntry | missing | plugins/msteams/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| nextcloud-talk | extension | missing | plugins/nextcloud-talk/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| nextcloud-talk | runtimeExtension | dependency-install-required | plugins/nextcloud-talk/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| nextcloud-talk | setupEntry | missing | plugins/nextcloud-talk/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| nostr | extension | missing | plugins/nostr/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| nostr | runtimeExtension | dependency-install-required | plugins/nostr/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| nostr | setupEntry | missing | plugins/nostr/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| voice-call | extension | missing | plugins/voice-call/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| voice-call | runtimeExtension | dependency-install-required | plugins/voice-call/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| zalo | extension | missing | plugins/zalo/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| zalo | runtimeExtension | dependency-install-required | plugins/zalo/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| zalo | setupEntry | missing | plugins/zalo/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| zalouser | extension | missing | plugins/zalouser/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| zalouser | runtimeExtension | dependency-install-required | plugins/zalouser/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| zalouser | setupEntry | missing | plugins/zalouser/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| feishu | extension | missing | plugins/feishu/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| feishu | runtimeExtension | dependency-install-required | plugins/feishu/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| feishu | setupEntry | missing | plugins/feishu/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| tlon | extension | missing | plugins/tlon/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| tlon | runtimeExtension | dependency-install-required | plugins/tlon/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| tlon | setupEntry | missing | plugins/tlon/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| twitch | extension | missing | plugins/twitch/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| twitch | runtimeExtension | dependency-install-required | plugins/twitch/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| twitch | setupEntry | missing | plugins/twitch/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| mattermost | extension | ts-loader-required | plugins/mattermost/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| mattermost | setupEntry | ts-loader-required | plugins/mattermost/.crabpot-package/setup-entry.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| synology-chat | extension | missing | plugins/synology-chat/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| synology-chat | runtimeExtension | dependency-install-required | plugins/synology-chat/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| synology-chat | setupEntry | missing | plugins/synology-chat/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| brave-plugin | extension | missing | plugins/brave-plugin/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| brave-plugin | runtimeExtension | ready | plugins/brave-plugin/.crabpot-package/dist/index.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| codex | extension | missing | plugins/codex/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| codex | runtimeExtension | dependency-install-required | plugins/codex/.crabpot-package/dist/index.js | top-level-side-effect-review, dependency-install-required | cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| diagnostics-prometheus | extension | missing | plugins/diagnostics-prometheus/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| diagnostics-prometheus | runtimeExtension | ready | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js | - | entrypoint can be imported by Node without fixture credentials; registration capture shim receives plugin registrations |
|
||||
| google-meet | extension | missing | plugins/google-meet/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| google-meet | runtimeExtension | dependency-install-required | plugins/google-meet/.crabpot-package/dist/index.js | top-level-side-effect-review, dependency-install-required | cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| diffs | extension | missing | plugins/diffs/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| diffs | runtimeExtension | dependency-install-required | plugins/diffs/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| memory-lancedb | extension | missing | plugins/memory-lancedb/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| memory-lancedb | runtimeExtension | dependency-install-required | plugins/memory-lancedb/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| openclaw-qqbot | extension | missing | plugins/openclaw-qqbot/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| openclaw-qqbot | runtimeExtension | dependency-install-required | plugins/openclaw-qqbot/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| openclaw-qqbot | setupEntry | missing | plugins/openclaw-qqbot/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| whatsapp | extension | missing | plugins/whatsapp/.crabpot-package/index.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| whatsapp | runtimeExtension | dependency-install-required | plugins/whatsapp/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| whatsapp | setupEntry | missing | plugins/whatsapp/.crabpot-package/setup-entry.ts | missing-entrypoint | plugin package metadata points at an existing OpenClaw entrypoint |
|
||||
| nemoclaw | extension | build-required | plugins/nemoclaw/nemoclaw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| memory-tencentdb | extension | ts-loader-required | plugins/memory-tencentdb/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| ddingtalk | extension | ts-loader-required | plugins/ddingtalk/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| dingtalk-connector | extension | build-required | plugins/dingtalk-connector/dist/index.mjs | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| mocrane-wecom | extension | ts-loader-required | plugins/mocrane-wecom/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| yuanbao | extension | ts-loader-required | plugins/yuanbao/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| yuanbao | setupEntry | ts-loader-required | plugins/yuanbao/.crabpot-package/setup-entry.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| openclaw-weixin | extension | ts-loader-required | plugins/openclaw-weixin/.crabpot-package/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| openclaw-weixin | runtimeExtension | dependency-install-required | plugins/openclaw-weixin/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| lightclawbot | extension | dependency-install-required | plugins/lightclawbot/.crabpot-package/dist/index.js | dependency-install-required | fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| telnyx-sms | extension | build-required | plugins/telnyx-sms/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| telnyx-sms | setupEntry | build-required | plugins/telnyx-sms/dist/setup-entry.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| clawrouter | extension | dependency-install-required | plugins/clawrouter/dist/index.js | top-level-side-effect-review, dependency-install-required | cold import sandbox blocks network/process side effects before register capture; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| memu-engine | extension | ts-loader-required | plugins/memu-engine/index.ts | ts-loader-required, top-level-side-effect-review | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture |
|
||||
| secureclaw | extension | build-required | plugins/secureclaw/secureclaw/dist/index.js | build-required | plugin build or source alias resolution runs before cold import |
|
||||
| memos-cloud | extension | review-required | plugins/memos-cloud/index.js | top-level-side-effect-review | cold import sandbox blocks network/process side effects before register capture |
|
||||
| clawmetry | extension | sdk-alias-required | plugins/clawmetry/clawhub-plugin/index.ts | ts-loader-required, dependency-install-required, sdk-alias-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import; target OpenClaw exports the imported SDK alias or provides a migration shim |
|
||||
| clawmetry | runtimeExtension | sdk-alias-required | plugins/clawmetry/clawhub-plugin/dist/index.js | build-required, sdk-alias-required | plugin build or source alias resolution runs before cold import; target OpenClaw exports the imported SDK alias or provides a migration shim |
|
||||
| codex-app-server | extension | ts-loader-required | plugins/codex-app-server/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| web-search-plus | extension | ts-loader-required | plugins/web-search-plus/index.ts | ts-loader-required, top-level-side-effect-review | TypeScript source entrypoint is compiled or loaded before cold import; cold import sandbox blocks network/process side effects before register capture |
|
||||
| web-search-plus | runtimeExtension | review-required | plugins/web-search-plus/dist/index.js | top-level-side-effect-review | cold import sandbox blocks network/process side effects before register capture |
|
||||
| apify | extension | ts-loader-required | plugins/apify/src/index.ts | ts-loader-required, dependency-install-required | TypeScript source entrypoint is compiled or loaded before cold import; fixture dependencies are installed in an isolated workspace before cold import |
|
||||
| inworld-tts | extension | ts-loader-required | plugins/inworld-tts/index.ts | ts-loader-required | TypeScript source entrypoint is compiled or loaded before cold import |
|
||||
|
||||
169
reports/crabpot-dashboard-data.json
Normal file
169
reports/crabpot-dashboard-data.json
Normal file
@ -0,0 +1,169 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"generatedAt": "2026-05-07T09:32:17Z",
|
||||
"runUrl": "https://github.com/openclaw/crabpot/actions/runs/25487512981",
|
||||
"mode": "dependabot",
|
||||
"openclawLabel": "openclaw@latest (2026.5.6, c97b9f79ec43)",
|
||||
"status": "pass",
|
||||
"metrics": {
|
||||
"fixtures": 57,
|
||||
"hardBreakages": 0,
|
||||
"warnings": 126,
|
||||
"suggestions": 155,
|
||||
"issues": 281,
|
||||
"p0Issues": 0,
|
||||
"p1Issues": 15,
|
||||
"liveIssues": 0,
|
||||
"liveP0Issues": 0,
|
||||
"compatGaps": 2,
|
||||
"deprecationWarnings": 42,
|
||||
"inspectorGaps": 163,
|
||||
"upstreamIssues": 74,
|
||||
"contractProbes": 277,
|
||||
"policyFailures": 0,
|
||||
"policyWarnings": 19,
|
||||
"refDiffFailures": 0,
|
||||
"profileFailures": 0,
|
||||
"executionPass": 12,
|
||||
"executionFail": 0,
|
||||
"executionBlocked": 18,
|
||||
"syntheticReady": 434,
|
||||
"syntheticBlocked": 0,
|
||||
"syntheticTotal": 434,
|
||||
"coldReady": 6,
|
||||
"coldBlocked": 97,
|
||||
"coldTotal": 103,
|
||||
"workspaceEntrypoints": 103,
|
||||
"workspaceInstalls": 43,
|
||||
"workspaceBuilds": 11,
|
||||
"platformWindowsRisks": 14,
|
||||
"platformContainerRisks": 14,
|
||||
"loaderJitiCandidates": 25,
|
||||
"importLoopP50Ms": 2421,
|
||||
"importLoopP95Ms": 2471,
|
||||
"importLoopOpenClawLifecycleCount": 3,
|
||||
"importLoopOpenClawImportP50Ms": 84,
|
||||
"importLoopOpenClawImportP95Ms": 88.6,
|
||||
"importLoopOpenClawActivationP50Ms": 0.3,
|
||||
"importLoopOpenClawActivationP95Ms": 1.2,
|
||||
"importLoopMetricBasis": "baseline-adjusted",
|
||||
"importLoopMaxRssMb": 13.3,
|
||||
"importLoopMaxCpuMs": 35,
|
||||
"importLoopRssSampleCount": 287,
|
||||
"importLoopCpuSampleCount": 287,
|
||||
"runtimeP50Ms": 2337,
|
||||
"runtimeP95Ms": 2391,
|
||||
"runtimeMaxRssMb": 455.4,
|
||||
"runtimeRssSampleCount": 1993,
|
||||
"runtimeCpuSampleCount": 1993,
|
||||
"runtimeSamplesPerCommand": 3,
|
||||
"runtimeWallTimeBasis": "command-median-p95"
|
||||
},
|
||||
"baseline": null,
|
||||
"topIssues": [
|
||||
{
|
||||
"id": "CRABPOT-54E8B3D1",
|
||||
"severity": "P1",
|
||||
"issueClass": "compat-gap",
|
||||
"fixture": "clawmetry",
|
||||
"code": "sdk-export-missing",
|
||||
"decision": "core-compat-adapter",
|
||||
"title": "clawmetry: plugin SDK import aliases are missing from target package exports"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-2D165A73",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "honcho",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "honcho: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-85AD745B",
|
||||
"severity": "P1",
|
||||
"issueClass": "compat-gap",
|
||||
"fixture": "honcho",
|
||||
"code": "sdk-export-missing",
|
||||
"decision": "core-compat-adapter",
|
||||
"title": "honcho: plugin SDK import aliases are missing from target package exports"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-66F07BB5",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "kitchen-sink",
|
||||
"code": "before-tool-call-probe",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "kitchen-sink: before_tool_call needs terminal/block/approval probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-ADFE9067",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "kitchen-sink",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "kitchen-sink: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-5D9C0F25",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "llm-trace-phoenix",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "llm-trace-phoenix: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-0C34E538",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "memory-lancedb",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "memory-lancedb: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-5072796E",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "memory-tencentdb",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "memory-tencentdb: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-A1A9B1D2",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "memos-cloud",
|
||||
"code": "conversation-access-hook",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "memos-cloud: conversation-access hooks need privacy-boundary probes"
|
||||
},
|
||||
{
|
||||
"id": "CRABPOT-120FF1E0",
|
||||
"severity": "P1",
|
||||
"issueClass": "inspector-gap",
|
||||
"fixture": "nemoclaw",
|
||||
"code": "before-tool-call-probe",
|
||||
"decision": "inspector-follow-up",
|
||||
"title": "nemoclaw: before_tool_call needs terminal/block/approval probes"
|
||||
}
|
||||
],
|
||||
"artifactPaths": {
|
||||
"compatibility": "reports/crabpot-report.json",
|
||||
"ciSummary": "reports/crabpot-ci-summary.json",
|
||||
"synthetic": "reports/crabpot-synthetic-probes.json",
|
||||
"coldImport": "reports/crabpot-cold-import.json",
|
||||
"workspace": "reports/crabpot-workspace-plan.json",
|
||||
"platform": "reports/crabpot-platform-probes.json",
|
||||
"importLoop": "reports/crabpot-import-loop-profile.json",
|
||||
"execution": "reports/crabpot-execution-results.json",
|
||||
"runtimeProfile": "reports/crabpot-runtime-profile.json",
|
||||
"refDiff": "reports/crabpot-ref-diff.json",
|
||||
"profileDiff": "reports/crabpot-profile-diff.json",
|
||||
"ciPolicy": "reports/crabpot-ci-policy.json"
|
||||
}
|
||||
}
|
||||
@ -2,64 +2,362 @@
|
||||
"generatedAt": "deterministic",
|
||||
"resultsDir": ".crabpot/results",
|
||||
"summary": {
|
||||
"artifactCount": 2,
|
||||
"artifactCount": 4,
|
||||
"captureArtifactCount": 1,
|
||||
"syntheticArtifactCount": 1,
|
||||
"capturedRegistrationCount": 8,
|
||||
"passCount": 6,
|
||||
"auditArtifactCount": 1,
|
||||
"profileArtifactCount": 1,
|
||||
"capturedRegistrationCount": 30,
|
||||
"auditFindingCount": 12,
|
||||
"executionWallMs": 27807,
|
||||
"maxPeakRssMb": 1123.9,
|
||||
"maxCpuMsEstimate": 17790,
|
||||
"passCount": 12,
|
||||
"failCount": 0,
|
||||
"blockedCount": 2
|
||||
"blockedCount": 18
|
||||
},
|
||||
"artifacts": [
|
||||
{
|
||||
"artifactPath": ".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json",
|
||||
"fixture": "wecom",
|
||||
"artifactPath": ".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json",
|
||||
"fixture": "clawrouter",
|
||||
"kind": "capture",
|
||||
"entrypoint": ".crabpot/workspaces/wecom/index.js",
|
||||
"entrypoint": ".crabpot/workspaces/clawrouter/dist/index.js",
|
||||
"status": "captured",
|
||||
"capturedCount": 8,
|
||||
"capturedCount": 30,
|
||||
"captured": [
|
||||
"registration:registerChannel",
|
||||
"registration:registerProvider",
|
||||
"registration:registerImageGenerationProvider",
|
||||
"registration:registerMusicGenerationProvider",
|
||||
"registration:registerVideoGenerationProvider",
|
||||
"registration:registerWebSearchProvider",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"hook:before_prompt_build",
|
||||
"hook:subagent_delivery_target",
|
||||
"hook:subagent_spawned",
|
||||
"hook:subagent_ended",
|
||||
"hook:before_tool_call"
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerTool",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerCommand",
|
||||
"registration:registerService"
|
||||
]
|
||||
},
|
||||
{
|
||||
"artifactPath": ".crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json",
|
||||
"fixture": "wecom",
|
||||
"artifactPath": ".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"fixture": "clawrouter",
|
||||
"kind": "synthetic",
|
||||
"entrypoint": ".crabpot/workspaces/wecom/index.js",
|
||||
"entrypoint": ".crabpot/workspaces/clawrouter/dist/index.js",
|
||||
"status": "captured",
|
||||
"summary": {
|
||||
"probeCount": 8,
|
||||
"passCount": 6,
|
||||
"probeCount": 30,
|
||||
"passCount": 12,
|
||||
"failCount": 0,
|
||||
"blockedCount": 2
|
||||
"blockedCount": 18
|
||||
},
|
||||
"failures": [],
|
||||
"blocked": [
|
||||
{
|
||||
"captureIndex": 0,
|
||||
"kind": "registration",
|
||||
"seam": "registerChannel",
|
||||
"label": "registerChannel",
|
||||
"status": "blocked",
|
||||
"reason": "captured registration requires includeChannelRuntime=true"
|
||||
},
|
||||
{
|
||||
"captureIndex": 2,
|
||||
"captureIndex": 5,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"reason": "captured registration has no object descriptor"
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 6,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 7,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 8,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 9,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 10,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 11,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 12,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 13,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 14,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 15,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 16,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 17,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 18,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 19,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 20,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 21,
|
||||
"kind": "registration",
|
||||
"seam": "registerTool",
|
||||
"label": "registerTool.execute",
|
||||
"status": "blocked",
|
||||
"error": "fetch failed",
|
||||
"reason": "captured tool requires live network access",
|
||||
"blockedBy": "clawrouter-live-network-tools"
|
||||
},
|
||||
{
|
||||
"captureIndex": 29,
|
||||
"kind": "registration",
|
||||
"seam": "registerService",
|
||||
"label": "registerService",
|
||||
"status": "blocked",
|
||||
"reason": "captured registration requires includeLifecycle=true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"artifactPath": ".crabpot/results/clawrouter/execution-profile.json",
|
||||
"fixture": "clawrouter",
|
||||
"kind": "profile",
|
||||
"entrypoint": "-",
|
||||
"status": "pass",
|
||||
"summary": {
|
||||
"stepCount": 7,
|
||||
"failCount": 0,
|
||||
"totalWallMs": 27807,
|
||||
"maxPeakRssMb": 1123.9,
|
||||
"maxCpuMsEstimate": 17790
|
||||
},
|
||||
"slowestSteps": [
|
||||
{
|
||||
"fixture": "clawrouter",
|
||||
"entrypoint": "cold-import.extension:clawrouter:plugins-clawrouter-dist-index-js",
|
||||
"packagePath": "plugins/clawrouter/package.json",
|
||||
"status": "dependency-install-required",
|
||||
"kind": "synthetic-probe",
|
||||
"command": "CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"cwd": ".crabpot/workspaces/clawrouter",
|
||||
"artifactPath": ".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json",
|
||||
"exitCode": 0,
|
||||
"wallMs": 12125,
|
||||
"peakRssMb": 139,
|
||||
"peakCpuPercent": 42.3,
|
||||
"cpuMsEstimate": 593
|
||||
},
|
||||
{
|
||||
"fixture": "clawrouter",
|
||||
"entrypoint": "cold-import.extension:clawrouter:plugins-clawrouter-dist-index-js",
|
||||
"packagePath": "plugins/clawrouter/package.json",
|
||||
"status": "dependency-install-required",
|
||||
"kind": "install",
|
||||
"command": "npm install --ignore-scripts",
|
||||
"cwd": ".crabpot/workspaces/clawrouter",
|
||||
"artifactPath": null,
|
||||
"exitCode": 0,
|
||||
"wallMs": 7565,
|
||||
"peakRssMb": 1123.9,
|
||||
"peakCpuPercent": 349.6,
|
||||
"cpuMsEstimate": 17790
|
||||
},
|
||||
{
|
||||
"fixture": "clawrouter",
|
||||
"entrypoint": "cold-import.extension:clawrouter:plugins-clawrouter-dist-index-js",
|
||||
"packagePath": "plugins/clawrouter/package.json",
|
||||
"status": "dependency-install-required",
|
||||
"kind": "prepare",
|
||||
"command": "mkdir -p .crabpot/workspaces/clawrouter && rsync -a --delete plugins/clawrouter/ .crabpot/workspaces/clawrouter/",
|
||||
"cwd": ".",
|
||||
"artifactPath": null,
|
||||
"exitCode": 0,
|
||||
"wallMs": 4427,
|
||||
"peakRssMb": 0,
|
||||
"peakCpuPercent": 0,
|
||||
"cpuMsEstimate": 0
|
||||
},
|
||||
{
|
||||
"fixture": "clawrouter",
|
||||
"entrypoint": "cold-import.extension:clawrouter:plugins-clawrouter-dist-index-js",
|
||||
"packagePath": "plugins/clawrouter/package.json",
|
||||
"status": "dependency-install-required",
|
||||
"kind": "audit",
|
||||
"command": "npm audit --json > ../../results/clawrouter/package-audit.json || true",
|
||||
"cwd": ".crabpot/workspaces/clawrouter",
|
||||
"artifactPath": ".crabpot/results/clawrouter/package-audit.json",
|
||||
"exitCode": 0,
|
||||
"rawExitCode": 1,
|
||||
"wallMs": 1526,
|
||||
"peakRssMb": 110.3,
|
||||
"peakCpuPercent": 40.8,
|
||||
"cpuMsEstimate": 477
|
||||
},
|
||||
{
|
||||
"fixture": "clawrouter",
|
||||
"entrypoint": "cold-import.extension:clawrouter:plugins-clawrouter-dist-index-js",
|
||||
"packagePath": "plugins/clawrouter/package.json",
|
||||
"status": "dependency-install-required",
|
||||
"kind": "capture",
|
||||
"command": "CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json",
|
||||
"cwd": ".crabpot/workspaces/clawrouter",
|
||||
"artifactPath": ".crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json",
|
||||
"exitCode": 0,
|
||||
"wallMs": 1225,
|
||||
"peakRssMb": 78.7,
|
||||
"peakCpuPercent": 16.8,
|
||||
"cpuMsEstimate": 145
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"artifactPath": ".crabpot/results/clawrouter/package-audit.json",
|
||||
"fixture": "clawrouter",
|
||||
"kind": "audit",
|
||||
"entrypoint": "-",
|
||||
"status": "warning",
|
||||
"findingCount": 12,
|
||||
"vulnerabilities": {
|
||||
"info": 0,
|
||||
"low": 0,
|
||||
"moderate": 11,
|
||||
"high": 1,
|
||||
"critical": 0,
|
||||
"total": 12
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -5,30 +5,70 @@ Results dir: .crabpot/results
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
| ---------------------------- | ----- |
|
||||
| Artifacts | 2 |
|
||||
| Capture artifacts | 1 |
|
||||
| Synthetic artifacts | 1 |
|
||||
| Captured registrations/hooks | 8 |
|
||||
| Pass | 6 |
|
||||
| Fail | 0 |
|
||||
| Blocked | 2 |
|
||||
| Metric | Value |
|
||||
| ---------------------------- | --------- |
|
||||
| Artifacts | 4 |
|
||||
| Capture artifacts | 1 |
|
||||
| Synthetic artifacts | 1 |
|
||||
| Audit artifacts | 1 |
|
||||
| Profile artifacts | 1 |
|
||||
| Captured registrations/hooks | 30 |
|
||||
| Audit findings | 12 |
|
||||
| Execution wall | 27807 ms |
|
||||
| Max peak RSS | 1123.9 MB |
|
||||
| Max CPU estimate | 17790 ms |
|
||||
| Pass | 12 |
|
||||
| Fail | 0 |
|
||||
| Blocked | 18 |
|
||||
|
||||
## Artifacts
|
||||
|
||||
| Fixture | Kind | Status | Entrypoint | Result | Artifact |
|
||||
| ------- | --------- | -------- | ---------------------------------- | --------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| wecom | capture | captured | .crabpot/workspaces/wecom/index.js | 8 captured | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json |
|
||||
| wecom | synthetic | captured | .crabpot/workspaces/wecom/index.js | 6 pass / 0 fail / 2 blocked | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json |
|
||||
| Fixture | Kind | Status | Entrypoint | Result | Artifact |
|
||||
| ---------- | --------- | -------- | -------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------ |
|
||||
| clawrouter | capture | captured | .crabpot/workspaces/clawrouter/dist/index.js | 30 captured | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json |
|
||||
| clawrouter | synthetic | captured | .crabpot/workspaces/clawrouter/dist/index.js | 12 pass / 0 fail / 18 blocked | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | profile | pass | - | 7 steps / 27807 ms / 1123.9 MB | .crabpot/results/clawrouter/execution-profile.json |
|
||||
| clawrouter | audit | warning | - | 12 audit findings | .crabpot/results/clawrouter/package-audit.json |
|
||||
|
||||
## Blocked Synthetic Probes
|
||||
|
||||
| Fixture | Kind | Seam | Label | Reason | Artifact |
|
||||
| ------- | ------------ | --------------- | --------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| wecom | registration | registerChannel | registerChannel | captured registration requires includeChannelRuntime=true | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json |
|
||||
| wecom | registration | registerTool | registerTool | captured registration has no object descriptor | .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json |
|
||||
| Fixture | Kind | Seam | Label | Reason | Artifact |
|
||||
| ---------- | ------------ | --------------- | -------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerTool | registerTool.execute | captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | registration | registerService | registerService | captured registration requires includeLifecycle=true | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
|
||||
## Failed Synthetic Probes
|
||||
|
||||
_none_
|
||||
|
||||
## Dependency Audit Artifacts
|
||||
|
||||
| Fixture | Findings | Vulnerabilities | Artifact |
|
||||
| ---------- | -------- | ----------------------------------------------------------------- | ---------------------------------------------- |
|
||||
| clawrouter | 12 | {"info":0,"low":0,"moderate":11,"high":1,"critical":0,"total":12} | .crabpot/results/clawrouter/package-audit.json |
|
||||
|
||||
## Execution Profiles
|
||||
|
||||
| Fixture | Step | Wall | Peak RSS | CPU Estimate | Command |
|
||||
| ---------- | --------------- | -------- | --------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| clawrouter | synthetic-probe | 12125 ms | 139 MB | 593 ms | CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
|
||||
| clawrouter | install | 7565 ms | 1123.9 MB | 17790 ms | npm install --ignore-scripts |
|
||||
| clawrouter | prepare | 4427 ms | 0 MB | 0 ms | mkdir -p .crabpot/workspaces/clawrouter && rsync -a --delete plugins/clawrouter/ .crabpot/workspaces/clawrouter/ |
|
||||
| clawrouter | audit | 1526 ms | 110.3 MB | 477 ms | npm audit --json > ../../results/clawrouter/package-audit.json || true |
|
||||
| clawrouter | capture | 1225 ms | 78.7 MB | 145 ms | CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json |
|
||||
|
||||
1270
reports/crabpot-generated-surface.json
Normal file
1270
reports/crabpot-generated-surface.json
Normal file
File diff suppressed because it is too large
Load Diff
35
reports/crabpot-generated-surface.md
Normal file
35
reports/crabpot-generated-surface.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Crabpot Generated Surface Fixture
|
||||
|
||||
Generated: 2026-05-05T03:26:53.567Z
|
||||
Status: PASS
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
| --------------------------- | ----- |
|
||||
| Expected hooks | 35 |
|
||||
| Expected registrars | 49 |
|
||||
| Expected direct callbacks | 1 |
|
||||
| Expected SDK exports | 296 |
|
||||
| Expected manifest contracts | 17 |
|
||||
| Static hooks | 35 |
|
||||
| Static registrars | 49 |
|
||||
| Static SDK imports | 296 |
|
||||
| Static manifest contracts | 17 |
|
||||
| Runtime hooks | 35 |
|
||||
| Runtime registrars | 49 |
|
||||
| Runtime direct callbacks | 1 |
|
||||
| Missing static surface | 0 |
|
||||
| Missing runtime surface | 0 |
|
||||
|
||||
## Missing Static Surface
|
||||
|
||||
_none_
|
||||
|
||||
## Missing Runtime Surface
|
||||
|
||||
_none_
|
||||
|
||||
## Errors
|
||||
|
||||
_none_
|
||||
@ -1,13 +1,162 @@
|
||||
{
|
||||
"generatedAt": "deterministic",
|
||||
"mode": "subprocess-cold-import-loop",
|
||||
"mode": "openclaw-loader-lifecycle-profile",
|
||||
"entrypoint": "test/fixtures/lazy-import-plugin.mjs",
|
||||
"baseline": {
|
||||
"mode": "minimal-plugin-capture",
|
||||
"runs": 3,
|
||||
"entrypoint": ".crabpot/import-loop/baseline-plugin.mjs",
|
||||
"reference": {
|
||||
"wallMs": 2442,
|
||||
"peakRssMb": 334.6,
|
||||
"cpuMsEstimate": 4745
|
||||
},
|
||||
"max": {
|
||||
"wallMs": 2958,
|
||||
"peakRssMb": 347.9,
|
||||
"cpuMsEstimate": 5384
|
||||
},
|
||||
"statSampleCount": 306,
|
||||
"rssSampleCount": 306,
|
||||
"cpuSampleCount": 306,
|
||||
"failCount": 0,
|
||||
"samples": [
|
||||
{
|
||||
"index": 0,
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 84.8,
|
||||
"activationMs": 0.3,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 84.8,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-g9AntI/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 0.3,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-g9AntI/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2958,
|
||||
"peakRssMb": 334.6,
|
||||
"peakCpuPercent": 201,
|
||||
"cpuMsEstimate": 5384,
|
||||
"statSampleCount": 116,
|
||||
"rssSampleCount": 116,
|
||||
"cpuSampleCount": 116,
|
||||
"stderrPreview": ""
|
||||
},
|
||||
{
|
||||
"index": 1,
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 80.5,
|
||||
"activationMs": 0.3,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 80.5,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-xTmlDT/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 0.3,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-xTmlDT/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2384,
|
||||
"peakRssMb": 323.7,
|
||||
"peakCpuPercent": 223,
|
||||
"cpuMsEstimate": 4656,
|
||||
"statSampleCount": 94,
|
||||
"rssSampleCount": 94,
|
||||
"cpuSampleCount": 94,
|
||||
"stderrPreview": ""
|
||||
},
|
||||
{
|
||||
"index": 2,
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 93,
|
||||
"activationMs": 0.4,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 93,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-AFW5fW/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 0.4,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-AFW5fW/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2442,
|
||||
"peakRssMb": 347.9,
|
||||
"peakCpuPercent": 223,
|
||||
"cpuMsEstimate": 4745,
|
||||
"statSampleCount": 96,
|
||||
"rssSampleCount": 96,
|
||||
"cpuSampleCount": 96,
|
||||
"stderrPreview": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"runs": 3,
|
||||
"p50WallMs": 950,
|
||||
"p95WallMs": 1023,
|
||||
"maxPeakRssMb": 45.5,
|
||||
"maxCpuMsEstimate": 208,
|
||||
"baselineRuns": 3,
|
||||
"baselineFailCount": 0,
|
||||
"p50WallMs": 2421,
|
||||
"p95WallMs": 2471,
|
||||
"p50PluginWallDeltaMs": 0,
|
||||
"p95PluginWallDeltaMs": 29,
|
||||
"openClawLifecycleCount": 3,
|
||||
"p50OpenClawImportMs": 84,
|
||||
"p95OpenClawImportMs": 88.6,
|
||||
"p50OpenClawActivationMs": 0.3,
|
||||
"p95OpenClawActivationMs": 1.2,
|
||||
"maxPeakRssMb": 347.9,
|
||||
"maxCpuMsEstimate": 4780,
|
||||
"maxPluginPeakRssDeltaMb": 13.3,
|
||||
"maxPluginCpuDeltaMsEstimate": 35,
|
||||
"baselineReferenceWallMs": 2442,
|
||||
"baselineReferencePeakRssMb": 334.6,
|
||||
"baselineReferenceCpuMsEstimate": 4745,
|
||||
"statSampleCount": 287,
|
||||
"rssSampleCount": 287,
|
||||
"cpuSampleCount": 287,
|
||||
"capturedCount": 6,
|
||||
"failCount": 0
|
||||
},
|
||||
@ -17,33 +166,120 @@
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"wallMs": 950,
|
||||
"peakRssMb": 44.2,
|
||||
"peakCpuPercent": 21.9,
|
||||
"cpuMsEstimate": 208,
|
||||
"stderrPreview": ""
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 84,
|
||||
"activationMs": 0.3,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 84,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-3UJxq3/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 0.3,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-3UJxq3/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2471,
|
||||
"peakRssMb": 342.6,
|
||||
"peakCpuPercent": 220,
|
||||
"cpuMsEstimate": 4780,
|
||||
"statSampleCount": 97,
|
||||
"rssSampleCount": 97,
|
||||
"cpuSampleCount": 97,
|
||||
"stderrPreview": "",
|
||||
"pluginWallDeltaMs": 29,
|
||||
"pluginPeakRssDeltaMb": 8,
|
||||
"pluginCpuDeltaMsEstimate": 35
|
||||
},
|
||||
{
|
||||
"index": 1,
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"wallMs": 1023,
|
||||
"peakRssMb": 11.7,
|
||||
"peakCpuPercent": 1.6,
|
||||
"cpuMsEstimate": 16,
|
||||
"stderrPreview": ""
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 81.8,
|
||||
"activationMs": 0.3,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 81.8,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-gwHDg0/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 0.3,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-gwHDg0/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2421,
|
||||
"peakRssMb": 333.8,
|
||||
"peakCpuPercent": 225,
|
||||
"cpuMsEstimate": 4743,
|
||||
"statSampleCount": 96,
|
||||
"rssSampleCount": 96,
|
||||
"cpuSampleCount": 96,
|
||||
"stderrPreview": "",
|
||||
"pluginWallDeltaMs": 0,
|
||||
"pluginPeakRssDeltaMb": 0,
|
||||
"pluginCpuDeltaMsEstimate": 0
|
||||
},
|
||||
{
|
||||
"index": 2,
|
||||
"exitCode": 0,
|
||||
"status": "captured",
|
||||
"capturedCount": 2,
|
||||
"wallMs": 740,
|
||||
"peakRssMb": 45.5,
|
||||
"peakCpuPercent": 24.8,
|
||||
"cpuMsEstimate": 184,
|
||||
"stderrPreview": ""
|
||||
"openClawLifecycle": {
|
||||
"status": "loaded",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"importPhase": "full",
|
||||
"activationPhase": "full:register",
|
||||
"importMs": 88.6,
|
||||
"activationMs": 1.2,
|
||||
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
|
||||
"phases": [
|
||||
{
|
||||
"phase": "full",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 88.6,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-78B9Ov/index.mjs"
|
||||
},
|
||||
{
|
||||
"phase": "full:register",
|
||||
"pluginId": "crabpot-lifecycle-probe",
|
||||
"elapsedMs": 1.2,
|
||||
"source": "/tmp/crabpot-openclaw-plugin-78B9Ov/index.mjs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"wallMs": 2392,
|
||||
"peakRssMb": 347.9,
|
||||
"peakCpuPercent": 220,
|
||||
"cpuMsEstimate": 4639,
|
||||
"statSampleCount": 94,
|
||||
"rssSampleCount": 94,
|
||||
"cpuSampleCount": 94,
|
||||
"stderrPreview": "",
|
||||
"pluginWallDeltaMs": 0,
|
||||
"pluginPeakRssDeltaMb": 13.3,
|
||||
"pluginCpuDeltaMsEstimate": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,25 +1,58 @@
|
||||
# Crabpot Import Loop Profile
|
||||
|
||||
Generated: deterministic
|
||||
Mode: subprocess-cold-import-loop
|
||||
Mode: openclaw-loader-lifecycle-profile
|
||||
Entrypoint: test/fixtures/lazy-import-plugin.mjs
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
| ---------------- | ----- |
|
||||
| runs | 3 |
|
||||
| p50WallMs | 950 |
|
||||
| p95WallMs | 1023 |
|
||||
| maxPeakRssMb | 45.5 |
|
||||
| maxCpuMsEstimate | 208 |
|
||||
| capturedCount | 6 |
|
||||
| failCount | 0 |
|
||||
| Metric | Value |
|
||||
| ------------------------------ | -------- |
|
||||
| runs | 3 |
|
||||
| baselineRuns | 3 |
|
||||
| baselineFailCount | 0 |
|
||||
| p50WallMs | 2421 |
|
||||
| p95WallMs | 2471 |
|
||||
| p50PluginWallDeltaMs | 0 |
|
||||
| p95PluginWallDeltaMs | 29 |
|
||||
| maxPluginPeakRssDeltaMb | 13.3 MB |
|
||||
| maxPluginCpuDeltaMsEstimate | 35 ms |
|
||||
| openClawLifecycleCount | 3 |
|
||||
| p50OpenClawImportMs | 84 ms |
|
||||
| p95OpenClawImportMs | 88.6 ms |
|
||||
| p50OpenClawActivationMs | 0.3 ms |
|
||||
| p95OpenClawActivationMs | 1.2 ms |
|
||||
| maxPeakRssMb | 347.9 MB |
|
||||
| maxCpuMsEstimate | 4780 ms |
|
||||
| baselineReferenceWallMs | 2442 ms |
|
||||
| baselineReferencePeakRssMb | 334.6 MB |
|
||||
| baselineReferenceCpuMsEstimate | 4745 ms |
|
||||
| statSampleCount | 287 |
|
||||
| rssSampleCount | 287 |
|
||||
| cpuSampleCount | 287 |
|
||||
| capturedCount | 6 |
|
||||
| failCount | 0 |
|
||||
|
||||
## Harness Baseline
|
||||
|
||||
| Metric | Value |
|
||||
| ---------------------- | ---------------------------------------- |
|
||||
| mode | minimal-plugin-capture |
|
||||
| runs | 3 |
|
||||
| entrypoint | .crabpot/import-loop/baseline-plugin.mjs |
|
||||
| referenceWallMs | 2442 ms |
|
||||
| referencePeakRssMb | 334.6 MB |
|
||||
| referenceCpuMsEstimate | 4745 ms |
|
||||
| maxWallMs | 2958 ms |
|
||||
| maxPeakRssMb | 347.9 MB |
|
||||
| maxCpuMsEstimate | 5384 ms |
|
||||
| statSampleCount | 306 |
|
||||
| failCount | 0 |
|
||||
|
||||
## Samples
|
||||
|
||||
| Run | Status | Captured | Wall | Peak RSS | CPU Estimate | Exit |
|
||||
| --- | -------- | -------- | ------- | -------- | ------------ | ---- |
|
||||
| 0 | captured | 2 | 950 ms | 44.2 MB | 208 ms | 0 |
|
||||
| 1 | captured | 2 | 1023 ms | 11.7 MB | 16 ms | 0 |
|
||||
| 2 | captured | 2 | 740 ms | 45.5 MB | 184 ms | 0 |
|
||||
| Run | Status | Captured | OpenClaw Import | OpenClaw Activate | Plugin Wall Delta | Plugin RSS Delta | Plugin CPU Delta | Raw Wall | Raw Peak RSS | Raw CPU Estimate | RSS/CPU samples | Exit |
|
||||
| --- | -------- | -------- | --------------- | ----------------- | ----------------- | ---------------- | ---------------- | -------- | ------------ | ---------------- | --------------- | ---- |
|
||||
| 0 | captured | 2 | 84 ms | 0.3 ms | 29 ms | 8 MB | 35 ms | 2471 ms | 342.6 MB | 4780 ms | 97/97 | 0 |
|
||||
| 1 | captured | 2 | 81.8 ms | 0.3 ms | 0 ms | 0 MB | 0 ms | 2421 ms | 333.8 MB | 4743 ms | 96/96 | 0 |
|
||||
| 2 | captured | 2 | 88.6 ms | 1.2 ms | 0 ms | 13.3 MB | 0 ms | 2392 ms | 347.9 MB | 4639 ms | 94/94 | 0 |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user