Compare commits

...

54 Commits

Author SHA1 Message Date
dependabot[bot]
bfe6f8aa0c
chore(deps): bump plugins/opik-openclaw from f898726 to 0f62b10 (#43)
Some checks failed
Check / Static checks (${{ matrix.os }}) (macos-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (ubuntu-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (windows-latest) (push) Has been cancelled
Check / Container static checks (push) Has been cancelled
Check / Resolve changed fixture matrix (push) Has been cancelled
Check / Isolated changed fixture ${{ matrix.id }} (push) Has been cancelled
Check / dashboard (push) Has been cancelled
* chore(deps): bump plugins/opik-openclaw from `f898726` to `0f62b10`

Bumps [plugins/opik-openclaw](https://github.com/comet-ml/opik-openclaw) from `f898726` to `0f62b10`.
- [Release notes](https://github.com/comet-ml/opik-openclaw/releases)
- [Commits](f8987269d3...0f62b10688)

---
updated-dependencies:
- dependency-name: plugins/opik-openclaw
  dependency-version: 0f62b10688428f288eaff9b99e0ee7a9334137e7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-07 09:36:13 +00:00
dependabot[bot]
7746354b22
chore(deps): bump plugins/nemoclaw from 2d6dd4d to 3351fbd (#42)
* chore(deps): bump plugins/nemoclaw from `2d6dd4d` to `3351fbd`

Bumps [plugins/nemoclaw](https://github.com/NVIDIA/NemoClaw) from `2d6dd4d` to `3351fbd`.
- [Commits](2d6dd4dbd8...3351fbdd4e)

---
updated-dependencies:
- dependency-name: plugins/nemoclaw
  dependency-version: 3351fbdd4eb7d9b80ec471545083956327da2b10
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-07 09:30:56 +00:00
github-actions[bot]
85f562d5e3 chore(readme): update crabpot dashboard [skip ci] 2026-05-06 09:59:12 +00:00
Vincent Koc
98c24dbb02
fix(reports): accept packaged runtime entrypoints 2026-05-06 02:48:20 -07:00
dependabot[bot]
d4ad88dc5a
chore(deps): bump plugins/nemoclaw from 0f13026 to 2d6dd4d (#41)
* chore(deps): bump plugins/nemoclaw from `0f13026` to `2d6dd4d`

Bumps [plugins/nemoclaw](https://github.com/NVIDIA/NemoClaw) from `0f13026` to `2d6dd4d`.
- [Commits](0f13026c89...2d6dd4dbd8)

---
updated-dependencies:
- dependency-name: plugins/nemoclaw
  dependency-version: 2d6dd4dbd80edad6b552c4c891b033784470bddb
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 09:33:28 +00:00
dependabot[bot]
cad03ae202
chore(deps): bump plugins/memos-cloud from 03fcc33 to e931499 (#39)
* chore(deps): bump plugins/memos-cloud from `03fcc33` to `e931499`

Bumps [plugins/memos-cloud](https://github.com/MemTensor/MemOS-Cloud-OpenClaw-Plugin) from `03fcc33` to `e931499`.
- [Release notes](https://github.com/MemTensor/MemOS-Cloud-OpenClaw-Plugin/releases)
- [Commits](03fcc33c5f...e931499a25)

---
updated-dependencies:
- dependency-name: plugins/memos-cloud
  dependency-version: e931499a2589af06ee543ce07df2bdda29ac8085
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 09:29:46 +00:00
dependabot[bot]
b9d60777cf
chore(deps): bump plugins/clawrouter from 44bc6be to bb72bdd (#23)
* chore(deps): bump plugins/clawrouter from `44bc6be` to `bb72bdd`

Bumps [plugins/clawrouter](https://github.com/BlockRunAI/ClawRouter) from `44bc6be` to `bb72bdd`.
- [Release notes](https://github.com/BlockRunAI/ClawRouter/releases)
- [Commits](44bc6beced...bb72bddae4)

---
updated-dependencies:
- dependency-name: plugins/clawrouter
  dependency-version: d8eacc744a5e441e76931d7ec52594cd6b51f27e
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 08:33:46 +00:00
dependabot[bot]
a7fb812de3
chore(deps): bump plugins/lossless-claw from 4724d3f to 4fc60c9 (#28)
* chore(deps): bump plugins/lossless-claw from `4724d3f` to `4fc60c9`

Bumps [plugins/lossless-claw](https://github.com/Martian-Engineering/lossless-claw) from `4724d3f` to `4fc60c9`.
- [Release notes](https://github.com/Martian-Engineering/lossless-claw/releases)
- [Commits](4724d3fe6c...4fc60c925c)

---
updated-dependencies:
- dependency-name: plugins/lossless-claw
  dependency-version: 46d1b0316245e7c3b6f940ca3eb124539ba2180c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 08:30:02 +00:00
Vincent Koc
9d8c0f473d
fix(ci): require green checks before dependabot merge 2026-05-06 01:24:45 -07:00
dependabot[bot]
f6d13d63ed
chore(deps): bump plugins/honcho from 9580d37 to e9f0145 (#25)
* chore(deps): bump plugins/honcho from `9580d37` to `e9f0145`

Bumps [plugins/honcho](https://github.com/plastic-labs/openclaw-honcho) from `9580d37` to `e9f0145`.
- [Commits](9580d37d95...e9f01452b7)

---
updated-dependencies:
- dependency-name: plugins/honcho
  dependency-version: e9f01452b781d24b38336ef0738f2c97353c541e
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 08:20:05 +00:00
dependabot[bot]
c7cebf32cb
chore(deps): bump plugins/nemoclaw from 32d3ab3 to 0f13026 (#36)
* chore(deps): bump plugins/nemoclaw from `32d3ab3` to `0f13026`

Bumps [plugins/nemoclaw](https://github.com/NVIDIA/NemoClaw) from `32d3ab3` to `0f13026`.
- [Commits](32d3ab3e85...0f13026c89)

---
updated-dependencies:
- dependency-name: plugins/nemoclaw
  dependency-version: 0f13026c895ce56f667022b372b1cc967d118765
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 07:40:30 +00:00
Vincent Koc
8f99590e5e
fix(ci): allow dependabot generated reports 2026-05-06 00:36:24 -07:00
Vincent Koc
8611b53dfa
fix(ci): wait for dependabot mergeability 2026-05-06 00:33:42 -07:00
Vincent Koc
066e916c05
fix(ci): skip stale dependabot merge after report push 2026-05-06 00:31:46 -07:00
dependabot[bot]
964df22b64
chore(deps): bump plugins/connectclaw from 6cd5166 to 7a4e264 (#37)
* chore(deps): bump plugins/connectclaw from `6cd5166` to `7a4e264`

Bumps [plugins/connectclaw](https://github.com/osipov-anton/connectclaw) from `6cd5166` to `7a4e264`.
- [Commits](6cd5166501...7a4e2646e9)

---
updated-dependencies:
- dependency-name: plugins/connectclaw
  dependency-version: 7a4e2646e914de075435b3837123cc03c3edae36
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-06 07:22:51 +00:00
Vincent Koc
1235161e0f
fix(ci): let dependabot auto-merge settle 2026-05-06 00:18:58 -07:00
github-actions[bot]
ef0d662915 chore(readme): update crabpot dashboard [skip ci] 2026-05-06 07:10:21 +00:00
Vincent Koc
e566d83b1e
fix(ci): pass OpenClaw checkout to fixture sync 2026-05-05 23:59:22 -07:00
George Zhang
1b06b1208b
Merge pull request #38 from openclaw/add-weixin-catalog-discovery
test: track Weixin catalog discovery fixture
2026-05-05 16:06:08 -07:00
George Zhang
5b04665a44
test: track Weixin catalog discovery fixture 2026-05-05 15:44:56 -07:00
Vincent Koc
7d8d2c1e88
chore(reports): refresh plugin-inspector P0 classification
Some checks failed
Check / Static checks (${{ matrix.os }}) (macos-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (ubuntu-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (windows-latest) (push) Has been cancelled
Check / Container static checks (push) Has been cancelled
Check / Resolve changed fixture matrix (push) Has been cancelled
Check / Isolated changed fixture ${{ matrix.id }} (push) Has been cancelled
Check / dashboard (push) Has been cancelled
Refresh Crabpot reports after plugin-inspector stopped reporting resolved package entrypoints as live P0s.
2026-05-05 01:05:30 -07:00
github-actions[bot]
ba681dbd5b chore(readme): refresh latest dashboard [skip ci] 2026-05-05 03:27:46 +00:00
Vincent Koc
d68c82e8d7
fix(reports): flag missing externalized OpenClaw npm artifacts
Handle missing npm artifacts as P0s for externalized OpenClaw fixtures while source-packing bundled Matrix/Mattermost from the resolved OpenClaw checkout.
2026-05-04 20:21:43 -07:00
github-actions[bot]
92ff0d2fc6 chore(readme): refresh latest dashboard [skip ci] 2026-05-05 02:46:19 +00:00
dependabot[bot]
176dedc832
chore(deps): bump openclaw-plugin-yuanbao from 2.12.0 to 3.0.1 in /plugins/yuanbao (#32)
Some checks are pending
Check / Static checks (${{ matrix.os }}) (macos-latest) (push) Waiting to run
Check / Static checks (${{ matrix.os }}) (ubuntu-latest) (push) Waiting to run
Check / Static checks (${{ matrix.os }}) (windows-latest) (push) Waiting to run
Check / Container static checks (push) Waiting to run
Check / Resolve changed fixture matrix (push) Waiting to run
Check / Isolated changed fixture ${{ matrix.id }} (push) Blocked by required conditions
Check / dashboard (push) Blocked by required conditions
* chore(deps): bump openclaw-plugin-yuanbao in /plugins/yuanbao

Bumps openclaw-plugin-yuanbao from 2.12.0 to 3.0.1.

---
updated-dependencies:
- dependency-name: openclaw-plugin-yuanbao
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-04 11:36:46 +00:00
dependabot[bot]
b211955d63
chore(deps): bump plugins/clawmetry from d747787 to 7b03924 (#30)
* chore(deps): bump plugins/clawmetry from `d747787` to `7b03924`

Bumps [plugins/clawmetry](https://github.com/vivekchand/clawmetry) from `d747787` to `7b03924`.
- [Release notes](https://github.com/vivekchand/clawmetry/releases)
- [Commits](d747787e33...7b03924c02)

---
updated-dependencies:
- dependency-name: plugins/clawmetry
  dependency-version: 7b03924c02a50ddb096407e823e48a6d369247a7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-04 11:27:39 +00:00
dependabot[bot]
8d541192c0
chore(deps): bump plugins/nemoclaw from f9d21af to 32d3ab3 (#29)
* chore(deps): bump plugins/nemoclaw from `f9d21af` to `32d3ab3`

Bumps [plugins/nemoclaw](https://github.com/NVIDIA/NemoClaw) from `f9d21af` to `32d3ab3`.
- [Commits](f9d21afa19...32d3ab3e85)

---
updated-dependencies:
- dependency-name: plugins/nemoclaw
  dependency-version: 32d3ab3e85ba5648daf8a31c41af293f8d6214ca
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-04 11:23:38 +00:00
dependabot[bot]
ce1eeec7bc
chore(deps): bump plugins/web-search-plus from 6e4c765 to dd3cab6 (#31)
* chore(deps): bump plugins/web-search-plus from `6e4c765` to `dd3cab6`

Bumps [plugins/web-search-plus](https://github.com/robbyczgw-cla/web-search-plus-plugin) from `6e4c765` to `dd3cab6`.
- [Release notes](https://github.com/robbyczgw-cla/web-search-plus-plugin/releases)
- [Commits](6e4c765cd0...dd3cab6e11)

---
updated-dependencies:
- dependency-name: plugins/web-search-plus
  dependency-version: dd3cab6e11f16eaa3fcee0ce67d3a809b155341a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-04 11:18:54 +00:00
github-actions[bot]
2763e7e5ac chore(readme): update crabpot dashboard [skip ci] 2026-05-03 08:28:29 +00:00
Vincent Koc
b1729769ea
fix(dashboard): execute beta fixture set 2026-05-03 01:18:02 -07:00
github-actions[bot]
3024edb959 chore(readme): update crabpot dashboard [skip ci] 2026-05-03 07:27:45 +00:00
Vincent Koc
bae69dcaf9
fix(dashboard): runtime-cover memory lancedb dev gap 2026-05-03 00:16:36 -07:00
github-actions[bot]
c54bcc89d2 chore(readme): update crabpot dashboard [skip ci] 2026-05-03 06:00:51 +00:00
Vincent Koc
83033f6608
fix(report): soften registration capture gaps 2026-05-02 22:50:02 -07:00
github-actions[bot]
c59a52aa76 chore(readme): refresh latest dashboard [skip ci] 2026-05-03 05:25:32 +00:00
Vincent Koc
cd140f89e3
fix(tracks): force official plugin dist-tags 2026-05-02 22:20:24 -07:00
github-actions[bot]
7dca9228df chore(readme): update crabpot dashboard [skip ci] 2026-05-03 02:46:42 +00:00
Vincent Koc
08b5cf96b7
fix(readme): update generated track frame 2026-05-02 19:35:45 -07:00
Vincent Koc
621c66e787
docs(readme): clarify crabpot tracks 2026-05-02 19:29:36 -07:00
github-actions[bot]
deee92ae5c chore(readme): update crabpot dashboard [skip ci] 2026-05-03 02:26:39 +00:00
Vincent Koc
f28b483488
feat(tracks): source-pack development plugins 2026-05-02 19:16:09 -07:00
github-actions[bot]
d62d1da317 chore(readme): update crabpot dashboard [skip ci] 2026-05-03 01:43:03 +00:00
Vincent Koc
2e8fac3fc7
chore(fixtures): refresh kitchen sink metadata reports (#27)
* chore(fixtures): refresh kitchen sink metadata reports

* fix(ci): harden kitchen sink surface checks

* fix(ci): classify kitchen sink isolated probes

* fix(ci): pin merged plugin inspector source
2026-05-02 18:32:03 -07:00
Vincent Koc
7644287646
fix(report): ignore retired bundle metadata false positives
Some checks failed
Check / Static checks (${{ matrix.os }}) (macos-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (ubuntu-latest) (push) Has been cancelled
Check / Static checks (${{ matrix.os }}) (windows-latest) (push) Has been cancelled
Check / Container static checks (push) Has been cancelled
Check / Resolve changed fixture matrix (push) Has been cancelled
Check / Isolated changed fixture ${{ matrix.id }} (push) Has been cancelled
Check / dashboard (push) Has been cancelled
2026-05-02 11:51:39 -07:00
Vincent Koc
877c217437
chore(report): pin plugin-inspector bundle metadata check 2026-05-02 11:32:10 -07:00
Vincent Koc
743e2d686e
feat(report): reconcile runtime evidence 2026-05-02 11:24:07 -07:00
Vincent Koc
f5f922b502
fix(runtime): honor mock SDK capture 2026-05-02 10:53:02 -07:00
Vincent Koc
6eebf29555
feat(reports): add OpenClaw beta plugin lane 2026-05-02 10:23:20 -07:00
github-actions[bot]
06e8215f62 chore(readme): update crabpot dashboard [skip ci] 2026-05-02 17:07:18 +00:00
Vincent Koc
614b3209ea
feat(fixtures): add OpenClaw npm plugin packages 2026-05-02 09:54:56 -07:00
github-actions[bot]
39e9f1565d chore(readme): update crabpot dashboard [skip ci] 2026-05-02 16:19:06 +00:00
Vincent Koc
dae2654661
fix(reports): pin npm pack readiness checks 2026-05-02 09:14:29 -07:00
Vincent Koc
c00b25a7eb
fix(fixtures): refresh kitchen sink package metadata 2026-05-02 08:56:44 -07:00
dependabot[bot]
84c3fb61a9
chore(deps): bump plugins/telnyx-sms from 66dba9e to dee5677 (#26)
Some checks are pending
Check / Container static checks (push) Waiting to run
Check / Static checks (${{ matrix.os }}) (macos-latest) (push) Waiting to run
Check / Static checks (${{ matrix.os }}) (ubuntu-latest) (push) Waiting to run
Check / Static checks (${{ matrix.os }}) (windows-latest) (push) Waiting to run
Check / Resolve changed fixture matrix (push) Waiting to run
Check / Isolated changed fixture ${{ matrix.id }} (push) Blocked by required conditions
Check / dashboard (push) Blocked by required conditions
* chore(deps): bump plugins/telnyx-sms from `66dba9e` to `dee5677`

Bumps [plugins/telnyx-sms](https://github.com/team-telnyx/telnyx-openclaw-sms-channel) from `66dba9e` to `dee5677`.
- [Commits](66dba9edf2...dee567716c)

---
updated-dependencies:
- dependency-name: plugins/telnyx-sms
  dependency-version: dee567716ca56d49464bf6354393f3656d92a2b3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(reports): refresh dependabot compatibility reports

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-01 10:39:02 +00:00
132 changed files with 102685 additions and 12491 deletions

264
.github/dependabot.yml vendored
View File

@ -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"

View File

@ -37,10 +37,21 @@ jobs:
repository: openclaw/openclaw
ref: ${{ steps.openclaw-track.outputs.ref }}
path: openclaw
- run: node scripts/run-static-suite.mjs --openclaw ./openclaw --policy dashboard --profile-runs 3 --plugin-inspector-smoke
- 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
@ -80,7 +91,14 @@ jobs:
ref: ${{ steps.openclaw-track.outputs.ref }}
path: openclaw
- run: node --version
- run: node scripts/run-static-suite.mjs --openclaw ./openclaw --policy dashboard --profile-runs 3 --plugin-inspector-smoke
- 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
@ -178,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()
@ -194,6 +216,8 @@ 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.*
@ -226,7 +250,10 @@ jobs:
repository: openclaw/openclaw
ref: ${{ steps.openclaw-track.outputs.ref }}
path: openclaw
- run: node scripts/sync-fixtures.mjs --materialize
- 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
@ -239,6 +266,9 @@ jobs:
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")"

View File

@ -66,7 +66,7 @@ jobs:
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
- name: Verify Dependabot changed only fixture pins and generated reports
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
@ -79,10 +79,10 @@ 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
@ -95,8 +95,9 @@ jobs:
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
@ -113,11 +114,11 @@ jobs:
node scripts/check-ci-policy.mjs
node scripts/write-ci-summary.mjs --mode dependabot --openclaw-label "${{ steps.openclaw-track.outputs.label }}"
node scripts/update-track-metadata.mjs
baseline_arg=""
baseline_args=()
if [ -f .crabpot/baseline/main-dashboard-data.json ]; then
baseline_arg="--baseline-data .crabpot/baseline/main-dashboard-data.json"
baseline_args=(--baseline-data .crabpot/baseline/main-dashboard-data.json)
fi
node scripts/update-readme-summary.mjs ${baseline_arg}
node scripts/update-readme-summary.mjs "${baseline_args[@]}"
- name: Commit refreshed reports
run: |
@ -131,4 +132,36 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: gh pr merge "${PR_NUMBER}" --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

View File

@ -175,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: |
@ -305,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()
@ -323,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.*

View File

@ -35,10 +35,16 @@ jobs:
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
@ -80,7 +86,15 @@ jobs:
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
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' }}
@ -98,10 +112,19 @@ jobs:
- 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")"
node scripts/generate-report.mjs --openclaw ./openclaw
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

4
.rgignore Normal file
View 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

View File

@ -9,68 +9,69 @@
## Reporting Data
`main` follows the latest published npm package. `crab-beta` follows the beta npm dist-tag. `crab-development` follows the latest `openclaw/openclaw` main commit.
- **Last dashboard update:** May 01, 2026, 08:59 UTC
`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.4.29`
- **OpenClaw SHA:** `a448042c2edd`
- **Dashboard target:** `openclaw@latest`
- **GitHub report run:** [25208851888](https://github.com/openclaw/crabpot/actions/runs/25208851888)
- **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
| Metric | Result |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Fixtures | 33 |
| Hard breakages | 0 |
| Warnings | 69 |
| Suggestions | 112 |
| Issues | 181 |
| P0 issues | [🔴 P0 4](reports/crabpot-issues.md#p0-live-issues) |
| P1 issues | [🟠 P1 39](reports/crabpot-issues.md#triage-summary) |
| Live issues | 4 total / 4 P0 |
| Compat gaps | 3 |
| Deprecation warnings | 28 |
| Inspector gaps | 117 |
| Upstream metadata | 29 |
| Contract probes | 175 |
| Policy failures | 0 |
| Policy warnings | 20 |
| Ref diff failures | 0 |
| Profile failures | 0 |
| Execution probes | 12 pass / 0 fail / 18 blocked |
| Synthetic probes | 292 ready / 0 blocked / 292 total |
| Cold import | 3 ready / 37 blocked / 40 entrypoints |
| Workspace plan | 40 entrypoints / 19 installs / 11 builds |
| Platform risks | 14 Windows / 14 container |
| Jiti loader candidates | 21 |
| Import loop | p50 1569ms / p95 1618ms / plugin delta RSS 2.1MB / plugin delta CPU 68ms / OpenClaw import 101.4ms / activate 0.2ms |
| Runtime profile | p50 577ms / command p95 620ms / max RSS 91.7MB / 3 samples/command |
| 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 |
### OpenClaw Lifecycle Probe
| Phase | p50 | p95 |
| -------------------------- | ------- | ------- |
| Import (`full`) | 101.4ms | 102.4ms |
| Activate (`full:register`) | 0.2ms | 0.3ms |
| 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 | clawmetry | sdk-export-missing | core-compat-adapter | [clawmetry: plugin SDK import aliases are missing from target package exports](reports/crabpot-issues.md#p0-live-issues) |
| 🔴 P0 | live-issue | honcho | sdk-export-missing | core-compat-adapter | [honcho: 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) |
| 🔴 P0 | live-issue | yuanbao | sdk-export-missing | core-compat-adapter | [yuanbao: plugin SDK import aliases are missing from target package exports](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 | compat-gap | clawmetry | missing-compat-record | core-compat-adapter | [clawmetry: compat-dependent behavior lacks registry coverage](reports/crabpot-issues.md#compat-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 | inspector-gap | clawrouter | registration-capture-gap | inspector-follow-up | [clawrouter: runtime registrations need capture before contract judgment](reports/crabpot-issues.md#inspector-proof-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) |
| 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

View File

@ -29,6 +29,20 @@
"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": [
@ -48,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"]

View File

@ -177,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",
@ -338,6 +337,720 @@
},
"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",
@ -436,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",

View File

@ -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-]*$" },

View File

@ -9,6 +9,7 @@
},
"scripts": {
"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",

View File

@ -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
@ -59,13 +63,37 @@ directory: "/plugins/<id>"
| `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. |
@ -104,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
View 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"
}
}
}
}

View 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
View 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=="
}
}
}

View 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 d747787e334cc39dd1192e4af03be8adf8260361
Subproject commit 7b03924c02a50ddb096407e823e48a6d369247a7

@ -1 +1 @@
Subproject commit 44bc6beced9add67b009cb57d9f84136c5369985
Subproject commit bb72bddae4da7fd285e4804a5716f2a226a6f103

3720
plugins/codex/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View 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

File diff suppressed because it is too large Load Diff

View 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"
}
}

View 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=="
}
}
}

View 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
View 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"
}
}
}
}

View 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"
}
}

21
plugins/discord/package-lock.json generated Normal file
View 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."
}
}
}

View 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
View 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"
}
}
}
}

View 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
View 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"
}
}
}

View 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 9580d37d95ef63b0e8b64578fbfc8abfcfc745e4
Subproject commit e9f01452b781d24b38336ef0738f2c97353c541e

@ -1 +1 @@
Subproject commit f24c6aea640e6a141543af308dd4a20f929c6d9e
Subproject commit 6995e72caacdcab1aedc74f20d2118465eaf976e

30
plugins/lobster/package-lock.json generated Normal file
View 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"
}
}
}

View 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 4724d3fe6ccfd85f275aad732f3b01551d909e5a
Subproject commit 4fc60c925c1eed730a73c6bb62144f7af905687f

4907
plugins/matrix/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View 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
View 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."
}
}
}

View 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
View 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"
}
}
}
}

View 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

File diff suppressed because it is too large Load Diff

View 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 +1 @@
Subproject commit f9d21afa193c2b67cb55e79eca03db40f0fbe836
Subproject commit 3351fbdd4eb7d9b80ec471545083956327da2b10

33
plugins/nextcloud-talk/package-lock.json generated Normal file
View 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"
}
}
}
}

View 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
View 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"
}
}
}
}

View 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
View 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"
}
}
}
}

View 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 +1 @@
Subproject commit f8987269d3f2121f52ace4f60c80629266c0dfd7
Subproject commit 0f62b10688428f288eaff9b99e0ee7a9334137e7

33
plugins/synology-chat/package-lock.json generated Normal file
View 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"
}
}
}
}

View 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 +1 @@
Subproject commit 66dba9edf2bd43605327531a748b4d8fbf0017dd
Subproject commit dee567716ca56d49464bf6354393f3656d92a2b3

34
plugins/tlon/package-lock.json generated Normal file
View 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
View 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
View 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"
}
}
}
}

View 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
View 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"
}
}
}
}

View 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

2068
plugins/whatsapp/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View 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"
}
}

View File

@ -8,7 +8,7 @@
"name": "@crabpot/fixture-yuanbao",
"version": "0.0.0",
"dependencies": {
"openclaw-plugin-yuanbao": "2.12.0"
"openclaw-plugin-yuanbao": "3.0.1"
}
},
"node_modules/@agentclientprotocol/sdk": {
@ -1109,9 +1109,6 @@
"cpu": [
"arm64"
],
"libc": [
"glibc"
],
"license": "MIT",
"optional": true,
"os": [
@ -1129,9 +1126,6 @@
"cpu": [
"arm64"
],
"libc": [
"musl"
],
"license": "MIT",
"optional": true,
"os": [
@ -1149,9 +1143,6 @@
"cpu": [
"riscv64"
],
"libc": [
"glibc"
],
"license": "MIT",
"optional": true,
"os": [
@ -1169,9 +1160,6 @@
"cpu": [
"x64"
],
"libc": [
"glibc"
],
"license": "MIT",
"optional": true,
"os": [
@ -1189,9 +1177,6 @@
"cpu": [
"x64"
],
"libc": [
"musl"
],
"license": "MIT",
"optional": true,
"os": [
@ -5211,18 +5196,17 @@
}
},
"node_modules/openclaw-plugin-yuanbao": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/openclaw-plugin-yuanbao/-/openclaw-plugin-yuanbao-2.12.0.tgz",
"integrity": "sha512-bANbMwMIKD2jclmbp92krN/eBzNfeQSb9dDCPZHkCwFmwcX0GUHwMJBHB/YoE/ZKK43mUHCRMQe4vZurDbeMaQ==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/openclaw-plugin-yuanbao/-/openclaw-plugin-yuanbao-3.0.1.tgz",
"integrity": "sha512-dCsAA01aNnt5mtjCB6URzRwBBCbdVRDQWsUlS/5bM4KpgehWvMdc5EF2Tzx5EJOkRujPXW/wIKY9a9BZ1Fq/6w==",
"license": "MIT",
"dependencies": {
"cos-nodejs-sdk-v5": "^2.15.4",
"protobufjs": "^8.0.0",
"uuid": "^13.0.0",
"ws": "^8.19.0"
},
"peerDependencies": {
"openclaw": ">=2026.4.14"
"openclaw": ">=2026.4.27"
}
},
"node_modules/openclaw-plugin-yuanbao/node_modules/protobufjs": {

View File

@ -4,7 +4,7 @@
"private": true,
"description": "Crabpot npm fixture shim for Tencent Yuanbao Bot.",
"dependencies": {
"openclaw-plugin-yuanbao": "2.12.0"
"openclaw-plugin-yuanbao": "3.0.1"
},
"overrides": {
"@anthropic-ai/sdk": "0.91.1",

43
plugins/zalo/package-lock.json generated Normal file
View 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
View 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
View 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"
}
}
}
}

View 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

View File

@ -3,10 +3,11 @@
"status": "pass",
"strict": false,
"policy": {
"allowedBlocked": 4,
"allowedBlocked": 6,
"expectedWarnings": 1,
"fixtureSets": [
"build",
"openclaw-beta",
"sdk-alias",
"side-effect-review",
"smoke"
@ -21,21 +22,10 @@
"summary": {
"checkCount": 25,
"failCount": 0,
"warnCount": 20,
"passCount": 5
"warnCount": 19,
"passCount": 6
},
"checks": [
{
"id": "compatibility-report.live-p0-issues",
"action": "warn",
"message": "4 live P0 issues tracked",
"evidence": [
"clawmetry:sdk-export-missing:untracked",
"honcho:sdk-export-missing:untracked",
"hyperspell:unknown-hook-name:none",
"yuanbao:sdk-export-missing:untracked"
]
},
{
"id": "execution-results.audit-findings",
"action": "warn",
@ -251,81 +241,73 @@
{
"id": "compatibility-report.deprecation-warnings",
"action": "pass",
"message": "28 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",
"synology-chat:channel-env-vars",
"telnyx-sms:channel-env-vars",
"yuanbao: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": "117 inspector proof gaps tracked",
"message": "163 inspector proof gaps tracked",
"evidence": [
"a2a-gateway:registration-capture-gap",
"clawmetry:registration-capture-gap",
"clawrouter:registration-capture-gap",
"codex-app-server:registration-capture-gap",
"connectclaw:registration-capture-gap",
"dingtalk-connector:registration-capture-gap",
"honcho:conversation-access-hook",
"honcho:registration-capture-gap",
"hyperspell:conversation-access-hook",
"hyperspell:registration-capture-gap",
"kitchen-sink:before-tool-call-probe",
"kitchen-sink:conversation-access-hook",
"kitchen-sink:registration-capture-gap",
"lightclawbot:registration-capture-gap",
"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",
"nemoclaw:before-tool-call-probe",
"nemoclaw:registration-capture-gap",
"openclaw-telemetry:before-tool-call-probe",
"openclaw-telemetry:conversation-access-hook",
"openclaw-telemetry:registration-capture-gap",
"openclaw-weixin:registration-capture-gap",
"opik-openclaw:before-tool-call-probe",
"opik-openclaw:conversation-access-hook",
"opik-openclaw:registration-capture-gap",
"qqbot:registration-capture-gap",
"secureclaw:registration-capture-gap",
"telnyx-sms: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",
@ -333,124 +315,174 @@
"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-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-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",
"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:package-typescript-source-entrypoint",
"yuanbao:runtime-tool-capture"
"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": "39 P1 issues tracked",
"message": "15 P1 issues tracked",
"evidence": [
"a2a-gateway:registration-capture-gap",
"clawmetry:missing-compat-record",
"clawmetry:registration-capture-gap",
"clawrouter:registration-capture-gap",
"codex-app-server:registration-capture-gap",
"connectclaw:registration-capture-gap",
"dingtalk-connector:registration-capture-gap",
"clawmetry:sdk-export-missing",
"honcho:conversation-access-hook",
"honcho:missing-compat-record",
"honcho:registration-capture-gap",
"hyperspell:conversation-access-hook",
"hyperspell:registration-capture-gap",
"honcho:sdk-export-missing",
"kitchen-sink:before-tool-call-probe",
"kitchen-sink:conversation-access-hook",
"kitchen-sink:registration-capture-gap",
"lightclawbot:registration-capture-gap",
"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",
"nemoclaw:before-tool-call-probe",
"nemoclaw:registration-capture-gap",
"openclaw-telemetry:before-tool-call-probe",
"openclaw-telemetry:conversation-access-hook",
"openclaw-telemetry:registration-capture-gap",
"openclaw-weixin:registration-capture-gap",
"opik-openclaw:before-tool-call-probe",
"opik-openclaw:conversation-access-hook",
"opik-openclaw:registration-capture-gap",
"qqbot:registration-capture-gap",
"secureclaw:registration-capture-gap",
"telnyx-sms:registration-capture-gap",
"wecom:before-tool-call-probe",
"wecom:registration-capture-gap",
"yuanbao:missing-compat-record",
"yuanbao:registration-capture-gap"
"wecom:before-tool-call-probe"
]
},
{

File diff suppressed because one or more lines are too long

View File

@ -2,133 +2,53 @@
"generatedAt": "deterministic",
"title": "Crabpot CI Summary",
"mode": "dependabot",
"openclawLabel": "openclaw@latest (2026.4.29, a448042c2edd)",
"openclawLabel": "openclaw@latest (2026.5.6, c97b9f79ec43)",
"status": "pass",
"summary": {
"breakages": 0,
"warnings": 69,
"suggestions": 112,
"issues": 181,
"p0Issues": 4,
"p1Issues": 39,
"liveIssues": 4,
"liveP0Issues": 4,
"compatGaps": 3,
"deprecationWarnings": 28,
"inspectorGaps": 117,
"upstreamIssues": 29,
"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": 20,
"policyWarnings": 19,
"profileFailures": 0,
"profileWarnings": 0,
"profileWarnings": 2,
"executionPass": 12,
"executionFail": 0,
"executionBlocked": 18,
"platformWindowsRisks": 14,
"platformContainerRisks": 14,
"loaderJitiCandidates": 21,
"importLoopP50Ms": 1569,
"importLoopP95Ms": 1618,
"loaderJitiCandidates": 25,
"importLoopP50Ms": 2421,
"importLoopP95Ms": 2471,
"importLoopOpenClawLifecycleCount": 3,
"importLoopOpenClawImportP50Ms": 101.4,
"importLoopOpenClawActivationP50Ms": 0.2,
"importLoopOpenClawImportP50Ms": 84,
"importLoopOpenClawActivationP50Ms": 0.3,
"importLoopMetricBasis": "baseline-adjusted",
"importLoopMaxRssMb": 2.1,
"importLoopMaxCpuMs": 68,
"importLoopRssSampleCount": 188,
"importLoopCpuSampleCount": 188
"importLoopMaxRssMb": 13.3,
"importLoopMaxCpuMs": 35,
"importLoopRssSampleCount": 287,
"importLoopCpuSampleCount": 287
},
"topIssues": [
{
"severity": "P0",
"issueClass": "live-issue",
"fixture": "clawmetry",
"code": "sdk-export-missing",
"title": "clawmetry: plugin SDK import aliases are missing from target package exports",
"decision": "core-compat-adapter"
},
{
"severity": "P0",
"issueClass": "live-issue",
"fixture": "honcho",
"code": "sdk-export-missing",
"title": "honcho: 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": "P0",
"issueClass": "live-issue",
"fixture": "yuanbao",
"code": "sdk-export-missing",
"title": "yuanbao: plugin SDK import aliases are missing from target package exports",
"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": "compat-gap",
"fixture": "clawmetry",
"code": "missing-compat-record",
"title": "clawmetry: compat-dependent behavior lacks registry coverage",
"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": "clawmetry",
"code": "registration-capture-gap",
"title": "clawmetry: runtime registrations need capture before contract judgment",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "clawrouter",
"code": "registration-capture-gap",
"title": "clawrouter: runtime registrations need capture before contract judgment",
"decision": "inspector-follow-up"
},
{
"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",
"fixture": "dingtalk-connector",
"code": "registration-capture-gap",
"title": "dingtalk-connector: runtime registrations need capture before contract judgment",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
@ -141,34 +61,10 @@
"severity": "P1",
"issueClass": "compat-gap",
"fixture": "honcho",
"code": "missing-compat-record",
"title": "honcho: compat-dependent behavior lacks registry coverage",
"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": "honcho",
"code": "registration-capture-gap",
"title": "honcho: runtime registrations need capture before contract judgment",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "hyperspell",
"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",
@ -188,33 +84,86 @@
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "kitchen-sink",
"code": "registration-capture-gap",
"title": "kitchen-sink: runtime registrations need capture before contract judgment",
"fixture": "llm-trace-phoenix",
"code": "conversation-access-hook",
"title": "llm-trace-phoenix: conversation-access hooks need privacy-boundary probes",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "lightclawbot",
"code": "registration-capture-gap",
"title": "lightclawbot: 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"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "memory-tencentdb",
"code": "conversation-access-hook",
"title": "memory-tencentdb: conversation-access hooks need privacy-boundary probes",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "memos-cloud",
"code": "conversation-access-hook",
"title": "memos-cloud: conversation-access hooks need privacy-boundary probes",
"decision": "inspector-follow-up"
},
{
"severity": "P1",
"issueClass": "inspector-gap",
"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": "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-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",
"action": "warn",
"message": "4 live P0 issues tracked",
"evidence": [
"clawmetry:sdk-export-missing:untracked",
"honcho:sdk-export-missing:untracked",
"hyperspell:unknown-hook-name:none",
"yuanbao:sdk-export-missing:untracked"
]
},
{
"id": "execution-results.audit-findings",
"action": "warn",
@ -422,7 +371,27 @@
]
}
],
"profileFindings": [],
"profileFindings": [
{
"id": "profile.wall-p95",
"action": "warn",
"metric": "p95WallMs",
"message": "p95WallMs regressed 87.8% over baseline",
"baseline": 1273,
"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": {
"compatibility": "reports/crabpot-report.json",
"capture": "reports/crabpot-capture.json",

View File

@ -2,63 +2,58 @@
Generated: deterministic
Mode: dependabot
OpenClaw: openclaw@latest (2026.4.29, a448042c2edd)
OpenClaw: openclaw@latest (2026.5.6, c97b9f79ec43)
Status: PASS
## Counts
| Metric | Value |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Breakages | 0 |
| Warnings | 69 |
| Suggestions | 112 |
| Issues | 181 |
| P0 issues | 4 |
| P1 issues | 39 |
| Live issues | 4 |
| Live P0 issues | 4 |
| Compat gaps | 3 |
| Deprecation warnings | 28 |
| Inspector gaps | 117 |
| Upstream metadata | 29 |
| Ref diff failures | 0 |
| Ref diff warnings | 0 |
| Policy failures | 0 |
| Policy warnings | 20 |
| Profile failures | 0 |
| Profile warnings | 0 |
| Execution pass | 12 |
| Execution fail | 0 |
| Execution blocked | 18 |
| Windows portability risks | 14 |
| Container portability risks | 14 |
| Jiti loader candidates | 21 |
| Import loop | p50 1569 ms / p95 1618 ms / plugin delta RSS 2.1 MB / plugin delta CPU 68 ms / OpenClaw import 101.4 ms / activate 0.2 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 | clawmetry | sdk-export-missing | core-compat-adapter | clawmetry: plugin SDK import aliases are missing from target package exports |
| P0 | live-issue | honcho | sdk-export-missing | core-compat-adapter | honcho: 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 |
| P0 | live-issue | yuanbao | sdk-export-missing | core-compat-adapter | yuanbao: plugin SDK import aliases are missing from target package exports |
| P1 | inspector-gap | a2a-gateway | registration-capture-gap | inspector-follow-up | a2a-gateway: runtime registrations need capture before contract judgment |
| P1 | compat-gap | clawmetry | missing-compat-record | core-compat-adapter | clawmetry: compat-dependent behavior lacks registry coverage |
| P1 | inspector-gap | clawmetry | registration-capture-gap | inspector-follow-up | clawmetry: runtime registrations need capture before contract judgment |
| P1 | inspector-gap | clawrouter | registration-capture-gap | inspector-follow-up | clawrouter: runtime registrations need capture before contract judgment |
| 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 | dingtalk-connector | registration-capture-gap | inspector-follow-up | dingtalk-connector: 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 | compat-gap | honcho | missing-compat-record | core-compat-adapter | honcho: compat-dependent behavior lacks registry coverage |
| 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 | 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 | kitchen-sink | registration-capture-gap | inspector-follow-up | kitchen-sink: 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 |
| 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
@ -68,7 +63,6 @@ _none_
| Action | ID | Message | Evidence |
| ------ | ------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| warn | compatibility-report.live-p0-issues | 4 live P0 issues tracked | clawmetry:sdk-export-missing:untracked, honcho:sdk-export-missing:untracked, hyperspell:unknown-hook-name:none, yuanbao:sdk-export-missing:untracked |
| 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 |
@ -91,7 +85,10 @@ _none_
## Profile Findings
_none_
| 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

View File

@ -6,56 +6,119 @@ Generated: deterministic
| Metric | Value |
| --------------------------- | ----- |
| Fixtures | 33 |
| Entrypoints | 40 |
| Ready | 3 |
| Blocked | 37 |
| TypeScript loader required | 18 |
| Fixtures | 57 |
| Entrypoints | 103 |
| Ready | 6 |
| Blocked | 97 |
| TypeScript loader required | 24 |
| Build required | 9 |
| Dependency install required | 19 |
| SDK alias required | 5 |
| 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 |
| 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 |
| 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 | sdk-alias-required | plugins/yuanbao/.crabpot-package/index.ts | ts-loader-required, dependency-install-required, sdk-alias-required, sdk-alias-required, sdk-alias-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; 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 |
| yuanbao | setupEntry | sdk-alias-required | plugins/yuanbao/.crabpot-package/setup-entry.ts | ts-loader-required, dependency-install-required, sdk-alias-required, sdk-alias-required, sdk-alias-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; 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 |
| 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 |
| 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 |
| 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 |
| 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 |

View File

@ -1,155 +1,155 @@
{
"schemaVersion": 1,
"generatedAt": "2026-05-01T08:59:42Z",
"runUrl": "https://github.com/openclaw/crabpot/actions/runs/25208851888",
"generatedAt": "2026-05-07T09:32:17Z",
"runUrl": "https://github.com/openclaw/crabpot/actions/runs/25487512981",
"mode": "dependabot",
"openclawLabel": "openclaw@latest (2026.4.29, a448042c2edd)",
"openclawLabel": "openclaw@latest (2026.5.6, c97b9f79ec43)",
"status": "pass",
"metrics": {
"fixtures": 33,
"fixtures": 57,
"hardBreakages": 0,
"warnings": 69,
"suggestions": 112,
"issues": 181,
"p0Issues": 4,
"p1Issues": 39,
"liveIssues": 4,
"liveP0Issues": 4,
"compatGaps": 3,
"deprecationWarnings": 28,
"inspectorGaps": 117,
"upstreamIssues": 29,
"contractProbes": 175,
"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": 20,
"policyWarnings": 19,
"refDiffFailures": 0,
"profileFailures": 0,
"executionPass": 12,
"executionFail": 0,
"executionBlocked": 18,
"syntheticReady": 292,
"syntheticReady": 434,
"syntheticBlocked": 0,
"syntheticTotal": 292,
"coldReady": 3,
"coldBlocked": 37,
"coldTotal": 40,
"workspaceEntrypoints": 40,
"workspaceInstalls": 19,
"syntheticTotal": 434,
"coldReady": 6,
"coldBlocked": 97,
"coldTotal": 103,
"workspaceEntrypoints": 103,
"workspaceInstalls": 43,
"workspaceBuilds": 11,
"platformWindowsRisks": 14,
"platformContainerRisks": 14,
"loaderJitiCandidates": 21,
"importLoopP50Ms": 1569,
"importLoopP95Ms": 1618,
"loaderJitiCandidates": 25,
"importLoopP50Ms": 2421,
"importLoopP95Ms": 2471,
"importLoopOpenClawLifecycleCount": 3,
"importLoopOpenClawImportP50Ms": 101.4,
"importLoopOpenClawImportP95Ms": 102.4,
"importLoopOpenClawActivationP50Ms": 0.2,
"importLoopOpenClawActivationP95Ms": 0.3,
"importLoopOpenClawImportP50Ms": 84,
"importLoopOpenClawImportP95Ms": 88.6,
"importLoopOpenClawActivationP50Ms": 0.3,
"importLoopOpenClawActivationP95Ms": 1.2,
"importLoopMetricBasis": "baseline-adjusted",
"importLoopMaxRssMb": 2.1,
"importLoopMaxCpuMs": 68,
"importLoopRssSampleCount": 188,
"importLoopCpuSampleCount": 188,
"runtimeP50Ms": 577,
"runtimeP95Ms": 620,
"runtimeMaxRssMb": 91.7,
"runtimeRssSampleCount": 526,
"runtimeCpuSampleCount": 526,
"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-C3F02198",
"severity": "P0",
"issueClass": "live-issue",
"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-E2CB6C9A",
"severity": "P0",
"issueClass": "live-issue",
"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-D7817FEA",
"severity": "P0",
"issueClass": "live-issue",
"fixture": "hyperspell",
"code": "unknown-hook-name",
"decision": "core-compat-adapter",
"title": "hyperspell: fixture uses a hook missing from target OpenClaw"
},
{
"id": "CRABPOT-97F49BB1",
"severity": "P0",
"issueClass": "live-issue",
"fixture": "yuanbao",
"code": "sdk-export-missing",
"decision": "core-compat-adapter",
"title": "yuanbao: plugin SDK import aliases are missing from target package exports"
},
{
"id": "CRABPOT-955F01E4",
"id": "CRABPOT-66F07BB5",
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "a2a-gateway",
"code": "registration-capture-gap",
"fixture": "kitchen-sink",
"code": "before-tool-call-probe",
"decision": "inspector-follow-up",
"title": "a2a-gateway: runtime registrations need capture before contract judgment"
"title": "kitchen-sink: before_tool_call needs terminal/block/approval probes"
},
{
"id": "CRABPOT-08C6582D",
"severity": "P1",
"issueClass": "compat-gap",
"fixture": "clawmetry",
"code": "missing-compat-record",
"decision": "core-compat-adapter",
"title": "clawmetry: compat-dependent behavior lacks registry coverage"
},
{
"id": "CRABPOT-CE344535",
"id": "CRABPOT-ADFE9067",
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "clawmetry",
"code": "registration-capture-gap",
"fixture": "kitchen-sink",
"code": "conversation-access-hook",
"decision": "inspector-follow-up",
"title": "clawmetry: runtime registrations need capture before contract judgment"
"title": "kitchen-sink: conversation-access hooks need privacy-boundary probes"
},
{
"id": "CRABPOT-F69491D6",
"id": "CRABPOT-5D9C0F25",
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "clawrouter",
"code": "registration-capture-gap",
"fixture": "llm-trace-phoenix",
"code": "conversation-access-hook",
"decision": "inspector-follow-up",
"title": "clawrouter: runtime registrations need capture before contract judgment"
"title": "llm-trace-phoenix: conversation-access hooks need privacy-boundary probes"
},
{
"id": "CRABPOT-5F421FDE",
"id": "CRABPOT-0C34E538",
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "codex-app-server",
"code": "registration-capture-gap",
"fixture": "memory-lancedb",
"code": "conversation-access-hook",
"decision": "inspector-follow-up",
"title": "codex-app-server: runtime registrations need capture before contract judgment"
"title": "memory-lancedb: conversation-access hooks need privacy-boundary probes"
},
{
"id": "CRABPOT-FF26FA1F",
"id": "CRABPOT-5072796E",
"severity": "P1",
"issueClass": "inspector-gap",
"fixture": "connectclaw",
"code": "registration-capture-gap",
"fixture": "memory-tencentdb",
"code": "conversation-access-hook",
"decision": "inspector-follow-up",
"title": "connectclaw: runtime registrations need capture before contract judgment"
"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": {

View File

@ -1,28 +1,28 @@
{
"generatedAt": "2026-04-29T20:33:15.009Z",
"generatedAt": "2026-05-05T03:26:53.567Z",
"status": "pass",
"pluginRoot": ".crabpot/generated-surface-plugin",
"targetOpenClaw": {
"status": "ok",
"configuredPath": "./openclaw",
"hookNameCount": 32,
"apiRegistrarCount": 41,
"sdkExportCount": 316,
"hookNameCount": 35,
"apiRegistrarCount": 49,
"sdkExportCount": 296,
"manifestContractFieldCount": 17,
"directCallbackCount": 1
},
"summary": {
"expectedHookCount": 32,
"expectedRegistrarCount": 41,
"expectedHookCount": 35,
"expectedRegistrarCount": 49,
"expectedDirectCallbackCount": 1,
"expectedSdkExportCount": 316,
"expectedSdkExportCount": 296,
"expectedManifestContractCount": 17,
"staticHookCount": 32,
"staticRegistrarCount": 41,
"staticSdkImportCount": 316,
"staticHookCount": 35,
"staticRegistrarCount": 49,
"staticSdkImportCount": 296,
"staticManifestContractCount": 17,
"runtimeHookCount": 32,
"runtimeRegistrarCount": 41,
"runtimeHookCount": 35,
"runtimeRegistrarCount": 49,
"runtimeDirectCallbackCount": 1,
"missingStaticCount": 0,
"missingRuntimeCount": 0
@ -32,6 +32,7 @@
"after_compaction",
"after_tool_call",
"agent_end",
"agent_turn_prepare",
"before_agent_finalize",
"before_agent_reply",
"before_agent_start",
@ -43,8 +44,10 @@
"before_prompt_build",
"before_reset",
"before_tool_call",
"cron_changed",
"gateway_start",
"gateway_stop",
"heartbeat_prompt_contribution",
"inbound_claim",
"llm_input",
"llm_output",
@ -63,6 +66,7 @@
"tool_result_persist"
],
"registrars": [
"registerAgentEventSubscription",
"registerAgentHarness",
"registerAgentToolResultMiddleware",
"registerAutoEnableProbe",
@ -74,6 +78,7 @@
"registerCompactionProvider",
"registerConfigMigration",
"registerContextEngine",
"registerControlUiDescriptor",
"registerDetachedTaskRuntime",
"registerGatewayDiscoveryService",
"registerGatewayMethod",
@ -92,15 +97,21 @@
"registerMigrationProvider",
"registerMusicGenerationProvider",
"registerNodeHostCommand",
"registerNodeInvokePolicy",
"registerProvider",
"registerRealtimeTranscriptionProvider",
"registerRealtimeVoiceProvider",
"registerReload",
"registerRuntimeLifecycle",
"registerSecurityAuditCollector",
"registerService",
"registerSessionExtension",
"registerSessionSchedulerJob",
"registerSpeechProvider",
"registerTextTransforms",
"registerTool",
"registerToolMetadata",
"registerTrustedToolPolicy",
"registerVideoGenerationProvider",
"registerWebFetchProvider",
"registerWebSearchProvider"
@ -118,11 +129,13 @@
"openclaw/plugin-sdk/acp-binding-resolve-runtime",
"openclaw/plugin-sdk/acp-binding-runtime",
"openclaw/plugin-sdk/acp-runtime",
"openclaw/plugin-sdk/acp-runtime-backend",
"openclaw/plugin-sdk/agent-config-primitives",
"openclaw/plugin-sdk/agent-harness",
"openclaw/plugin-sdk/agent-harness-runtime",
"openclaw/plugin-sdk/agent-media-payload",
"openclaw/plugin-sdk/agent-runtime",
"openclaw/plugin-sdk/agent-runtime-test-contracts",
"openclaw/plugin-sdk/allow-from",
"openclaw/plugin-sdk/allowlist-config-edit",
"openclaw/plugin-sdk/approval-auth-runtime",
@ -134,20 +147,12 @@
"openclaw/plugin-sdk/approval-native-runtime",
"openclaw/plugin-sdk/approval-reply-runtime",
"openclaw/plugin-sdk/approval-runtime",
"openclaw/plugin-sdk/bluebubbles",
"openclaw/plugin-sdk/bluebubbles-policy",
"openclaw/plugin-sdk/async-lock-runtime",
"openclaw/plugin-sdk/boolean-param",
"openclaw/plugin-sdk/browser-cdp",
"openclaw/plugin-sdk/browser-config",
"openclaw/plugin-sdk/browser-config-runtime",
"openclaw/plugin-sdk/browser-config-support",
"openclaw/plugin-sdk/browser-control-auth",
"openclaw/plugin-sdk/browser-node-runtime",
"openclaw/plugin-sdk/browser-profiles",
"openclaw/plugin-sdk/browser-security-runtime",
"openclaw/plugin-sdk/browser-setup-tools",
"openclaw/plugin-sdk/browser-support",
"openclaw/plugin-sdk/bundled-channel-config-schema",
"openclaw/plugin-sdk/channel-actions",
"openclaw/plugin-sdk/channel-activity-runtime",
"openclaw/plugin-sdk/channel-config-helpers",
"openclaw/plugin-sdk/channel-config-primitives",
"openclaw/plugin-sdk/channel-config-schema",
@ -172,6 +177,7 @@
"openclaw/plugin-sdk/channel-policy",
"openclaw/plugin-sdk/channel-reply-options-runtime",
"openclaw/plugin-sdk/channel-reply-pipeline",
"openclaw/plugin-sdk/channel-route",
"openclaw/plugin-sdk/channel-runtime",
"openclaw/plugin-sdk/channel-runtime-context",
"openclaw/plugin-sdk/channel-secret-basic-runtime",
@ -181,7 +187,9 @@
"openclaw/plugin-sdk/channel-setup",
"openclaw/plugin-sdk/channel-status",
"openclaw/plugin-sdk/channel-streaming",
"openclaw/plugin-sdk/channel-target-testing",
"openclaw/plugin-sdk/channel-targets",
"openclaw/plugin-sdk/channel-test-helpers",
"openclaw/plugin-sdk/cli-backend",
"openclaw/plugin-sdk/cli-runtime",
"openclaw/plugin-sdk/collection-runtime",
@ -194,6 +202,7 @@
"openclaw/plugin-sdk/command-status-runtime",
"openclaw/plugin-sdk/command-surface",
"openclaw/plugin-sdk/compat",
"openclaw/plugin-sdk/concurrency-runtime",
"openclaw/plugin-sdk/config-mutation",
"openclaw/plugin-sdk/config-runtime",
"openclaw/plugin-sdk/config-schema",
@ -204,32 +213,27 @@
"openclaw/plugin-sdk/core",
"openclaw/plugin-sdk/cron-store-runtime",
"openclaw/plugin-sdk/dangerous-name-runtime",
"openclaw/plugin-sdk/dedupe-runtime",
"openclaw/plugin-sdk/delivery-queue-runtime",
"openclaw/plugin-sdk/device-bootstrap",
"openclaw/plugin-sdk/diagnostic-runtime",
"openclaw/plugin-sdk/diagnostics-otel",
"openclaw/plugin-sdk/diagnostics-prometheus",
"openclaw/plugin-sdk/diffs",
"openclaw/plugin-sdk/direct-dm",
"openclaw/plugin-sdk/direct-dm-access",
"openclaw/plugin-sdk/direct-dm-guard-policy",
"openclaw/plugin-sdk/directory-config-runtime",
"openclaw/plugin-sdk/directory-runtime",
"openclaw/plugin-sdk/discord",
"openclaw/plugin-sdk/document-extractor",
"openclaw/plugin-sdk/error-runtime",
"openclaw/plugin-sdk/extension-shared",
"openclaw/plugin-sdk/feishu",
"openclaw/plugin-sdk/feishu-conversation",
"openclaw/plugin-sdk/feishu-setup",
"openclaw/plugin-sdk/fetch-runtime",
"openclaw/plugin-sdk/file-access-runtime",
"openclaw/plugin-sdk/file-lock",
"openclaw/plugin-sdk/gateway-runtime",
"openclaw/plugin-sdk/github-copilot-login",
"openclaw/plugin-sdk/github-copilot-token",
"openclaw/plugin-sdk/global-singleton",
"openclaw/plugin-sdk/googlechat",
"openclaw/plugin-sdk/googlechat-runtime-shared",
"openclaw/plugin-sdk/group-access",
"openclaw/plugin-sdk/group-activation",
"openclaw/plugin-sdk/heartbeat-runtime",
"openclaw/plugin-sdk/hook-runtime",
"openclaw/plugin-sdk/host-runtime",
"openclaw/plugin-sdk/image-generation",
@ -239,29 +243,15 @@
"openclaw/plugin-sdk/inbound-reply-dispatch",
"openclaw/plugin-sdk/infra-runtime",
"openclaw/plugin-sdk/interactive-runtime",
"openclaw/plugin-sdk/irc",
"openclaw/plugin-sdk/irc-surface",
"openclaw/plugin-sdk/json-store",
"openclaw/plugin-sdk/keyed-async-queue",
"openclaw/plugin-sdk/lazy-runtime",
"openclaw/plugin-sdk/line",
"openclaw/plugin-sdk/line-core",
"openclaw/plugin-sdk/line-runtime",
"openclaw/plugin-sdk/line-surface",
"openclaw/plugin-sdk/llm-task",
"openclaw/plugin-sdk/lmstudio",
"openclaw/plugin-sdk/lmstudio-runtime",
"openclaw/plugin-sdk/logging-core",
"openclaw/plugin-sdk/markdown-table-runtime",
"openclaw/plugin-sdk/matrix",
"openclaw/plugin-sdk/matrix-helper",
"openclaw/plugin-sdk/matrix-runtime-heavy",
"openclaw/plugin-sdk/matrix-runtime-shared",
"openclaw/plugin-sdk/matrix-runtime-surface",
"openclaw/plugin-sdk/matrix-surface",
"openclaw/plugin-sdk/matrix-thread-bindings",
"openclaw/plugin-sdk/mattermost",
"openclaw/plugin-sdk/mattermost-policy",
"openclaw/plugin-sdk/media-generation-runtime",
"openclaw/plugin-sdk/media-generation-runtime-shared",
"openclaw/plugin-sdk/media-mime",
@ -269,7 +259,6 @@
"openclaw/plugin-sdk/media-store",
"openclaw/plugin-sdk/media-understanding",
"openclaw/plugin-sdk/media-understanding-runtime",
"openclaw/plugin-sdk/memory-core",
"openclaw/plugin-sdk/memory-core-engine-runtime",
"openclaw/plugin-sdk/memory-core-host-engine-embeddings",
"openclaw/plugin-sdk/memory-core-host-engine-foundation",
@ -289,20 +278,16 @@
"openclaw/plugin-sdk/memory-host-markdown",
"openclaw/plugin-sdk/memory-host-search",
"openclaw/plugin-sdk/memory-host-status",
"openclaw/plugin-sdk/memory-lancedb",
"openclaw/plugin-sdk/messaging-targets",
"openclaw/plugin-sdk/migration",
"openclaw/plugin-sdk/migration-runtime",
"openclaw/plugin-sdk/model-session-runtime",
"openclaw/plugin-sdk/models-provider-runtime",
"openclaw/plugin-sdk/msteams",
"openclaw/plugin-sdk/music-generation",
"openclaw/plugin-sdk/music-generation-core",
"openclaw/plugin-sdk/native-command-config-runtime",
"openclaw/plugin-sdk/native-command-registry",
"openclaw/plugin-sdk/nextcloud-talk",
"openclaw/plugin-sdk/nostr",
"openclaw/plugin-sdk/opencode",
"openclaw/plugin-sdk/number-runtime",
"openclaw/plugin-sdk/outbound-media",
"openclaw/plugin-sdk/outbound-runtime",
"openclaw/plugin-sdk/outbound-send-deps",
@ -311,6 +296,9 @@
"openclaw/plugin-sdk/plugin-config-runtime",
"openclaw/plugin-sdk/plugin-entry",
"openclaw/plugin-sdk/plugin-runtime",
"openclaw/plugin-sdk/plugin-test-api",
"openclaw/plugin-sdk/plugin-test-contracts",
"openclaw/plugin-sdk/plugin-test-runtime",
"openclaw/plugin-sdk/poll-runtime",
"openclaw/plugin-sdk/process-runtime",
"openclaw/plugin-sdk/provider-auth",
@ -318,10 +306,12 @@
"openclaw/plugin-sdk/provider-auth-login",
"openclaw/plugin-sdk/provider-auth-result",
"openclaw/plugin-sdk/provider-auth-runtime",
"openclaw/plugin-sdk/provider-catalog-runtime",
"openclaw/plugin-sdk/provider-catalog-shared",
"openclaw/plugin-sdk/provider-entry",
"openclaw/plugin-sdk/provider-env-vars",
"openclaw/plugin-sdk/provider-http",
"openclaw/plugin-sdk/provider-http-test-mocks",
"openclaw/plugin-sdk/provider-model-shared",
"openclaw/plugin-sdk/provider-model-types",
"openclaw/plugin-sdk/provider-onboard",
@ -330,6 +320,7 @@
"openclaw/plugin-sdk/provider-stream",
"openclaw/plugin-sdk/provider-stream-family",
"openclaw/plugin-sdk/provider-stream-shared",
"openclaw/plugin-sdk/provider-test-contracts",
"openclaw/plugin-sdk/provider-tools",
"openclaw/plugin-sdk/provider-transport-runtime",
"openclaw/plugin-sdk/provider-usage",
@ -369,6 +360,7 @@
"openclaw/plugin-sdk/secret-input",
"openclaw/plugin-sdk/secret-input-runtime",
"openclaw/plugin-sdk/secret-ref-runtime",
"openclaw/plugin-sdk/secure-random-runtime",
"openclaw/plugin-sdk/security-runtime",
"openclaw/plugin-sdk/self-hosted-provider-setup",
"openclaw/plugin-sdk/session-binding-runtime",
@ -392,28 +384,29 @@
"openclaw/plugin-sdk/status-helpers",
"openclaw/plugin-sdk/string-coerce-runtime",
"openclaw/plugin-sdk/string-normalization-runtime",
"openclaw/plugin-sdk/system-event-runtime",
"openclaw/plugin-sdk/talk-config-runtime",
"openclaw/plugin-sdk/target-resolver-runtime",
"openclaw/plugin-sdk/telegram-account",
"openclaw/plugin-sdk/telegram-command-config",
"openclaw/plugin-sdk/telegram-command-ui",
"openclaw/plugin-sdk/temp-path",
"openclaw/plugin-sdk/test-env",
"openclaw/plugin-sdk/test-fixtures",
"openclaw/plugin-sdk/test-node-mocks",
"openclaw/plugin-sdk/testing",
"openclaw/plugin-sdk/text-autolink-runtime",
"openclaw/plugin-sdk/text-chunking",
"openclaw/plugin-sdk/text-runtime",
"openclaw/plugin-sdk/thread-bindings-runtime",
"openclaw/plugin-sdk/thread-bindings-session-runtime",
"openclaw/plugin-sdk/thread-ownership",
"openclaw/plugin-sdk/tlon",
"openclaw/plugin-sdk/time-runtime",
"openclaw/plugin-sdk/tool-payload",
"openclaw/plugin-sdk/tool-send",
"openclaw/plugin-sdk/transport-ready-runtime",
"openclaw/plugin-sdk/tts-runtime",
"openclaw/plugin-sdk/twitch",
"openclaw/plugin-sdk/video-generation",
"openclaw/plugin-sdk/video-generation-core",
"openclaw/plugin-sdk/video-generation-runtime",
"openclaw/plugin-sdk/voice-call",
"openclaw/plugin-sdk/volc-model-catalog-shared",
"openclaw/plugin-sdk/web-content-extractor",
"openclaw/plugin-sdk/web-media",
"openclaw/plugin-sdk/webhook-ingress",
@ -421,8 +414,6 @@
"openclaw/plugin-sdk/webhook-request-guards",
"openclaw/plugin-sdk/webhook-targets",
"openclaw/plugin-sdk/windows-spawn",
"openclaw/plugin-sdk/zalo",
"openclaw/plugin-sdk/zalo-setup",
"openclaw/plugin-sdk/zalouser",
"openclaw/plugin-sdk/zod"
],
@ -452,6 +443,7 @@
"after_compaction",
"after_tool_call",
"agent_end",
"agent_turn_prepare",
"before_agent_finalize",
"before_agent_reply",
"before_agent_start",
@ -463,8 +455,10 @@
"before_prompt_build",
"before_reset",
"before_tool_call",
"cron_changed",
"gateway_start",
"gateway_stop",
"heartbeat_prompt_contribution",
"inbound_claim",
"llm_input",
"llm_output",
@ -483,6 +477,7 @@
"tool_result_persist"
],
"registrars": [
"registerAgentEventSubscription",
"registerAgentHarness",
"registerAgentToolResultMiddleware",
"registerAutoEnableProbe",
@ -494,6 +489,7 @@
"registerCompactionProvider",
"registerConfigMigration",
"registerContextEngine",
"registerControlUiDescriptor",
"registerDetachedTaskRuntime",
"registerGatewayDiscoveryService",
"registerGatewayMethod",
@ -512,15 +508,21 @@
"registerMigrationProvider",
"registerMusicGenerationProvider",
"registerNodeHostCommand",
"registerNodeInvokePolicy",
"registerProvider",
"registerRealtimeTranscriptionProvider",
"registerRealtimeVoiceProvider",
"registerReload",
"registerRuntimeLifecycle",
"registerSecurityAuditCollector",
"registerService",
"registerSessionExtension",
"registerSessionSchedulerJob",
"registerSpeechProvider",
"registerTextTransforms",
"registerTool",
"registerToolMetadata",
"registerTrustedToolPolicy",
"registerVideoGenerationProvider",
"registerWebFetchProvider",
"registerWebSearchProvider"
@ -535,11 +537,13 @@
"openclaw/plugin-sdk/acp-binding-resolve-runtime",
"openclaw/plugin-sdk/acp-binding-runtime",
"openclaw/plugin-sdk/acp-runtime",
"openclaw/plugin-sdk/acp-runtime-backend",
"openclaw/plugin-sdk/agent-config-primitives",
"openclaw/plugin-sdk/agent-harness",
"openclaw/plugin-sdk/agent-harness-runtime",
"openclaw/plugin-sdk/agent-media-payload",
"openclaw/plugin-sdk/agent-runtime",
"openclaw/plugin-sdk/agent-runtime-test-contracts",
"openclaw/plugin-sdk/allow-from",
"openclaw/plugin-sdk/allowlist-config-edit",
"openclaw/plugin-sdk/approval-auth-runtime",
@ -551,20 +555,12 @@
"openclaw/plugin-sdk/approval-native-runtime",
"openclaw/plugin-sdk/approval-reply-runtime",
"openclaw/plugin-sdk/approval-runtime",
"openclaw/plugin-sdk/bluebubbles",
"openclaw/plugin-sdk/bluebubbles-policy",
"openclaw/plugin-sdk/async-lock-runtime",
"openclaw/plugin-sdk/boolean-param",
"openclaw/plugin-sdk/browser-cdp",
"openclaw/plugin-sdk/browser-config",
"openclaw/plugin-sdk/browser-config-runtime",
"openclaw/plugin-sdk/browser-config-support",
"openclaw/plugin-sdk/browser-control-auth",
"openclaw/plugin-sdk/browser-node-runtime",
"openclaw/plugin-sdk/browser-profiles",
"openclaw/plugin-sdk/browser-security-runtime",
"openclaw/plugin-sdk/browser-setup-tools",
"openclaw/plugin-sdk/browser-support",
"openclaw/plugin-sdk/bundled-channel-config-schema",
"openclaw/plugin-sdk/channel-actions",
"openclaw/plugin-sdk/channel-activity-runtime",
"openclaw/plugin-sdk/channel-config-helpers",
"openclaw/plugin-sdk/channel-config-primitives",
"openclaw/plugin-sdk/channel-config-schema",
@ -589,6 +585,7 @@
"openclaw/plugin-sdk/channel-policy",
"openclaw/plugin-sdk/channel-reply-options-runtime",
"openclaw/plugin-sdk/channel-reply-pipeline",
"openclaw/plugin-sdk/channel-route",
"openclaw/plugin-sdk/channel-runtime",
"openclaw/plugin-sdk/channel-runtime-context",
"openclaw/plugin-sdk/channel-secret-basic-runtime",
@ -598,7 +595,9 @@
"openclaw/plugin-sdk/channel-setup",
"openclaw/plugin-sdk/channel-status",
"openclaw/plugin-sdk/channel-streaming",
"openclaw/plugin-sdk/channel-target-testing",
"openclaw/plugin-sdk/channel-targets",
"openclaw/plugin-sdk/channel-test-helpers",
"openclaw/plugin-sdk/cli-backend",
"openclaw/plugin-sdk/cli-runtime",
"openclaw/plugin-sdk/collection-runtime",
@ -611,6 +610,7 @@
"openclaw/plugin-sdk/command-status-runtime",
"openclaw/plugin-sdk/command-surface",
"openclaw/plugin-sdk/compat",
"openclaw/plugin-sdk/concurrency-runtime",
"openclaw/plugin-sdk/config-mutation",
"openclaw/plugin-sdk/config-runtime",
"openclaw/plugin-sdk/config-schema",
@ -621,32 +621,27 @@
"openclaw/plugin-sdk/core",
"openclaw/plugin-sdk/cron-store-runtime",
"openclaw/plugin-sdk/dangerous-name-runtime",
"openclaw/plugin-sdk/dedupe-runtime",
"openclaw/plugin-sdk/delivery-queue-runtime",
"openclaw/plugin-sdk/device-bootstrap",
"openclaw/plugin-sdk/diagnostic-runtime",
"openclaw/plugin-sdk/diagnostics-otel",
"openclaw/plugin-sdk/diagnostics-prometheus",
"openclaw/plugin-sdk/diffs",
"openclaw/plugin-sdk/direct-dm",
"openclaw/plugin-sdk/direct-dm-access",
"openclaw/plugin-sdk/direct-dm-guard-policy",
"openclaw/plugin-sdk/directory-config-runtime",
"openclaw/plugin-sdk/directory-runtime",
"openclaw/plugin-sdk/discord",
"openclaw/plugin-sdk/document-extractor",
"openclaw/plugin-sdk/error-runtime",
"openclaw/plugin-sdk/extension-shared",
"openclaw/plugin-sdk/feishu",
"openclaw/plugin-sdk/feishu-conversation",
"openclaw/plugin-sdk/feishu-setup",
"openclaw/plugin-sdk/fetch-runtime",
"openclaw/plugin-sdk/file-access-runtime",
"openclaw/plugin-sdk/file-lock",
"openclaw/plugin-sdk/gateway-runtime",
"openclaw/plugin-sdk/github-copilot-login",
"openclaw/plugin-sdk/github-copilot-token",
"openclaw/plugin-sdk/global-singleton",
"openclaw/plugin-sdk/googlechat",
"openclaw/plugin-sdk/googlechat-runtime-shared",
"openclaw/plugin-sdk/group-access",
"openclaw/plugin-sdk/group-activation",
"openclaw/plugin-sdk/heartbeat-runtime",
"openclaw/plugin-sdk/hook-runtime",
"openclaw/plugin-sdk/host-runtime",
"openclaw/plugin-sdk/image-generation",
@ -656,29 +651,15 @@
"openclaw/plugin-sdk/inbound-reply-dispatch",
"openclaw/plugin-sdk/infra-runtime",
"openclaw/plugin-sdk/interactive-runtime",
"openclaw/plugin-sdk/irc",
"openclaw/plugin-sdk/irc-surface",
"openclaw/plugin-sdk/json-store",
"openclaw/plugin-sdk/keyed-async-queue",
"openclaw/plugin-sdk/lazy-runtime",
"openclaw/plugin-sdk/line",
"openclaw/plugin-sdk/line-core",
"openclaw/plugin-sdk/line-runtime",
"openclaw/plugin-sdk/line-surface",
"openclaw/plugin-sdk/llm-task",
"openclaw/plugin-sdk/lmstudio",
"openclaw/plugin-sdk/lmstudio-runtime",
"openclaw/plugin-sdk/logging-core",
"openclaw/plugin-sdk/markdown-table-runtime",
"openclaw/plugin-sdk/matrix",
"openclaw/plugin-sdk/matrix-helper",
"openclaw/plugin-sdk/matrix-runtime-heavy",
"openclaw/plugin-sdk/matrix-runtime-shared",
"openclaw/plugin-sdk/matrix-runtime-surface",
"openclaw/plugin-sdk/matrix-surface",
"openclaw/plugin-sdk/matrix-thread-bindings",
"openclaw/plugin-sdk/mattermost",
"openclaw/plugin-sdk/mattermost-policy",
"openclaw/plugin-sdk/media-generation-runtime",
"openclaw/plugin-sdk/media-generation-runtime-shared",
"openclaw/plugin-sdk/media-mime",
@ -686,7 +667,6 @@
"openclaw/plugin-sdk/media-store",
"openclaw/plugin-sdk/media-understanding",
"openclaw/plugin-sdk/media-understanding-runtime",
"openclaw/plugin-sdk/memory-core",
"openclaw/plugin-sdk/memory-core-engine-runtime",
"openclaw/plugin-sdk/memory-core-host-engine-embeddings",
"openclaw/plugin-sdk/memory-core-host-engine-foundation",
@ -706,20 +686,16 @@
"openclaw/plugin-sdk/memory-host-markdown",
"openclaw/plugin-sdk/memory-host-search",
"openclaw/plugin-sdk/memory-host-status",
"openclaw/plugin-sdk/memory-lancedb",
"openclaw/plugin-sdk/messaging-targets",
"openclaw/plugin-sdk/migration",
"openclaw/plugin-sdk/migration-runtime",
"openclaw/plugin-sdk/model-session-runtime",
"openclaw/plugin-sdk/models-provider-runtime",
"openclaw/plugin-sdk/msteams",
"openclaw/plugin-sdk/music-generation",
"openclaw/plugin-sdk/music-generation-core",
"openclaw/plugin-sdk/native-command-config-runtime",
"openclaw/plugin-sdk/native-command-registry",
"openclaw/plugin-sdk/nextcloud-talk",
"openclaw/plugin-sdk/nostr",
"openclaw/plugin-sdk/opencode",
"openclaw/plugin-sdk/number-runtime",
"openclaw/plugin-sdk/outbound-media",
"openclaw/plugin-sdk/outbound-runtime",
"openclaw/plugin-sdk/outbound-send-deps",
@ -728,6 +704,9 @@
"openclaw/plugin-sdk/plugin-config-runtime",
"openclaw/plugin-sdk/plugin-entry",
"openclaw/plugin-sdk/plugin-runtime",
"openclaw/plugin-sdk/plugin-test-api",
"openclaw/plugin-sdk/plugin-test-contracts",
"openclaw/plugin-sdk/plugin-test-runtime",
"openclaw/plugin-sdk/poll-runtime",
"openclaw/plugin-sdk/process-runtime",
"openclaw/plugin-sdk/provider-auth",
@ -735,10 +714,12 @@
"openclaw/plugin-sdk/provider-auth-login",
"openclaw/plugin-sdk/provider-auth-result",
"openclaw/plugin-sdk/provider-auth-runtime",
"openclaw/plugin-sdk/provider-catalog-runtime",
"openclaw/plugin-sdk/provider-catalog-shared",
"openclaw/plugin-sdk/provider-entry",
"openclaw/plugin-sdk/provider-env-vars",
"openclaw/plugin-sdk/provider-http",
"openclaw/plugin-sdk/provider-http-test-mocks",
"openclaw/plugin-sdk/provider-model-shared",
"openclaw/plugin-sdk/provider-model-types",
"openclaw/plugin-sdk/provider-onboard",
@ -747,6 +728,7 @@
"openclaw/plugin-sdk/provider-stream",
"openclaw/plugin-sdk/provider-stream-family",
"openclaw/plugin-sdk/provider-stream-shared",
"openclaw/plugin-sdk/provider-test-contracts",
"openclaw/plugin-sdk/provider-tools",
"openclaw/plugin-sdk/provider-transport-runtime",
"openclaw/plugin-sdk/provider-usage",
@ -786,6 +768,7 @@
"openclaw/plugin-sdk/secret-input",
"openclaw/plugin-sdk/secret-input-runtime",
"openclaw/plugin-sdk/secret-ref-runtime",
"openclaw/plugin-sdk/secure-random-runtime",
"openclaw/plugin-sdk/security-runtime",
"openclaw/plugin-sdk/self-hosted-provider-setup",
"openclaw/plugin-sdk/session-binding-runtime",
@ -809,28 +792,29 @@
"openclaw/plugin-sdk/status-helpers",
"openclaw/plugin-sdk/string-coerce-runtime",
"openclaw/plugin-sdk/string-normalization-runtime",
"openclaw/plugin-sdk/system-event-runtime",
"openclaw/plugin-sdk/talk-config-runtime",
"openclaw/plugin-sdk/target-resolver-runtime",
"openclaw/plugin-sdk/telegram-account",
"openclaw/plugin-sdk/telegram-command-config",
"openclaw/plugin-sdk/telegram-command-ui",
"openclaw/plugin-sdk/temp-path",
"openclaw/plugin-sdk/test-env",
"openclaw/plugin-sdk/test-fixtures",
"openclaw/plugin-sdk/test-node-mocks",
"openclaw/plugin-sdk/testing",
"openclaw/plugin-sdk/text-autolink-runtime",
"openclaw/plugin-sdk/text-chunking",
"openclaw/plugin-sdk/text-runtime",
"openclaw/plugin-sdk/thread-bindings-runtime",
"openclaw/plugin-sdk/thread-bindings-session-runtime",
"openclaw/plugin-sdk/thread-ownership",
"openclaw/plugin-sdk/tlon",
"openclaw/plugin-sdk/time-runtime",
"openclaw/plugin-sdk/tool-payload",
"openclaw/plugin-sdk/tool-send",
"openclaw/plugin-sdk/transport-ready-runtime",
"openclaw/plugin-sdk/tts-runtime",
"openclaw/plugin-sdk/twitch",
"openclaw/plugin-sdk/video-generation",
"openclaw/plugin-sdk/video-generation-core",
"openclaw/plugin-sdk/video-generation-runtime",
"openclaw/plugin-sdk/voice-call",
"openclaw/plugin-sdk/volc-model-catalog-shared",
"openclaw/plugin-sdk/web-content-extractor",
"openclaw/plugin-sdk/web-media",
"openclaw/plugin-sdk/webhook-ingress",
@ -838,8 +822,6 @@
"openclaw/plugin-sdk/webhook-request-guards",
"openclaw/plugin-sdk/webhook-targets",
"openclaw/plugin-sdk/windows-spawn",
"openclaw/plugin-sdk/zalo",
"openclaw/plugin-sdk/zalo-setup",
"openclaw/plugin-sdk/zalouser",
"openclaw/plugin-sdk/zod"
],
@ -853,11 +835,13 @@
"openclaw/plugin-sdk/acp-binding-resolve-runtime",
"openclaw/plugin-sdk/acp-binding-runtime",
"openclaw/plugin-sdk/acp-runtime",
"openclaw/plugin-sdk/acp-runtime-backend",
"openclaw/plugin-sdk/agent-config-primitives",
"openclaw/plugin-sdk/agent-harness",
"openclaw/plugin-sdk/agent-harness-runtime",
"openclaw/plugin-sdk/agent-media-payload",
"openclaw/plugin-sdk/agent-runtime",
"openclaw/plugin-sdk/agent-runtime-test-contracts",
"openclaw/plugin-sdk/allow-from",
"openclaw/plugin-sdk/allowlist-config-edit",
"openclaw/plugin-sdk/approval-auth-runtime",
@ -869,20 +853,12 @@
"openclaw/plugin-sdk/approval-native-runtime",
"openclaw/plugin-sdk/approval-reply-runtime",
"openclaw/plugin-sdk/approval-runtime",
"openclaw/plugin-sdk/bluebubbles",
"openclaw/plugin-sdk/bluebubbles-policy",
"openclaw/plugin-sdk/async-lock-runtime",
"openclaw/plugin-sdk/boolean-param",
"openclaw/plugin-sdk/browser-cdp",
"openclaw/plugin-sdk/browser-config",
"openclaw/plugin-sdk/browser-config-runtime",
"openclaw/plugin-sdk/browser-config-support",
"openclaw/plugin-sdk/browser-control-auth",
"openclaw/plugin-sdk/browser-node-runtime",
"openclaw/plugin-sdk/browser-profiles",
"openclaw/plugin-sdk/browser-security-runtime",
"openclaw/plugin-sdk/browser-setup-tools",
"openclaw/plugin-sdk/browser-support",
"openclaw/plugin-sdk/bundled-channel-config-schema",
"openclaw/plugin-sdk/channel-actions",
"openclaw/plugin-sdk/channel-activity-runtime",
"openclaw/plugin-sdk/channel-config-helpers",
"openclaw/plugin-sdk/channel-config-primitives",
"openclaw/plugin-sdk/channel-config-schema",
@ -907,6 +883,7 @@
"openclaw/plugin-sdk/channel-policy",
"openclaw/plugin-sdk/channel-reply-options-runtime",
"openclaw/plugin-sdk/channel-reply-pipeline",
"openclaw/plugin-sdk/channel-route",
"openclaw/plugin-sdk/channel-runtime",
"openclaw/plugin-sdk/channel-runtime-context",
"openclaw/plugin-sdk/channel-secret-basic-runtime",
@ -916,7 +893,9 @@
"openclaw/plugin-sdk/channel-setup",
"openclaw/plugin-sdk/channel-status",
"openclaw/plugin-sdk/channel-streaming",
"openclaw/plugin-sdk/channel-target-testing",
"openclaw/plugin-sdk/channel-targets",
"openclaw/plugin-sdk/channel-test-helpers",
"openclaw/plugin-sdk/cli-backend",
"openclaw/plugin-sdk/cli-runtime",
"openclaw/plugin-sdk/collection-runtime",
@ -929,6 +908,7 @@
"openclaw/plugin-sdk/command-status-runtime",
"openclaw/plugin-sdk/command-surface",
"openclaw/plugin-sdk/compat",
"openclaw/plugin-sdk/concurrency-runtime",
"openclaw/plugin-sdk/config-mutation",
"openclaw/plugin-sdk/config-runtime",
"openclaw/plugin-sdk/config-schema",
@ -939,32 +919,27 @@
"openclaw/plugin-sdk/core",
"openclaw/plugin-sdk/cron-store-runtime",
"openclaw/plugin-sdk/dangerous-name-runtime",
"openclaw/plugin-sdk/dedupe-runtime",
"openclaw/plugin-sdk/delivery-queue-runtime",
"openclaw/plugin-sdk/device-bootstrap",
"openclaw/plugin-sdk/diagnostic-runtime",
"openclaw/plugin-sdk/diagnostics-otel",
"openclaw/plugin-sdk/diagnostics-prometheus",
"openclaw/plugin-sdk/diffs",
"openclaw/plugin-sdk/direct-dm",
"openclaw/plugin-sdk/direct-dm-access",
"openclaw/plugin-sdk/direct-dm-guard-policy",
"openclaw/plugin-sdk/directory-config-runtime",
"openclaw/plugin-sdk/directory-runtime",
"openclaw/plugin-sdk/discord",
"openclaw/plugin-sdk/document-extractor",
"openclaw/plugin-sdk/error-runtime",
"openclaw/plugin-sdk/extension-shared",
"openclaw/plugin-sdk/feishu",
"openclaw/plugin-sdk/feishu-conversation",
"openclaw/plugin-sdk/feishu-setup",
"openclaw/plugin-sdk/fetch-runtime",
"openclaw/plugin-sdk/file-access-runtime",
"openclaw/plugin-sdk/file-lock",
"openclaw/plugin-sdk/gateway-runtime",
"openclaw/plugin-sdk/github-copilot-login",
"openclaw/plugin-sdk/github-copilot-token",
"openclaw/plugin-sdk/global-singleton",
"openclaw/plugin-sdk/googlechat",
"openclaw/plugin-sdk/googlechat-runtime-shared",
"openclaw/plugin-sdk/group-access",
"openclaw/plugin-sdk/group-activation",
"openclaw/plugin-sdk/heartbeat-runtime",
"openclaw/plugin-sdk/hook-runtime",
"openclaw/plugin-sdk/host-runtime",
"openclaw/plugin-sdk/image-generation",
@ -974,29 +949,15 @@
"openclaw/plugin-sdk/inbound-reply-dispatch",
"openclaw/plugin-sdk/infra-runtime",
"openclaw/plugin-sdk/interactive-runtime",
"openclaw/plugin-sdk/irc",
"openclaw/plugin-sdk/irc-surface",
"openclaw/plugin-sdk/json-store",
"openclaw/plugin-sdk/keyed-async-queue",
"openclaw/plugin-sdk/lazy-runtime",
"openclaw/plugin-sdk/line",
"openclaw/plugin-sdk/line-core",
"openclaw/plugin-sdk/line-runtime",
"openclaw/plugin-sdk/line-surface",
"openclaw/plugin-sdk/llm-task",
"openclaw/plugin-sdk/lmstudio",
"openclaw/plugin-sdk/lmstudio-runtime",
"openclaw/plugin-sdk/logging-core",
"openclaw/plugin-sdk/markdown-table-runtime",
"openclaw/plugin-sdk/matrix",
"openclaw/plugin-sdk/matrix-helper",
"openclaw/plugin-sdk/matrix-runtime-heavy",
"openclaw/plugin-sdk/matrix-runtime-shared",
"openclaw/plugin-sdk/matrix-runtime-surface",
"openclaw/plugin-sdk/matrix-surface",
"openclaw/plugin-sdk/matrix-thread-bindings",
"openclaw/plugin-sdk/mattermost",
"openclaw/plugin-sdk/mattermost-policy",
"openclaw/plugin-sdk/media-generation-runtime",
"openclaw/plugin-sdk/media-generation-runtime-shared",
"openclaw/plugin-sdk/media-mime",
@ -1004,7 +965,6 @@
"openclaw/plugin-sdk/media-store",
"openclaw/plugin-sdk/media-understanding",
"openclaw/plugin-sdk/media-understanding-runtime",
"openclaw/plugin-sdk/memory-core",
"openclaw/plugin-sdk/memory-core-engine-runtime",
"openclaw/plugin-sdk/memory-core-host-engine-embeddings",
"openclaw/plugin-sdk/memory-core-host-engine-foundation",
@ -1024,20 +984,16 @@
"openclaw/plugin-sdk/memory-host-markdown",
"openclaw/plugin-sdk/memory-host-search",
"openclaw/plugin-sdk/memory-host-status",
"openclaw/plugin-sdk/memory-lancedb",
"openclaw/plugin-sdk/messaging-targets",
"openclaw/plugin-sdk/migration",
"openclaw/plugin-sdk/migration-runtime",
"openclaw/plugin-sdk/model-session-runtime",
"openclaw/plugin-sdk/models-provider-runtime",
"openclaw/plugin-sdk/msteams",
"openclaw/plugin-sdk/music-generation",
"openclaw/plugin-sdk/music-generation-core",
"openclaw/plugin-sdk/native-command-config-runtime",
"openclaw/plugin-sdk/native-command-registry",
"openclaw/plugin-sdk/nextcloud-talk",
"openclaw/plugin-sdk/nostr",
"openclaw/plugin-sdk/opencode",
"openclaw/plugin-sdk/number-runtime",
"openclaw/plugin-sdk/outbound-media",
"openclaw/plugin-sdk/outbound-runtime",
"openclaw/plugin-sdk/outbound-send-deps",
@ -1046,6 +1002,9 @@
"openclaw/plugin-sdk/plugin-config-runtime",
"openclaw/plugin-sdk/plugin-entry",
"openclaw/plugin-sdk/plugin-runtime",
"openclaw/plugin-sdk/plugin-test-api",
"openclaw/plugin-sdk/plugin-test-contracts",
"openclaw/plugin-sdk/plugin-test-runtime",
"openclaw/plugin-sdk/poll-runtime",
"openclaw/plugin-sdk/process-runtime",
"openclaw/plugin-sdk/provider-auth",
@ -1053,10 +1012,12 @@
"openclaw/plugin-sdk/provider-auth-login",
"openclaw/plugin-sdk/provider-auth-result",
"openclaw/plugin-sdk/provider-auth-runtime",
"openclaw/plugin-sdk/provider-catalog-runtime",
"openclaw/plugin-sdk/provider-catalog-shared",
"openclaw/plugin-sdk/provider-entry",
"openclaw/plugin-sdk/provider-env-vars",
"openclaw/plugin-sdk/provider-http",
"openclaw/plugin-sdk/provider-http-test-mocks",
"openclaw/plugin-sdk/provider-model-shared",
"openclaw/plugin-sdk/provider-model-types",
"openclaw/plugin-sdk/provider-onboard",
@ -1065,6 +1026,7 @@
"openclaw/plugin-sdk/provider-stream",
"openclaw/plugin-sdk/provider-stream-family",
"openclaw/plugin-sdk/provider-stream-shared",
"openclaw/plugin-sdk/provider-test-contracts",
"openclaw/plugin-sdk/provider-tools",
"openclaw/plugin-sdk/provider-transport-runtime",
"openclaw/plugin-sdk/provider-usage",
@ -1104,6 +1066,7 @@
"openclaw/plugin-sdk/secret-input",
"openclaw/plugin-sdk/secret-input-runtime",
"openclaw/plugin-sdk/secret-ref-runtime",
"openclaw/plugin-sdk/secure-random-runtime",
"openclaw/plugin-sdk/security-runtime",
"openclaw/plugin-sdk/self-hosted-provider-setup",
"openclaw/plugin-sdk/session-binding-runtime",
@ -1127,28 +1090,29 @@
"openclaw/plugin-sdk/status-helpers",
"openclaw/plugin-sdk/string-coerce-runtime",
"openclaw/plugin-sdk/string-normalization-runtime",
"openclaw/plugin-sdk/system-event-runtime",
"openclaw/plugin-sdk/talk-config-runtime",
"openclaw/plugin-sdk/target-resolver-runtime",
"openclaw/plugin-sdk/telegram-account",
"openclaw/plugin-sdk/telegram-command-config",
"openclaw/plugin-sdk/telegram-command-ui",
"openclaw/plugin-sdk/temp-path",
"openclaw/plugin-sdk/test-env",
"openclaw/plugin-sdk/test-fixtures",
"openclaw/plugin-sdk/test-node-mocks",
"openclaw/plugin-sdk/testing",
"openclaw/plugin-sdk/text-autolink-runtime",
"openclaw/plugin-sdk/text-chunking",
"openclaw/plugin-sdk/text-runtime",
"openclaw/plugin-sdk/thread-bindings-runtime",
"openclaw/plugin-sdk/thread-bindings-session-runtime",
"openclaw/plugin-sdk/thread-ownership",
"openclaw/plugin-sdk/tlon",
"openclaw/plugin-sdk/time-runtime",
"openclaw/plugin-sdk/tool-payload",
"openclaw/plugin-sdk/tool-send",
"openclaw/plugin-sdk/transport-ready-runtime",
"openclaw/plugin-sdk/tts-runtime",
"openclaw/plugin-sdk/twitch",
"openclaw/plugin-sdk/video-generation",
"openclaw/plugin-sdk/video-generation-core",
"openclaw/plugin-sdk/video-generation-runtime",
"openclaw/plugin-sdk/voice-call",
"openclaw/plugin-sdk/volc-model-catalog-shared",
"openclaw/plugin-sdk/web-content-extractor",
"openclaw/plugin-sdk/web-media",
"openclaw/plugin-sdk/webhook-ingress",
@ -1156,8 +1120,6 @@
"openclaw/plugin-sdk/webhook-request-guards",
"openclaw/plugin-sdk/webhook-targets",
"openclaw/plugin-sdk/windows-spawn",
"openclaw/plugin-sdk/zalo",
"openclaw/plugin-sdk/zalo-setup",
"openclaw/plugin-sdk/zalouser",
"openclaw/plugin-sdk/zod"
],
@ -1186,6 +1148,7 @@
"after_compaction",
"after_tool_call",
"agent_end",
"agent_turn_prepare",
"before_agent_finalize",
"before_agent_reply",
"before_agent_start",
@ -1197,8 +1160,10 @@
"before_prompt_build",
"before_reset",
"before_tool_call",
"cron_changed",
"gateway_start",
"gateway_stop",
"heartbeat_prompt_contribution",
"inbound_claim",
"llm_input",
"llm_output",
@ -1217,6 +1182,7 @@
"tool_result_persist"
],
"registrars": [
"registerAgentEventSubscription",
"registerAgentHarness",
"registerAgentToolResultMiddleware",
"registerAutoEnableProbe",
@ -1228,6 +1194,7 @@
"registerCompactionProvider",
"registerConfigMigration",
"registerContextEngine",
"registerControlUiDescriptor",
"registerDetachedTaskRuntime",
"registerGatewayDiscoveryService",
"registerGatewayMethod",
@ -1246,15 +1213,21 @@
"registerMigrationProvider",
"registerMusicGenerationProvider",
"registerNodeHostCommand",
"registerNodeInvokePolicy",
"registerProvider",
"registerRealtimeTranscriptionProvider",
"registerRealtimeVoiceProvider",
"registerReload",
"registerRuntimeLifecycle",
"registerSecurityAuditCollector",
"registerService",
"registerSessionExtension",
"registerSessionSchedulerJob",
"registerSpeechProvider",
"registerTextTransforms",
"registerTool",
"registerToolMetadata",
"registerTrustedToolPolicy",
"registerVideoGenerationProvider",
"registerWebFetchProvider",
"registerWebSearchProvider"
@ -1279,14 +1252,14 @@
},
"inspector": {
"static": {
"command": "npm exec --yes --package @openclaw/plugin-inspector@0.3.4 -- plugin-inspector check --config plugin-inspector.config.json --no-openclaw --out reports --no-runtime",
"command": "npm exec --yes --package @openclaw/plugin-inspector@0.3.10 -- plugin-inspector check --config plugin-inspector.config.json --no-openclaw --out reports --no-runtime",
"status": 0,
"stdout": "Status: PASS\nFixtures: 1\nBreakages: 0\nIssues: 6\nLogs: 4\n\nReports:\n- json: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-report.json\n- markdown: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-report.md\n- issues: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-issues.md\n",
"stderr": "",
"failures": []
},
"runtime": {
"command": "npm exec --yes --package @openclaw/plugin-inspector@0.3.4 -- plugin-inspector check --config plugin-inspector.config.json --no-openclaw --out reports --runtime --mock-sdk",
"command": "npm exec --yes --package @openclaw/plugin-inspector@0.3.10 -- plugin-inspector check --config plugin-inspector.config.json --no-openclaw --out reports --runtime --mock-sdk",
"status": 0,
"stdout": "Status: PASS\nFixtures: 1\nBreakages: 0\nIssues: 6\nLogs: 4\n\nReports:\n- json: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-report.json\n- markdown: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-report.md\n- issues: ./.crabpot/generated-surface-plugin/reports/plugin-inspector-issues.md\n",
"stderr": "",

View File

@ -1,23 +1,23 @@
# Crabpot Generated Surface Fixture
Generated: 2026-04-29T20:33:15.009Z
Generated: 2026-05-05T03:26:53.567Z
Status: PASS
## Summary
| Metric | Value |
| --------------------------- | ----- |
| Expected hooks | 32 |
| Expected registrars | 41 |
| Expected hooks | 35 |
| Expected registrars | 49 |
| Expected direct callbacks | 1 |
| Expected SDK exports | 316 |
| Expected SDK exports | 296 |
| Expected manifest contracts | 17 |
| Static hooks | 32 |
| Static registrars | 41 |
| Static SDK imports | 316 |
| Static hooks | 35 |
| Static registrars | 49 |
| Static SDK imports | 296 |
| Static manifest contracts | 17 |
| Runtime hooks | 32 |
| Runtime registrars | 41 |
| Runtime hooks | 35 |
| Runtime registrars | 49 |
| Runtime direct callbacks | 1 |
| Missing static surface | 0 |
| Missing runtime surface | 0 |

View File

@ -7,18 +7,18 @@
"runs": 3,
"entrypoint": ".crabpot/import-loop/baseline-plugin.mjs",
"reference": {
"wallMs": 1600,
"peakRssMb": 278.9,
"cpuMsEstimate": 2891
"wallMs": 2442,
"peakRssMb": 334.6,
"cpuMsEstimate": 4745
},
"max": {
"wallMs": 2125,
"peakRssMb": 294.2,
"cpuMsEstimate": 3617
"wallMs": 2958,
"peakRssMb": 347.9,
"cpuMsEstimate": 5384
},
"statSampleCount": 208,
"rssSampleCount": 208,
"cpuSampleCount": 208,
"statSampleCount": 306,
"rssSampleCount": 306,
"cpuSampleCount": 306,
"failCount": 0,
"samples": [
{
@ -31,31 +31,31 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 99.4,
"activationMs": 0.2,
"importMs": 84.8,
"activationMs": 0.3,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 99.4,
"source": "/tmp/crabpot-openclaw-plugin-XcZWjx/index.mjs"
"elapsedMs": 84.8,
"source": "/tmp/crabpot-openclaw-plugin-g9AntI/index.mjs"
},
{
"phase": "full:register",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 0.2,
"source": "/tmp/crabpot-openclaw-plugin-XcZWjx/index.mjs"
"elapsedMs": 0.3,
"source": "/tmp/crabpot-openclaw-plugin-g9AntI/index.mjs"
}
]
},
"wallMs": 2125,
"peakRssMb": 294.2,
"peakCpuPercent": 189,
"cpuMsEstimate": 3617,
"statSampleCount": 83,
"rssSampleCount": 83,
"cpuSampleCount": 83,
"wallMs": 2958,
"peakRssMb": 334.6,
"peakCpuPercent": 201,
"cpuMsEstimate": 5384,
"statSampleCount": 116,
"rssSampleCount": 116,
"cpuSampleCount": 116,
"stderrPreview": ""
},
{
@ -68,31 +68,31 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 99.8,
"importMs": 80.5,
"activationMs": 0.3,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 99.8,
"source": "/tmp/crabpot-openclaw-plugin-qrDQXJ/index.mjs"
"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-qrDQXJ/index.mjs"
"source": "/tmp/crabpot-openclaw-plugin-xTmlDT/index.mjs"
}
]
},
"wallMs": 1600,
"peakRssMb": 278.9,
"peakCpuPercent": 205,
"cpuMsEstimate": 2891,
"statSampleCount": 63,
"rssSampleCount": 63,
"cpuSampleCount": 63,
"wallMs": 2384,
"peakRssMb": 323.7,
"peakCpuPercent": 223,
"cpuMsEstimate": 4656,
"statSampleCount": 94,
"rssSampleCount": 94,
"cpuSampleCount": 94,
"stderrPreview": ""
},
{
@ -105,31 +105,31 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 100.2,
"activationMs": 0.2,
"importMs": 93,
"activationMs": 0.4,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 100.2,
"source": "/tmp/crabpot-openclaw-plugin-uYG650/index.mjs"
"elapsedMs": 93,
"source": "/tmp/crabpot-openclaw-plugin-AFW5fW/index.mjs"
},
{
"phase": "full:register",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 0.2,
"source": "/tmp/crabpot-openclaw-plugin-uYG650/index.mjs"
"elapsedMs": 0.4,
"source": "/tmp/crabpot-openclaw-plugin-AFW5fW/index.mjs"
}
]
},
"wallMs": 1572,
"peakRssMb": 278.4,
"peakCpuPercent": 203,
"cpuMsEstimate": 2832,
"statSampleCount": 62,
"rssSampleCount": 62,
"cpuSampleCount": 62,
"wallMs": 2442,
"peakRssMb": 347.9,
"peakCpuPercent": 223,
"cpuMsEstimate": 4745,
"statSampleCount": 96,
"rssSampleCount": 96,
"cpuSampleCount": 96,
"stderrPreview": ""
}
]
@ -138,25 +138,25 @@
"runs": 3,
"baselineRuns": 3,
"baselineFailCount": 0,
"p50WallMs": 1569,
"p95WallMs": 1618,
"p50WallMs": 2421,
"p95WallMs": 2471,
"p50PluginWallDeltaMs": 0,
"p95PluginWallDeltaMs": 18,
"p95PluginWallDeltaMs": 29,
"openClawLifecycleCount": 3,
"p50OpenClawImportMs": 101.4,
"p95OpenClawImportMs": 102.4,
"p50OpenClawActivationMs": 0.2,
"p95OpenClawActivationMs": 0.3,
"maxPeakRssMb": 281,
"maxCpuMsEstimate": 2959,
"maxPluginPeakRssDeltaMb": 2.1,
"maxPluginCpuDeltaMsEstimate": 68,
"baselineReferenceWallMs": 1600,
"baselineReferencePeakRssMb": 278.9,
"baselineReferenceCpuMsEstimate": 2891,
"statSampleCount": 188,
"rssSampleCount": 188,
"cpuSampleCount": 188,
"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
},
@ -171,35 +171,35 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 102.4,
"importMs": 84,
"activationMs": 0.3,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 102.4,
"source": "/tmp/crabpot-openclaw-plugin-uVPU4U/index.mjs"
"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-uVPU4U/index.mjs"
"source": "/tmp/crabpot-openclaw-plugin-3UJxq3/index.mjs"
}
]
},
"wallMs": 1618,
"peakRssMb": 275.1,
"peakCpuPercent": 207,
"cpuMsEstimate": 2959,
"statSampleCount": 64,
"rssSampleCount": 64,
"cpuSampleCount": 64,
"wallMs": 2471,
"peakRssMb": 342.6,
"peakCpuPercent": 220,
"cpuMsEstimate": 4780,
"statSampleCount": 97,
"rssSampleCount": 97,
"cpuSampleCount": 97,
"stderrPreview": "",
"pluginWallDeltaMs": 18,
"pluginPeakRssDeltaMb": 0,
"pluginCpuDeltaMsEstimate": 68
"pluginWallDeltaMs": 29,
"pluginPeakRssDeltaMb": 8,
"pluginCpuDeltaMsEstimate": 35
},
{
"index": 1,
@ -211,31 +211,31 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 97.2,
"activationMs": 0.2,
"importMs": 81.8,
"activationMs": 0.3,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 97.2,
"source": "/tmp/crabpot-openclaw-plugin-sYCgKK/index.mjs"
"elapsedMs": 81.8,
"source": "/tmp/crabpot-openclaw-plugin-gwHDg0/index.mjs"
},
{
"phase": "full:register",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 0.2,
"source": "/tmp/crabpot-openclaw-plugin-sYCgKK/index.mjs"
"elapsedMs": 0.3,
"source": "/tmp/crabpot-openclaw-plugin-gwHDg0/index.mjs"
}
]
},
"wallMs": 1569,
"peakRssMb": 278,
"peakCpuPercent": 207,
"cpuMsEstimate": 2838,
"statSampleCount": 62,
"rssSampleCount": 62,
"cpuSampleCount": 62,
"wallMs": 2421,
"peakRssMb": 333.8,
"peakCpuPercent": 225,
"cpuMsEstimate": 4743,
"statSampleCount": 96,
"rssSampleCount": 96,
"cpuSampleCount": 96,
"stderrPreview": "",
"pluginWallDeltaMs": 0,
"pluginPeakRssDeltaMb": 0,
@ -251,34 +251,34 @@
"pluginId": "crabpot-lifecycle-probe",
"importPhase": "full",
"activationPhase": "full:register",
"importMs": 101.4,
"activationMs": 0.2,
"importMs": 88.6,
"activationMs": 1.2,
"openclawPath": "/home/runner/work/crabpot/crabpot/openclaw",
"phases": [
{
"phase": "full",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 101.4,
"source": "/tmp/crabpot-openclaw-plugin-hiz1Cd/index.mjs"
"elapsedMs": 88.6,
"source": "/tmp/crabpot-openclaw-plugin-78B9Ov/index.mjs"
},
{
"phase": "full:register",
"pluginId": "crabpot-lifecycle-probe",
"elapsedMs": 0.2,
"source": "/tmp/crabpot-openclaw-plugin-hiz1Cd/index.mjs"
"elapsedMs": 1.2,
"source": "/tmp/crabpot-openclaw-plugin-78B9Ov/index.mjs"
}
]
},
"wallMs": 1564,
"peakRssMb": 281,
"peakCpuPercent": 206,
"cpuMsEstimate": 2834,
"statSampleCount": 62,
"rssSampleCount": 62,
"cpuSampleCount": 62,
"wallMs": 2392,
"peakRssMb": 347.9,
"peakCpuPercent": 220,
"cpuMsEstimate": 4639,
"statSampleCount": 94,
"rssSampleCount": 94,
"cpuSampleCount": 94,
"stderrPreview": "",
"pluginWallDeltaMs": 0,
"pluginPeakRssDeltaMb": 2.1,
"pluginPeakRssDeltaMb": 13.3,
"pluginCpuDeltaMsEstimate": 0
}
]

View File

@ -11,25 +11,25 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs
| runs | 3 |
| baselineRuns | 3 |
| baselineFailCount | 0 |
| p50WallMs | 1569 |
| p95WallMs | 1618 |
| p50WallMs | 2421 |
| p95WallMs | 2471 |
| p50PluginWallDeltaMs | 0 |
| p95PluginWallDeltaMs | 18 |
| maxPluginPeakRssDeltaMb | 2.1 MB |
| maxPluginCpuDeltaMsEstimate | 68 ms |
| p95PluginWallDeltaMs | 29 |
| maxPluginPeakRssDeltaMb | 13.3 MB |
| maxPluginCpuDeltaMsEstimate | 35 ms |
| openClawLifecycleCount | 3 |
| p50OpenClawImportMs | 101.4 ms |
| p95OpenClawImportMs | 102.4 ms |
| p50OpenClawActivationMs | 0.2 ms |
| p95OpenClawActivationMs | 0.3 ms |
| maxPeakRssMb | 281 MB |
| maxCpuMsEstimate | 2959 ms |
| baselineReferenceWallMs | 1600 ms |
| baselineReferencePeakRssMb | 278.9 MB |
| baselineReferenceCpuMsEstimate | 2891 ms |
| statSampleCount | 188 |
| rssSampleCount | 188 |
| cpuSampleCount | 188 |
| 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 |
@ -40,19 +40,19 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs
| mode | minimal-plugin-capture |
| runs | 3 |
| entrypoint | .crabpot/import-loop/baseline-plugin.mjs |
| referenceWallMs | 1600 ms |
| referencePeakRssMb | 278.9 MB |
| referenceCpuMsEstimate | 2891 ms |
| maxWallMs | 2125 ms |
| maxPeakRssMb | 294.2 MB |
| maxCpuMsEstimate | 3617 ms |
| statSampleCount | 208 |
| 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 | 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 | 102.4 ms | 0.3 ms | 18 ms | 0 MB | 68 ms | 1618 ms | 275.1 MB | 2959 ms | 64/64 | 0 |
| 1 | captured | 2 | 97.2 ms | 0.2 ms | 0 ms | 0 MB | 0 ms | 1569 ms | 278 MB | 2838 ms | 62/62 | 0 |
| 2 | captured | 2 | 101.4 ms | 0.2 ms | 0 ms | 2.1 MB | 0 ms | 1564 ms | 281 MB | 2834 ms | 62/62 | 0 |
| 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

View File

@ -0,0 +1,11 @@
{
"generatedAt": "2026-05-07T09:32:55.109Z",
"fixtureSet": "all",
"pluginTrack": "manifest",
"summary": {
"failureCount": 0,
"openclawFailureCount": 0,
"fallbackCount": 0
},
"failures": []
}

File diff suppressed because it is too large Load Diff

View File

@ -8,13 +8,13 @@ Targets: linux, macos, windows, container
| Metric | Value |
| ------------------------------ | ----- |
| fixtureCount | 33 |
| entrypointCount | 40 |
| tsLoaderEntrypointCount | 21 |
| jitiAlternativeCount | 21 |
| lazyImportProbeCount | 40 |
| portabilityFindingCount | 56 |
| coveredPortabilityFindingCount | 179 |
| fixtureCount | 57 |
| entrypointCount | 103 |
| tsLoaderEntrypointCount | 25 |
| jitiAlternativeCount | 25 |
| lazyImportProbeCount | 103 |
| portabilityFindingCount | 14 |
| coveredPortabilityFindingCount | 455 |
| windowsRiskStepCount | 14 |
| macosRiskStepCount | 14 |
| linuxRiskStepCount | 14 |
@ -22,296 +22,593 @@ Targets: linux, macos, windows, container
## Loader Probes
| Fixture | Status | Primary | Alternatives | Capture TSX | Synthetic TSX | Entrypoint |
| ------------------ | --------------------------- | ------- | ------------ | ----------- | ------------- | ------------------------------------------------------------------- |
| agentchat | build-required | node | - | no | no | plugins/agentchat/integrations/openclaw-channel/dist/index.js |
| agentchat | build-required | node | - | no | no | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js |
| wecom | dependency-install-required | node | - | no | no | plugins/wecom/index.js |
| qqbot | dependency-install-required | node | - | no | no | plugins/qqbot/preload.cjs |
| a2a-gateway | ts-loader-required | tsx | jiti | yes | yes | plugins/a2a-gateway/index.ts |
| hasdata | ts-loader-required | tsx | jiti | yes | yes | plugins/hasdata/src/index.ts |
| mcp-adapter | ts-loader-required | tsx | jiti | yes | yes | plugins/mcp-adapter/index.ts |
| llm-trace-phoenix | ts-loader-required | tsx | jiti | yes | yes | plugins/llm-trace-phoenix/index.ts |
| opik-openclaw | ts-loader-required | tsx | jiti | yes | yes | plugins/opik-openclaw/index.ts |
| opik-openclaw | build-required | node | - | no | no | plugins/opik-openclaw/dist/index.js |
| openclaw-telemetry | ts-loader-required | tsx | jiti | yes | yes | plugins/openclaw-telemetry/index.ts |
| lossless-claw | build-required | node | - | no | no | plugins/lossless-claw/dist/index.js |
| connectclaw | ts-loader-required | tsx | jiti | yes | yes | plugins/connectclaw/packages/plugin/index.ts |
| hyperspell | ts-loader-required | tsx | jiti | yes | yes | plugins/hyperspell/index.ts |
| honcho | sdk-alias-required | node | - | no | no | plugins/honcho/dist/index.js |
| composio | ts-loader-required | tsx | jiti | yes | yes | plugins/composio/index.ts |
| kitchen-sink | ready | node | - | no | no | plugins/kitchen-sink/src/index.js |
| kitchen-sink | ready | node | - | no | no | plugins/kitchen-sink/src/index.js |
| kitchen-sink | ready | node | - | no | no | plugins/kitchen-sink/src/setup.js |
| nemoclaw | build-required | node | - | no | no | plugins/nemoclaw/nemoclaw/dist/index.js |
| memory-tencentdb | ts-loader-required | tsx | jiti | yes | yes | plugins/memory-tencentdb/.crabpot-package/index.ts |
| ddingtalk | ts-loader-required | tsx | jiti | yes | yes | plugins/ddingtalk/index.ts |
| dingtalk-connector | build-required | node | - | no | no | plugins/dingtalk-connector/dist/index.mjs |
| mocrane-wecom | ts-loader-required | tsx | jiti | yes | yes | plugins/mocrane-wecom/index.ts |
| yuanbao | sdk-alias-required | tsx | jiti | yes | yes | plugins/yuanbao/.crabpot-package/index.ts |
| yuanbao | sdk-alias-required | tsx | jiti | yes | yes | plugins/yuanbao/.crabpot-package/setup-entry.ts |
| openclaw-weixin | ts-loader-required | tsx | jiti | yes | yes | plugins/openclaw-weixin/.crabpot-package/index.ts |
| lightclawbot | dependency-install-required | node | - | no | no | plugins/lightclawbot/.crabpot-package/dist/index.js |
| telnyx-sms | build-required | node | - | no | no | plugins/telnyx-sms/dist/index.js |
| telnyx-sms | build-required | node | - | no | no | plugins/telnyx-sms/dist/setup-entry.js |
| clawrouter | dependency-install-required | node | - | no | no | plugins/clawrouter/dist/index.js |
| memu-engine | ts-loader-required | tsx | jiti | yes | yes | plugins/memu-engine/index.ts |
| secureclaw | build-required | node | - | no | no | plugins/secureclaw/secureclaw/dist/index.js |
| memos-cloud | review-required | node | - | no | no | plugins/memos-cloud/index.js |
| clawmetry | sdk-alias-required | tsx | jiti | yes | yes | plugins/clawmetry/clawhub-plugin/index.ts |
| clawmetry | sdk-alias-required | node | - | no | no | plugins/clawmetry/clawhub-plugin/dist/index.js |
| codex-app-server | ts-loader-required | tsx | jiti | yes | yes | plugins/codex-app-server/index.ts |
| web-search-plus | ts-loader-required | tsx | jiti | yes | yes | plugins/web-search-plus/index.ts |
| apify | ts-loader-required | tsx | jiti | yes | yes | plugins/apify/src/index.ts |
| inworld-tts | ts-loader-required | tsx | jiti | yes | yes | plugins/inworld-tts/index.ts |
| Fixture | Status | Primary | Alternatives | Capture TSX | Synthetic TSX | Capture Mock SDK | Synthetic Mock SDK | Entrypoint |
| ---------------------- | --------------------------- | ------- | ------------ | ----------- | ------------- | ---------------- | ------------------ | ------------------------------------------------------------------- |
| agentchat | build-required | node | - | no | no | yes | yes | plugins/agentchat/integrations/openclaw-channel/dist/index.js |
| agentchat | build-required | node | - | no | no | yes | yes | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js |
| wecom | dependency-install-required | node | - | no | no | yes | yes | plugins/wecom/index.js |
| qqbot | dependency-install-required | node | - | no | no | yes | yes | plugins/qqbot/preload.cjs |
| a2a-gateway | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/a2a-gateway/index.ts |
| hasdata | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/hasdata/src/index.ts |
| mcp-adapter | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/mcp-adapter/index.ts |
| llm-trace-phoenix | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/llm-trace-phoenix/index.ts |
| opik-openclaw | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/opik-openclaw/index.ts |
| opik-openclaw | build-required | node | - | no | no | yes | yes | plugins/opik-openclaw/dist/index.js |
| openclaw-telemetry | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/openclaw-telemetry/index.ts |
| lossless-claw | build-required | node | - | no | no | yes | yes | plugins/lossless-claw/dist/index.js |
| connectclaw | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/connectclaw/packages/plugin/index.ts |
| hyperspell | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/hyperspell/index.ts |
| honcho | sdk-alias-required | node | - | no | no | yes | yes | plugins/honcho/dist/index.js |
| composio | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/composio/index.ts |
| kitchen-sink | ready | node | - | no | no | yes | yes | plugins/kitchen-sink/src/index.js |
| kitchen-sink | ready | node | - | no | no | yes | yes | plugins/kitchen-sink/src/index.js |
| kitchen-sink | ready | node | - | no | no | yes | yes | plugins/kitchen-sink/src/setup.js |
| bluebubbles | missing | node | - | no | no | yes | yes | plugins/bluebubbles/.crabpot-package/index.ts |
| bluebubbles | ready | node | - | no | no | yes | yes | plugins/bluebubbles/.crabpot-package/dist/index.js |
| bluebubbles | missing | node | - | no | no | yes | yes | plugins/bluebubbles/.crabpot-package/setup-entry.ts |
| diagnostics-otel | missing | node | - | no | no | yes | yes | plugins/diagnostics-otel/.crabpot-package/index.ts |
| diagnostics-otel | dependency-install-required | node | - | no | no | yes | yes | plugins/diagnostics-otel/.crabpot-package/dist/index.js |
| discord | missing | node | - | no | no | yes | yes | plugins/discord/.crabpot-package/index.ts |
| discord | dependency-install-required | node | - | no | no | yes | yes | plugins/discord/.crabpot-package/dist/index.js |
| discord | missing | node | - | no | no | yes | yes | plugins/discord/.crabpot-package/setup-entry.ts |
| lobster | missing | node | - | no | no | yes | yes | plugins/lobster/.crabpot-package/index.ts |
| lobster | dependency-install-required | node | - | no | no | yes | yes | plugins/lobster/.crabpot-package/dist/index.js |
| matrix | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/matrix/.crabpot-package/index.ts |
| matrix | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/matrix/.crabpot-package/setup-entry.ts |
| msteams | missing | node | - | no | no | yes | yes | plugins/msteams/.crabpot-package/index.ts |
| msteams | dependency-install-required | node | - | no | no | yes | yes | plugins/msteams/.crabpot-package/dist/index.js |
| msteams | missing | node | - | no | no | yes | yes | plugins/msteams/.crabpot-package/setup-entry.ts |
| nextcloud-talk | missing | node | - | no | no | yes | yes | plugins/nextcloud-talk/.crabpot-package/index.ts |
| nextcloud-talk | dependency-install-required | node | - | no | no | yes | yes | plugins/nextcloud-talk/.crabpot-package/dist/index.js |
| nextcloud-talk | missing | node | - | no | no | yes | yes | plugins/nextcloud-talk/.crabpot-package/setup-entry.ts |
| nostr | missing | node | - | no | no | yes | yes | plugins/nostr/.crabpot-package/index.ts |
| nostr | dependency-install-required | node | - | no | no | yes | yes | plugins/nostr/.crabpot-package/dist/index.js |
| nostr | missing | node | - | no | no | yes | yes | plugins/nostr/.crabpot-package/setup-entry.ts |
| voice-call | missing | node | - | no | no | yes | yes | plugins/voice-call/.crabpot-package/index.ts |
| voice-call | dependency-install-required | node | - | no | no | yes | yes | plugins/voice-call/.crabpot-package/dist/index.js |
| zalo | missing | node | - | no | no | yes | yes | plugins/zalo/.crabpot-package/index.ts |
| zalo | dependency-install-required | node | - | no | no | yes | yes | plugins/zalo/.crabpot-package/dist/index.js |
| zalo | missing | node | - | no | no | yes | yes | plugins/zalo/.crabpot-package/setup-entry.ts |
| zalouser | missing | node | - | no | no | yes | yes | plugins/zalouser/.crabpot-package/index.ts |
| zalouser | dependency-install-required | node | - | no | no | yes | yes | plugins/zalouser/.crabpot-package/dist/index.js |
| zalouser | missing | node | - | no | no | yes | yes | plugins/zalouser/.crabpot-package/setup-entry.ts |
| feishu | missing | node | - | no | no | yes | yes | plugins/feishu/.crabpot-package/index.ts |
| feishu | dependency-install-required | node | - | no | no | yes | yes | plugins/feishu/.crabpot-package/dist/index.js |
| feishu | missing | node | - | no | no | yes | yes | plugins/feishu/.crabpot-package/setup-entry.ts |
| tlon | missing | node | - | no | no | yes | yes | plugins/tlon/.crabpot-package/index.ts |
| tlon | dependency-install-required | node | - | no | no | yes | yes | plugins/tlon/.crabpot-package/dist/index.js |
| tlon | missing | node | - | no | no | yes | yes | plugins/tlon/.crabpot-package/setup-entry.ts |
| twitch | missing | node | - | no | no | yes | yes | plugins/twitch/.crabpot-package/index.ts |
| twitch | dependency-install-required | node | - | no | no | yes | yes | plugins/twitch/.crabpot-package/dist/index.js |
| twitch | missing | node | - | no | no | yes | yes | plugins/twitch/.crabpot-package/setup-entry.ts |
| mattermost | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/mattermost/.crabpot-package/index.ts |
| mattermost | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/mattermost/.crabpot-package/setup-entry.ts |
| synology-chat | missing | node | - | no | no | yes | yes | plugins/synology-chat/.crabpot-package/index.ts |
| synology-chat | dependency-install-required | node | - | no | no | yes | yes | plugins/synology-chat/.crabpot-package/dist/index.js |
| synology-chat | missing | node | - | no | no | yes | yes | plugins/synology-chat/.crabpot-package/setup-entry.ts |
| brave-plugin | missing | node | - | no | no | yes | yes | plugins/brave-plugin/.crabpot-package/index.ts |
| brave-plugin | ready | node | - | no | no | yes | yes | plugins/brave-plugin/.crabpot-package/dist/index.js |
| codex | missing | node | - | no | no | yes | yes | plugins/codex/.crabpot-package/index.ts |
| codex | dependency-install-required | node | - | no | no | yes | yes | plugins/codex/.crabpot-package/dist/index.js |
| diagnostics-prometheus | missing | node | - | no | no | yes | yes | plugins/diagnostics-prometheus/.crabpot-package/index.ts |
| diagnostics-prometheus | ready | node | - | no | no | yes | yes | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js |
| google-meet | missing | node | - | no | no | yes | yes | plugins/google-meet/.crabpot-package/index.ts |
| google-meet | dependency-install-required | node | - | no | no | yes | yes | plugins/google-meet/.crabpot-package/dist/index.js |
| diffs | missing | node | - | no | no | yes | yes | plugins/diffs/.crabpot-package/index.ts |
| diffs | dependency-install-required | node | - | no | no | yes | yes | plugins/diffs/.crabpot-package/dist/index.js |
| memory-lancedb | missing | node | - | no | no | yes | yes | plugins/memory-lancedb/.crabpot-package/index.ts |
| memory-lancedb | dependency-install-required | node | - | no | no | yes | yes | plugins/memory-lancedb/.crabpot-package/dist/index.js |
| openclaw-qqbot | missing | node | - | no | no | yes | yes | plugins/openclaw-qqbot/.crabpot-package/index.ts |
| openclaw-qqbot | dependency-install-required | node | - | no | no | yes | yes | plugins/openclaw-qqbot/.crabpot-package/dist/index.js |
| openclaw-qqbot | missing | node | - | no | no | yes | yes | plugins/openclaw-qqbot/.crabpot-package/setup-entry.ts |
| whatsapp | missing | node | - | no | no | yes | yes | plugins/whatsapp/.crabpot-package/index.ts |
| whatsapp | dependency-install-required | node | - | no | no | yes | yes | plugins/whatsapp/.crabpot-package/dist/index.js |
| whatsapp | missing | node | - | no | no | yes | yes | plugins/whatsapp/.crabpot-package/setup-entry.ts |
| nemoclaw | build-required | node | - | no | no | yes | yes | plugins/nemoclaw/nemoclaw/dist/index.js |
| memory-tencentdb | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/memory-tencentdb/.crabpot-package/index.ts |
| ddingtalk | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/ddingtalk/index.ts |
| dingtalk-connector | build-required | node | - | no | no | yes | yes | plugins/dingtalk-connector/dist/index.mjs |
| mocrane-wecom | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/mocrane-wecom/index.ts |
| yuanbao | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/yuanbao/.crabpot-package/index.ts |
| yuanbao | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/yuanbao/.crabpot-package/setup-entry.ts |
| openclaw-weixin | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/openclaw-weixin/.crabpot-package/index.ts |
| openclaw-weixin | dependency-install-required | node | - | no | no | yes | yes | plugins/openclaw-weixin/.crabpot-package/dist/index.js |
| lightclawbot | dependency-install-required | node | - | no | no | yes | yes | plugins/lightclawbot/.crabpot-package/dist/index.js |
| telnyx-sms | build-required | node | - | no | no | yes | yes | plugins/telnyx-sms/dist/index.js |
| telnyx-sms | build-required | node | - | no | no | yes | yes | plugins/telnyx-sms/dist/setup-entry.js |
| clawrouter | dependency-install-required | node | - | no | no | yes | yes | plugins/clawrouter/dist/index.js |
| memu-engine | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/memu-engine/index.ts |
| secureclaw | build-required | node | - | no | no | yes | yes | plugins/secureclaw/secureclaw/dist/index.js |
| memos-cloud | review-required | node | - | no | no | yes | yes | plugins/memos-cloud/index.js |
| clawmetry | sdk-alias-required | tsx | jiti | no | no | yes | yes | plugins/clawmetry/clawhub-plugin/index.ts |
| clawmetry | sdk-alias-required | node | - | no | no | yes | yes | plugins/clawmetry/clawhub-plugin/dist/index.js |
| codex-app-server | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/codex-app-server/index.ts |
| web-search-plus | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/web-search-plus/index.ts |
| web-search-plus | review-required | node | - | no | no | yes | yes | plugins/web-search-plus/dist/index.js |
| apify | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/apify/src/index.ts |
| inworld-tts | ts-loader-required | tsx | jiti | no | no | yes | yes | plugins/inworld-tts/index.ts |
## Portability Findings
| Fixture | Step | Platforms | Risks | Mitigation |
| ------------------ | --------------- | -------------------------------- | ---------------------------- | -------------------------------------------------------------- |
| agentchat | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| a2a-gateway | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| a2a-gateway | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| hasdata | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| hasdata | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| mcp-adapter | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| mcp-adapter | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| llm-trace-phoenix | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| llm-trace-phoenix | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| opik-openclaw | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| opik-openclaw | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| openclaw-telemetry | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| openclaw-telemetry | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| connectclaw | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| connectclaw | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| connectclaw | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| hyperspell | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| hyperspell | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| honcho | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| honcho | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| composio | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| composio | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| memory-tencentdb | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| memory-tencentdb | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| ddingtalk | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | install | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | audit | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| ddingtalk | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| mocrane-wecom | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| mocrane-wecom | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| yuanbao | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| yuanbao | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| yuanbao | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| yuanbao | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| openclaw-weixin | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| openclaw-weixin | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| memu-engine | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| memu-engine | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| clawmetry | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| clawmetry | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| codex-app-server | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | install | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | audit | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| codex-app-server | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| web-search-plus | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| web-search-plus | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| apify | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| apify | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| inworld-tts | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| inworld-tts | capture | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| inworld-tts | synthetic-probe | - | tsx-loader-runtime | verify TS source entrypoints with tsx and Jiti loader lanes |
| Fixture | Step | Platforms | Risks | Mitigation |
| ---------------- | ------------- | -------------------------------- | ---------------------------- | -------------------------------------------------------------- |
| agentchat | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| agentchat | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| connectclaw | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| honcho | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| honcho | build | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | install | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| ddingtalk | audit | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | install | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| codex-app-server | audit | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
| inworld-tts | link-openclaw | container, linux, macos, windows | package-manager-availability | install the declared package manager before isolated execution |
## Covered Portability Findings
| Fixture | Step | Platforms | Covered Risks | Coverage |
| ------------------ | ----------------- | ------------------ | ------------------------------------- | -------------------------------------- |
| agentchat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| agentchat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| agentchat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| agentchat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| agentchat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| wecom | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| wecom | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| wecom | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| wecom | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| wecom | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| qqbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| qqbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| qqbot | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| qqbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| qqbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| a2a-gateway | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| a2a-gateway | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| a2a-gateway | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| a2a-gateway | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| a2a-gateway | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| hasdata | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| hasdata | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| hasdata | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| hasdata | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| hasdata | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mcp-adapter | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mcp-adapter | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mcp-adapter | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mcp-adapter | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mcp-adapter | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| llm-trace-phoenix | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| llm-trace-phoenix | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| llm-trace-phoenix | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| llm-trace-phoenix | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| opik-openclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| opik-openclaw | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| opik-openclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| opik-openclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| opik-openclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-telemetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-telemetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-telemetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-telemetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lossless-claw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lossless-claw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lossless-claw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lossless-claw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| connectclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| connectclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| connectclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| connectclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| hyperspell | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| hyperspell | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| hyperspell | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| hyperspell | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| hyperspell | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| honcho | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| honcho | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| honcho | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| honcho | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| composio | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| composio | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| composio | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| composio | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| composio | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nemoclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nemoclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nemoclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nemoclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-tencentdb | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memory-tencentdb | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memory-tencentdb | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| memory-tencentdb | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-tencentdb | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| ddingtalk | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| ddingtalk | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| ddingtalk | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| ddingtalk | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| ddingtalk | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| dingtalk-connector | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| dingtalk-connector | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| dingtalk-connector | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| dingtalk-connector | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mocrane-wecom | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mocrane-wecom | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mocrane-wecom | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mocrane-wecom | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mocrane-wecom | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| yuanbao | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| yuanbao | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| yuanbao | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| yuanbao | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| yuanbao | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| yuanbao | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-weixin | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-weixin | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| openclaw-weixin | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lightclawbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lightclawbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lightclawbot | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| lightclawbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lightclawbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| telnyx-sms | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| telnyx-sms | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| telnyx-sms | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| telnyx-sms | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawrouter | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawrouter | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawrouter | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| clawrouter | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawrouter | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memu-engine | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memu-engine | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memu-engine | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memu-engine | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| secureclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| secureclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| secureclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| secureclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memos-cloud | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memos-cloud | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memos-cloud | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memos-cloud | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawmetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawmetry | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| clawmetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawmetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawmetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex-app-server | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| codex-app-server | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| codex-app-server | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| codex-app-server | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex-app-server | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| web-search-plus | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| web-search-plus | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| apify | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| apify | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| apify | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| apify | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| apify | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| inworld-tts | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| inworld-tts | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| inworld-tts | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| inworld-tts | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| Fixture | Step | Platforms | Covered Risks | Coverage |
| ---------------------- | ----------------- | ------------------ | ------------------------------------- | -------------------------------------- |
| agentchat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| agentchat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| agentchat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| agentchat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| agentchat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| agentchat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| wecom | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| wecom | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| wecom | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| wecom | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| wecom | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| qqbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| qqbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| qqbot | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| qqbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| qqbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| a2a-gateway | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| a2a-gateway | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| a2a-gateway | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| a2a-gateway | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| a2a-gateway | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| hasdata | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| hasdata | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| hasdata | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| hasdata | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| hasdata | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mcp-adapter | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mcp-adapter | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mcp-adapter | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mcp-adapter | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mcp-adapter | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| llm-trace-phoenix | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| llm-trace-phoenix | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| llm-trace-phoenix | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| llm-trace-phoenix | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| opik-openclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| opik-openclaw | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| opik-openclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| opik-openclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| opik-openclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| opik-openclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-telemetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-telemetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-telemetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-telemetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lossless-claw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lossless-claw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lossless-claw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lossless-claw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| connectclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| connectclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| connectclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| connectclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| hyperspell | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| hyperspell | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| hyperspell | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| hyperspell | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| hyperspell | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| honcho | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| honcho | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| honcho | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| honcho | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| composio | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| composio | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| composio | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| composio | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| composio | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| kitchen-sink | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| kitchen-sink | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| kitchen-sink | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| bluebubbles | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| bluebubbles | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| bluebubbles | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| bluebubbles | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| bluebubbles | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| bluebubbles | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| bluebubbles | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-otel | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diagnostics-otel | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diagnostics-otel | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-otel | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-otel | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diagnostics-otel | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diagnostics-otel | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| diagnostics-otel | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-otel | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| discord | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| discord | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| discord | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| discord | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| discord | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| discord | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| discord | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| discord | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lobster | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lobster | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lobster | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lobster | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lobster | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lobster | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lobster | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| lobster | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lobster | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| matrix | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| matrix | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| matrix | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| matrix | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| matrix | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| matrix | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| matrix | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| matrix | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| matrix | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| matrix | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| msteams | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| msteams | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| msteams | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| msteams | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| msteams | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| msteams | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| msteams | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| msteams | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nextcloud-talk | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nextcloud-talk | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nextcloud-talk | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nextcloud-talk | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| nextcloud-talk | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nextcloud-talk | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nextcloud-talk | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nextcloud-talk | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nostr | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nostr | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nostr | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nostr | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| nostr | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nostr | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nostr | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nostr | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| voice-call | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| voice-call | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| voice-call | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| voice-call | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| voice-call | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| voice-call | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| voice-call | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| voice-call | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| voice-call | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalo | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalo | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalo | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalo | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| zalo | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalo | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalo | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalo | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalouser | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalouser | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalouser | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalouser | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| zalouser | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| zalouser | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| zalouser | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| zalouser | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| feishu | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| feishu | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| feishu | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| feishu | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| feishu | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| feishu | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| feishu | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| feishu | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| tlon | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| tlon | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| tlon | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| tlon | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| tlon | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| tlon | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| tlon | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| tlon | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| twitch | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| twitch | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| twitch | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| twitch | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| twitch | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| twitch | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| twitch | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| twitch | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mattermost | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mattermost | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mattermost | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mattermost | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mattermost | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mattermost | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mattermost | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mattermost | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mattermost | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mattermost | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| synology-chat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| synology-chat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| synology-chat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| synology-chat | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| synology-chat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| synology-chat | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| synology-chat | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| synology-chat | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| brave-plugin | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| brave-plugin | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| brave-plugin | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| brave-plugin | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| brave-plugin | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| brave-plugin | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| brave-plugin | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| brave-plugin | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| codex | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| codex | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| codex | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| codex | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| codex | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-prometheus | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diagnostics-prometheus | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diagnostics-prometheus | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-prometheus | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-prometheus | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diagnostics-prometheus | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diagnostics-prometheus | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diagnostics-prometheus | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| google-meet | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| google-meet | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| google-meet | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| google-meet | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| google-meet | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| google-meet | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| google-meet | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| google-meet | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| google-meet | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diffs | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diffs | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diffs | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diffs | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| diffs | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| diffs | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| diffs | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| diffs | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| diffs | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-lancedb | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memory-lancedb | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memory-lancedb | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-lancedb | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-lancedb | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memory-lancedb | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memory-lancedb | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| memory-lancedb | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-lancedb | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-qqbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-qqbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-qqbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-qqbot | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| openclaw-qqbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-qqbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-qqbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-qqbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| whatsapp | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| whatsapp | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| whatsapp | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| whatsapp | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| whatsapp | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| whatsapp | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| whatsapp | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| whatsapp | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| nemoclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| nemoclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| nemoclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| nemoclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-tencentdb | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memory-tencentdb | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memory-tencentdb | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| memory-tencentdb | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memory-tencentdb | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| ddingtalk | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| ddingtalk | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| ddingtalk | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| ddingtalk | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| ddingtalk | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| dingtalk-connector | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| dingtalk-connector | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| dingtalk-connector | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| dingtalk-connector | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| mocrane-wecom | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| mocrane-wecom | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| mocrane-wecom | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| mocrane-wecom | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| mocrane-wecom | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| yuanbao | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| yuanbao | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| yuanbao | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| yuanbao | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| yuanbao | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| yuanbao | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| yuanbao | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-weixin | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-weixin | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| openclaw-weixin | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| openclaw-weixin | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| openclaw-weixin | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| openclaw-weixin | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| openclaw-weixin | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| lightclawbot | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| lightclawbot | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| lightclawbot | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| lightclawbot | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| lightclawbot | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| telnyx-sms | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| telnyx-sms | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| telnyx-sms | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| telnyx-sms | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| telnyx-sms | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawrouter | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawrouter | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawrouter | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| clawrouter | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawrouter | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memu-engine | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memu-engine | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memu-engine | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memu-engine | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| secureclaw | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| secureclaw | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| secureclaw | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| secureclaw | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| memos-cloud | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| memos-cloud | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| memos-cloud | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| memos-cloud | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawmetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawmetry | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| clawmetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| clawmetry | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| clawmetry | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| clawmetry | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex-app-server | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| codex-app-server | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| codex-app-server | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| codex-app-server | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| codex-app-server | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| web-search-plus | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| web-search-plus | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| web-search-plus | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| web-search-plus | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| web-search-plus | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| apify | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| apify | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| apify | audit | windows | posix-null-failure, shell-redirection | covered by Crabpot structured executor |
| apify | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| apify | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
| inworld-tts | prepare | container, windows | posix-mkdir, rsync-required | covered by Crabpot structured executor |
| inworld-tts | prepare-artifacts | windows | posix-mkdir | covered by Crabpot structured executor |
| inworld-tts | capture | windows | posix-env-prefix | covered by Crabpot structured executor |
| inworld-tts | synthetic-probe | windows | posix-env-prefix | covered by Crabpot structured executor |
## Recommendations
| Area | Action |
| ------ | --------------------------------------------------------------------------------------------------------------------------------- |
| loader | keep tsx as the source-entrypoint smoke path, add a Jiti execution lane before treating TS plugin source compatibility as covered |
| Area | Action |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| loader | keep mock-SDK TypeScript capture green, add a real host-loader/Jiti lane before treating TS plugin source compatibility as covered |

View File

@ -36,35 +36,35 @@
"summary": {
"commandCount": 9,
"sampleCount": 27,
"rssSampleCount": 526,
"cpuSampleCount": 526,
"rssSampleCount": 1993,
"cpuSampleCount": 1993,
"wallTimeBasis": "command-median-p95",
"p50WallMs": 577,
"p95WallMs": 620,
"maxPeakRssMb": 91.7,
"maxRssDeltaMb": 62.3,
"maxCpuMsEstimate": 645,
"maxHarnessHeapDeltaMb": 2.2
"p50WallMs": 2337,
"p95WallMs": 2391,
"maxPeakRssMb": 455.4,
"maxRssDeltaMb": 425.7,
"maxCpuMsEstimate": 2657,
"maxHarnessHeapDeltaMb": 7.9
},
"targetOpenClaw": {
"status": "ok",
"configuredPath": "./openclaw",
"compatRecords": 61,
"compatRecords": 60,
"hookNames": 35,
"apiRegistrars": 49,
"capturedRegistrars": 26,
"sdkExports": 294,
"manifestFields": 35,
"sdkExports": 296,
"manifestFields": 40,
"manifestContractFields": 17
},
"fixtureInventory": {
"fixtures": 33,
"sourceFiles": 998,
"observedHooks": 84,
"observedRegistrations": 114,
"observedSdkImports": 350,
"contractProbes": 175,
"issueFindings": 181
"fixtures": 57,
"sourceFiles": 1834,
"observedHooks": 97,
"observedRegistrations": 194,
"observedSdkImports": 1162,
"contractProbes": 277,
"issueFindings": 281
}
},
"thresholds": {
@ -76,28 +76,28 @@
"summary": {
"checkCount": 10,
"failCount": 0,
"warnCount": 0,
"passCount": 10
"warnCount": 2,
"passCount": 8
},
"checks": [
{
"id": "profile.wall-p95",
"action": "pass",
"action": "warn",
"metric": "p95WallMs",
"message": "p95WallMs stayed within 50% regression threshold",
"message": "p95WallMs regressed 87.8% over baseline",
"baseline": 1273,
"current": 620,
"delta": -653,
"percent": -51.3
"current": 2391,
"delta": 1118,
"percent": 87.8
},
{
"id": "profile.peak-rss",
"action": "pass",
"action": "warn",
"metric": "maxPeakRssMb",
"message": "maxPeakRssMb stayed within 50 absolute regression threshold",
"message": "maxPeakRssMb regressed 390.29999999999995 over baseline",
"baseline": 65.1,
"current": 91.7,
"delta": 26.60000000000001
"current": 455.4,
"delta": 390.29999999999995
},
{
"id": "profile.node-boot",
@ -105,8 +105,8 @@
"metric": "nodeBootWallMs",
"message": "nodeBootWallMs stayed within 500 absolute regression threshold",
"baseline": 917,
"current": 32,
"delta": -885
"current": 34,
"delta": -883
},
{
"id": "registry.compatRecords",
@ -114,8 +114,8 @@
"metric": "compatRecords",
"message": "registry surface delta is tracked as context",
"baseline": 19,
"current": 61,
"delta": 42
"current": 60,
"delta": 41
},
{
"id": "registry.hookNames",
@ -150,8 +150,8 @@
"metric": "sdkExports",
"message": "registry surface delta is tracked as context",
"baseline": 307,
"current": 294,
"delta": -13
"current": 296,
"delta": -11
},
{
"id": "registry.manifestFields",
@ -159,8 +159,8 @@
"metric": "manifestFields",
"message": "registry surface delta is tracked as context",
"baseline": 32,
"current": 35,
"delta": 3
"current": 40,
"delta": 8
},
{
"id": "registry.manifestContractFields",

View File

@ -10,22 +10,22 @@ Strict: false
| ------------- | ----- |
| Checks | 10 |
| Fail | 0 |
| Warn | 0 |
| Pass | 10 |
| Warn | 2 |
| Pass | 8 |
| Current runs | 3 |
| Baseline runs | 3 |
## Checks
| Action | ID | Metric | Baseline | Current | Delta | Percent | Message |
| ------ | ------------------------------- | ---------------------- | -------- | ------- | ----------------- | ------- | -------------------------------------------------------------- |
| pass | profile.wall-p95 | p95WallMs | 1273 | 620 | -653 | -51.3% | p95WallMs stayed within 50% regression threshold |
| pass | profile.peak-rss | maxPeakRssMb | 65.1 | 91.7 | 26.60000000000001 | - | maxPeakRssMb stayed within 50 absolute regression threshold |
| pass | profile.node-boot | nodeBootWallMs | 917 | 32 | -885 | - | nodeBootWallMs stayed within 500 absolute regression threshold |
| pass | registry.compatRecords | compatRecords | 19 | 61 | 42 | - | registry surface delta is tracked as context |
| pass | registry.hookNames | hookNames | 31 | 35 | 4 | - | registry surface delta is tracked as context |
| pass | registry.apiRegistrars | apiRegistrars | 40 | 49 | 9 | - | registry surface delta is tracked as context |
| pass | registry.capturedRegistrars | capturedRegistrars | 18 | 26 | 8 | - | registry surface delta is tracked as context |
| pass | registry.sdkExports | sdkExports | 307 | 294 | -13 | - | registry surface delta is tracked as context |
| pass | registry.manifestFields | manifestFields | 32 | 35 | 3 | - | registry surface delta is tracked as context |
| pass | registry.manifestContractFields | manifestContractFields | 16 | 17 | 1 | - | registry surface delta is tracked as context |
| Action | ID | Metric | Baseline | Current | Delta | Percent | Message |
| ------ | ------------------------------- | ---------------------- | -------- | ------- | ------------------ | ------- | -------------------------------------------------------------- |
| warn | profile.wall-p95 | p95WallMs | 1273 | 2391 | 1118 | 87.8% | p95WallMs regressed 87.8% over baseline |
| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 455.4 | 390.29999999999995 | - | maxPeakRssMb regressed 390.29999999999995 over baseline |
| pass | profile.node-boot | nodeBootWallMs | 917 | 34 | -883 | - | nodeBootWallMs stayed within 500 absolute regression threshold |
| pass | registry.compatRecords | compatRecords | 19 | 60 | 41 | - | registry surface delta is tracked as context |
| pass | registry.hookNames | hookNames | 31 | 35 | 4 | - | registry surface delta is tracked as context |
| pass | registry.apiRegistrars | apiRegistrars | 40 | 49 | 9 | - | registry surface delta is tracked as context |
| pass | registry.capturedRegistrars | capturedRegistrars | 18 | 26 | 8 | - | registry surface delta is tracked as context |
| pass | registry.sdkExports | sdkExports | 307 | 296 | -11 | - | registry surface delta is tracked as context |
| pass | registry.manifestFields | manifestFields | 32 | 40 | 8 | - | registry surface delta is tracked as context |
| pass | registry.manifestContractFields | manifestContractFields | 16 | 17 | 1 | - | registry surface delta is tracked as context |

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,16 +8,16 @@ Samples per command: 3
| Metric | Value |
| ---------------------- | ------------------ |
| Commands | 9 |
| P50 wall time | 577 ms |
| Command P95 wall time | 620 ms |
| P50 wall time | 2337 ms |
| Command P95 wall time | 2391 ms |
| Wall time basis | command-median-p95 |
| Profile samples | 27 |
| RSS samples | 526 |
| CPU samples | 526 |
| Max peak RSS | 91.7 MB |
| Max RSS delta | 62.3 MB |
| Max CPU estimate | 645 ms |
| Max harness heap delta | 2.2 MB |
| RSS samples | 1993 |
| CPU samples | 1993 |
| Max peak RSS | 455.4 MB |
| Max RSS delta | 425.7 MB |
| Max CPU estimate | 2657 ms |
| Max harness heap delta | 7.9 MB |
## Target OpenClaw Registry Surface
@ -25,50 +25,50 @@ Samples per command: 3
| ---------------------- | ---------- |
| status | ok |
| configuredPath | ./openclaw |
| compatRecords | 61 |
| compatRecords | 60 |
| hookNames | 35 |
| apiRegistrars | 49 |
| capturedRegistrars | 26 |
| sdkExports | 294 |
| manifestFields | 35 |
| sdkExports | 296 |
| manifestFields | 40 |
| manifestContractFields | 17 |
## Plugin Fixture Surface
| Metric | Value |
| --------------------- | ----- |
| fixtures | 33 |
| sourceFiles | 998 |
| observedHooks | 84 |
| observedRegistrations | 114 |
| observedSdkImports | 350 |
| contractProbes | 175 |
| issueFindings | 181 |
| fixtures | 57 |
| sourceFiles | 1834 |
| observedHooks | 97 |
| observedRegistrations | 194 |
| observedSdkImports | 1162 |
| contractProbes | 277 |
| issueFindings | 281 |
## Boot And Memory Samples
| ID | Label | Median wall | Max wall | Max peak RSS | Max RSS delta | CPU estimate | Heap delta | RSS/CPU samples | Exit codes |
| ---------------------- | ----------------------------------------------- | ----------- | -------- | ------------ | ------------- | ------------ | ---------- | --------------- | ---------- |
| node-boot | Node boot | 32 ms | 32 ms | 29.6 MB | 0 MB | 0 ms | 0.4 MB | 3/3 | 0 |
| fixture-inspection | Fixture inspection | 498 ms | 521 ms | 84.4 MB | 55.7 MB | 544 ms | 2 MB | 60/60 | 0 |
| compat-report-registry | Compatibility report plus target registry parse | 558 ms | 581 ms | 85.7 MB | 57 MB | 598 ms | 2.2 MB | 67/67 | 0 |
| contract-capture | Contract capture inventory | 577 ms | 583 ms | 87.4 MB | 58.7 MB | 593 ms | 2.2 MB | 68/68 | 0 |
| synthetic-probe-plan | Synthetic probe plan | 590 ms | 595 ms | 85.3 MB | 55.9 MB | 607 ms | 2 MB | 68/68 | 0 |
| cold-import-readiness | Cold import readiness | 585 ms | 646 ms | 90.1 MB | 61.4 MB | 645 ms | 2.2 MB | 71/71 | 0 |
| workspace-plan | Workspace execution plan | 605 ms | 606 ms | 91.7 MB | 62.3 MB | 631 ms | 2 MB | 72/72 | 0 |
| platform-probes | Platform and loader probes | 620 ms | 622 ms | 88.5 MB | 59.8 MB | 616 ms | 2.1 MB | 72/72 | 0 |
| import-loop-profile | Repeated cold import capture loop | 374 ms | 375 ms | 60.2 MB | 31.5 MB | 180 ms | 1.4 MB | 45/45 | 0 |
| node-boot | Node boot | 34 ms | 36 ms | 32.9 MB | 0 MB | 0 ms | 0.3 MB | 3/3 | 0 |
| fixture-inspection | Fixture inspection | 2213 ms | 2236 ms | 445.9 MB | 414.1 MB | 2430 ms | 7.9 MB | 262/262 | 0 |
| compat-report-registry | Compatibility report plus target registry parse | 2311 ms | 2317 ms | 446.9 MB | 418.2 MB | 2531 ms | 7.5 MB | 274/274 | 0 |
| contract-capture | Contract capture inventory | 2352 ms | 2423 ms | 447.7 MB | 416.9 MB | 2619 ms | 7.6 MB | 277/277 | 0 |
| synthetic-probe-plan | Synthetic probe plan | 2337 ms | 2356 ms | 447.2 MB | 417.4 MB | 2575 ms | 1.4 MB | 278/278 | 0 |
| cold-import-readiness | Cold import readiness | 2363 ms | 2389 ms | 451.2 MB | 421.7 MB | 2647 ms | 0 MB | 283/283 | 0 |
| workspace-plan | Workspace execution plan | 2383 ms | 2411 ms | 454.3 MB | 424.7 MB | 2657 ms | 1.8 MB | 286/286 | 0 |
| platform-probes | Platform and loader probes | 2391 ms | 2394 ms | 455.4 MB | 425.7 MB | 2609 ms | 1.6 MB | 285/285 | 0 |
| import-loop-profile | Repeated cold import capture loop | 376 ms | 378 ms | 60.5 MB | 31.8 MB | 185 ms | 1.3 MB | 45/45 | 0 |
## Category Rollups
| Category | Commands | P50 wall | P95 wall | Max peak RSS | CPU estimate | RSS/CPU samples | Command IDs |
| ---------------- | -------- | -------- | -------- | ------------ | ------------ | --------------- | ---------------------- |
| baseline | 1 | 32 ms | 32 ms | 29.6 MB | 0 ms | 3/3 | node-boot |
| fixture-scan | 1 | 498 ms | 521 ms | 84.4 MB | 544 ms | 60/60 | fixture-inspection |
| target-registry | 1 | 558 ms | 581 ms | 85.7 MB | 598 ms | 67/67 | compat-report-registry |
| contract-capture | 1 | 577 ms | 583 ms | 87.4 MB | 593 ms | 68/68 | contract-capture |
| synthetic-probes | 1 | 590 ms | 595 ms | 85.3 MB | 607 ms | 68/68 | synthetic-probe-plan |
| cold-import | 1 | 585 ms | 646 ms | 90.1 MB | 645 ms | 71/71 | cold-import-readiness |
| workspace-plan | 1 | 605 ms | 606 ms | 91.7 MB | 631 ms | 72/72 | workspace-plan |
| platform-probes | 1 | 620 ms | 622 ms | 88.5 MB | 616 ms | 72/72 | platform-probes |
| import-loop | 1 | 374 ms | 375 ms | 60.2 MB | 180 ms | 45/45 | import-loop-profile |
| baseline | 1 | 34 ms | 36 ms | 32.9 MB | 0 ms | 3/3 | node-boot |
| fixture-scan | 1 | 2213 ms | 2236 ms | 445.9 MB | 2430 ms | 262/262 | fixture-inspection |
| target-registry | 1 | 2311 ms | 2317 ms | 446.9 MB | 2531 ms | 274/274 | compat-report-registry |
| contract-capture | 1 | 2352 ms | 2423 ms | 447.7 MB | 2619 ms | 277/277 | contract-capture |
| synthetic-probes | 1 | 2337 ms | 2356 ms | 447.2 MB | 2575 ms | 278/278 | synthetic-probe-plan |
| cold-import | 1 | 2363 ms | 2389 ms | 451.2 MB | 2647 ms | 283/283 | cold-import-readiness |
| workspace-plan | 1 | 2383 ms | 2411 ms | 454.3 MB | 2657 ms | 286/286 | workspace-plan |
| platform-probes | 1 | 2391 ms | 2394 ms | 455.4 MB | 2609 ms | 285/285 | platform-probes |
| import-loop | 1 | 376 ms | 378 ms | 60.5 MB | 185 ms | 45/45 | import-loop-profile |

File diff suppressed because it is too large Load Diff

View File

@ -6,309 +6,451 @@ Generated: deterministic
| Metric | Value |
| ------------------- | ----- |
| Fixtures | 33 |
| Probes | 292 |
| Hook probes | 88 |
| Registration probes | 204 |
| Ready | 292 |
| Fixtures | 57 |
| Probes | 434 |
| Hook probes | 104 |
| Registration probes | 330 |
| Ready | 434 |
| Blocked | 0 |
| Direct execution | 112 |
| Opt-in execution | 25 |
| Metadata-only | 67 |
| Direct execution | 169 |
| Opt-in execution | 30 |
| Metadata-only | 131 |
## Probe Inventory
| Fixture | Kind | Seam | Status | Execution | Evidence | Assertions |
| ------------------ | ------------ | -------------------------------------- | ------ | ---------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| wecom | hook | before_prompt_build | ready | hook-direct | plugins/wecom/index.js:64 | prompt mutation result is preserved; agent and conversation metadata are present |
| wecom | hook | before_tool_call | ready | hook-direct | plugins/wecom/index.js:76 | block/allow return shapes are preserved; terminal and approval metadata are present |
| wecom | hook | subagent_delivery_target | ready | hook-direct | plugins/wecom/index.js:72 | target routing result is preserved; parent/subagent metadata are present |
| wecom | hook | subagent_ended | ready | hook-direct | plugins/wecom/index.js:74 | subagent completion payload is preserved; status metadata is present |
| wecom | hook | subagent_spawned | ready | hook-direct | plugins/wecom/index.js:73 | spawn payload is preserved; parent/subagent metadata are present |
| llm-trace-phoenix | hook | llm_input | ready | hook-direct | plugins/llm-trace-phoenix/index.ts:154 | model input payload is redacted as expected; model and agent metadata are present |
| llm-trace-phoenix | hook | llm_output | ready | hook-direct | plugins/llm-trace-phoenix/index.ts:168 | model output payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | after_tool_call | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/tool.ts:100 | hook payload and return value are captured |
| opik-openclaw | hook | agent_end | ready | hook-direct | plugins/opik-openclaw/src/service.ts:560 | final conversation payload is redacted as expected; agent id and run metadata are present |
| opik-openclaw | hook | before_tool_call | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/tool.ts:34 | block/allow return shapes are preserved; terminal and approval metadata are present |
| opik-openclaw | hook | llm_input | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/llm.ts:39 | model input payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | llm_output | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/llm.ts:150 | model output payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | subagent_delivery_target | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:147 | target routing result is preserved; parent/subagent metadata are present |
| opik-openclaw | hook | subagent_ended | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:222 | subagent completion payload is preserved; status metadata is present |
| opik-openclaw | hook | subagent_spawned | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:89 | spawn payload is preserved; parent/subagent metadata are present |
| opik-openclaw | hook | subagent_spawning | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:38 | hook payload and return value are captured |
| opik-openclaw | hook | tool_result_persist | ready | hook-direct | plugins/opik-openclaw/src/service.ts:541 | hook payload and return value are captured |
| openclaw-telemetry | hook | after_tool_call | ready | hook-direct | plugins/openclaw-telemetry/index.ts:22 | hook payload and return value are captured |
| openclaw-telemetry | hook | agent_end | ready | hook-direct | plugins/openclaw-telemetry/index.ts:62 | final conversation payload is redacted as expected; agent id and run metadata are present |
| openclaw-telemetry | hook | before_agent_start | ready | hook-direct | plugins/openclaw-telemetry/index.ts:53 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| openclaw-telemetry | hook | before_tool_call | ready | hook-direct | plugins/openclaw-telemetry/index.ts:12 | block/allow return shapes are preserved; terminal and approval metadata are present |
| openclaw-telemetry | hook | message_received | ready | hook-direct | plugins/openclaw-telemetry/index.ts:34 | hook payload and return value are captured |
| openclaw-telemetry | hook | message_sent | ready | hook-direct | plugins/openclaw-telemetry/index.ts:43 | hook payload and return value are captured |
| lossless-claw | hook | before_prompt_build | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2021 | prompt mutation result is preserved; agent and conversation metadata are present |
| lossless-claw | hook | before_reset | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2014 | hook payload and return value are captured |
| lossless-claw | hook | gateway_start | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2217 | hook payload and return value are captured |
| lossless-claw | hook | gateway_stop | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2241 | hook payload and return value are captured |
| lossless-claw | hook | session_end | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2024 | hook payload and return value are captured |
| connectclaw | hook | before_agent_start | ready | hook-direct | plugins/connectclaw/packages/plugin/src/hooks.ts:17 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| hyperspell | hook | after_compaction | ready | hook-direct | plugins/hyperspell/index.ts:103 | hook payload and return value are captured |
| hyperspell | hook | agent_end | ready | hook-direct | plugins/hyperspell/index.ts:105 | final conversation payload is redacted as expected; agent id and run metadata are present |
| hyperspell | hook | agent_end | ready | hook-direct | plugins/hyperspell/index.ts:116 | final conversation payload is redacted as expected; agent id and run metadata are present |
| hyperspell | hook | before_agent_start | ready | hook-direct | plugins/hyperspell/index.ts:102 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| hyperspell | hook | before_agent_start | ready | hook-direct | plugins/hyperspell/index.ts:111 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| hyperspell | hook | file_changed | ready | hook-direct | plugins/hyperspell/index.ts:122 | hook payload and return value are captured |
| hyperspell | hook | session_end | ready | hook-direct | plugins/hyperspell/index.ts:104 | hook payload and return value are captured |
| honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/capture.ts:151 | final conversation payload is redacted as expected; agent id and run metadata are present |
| honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/subagent.ts:34 | final conversation payload is redacted as expected; agent id and run metadata are present |
| honcho | hook | before_agent_start | ready | hook-direct | plugins/honcho/hooks/subagent.ts:18 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| honcho | hook | before_compaction | ready | hook-direct | plugins/honcho/hooks/capture.ts:177 | hook payload and return value are captured |
| honcho | hook | before_prompt_build | ready | hook-direct | plugins/honcho/hooks/context.ts:7 | prompt mutation result is preserved; agent and conversation metadata are present |
| honcho | hook | before_reset | ready | hook-direct | plugins/honcho/hooks/capture.ts:194 | hook payload and return value are captured |
| honcho | hook | gateway_start | ready | hook-direct | plugins/honcho/hooks/gateway.ts:6 | hook payload and return value are captured |
| honcho | hook | subagent_spawned | ready | hook-direct | plugins/honcho/hooks/subagent.ts:24 | spawn payload is preserved; parent/subagent metadata are present |
| composio | hook | before_prompt_build | ready | hook-direct | plugins/composio/index.ts:33 | prompt mutation result is preserved; agent and conversation metadata are present |
| kitchen-sink | hook | after_compaction | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:5 | hook payload and return value are captured |
| kitchen-sink | hook | after_tool_call | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:6 | hook payload and return value are captured |
| kitchen-sink | hook | agent_end | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:7 | final conversation payload is redacted as expected; agent id and run metadata are present |
| kitchen-sink | hook | before_agent_finalize | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:8 | hook payload and return value are captured |
| kitchen-sink | hook | before_agent_reply | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:9 | hook payload and return value are captured |
| kitchen-sink | hook | before_agent_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:10 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| kitchen-sink | hook | before_compaction | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:11 | hook payload and return value are captured |
| kitchen-sink | hook | before_dispatch | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:12 | hook payload and return value are captured |
| kitchen-sink | hook | before_install | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:13 | hook payload and return value are captured |
| kitchen-sink | hook | before_message_write | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:14 | hook payload and return value are captured |
| kitchen-sink | hook | before_model_resolve | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:15 | hook payload and return value are captured |
| kitchen-sink | hook | before_prompt_build | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:16 | prompt mutation result is preserved; agent and conversation metadata are present |
| kitchen-sink | hook | before_reset | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:17 | hook payload and return value are captured |
| kitchen-sink | hook | before_tool_call | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:18 | block/allow return shapes are preserved; terminal and approval metadata are present |
| kitchen-sink | hook | gateway_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:19 | hook payload and return value are captured |
| kitchen-sink | hook | gateway_stop | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:20 | hook payload and return value are captured |
| kitchen-sink | hook | inbound_claim | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:21 | claim payload preserves channel/source identity; routing metadata is present |
| kitchen-sink | hook | llm_input | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:22 | model input payload is redacted as expected; model and agent metadata are present |
| kitchen-sink | hook | llm_output | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:23 | model output payload is redacted as expected; model and agent metadata are present |
| kitchen-sink | hook | message_received | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:24 | hook payload and return value are captured |
| kitchen-sink | hook | message_sending | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:25 | hook payload and return value are captured |
| kitchen-sink | hook | message_sent | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:26 | hook payload and return value are captured |
| kitchen-sink | hook | model_call_ended | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:27 | hook payload and return value are captured |
| kitchen-sink | hook | model_call_started | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:28 | hook payload and return value are captured |
| kitchen-sink | hook | reply_dispatch | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:29 | hook payload and return value are captured |
| kitchen-sink | hook | session_end | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:30 | hook payload and return value are captured |
| kitchen-sink | hook | session_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:31 | hook payload and return value are captured |
| kitchen-sink | hook | subagent_delivery_target | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:32 | target routing result is preserved; parent/subagent metadata are present |
| kitchen-sink | hook | subagent_ended | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:33 | subagent completion payload is preserved; status metadata is present |
| kitchen-sink | hook | subagent_spawned | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:34 | spawn payload is preserved; parent/subagent metadata are present |
| kitchen-sink | hook | subagent_spawning | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:35 | hook payload and return value are captured |
| kitchen-sink | hook | tool_result_persist | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:36 | hook payload and return value are captured |
| nemoclaw | hook | before_agent_start | ready | hook-direct | plugins/nemoclaw/nemoclaw/src/runtime-context.ts:474 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| nemoclaw | hook | before_tool_call | ready | hook-direct | plugins/nemoclaw/nemoclaw/src/index.ts:384 | block/allow return shapes are preserved; terminal and approval metadata are present |
| memory-tencentdb | hook | agent_end | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:820 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memory-tencentdb | hook | before_prompt_build | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:464 | prompt mutation result is preserved; agent and conversation metadata are present |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:745 | hook payload and return value are captured |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:939 | hook payload and return value are captured |
| mocrane-wecom | hook | before_prompt_build | ready | hook-direct | plugins/mocrane-wecom/index.ts:48 | prompt mutation result is preserved; agent and conversation metadata are present |
| secureclaw | hook | gateway_start | ready | hook-direct | plugins/secureclaw/secureclaw/src/index.ts:314 | hook payload and return value are captured |
| memos-cloud | hook | agent_end | ready | hook-direct | plugins/memos-cloud/index.js:515 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memos-cloud | hook | before_agent_start | ready | hook-direct | plugins/memos-cloud/index.js:481 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| codex-app-server | hook | inbound_claim | ready | hook-direct | plugins/codex-app-server/index.ts:25 | claim payload preserves channel/source identity; routing metadata is present |
| agentchat | registration | defineChannelPluginEntry | ready | metadata-only | plugins/agentchat/integrations/openclaw-channel/src/channel.ts:333 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| wecom | registration | registerChannel | ready | channel-opt-in | plugins/wecom/index.js:27 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| wecom | registration | registerHttpRoute | ready | direct | plugins/wecom/index.js:56 | route method and path are captured; auth policy metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:28 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:40 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:44 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registration | registerChannel | ready | channel-opt-in | plugins/qqbot/index.ts:16 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| qqbot | registration | registerTool | ready | direct | plugins/qqbot/src/tools/channel.ts:138 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registration | registerTool | ready | direct | plugins/qqbot/src/tools/remind.ts:222 | tool name is stable; input schema is captured; result shape metadata is captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:616 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:622 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:631 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:657 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:669 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerService | ready | lifecycle-opt-in | plugins/a2a-gateway/index.ts:857 | service id is stable; start/stop lifecycle handlers are captured |
| a2a-gateway | registration | registerTool | ready | direct | plugins/a2a-gateway/index.ts:777 | tool name is stable; input schema is captured; result shape metadata is captured |
| hasdata | registration | registerTool | ready | direct | plugins/hasdata/src/index.ts:43 | tool name is stable; input schema is captured; result shape metadata is captured |
| mcp-adapter | registration | registerService | ready | lifecycle-opt-in | plugins/mcp-adapter/index.ts:15 | service id is stable; start/stop lifecycle handlers are captured |
| mcp-adapter | registration | registerTool | ready | direct | plugins/mcp-adapter/index.ts:30 | tool name is stable; input schema is captured; result shape metadata is captured |
| opik-openclaw | registration | registerCli | ready | direct | plugins/opik-openclaw/index.ts:17 | command name is stable; argument schema is captured |
| opik-openclaw | registration | registerService | ready | lifecycle-opt-in | plugins/opik-openclaw/index.ts:16 | service id is stable; start/stop lifecycle handlers are captured |
| openclaw-telemetry | registration | registerService | ready | lifecycle-opt-in | plugins/openclaw-telemetry/index.ts:10 | service id is stable; start/stop lifecycle handlers are captured |
| lossless-claw | registration | registerCommand | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2055 | command id is stable; interactive command payload is captured |
| lossless-claw | registration | registerContextEngine | ready | metadata-only | plugins/lossless-claw/src/plugin/index.ts:2035 | context engine id is stable; factory metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2037 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2040 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2043 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2046 | tool name is stable; input schema is captured; result shape metadata is captured |
| connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:18 | command id is stable; interactive command payload is captured |
| connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:64 | command id is stable; interactive command payload is captured |
| connectclaw | registration | registerService | ready | lifecycle-opt-in | plugins/connectclaw/packages/plugin/src/hooks.ts:91 | service id is stable; start/stop lifecycle handlers are captured |
| connectclaw | registration | registerTool | ready | direct | plugins/connectclaw/packages/plugin/src/tools.ts:6 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerCli | ready | direct | plugins/hyperspell/index.ts:30 | command name is stable; argument schema is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:166 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:43 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:98 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:46 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:57 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:68 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerService | ready | lifecycle-opt-in | plugins/hyperspell/index.ts:134 | service id is stable; start/stop lifecycle handlers are captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:21 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:52 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:95 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/index.ts:89 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/index.ts:92 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | definePluginEntry | ready | metadata-only | plugins/honcho/index.ts:85 | entrypoint register function is callable; entrypoint metadata is preserved |
| honcho | registration | registerCli | ready | direct | plugins/honcho/commands/cli.ts:38 | command name is stable; argument schema is captured |
| honcho | registration | registerMemoryPromptSection | ready | metadata-only | plugins/honcho/index.ts:97 | memory prompt section id is stable; render metadata is captured |
| honcho | registration | registerMemoryRuntime | ready | metadata-only | plugins/honcho/runtime.ts:274 | memory runtime id is stable; runtime factory metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/ask.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/context.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/memory-passthrough.ts:130 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/memory-passthrough.ts:89 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/message-search.ts:9 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/search.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/session.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| composio | registration | registerCli | ready | direct | plugins/composio/src/cli.ts:46 | command name is stable; argument schema is captured |
| composio | registration | registerTool | ready | direct | plugins/composio/src/tools.ts:89 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerAgentHarness | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:4 | registration arguments are captured |
| kitchen-sink | registration | registerAgentToolResultMiddleware | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:5 | registration arguments are captured |
| kitchen-sink | registration | registerAgentToolResultMiddleware | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:107 | registration arguments are captured |
| kitchen-sink | registration | registerAutoEnableProbe | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:6 | registration arguments are captured |
| kitchen-sink | registration | registerChannel | ready | channel-opt-in | plugins/kitchen-sink/src/generated-registrars.js:7 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| kitchen-sink | registration | registerChannel | ready | channel-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:63 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| kitchen-sink | registration | registerCli | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:8 | command name is stable; argument schema is captured |
| kitchen-sink | registration | registerCli | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:117 | command name is stable; argument schema is captured |
| kitchen-sink | registration | registerCliBackend | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:9 | registration arguments are captured |
| kitchen-sink | registration | registerCodexAppServerExtensionFactory | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:10 | registration arguments are captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:11 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:58 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:59 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCompactionProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:12 | registration arguments are captured |
| kitchen-sink | registration | registerCompactionProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:103 | registration arguments are captured |
| kitchen-sink | registration | registerConfigMigration | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:13 | registration arguments are captured |
| kitchen-sink | registration | registerContextEngine | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:14 | context engine id is stable; factory metadata is captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/scripts/sync-surface.mjs:113 | registration arguments are captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:15 | registration arguments are captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:94 | registration arguments are captured |
| kitchen-sink | registration | registerGatewayDiscoveryService | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:16 | registration arguments are captured |
| kitchen-sink | registration | registerGatewayMethod | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:17 | method name is stable; request and response schema are captured |
| kitchen-sink | registration | registerGatewayMethod | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:115 | method name is stable; request and response schema are captured |
| kitchen-sink | registration | registerHook | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:18 | legacy hook name is stable; handler metadata is captured |
| kitchen-sink | registration | registerHttpRoute | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:19 | route method and path are captured; auth policy metadata is captured |
| kitchen-sink | registration | registerHttpRoute | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:113 | route method and path are captured; auth policy metadata is captured |
| kitchen-sink | registration | registerImageGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:20 | registration arguments are captured |
| kitchen-sink | registration | registerImageGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:69 | registration arguments are captured |
| kitchen-sink | registration | registerInteractiveHandler | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:21 | handler id is stable; interaction payload and response shape are captured |
| kitchen-sink | registration | registerInteractiveHandler | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:61 | handler id is stable; interaction payload and response shape are captured |
| kitchen-sink | registration | registerMediaUnderstandingProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:22 | registration arguments are captured |
| kitchen-sink | registration | registerMediaUnderstandingProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:72 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCapability | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:23 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCorpusSupplement | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:24 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCorpusSupplement | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:100 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryEmbeddingProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:25 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryEmbeddingProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:97 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryFlushPlan | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:26 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryPromptSection | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:27 | memory prompt section id is stable; render metadata is captured |
| kitchen-sink | registration | registerMemoryPromptSupplement | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:28 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryPromptSupplement | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:119 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryRuntime | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:29 | memory runtime id is stable; runtime factory metadata is captured |
| kitchen-sink | registration | registerMigrationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:30 | registration arguments are captured |
| kitchen-sink | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:31 | registration arguments are captured |
| kitchen-sink | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:85 | registration arguments are captured |
| kitchen-sink | registration | registerNodeHostCommand | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:32 | registration arguments are captured |
| kitchen-sink | registration | registerProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:33 | registration arguments are captured |
| kitchen-sink | registration | registerProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:67 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeTranscriptionProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:34 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeTranscriptionProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:76 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeVoiceProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:35 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeVoiceProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:79 | registration arguments are captured |
| kitchen-sink | registration | registerReload | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:36 | registration arguments are captured |
| kitchen-sink | registration | registerSecurityAuditCollector | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:37 | registration arguments are captured |
| kitchen-sink | registration | registerService | ready | lifecycle-opt-in | plugins/kitchen-sink/src/generated-registrars.js:38 | service id is stable; start/stop lifecycle handlers are captured |
| kitchen-sink | registration | registerService | ready | lifecycle-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:112 | service id is stable; start/stop lifecycle handlers are captured |
| kitchen-sink | registration | registerSpeechProvider | ready | provider-opt-in | plugins/kitchen-sink/src/generated-registrars.js:39 | provider id is stable; speech request overrides are captured |
| kitchen-sink | registration | registerSpeechProvider | ready | provider-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:74 | provider id is stable; speech request overrides are captured |
| kitchen-sink | registration | registerTextTransforms | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:40 | registration arguments are captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:41 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:64 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:65 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:66 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:42 | registration arguments are captured |
| kitchen-sink | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:82 | registration arguments are captured |
| kitchen-sink | registration | registerWebFetchProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:43 | registration arguments are captured |
| kitchen-sink | registration | registerWebFetchProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:91 | registration arguments are captured |
| kitchen-sink | registration | registerWebSearchProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:44 | registration arguments are captured |
| kitchen-sink | registration | registerWebSearchProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:88 | registration arguments are captured |
| nemoclaw | registration | registerCommand | ready | direct | plugins/nemoclaw/nemoclaw/src/index.ts:336 | command id is stable; interactive command payload is captured |
| nemoclaw | registration | registerProvider | ready | metadata-only | plugins/nemoclaw/nemoclaw/src/index.ts:372 | registration arguments are captured |
| memory-tencentdb | registration | registerCli | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:957 | command name is stable; argument schema is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:268 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:365 | tool name is stable; input schema is captured; result shape metadata is captured |
| ddingtalk | registration | defineChannelPluginEntry | ready | metadata-only | plugins/ddingtalk/index.ts:8 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| dingtalk-connector | registration | registerChannel | ready | channel-opt-in | plugins/dingtalk-connector/index.ts:74 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:130 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:190 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:258 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:311 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:351 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:388 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:425 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:452 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:506 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:593 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:60 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:652 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:719 | method name is stable; request and response schema are captured |
| mocrane-wecom | registration | registerChannel | ready | channel-opt-in | plugins/mocrane-wecom/index.ts:31 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| mocrane-wecom | registration | registerHttpRoute | ready | direct | plugins/mocrane-wecom/index.ts:34 | route method and path are captured; auth policy metadata is captured |
| mocrane-wecom | registration | registerTool | ready | direct | plugins/mocrane-wecom/index.ts:43 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | createChatChannelPlugin | ready | metadata-only | plugins/yuanbao/.crabpot-package/dist/src/channel.js:11 | channel plugin id is stable; channel factory metadata is captured |
| yuanbao | registration | createChatChannelPlugin | ready | metadata-only | plugins/yuanbao/.crabpot-package/src/channel.ts:32 | channel plugin id is stable; channel factory metadata is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:13 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:14 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:15 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:31 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:32 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:33 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/group.js:49 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/member.js:129 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/remind.js:281 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/group.ts:88 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/member.ts:198 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/remind.ts:395 | tool name is stable; input schema is captured; result shape metadata is captured |
| openclaw-weixin | registration | registerChannel | ready | channel-opt-in | plugins/openclaw-weixin/.crabpot-package/index.ts:22 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| lightclawbot | registration | registerChannel | ready | channel-opt-in | plugins/lightclawbot/.crabpot-package/dist/index.js:13 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| lightclawbot | registration | registerTool | ready | direct | plugins/lightclawbot/.crabpot-package/dist/src/download-tool.js:49 | tool name is stable; input schema is captured; result shape metadata is captured |
| lightclawbot | registration | registerTool | ready | direct | plugins/lightclawbot/.crabpot-package/dist/src/upload-tool.js:37 | tool name is stable; input schema is captured; result shape metadata is captured |
| telnyx-sms | registration | defineChannelPluginEntry | ready | metadata-only | plugins/telnyx-sms/index.ts:207 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| telnyx-sms | registration | registerCli | ready | direct | plugins/telnyx-sms/index.ts:219 | command name is stable; argument schema is captured |
| telnyx-sms | registration | registerHttpRoute | ready | direct | plugins/telnyx-sms/index.ts:259 | route method and path are captured; auth policy metadata is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1636 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1682 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1736 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1790 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1795 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1799 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1800 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerImageGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1544 | registration arguments are captured |
| clawrouter | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1545 | registration arguments are captured |
| clawrouter | registration | registerProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1535 | registration arguments are captured |
| clawrouter | registration | registerProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1540 | registration arguments are captured |
| clawrouter | registration | registerService | ready | lifecycle-opt-in | plugins/clawrouter/src/index.ts:1809 | service id is stable; start/stop lifecycle handlers are captured |
| clawrouter | registration | registerTool | ready | direct | plugins/clawrouter/src/index.ts:1622 | tool name is stable; input schema is captured; result shape metadata is captured |
| clawrouter | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1547 | registration arguments are captured |
| clawrouter | registration | registerWebSearchProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1554 | registration arguments are captured |
| memu-engine | registration | registerTool | ready | direct | plugins/memu-engine/index.ts:1252 | tool name is stable; input schema is captured; result shape metadata is captured |
| secureclaw | registration | registerCli | ready | direct | plugins/secureclaw/secureclaw/src/index.ts:351 | command name is stable; argument schema is captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:295 | service id is stable; start/stop lifecycle handlers are captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:301 | service id is stable; start/stop lifecycle handlers are captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:307 | service id is stable; start/stop lifecycle handlers are captured |
| memos-cloud | registration | registerHook | ready | metadata-only | plugins/memos-cloud/index.js:467 | legacy hook name is stable; handler metadata is captured |
| clawmetry | registration | definePluginEntry | ready | metadata-only | plugins/clawmetry/clawhub-plugin/index.ts:4 | entrypoint register function is callable; entrypoint metadata is preserved |
| clawmetry | registration | registerService | ready | lifecycle-opt-in | plugins/clawmetry/clawhub-plugin/index.ts:9 | service id is stable; start/stop lifecycle handlers are captured |
| codex-app-server | registration | registerCommand | ready | direct | plugins/codex-app-server/index.ts:48 | command id is stable; interactive command payload is captured |
| codex-app-server | registration | registerInteractiveHandler | ready | direct | plugins/codex-app-server/index.ts:29 | handler id is stable; interaction payload and response shape are captured |
| codex-app-server | registration | registerInteractiveHandler | ready | direct | plugins/codex-app-server/index.ts:38 | handler id is stable; interaction payload and response shape are captured |
| codex-app-server | registration | registerService | ready | lifecycle-opt-in | plugins/codex-app-server/index.ts:12 | service id is stable; start/stop lifecycle handlers are captured |
| web-search-plus | registration | registerTool | ready | direct | plugins/web-search-plus/index.ts:815 | tool name is stable; input schema is captured; result shape metadata is captured |
| web-search-plus | registration | registerTool | ready | direct | plugins/web-search-plus/index.ts:947 | tool name is stable; input schema is captured; result shape metadata is captured |
| apify | registration | registerCli | ready | direct | plugins/apify/src/cli.ts:35 | command name is stable; argument schema is captured |
| apify | registration | registerTool | ready | direct | plugins/apify/src/index.ts:13 | tool name is stable; input schema is captured; result shape metadata is captured |
| inworld-tts | registration | definePluginEntry | ready | metadata-only | plugins/inworld-tts/index.ts:4 | entrypoint register function is callable; entrypoint metadata is preserved |
| inworld-tts | registration | registerSpeechProvider | ready | provider-opt-in | plugins/inworld-tts/index.ts:9 | provider id is stable; speech request overrides are captured |
| Fixture | Kind | Seam | Status | Execution | Evidence | Assertions |
| ---------------------- | ------------ | -------------------------------------- | ------ | ---------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| wecom | hook | before_prompt_build | ready | hook-direct | plugins/wecom/index.js:64 | prompt mutation result is preserved; agent and conversation metadata are present |
| wecom | hook | before_tool_call | ready | hook-direct | plugins/wecom/index.js:76 | block/allow return shapes are preserved; terminal and approval metadata are present |
| wecom | hook | subagent_delivery_target | ready | hook-direct | plugins/wecom/index.js:72 | target routing result is preserved; parent/subagent metadata are present |
| wecom | hook | subagent_ended | ready | hook-direct | plugins/wecom/index.js:74 | subagent completion payload is preserved; status metadata is present |
| wecom | hook | subagent_spawned | ready | hook-direct | plugins/wecom/index.js:73 | spawn payload is preserved; parent/subagent metadata are present |
| llm-trace-phoenix | hook | llm_input | ready | hook-direct | plugins/llm-trace-phoenix/index.ts:154 | model input payload is redacted as expected; model and agent metadata are present |
| llm-trace-phoenix | hook | llm_output | ready | hook-direct | plugins/llm-trace-phoenix/index.ts:168 | model output payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | after_tool_call | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/tool.ts:100 | hook payload and return value are captured |
| opik-openclaw | hook | agent_end | ready | hook-direct | plugins/opik-openclaw/src/service.ts:581 | final conversation payload is redacted as expected; agent id and run metadata are present |
| opik-openclaw | hook | before_tool_call | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/tool.ts:34 | block/allow return shapes are preserved; terminal and approval metadata are present |
| opik-openclaw | hook | llm_input | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/llm.ts:39 | model input payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | llm_output | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/llm.ts:150 | model output payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | hook | subagent_delivery_target | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:147 | target routing result is preserved; parent/subagent metadata are present |
| opik-openclaw | hook | subagent_ended | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:222 | subagent completion payload is preserved; status metadata is present |
| opik-openclaw | hook | subagent_spawned | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:89 | spawn payload is preserved; parent/subagent metadata are present |
| opik-openclaw | hook | subagent_spawning | ready | hook-direct | plugins/opik-openclaw/src/service/hooks/subagent.ts:38 | hook payload and return value are captured |
| opik-openclaw | hook | tool_result_persist | ready | hook-direct | plugins/opik-openclaw/src/service.ts:562 | hook payload and return value are captured |
| openclaw-telemetry | hook | after_tool_call | ready | hook-direct | plugins/openclaw-telemetry/index.ts:22 | hook payload and return value are captured |
| openclaw-telemetry | hook | agent_end | ready | hook-direct | plugins/openclaw-telemetry/index.ts:62 | final conversation payload is redacted as expected; agent id and run metadata are present |
| openclaw-telemetry | hook | before_agent_start | ready | hook-direct | plugins/openclaw-telemetry/index.ts:53 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| openclaw-telemetry | hook | before_tool_call | ready | hook-direct | plugins/openclaw-telemetry/index.ts:12 | block/allow return shapes are preserved; terminal and approval metadata are present |
| openclaw-telemetry | hook | message_received | ready | hook-direct | plugins/openclaw-telemetry/index.ts:34 | hook payload and return value are captured |
| openclaw-telemetry | hook | message_sent | ready | hook-direct | plugins/openclaw-telemetry/index.ts:43 | hook payload and return value are captured |
| lossless-claw | hook | before_prompt_build | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2351 | prompt mutation result is preserved; agent and conversation metadata are present |
| lossless-claw | hook | before_reset | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2344 | hook payload and return value are captured |
| lossless-claw | hook | gateway_start | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2557 | hook payload and return value are captured |
| lossless-claw | hook | gateway_stop | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2581 | hook payload and return value are captured |
| lossless-claw | hook | session_end | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2354 | hook payload and return value are captured |
| connectclaw | hook | before_agent_start | ready | hook-direct | plugins/connectclaw/packages/plugin/src/hooks.ts:17 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/capture.ts:151 | final conversation payload is redacted as expected; agent id and run metadata are present |
| honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/subagent.ts:34 | final conversation payload is redacted as expected; agent id and run metadata are present |
| honcho | hook | before_agent_start | ready | hook-direct | plugins/honcho/hooks/subagent.ts:18 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| honcho | hook | before_compaction | ready | hook-direct | plugins/honcho/hooks/capture.ts:177 | hook payload and return value are captured |
| honcho | hook | before_prompt_build | ready | hook-direct | plugins/honcho/hooks/context.ts:7 | prompt mutation result is preserved; agent and conversation metadata are present |
| honcho | hook | before_reset | ready | hook-direct | plugins/honcho/hooks/capture.ts:194 | hook payload and return value are captured |
| honcho | hook | gateway_start | ready | hook-direct | plugins/honcho/hooks/gateway.ts:6 | hook payload and return value are captured |
| honcho | hook | subagent_spawned | ready | hook-direct | plugins/honcho/hooks/subagent.ts:24 | spawn payload is preserved; parent/subagent metadata are present |
| composio | hook | before_prompt_build | ready | hook-direct | plugins/composio/index.ts:33 | prompt mutation result is preserved; agent and conversation metadata are present |
| kitchen-sink | hook | after_compaction | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:5 | hook payload and return value are captured |
| kitchen-sink | hook | after_tool_call | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:6 | hook payload and return value are captured |
| kitchen-sink | hook | agent_end | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:7 | final conversation payload is redacted as expected; agent id and run metadata are present |
| kitchen-sink | hook | agent_turn_prepare | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:8 | hook payload and return value are captured |
| kitchen-sink | hook | before_agent_finalize | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:9 | hook payload and return value are captured |
| kitchen-sink | hook | before_agent_reply | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:10 | hook payload and return value are captured |
| kitchen-sink | hook | before_agent_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:11 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| kitchen-sink | hook | before_compaction | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:12 | hook payload and return value are captured |
| kitchen-sink | hook | before_dispatch | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:13 | hook payload and return value are captured |
| kitchen-sink | hook | before_install | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:14 | hook payload and return value are captured |
| kitchen-sink | hook | before_message_write | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:15 | hook payload and return value are captured |
| kitchen-sink | hook | before_model_resolve | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:16 | hook payload and return value are captured |
| kitchen-sink | hook | before_prompt_build | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:17 | prompt mutation result is preserved; agent and conversation metadata are present |
| kitchen-sink | hook | before_reset | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:18 | hook payload and return value are captured |
| kitchen-sink | hook | before_tool_call | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:19 | block/allow return shapes are preserved; terminal and approval metadata are present |
| kitchen-sink | hook | cron_changed | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:20 | hook payload and return value are captured |
| kitchen-sink | hook | gateway_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:21 | hook payload and return value are captured |
| kitchen-sink | hook | gateway_stop | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:22 | hook payload and return value are captured |
| kitchen-sink | hook | heartbeat_prompt_contribution | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:23 | hook payload and return value are captured |
| kitchen-sink | hook | inbound_claim | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:24 | claim payload preserves channel/source identity; routing metadata is present |
| kitchen-sink | hook | llm_input | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:25 | model input payload is redacted as expected; model and agent metadata are present |
| kitchen-sink | hook | llm_output | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:26 | model output payload is redacted as expected; model and agent metadata are present |
| kitchen-sink | hook | message_received | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:27 | hook payload and return value are captured |
| kitchen-sink | hook | message_sending | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:28 | hook payload and return value are captured |
| kitchen-sink | hook | message_sent | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:29 | hook payload and return value are captured |
| kitchen-sink | hook | model_call_ended | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:30 | hook payload and return value are captured |
| kitchen-sink | hook | model_call_started | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:31 | hook payload and return value are captured |
| kitchen-sink | hook | reply_dispatch | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:32 | hook payload and return value are captured |
| kitchen-sink | hook | session_end | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:33 | hook payload and return value are captured |
| kitchen-sink | hook | session_start | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:34 | hook payload and return value are captured |
| kitchen-sink | hook | subagent_delivery_target | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:35 | target routing result is preserved; parent/subagent metadata are present |
| kitchen-sink | hook | subagent_ended | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:36 | subagent completion payload is preserved; status metadata is present |
| kitchen-sink | hook | subagent_spawned | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:37 | spawn payload is preserved; parent/subagent metadata are present |
| kitchen-sink | hook | subagent_spawning | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:38 | hook payload and return value are captured |
| kitchen-sink | hook | tool_result_persist | ready | hook-direct | plugins/kitchen-sink/src/generated-hooks.js:39 | hook payload and return value are captured |
| discord | hook | subagent_delivery_target | ready | hook-direct | plugins/discord/.crabpot-package/dist/subagent-hooks-api.js:16 | target routing result is preserved; parent/subagent metadata are present |
| discord | hook | subagent_ended | ready | hook-direct | plugins/discord/.crabpot-package/dist/subagent-hooks-api.js:12 | subagent completion payload is preserved; status metadata is present |
| discord | hook | subagent_spawning | ready | hook-direct | plugins/discord/.crabpot-package/dist/subagent-hooks-api.js:8 | hook payload and return value are captured |
| matrix | hook | subagent_delivery_target | ready | hook-direct | plugins/matrix/.crabpot-package/subagent-hooks-api.ts:21 | target routing result is preserved; parent/subagent metadata are present |
| matrix | hook | subagent_ended | ready | hook-direct | plugins/matrix/.crabpot-package/subagent-hooks-api.ts:17 | subagent completion payload is preserved; status metadata is present |
| matrix | hook | subagent_spawning | ready | hook-direct | plugins/matrix/.crabpot-package/subagent-hooks-api.ts:13 | hook payload and return value are captured |
| feishu | hook | subagent_delivery_target | ready | hook-direct | plugins/feishu/.crabpot-package/dist/subagent-hooks-api.js:13 | target routing result is preserved; parent/subagent metadata are present |
| feishu | hook | subagent_ended | ready | hook-direct | plugins/feishu/.crabpot-package/dist/subagent-hooks-api.js:17 | subagent completion payload is preserved; status metadata is present |
| feishu | hook | subagent_spawning | ready | hook-direct | plugins/feishu/.crabpot-package/dist/subagent-hooks-api.js:9 | hook payload and return value are captured |
| codex | hook | inbound_claim | ready | hook-direct | plugins/codex/.crabpot-package/dist/index.js:351 | claim payload preserves channel/source identity; routing metadata is present |
| diffs | hook | before_prompt_build | ready | hook-direct | plugins/diffs/.crabpot-package/dist/index.js:2067 | prompt mutation result is preserved; agent and conversation metadata are present |
| memory-lancedb | hook | agent_end | ready | hook-direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:643 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memory-lancedb | hook | before_prompt_build | ready | hook-direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:615 | prompt mutation result is preserved; agent and conversation metadata are present |
| memory-lancedb | hook | session_end | ready | hook-direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:684 | hook payload and return value are captured |
| nemoclaw | hook | before_agent_start | ready | hook-direct | plugins/nemoclaw/nemoclaw/src/runtime-context.ts:474 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| nemoclaw | hook | before_tool_call | ready | hook-direct | plugins/nemoclaw/nemoclaw/src/index.ts:384 | block/allow return shapes are preserved; terminal and approval metadata are present |
| memory-tencentdb | hook | agent_end | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16579 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memory-tencentdb | hook | agent_end | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:594 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memory-tencentdb | hook | before_message_write | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16541 | hook payload and return value are captured |
| memory-tencentdb | hook | before_message_write | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:558 | hook payload and return value are captured |
| memory-tencentdb | hook | before_prompt_build | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16477 | prompt mutation result is preserved; agent and conversation metadata are present |
| memory-tencentdb | hook | before_prompt_build | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:467 | prompt mutation result is preserved; agent and conversation metadata are present |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16651 | hook payload and return value are captured |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16678 | hook payload and return value are captured |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:698 | hook payload and return value are captured |
| memory-tencentdb | hook | gateway_stop | ready | hook-direct | plugins/memory-tencentdb/.crabpot-package/index.ts:751 | hook payload and return value are captured |
| mocrane-wecom | hook | before_prompt_build | ready | hook-direct | plugins/mocrane-wecom/index.ts:48 | prompt mutation result is preserved; agent and conversation metadata are present |
| secureclaw | hook | gateway_start | ready | hook-direct | plugins/secureclaw/secureclaw/src/index.ts:314 | hook payload and return value are captured |
| memos-cloud | hook | agent_end | ready | hook-direct | plugins/memos-cloud/index.js:565 | final conversation payload is redacted as expected; agent id and run metadata are present |
| memos-cloud | hook | before_agent_start | ready | hook-direct | plugins/memos-cloud/index.js:531 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks |
| codex-app-server | hook | inbound_claim | ready | hook-direct | plugins/codex-app-server/index.ts:25 | claim payload preserves channel/source identity; routing metadata is present |
| agentchat | registration | defineChannelPluginEntry | ready | metadata-only | plugins/agentchat/integrations/openclaw-channel/src/channel.ts:333 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| wecom | registration | registerChannel | ready | channel-opt-in | plugins/wecom/index.js:27 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| wecom | registration | registerHttpRoute | ready | direct | plugins/wecom/index.js:56 | route method and path are captured; auth policy metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:28 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:40 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:44 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registration | registerChannel | ready | channel-opt-in | plugins/qqbot/index.ts:16 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| qqbot | registration | registerTool | ready | direct | plugins/qqbot/src/tools/channel.ts:138 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registration | registerTool | ready | direct | plugins/qqbot/src/tools/remind.ts:222 | tool name is stable; input schema is captured; result shape metadata is captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:616 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:622 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:631 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:657 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerGatewayMethod | ready | direct | plugins/a2a-gateway/index.ts:669 | method name is stable; request and response schema are captured |
| a2a-gateway | registration | registerService | ready | lifecycle-opt-in | plugins/a2a-gateway/index.ts:857 | service id is stable; start/stop lifecycle handlers are captured |
| a2a-gateway | registration | registerTool | ready | direct | plugins/a2a-gateway/index.ts:777 | tool name is stable; input schema is captured; result shape metadata is captured |
| hasdata | registration | registerTool | ready | direct | plugins/hasdata/src/index.ts:43 | tool name is stable; input schema is captured; result shape metadata is captured |
| mcp-adapter | registration | registerService | ready | lifecycle-opt-in | plugins/mcp-adapter/index.ts:15 | service id is stable; start/stop lifecycle handlers are captured |
| mcp-adapter | registration | registerTool | ready | direct | plugins/mcp-adapter/index.ts:30 | tool name is stable; input schema is captured; result shape metadata is captured |
| opik-openclaw | registration | registerCli | ready | direct | plugins/opik-openclaw/index.ts:17 | command name is stable; argument schema is captured |
| opik-openclaw | registration | registerService | ready | lifecycle-opt-in | plugins/opik-openclaw/index.ts:16 | service id is stable; start/stop lifecycle handlers are captured |
| openclaw-telemetry | registration | registerService | ready | lifecycle-opt-in | plugins/openclaw-telemetry/index.ts:10 | service id is stable; start/stop lifecycle handlers are captured |
| lossless-claw | registration | registerCommand | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2385 | command id is stable; interactive command payload is captured |
| lossless-claw | registration | registerContextEngine | ready | metadata-only | plugins/lossless-claw/src/plugin/index.ts:2365 | context engine id is stable; factory metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2367 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2370 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2373 | tool name is stable; input schema is captured; result shape metadata is captured |
| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2376 | tool name is stable; input schema is captured; result shape metadata is captured |
| connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:18 | command id is stable; interactive command payload is captured |
| connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:64 | command id is stable; interactive command payload is captured |
| connectclaw | registration | registerService | ready | lifecycle-opt-in | plugins/connectclaw/packages/plugin/src/hooks.ts:91 | service id is stable; start/stop lifecycle handlers are captured |
| connectclaw | registration | registerTool | ready | direct | plugins/connectclaw/packages/plugin/src/tools.ts:6 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerCli | ready | direct | plugins/hyperspell/index.ts:30 | command name is stable; argument schema is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:166 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:43 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/commands/slash.ts:98 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:46 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:57 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerCommand | ready | direct | plugins/hyperspell/index.ts:68 | command id is stable; interactive command payload is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:21 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:52 | tool name is stable; input schema is captured; result shape metadata is captured |
| hyperspell | registration | registerTool | ready | direct | plugins/hyperspell/graph/tools.ts:95 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | definePluginEntry | ready | metadata-only | plugins/honcho/index.ts:85 | entrypoint register function is callable; entrypoint metadata is preserved |
| honcho | registration | registerCli | ready | direct | plugins/honcho/commands/cli.ts:38 | command name is stable; argument schema is captured |
| honcho | registration | registerMemoryPromptSection | ready | metadata-only | plugins/honcho/index.ts:97 | memory prompt section id is stable; render metadata is captured |
| honcho | registration | registerMemoryRuntime | ready | metadata-only | plugins/honcho/runtime.ts:274 | memory runtime id is stable; runtime factory metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/ask.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/context.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/memory-passthrough.ts:130 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/memory-passthrough.ts:89 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/message-search.ts:9 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/search.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| honcho | registration | registerTool | ready | direct | plugins/honcho/tools/session.ts:8 | tool name is stable; input schema is captured; result shape metadata is captured |
| composio | registration | registerCli | ready | direct | plugins/composio/src/cli.ts:46 | command name is stable; argument schema is captured |
| composio | registration | registerTool | ready | direct | plugins/composio/src/tools.ts:89 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerAgentEventSubscription | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:4 | registration arguments are captured |
| kitchen-sink | registration | registerAgentHarness | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:5 | registration arguments are captured |
| kitchen-sink | registration | registerAgentToolResultMiddleware | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:6 | registration arguments are captured |
| kitchen-sink | registration | registerAgentToolResultMiddleware | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:99 | registration arguments are captured |
| kitchen-sink | registration | registerAutoEnableProbe | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:7 | registration arguments are captured |
| kitchen-sink | registration | registerChannel | ready | channel-opt-in | plugins/kitchen-sink/src/generated-registrars.js:8 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| kitchen-sink | registration | registerChannel | ready | channel-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:55 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| kitchen-sink | registration | registerCli | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:9 | command name is stable; argument schema is captured |
| kitchen-sink | registration | registerCli | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:109 | command name is stable; argument schema is captured |
| kitchen-sink | registration | registerCliBackend | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:10 | registration arguments are captured |
| kitchen-sink | registration | registerCodexAppServerExtensionFactory | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:11 | registration arguments are captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:12 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:50 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCommand | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:51 | command id is stable; interactive command payload is captured |
| kitchen-sink | registration | registerCompactionProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:13 | registration arguments are captured |
| kitchen-sink | registration | registerCompactionProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:95 | registration arguments are captured |
| kitchen-sink | registration | registerConfigMigration | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:14 | registration arguments are captured |
| kitchen-sink | registration | registerContextEngine | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:15 | context engine id is stable; factory metadata is captured |
| kitchen-sink | registration | registerControlUiDescriptor | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:16 | registration arguments are captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/scripts/sync-surface.mjs:113 | registration arguments are captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:17 | registration arguments are captured |
| kitchen-sink | registration | registerDetachedTaskRuntime | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:86 | registration arguments are captured |
| kitchen-sink | registration | registerGatewayDiscoveryService | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:18 | registration arguments are captured |
| kitchen-sink | registration | registerGatewayMethod | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:19 | method name is stable; request and response schema are captured |
| kitchen-sink | registration | registerGatewayMethod | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:107 | method name is stable; request and response schema are captured |
| kitchen-sink | registration | registerHook | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:20 | legacy hook name is stable; handler metadata is captured |
| kitchen-sink | registration | registerHttpRoute | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:21 | route method and path are captured; auth policy metadata is captured |
| kitchen-sink | registration | registerHttpRoute | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:105 | route method and path are captured; auth policy metadata is captured |
| kitchen-sink | registration | registerImageGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:22 | registration arguments are captured |
| kitchen-sink | registration | registerImageGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:61 | registration arguments are captured |
| kitchen-sink | registration | registerInteractiveHandler | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:23 | handler id is stable; interaction payload and response shape are captured |
| kitchen-sink | registration | registerInteractiveHandler | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:53 | handler id is stable; interaction payload and response shape are captured |
| kitchen-sink | registration | registerMediaUnderstandingProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:24 | registration arguments are captured |
| kitchen-sink | registration | registerMediaUnderstandingProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:64 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCapability | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:25 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCorpusSupplement | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:26 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryCorpusSupplement | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:92 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryEmbeddingProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:27 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryEmbeddingProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:89 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryFlushPlan | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:28 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryPromptSection | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:29 | memory prompt section id is stable; render metadata is captured |
| kitchen-sink | registration | registerMemoryPromptSupplement | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:30 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryPromptSupplement | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:111 | registration arguments are captured |
| kitchen-sink | registration | registerMemoryRuntime | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:31 | memory runtime id is stable; runtime factory metadata is captured |
| kitchen-sink | registration | registerMigrationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:32 | registration arguments are captured |
| kitchen-sink | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:33 | registration arguments are captured |
| kitchen-sink | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:77 | registration arguments are captured |
| kitchen-sink | registration | registerNodeHostCommand | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:34 | registration arguments are captured |
| kitchen-sink | registration | registerNodeInvokePolicy | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:35 | registration arguments are captured |
| kitchen-sink | registration | registerProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:36 | registration arguments are captured |
| kitchen-sink | registration | registerProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:59 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeTranscriptionProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:37 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeTranscriptionProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:68 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeVoiceProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:38 | registration arguments are captured |
| kitchen-sink | registration | registerRealtimeVoiceProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:71 | registration arguments are captured |
| kitchen-sink | registration | registerReload | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:39 | registration arguments are captured |
| kitchen-sink | registration | registerRuntimeLifecycle | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:40 | registration arguments are captured |
| kitchen-sink | registration | registerSecurityAuditCollector | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:41 | registration arguments are captured |
| kitchen-sink | registration | registerService | ready | lifecycle-opt-in | plugins/kitchen-sink/src/generated-registrars.js:42 | service id is stable; start/stop lifecycle handlers are captured |
| kitchen-sink | registration | registerService | ready | lifecycle-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:104 | service id is stable; start/stop lifecycle handlers are captured |
| kitchen-sink | registration | registerSessionExtension | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:43 | registration arguments are captured |
| kitchen-sink | registration | registerSessionSchedulerJob | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:44 | registration arguments are captured |
| kitchen-sink | registration | registerSpeechProvider | ready | provider-opt-in | plugins/kitchen-sink/src/generated-registrars.js:45 | provider id is stable; speech request overrides are captured |
| kitchen-sink | registration | registerSpeechProvider | ready | provider-opt-in | plugins/kitchen-sink/src/kitchen-runtime.js:66 | provider id is stable; speech request overrides are captured |
| kitchen-sink | registration | registerTextTransforms | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:46 | registration arguments are captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/generated-registrars.js:47 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:56 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:57 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerTool | ready | direct | plugins/kitchen-sink/src/kitchen-runtime.js:58 | tool name is stable; input schema is captured; result shape metadata is captured |
| kitchen-sink | registration | registerToolMetadata | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:48 | registration arguments are captured |
| kitchen-sink | registration | registerTrustedToolPolicy | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:49 | registration arguments are captured |
| kitchen-sink | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:50 | registration arguments are captured |
| kitchen-sink | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:74 | registration arguments are captured |
| kitchen-sink | registration | registerWebFetchProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:51 | registration arguments are captured |
| kitchen-sink | registration | registerWebFetchProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:83 | registration arguments are captured |
| kitchen-sink | registration | registerWebSearchProvider | ready | metadata-only | plugins/kitchen-sink/src/generated-registrars.js:52 | registration arguments are captured |
| kitchen-sink | registration | registerWebSearchProvider | ready | metadata-only | plugins/kitchen-sink/src/kitchen-runtime.js:80 | registration arguments are captured |
| bluebubbles | registration | createChatChannelPlugin | ready | metadata-only | plugins/bluebubbles/.crabpot-package/dist/channel-BSIXOcHe.js:930 | channel plugin id is stable; channel factory metadata is captured |
| bluebubbles | registration | defineBundledChannelEntry | ready | metadata-only | plugins/bluebubbles/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| diagnostics-otel | registration | definePluginEntry | ready | metadata-only | plugins/diagnostics-otel/.crabpot-package/dist/index.js:1463 | entrypoint register function is callable; entrypoint metadata is preserved |
| diagnostics-otel | registration | registerService | ready | lifecycle-opt-in | plugins/diagnostics-otel/.crabpot-package/dist/index.js:1468 | service id is stable; start/stop lifecycle handlers are captured |
| discord | registration | createChatChannelPlugin | ready | metadata-only | plugins/discord/.crabpot-package/dist/channel-D8E-S2xn.js:406 | channel plugin id is stable; channel factory metadata is captured |
| discord | registration | defineBundledChannelEntry | ready | metadata-only | plugins/discord/.crabpot-package/dist/index.js:4 | registration arguments are captured |
| lobster | registration | definePluginEntry | ready | metadata-only | plugins/lobster/.crabpot-package/dist/index.js:642 | entrypoint register function is callable; entrypoint metadata is preserved |
| lobster | registration | registerTool | ready | direct | plugins/lobster/.crabpot-package/dist/index.js:647 | tool name is stable; input schema is captured; result shape metadata is captured |
| matrix | registration | defineBundledChannelEntry | ready | metadata-only | plugins/matrix/.crabpot-package/index.ts:36 | registration arguments are captured |
| matrix | registration | definePluginEntry | ready | metadata-only | plugins/matrix/.crabpot-package/cli-metadata.ts:6 | entrypoint register function is callable; entrypoint metadata is preserved |
| matrix | registration | registerCli | ready | direct | plugins/matrix/.crabpot-package/src/cli-metadata.ts:4 | command name is stable; argument schema is captured |
| matrix | registration | registerGatewayMethod | ready | direct | plugins/matrix/.crabpot-package/index.ts:18 | method name is stable; request and response schema are captured |
| matrix | registration | registerGatewayMethod | ready | direct | plugins/matrix/.crabpot-package/index.ts:23 | method name is stable; request and response schema are captured |
| matrix | registration | registerGatewayMethod | ready | direct | plugins/matrix/.crabpot-package/index.ts:28 | method name is stable; request and response schema are captured |
| msteams | registration | createChatChannelPlugin | ready | metadata-only | plugins/msteams/.crabpot-package/dist/channel-BOwKBAvY.js:379 | channel plugin id is stable; channel factory metadata is captured |
| msteams | registration | defineBundledChannelEntry | ready | metadata-only | plugins/msteams/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| nextcloud-talk | registration | createChatChannelPlugin | ready | metadata-only | plugins/nextcloud-talk/.crabpot-package/dist/channel-BVVRsVr5.js:1678 | channel plugin id is stable; channel factory metadata is captured |
| nextcloud-talk | registration | defineBundledChannelEntry | ready | metadata-only | plugins/nextcloud-talk/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| nostr | registration | createChatChannelPlugin | ready | metadata-only | plugins/nostr/.crabpot-package/dist/channel-DfEqBtUh.js:1373 | channel plugin id is stable; channel factory metadata is captured |
| nostr | registration | defineBundledChannelEntry | ready | metadata-only | plugins/nostr/.crabpot-package/dist/index.js:21 | registration arguments are captured |
| nostr | registration | registerHttpRoute | ready | direct | plugins/nostr/.crabpot-package/dist/index.js:74 | route method and path are captured; auth policy metadata is captured |
| voice-call | registration | definePluginEntry | ready | metadata-only | plugins/voice-call/.crabpot-package/dist/cli-metadata.js:3 | entrypoint register function is callable; entrypoint metadata is preserved |
| voice-call | registration | definePluginEntry | ready | metadata-only | plugins/voice-call/.crabpot-package/dist/index.js:856 | entrypoint register function is callable; entrypoint metadata is preserved |
| voice-call | registration | definePluginEntry | ready | metadata-only | plugins/voice-call/.crabpot-package/dist/setup-api.js:28 | entrypoint register function is callable; entrypoint metadata is preserved |
| voice-call | registration | registerCli | ready | direct | plugins/voice-call/.crabpot-package/dist/cli-metadata.js:8 | command name is stable; argument schema is captured |
| voice-call | registration | registerCli | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1250 | command name is stable; argument schema is captured |
| voice-call | registration | registerConfigMigration | ready | metadata-only | plugins/voice-call/.crabpot-package/dist/setup-api.js:33 | registration arguments are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1007 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1019 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1036 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1067 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1085 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1102 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1126 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:970 | method name is stable; request and response schema are captured |
| voice-call | registration | registerGatewayMethod | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:994 | method name is stable; request and response schema are captured |
| voice-call | registration | registerService | ready | lifecycle-opt-in | plugins/voice-call/.crabpot-package/dist/index.js:1256 | service id is stable; start/stop lifecycle handlers are captured |
| voice-call | registration | registerTool | ready | direct | plugins/voice-call/.crabpot-package/dist/index.js:1148 | tool name is stable; input schema is captured; result shape metadata is captured |
| zalo | registration | createChatChannelPlugin | ready | metadata-only | plugins/zalo/.crabpot-package/dist/channel-VPbtV3Oq.js:238 | channel plugin id is stable; channel factory metadata is captured |
| zalo | registration | defineBundledChannelEntry | ready | metadata-only | plugins/zalo/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| zalouser | registration | createChatChannelPlugin | ready | metadata-only | plugins/zalouser/.crabpot-package/dist/channel-DLNmGWb8.js:353 | channel plugin id is stable; channel factory metadata is captured |
| zalouser | registration | defineBundledChannelEntry | ready | metadata-only | plugins/zalouser/.crabpot-package/dist/index.js:9 | registration arguments are captured |
| zalouser | registration | registerTool | ready | direct | plugins/zalouser/.crabpot-package/dist/index.js:23 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | createChatChannelPlugin | ready | metadata-only | plugins/feishu/.crabpot-package/dist/channel-BegH3cJm.js:1087 | channel plugin id is stable; channel factory metadata is captured |
| feishu | registration | defineBundledChannelEntry | ready | metadata-only | plugins/feishu/.crabpot-package/dist/channel-entry.js:3 | registration arguments are captured |
| feishu | registration | defineBundledChannelEntry | ready | metadata-only | plugins/feishu/.crabpot-package/dist/index.js:40 | registration arguments are captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/api.js:1404 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/api.js:1452 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/api.js:1614 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/api.js:1746 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/api.js:2183 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/drive-C5eJLJr7.js:203 | tool name is stable; input schema is captured; result shape metadata is captured |
| feishu | registration | registerTool | ready | direct | plugins/feishu/.crabpot-package/dist/drive-C5eJLJr7.js:828 | tool name is stable; input schema is captured; result shape metadata is captured |
| tlon | registration | createChatChannelPlugin | ready | metadata-only | plugins/tlon/.crabpot-package/dist/channel-C1on9fPi.js:115 | channel plugin id is stable; channel factory metadata is captured |
| tlon | registration | defineBundledChannelEntry | ready | metadata-only | plugins/tlon/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| twitch | registration | createChatChannelPlugin | ready | metadata-only | plugins/twitch/.crabpot-package/dist/plugin-BQX9GiIn.js:762 | channel plugin id is stable; channel factory metadata is captured |
| twitch | registration | defineBundledChannelEntry | ready | metadata-only | plugins/twitch/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| mattermost | registration | createChatChannelPlugin | ready | metadata-only | plugins/mattermost/.crabpot-package/src/channel.ts:263 | channel plugin id is stable; channel factory metadata is captured |
| mattermost | registration | defineBundledChannelEntry | ready | metadata-only | plugins/mattermost/.crabpot-package/index.ts:15 | registration arguments are captured |
| mattermost | registration | registerHttpRoute | ready | direct | plugins/mattermost/.crabpot-package/src/mattermost/slash-state.ts:396 | route method and path are captured; auth policy metadata is captured |
| synology-chat | registration | createChatChannelPlugin | ready | metadata-only | plugins/synology-chat/.crabpot-package/dist/channel-BYl2GyR_.js:1065 | channel plugin id is stable; channel factory metadata is captured |
| synology-chat | registration | defineBundledChannelEntry | ready | metadata-only | plugins/synology-chat/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| brave-plugin | registration | definePluginEntry | ready | metadata-only | plugins/brave-plugin/.crabpot-package/dist/index.js:4 | entrypoint register function is callable; entrypoint metadata is preserved |
| brave-plugin | registration | registerWebSearchProvider | ready | metadata-only | plugins/brave-plugin/.crabpot-package/dist/index.js:9 | registration arguments are captured |
| codex | registration | definePluginEntry | ready | metadata-only | plugins/codex/.crabpot-package/dist/index.js:340 | entrypoint register function is callable; entrypoint metadata is preserved |
| codex | registration | registerAgentHarness | ready | metadata-only | plugins/codex/.crabpot-package/dist/index.js:346 | registration arguments are captured |
| codex | registration | registerCommand | ready | direct | plugins/codex/.crabpot-package/dist/index.js:350 | command id is stable; interactive command payload is captured |
| codex | registration | registerMediaUnderstandingProvider | ready | metadata-only | plugins/codex/.crabpot-package/dist/index.js:348 | registration arguments are captured |
| codex | registration | registerMigrationProvider | ready | metadata-only | plugins/codex/.crabpot-package/dist/index.js:349 | registration arguments are captured |
| codex | registration | registerProvider | ready | metadata-only | plugins/codex/.crabpot-package/dist/index.js:347 | registration arguments are captured |
| diagnostics-prometheus | registration | definePluginEntry | ready | metadata-only | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js:438 | entrypoint register function is callable; entrypoint metadata is preserved |
| diagnostics-prometheus | registration | registerHttpRoute | ready | direct | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js:444 | route method and path are captured; auth policy metadata is captured |
| diagnostics-prometheus | registration | registerService | ready | lifecycle-opt-in | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js:443 | service id is stable; start/stop lifecycle handlers are captured |
| google-meet | registration | definePluginEntry | ready | metadata-only | plugins/google-meet/.crabpot-package/dist/index.js:4284 | entrypoint register function is callable; entrypoint metadata is preserved |
| google-meet | registration | registerCli | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4654 | command name is stable; argument schema is captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4307 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4323 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4340 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4347 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4357 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4368 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4388 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4403 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4419 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4436 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4443 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4455 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4466 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4478 | method name is stable; request and response schema are captured |
| google-meet | registration | registerGatewayMethod | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4494 | method name is stable; request and response schema are captured |
| google-meet | registration | registerNodeHostCommand | ready | metadata-only | plugins/google-meet/.crabpot-package/dist/index.js:4649 | registration arguments are captured |
| google-meet | registration | registerTool | ready | direct | plugins/google-meet/.crabpot-package/dist/index.js:4506 | tool name is stable; input schema is captured; result shape metadata is captured |
| diffs | registration | definePluginEntry | ready | metadata-only | plugins/diffs/.crabpot-package/dist/index.js:2071 | entrypoint register function is callable; entrypoint metadata is preserved |
| diffs | registration | registerHttpRoute | ready | direct | plugins/diffs/.crabpot-package/dist/index.js:2054 | route method and path are captured; auth policy metadata is captured |
| diffs | registration | registerTool | ready | direct | plugins/diffs/.crabpot-package/dist/index.js:2044 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-lancedb | registration | definePluginEntry | ready | metadata-only | plugins/memory-lancedb/.crabpot-package/dist/cli-metadata.js:3 | entrypoint register function is callable; entrypoint metadata is preserved |
| memory-lancedb | registration | definePluginEntry | ready | metadata-only | plugins/memory-lancedb/.crabpot-package/dist/index.js:334 | entrypoint register function is callable; entrypoint metadata is preserved |
| memory-lancedb | registration | registerCli | ready | direct | plugins/memory-lancedb/.crabpot-package/dist/cli-metadata.js:8 | command name is stable; argument schema is captured |
| memory-lancedb | registration | registerCli | ready | direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:547 | command name is stable; argument schema is captured |
| memory-lancedb | registration | registerService | ready | lifecycle-opt-in | plugins/memory-lancedb/.crabpot-package/dist/index.js:345 | service id is stable; start/stop lifecycle handlers are captured |
| memory-lancedb | registration | registerService | ready | lifecycle-opt-in | plugins/memory-lancedb/.crabpot-package/dist/index.js:690 | service id is stable; start/stop lifecycle handlers are captured |
| memory-lancedb | registration | registerTool | ready | direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:388 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-lancedb | registration | registerTool | ready | direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:428 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-lancedb | registration | registerTool | ready | direct | plugins/memory-lancedb/.crabpot-package/dist/index.js:473 | tool name is stable; input schema is captured; result shape metadata is captured |
| openclaw-qqbot | registration | defineBundledChannelEntry | ready | metadata-only | plugins/openclaw-qqbot/.crabpot-package/dist/index.js:9 | registration arguments are captured |
| openclaw-qqbot | registration | registerCommand | ready | direct | plugins/openclaw-qqbot/.crabpot-package/dist/api.js:626 | command id is stable; interactive command payload is captured |
| openclaw-qqbot | registration | registerTool | ready | direct | plugins/openclaw-qqbot/.crabpot-package/dist/api.js:208 | tool name is stable; input schema is captured; result shape metadata is captured |
| openclaw-qqbot | registration | registerTool | ready | direct | plugins/openclaw-qqbot/.crabpot-package/dist/api.js:511 | tool name is stable; input schema is captured; result shape metadata is captured |
| whatsapp | registration | createChatChannelPlugin | ready | metadata-only | plugins/whatsapp/.crabpot-package/dist/channel-B17Hy8-W.js:309 | channel plugin id is stable; channel factory metadata is captured |
| whatsapp | registration | defineBundledChannelEntry | ready | metadata-only | plugins/whatsapp/.crabpot-package/dist/index.js:3 | registration arguments are captured |
| nemoclaw | registration | registerCommand | ready | direct | plugins/nemoclaw/nemoclaw/src/index.ts:336 | command id is stable; interactive command payload is captured |
| nemoclaw | registration | registerProvider | ready | metadata-only | plugins/nemoclaw/nemoclaw/src/index.ts:372 | registration arguments are captured |
| memory-tencentdb | registration | registerCli | ready | direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16697 | command name is stable; argument schema is captured |
| memory-tencentdb | registration | registerCli | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:784 | command name is stable; argument schema is captured |
| memory-tencentdb | registration | registerContextEngine | ready | metadata-only | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:5066 | context engine id is stable; factory metadata is captured |
| memory-tencentdb | registration | registerContextEngine | ready | metadata-only | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:5077 | context engine id is stable; factory metadata is captured |
| memory-tencentdb | registration | registerContextEngine | ready | metadata-only | plugins/memory-tencentdb/.crabpot-package/src/offload/index.ts:1115 | context engine id is stable; factory metadata is captured |
| memory-tencentdb | registration | registerContextEngine | ready | metadata-only | plugins/memory-tencentdb/.crabpot-package/src/offload/index.ts:1126 | context engine id is stable; factory metadata is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16307 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/dist/index.mjs:16399 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:290 | tool name is stable; input schema is captured; result shape metadata is captured |
| memory-tencentdb | registration | registerTool | ready | direct | plugins/memory-tencentdb/.crabpot-package/index.ts:377 | tool name is stable; input schema is captured; result shape metadata is captured |
| ddingtalk | registration | defineChannelPluginEntry | ready | metadata-only | plugins/ddingtalk/index.ts:8 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| dingtalk-connector | registration | defineBundledChannelEntry | ready | metadata-only | plugins/dingtalk-connector/entry-bundled.ts:13 | registration arguments are captured |
| dingtalk-connector | registration | registerChannel | ready | channel-opt-in | plugins/dingtalk-connector/index.ts:74 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:130 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:190 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:258 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:311 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:351 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:388 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:425 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:452 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:506 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:593 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:60 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:652 | method name is stable; request and response schema are captured |
| dingtalk-connector | registration | registerGatewayMethod | ready | direct | plugins/dingtalk-connector/src/gateway-methods.ts:719 | method name is stable; request and response schema are captured |
| mocrane-wecom | registration | registerChannel | ready | channel-opt-in | plugins/mocrane-wecom/index.ts:31 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| mocrane-wecom | registration | registerHttpRoute | ready | direct | plugins/mocrane-wecom/index.ts:34 | route method and path are captured; auth policy metadata is captured |
| mocrane-wecom | registration | registerTool | ready | direct | plugins/mocrane-wecom/index.ts:43 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | createChatChannelPlugin | ready | metadata-only | plugins/yuanbao/.crabpot-package/dist/src/channel.js:11 | channel plugin id is stable; channel factory metadata is captured |
| yuanbao | registration | createChatChannelPlugin | ready | metadata-only | plugins/yuanbao/.crabpot-package/src/channel.ts:32 | channel plugin id is stable; channel factory metadata is captured |
| yuanbao | registration | defineBundledChannelEntry | ready | metadata-only | plugins/yuanbao/.crabpot-package/dist/index.js:38 | registration arguments are captured |
| yuanbao | registration | defineBundledChannelEntry | ready | metadata-only | plugins/yuanbao/.crabpot-package/index.ts:63 | registration arguments are captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:13 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:14 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/dist/index.js:15 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:31 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:32 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerCommand | ready | direct | plugins/yuanbao/.crabpot-package/index.ts:33 | command id is stable; interactive command payload is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/group.js:49 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/member.js:129 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/dist/src/business/tools/remind.js:281 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/group.ts:88 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/member.ts:198 | tool name is stable; input schema is captured; result shape metadata is captured |
| yuanbao | registration | registerTool | ready | direct | plugins/yuanbao/.crabpot-package/src/business/tools/remind.ts:395 | tool name is stable; input schema is captured; result shape metadata is captured |
| openclaw-weixin | registration | registerChannel | ready | channel-opt-in | plugins/openclaw-weixin/.crabpot-package/dist/index.js:13 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| openclaw-weixin | registration | registerChannel | ready | channel-opt-in | plugins/openclaw-weixin/.crabpot-package/index.ts:17 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| lightclawbot | registration | registerChannel | ready | channel-opt-in | plugins/lightclawbot/.crabpot-package/dist/index.js:13 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| lightclawbot | registration | registerTool | ready | direct | plugins/lightclawbot/.crabpot-package/dist/src/download-tool.js:49 | tool name is stable; input schema is captured; result shape metadata is captured |
| lightclawbot | registration | registerTool | ready | direct | plugins/lightclawbot/.crabpot-package/dist/src/upload-tool.js:37 | tool name is stable; input schema is captured; result shape metadata is captured |
| telnyx-sms | registration | defineChannelPluginEntry | ready | metadata-only | plugins/telnyx-sms/index.ts:207 | channel id is stable; setup/config schema can be read; message envelope metadata is preserved |
| telnyx-sms | registration | registerCli | ready | direct | plugins/telnyx-sms/index.ts:219 | command name is stable; argument schema is captured |
| telnyx-sms | registration | registerHttpRoute | ready | direct | plugins/telnyx-sms/index.ts:259 | route method and path are captured; auth policy metadata is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1675 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1721 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1775 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1829 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1834 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1838 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerCommand | ready | direct | plugins/clawrouter/src/index.ts:1839 | command id is stable; interactive command payload is captured |
| clawrouter | registration | registerImageGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1583 | registration arguments are captured |
| clawrouter | registration | registerMusicGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1584 | registration arguments are captured |
| clawrouter | registration | registerProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1574 | registration arguments are captured |
| clawrouter | registration | registerProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1579 | registration arguments are captured |
| clawrouter | registration | registerService | ready | lifecycle-opt-in | plugins/clawrouter/src/index.ts:1848 | service id is stable; start/stop lifecycle handlers are captured |
| clawrouter | registration | registerTool | ready | direct | plugins/clawrouter/src/index.ts:1661 | tool name is stable; input schema is captured; result shape metadata is captured |
| clawrouter | registration | registerVideoGenerationProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1586 | registration arguments are captured |
| clawrouter | registration | registerWebSearchProvider | ready | metadata-only | plugins/clawrouter/src/index.ts:1593 | registration arguments are captured |
| memu-engine | registration | registerTool | ready | direct | plugins/memu-engine/index.ts:1252 | tool name is stable; input schema is captured; result shape metadata is captured |
| secureclaw | registration | registerCli | ready | direct | plugins/secureclaw/secureclaw/src/index.ts:351 | command name is stable; argument schema is captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:295 | service id is stable; start/stop lifecycle handlers are captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:301 | service id is stable; start/stop lifecycle handlers are captured |
| secureclaw | registration | registerService | ready | lifecycle-opt-in | plugins/secureclaw/secureclaw/src/index.ts:307 | service id is stable; start/stop lifecycle handlers are captured |
| memos-cloud | registration | registerHook | ready | metadata-only | plugins/memos-cloud/index.js:517 | legacy hook name is stable; handler metadata is captured |
| clawmetry | registration | definePluginEntry | ready | metadata-only | plugins/clawmetry/clawhub-plugin/index.ts:4 | entrypoint register function is callable; entrypoint metadata is preserved |
| clawmetry | registration | registerService | ready | lifecycle-opt-in | plugins/clawmetry/clawhub-plugin/index.ts:9 | service id is stable; start/stop lifecycle handlers are captured |
| codex-app-server | registration | registerCommand | ready | direct | plugins/codex-app-server/index.ts:48 | command id is stable; interactive command payload is captured |
| codex-app-server | registration | registerInteractiveHandler | ready | direct | plugins/codex-app-server/index.ts:29 | handler id is stable; interaction payload and response shape are captured |
| codex-app-server | registration | registerInteractiveHandler | ready | direct | plugins/codex-app-server/index.ts:38 | handler id is stable; interaction payload and response shape are captured |
| codex-app-server | registration | registerService | ready | lifecycle-opt-in | plugins/codex-app-server/index.ts:12 | service id is stable; start/stop lifecycle handlers are captured |
| web-search-plus | registration | registerTool | ready | direct | plugins/web-search-plus/index.ts:1034 | tool name is stable; input schema is captured; result shape metadata is captured |
| web-search-plus | registration | registerTool | ready | direct | plugins/web-search-plus/index.ts:893 | tool name is stable; input schema is captured; result shape metadata is captured |
| apify | registration | registerCli | ready | direct | plugins/apify/src/cli.ts:35 | command name is stable; argument schema is captured |
| apify | registration | registerTool | ready | direct | plugins/apify/src/index.ts:13 | tool name is stable; input schema is captured; result shape metadata is captured |
| inworld-tts | registration | definePluginEntry | ready | metadata-only | plugins/inworld-tts/index.ts:4 | entrypoint register function is callable; entrypoint metadata is preserved |
| inworld-tts | registration | registerSpeechProvider | ready | provider-opt-in | plugins/inworld-tts/index.ts:9 | provider id is stable; speech request overrides are captured |

File diff suppressed because it is too large Load Diff

View File

@ -6,63 +6,127 @@ Opt-in: CRABPOT_EXECUTE_ISOLATED=1
## Summary
| Metric | Value |
| ----------------------------- | ----- |
| Fixtures | 33 |
| Entrypoints | 40 |
| Artifact dirs | 40 |
| Install steps | 19 |
| Audit steps | 19 |
| Build steps | 11 |
| Capture steps | 40 |
| Synthetic probe steps | 40 |
| Target OpenClaw link steps | 27 |
| TypeScript loader entrypoints | 21 |
| Jiti fallback candidates | 21 |
| Missing build scripts | 0 |
| SDK alias required | 5 |
| Metric | Value |
| ------------------------------------ | ----- |
| Fixtures | 57 |
| Entrypoints | 103 |
| Artifact dirs | 103 |
| Install steps | 43 |
| Audit steps | 43 |
| Prune dev workspace dependency steps | 23 |
| Build steps | 11 |
| Capture steps | 103 |
| Synthetic probe steps | 103 |
| Target OpenClaw link steps | 91 |
| TypeScript loader entrypoints | 25 |
| Jiti fallback candidates | 25 |
| Missing build scripts | 0 |
| SDK alias required | 3 |
## Entrypoint Workspaces
| Fixture | PM | Status | Loader | Entrypoint | Capabilities | Steps |
| ------------------ | ---- | --------------------------- | ----------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| agentchat | pnpm | build-required | node | plugins/agentchat/integrations/openclaw-channel/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/agentchat && rsync -a --delete plugins/agentchat/integrations/openclaw-channel/ .crabpot/workspaces/agentchat/; prepare-artifacts: mkdir -p .crabpot/results/agentchat; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.capture.json -> .crabpot/results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.synthetic.json -> .crabpot/results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.synthetic.json |
| agentchat | pnpm | build-required | node | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/agentchat && rsync -a --delete plugins/agentchat/integrations/openclaw-channel/ .crabpot/workspaces/agentchat/; prepare-artifacts: mkdir -p .crabpot/results/agentchat; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/setup-entry.js --mock-sdk --output ../../results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.capture.json -> .crabpot/results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/setup-entry.js --mock-sdk --output ../../results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.synthetic.json -> .crabpot/results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.synthetic.json |
| wecom | npm | dependency-install-required | node | plugins/wecom/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/wecom && rsync -a --delete plugins/wecom/ .crabpot/workspaces/wecom/; prepare-artifacts: mkdir -p .crabpot/results/wecom; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/wecom/package-audit.json || true -> .crabpot/results/wecom/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.js --mock-sdk --output ../../results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json -> .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.js --mock-sdk --output ../../results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json -> .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json |
| qqbot | npm | dependency-install-required | node | plugins/qqbot/preload.cjs | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/qqbot && rsync -a --delete plugins/qqbot/ .crabpot/workspaces/qqbot/; prepare-artifacts: mkdir -p .crabpot/results/qqbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/qqbot/package-audit.json || true -> .crabpot/results/qqbot/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./preload.cjs --mock-sdk --output ../../results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.capture.json -> .crabpot/results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./preload.cjs --mock-sdk --output ../../results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.synthetic.json -> .crabpot/results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.synthetic.json |
| a2a-gateway | npm | ts-loader-required | tsx (+jiti) | plugins/a2a-gateway/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/a2a-gateway && rsync -a --delete plugins/a2a-gateway/ .crabpot/workspaces/a2a-gateway/; prepare-artifacts: mkdir -p .crabpot/results/a2a-gateway; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/a2a-gateway/package-audit.json || true -> .crabpot/results/a2a-gateway/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.capture.json -> .crabpot/results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.synthetic.json -> .crabpot/results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.synthetic.json |
| hasdata | npm | ts-loader-required | tsx (+jiti) | plugins/hasdata/src/index.ts | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/hasdata && rsync -a --delete plugins/hasdata/ .crabpot/workspaces/hasdata/; prepare-artifacts: mkdir -p .crabpot/results/hasdata; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/hasdata/package-audit.json || true -> .crabpot/results/hasdata/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./src/index.ts --mock-sdk --output ../../results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.capture.json -> .crabpot/results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.ts --mock-sdk --output ../../results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.synthetic.json -> .crabpot/results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.synthetic.json |
| mcp-adapter | npm | ts-loader-required | tsx (+jiti) | plugins/mcp-adapter/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/mcp-adapter && rsync -a --delete plugins/mcp-adapter/ .crabpot/workspaces/mcp-adapter/; prepare-artifacts: mkdir -p .crabpot/results/mcp-adapter; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mcp-adapter/package-audit.json || true -> .crabpot/results/mcp-adapter/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.capture.json -> .crabpot/results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.synthetic.json -> .crabpot/results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.synthetic.json |
| llm-trace-phoenix | npm | ts-loader-required | tsx (+jiti) | plugins/llm-trace-phoenix/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/llm-trace-phoenix && rsync -a --delete plugins/llm-trace-phoenix/ .crabpot/workspaces/llm-trace-phoenix/; prepare-artifacts: mkdir -p .crabpot/results/llm-trace-phoenix; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.capture.json -> .crabpot/results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.synthetic.json -> .crabpot/results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.synthetic.json |
| opik-openclaw | npm | ts-loader-required | tsx (+jiti) | plugins/opik-openclaw/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/opik-openclaw && rsync -a --delete plugins/opik-openclaw/ .crabpot/workspaces/opik-openclaw/; prepare-artifacts: mkdir -p .crabpot/results/opik-openclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/opik-openclaw/package-audit.json || true -> .crabpot/results/opik-openclaw/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.capture.json -> .crabpot/results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.synthetic.json -> .crabpot/results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.synthetic.json |
| opik-openclaw | npm | build-required | node | plugins/opik-openclaw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/opik-openclaw && rsync -a --delete plugins/opik-openclaw/ .crabpot/workspaces/opik-openclaw/; prepare-artifacts: mkdir -p .crabpot/results/opik-openclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.capture.json -> .crabpot/results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.synthetic.json -> .crabpot/results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.synthetic.json |
| openclaw-telemetry | npm | ts-loader-required | tsx (+jiti) | plugins/openclaw-telemetry/index.ts | capture-shim, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/openclaw-telemetry && rsync -a --delete plugins/openclaw-telemetry/ .crabpot/workspaces/openclaw-telemetry/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-telemetry; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.capture.json -> .crabpot/results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.synthetic.json -> .crabpot/results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.synthetic.json |
| lossless-claw | npm | build-required | node | plugins/lossless-claw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lossless-claw && rsync -a --delete plugins/lossless-claw/ .crabpot/workspaces/lossless-claw/; prepare-artifacts: mkdir -p .crabpot/results/lossless-claw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.capture.json -> .crabpot/results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.synthetic.json -> .crabpot/results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.synthetic.json |
| connectclaw | pnpm | ts-loader-required | tsx (+jiti) | plugins/connectclaw/packages/plugin/index.ts | capture-shim, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/connectclaw && rsync -a --delete plugins/connectclaw/packages/plugin/ .crabpot/workspaces/connectclaw/; prepare-artifacts: mkdir -p .crabpot/results/connectclaw; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.capture.json -> .crabpot/results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.synthetic.json -> .crabpot/results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.synthetic.json |
| hyperspell | npm | ts-loader-required | tsx (+jiti) | plugins/hyperspell/index.ts | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/hyperspell && rsync -a --delete plugins/hyperspell/ .crabpot/workspaces/hyperspell/; prepare-artifacts: mkdir -p .crabpot/results/hyperspell; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/hyperspell/package-audit.json || true -> .crabpot/results/hyperspell/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.capture.json -> .crabpot/results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.synthetic.json -> .crabpot/results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.synthetic.json |
| honcho | pnpm | sdk-alias-required | node | plugins/honcho/dist/index.js | build, capture-shim, sdk-alias-compat, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/honcho && rsync -a --delete plugins/honcho/ .crabpot/workspaces/honcho/; prepare-artifacts: mkdir -p .crabpot/results/honcho; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.capture.json -> .crabpot/results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.synthetic.json -> .crabpot/results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.synthetic.json |
| composio | npm | ts-loader-required | tsx (+jiti) | plugins/composio/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/composio && rsync -a --delete plugins/composio/ .crabpot/workspaces/composio/; prepare-artifacts: mkdir -p .crabpot/results/composio; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/composio/package-audit.json || true -> .crabpot/results/composio/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/composio/cold-import-extension-composio-plugins-composio-index-ts.capture.json -> .crabpot/results/composio/cold-import-extension-composio-plugins-composio-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/composio/cold-import-extension-composio-plugins-composio-index-ts.synthetic.json -> .crabpot/results/composio/cold-import-extension-composio-plugins-composio-index-ts.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/setup.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/setup.js --mock-sdk --output ../../results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/setup.js --mock-sdk --output ../../results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.synthetic.json |
| nemoclaw | npm | build-required | node | plugins/nemoclaw/nemoclaw/dist/index.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/nemoclaw && rsync -a --delete plugins/nemoclaw/nemoclaw/ .crabpot/workspaces/nemoclaw/; prepare-artifacts: mkdir -p .crabpot/results/nemoclaw; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.capture.json -> .crabpot/results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.synthetic.json -> .crabpot/results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.synthetic.json |
| memory-tencentdb | npm | ts-loader-required | tsx (+jiti) | plugins/memory-tencentdb/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/memory-tencentdb && rsync -a --delete plugins/memory-tencentdb/.crabpot-package/ .crabpot/workspaces/memory-tencentdb/; prepare-artifacts: mkdir -p .crabpot/results/memory-tencentdb; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/memory-tencentdb/package-audit.json || true -> .crabpot/results/memory-tencentdb/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.capture.json -> .crabpot/results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.synthetic.json -> .crabpot/results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.synthetic.json |
| ddingtalk | pnpm | ts-loader-required | tsx (+jiti) | plugins/ddingtalk/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/ddingtalk && rsync -a --delete plugins/ddingtalk/ .crabpot/workspaces/ddingtalk/; prepare-artifacts: mkdir -p .crabpot/results/ddingtalk; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/ddingtalk/package-audit.json || true -> .crabpot/results/ddingtalk/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.capture.json -> .crabpot/results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.synthetic.json -> .crabpot/results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.synthetic.json |
| dingtalk-connector | npm | build-required | node | plugins/dingtalk-connector/dist/index.mjs | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/dingtalk-connector && rsync -a --delete plugins/dingtalk-connector/ .crabpot/workspaces/dingtalk-connector/; prepare-artifacts: mkdir -p .crabpot/results/dingtalk-connector; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.mjs --mock-sdk --output ../../results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.capture.json -> .crabpot/results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.mjs --mock-sdk --output ../../results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.synthetic.json -> .crabpot/results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.synthetic.json |
| mocrane-wecom | npm | ts-loader-required | tsx (+jiti) | plugins/mocrane-wecom/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/mocrane-wecom && rsync -a --delete plugins/mocrane-wecom/ .crabpot/workspaces/mocrane-wecom/; prepare-artifacts: mkdir -p .crabpot/results/mocrane-wecom; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mocrane-wecom/package-audit.json || true -> .crabpot/results/mocrane-wecom/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.capture.json -> .crabpot/results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.synthetic.json -> .crabpot/results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.synthetic.json |
| yuanbao | npm | sdk-alias-required | tsx (+jiti) | plugins/yuanbao/.crabpot-package/index.ts | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/yuanbao && rsync -a --delete plugins/yuanbao/.crabpot-package/ .crabpot/workspaces/yuanbao/; prepare-artifacts: mkdir -p .crabpot/results/yuanbao; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/yuanbao/package-audit.json || true -> .crabpot/results/yuanbao/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.capture.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.synthetic.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.synthetic.json |
| yuanbao | npm | sdk-alias-required | tsx (+jiti) | plugins/yuanbao/.crabpot-package/setup-entry.ts | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/yuanbao && rsync -a --delete plugins/yuanbao/.crabpot-package/ .crabpot/workspaces/yuanbao/; prepare-artifacts: mkdir -p .crabpot/results/yuanbao; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/yuanbao/package-audit.json || true -> .crabpot/results/yuanbao/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.synthetic.json |
| openclaw-weixin | npm | ts-loader-required | tsx (+jiti) | plugins/openclaw-weixin/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/openclaw-weixin && rsync -a --delete plugins/openclaw-weixin/.crabpot-package/ .crabpot/workspaces/openclaw-weixin/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-weixin; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/openclaw-weixin/package-audit.json || true -> .crabpot/results/openclaw-weixin/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.capture.json -> .crabpot/results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.synthetic.json -> .crabpot/results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.synthetic.json |
| lightclawbot | npm | dependency-install-required | node | plugins/lightclawbot/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lightclawbot && rsync -a --delete plugins/lightclawbot/.crabpot-package/ .crabpot/workspaces/lightclawbot/; prepare-artifacts: mkdir -p .crabpot/results/lightclawbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/lightclawbot/package-audit.json || true -> .crabpot/results/lightclawbot/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.capture.json -> .crabpot/results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.synthetic.json |
| telnyx-sms | npm | build-required | node | plugins/telnyx-sms/dist/index.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/telnyx-sms && rsync -a --delete plugins/telnyx-sms/ .crabpot/workspaces/telnyx-sms/; prepare-artifacts: mkdir -p .crabpot/results/telnyx-sms; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.capture.json -> .crabpot/results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.synthetic.json -> .crabpot/results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.synthetic.json |
| telnyx-sms | npm | build-required | node | plugins/telnyx-sms/dist/setup-entry.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/telnyx-sms && rsync -a --delete plugins/telnyx-sms/ .crabpot/workspaces/telnyx-sms/; prepare-artifacts: mkdir -p .crabpot/results/telnyx-sms; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/setup-entry.js --mock-sdk --output ../../results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.capture.json -> .crabpot/results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/setup-entry.js --mock-sdk --output ../../results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.synthetic.json -> .crabpot/results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.synthetic.json |
| clawrouter | npm | dependency-install-required | node | plugins/clawrouter/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/clawrouter && rsync -a --delete plugins/clawrouter/ .crabpot/workspaces/clawrouter/; prepare-artifacts: mkdir -p .crabpot/results/clawrouter; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/clawrouter/package-audit.json || true -> .crabpot/results/clawrouter/package-audit.json; capture: 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 -> .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json; synthetic-probe: 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 -> .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
| memu-engine | npm | ts-loader-required | tsx (+jiti) | plugins/memu-engine/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/memu-engine && rsync -a --delete plugins/memu-engine/ .crabpot/workspaces/memu-engine/; prepare-artifacts: mkdir -p .crabpot/results/memu-engine; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.capture.json -> .crabpot/results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.synthetic.json -> .crabpot/results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.synthetic.json |
| secureclaw | npm | build-required | node | plugins/secureclaw/secureclaw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/secureclaw && rsync -a --delete plugins/secureclaw/secureclaw/ .crabpot/workspaces/secureclaw/; prepare-artifacts: mkdir -p .crabpot/results/secureclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.capture.json -> .crabpot/results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.synthetic.json -> .crabpot/results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.synthetic.json |
| memos-cloud | npm | review-required | node | plugins/memos-cloud/index.js | capture-shim, side-effect-sandbox, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/memos-cloud && rsync -a --delete plugins/memos-cloud/ .crabpot/workspaces/memos-cloud/; prepare-artifacts: mkdir -p .crabpot/results/memos-cloud; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.js --mock-sdk --output ../../results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.capture.json -> .crabpot/results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.js --mock-sdk --output ../../results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.synthetic.json -> .crabpot/results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.synthetic.json |
| clawmetry | npm | sdk-alias-required | tsx (+jiti) | plugins/clawmetry/clawhub-plugin/index.ts | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/clawmetry/package-audit.json || true -> .crabpot/results/clawmetry/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.capture.json -> .crabpot/results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.synthetic.json -> .crabpot/results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.synthetic.json |
| clawmetry | npm | sdk-alias-required | node | plugins/clawmetry/clawhub-plugin/dist/index.js | build, capture-shim, sdk-alias-compat, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.capture.json -> .crabpot/results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.synthetic.json -> .crabpot/results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.synthetic.json |
| codex-app-server | pnpm | ts-loader-required | tsx (+jiti) | plugins/codex-app-server/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/codex-app-server && rsync -a --delete plugins/codex-app-server/ .crabpot/workspaces/codex-app-server/; prepare-artifacts: mkdir -p .crabpot/results/codex-app-server; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/codex-app-server/package-audit.json || true -> .crabpot/results/codex-app-server/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.capture.json -> .crabpot/results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.synthetic.json -> .crabpot/results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.synthetic.json |
| web-search-plus | npm | ts-loader-required | tsx (+jiti) | plugins/web-search-plus/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/web-search-plus && rsync -a --delete plugins/web-search-plus/ .crabpot/workspaces/web-search-plus/; prepare-artifacts: mkdir -p .crabpot/results/web-search-plus; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.capture.json -> .crabpot/results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.synthetic.json -> .crabpot/results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.synthetic.json |
| apify | npm | ts-loader-required | tsx (+jiti) | plugins/apify/src/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/apify && rsync -a --delete plugins/apify/ .crabpot/workspaces/apify/; prepare-artifacts: mkdir -p .crabpot/results/apify; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/apify/package-audit.json || true -> .crabpot/results/apify/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./src/index.ts --mock-sdk --output ../../results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.capture.json -> .crabpot/results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.ts --mock-sdk --output ../../results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.synthetic.json -> .crabpot/results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.synthetic.json |
| inworld-tts | pnpm | ts-loader-required | tsx (+jiti) | plugins/inworld-tts/index.ts | capture-shim, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/inworld-tts && rsync -a --delete plugins/inworld-tts/ .crabpot/workspaces/inworld-tts/; prepare-artifacts: mkdir -p .crabpot/results/inworld-tts; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.capture.json -> .crabpot/results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node --import tsx ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.synthetic.json -> .crabpot/results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.synthetic.json |
| Fixture | PM | Status | Loader | Entrypoint | Capabilities | Steps |
| ---------------------- | ---- | --------------------------- | ----------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| agentchat | pnpm | build-required | node | plugins/agentchat/integrations/openclaw-channel/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/agentchat && rsync -a --delete plugins/agentchat/integrations/openclaw-channel/ .crabpot/workspaces/agentchat/; prepare-artifacts: mkdir -p .crabpot/results/agentchat; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.capture.json -> .crabpot/results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.synthetic.json -> .crabpot/results/agentchat/cold-import-extension-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-index-js.synthetic.json |
| agentchat | pnpm | build-required | node | plugins/agentchat/integrations/openclaw-channel/dist/setup-entry.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/agentchat && rsync -a --delete plugins/agentchat/integrations/openclaw-channel/ .crabpot/workspaces/agentchat/; prepare-artifacts: mkdir -p .crabpot/results/agentchat; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/setup-entry.js --mock-sdk --output ../../results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.capture.json -> .crabpot/results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/setup-entry.js --mock-sdk --output ../../results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.synthetic.json -> .crabpot/results/agentchat/cold-import-setupEntry-agentchat-plugins-agentchat-integrations-openclaw-channel-dist-setup-entry-js.synthetic.json |
| wecom | npm | dependency-install-required | node | plugins/wecom/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/wecom && rsync -a --delete plugins/wecom/ .crabpot/workspaces/wecom/; prepare-artifacts: mkdir -p .crabpot/results/wecom; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/wecom/package-audit.json || true -> .crabpot/results/wecom/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.js --mock-sdk --output ../../results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json -> .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.js --mock-sdk --output ../../results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json -> .crabpot/results/wecom/cold-import-extension-wecom-plugins-wecom-index-js.synthetic.json |
| qqbot | npm | dependency-install-required | node | plugins/qqbot/preload.cjs | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/qqbot && rsync -a --delete plugins/qqbot/ .crabpot/workspaces/qqbot/; prepare-artifacts: mkdir -p .crabpot/results/qqbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/qqbot/package-audit.json || true -> .crabpot/results/qqbot/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./preload.cjs --mock-sdk --output ../../results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.capture.json -> .crabpot/results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./preload.cjs --mock-sdk --output ../../results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.synthetic.json -> .crabpot/results/qqbot/cold-import-extension-qqbot-plugins-qqbot-preload-cjs.synthetic.json |
| a2a-gateway | npm | ts-loader-required | tsx (+jiti) | plugins/a2a-gateway/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/a2a-gateway && rsync -a --delete plugins/a2a-gateway/ .crabpot/workspaces/a2a-gateway/; prepare-artifacts: mkdir -p .crabpot/results/a2a-gateway; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/a2a-gateway/package-audit.json || true -> .crabpot/results/a2a-gateway/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.capture.json -> .crabpot/results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.synthetic.json -> .crabpot/results/a2a-gateway/cold-import-extension-a2a-gateway-plugins-a2a-gateway-index-ts.synthetic.json |
| hasdata | npm | ts-loader-required | tsx (+jiti) | plugins/hasdata/src/index.ts | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/hasdata && rsync -a --delete plugins/hasdata/ .crabpot/workspaces/hasdata/; prepare-artifacts: mkdir -p .crabpot/results/hasdata; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/hasdata/package-audit.json || true -> .crabpot/results/hasdata/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.ts --mock-sdk --output ../../results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.capture.json -> .crabpot/results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.ts --mock-sdk --output ../../results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.synthetic.json -> .crabpot/results/hasdata/cold-import-extension-hasdata-plugins-hasdata-src-index-ts.synthetic.json |
| mcp-adapter | npm | ts-loader-required | tsx (+jiti) | plugins/mcp-adapter/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/mcp-adapter && rsync -a --delete plugins/mcp-adapter/ .crabpot/workspaces/mcp-adapter/; prepare-artifacts: mkdir -p .crabpot/results/mcp-adapter; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mcp-adapter/package-audit.json || true -> .crabpot/results/mcp-adapter/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.capture.json -> .crabpot/results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.synthetic.json -> .crabpot/results/mcp-adapter/cold-import-extension-mcp-adapter-plugins-mcp-adapter-index-ts.synthetic.json |
| llm-trace-phoenix | npm | ts-loader-required | tsx (+jiti) | plugins/llm-trace-phoenix/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/llm-trace-phoenix && rsync -a --delete plugins/llm-trace-phoenix/ .crabpot/workspaces/llm-trace-phoenix/; prepare-artifacts: mkdir -p .crabpot/results/llm-trace-phoenix; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.capture.json -> .crabpot/results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.synthetic.json -> .crabpot/results/llm-trace-phoenix/cold-import-extension-llm-trace-phoenix-plugins-llm-trace-phoenix-index-ts.synthetic.json |
| opik-openclaw | npm | ts-loader-required | tsx (+jiti) | plugins/opik-openclaw/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/opik-openclaw && rsync -a --delete plugins/opik-openclaw/ .crabpot/workspaces/opik-openclaw/; prepare-artifacts: mkdir -p .crabpot/results/opik-openclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/opik-openclaw/package-audit.json || true -> .crabpot/results/opik-openclaw/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.capture.json -> .crabpot/results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.synthetic.json -> .crabpot/results/opik-openclaw/cold-import-extension-opik-openclaw-plugins-opik-openclaw-index-ts.synthetic.json |
| opik-openclaw | npm | build-required | node | plugins/opik-openclaw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/opik-openclaw && rsync -a --delete plugins/opik-openclaw/ .crabpot/workspaces/opik-openclaw/; prepare-artifacts: mkdir -p .crabpot/results/opik-openclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.capture.json -> .crabpot/results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.synthetic.json -> .crabpot/results/opik-openclaw/cold-import-runtimeExtension-opik-openclaw-plugins-opik-openclaw-dist-index-js.synthetic.json |
| openclaw-telemetry | npm | ts-loader-required | tsx (+jiti) | plugins/openclaw-telemetry/index.ts | capture-shim, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/openclaw-telemetry && rsync -a --delete plugins/openclaw-telemetry/ .crabpot/workspaces/openclaw-telemetry/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-telemetry; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.capture.json -> .crabpot/results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.synthetic.json -> .crabpot/results/openclaw-telemetry/cold-import-extension-openclaw-telemetry-plugins-openclaw-telemetry-index-ts.synthetic.json |
| lossless-claw | npm | build-required | node | plugins/lossless-claw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lossless-claw && rsync -a --delete plugins/lossless-claw/ .crabpot/workspaces/lossless-claw/; prepare-artifacts: mkdir -p .crabpot/results/lossless-claw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.capture.json -> .crabpot/results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.synthetic.json -> .crabpot/results/lossless-claw/cold-import-extension-lossless-claw-plugins-lossless-claw-dist-index-js.synthetic.json |
| connectclaw | pnpm | ts-loader-required | tsx (+jiti) | plugins/connectclaw/packages/plugin/index.ts | capture-shim, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/connectclaw && rsync -a --delete plugins/connectclaw/packages/plugin/ .crabpot/workspaces/connectclaw/; prepare-artifacts: mkdir -p .crabpot/results/connectclaw; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.capture.json -> .crabpot/results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.synthetic.json -> .crabpot/results/connectclaw/cold-import-extension-connectclaw-plugins-connectclaw-packages-plugin-index-ts.synthetic.json |
| hyperspell | npm | ts-loader-required | tsx (+jiti) | plugins/hyperspell/index.ts | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/hyperspell && rsync -a --delete plugins/hyperspell/ .crabpot/workspaces/hyperspell/; prepare-artifacts: mkdir -p .crabpot/results/hyperspell; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/hyperspell/package-audit.json || true -> .crabpot/results/hyperspell/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.capture.json -> .crabpot/results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.synthetic.json -> .crabpot/results/hyperspell/cold-import-extension-hyperspell-plugins-hyperspell-index-ts.synthetic.json |
| honcho | pnpm | sdk-alias-required | node | plugins/honcho/dist/index.js | build, capture-shim, sdk-alias-compat, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/honcho && rsync -a --delete plugins/honcho/ .crabpot/workspaces/honcho/; prepare-artifacts: mkdir -p .crabpot/results/honcho; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; build: pnpm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.capture.json -> .crabpot/results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.synthetic.json -> .crabpot/results/honcho/cold-import-extension-honcho-plugins-honcho-dist-index-js.synthetic.json |
| composio | npm | ts-loader-required | tsx (+jiti) | plugins/composio/index.ts | capture-shim, dependency-install, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/composio && rsync -a --delete plugins/composio/ .crabpot/workspaces/composio/; prepare-artifacts: mkdir -p .crabpot/results/composio; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/composio/package-audit.json || true -> .crabpot/results/composio/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/composio/cold-import-extension-composio-plugins-composio-index-ts.capture.json -> .crabpot/results/composio/cold-import-extension-composio-plugins-composio-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/composio/cold-import-extension-composio-plugins-composio-index-ts.synthetic.json -> .crabpot/results/composio/cold-import-extension-composio-plugins-composio-index-ts.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-extension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.js --mock-sdk --output ../../results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-runtimeExtension-kitchen-sink-plugins-kitchen-sink-src-index-js.synthetic.json |
| kitchen-sink | npm | ready | node | plugins/kitchen-sink/src/setup.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/kitchen-sink && rsync -a --delete plugins/kitchen-sink/ .crabpot/workspaces/kitchen-sink/; prepare-artifacts: mkdir -p .crabpot/results/kitchen-sink; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/setup.js --mock-sdk --output ../../results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.capture.json -> .crabpot/results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/setup.js --mock-sdk --output ../../results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.synthetic.json -> .crabpot/results/kitchen-sink/cold-import-setupEntry-kitchen-sink-plugins-kitchen-sink-src-setup-js.synthetic.json |
| bluebubbles | npm | missing | node | plugins/bluebubbles/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/bluebubbles && rsync -a --delete plugins/bluebubbles/.crabpot-package/ .crabpot/workspaces/bluebubbles/; prepare-artifacts: mkdir -p .crabpot/results/bluebubbles; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/bluebubbles/cold-import-extension-bluebubbles-plugins-bluebubbles-crabpot-package-index-ts.capture.json -> .crabpot/results/bluebubbles/cold-import-extension-bluebubbles-plugins-bluebubbles-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/bluebubbles/cold-import-extension-bluebubbles-plugins-bluebubbles-crabpot-package-index-ts.synthetic.json -> .crabpot/results/bluebubbles/cold-import-extension-bluebubbles-plugins-bluebubbles-crabpot-package-index-ts.synthetic.json |
| bluebubbles | npm | ready | node | plugins/bluebubbles/.crabpot-package/dist/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/bluebubbles && rsync -a --delete plugins/bluebubbles/.crabpot-package/ .crabpot/workspaces/bluebubbles/; prepare-artifacts: mkdir -p .crabpot/results/bluebubbles; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/bluebubbles/cold-import-runtimeExtension-bluebubbles-plugins-bluebubbles-crabpot-package-dist-index-js.capture.json -> .crabpot/results/bluebubbles/cold-import-runtimeExtension-bluebubbles-plugins-bluebubbles-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/bluebubbles/cold-import-runtimeExtension-bluebubbles-plugins-bluebubbles-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/bluebubbles/cold-import-runtimeExtension-bluebubbles-plugins-bluebubbles-crabpot-package-dist-index-js.synthetic.json |
| bluebubbles | npm | missing | node | plugins/bluebubbles/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/bluebubbles && rsync -a --delete plugins/bluebubbles/.crabpot-package/ .crabpot/workspaces/bluebubbles/; prepare-artifacts: mkdir -p .crabpot/results/bluebubbles; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/bluebubbles/cold-import-setupEntry-bluebubbles-plugins-bluebubbles-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/bluebubbles/cold-import-setupEntry-bluebubbles-plugins-bluebubbles-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/bluebubbles/cold-import-setupEntry-bluebubbles-plugins-bluebubbles-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/bluebubbles/cold-import-setupEntry-bluebubbles-plugins-bluebubbles-crabpot-package-setup-entry-ts.synthetic.json |
| diagnostics-otel | npm | missing | node | plugins/diagnostics-otel/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diagnostics-otel && rsync -a --delete plugins/diagnostics-otel/.crabpot-package/ .crabpot/workspaces/diagnostics-otel/; prepare-artifacts: mkdir -p .crabpot/results/diagnostics-otel; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/diagnostics-otel/cold-import-extension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-index-ts.capture.json -> .crabpot/results/diagnostics-otel/cold-import-extension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/diagnostics-otel/cold-import-extension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-index-ts.synthetic.json -> .crabpot/results/diagnostics-otel/cold-import-extension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-index-ts.synthetic.json |
| diagnostics-otel | npm | dependency-install-required | node | plugins/diagnostics-otel/.crabpot-package/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diagnostics-otel && rsync -a --delete plugins/diagnostics-otel/.crabpot-package/ .crabpot/workspaces/diagnostics-otel/; prepare-artifacts: mkdir -p .crabpot/results/diagnostics-otel; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/diagnostics-otel/package-audit.json || true -> .crabpot/results/diagnostics-otel/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/diagnostics-otel/cold-import-runtimeExtension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-dist-index-js.capture.json -> .crabpot/results/diagnostics-otel/cold-import-runtimeExtension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/diagnostics-otel/cold-import-runtimeExtension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/diagnostics-otel/cold-import-runtimeExtension-diagnostics-otel-plugins-diagnostics-otel-crabpot-package-dist-index-js.synthetic.json |
| discord | npm | missing | node | plugins/discord/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/discord && rsync -a --delete plugins/discord/.crabpot-package/ .crabpot/workspaces/discord/; prepare-artifacts: mkdir -p .crabpot/results/discord; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/discord/cold-import-extension-discord-plugins-discord-crabpot-package-index-ts.capture.json -> .crabpot/results/discord/cold-import-extension-discord-plugins-discord-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/discord/cold-import-extension-discord-plugins-discord-crabpot-package-index-ts.synthetic.json -> .crabpot/results/discord/cold-import-extension-discord-plugins-discord-crabpot-package-index-ts.synthetic.json |
| discord | npm | dependency-install-required | node | plugins/discord/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/discord && rsync -a --delete plugins/discord/.crabpot-package/ .crabpot/workspaces/discord/; prepare-artifacts: mkdir -p .crabpot/results/discord; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/discord/package-audit.json || true -> .crabpot/results/discord/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/discord/cold-import-runtimeExtension-discord-plugins-discord-crabpot-package-dist-index-js.capture.json -> .crabpot/results/discord/cold-import-runtimeExtension-discord-plugins-discord-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/discord/cold-import-runtimeExtension-discord-plugins-discord-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/discord/cold-import-runtimeExtension-discord-plugins-discord-crabpot-package-dist-index-js.synthetic.json |
| discord | npm | missing | node | plugins/discord/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/discord && rsync -a --delete plugins/discord/.crabpot-package/ .crabpot/workspaces/discord/; prepare-artifacts: mkdir -p .crabpot/results/discord; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/discord/cold-import-setupEntry-discord-plugins-discord-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/discord/cold-import-setupEntry-discord-plugins-discord-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/discord/cold-import-setupEntry-discord-plugins-discord-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/discord/cold-import-setupEntry-discord-plugins-discord-crabpot-package-setup-entry-ts.synthetic.json |
| lobster | npm | missing | node | plugins/lobster/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lobster && rsync -a --delete plugins/lobster/.crabpot-package/ .crabpot/workspaces/lobster/; prepare-artifacts: mkdir -p .crabpot/results/lobster; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/lobster/cold-import-extension-lobster-plugins-lobster-crabpot-package-index-ts.capture.json -> .crabpot/results/lobster/cold-import-extension-lobster-plugins-lobster-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/lobster/cold-import-extension-lobster-plugins-lobster-crabpot-package-index-ts.synthetic.json -> .crabpot/results/lobster/cold-import-extension-lobster-plugins-lobster-crabpot-package-index-ts.synthetic.json |
| lobster | npm | dependency-install-required | node | plugins/lobster/.crabpot-package/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lobster && rsync -a --delete plugins/lobster/.crabpot-package/ .crabpot/workspaces/lobster/; prepare-artifacts: mkdir -p .crabpot/results/lobster; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/lobster/package-audit.json || true -> .crabpot/results/lobster/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/lobster/cold-import-runtimeExtension-lobster-plugins-lobster-crabpot-package-dist-index-js.capture.json -> .crabpot/results/lobster/cold-import-runtimeExtension-lobster-plugins-lobster-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/lobster/cold-import-runtimeExtension-lobster-plugins-lobster-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/lobster/cold-import-runtimeExtension-lobster-plugins-lobster-crabpot-package-dist-index-js.synthetic.json |
| matrix | npm | ts-loader-required | tsx (+jiti) | plugins/matrix/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/matrix && rsync -a --delete plugins/matrix/.crabpot-package/ .crabpot/workspaces/matrix/; prepare-artifacts: mkdir -p .crabpot/results/matrix; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/matrix/package-audit.json || true -> .crabpot/results/matrix/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/matrix/cold-import-extension-matrix-plugins-matrix-crabpot-package-index-ts.capture.json -> .crabpot/results/matrix/cold-import-extension-matrix-plugins-matrix-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/matrix/cold-import-extension-matrix-plugins-matrix-crabpot-package-index-ts.synthetic.json -> .crabpot/results/matrix/cold-import-extension-matrix-plugins-matrix-crabpot-package-index-ts.synthetic.json |
| matrix | npm | ts-loader-required | tsx (+jiti) | plugins/matrix/.crabpot-package/setup-entry.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/matrix && rsync -a --delete plugins/matrix/.crabpot-package/ .crabpot/workspaces/matrix/; prepare-artifacts: mkdir -p .crabpot/results/matrix; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/matrix/package-audit.json || true -> .crabpot/results/matrix/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/matrix/cold-import-setupEntry-matrix-plugins-matrix-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/matrix/cold-import-setupEntry-matrix-plugins-matrix-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/matrix/cold-import-setupEntry-matrix-plugins-matrix-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/matrix/cold-import-setupEntry-matrix-plugins-matrix-crabpot-package-setup-entry-ts.synthetic.json |
| msteams | npm | missing | node | plugins/msteams/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/msteams && rsync -a --delete plugins/msteams/.crabpot-package/ .crabpot/workspaces/msteams/; prepare-artifacts: mkdir -p .crabpot/results/msteams; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/msteams/cold-import-extension-msteams-plugins-msteams-crabpot-package-index-ts.capture.json -> .crabpot/results/msteams/cold-import-extension-msteams-plugins-msteams-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/msteams/cold-import-extension-msteams-plugins-msteams-crabpot-package-index-ts.synthetic.json -> .crabpot/results/msteams/cold-import-extension-msteams-plugins-msteams-crabpot-package-index-ts.synthetic.json |
| msteams | npm | dependency-install-required | node | plugins/msteams/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/msteams && rsync -a --delete plugins/msteams/.crabpot-package/ .crabpot/workspaces/msteams/; prepare-artifacts: mkdir -p .crabpot/results/msteams; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/msteams/package-audit.json || true -> .crabpot/results/msteams/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/msteams/cold-import-runtimeExtension-msteams-plugins-msteams-crabpot-package-dist-index-js.capture.json -> .crabpot/results/msteams/cold-import-runtimeExtension-msteams-plugins-msteams-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/msteams/cold-import-runtimeExtension-msteams-plugins-msteams-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/msteams/cold-import-runtimeExtension-msteams-plugins-msteams-crabpot-package-dist-index-js.synthetic.json |
| msteams | npm | missing | node | plugins/msteams/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/msteams && rsync -a --delete plugins/msteams/.crabpot-package/ .crabpot/workspaces/msteams/; prepare-artifacts: mkdir -p .crabpot/results/msteams; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/msteams/cold-import-setupEntry-msteams-plugins-msteams-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/msteams/cold-import-setupEntry-msteams-plugins-msteams-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/msteams/cold-import-setupEntry-msteams-plugins-msteams-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/msteams/cold-import-setupEntry-msteams-plugins-msteams-crabpot-package-setup-entry-ts.synthetic.json |
| nextcloud-talk | npm | missing | node | plugins/nextcloud-talk/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nextcloud-talk && rsync -a --delete plugins/nextcloud-talk/.crabpot-package/ .crabpot/workspaces/nextcloud-talk/; prepare-artifacts: mkdir -p .crabpot/results/nextcloud-talk; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/nextcloud-talk/cold-import-extension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-index-ts.capture.json -> .crabpot/results/nextcloud-talk/cold-import-extension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/nextcloud-talk/cold-import-extension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-index-ts.synthetic.json -> .crabpot/results/nextcloud-talk/cold-import-extension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-index-ts.synthetic.json |
| nextcloud-talk | npm | dependency-install-required | node | plugins/nextcloud-talk/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nextcloud-talk && rsync -a --delete plugins/nextcloud-talk/.crabpot-package/ .crabpot/workspaces/nextcloud-talk/; prepare-artifacts: mkdir -p .crabpot/results/nextcloud-talk; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/nextcloud-talk/package-audit.json || true -> .crabpot/results/nextcloud-talk/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/nextcloud-talk/cold-import-runtimeExtension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-dist-index-js.capture.json -> .crabpot/results/nextcloud-talk/cold-import-runtimeExtension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/nextcloud-talk/cold-import-runtimeExtension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/nextcloud-talk/cold-import-runtimeExtension-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-dist-index-js.synthetic.json |
| nextcloud-talk | npm | missing | node | plugins/nextcloud-talk/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nextcloud-talk && rsync -a --delete plugins/nextcloud-talk/.crabpot-package/ .crabpot/workspaces/nextcloud-talk/; prepare-artifacts: mkdir -p .crabpot/results/nextcloud-talk; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/nextcloud-talk/cold-import-setupEntry-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/nextcloud-talk/cold-import-setupEntry-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/nextcloud-talk/cold-import-setupEntry-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/nextcloud-talk/cold-import-setupEntry-nextcloud-talk-plugins-nextcloud-talk-crabpot-package-setup-entry-ts.synthetic.json |
| nostr | npm | missing | node | plugins/nostr/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nostr && rsync -a --delete plugins/nostr/.crabpot-package/ .crabpot/workspaces/nostr/; prepare-artifacts: mkdir -p .crabpot/results/nostr; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/nostr/cold-import-extension-nostr-plugins-nostr-crabpot-package-index-ts.capture.json -> .crabpot/results/nostr/cold-import-extension-nostr-plugins-nostr-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/nostr/cold-import-extension-nostr-plugins-nostr-crabpot-package-index-ts.synthetic.json -> .crabpot/results/nostr/cold-import-extension-nostr-plugins-nostr-crabpot-package-index-ts.synthetic.json |
| nostr | npm | dependency-install-required | node | plugins/nostr/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nostr && rsync -a --delete plugins/nostr/.crabpot-package/ .crabpot/workspaces/nostr/; prepare-artifacts: mkdir -p .crabpot/results/nostr; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/nostr/package-audit.json || true -> .crabpot/results/nostr/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/nostr/cold-import-runtimeExtension-nostr-plugins-nostr-crabpot-package-dist-index-js.capture.json -> .crabpot/results/nostr/cold-import-runtimeExtension-nostr-plugins-nostr-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/nostr/cold-import-runtimeExtension-nostr-plugins-nostr-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/nostr/cold-import-runtimeExtension-nostr-plugins-nostr-crabpot-package-dist-index-js.synthetic.json |
| nostr | npm | missing | node | plugins/nostr/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/nostr && rsync -a --delete plugins/nostr/.crabpot-package/ .crabpot/workspaces/nostr/; prepare-artifacts: mkdir -p .crabpot/results/nostr; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/nostr/cold-import-setupEntry-nostr-plugins-nostr-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/nostr/cold-import-setupEntry-nostr-plugins-nostr-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/nostr/cold-import-setupEntry-nostr-plugins-nostr-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/nostr/cold-import-setupEntry-nostr-plugins-nostr-crabpot-package-setup-entry-ts.synthetic.json |
| voice-call | npm | missing | node | plugins/voice-call/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/voice-call && rsync -a --delete plugins/voice-call/.crabpot-package/ .crabpot/workspaces/voice-call/; prepare-artifacts: mkdir -p .crabpot/results/voice-call; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/voice-call/cold-import-extension-voice-call-plugins-voice-call-crabpot-package-index-ts.capture.json -> .crabpot/results/voice-call/cold-import-extension-voice-call-plugins-voice-call-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/voice-call/cold-import-extension-voice-call-plugins-voice-call-crabpot-package-index-ts.synthetic.json -> .crabpot/results/voice-call/cold-import-extension-voice-call-plugins-voice-call-crabpot-package-index-ts.synthetic.json |
| voice-call | npm | dependency-install-required | node | plugins/voice-call/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/voice-call && rsync -a --delete plugins/voice-call/.crabpot-package/ .crabpot/workspaces/voice-call/; prepare-artifacts: mkdir -p .crabpot/results/voice-call; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/voice-call/package-audit.json || true -> .crabpot/results/voice-call/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/voice-call/cold-import-runtimeExtension-voice-call-plugins-voice-call-crabpot-package-dist-index-js.capture.json -> .crabpot/results/voice-call/cold-import-runtimeExtension-voice-call-plugins-voice-call-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/voice-call/cold-import-runtimeExtension-voice-call-plugins-voice-call-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/voice-call/cold-import-runtimeExtension-voice-call-plugins-voice-call-crabpot-package-dist-index-js.synthetic.json |
| zalo | npm | missing | node | plugins/zalo/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalo && rsync -a --delete plugins/zalo/.crabpot-package/ .crabpot/workspaces/zalo/; prepare-artifacts: mkdir -p .crabpot/results/zalo; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/zalo/cold-import-extension-zalo-plugins-zalo-crabpot-package-index-ts.capture.json -> .crabpot/results/zalo/cold-import-extension-zalo-plugins-zalo-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/zalo/cold-import-extension-zalo-plugins-zalo-crabpot-package-index-ts.synthetic.json -> .crabpot/results/zalo/cold-import-extension-zalo-plugins-zalo-crabpot-package-index-ts.synthetic.json |
| zalo | npm | dependency-install-required | node | plugins/zalo/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalo && rsync -a --delete plugins/zalo/.crabpot-package/ .crabpot/workspaces/zalo/; prepare-artifacts: mkdir -p .crabpot/results/zalo; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/zalo/package-audit.json || true -> .crabpot/results/zalo/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/zalo/cold-import-runtimeExtension-zalo-plugins-zalo-crabpot-package-dist-index-js.capture.json -> .crabpot/results/zalo/cold-import-runtimeExtension-zalo-plugins-zalo-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/zalo/cold-import-runtimeExtension-zalo-plugins-zalo-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/zalo/cold-import-runtimeExtension-zalo-plugins-zalo-crabpot-package-dist-index-js.synthetic.json |
| zalo | npm | missing | node | plugins/zalo/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalo && rsync -a --delete plugins/zalo/.crabpot-package/ .crabpot/workspaces/zalo/; prepare-artifacts: mkdir -p .crabpot/results/zalo; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/zalo/cold-import-setupEntry-zalo-plugins-zalo-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/zalo/cold-import-setupEntry-zalo-plugins-zalo-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/zalo/cold-import-setupEntry-zalo-plugins-zalo-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/zalo/cold-import-setupEntry-zalo-plugins-zalo-crabpot-package-setup-entry-ts.synthetic.json |
| zalouser | npm | missing | node | plugins/zalouser/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalouser && rsync -a --delete plugins/zalouser/.crabpot-package/ .crabpot/workspaces/zalouser/; prepare-artifacts: mkdir -p .crabpot/results/zalouser; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/zalouser/cold-import-extension-zalouser-plugins-zalouser-crabpot-package-index-ts.capture.json -> .crabpot/results/zalouser/cold-import-extension-zalouser-plugins-zalouser-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/zalouser/cold-import-extension-zalouser-plugins-zalouser-crabpot-package-index-ts.synthetic.json -> .crabpot/results/zalouser/cold-import-extension-zalouser-plugins-zalouser-crabpot-package-index-ts.synthetic.json |
| zalouser | npm | dependency-install-required | node | plugins/zalouser/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalouser && rsync -a --delete plugins/zalouser/.crabpot-package/ .crabpot/workspaces/zalouser/; prepare-artifacts: mkdir -p .crabpot/results/zalouser; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/zalouser/package-audit.json || true -> .crabpot/results/zalouser/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/zalouser/cold-import-runtimeExtension-zalouser-plugins-zalouser-crabpot-package-dist-index-js.capture.json -> .crabpot/results/zalouser/cold-import-runtimeExtension-zalouser-plugins-zalouser-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/zalouser/cold-import-runtimeExtension-zalouser-plugins-zalouser-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/zalouser/cold-import-runtimeExtension-zalouser-plugins-zalouser-crabpot-package-dist-index-js.synthetic.json |
| zalouser | npm | missing | node | plugins/zalouser/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/zalouser && rsync -a --delete plugins/zalouser/.crabpot-package/ .crabpot/workspaces/zalouser/; prepare-artifacts: mkdir -p .crabpot/results/zalouser; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/zalouser/cold-import-setupEntry-zalouser-plugins-zalouser-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/zalouser/cold-import-setupEntry-zalouser-plugins-zalouser-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/zalouser/cold-import-setupEntry-zalouser-plugins-zalouser-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/zalouser/cold-import-setupEntry-zalouser-plugins-zalouser-crabpot-package-setup-entry-ts.synthetic.json |
| feishu | npm | missing | node | plugins/feishu/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/feishu && rsync -a --delete plugins/feishu/.crabpot-package/ .crabpot/workspaces/feishu/; prepare-artifacts: mkdir -p .crabpot/results/feishu; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/feishu/cold-import-extension-feishu-plugins-feishu-crabpot-package-index-ts.capture.json -> .crabpot/results/feishu/cold-import-extension-feishu-plugins-feishu-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/feishu/cold-import-extension-feishu-plugins-feishu-crabpot-package-index-ts.synthetic.json -> .crabpot/results/feishu/cold-import-extension-feishu-plugins-feishu-crabpot-package-index-ts.synthetic.json |
| feishu | npm | dependency-install-required | node | plugins/feishu/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/feishu && rsync -a --delete plugins/feishu/.crabpot-package/ .crabpot/workspaces/feishu/; prepare-artifacts: mkdir -p .crabpot/results/feishu; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/feishu/package-audit.json || true -> .crabpot/results/feishu/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/feishu/cold-import-runtimeExtension-feishu-plugins-feishu-crabpot-package-dist-index-js.capture.json -> .crabpot/results/feishu/cold-import-runtimeExtension-feishu-plugins-feishu-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/feishu/cold-import-runtimeExtension-feishu-plugins-feishu-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/feishu/cold-import-runtimeExtension-feishu-plugins-feishu-crabpot-package-dist-index-js.synthetic.json |
| feishu | npm | missing | node | plugins/feishu/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/feishu && rsync -a --delete plugins/feishu/.crabpot-package/ .crabpot/workspaces/feishu/; prepare-artifacts: mkdir -p .crabpot/results/feishu; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/feishu/cold-import-setupEntry-feishu-plugins-feishu-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/feishu/cold-import-setupEntry-feishu-plugins-feishu-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/feishu/cold-import-setupEntry-feishu-plugins-feishu-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/feishu/cold-import-setupEntry-feishu-plugins-feishu-crabpot-package-setup-entry-ts.synthetic.json |
| tlon | npm | missing | node | plugins/tlon/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/tlon && rsync -a --delete plugins/tlon/.crabpot-package/ .crabpot/workspaces/tlon/; prepare-artifacts: mkdir -p .crabpot/results/tlon; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/tlon/cold-import-extension-tlon-plugins-tlon-crabpot-package-index-ts.capture.json -> .crabpot/results/tlon/cold-import-extension-tlon-plugins-tlon-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/tlon/cold-import-extension-tlon-plugins-tlon-crabpot-package-index-ts.synthetic.json -> .crabpot/results/tlon/cold-import-extension-tlon-plugins-tlon-crabpot-package-index-ts.synthetic.json |
| tlon | npm | dependency-install-required | node | plugins/tlon/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/tlon && rsync -a --delete plugins/tlon/.crabpot-package/ .crabpot/workspaces/tlon/; prepare-artifacts: mkdir -p .crabpot/results/tlon; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/tlon/package-audit.json || true -> .crabpot/results/tlon/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/tlon/cold-import-runtimeExtension-tlon-plugins-tlon-crabpot-package-dist-index-js.capture.json -> .crabpot/results/tlon/cold-import-runtimeExtension-tlon-plugins-tlon-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/tlon/cold-import-runtimeExtension-tlon-plugins-tlon-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/tlon/cold-import-runtimeExtension-tlon-plugins-tlon-crabpot-package-dist-index-js.synthetic.json |
| tlon | npm | missing | node | plugins/tlon/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/tlon && rsync -a --delete plugins/tlon/.crabpot-package/ .crabpot/workspaces/tlon/; prepare-artifacts: mkdir -p .crabpot/results/tlon; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/tlon/cold-import-setupEntry-tlon-plugins-tlon-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/tlon/cold-import-setupEntry-tlon-plugins-tlon-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/tlon/cold-import-setupEntry-tlon-plugins-tlon-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/tlon/cold-import-setupEntry-tlon-plugins-tlon-crabpot-package-setup-entry-ts.synthetic.json |
| twitch | npm | missing | node | plugins/twitch/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/twitch && rsync -a --delete plugins/twitch/.crabpot-package/ .crabpot/workspaces/twitch/; prepare-artifacts: mkdir -p .crabpot/results/twitch; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/twitch/cold-import-extension-twitch-plugins-twitch-crabpot-package-index-ts.capture.json -> .crabpot/results/twitch/cold-import-extension-twitch-plugins-twitch-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/twitch/cold-import-extension-twitch-plugins-twitch-crabpot-package-index-ts.synthetic.json -> .crabpot/results/twitch/cold-import-extension-twitch-plugins-twitch-crabpot-package-index-ts.synthetic.json |
| twitch | npm | dependency-install-required | node | plugins/twitch/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/twitch && rsync -a --delete plugins/twitch/.crabpot-package/ .crabpot/workspaces/twitch/; prepare-artifacts: mkdir -p .crabpot/results/twitch; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/twitch/package-audit.json || true -> .crabpot/results/twitch/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/twitch/cold-import-runtimeExtension-twitch-plugins-twitch-crabpot-package-dist-index-js.capture.json -> .crabpot/results/twitch/cold-import-runtimeExtension-twitch-plugins-twitch-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/twitch/cold-import-runtimeExtension-twitch-plugins-twitch-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/twitch/cold-import-runtimeExtension-twitch-plugins-twitch-crabpot-package-dist-index-js.synthetic.json |
| twitch | npm | missing | node | plugins/twitch/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/twitch && rsync -a --delete plugins/twitch/.crabpot-package/ .crabpot/workspaces/twitch/; prepare-artifacts: mkdir -p .crabpot/results/twitch; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/twitch/cold-import-setupEntry-twitch-plugins-twitch-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/twitch/cold-import-setupEntry-twitch-plugins-twitch-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/twitch/cold-import-setupEntry-twitch-plugins-twitch-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/twitch/cold-import-setupEntry-twitch-plugins-twitch-crabpot-package-setup-entry-ts.synthetic.json |
| mattermost | npm | ts-loader-required | tsx (+jiti) | plugins/mattermost/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/mattermost && rsync -a --delete plugins/mattermost/.crabpot-package/ .crabpot/workspaces/mattermost/; prepare-artifacts: mkdir -p .crabpot/results/mattermost; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mattermost/package-audit.json || true -> .crabpot/results/mattermost/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/mattermost/cold-import-extension-mattermost-plugins-mattermost-crabpot-package-index-ts.capture.json -> .crabpot/results/mattermost/cold-import-extension-mattermost-plugins-mattermost-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/mattermost/cold-import-extension-mattermost-plugins-mattermost-crabpot-package-index-ts.synthetic.json -> .crabpot/results/mattermost/cold-import-extension-mattermost-plugins-mattermost-crabpot-package-index-ts.synthetic.json |
| mattermost | npm | ts-loader-required | tsx (+jiti) | plugins/mattermost/.crabpot-package/setup-entry.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/mattermost && rsync -a --delete plugins/mattermost/.crabpot-package/ .crabpot/workspaces/mattermost/; prepare-artifacts: mkdir -p .crabpot/results/mattermost; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mattermost/package-audit.json || true -> .crabpot/results/mattermost/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/mattermost/cold-import-setupEntry-mattermost-plugins-mattermost-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/mattermost/cold-import-setupEntry-mattermost-plugins-mattermost-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/mattermost/cold-import-setupEntry-mattermost-plugins-mattermost-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/mattermost/cold-import-setupEntry-mattermost-plugins-mattermost-crabpot-package-setup-entry-ts.synthetic.json |
| synology-chat | npm | missing | node | plugins/synology-chat/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/synology-chat && rsync -a --delete plugins/synology-chat/.crabpot-package/ .crabpot/workspaces/synology-chat/; prepare-artifacts: mkdir -p .crabpot/results/synology-chat; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/synology-chat/cold-import-extension-synology-chat-plugins-synology-chat-crabpot-package-index-ts.capture.json -> .crabpot/results/synology-chat/cold-import-extension-synology-chat-plugins-synology-chat-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/synology-chat/cold-import-extension-synology-chat-plugins-synology-chat-crabpot-package-index-ts.synthetic.json -> .crabpot/results/synology-chat/cold-import-extension-synology-chat-plugins-synology-chat-crabpot-package-index-ts.synthetic.json |
| synology-chat | npm | dependency-install-required | node | plugins/synology-chat/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/synology-chat && rsync -a --delete plugins/synology-chat/.crabpot-package/ .crabpot/workspaces/synology-chat/; prepare-artifacts: mkdir -p .crabpot/results/synology-chat; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/synology-chat/package-audit.json || true -> .crabpot/results/synology-chat/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/synology-chat/cold-import-runtimeExtension-synology-chat-plugins-synology-chat-crabpot-package-dist-index-js.capture.json -> .crabpot/results/synology-chat/cold-import-runtimeExtension-synology-chat-plugins-synology-chat-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/synology-chat/cold-import-runtimeExtension-synology-chat-plugins-synology-chat-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/synology-chat/cold-import-runtimeExtension-synology-chat-plugins-synology-chat-crabpot-package-dist-index-js.synthetic.json |
| synology-chat | npm | missing | node | plugins/synology-chat/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/synology-chat && rsync -a --delete plugins/synology-chat/.crabpot-package/ .crabpot/workspaces/synology-chat/; prepare-artifacts: mkdir -p .crabpot/results/synology-chat; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/synology-chat/cold-import-setupEntry-synology-chat-plugins-synology-chat-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/synology-chat/cold-import-setupEntry-synology-chat-plugins-synology-chat-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/synology-chat/cold-import-setupEntry-synology-chat-plugins-synology-chat-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/synology-chat/cold-import-setupEntry-synology-chat-plugins-synology-chat-crabpot-package-setup-entry-ts.synthetic.json |
| brave-plugin | npm | missing | node | plugins/brave-plugin/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/brave-plugin && rsync -a --delete plugins/brave-plugin/.crabpot-package/ .crabpot/workspaces/brave-plugin/; prepare-artifacts: mkdir -p .crabpot/results/brave-plugin; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/brave-plugin/cold-import-extension-brave-plugin-plugins-brave-plugin-crabpot-package-index-ts.capture.json -> .crabpot/results/brave-plugin/cold-import-extension-brave-plugin-plugins-brave-plugin-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/brave-plugin/cold-import-extension-brave-plugin-plugins-brave-plugin-crabpot-package-index-ts.synthetic.json -> .crabpot/results/brave-plugin/cold-import-extension-brave-plugin-plugins-brave-plugin-crabpot-package-index-ts.synthetic.json |
| brave-plugin | npm | ready | node | plugins/brave-plugin/.crabpot-package/dist/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/brave-plugin && rsync -a --delete plugins/brave-plugin/.crabpot-package/ .crabpot/workspaces/brave-plugin/; prepare-artifacts: mkdir -p .crabpot/results/brave-plugin; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/brave-plugin/cold-import-runtimeExtension-brave-plugin-plugins-brave-plugin-crabpot-package-dist-index-js.capture.json -> .crabpot/results/brave-plugin/cold-import-runtimeExtension-brave-plugin-plugins-brave-plugin-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/brave-plugin/cold-import-runtimeExtension-brave-plugin-plugins-brave-plugin-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/brave-plugin/cold-import-runtimeExtension-brave-plugin-plugins-brave-plugin-crabpot-package-dist-index-js.synthetic.json |
| codex | npm | missing | node | plugins/codex/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/codex && rsync -a --delete plugins/codex/.crabpot-package/ .crabpot/workspaces/codex/; prepare-artifacts: mkdir -p .crabpot/results/codex; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/codex/cold-import-extension-codex-plugins-codex-crabpot-package-index-ts.capture.json -> .crabpot/results/codex/cold-import-extension-codex-plugins-codex-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/codex/cold-import-extension-codex-plugins-codex-crabpot-package-index-ts.synthetic.json -> .crabpot/results/codex/cold-import-extension-codex-plugins-codex-crabpot-package-index-ts.synthetic.json |
| codex | npm | dependency-install-required | node | plugins/codex/.crabpot-package/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/codex && rsync -a --delete plugins/codex/.crabpot-package/ .crabpot/workspaces/codex/; prepare-artifacts: mkdir -p .crabpot/results/codex; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/codex/package-audit.json || true -> .crabpot/results/codex/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/codex/cold-import-runtimeExtension-codex-plugins-codex-crabpot-package-dist-index-js.capture.json -> .crabpot/results/codex/cold-import-runtimeExtension-codex-plugins-codex-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/codex/cold-import-runtimeExtension-codex-plugins-codex-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/codex/cold-import-runtimeExtension-codex-plugins-codex-crabpot-package-dist-index-js.synthetic.json |
| diagnostics-prometheus | npm | missing | node | plugins/diagnostics-prometheus/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diagnostics-prometheus && rsync -a --delete plugins/diagnostics-prometheus/.crabpot-package/ .crabpot/workspaces/diagnostics-prometheus/; prepare-artifacts: mkdir -p .crabpot/results/diagnostics-prometheus; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/diagnostics-prometheus/cold-import-extension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-index-ts.capture.json -> .crabpot/results/diagnostics-prometheus/cold-import-extension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/diagnostics-prometheus/cold-import-extension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-index-ts.synthetic.json -> .crabpot/results/diagnostics-prometheus/cold-import-extension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-index-ts.synthetic.json |
| diagnostics-prometheus | npm | ready | node | plugins/diagnostics-prometheus/.crabpot-package/dist/index.js | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diagnostics-prometheus && rsync -a --delete plugins/diagnostics-prometheus/.crabpot-package/ .crabpot/workspaces/diagnostics-prometheus/; prepare-artifacts: mkdir -p .crabpot/results/diagnostics-prometheus; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/diagnostics-prometheus/cold-import-runtimeExtension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-dist-index-js.capture.json -> .crabpot/results/diagnostics-prometheus/cold-import-runtimeExtension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/diagnostics-prometheus/cold-import-runtimeExtension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/diagnostics-prometheus/cold-import-runtimeExtension-diagnostics-prometheus-plugins-diagnostics-prometheus-crabpot-package-dist-index-js.synthetic.json |
| google-meet | npm | missing | node | plugins/google-meet/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/google-meet && rsync -a --delete plugins/google-meet/.crabpot-package/ .crabpot/workspaces/google-meet/; prepare-artifacts: mkdir -p .crabpot/results/google-meet; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/google-meet/cold-import-extension-google-meet-plugins-google-meet-crabpot-package-index-ts.capture.json -> .crabpot/results/google-meet/cold-import-extension-google-meet-plugins-google-meet-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/google-meet/cold-import-extension-google-meet-plugins-google-meet-crabpot-package-index-ts.synthetic.json -> .crabpot/results/google-meet/cold-import-extension-google-meet-plugins-google-meet-crabpot-package-index-ts.synthetic.json |
| google-meet | npm | dependency-install-required | node | plugins/google-meet/.crabpot-package/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/google-meet && rsync -a --delete plugins/google-meet/.crabpot-package/ .crabpot/workspaces/google-meet/; prepare-artifacts: mkdir -p .crabpot/results/google-meet; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/google-meet/package-audit.json || true -> .crabpot/results/google-meet/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/google-meet/cold-import-runtimeExtension-google-meet-plugins-google-meet-crabpot-package-dist-index-js.capture.json -> .crabpot/results/google-meet/cold-import-runtimeExtension-google-meet-plugins-google-meet-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/google-meet/cold-import-runtimeExtension-google-meet-plugins-google-meet-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/google-meet/cold-import-runtimeExtension-google-meet-plugins-google-meet-crabpot-package-dist-index-js.synthetic.json |
| diffs | npm | missing | node | plugins/diffs/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diffs && rsync -a --delete plugins/diffs/.crabpot-package/ .crabpot/workspaces/diffs/; prepare-artifacts: mkdir -p .crabpot/results/diffs; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/diffs/cold-import-extension-diffs-plugins-diffs-crabpot-package-index-ts.capture.json -> .crabpot/results/diffs/cold-import-extension-diffs-plugins-diffs-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/diffs/cold-import-extension-diffs-plugins-diffs-crabpot-package-index-ts.synthetic.json -> .crabpot/results/diffs/cold-import-extension-diffs-plugins-diffs-crabpot-package-index-ts.synthetic.json |
| diffs | npm | dependency-install-required | node | plugins/diffs/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/diffs && rsync -a --delete plugins/diffs/.crabpot-package/ .crabpot/workspaces/diffs/; prepare-artifacts: mkdir -p .crabpot/results/diffs; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/diffs/package-audit.json || true -> .crabpot/results/diffs/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/diffs/cold-import-runtimeExtension-diffs-plugins-diffs-crabpot-package-dist-index-js.capture.json -> .crabpot/results/diffs/cold-import-runtimeExtension-diffs-plugins-diffs-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/diffs/cold-import-runtimeExtension-diffs-plugins-diffs-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/diffs/cold-import-runtimeExtension-diffs-plugins-diffs-crabpot-package-dist-index-js.synthetic.json |
| memory-lancedb | npm | missing | node | plugins/memory-lancedb/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/memory-lancedb && rsync -a --delete plugins/memory-lancedb/.crabpot-package/ .crabpot/workspaces/memory-lancedb/; prepare-artifacts: mkdir -p .crabpot/results/memory-lancedb; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/memory-lancedb/cold-import-extension-memory-lancedb-plugins-memory-lancedb-crabpot-package-index-ts.capture.json -> .crabpot/results/memory-lancedb/cold-import-extension-memory-lancedb-plugins-memory-lancedb-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/memory-lancedb/cold-import-extension-memory-lancedb-plugins-memory-lancedb-crabpot-package-index-ts.synthetic.json -> .crabpot/results/memory-lancedb/cold-import-extension-memory-lancedb-plugins-memory-lancedb-crabpot-package-index-ts.synthetic.json |
| memory-lancedb | npm | dependency-install-required | node | plugins/memory-lancedb/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/memory-lancedb && rsync -a --delete plugins/memory-lancedb/.crabpot-package/ .crabpot/workspaces/memory-lancedb/; prepare-artifacts: mkdir -p .crabpot/results/memory-lancedb; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/memory-lancedb/package-audit.json || true -> .crabpot/results/memory-lancedb/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/memory-lancedb/cold-import-runtimeExtension-memory-lancedb-plugins-memory-lancedb-crabpot-package-dist-index-js.capture.json -> .crabpot/results/memory-lancedb/cold-import-runtimeExtension-memory-lancedb-plugins-memory-lancedb-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/memory-lancedb/cold-import-runtimeExtension-memory-lancedb-plugins-memory-lancedb-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/memory-lancedb/cold-import-runtimeExtension-memory-lancedb-plugins-memory-lancedb-crabpot-package-dist-index-js.synthetic.json |
| openclaw-qqbot | npm | missing | node | plugins/openclaw-qqbot/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/openclaw-qqbot && rsync -a --delete plugins/openclaw-qqbot/.crabpot-package/ .crabpot/workspaces/openclaw-qqbot/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-qqbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/openclaw-qqbot/cold-import-extension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-index-ts.capture.json -> .crabpot/results/openclaw-qqbot/cold-import-extension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/openclaw-qqbot/cold-import-extension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-index-ts.synthetic.json -> .crabpot/results/openclaw-qqbot/cold-import-extension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-index-ts.synthetic.json |
| openclaw-qqbot | npm | dependency-install-required | node | plugins/openclaw-qqbot/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/openclaw-qqbot && rsync -a --delete plugins/openclaw-qqbot/.crabpot-package/ .crabpot/workspaces/openclaw-qqbot/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-qqbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/openclaw-qqbot/package-audit.json || true -> .crabpot/results/openclaw-qqbot/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/openclaw-qqbot/cold-import-runtimeExtension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-dist-index-js.capture.json -> .crabpot/results/openclaw-qqbot/cold-import-runtimeExtension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/openclaw-qqbot/cold-import-runtimeExtension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/openclaw-qqbot/cold-import-runtimeExtension-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-dist-index-js.synthetic.json |
| openclaw-qqbot | npm | missing | node | plugins/openclaw-qqbot/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/openclaw-qqbot && rsync -a --delete plugins/openclaw-qqbot/.crabpot-package/ .crabpot/workspaces/openclaw-qqbot/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-qqbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/openclaw-qqbot/cold-import-setupEntry-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/openclaw-qqbot/cold-import-setupEntry-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/openclaw-qqbot/cold-import-setupEntry-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/openclaw-qqbot/cold-import-setupEntry-openclaw-qqbot-plugins-openclaw-qqbot-crabpot-package-setup-entry-ts.synthetic.json |
| whatsapp | npm | missing | node | plugins/whatsapp/.crabpot-package/index.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/whatsapp && rsync -a --delete plugins/whatsapp/.crabpot-package/ .crabpot/workspaces/whatsapp/; prepare-artifacts: mkdir -p .crabpot/results/whatsapp; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/whatsapp/cold-import-extension-whatsapp-plugins-whatsapp-crabpot-package-index-ts.capture.json -> .crabpot/results/whatsapp/cold-import-extension-whatsapp-plugins-whatsapp-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/whatsapp/cold-import-extension-whatsapp-plugins-whatsapp-crabpot-package-index-ts.synthetic.json -> .crabpot/results/whatsapp/cold-import-extension-whatsapp-plugins-whatsapp-crabpot-package-index-ts.synthetic.json |
| whatsapp | npm | dependency-install-required | node | plugins/whatsapp/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/whatsapp && rsync -a --delete plugins/whatsapp/.crabpot-package/ .crabpot/workspaces/whatsapp/; prepare-artifacts: mkdir -p .crabpot/results/whatsapp; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; prune-dev-workspace-deps: node ../../plugin-inspector/8899fc796c64655bdef3583286215ca0aeeef388/src/prune-workspace-dev-deps-cli.js; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/whatsapp/package-audit.json || true -> .crabpot/results/whatsapp/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/whatsapp/cold-import-runtimeExtension-whatsapp-plugins-whatsapp-crabpot-package-dist-index-js.capture.json -> .crabpot/results/whatsapp/cold-import-runtimeExtension-whatsapp-plugins-whatsapp-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/whatsapp/cold-import-runtimeExtension-whatsapp-plugins-whatsapp-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/whatsapp/cold-import-runtimeExtension-whatsapp-plugins-whatsapp-crabpot-package-dist-index-js.synthetic.json |
| whatsapp | npm | missing | node | plugins/whatsapp/.crabpot-package/setup-entry.ts | capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/whatsapp && rsync -a --delete plugins/whatsapp/.crabpot-package/ .crabpot/workspaces/whatsapp/; prepare-artifacts: mkdir -p .crabpot/results/whatsapp; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/whatsapp/cold-import-setupEntry-whatsapp-plugins-whatsapp-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/whatsapp/cold-import-setupEntry-whatsapp-plugins-whatsapp-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/whatsapp/cold-import-setupEntry-whatsapp-plugins-whatsapp-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/whatsapp/cold-import-setupEntry-whatsapp-plugins-whatsapp-crabpot-package-setup-entry-ts.synthetic.json |
| nemoclaw | npm | build-required | node | plugins/nemoclaw/nemoclaw/dist/index.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/nemoclaw && rsync -a --delete plugins/nemoclaw/nemoclaw/ .crabpot/workspaces/nemoclaw/; prepare-artifacts: mkdir -p .crabpot/results/nemoclaw; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.capture.json -> .crabpot/results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.synthetic.json -> .crabpot/results/nemoclaw/cold-import-extension-nemoclaw-plugins-nemoclaw-nemoclaw-dist-index-js.synthetic.json |
| memory-tencentdb | npm | ts-loader-required | tsx (+jiti) | plugins/memory-tencentdb/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/memory-tencentdb && rsync -a --delete plugins/memory-tencentdb/.crabpot-package/ .crabpot/workspaces/memory-tencentdb/; prepare-artifacts: mkdir -p .crabpot/results/memory-tencentdb; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/memory-tencentdb/package-audit.json || true -> .crabpot/results/memory-tencentdb/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.capture.json -> .crabpot/results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.synthetic.json -> .crabpot/results/memory-tencentdb/cold-import-extension-memory-tencentdb-plugins-memory-tencentdb-crabpot-package-index-ts.synthetic.json |
| ddingtalk | pnpm | ts-loader-required | tsx (+jiti) | plugins/ddingtalk/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/ddingtalk && rsync -a --delete plugins/ddingtalk/ .crabpot/workspaces/ddingtalk/; prepare-artifacts: mkdir -p .crabpot/results/ddingtalk; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/ddingtalk/package-audit.json || true -> .crabpot/results/ddingtalk/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.capture.json -> .crabpot/results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.synthetic.json -> .crabpot/results/ddingtalk/cold-import-extension-ddingtalk-plugins-ddingtalk-index-ts.synthetic.json |
| dingtalk-connector | npm | build-required | node | plugins/dingtalk-connector/dist/index.mjs | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/dingtalk-connector && rsync -a --delete plugins/dingtalk-connector/ .crabpot/workspaces/dingtalk-connector/; prepare-artifacts: mkdir -p .crabpot/results/dingtalk-connector; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.mjs --mock-sdk --output ../../results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.capture.json -> .crabpot/results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.mjs --mock-sdk --output ../../results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.synthetic.json -> .crabpot/results/dingtalk-connector/cold-import-extension-dingtalk-connector-plugins-dingtalk-connector-dist-index-mjs.synthetic.json |
| mocrane-wecom | npm | ts-loader-required | tsx (+jiti) | plugins/mocrane-wecom/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/mocrane-wecom && rsync -a --delete plugins/mocrane-wecom/ .crabpot/workspaces/mocrane-wecom/; prepare-artifacts: mkdir -p .crabpot/results/mocrane-wecom; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/mocrane-wecom/package-audit.json || true -> .crabpot/results/mocrane-wecom/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.capture.json -> .crabpot/results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.synthetic.json -> .crabpot/results/mocrane-wecom/cold-import-extension-mocrane-wecom-plugins-mocrane-wecom-index-ts.synthetic.json |
| yuanbao | npm | ts-loader-required | tsx (+jiti) | plugins/yuanbao/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/yuanbao && rsync -a --delete plugins/yuanbao/.crabpot-package/ .crabpot/workspaces/yuanbao/; prepare-artifacts: mkdir -p .crabpot/results/yuanbao; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/yuanbao/package-audit.json || true -> .crabpot/results/yuanbao/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.capture.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.synthetic.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-index-ts.synthetic.json |
| yuanbao | npm | ts-loader-required | tsx (+jiti) | plugins/yuanbao/.crabpot-package/setup-entry.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/yuanbao && rsync -a --delete plugins/yuanbao/.crabpot-package/ .crabpot/workspaces/yuanbao/; prepare-artifacts: mkdir -p .crabpot/results/yuanbao; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/yuanbao/package-audit.json || true -> .crabpot/results/yuanbao/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./setup-entry.ts --mock-sdk --output ../../results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.capture.json -> .crabpot/results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./setup-entry.ts --mock-sdk --output ../../results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.synthetic.json -> .crabpot/results/yuanbao/cold-import-setupEntry-yuanbao-plugins-yuanbao-crabpot-package-setup-entry-ts.synthetic.json |
| openclaw-weixin | npm | ts-loader-required | tsx (+jiti) | plugins/openclaw-weixin/.crabpot-package/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/openclaw-weixin && rsync -a --delete plugins/openclaw-weixin/.crabpot-package/ .crabpot/workspaces/openclaw-weixin/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-weixin; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/openclaw-weixin/package-audit.json || true -> .crabpot/results/openclaw-weixin/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.capture.json -> .crabpot/results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.synthetic.json -> .crabpot/results/openclaw-weixin/cold-import-extension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-index-ts.synthetic.json |
| openclaw-weixin | npm | dependency-install-required | node | plugins/openclaw-weixin/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/openclaw-weixin && rsync -a --delete plugins/openclaw-weixin/.crabpot-package/ .crabpot/workspaces/openclaw-weixin/; prepare-artifacts: mkdir -p .crabpot/results/openclaw-weixin; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/openclaw-weixin/package-audit.json || true -> .crabpot/results/openclaw-weixin/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/openclaw-weixin/cold-import-runtimeExtension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-dist-index-js.capture.json -> .crabpot/results/openclaw-weixin/cold-import-runtimeExtension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/openclaw-weixin/cold-import-runtimeExtension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/openclaw-weixin/cold-import-runtimeExtension-openclaw-weixin-plugins-openclaw-weixin-crabpot-package-dist-index-js.synthetic.json |
| lightclawbot | npm | dependency-install-required | node | plugins/lightclawbot/.crabpot-package/dist/index.js | capture-shim, dependency-install, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/lightclawbot && rsync -a --delete plugins/lightclawbot/.crabpot-package/ .crabpot/workspaces/lightclawbot/; prepare-artifacts: mkdir -p .crabpot/results/lightclawbot; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/lightclawbot/package-audit.json || true -> .crabpot/results/lightclawbot/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.capture.json -> .crabpot/results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/lightclawbot/cold-import-extension-lightclawbot-plugins-lightclawbot-crabpot-package-dist-index-js.synthetic.json |
| telnyx-sms | npm | build-required | node | plugins/telnyx-sms/dist/index.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/telnyx-sms && rsync -a --delete plugins/telnyx-sms/ .crabpot/workspaces/telnyx-sms/; prepare-artifacts: mkdir -p .crabpot/results/telnyx-sms; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.capture.json -> .crabpot/results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.synthetic.json -> .crabpot/results/telnyx-sms/cold-import-extension-telnyx-sms-plugins-telnyx-sms-dist-index-js.synthetic.json |
| telnyx-sms | npm | build-required | node | plugins/telnyx-sms/dist/setup-entry.js | build, capture-shim, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/telnyx-sms && rsync -a --delete plugins/telnyx-sms/ .crabpot/workspaces/telnyx-sms/; prepare-artifacts: mkdir -p .crabpot/results/telnyx-sms; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/setup-entry.js --mock-sdk --output ../../results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.capture.json -> .crabpot/results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/setup-entry.js --mock-sdk --output ../../results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.synthetic.json -> .crabpot/results/telnyx-sms/cold-import-setupEntry-telnyx-sms-plugins-telnyx-sms-dist-setup-entry-js.synthetic.json |
| clawrouter | npm | dependency-install-required | node | plugins/clawrouter/dist/index.js | capture-shim, dependency-install, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/clawrouter && rsync -a --delete plugins/clawrouter/ .crabpot/workspaces/clawrouter/; prepare-artifacts: mkdir -p .crabpot/results/clawrouter; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/clawrouter/package-audit.json || true -> .crabpot/results/clawrouter/package-audit.json; capture: 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 -> .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.capture.json; synthetic-probe: 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 -> .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json |
| memu-engine | npm | ts-loader-required | tsx (+jiti) | plugins/memu-engine/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/memu-engine && rsync -a --delete plugins/memu-engine/ .crabpot/workspaces/memu-engine/; prepare-artifacts: mkdir -p .crabpot/results/memu-engine; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.capture.json -> .crabpot/results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.synthetic.json -> .crabpot/results/memu-engine/cold-import-extension-memu-engine-plugins-memu-engine-index-ts.synthetic.json |
| secureclaw | npm | build-required | node | plugins/secureclaw/secureclaw/dist/index.js | build, capture-shim, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/secureclaw && rsync -a --delete plugins/secureclaw/secureclaw/ .crabpot/workspaces/secureclaw/; prepare-artifacts: mkdir -p .crabpot/results/secureclaw; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.capture.json -> .crabpot/results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.synthetic.json -> .crabpot/results/secureclaw/cold-import-extension-secureclaw-plugins-secureclaw-secureclaw-dist-index-js.synthetic.json |
| memos-cloud | npm | review-required | node | plugins/memos-cloud/index.js | capture-shim, side-effect-sandbox, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/memos-cloud && rsync -a --delete plugins/memos-cloud/ .crabpot/workspaces/memos-cloud/; prepare-artifacts: mkdir -p .crabpot/results/memos-cloud; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.js --mock-sdk --output ../../results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.capture.json -> .crabpot/results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.js --mock-sdk --output ../../results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.synthetic.json -> .crabpot/results/memos-cloud/cold-import-extension-memos-cloud-plugins-memos-cloud-index-js.synthetic.json |
| clawmetry | npm | sdk-alias-required | tsx (+jiti) | plugins/clawmetry/clawhub-plugin/index.ts | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, ts-loader | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/clawmetry/package-audit.json || true -> .crabpot/results/clawmetry/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.capture.json -> .crabpot/results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.synthetic.json -> .crabpot/results/clawmetry/cold-import-extension-clawmetry-plugins-clawmetry-clawhub-plugin-index-ts.synthetic.json |
| clawmetry | npm | sdk-alias-required | node | plugins/clawmetry/clawhub-plugin/dist/index.js | build, capture-shim, sdk-alias-compat, synthetic-probes | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; build: npm run build; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.capture.json -> .crabpot/results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.synthetic.json -> .crabpot/results/clawmetry/cold-import-runtimeExtension-clawmetry-plugins-clawmetry-clawhub-plugin-dist-index-js.synthetic.json |
| codex-app-server | pnpm | ts-loader-required | tsx (+jiti) | plugins/codex-app-server/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/codex-app-server && rsync -a --delete plugins/codex-app-server/ .crabpot/workspaces/codex-app-server/; prepare-artifacts: mkdir -p .crabpot/results/codex-app-server; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/codex-app-server/package-audit.json || true -> .crabpot/results/codex-app-server/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.capture.json -> .crabpot/results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.synthetic.json -> .crabpot/results/codex-app-server/cold-import-extension-codex-app-server-plugins-codex-app-server-index-ts.synthetic.json |
| web-search-plus | npm | ts-loader-required | tsx (+jiti) | plugins/web-search-plus/index.ts | capture-shim, side-effect-sandbox, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/web-search-plus && rsync -a --delete plugins/web-search-plus/ .crabpot/workspaces/web-search-plus/; prepare-artifacts: mkdir -p .crabpot/results/web-search-plus; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.capture.json -> .crabpot/results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.synthetic.json -> .crabpot/results/web-search-plus/cold-import-extension-web-search-plus-plugins-web-search-plus-index-ts.synthetic.json |
| web-search-plus | npm | review-required | node | plugins/web-search-plus/dist/index.js | capture-shim, side-effect-sandbox, synthetic-probes, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/web-search-plus && rsync -a --delete plugins/web-search-plus/ .crabpot/workspaces/web-search-plus/; prepare-artifacts: mkdir -p .crabpot/results/web-search-plus; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./dist/index.js --mock-sdk --output ../../results/web-search-plus/cold-import-runtimeExtension-web-search-plus-plugins-web-search-plus-dist-index-js.capture.json -> .crabpot/results/web-search-plus/cold-import-runtimeExtension-web-search-plus-plugins-web-search-plus-dist-index-js.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./dist/index.js --mock-sdk --output ../../results/web-search-plus/cold-import-runtimeExtension-web-search-plus-plugins-web-search-plus-dist-index-js.synthetic.json -> .crabpot/results/web-search-plus/cold-import-runtimeExtension-web-search-plus-plugins-web-search-plus-dist-index-js.synthetic.json |
| apify | npm | ts-loader-required | tsx (+jiti) | plugins/apify/src/index.ts | capture-shim, dependency-install, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/apify && rsync -a --delete plugins/apify/ .crabpot/workspaces/apify/; prepare-artifacts: mkdir -p .crabpot/results/apify; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/apify/package-audit.json || true -> .crabpot/results/apify/package-audit.json; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./src/index.ts --mock-sdk --output ../../results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.capture.json -> .crabpot/results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./src/index.ts --mock-sdk --output ../../results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.synthetic.json -> .crabpot/results/apify/cold-import-extension-apify-plugins-apify-src-index-ts.synthetic.json |
| inworld-tts | pnpm | ts-loader-required | tsx (+jiti) | plugins/inworld-tts/index.ts | capture-shim, synthetic-probes, target-openclaw-link, ts-loader | prepare: mkdir -p .crabpot/workspaces/inworld-tts && rsync -a --delete plugins/inworld-tts/ .crabpot/workspaces/inworld-tts/; prepare-artifacts: mkdir -p .crabpot/results/inworld-tts; link-openclaw: pnpm pkg set dependencies.openclaw="file:../../../openclaw"; capture: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/run-cold-import-capture.mjs ./index.ts --mock-sdk --output ../../results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.capture.json -> .crabpot/results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.capture.json; synthetic-probe: CRABPOT_EXECUTE_ISOLATED=1 node ../../../scripts/synthetic-probes.mjs --entrypoint ./index.ts --mock-sdk --output ../../results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.synthetic.json -> .crabpot/results/inworld-tts/cold-import-extension-inworld-tts-plugins-inworld-tts-index-ts.synthetic.json |

Some files were not shown because too many files have changed in this diff Show More