Compare commits

...

2 Commits

Author SHA1 Message Date
github-actions[bot]
bf6e6cb831 chore(reports): refresh dependabot compatibility reports 2026-04-28 22:07:16 +00:00
Vincent Koc
2c3eac39f1
chore(deps): bump plugins/wecom from b7849ac to 503a1d5 2026-04-28 15:06:23 -07:00
21 changed files with 1296 additions and 1308 deletions

View File

@ -10,15 +10,15 @@ is to catch contract drift before external plugin authors do.
<!-- crabpot-summary:start -->
## Dashboard
Last dashboard update: Apr 28, 2026, 20:45 UTC
Last dashboard update: Apr 28, 2026, 22:06 UTC
State: PASS
Mode: check
Mode: dependabot
OpenClaw: openclaw/openclaw@main
Run: https://github.com/openclaw/crabpot/actions/runs/25076606267
Run: https://github.com/openclaw/crabpot/actions/runs/25080150772
### Result Grid

@ -1 +1 @@
Subproject commit b7849ac055c8fa699d01b48e83cf24028907307d
Subproject commit 503a1d5403bc3a57763b9ef17c60a9d5e31b53d9

View File

@ -2,7 +2,7 @@
"generatedAt": "deterministic",
"targetOpenClaw": {
"status": "ok",
"configuredPath": "../openclaw",
"configuredPath": "./openclaw",
"capturedRegistrarCount": 26,
"sdkExportCount": 292
},
@ -172,10 +172,10 @@
]
},
{
"id": "registration.registerHttpRoute:wecom:plugins-wecom-index-js-45",
"id": "registration.registerHttpRoute:wecom:plugins-wecom-index-js-56",
"fixture": "wecom",
"registrar": "registerHttpRoute",
"ref": "plugins/wecom/index.js:45",
"ref": "plugins/wecom/index.js:56",
"support": "inspector-shim-required",
"assertions": [
"route method and path are captured",
@ -212,10 +212,10 @@
]
},
{
"id": "registration.registerTool:wecom:plugins-wecom-index-js-29",
"id": "registration.registerTool:wecom:plugins-wecom-index-js-40",
"fixture": "wecom",
"registrar": "registerTool",
"ref": "plugins/wecom/index.js:29",
"ref": "plugins/wecom/index.js:40",
"support": "target-captured",
"assertions": [
"tool name is stable",
@ -234,10 +234,10 @@
]
},
{
"id": "registration.registerTool:wecom:plugins-wecom-index-js-33",
"id": "registration.registerTool:wecom:plugins-wecom-index-js-44",
"fixture": "wecom",
"registrar": "registerTool",
"ref": "plugins/wecom/index.js:33",
"ref": "plugins/wecom/index.js:44",
"support": "target-captured",
"assertions": [
"tool name is stable",
@ -258,10 +258,10 @@
],
"hooks": [
{
"id": "hook.before_prompt_build:wecom:plugins-wecom-index-js-53",
"id": "hook.before_prompt_build:wecom:plugins-wecom-index-js-64",
"fixture": "wecom",
"hook": "before_prompt_build",
"ref": "plugins/wecom/index.js:53",
"ref": "plugins/wecom/index.js:64",
"support": "synthetic-event-required",
"assertions": [
"prompt mutation result is preserved",
@ -289,10 +289,10 @@
}
},
{
"id": "hook.before_tool_call:wecom:plugins-wecom-index-js-65",
"id": "hook.before_tool_call:wecom:plugins-wecom-index-js-76",
"fixture": "wecom",
"hook": "before_tool_call",
"ref": "plugins/wecom/index.js:65",
"ref": "plugins/wecom/index.js:76",
"support": "synthetic-event-required",
"assertions": [
"block/allow return shapes are preserved",
@ -312,10 +312,10 @@
}
},
{
"id": "hook.subagent_delivery_target:wecom:plugins-wecom-index-js-61",
"id": "hook.subagent_delivery_target:wecom:plugins-wecom-index-js-72",
"fixture": "wecom",
"hook": "subagent_delivery_target",
"ref": "plugins/wecom/index.js:61",
"ref": "plugins/wecom/index.js:72",
"support": "synthetic-event-required",
"assertions": [
"target routing result is preserved",
@ -337,10 +337,10 @@
}
},
{
"id": "hook.subagent_ended:wecom:plugins-wecom-index-js-63",
"id": "hook.subagent_ended:wecom:plugins-wecom-index-js-74",
"fixture": "wecom",
"hook": "subagent_ended",
"ref": "plugins/wecom/index.js:63",
"ref": "plugins/wecom/index.js:74",
"support": "synthetic-event-required",
"assertions": [
"subagent completion payload is preserved",
@ -357,10 +357,10 @@
}
},
{
"id": "hook.subagent_spawned:wecom:plugins-wecom-index-js-62",
"id": "hook.subagent_spawned:wecom:plugins-wecom-index-js-73",
"fixture": "wecom",
"hook": "subagent_spawned",
"ref": "plugins/wecom/index.js:62",
"ref": "plugins/wecom/index.js:73",
"support": "synthetic-event-required",
"assertions": [
"spawn payload is preserved",
@ -11159,7 +11159,7 @@
"target": "inspector-capture-api",
"evidence": [
"registerChannel @ plugins/wecom/index.js:27",
"registerHttpRoute @ plugins/wecom/index.js:45"
"registerHttpRoute @ plugins/wecom/index.js:56"
],
"assertions": [
"registration arguments are recorded",
@ -11214,7 +11214,7 @@
"priority": "P1",
"target": "hook-runner",
"evidence": [
"before_tool_call @ plugins/wecom/index.js:65"
"before_tool_call @ plugins/wecom/index.js:76"
],
"assertions": [
"synthetic event payload is accepted",
@ -12770,8 +12770,8 @@
"target": "tool-runtime",
"evidence": [
"registerTool @ plugins/wecom/index.js:28",
"registerTool @ plugins/wecom/index.js:29",
"registerTool @ plugins/wecom/index.js:33"
"registerTool @ plugins/wecom/index.js:40",
"registerTool @ plugins/wecom/index.js:44"
],
"assertions": [
"tool schema is captured",

View File

@ -21,10 +21,10 @@ Generated: deterministic
| ------------------ | -------------------------------------- | ----------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| agentchat | defineChannelPluginEntry | inspector-shim-required | 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 | registerChannel | inspector-shim-required | plugins/wecom/index.js:27 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| wecom | registerHttpRoute | inspector-shim-required | plugins/wecom/index.js:45 | route method and path are captured; auth policy metadata is captured |
| wecom | registerHttpRoute | inspector-shim-required | plugins/wecom/index.js:56 | route method and path are captured; auth policy metadata is captured |
| wecom | registerTool | target-captured | plugins/wecom/index.js:28 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registerTool | target-captured | plugins/wecom/index.js:29 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registerTool | target-captured | plugins/wecom/index.js:33 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registerTool | target-captured | plugins/wecom/index.js:40 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registerTool | target-captured | plugins/wecom/index.js:44 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registerChannel | inspector-shim-required | plugins/qqbot/index.ts:16 | channel id is stable; inbound/outbound envelope shape is captured; sender metadata is preserved |
| qqbot | registerTool | target-captured | plugins/qqbot/src/tools/channel.ts:138 | tool name is stable; input schema is captured; result shape metadata is captured |
| qqbot | registerTool | target-captured | plugins/qqbot/src/tools/remind.ts:222 | tool name is stable; input schema is captured; result shape metadata is captured |
@ -172,11 +172,11 @@ Generated: deterministic
| Fixture | Hook | Support | Evidence | Assertions |
| ----------------- | ------------------------ | ------------------------ | ------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| wecom | before_prompt_build | synthetic-event-required | plugins/wecom/index.js:53 | prompt mutation result is preserved; agent and conversation metadata are present |
| wecom | before_tool_call | synthetic-event-required | plugins/wecom/index.js:65 | block/allow return shapes are preserved; terminal and approval metadata are present |
| wecom | subagent_delivery_target | synthetic-event-required | plugins/wecom/index.js:61 | target routing result is preserved; parent/subagent metadata are present |
| wecom | subagent_ended | synthetic-event-required | plugins/wecom/index.js:63 | subagent completion payload is preserved; status metadata is present |
| wecom | subagent_spawned | synthetic-event-required | plugins/wecom/index.js:62 | spawn payload is preserved; parent/subagent metadata are present |
| wecom | before_prompt_build | synthetic-event-required | plugins/wecom/index.js:64 | prompt mutation result is preserved; agent and conversation metadata are present |
| wecom | before_tool_call | synthetic-event-required | plugins/wecom/index.js:76 | block/allow return shapes are preserved; terminal and approval metadata are present |
| wecom | subagent_delivery_target | synthetic-event-required | plugins/wecom/index.js:72 | target routing result is preserved; parent/subagent metadata are present |
| wecom | subagent_ended | synthetic-event-required | plugins/wecom/index.js:74 | subagent completion payload is preserved; status metadata is present |
| wecom | subagent_spawned | synthetic-event-required | plugins/wecom/index.js:73 | spawn payload is preserved; parent/subagent metadata are present |
| llm-trace-phoenix | llm_input | synthetic-event-required | plugins/llm-trace-phoenix/index.ts:154 | model input payload is redacted as expected; model and agent metadata are present |
| llm-trace-phoenix | llm_output | synthetic-event-required | plugins/llm-trace-phoenix/index.ts:168 | model output payload is redacted as expected; model and agent metadata are present |
| opik-openclaw | after_tool_call | synthetic-event-required | plugins/opik-openclaw/src/service/hooks/tool.ts:100 | hook payload and return value are captured |
@ -790,11 +790,11 @@ Generated: deterministic
| api.capture.runtime-registrars:opik-openclaw | P1 | opik-openclaw | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerService @ plugins/opik-openclaw/index.ts:16 |
| api.capture.runtime-registrars:qqbot | P1 | qqbot | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerChannel @ plugins/qqbot/index.ts:16 |
| api.capture.runtime-registrars:secureclaw | P1 | secureclaw | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerService @ plugins/secureclaw/secureclaw/src/index.ts:295, registerService @ plugins/secureclaw/secureclaw/src/index.ts:301, registerService @ plugins/secureclaw/secureclaw/src/index.ts:307 |
| api.capture.runtime-registrars:wecom | P1 | wecom | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerChannel @ plugins/wecom/index.js:27, registerHttpRoute @ plugins/wecom/index.js:45 |
| api.capture.runtime-registrars:wecom | P1 | wecom | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerChannel @ plugins/wecom/index.js:27, registerHttpRoute @ plugins/wecom/index.js:56 |
| api.capture.runtime-registrars:yuanbao | P1 | yuanbao | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerChannel @ plugins/yuanbao/.crabpot-package/dist/index.js:29, registerCommand @ plugins/yuanbao/.crabpot-package/dist/index.js:31, registerCommand @ plugins/yuanbao/.crabpot-package/dist/index.js:32, registerCommand @ plugins/yuanbao/.crabpot-package/dist/index.js:34 |
| hook.before_tool_call.terminal-block-approval:kitchen-sink | P1 | kitchen-sink | hook-runner | synthetic event payload is accepted; return semantics are preserved | before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17 |
| hook.before_tool_call.terminal-block-approval:opik-openclaw | P1 | opik-openclaw | hook-runner | synthetic event payload is accepted; return semantics are preserved | before_tool_call @ plugins/opik-openclaw/src/service/hooks/tool.ts:34 |
| hook.before_tool_call.terminal-block-approval:wecom | P1 | wecom | hook-runner | synthetic event payload is accepted; return semantics are preserved | before_tool_call @ plugins/wecom/index.js:65 |
| hook.before_tool_call.terminal-block-approval:wecom | P1 | wecom | hook-runner | synthetic event payload is accepted; return semantics are preserved | before_tool_call @ plugins/wecom/index.js:76 |
| hook.llm-observer.privacy-payload:honcho | P1 | honcho | hook-runner | synthetic event payload is accepted; return semantics are preserved | agent_end @ plugins/honcho/hooks/capture.ts:89, agent_end @ plugins/honcho/hooks/subagent.ts:34 |
| hook.llm-observer.privacy-payload:hyperspell | P1 | hyperspell | hook-runner | synthetic event payload is accepted; return semantics are preserved | agent_end @ plugins/hyperspell/index.ts:105, agent_end @ plugins/hyperspell/index.ts:116 |
| hook.llm-observer.privacy-payload:kitchen-sink | P1 | kitchen-sink | hook-runner | synthetic event payload is accepted; return semantics are preserved | agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6, llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21, llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22 |
@ -897,7 +897,7 @@ Generated: deterministic
| tool.registration.schema-capture:memory-tencentdb | P2 | memory-tencentdb | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/memory-tencentdb/.crabpot-package/index.ts:268, registerTool @ plugins/memory-tencentdb/.crabpot-package/index.ts:365 |
| tool.registration.schema-capture:mocrane-wecom | P2 | mocrane-wecom | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/mocrane-wecom/index.ts:43 |
| tool.registration.schema-capture:qqbot | P2 | qqbot | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/qqbot/src/tools/channel.ts:138, registerTool @ plugins/qqbot/src/tools/remind.ts:222 |
| tool.registration.schema-capture:wecom | P2 | wecom | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/wecom/index.js:28, registerTool @ plugins/wecom/index.js:29, registerTool @ plugins/wecom/index.js:33 |
| tool.registration.schema-capture:wecom | P2 | wecom | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/wecom/index.js:28, registerTool @ plugins/wecom/index.js:40, registerTool @ plugins/wecom/index.js:44 |
| tool.registration.schema-capture:yuanbao | P2 | yuanbao | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/yuanbao/.crabpot-package/dist/src/tools/group.js:43, registerTool @ plugins/yuanbao/.crabpot-package/dist/src/tools/member.js:120, registerTool @ plugins/yuanbao/.crabpot-package/dist/src/tools/remind.js:271 |
| channel.runtime.envelope-config-metadata:lightclawbot | P3 | lightclawbot | channel-runtime | message envelope is stable; sender/config metadata is preserved | registerChannel @ plugins/lightclawbot/.crabpot-package/dist/index.js:13 |
| hook.compat.before-agent-start-migration:memos-cloud | P3 | memos-cloud | hook-runner | synthetic event payload is accepted; return semantics are preserved | before_agent_start @ plugins/memos-cloud/index.js:481 |

View File

@ -1,8 +1,8 @@
{
"generatedAt": "deterministic",
"title": "Crabpot CI Summary",
"mode": "local",
"openclawLabel": "",
"mode": "dependabot",
"openclawLabel": "openclaw/openclaw@main",
"status": "pass",
"summary": {
"breakages": 0,
@ -22,17 +22,17 @@
"policyFailures": 0,
"policyWarnings": 3,
"profileFailures": 0,
"profileWarnings": 1,
"profileWarnings": 0,
"executionPass": 6,
"executionFail": 0,
"executionBlocked": 2,
"platformWindowsRisks": 173,
"platformContainerRisks": 52,
"loaderJitiCandidates": 18,
"importLoopP50Ms": 637,
"importLoopP95Ms": 662,
"importLoopMaxRssMb": 51.3,
"importLoopMaxCpuMs": 168
"importLoopP50Ms": 73,
"importLoopP95Ms": 76,
"importLoopMaxRssMb": 0,
"importLoopMaxCpuMs": 0
},
"topIssues": [
{
@ -235,18 +235,7 @@
]
}
],
"profileFindings": [
{
"id": "profile.wall-p95",
"action": "warn",
"metric": "p95WallMs",
"message": "p95WallMs regressed 262.5% over baseline",
"baseline": 1273,
"current": 4615,
"delta": 3342,
"percent": 262.5
}
],
"profileFindings": [],
"artifacts": {
"compatibility": "reports/crabpot-report.json",
"capture": "reports/crabpot-capture.json",

View File

@ -1,39 +1,39 @@
# Crabpot CI Summary
Generated: deterministic
Mode: local
OpenClaw: -
Mode: dependabot
OpenClaw: openclaw/openclaw@main
Status: PASS
## Counts
| Metric | Value |
| --------------------------- | ------------------------------------------------------ |
| Breakages | 0 |
| Warnings | 62 |
| Suggestions | 104 |
| Issues | 166 |
| P0 issues | 7 |
| P1 issues | 34 |
| Live issues | 7 |
| Live P0 issues | 7 |
| Compat gaps | 5 |
| Deprecation warnings | 24 |
| Inspector gaps | 106 |
| Upstream metadata | 24 |
| Ref diff failures | 0 |
| Ref diff warnings | 0 |
| Policy failures | 0 |
| Policy warnings | 3 |
| Profile failures | 0 |
| Profile warnings | 1 |
| Execution pass | 6 |
| Execution fail | 0 |
| Execution blocked | 2 |
| Windows portability risks | 173 |
| Container portability risks | 52 |
| Jiti loader candidates | 18 |
| Import loop | p50 637 ms / p95 662 ms / max RSS 51.3 MB / CPU 168 ms |
| Metric | Value |
| --------------------------- | ----------------------------------------------- |
| Breakages | 0 |
| Warnings | 62 |
| Suggestions | 104 |
| Issues | 166 |
| P0 issues | 7 |
| P1 issues | 34 |
| Live issues | 7 |
| Live P0 issues | 7 |
| Compat gaps | 5 |
| Deprecation warnings | 24 |
| Inspector gaps | 106 |
| Upstream metadata | 24 |
| Ref diff failures | 0 |
| Ref diff warnings | 0 |
| Policy failures | 0 |
| Policy warnings | 3 |
| Profile failures | 0 |
| Profile warnings | 0 |
| Execution pass | 6 |
| Execution fail | 0 |
| Execution blocked | 2 |
| Windows portability risks | 173 |
| Container portability risks | 52 |
| Jiti loader candidates | 18 |
| Import loop | p50 73 ms / p95 76 ms / max RSS 0 MB / CPU 0 ms |
## Top Issues
@ -74,9 +74,7 @@ _none_
## Profile Findings
| Action | ID | Metric | Baseline | Current | Message |
| ------ | ---------------- | --------- | -------- | ------- | ---------------------------------------- |
| warn | profile.wall-p95 | p95WallMs | 1273 | 4615 | p95WallMs regressed 262.5% over baseline |
_none_
## Artifacts

View File

@ -2,7 +2,7 @@
"generatedAt": "deterministic",
"targetOpenClaw": {
"status": "ok",
"configuredPath": "../openclaw",
"configuredPath": "./openclaw",
"sdkExportCount": 292
},
"summary": {

View File

@ -4,10 +4,10 @@
"entrypoint": "test/fixtures/lazy-import-plugin.mjs",
"summary": {
"runs": 3,
"p50WallMs": 637,
"p95WallMs": 662,
"maxPeakRssMb": 51.3,
"maxCpuMsEstimate": 168,
"p50WallMs": 73,
"p95WallMs": 76,
"maxPeakRssMb": 0,
"maxCpuMsEstimate": 0,
"capturedCount": 6,
"failCount": 0
},
@ -17,33 +17,33 @@
"exitCode": 0,
"status": "captured",
"capturedCount": 2,
"wallMs": 662,
"peakRssMb": 48.3,
"peakCpuPercent": 25.4,
"cpuMsEstimate": 168,
"stderrPreview": "(node:62204) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)"
"wallMs": 76,
"peakRssMb": 0,
"peakCpuPercent": 0,
"cpuMsEstimate": 0,
"stderrPreview": ""
},
{
"index": 1,
"exitCode": 0,
"status": "captured",
"capturedCount": 2,
"wallMs": 633,
"peakRssMb": 51.3,
"peakCpuPercent": 16.3,
"cpuMsEstimate": 103,
"stderrPreview": "(node:62259) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)"
"wallMs": 71,
"peakRssMb": 0,
"peakCpuPercent": 0,
"cpuMsEstimate": 0,
"stderrPreview": ""
},
{
"index": 2,
"exitCode": 0,
"status": "captured",
"capturedCount": 2,
"wallMs": 637,
"peakRssMb": 50.9,
"peakCpuPercent": 12.2,
"cpuMsEstimate": 78,
"stderrPreview": "(node:62313) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)"
"wallMs": 73,
"peakRssMb": 0,
"peakCpuPercent": 0,
"cpuMsEstimate": 0,
"stderrPreview": ""
}
]
}

View File

@ -9,17 +9,17 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs
| Metric | Value |
| ---------------- | ----- |
| runs | 3 |
| p50WallMs | 637 |
| p95WallMs | 662 |
| maxPeakRssMb | 51.3 |
| maxCpuMsEstimate | 168 |
| p50WallMs | 73 |
| p95WallMs | 76 |
| maxPeakRssMb | 0 |
| maxCpuMsEstimate | 0 |
| capturedCount | 6 |
| failCount | 0 |
## Samples
| Run | Status | Captured | Wall | Peak RSS | CPU Estimate | Exit |
| --- | -------- | -------- | ------ | -------- | ------------ | ---- |
| 0 | captured | 2 | 662 ms | 48.3 MB | 168 ms | 0 |
| 1 | captured | 2 | 633 ms | 51.3 MB | 103 ms | 0 |
| 2 | captured | 2 | 637 ms | 50.9 MB | 78 ms | 0 |
| Run | Status | Captured | Wall | Peak RSS | CPU Estimate | Exit |
| --- | -------- | -------- | ----- | -------- | ------------ | ---- |
| 0 | captured | 2 | 76 ms | 0 MB | 0 ms | 0 |
| 1 | captured | 2 | 71 ms | 0 MB | 0 ms | 0 |
| 2 | captured | 2 | 73 ms | 0 MB | 0 ms | 0 |

View File

@ -59,65 +59,65 @@ Status: PASS
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -158,65 +158,65 @@ Status: PASS
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -384,13 +384,13 @@ Status: PASS
- **legacy-before-agent-start**: kitchen-sink: legacy before_agent_start hook compatibility is still used
- state: open · compat:deprecated · deprecated
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: kitchen-sink: root plugin SDK barrel is still used by fixtures
- state: open · compat:deprecated · deprecated
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **llm-trace-phoenix** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: llm-trace-phoenix: root plugin SDK barrel is still used by fixtures
@ -580,42 +580,42 @@ Status: PASS
- **before-tool-call-probe**: kitchen-sink: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **conversation-access-hook**: kitchen-sink: conversation-access hooks need privacy-boundary probes
- state: open · compat:none
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: kitchen-sink: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: lightclawbot: runtime registrations need capture before contract judgment
@ -712,14 +712,14 @@ Status: PASS
- **before-tool-call-probe**: wecom: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **wecom** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: wecom: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: yuanbao: runtime registrations need capture before contract judgment
@ -990,13 +990,13 @@ Status: PASS
- **channel-contract-probe**: kitchen-sink: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: kitchen-sink: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: lightclawbot: channel runtime needs envelope/config probes
@ -1232,25 +1232,25 @@ Status: PASS
- **channel-contract-probe**: wecom: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: wecom: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **runtime-tool-capture**: wecom: runtime tool schema needs registration capture
- state: open · compat:none
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: yuanbao: channel runtime needs envelope/config probes
@ -1426,7 +1426,7 @@ Status: PASS
- **package-plugin-api-compat-missing**: wecom: plugin API compatibility range is missing
- state: open · compat:none
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
## Issues
@ -1458,65 +1458,65 @@ Status: PASS
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -1635,15 +1635,15 @@ Status: PASS
- **before-tool-call-probe**: kitchen-sink: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **conversation-access-hook**: kitchen-sink: conversation-access hooks need privacy-boundary probes
- state: open · compat:none
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **kitchen-sink** `compat-gap` `core-compat-adapter`
- **missing-compat-record**: kitchen-sink: compat-dependent behavior lacks registry coverage
@ -1655,28 +1655,28 @@ Status: PASS
- **registration-capture-gap**: kitchen-sink: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: lightclawbot: runtime registrations need capture before contract judgment
@ -1773,14 +1773,14 @@ Status: PASS
- **before-tool-call-probe**: wecom: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **wecom** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: wecom: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `compat-gap` `core-compat-adapter`
- **missing-compat-record**: yuanbao: compat-dependent behavior lacks registry coverage
@ -2234,25 +2234,25 @@ Status: PASS
- **channel-contract-probe**: kitchen-sink: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-before-agent-start**: kitchen-sink: legacy before_agent_start hook compatibility is still used
- state: open · compat:deprecated · deprecated
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: kitchen-sink: root plugin SDK barrel is still used by fixtures
- state: open · compat:deprecated · deprecated
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: kitchen-sink: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: lightclawbot: channel runtime needs envelope/config probes
@ -2664,31 +2664,31 @@ Status: PASS
- **channel-contract-probe**: wecom: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: wecom: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `upstream-metadata` `plugin-upstream-fix`
- **package-plugin-api-compat-missing**: wecom: plugin API compatibility range is missing
- state: open · compat:none
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **runtime-tool-capture**: wecom: runtime tool schema needs registration capture
- state: open · compat:none
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: yuanbao: channel runtime needs envelope/config probes
@ -2798,28 +2798,28 @@ Status: PASS
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
- id: `api.capture.runtime-registrars:kitchen-sink`
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-capture-api`
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
@ -2883,8 +2883,8 @@ Status: PASS
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
- id: `api.capture.runtime-registrars:wecom`
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `inspector-capture-api`
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
@ -2899,7 +2899,7 @@ Status: PASS
- contract: Hook returns preserve terminal, block, and approval semantics.
- id: `hook.before_tool_call.terminal-block-approval:kitchen-sink`
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **opik-openclaw** `hook-runner`
- contract: Hook returns preserve terminal, block, and approval semantics.
@ -2911,7 +2911,7 @@ Status: PASS
- contract: Hook returns preserve terminal, block, and approval semantics.
- id: `hook.before_tool_call.terminal-block-approval:wecom`
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **honcho** `hook-runner`
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
@ -2931,9 +2931,9 @@ Status: PASS
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
- id: `hook.llm-observer.privacy-payload:kitchen-sink`
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **llm-trace-phoenix** `hook-runner`
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
@ -2984,58 +2984,58 @@ Status: PASS
- contract: Every observed OpenClaw plugin SDK import remains exported by the target OpenClaw package.
- id: `sdk.import.package-export-cold-import:kitchen-sink`
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🟠 P1 **yuanbao** `sdk-alias`
- contract: Every observed OpenClaw plugin SDK import remains exported by the target OpenClaw package.
@ -3068,7 +3068,7 @@ Status: PASS
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
- id: `channel.runtime.envelope-config-metadata:kitchen-sink`
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **mocrane-wecom** `channel-runtime`
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
@ -3092,7 +3092,7 @@ Status: PASS
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
- id: `channel.runtime.envelope-config-metadata:wecom`
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **yuanbao** `channel-runtime`
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
@ -3123,7 +3123,7 @@ Status: PASS
- contract: Legacy before_agent_start remains wired until plugins migrate to before_model_resolve and before_prompt_build.
- id: `hook.compat.before-agent-start-migration:kitchen-sink`
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **agentchat** `manifest-loader`
- contract: Legacy channel env metadata continues to map into channel setup/help surfaces.
@ -3229,7 +3229,7 @@ Status: PASS
- contract: Package metadata declares the OpenClaw plugin API range used by the plugin.
- id: `package.compat.plugin-api-range:wecom`
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **agentchat** `package-loader`
- contract: Inspector can build or resolve source aliases before cold importing package entrypoints.
@ -3346,7 +3346,7 @@ Status: PASS
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
- id: `package.entrypoint.isolated-dependency-install:kitchen-sink`
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lossless-claw** `package-loader`
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
@ -3416,11 +3416,11 @@ Status: PASS
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
- id: `package.entrypoint.isolated-dependency-install:wecom`
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **yuanbao** `package-loader`
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
@ -3580,7 +3580,7 @@ Status: PASS
- contract: Root plugin SDK barrel remains importable or has a machine-readable migration path.
- id: `sdk.import.root-barrel-cold-import:kitchen-sink`
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **llm-trace-phoenix** `sdk-alias`
- contract: Root plugin SDK barrel remains importable or has a machine-readable migration path.
@ -3745,9 +3745,9 @@ Status: PASS
- contract: Registered runtime tools expose stable names, input schemas, and result metadata.
- id: `tool.registration.schema-capture:wecom`
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `tool-runtime`
- contract: Registered runtime tools expose stable names, input schemas, and result metadata.

View File

@ -575,7 +575,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -661,7 +661,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -1327,7 +1327,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -1503,7 +1503,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -1933,7 +1933,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -2657,7 +2657,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{
@ -2903,7 +2903,7 @@
"riskCodes": [
"package-manager-availability"
],
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"mitigation": "install the declared package manager before isolated execution"
},
{

View File

@ -35,32 +35,32 @@
"runs": 1,
"summary": {
"commandCount": 9,
"p50WallMs": 3210,
"p95WallMs": 4615,
"maxPeakRssMb": 79.3,
"maxRssDeltaMb": 45.3,
"maxCpuMsEstimate": 774,
"maxHarnessHeapDeltaMb": 1.9
"p50WallMs": 422,
"p95WallMs": 450,
"maxPeakRssMb": 82.7,
"maxRssDeltaMb": 18.4,
"maxCpuMsEstimate": 496,
"maxHarnessHeapDeltaMb": 0.6
},
"targetOpenClaw": {
"status": "ok",
"configuredPath": "../openclaw",
"compatRecords": 18,
"hookNames": 32,
"apiRegistrars": 40,
"capturedRegistrars": 18,
"sdkExports": 307,
"manifestFields": 32,
"manifestContractFields": 16
"configuredPath": "./openclaw",
"compatRecords": 56,
"hookNames": 35,
"apiRegistrars": 48,
"capturedRegistrars": 26,
"sdkExports": 292,
"manifestFields": 35,
"manifestContractFields": 17
},
"fixtureInventory": {
"fixtures": 27,
"sourceFiles": 672,
"observedHooks": 44,
"observedRegistrations": 57,
"observedSdkImports": 60,
"contractProbes": 141,
"issueFindings": 143
"fixtures": 29,
"sourceFiles": 746,
"observedHooks": 77,
"observedRegistrations": 100,
"observedSdkImports": 382,
"contractProbes": 159,
"issueFindings": 166
}
},
"thresholds": {
@ -72,19 +72,19 @@
"summary": {
"checkCount": 10,
"failCount": 0,
"warnCount": 1,
"passCount": 9
"warnCount": 0,
"passCount": 10
},
"checks": [
{
"id": "profile.wall-p95",
"action": "warn",
"action": "pass",
"metric": "p95WallMs",
"message": "p95WallMs regressed 262.5% over baseline",
"message": "p95WallMs stayed within 50% regression threshold",
"baseline": 1273,
"current": 4615,
"delta": 3342,
"percent": 262.5
"current": 450,
"delta": -823,
"percent": -64.7
},
{
"id": "profile.peak-rss",
@ -92,8 +92,8 @@
"metric": "maxPeakRssMb",
"message": "maxPeakRssMb stayed within 50 absolute regression threshold",
"baseline": 65.1,
"current": 79.3,
"delta": 14.200000000000003
"current": 82.7,
"delta": 17.60000000000001
},
{
"id": "profile.node-boot",
@ -101,8 +101,8 @@
"metric": "nodeBootWallMs",
"message": "nodeBootWallMs stayed within 500 absolute regression threshold",
"baseline": 917,
"current": 959,
"delta": 42
"current": 37,
"delta": -880
},
{
"id": "registry.compatRecords",
@ -110,8 +110,8 @@
"metric": "compatRecords",
"message": "registry surface delta is tracked as context",
"baseline": 19,
"current": 18,
"delta": -1
"current": 56,
"delta": 37
},
{
"id": "registry.hookNames",
@ -119,8 +119,8 @@
"metric": "hookNames",
"message": "registry surface delta is tracked as context",
"baseline": 31,
"current": 32,
"delta": 1
"current": 35,
"delta": 4
},
{
"id": "registry.apiRegistrars",
@ -128,8 +128,8 @@
"metric": "apiRegistrars",
"message": "registry surface delta is tracked as context",
"baseline": 40,
"current": 40,
"delta": 0
"current": 48,
"delta": 8
},
{
"id": "registry.capturedRegistrars",
@ -137,8 +137,8 @@
"metric": "capturedRegistrars",
"message": "registry surface delta is tracked as context",
"baseline": 18,
"current": 18,
"delta": 0
"current": 26,
"delta": 8
},
{
"id": "registry.sdkExports",
@ -146,8 +146,8 @@
"metric": "sdkExports",
"message": "registry surface delta is tracked as context",
"baseline": 307,
"current": 307,
"delta": 0
"current": 292,
"delta": -15
},
{
"id": "registry.manifestFields",
@ -155,8 +155,8 @@
"metric": "manifestFields",
"message": "registry surface delta is tracked as context",
"baseline": 32,
"current": 32,
"delta": 0
"current": 35,
"delta": 3
},
{
"id": "registry.manifestContractFields",
@ -164,8 +164,8 @@
"metric": "manifestContractFields",
"message": "registry surface delta is tracked as context",
"baseline": 16,
"current": 16,
"delta": 0
"current": 17,
"delta": 1
}
]
}

View File

@ -10,22 +10,22 @@ Strict: false
| ------------- | ----- |
| Checks | 10 |
| Fail | 0 |
| Warn | 1 |
| Pass | 9 |
| Warn | 0 |
| Pass | 10 |
| Current runs | 1 |
| Baseline runs | 3 |
## Checks
| Action | ID | Metric | Baseline | Current | Delta | Percent | Message |
| ------ | ------------------------------- | ---------------------- | -------- | ------- | ------------------ | ------- | -------------------------------------------------------------- |
| warn | profile.wall-p95 | p95WallMs | 1273 | 4615 | 3342 | 262.5% | p95WallMs regressed 262.5% over baseline |
| pass | profile.peak-rss | maxPeakRssMb | 65.1 | 79.3 | 14.200000000000003 | - | maxPeakRssMb stayed within 50 absolute regression threshold |
| pass | profile.node-boot | nodeBootWallMs | 917 | 959 | 42 | - | nodeBootWallMs stayed within 500 absolute regression threshold |
| pass | registry.compatRecords | compatRecords | 19 | 18 | -1 | - | registry surface delta is tracked as context |
| pass | registry.hookNames | hookNames | 31 | 32 | 1 | - | registry surface delta is tracked as context |
| pass | registry.apiRegistrars | apiRegistrars | 40 | 40 | 0 | - | registry surface delta is tracked as context |
| pass | registry.capturedRegistrars | capturedRegistrars | 18 | 18 | 0 | - | registry surface delta is tracked as context |
| pass | registry.sdkExports | sdkExports | 307 | 307 | 0 | - | registry surface delta is tracked as context |
| pass | registry.manifestFields | manifestFields | 32 | 32 | 0 | - | registry surface delta is tracked as context |
| pass | registry.manifestContractFields | manifestContractFields | 16 | 16 | 0 | - | registry surface delta is tracked as context |
| Action | ID | Metric | Baseline | Current | Delta | Percent | Message |
| ------ | ------------------------------- | ---------------------- | -------- | ------- | ----------------- | ------- | -------------------------------------------------------------- |
| pass | profile.wall-p95 | p95WallMs | 1273 | 450 | -823 | -64.7% | p95WallMs stayed within 50% regression threshold |
| pass | profile.peak-rss | maxPeakRssMb | 65.1 | 82.7 | 17.60000000000001 | - | maxPeakRssMb stayed within 50 absolute regression threshold |
| pass | profile.node-boot | nodeBootWallMs | 917 | 37 | -880 | - | nodeBootWallMs stayed within 500 absolute regression threshold |
| pass | registry.compatRecords | compatRecords | 19 | 56 | 37 | - | 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 | 48 | 8 | - | 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 | 292 | -15 | - | 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 |

View File

@ -1,13 +1,12 @@
{
"generatedAt": "deterministic",
"targetOpenClaw": {
"configuredPath": "../openclaw",
"configuredPath": "./openclaw",
"searchedPaths": [
"../openclaw",
"./openclaw"
],
"status": "ok",
"compatRegistryPath": "../openclaw/src/plugins/compat/registry.ts",
"compatRegistryPath": "openclaw/src/plugins/compat/registry.ts",
"compatRecordCount": 56,
"compatRecords": [
"activation-agent-harness-hint",
@ -125,7 +124,7 @@
"runtime-taskflow-legacy-alias": "deprecated",
"setup-runtime-fallback": "active"
},
"hookTypesPath": "../openclaw/src/plugins/hook-types.ts",
"hookTypesPath": "openclaw/src/plugins/hook-types.ts",
"hookNameCount": 35,
"hookNames": [
"after_compaction",
@ -164,7 +163,7 @@
"subagent_spawning",
"tool_result_persist"
],
"apiBuilderPath": "../openclaw/src/plugins/api-builder.ts",
"apiBuilderPath": "openclaw/src/plugins/api-builder.ts",
"apiRegistrarCount": 48,
"apiRegistrars": [
"registerAgentEventSubscription",
@ -216,7 +215,7 @@
"registerWebFetchProvider",
"registerWebSearchProvider"
],
"capturedRegistrationPath": "../openclaw/src/plugins/captured-registration.ts",
"capturedRegistrationPath": "openclaw/src/plugins/captured-registration.ts",
"capturedRegistrarCount": 26,
"capturedRegistrars": [
"registerAgentEventSubscription",
@ -246,7 +245,7 @@
"registerWebFetchProvider",
"registerWebSearchProvider"
],
"packagePath": "../openclaw/package.json",
"packagePath": "openclaw/package.json",
"sdkExportCount": 292,
"sdkExports": [
"openclaw/plugin-sdk",
@ -542,7 +541,7 @@
"openclaw/plugin-sdk/windows-spawn",
"openclaw/plugin-sdk/zod"
],
"pluginSdkEntrypointsPath": "../openclaw/src/plugin-sdk/entrypoints.ts",
"pluginSdkEntrypointsPath": "openclaw/src/plugin-sdk/entrypoints.ts",
"reservedSdkExportCount": 0,
"reservedSdkExports": [],
"supportedFacadeSdkExports": [
@ -578,7 +577,7 @@
"openclaw/plugin-sdk/telegram-command-config",
"openclaw/plugin-sdk/video-generation-core"
],
"manifestTypesPath": "../openclaw/src/plugins/manifest.ts",
"manifestTypesPath": "openclaw/src/plugins/manifest.ts",
"manifestFieldCount": 35,
"manifestFields": [
"activation",
@ -964,32 +963,32 @@
{
"name": "before_prompt_build",
"file": "plugins/wecom/index.js",
"line": 53,
"ref": "plugins/wecom/index.js:53"
"line": 64,
"ref": "plugins/wecom/index.js:64"
},
{
"name": "before_tool_call",
"file": "plugins/wecom/index.js",
"line": 65,
"ref": "plugins/wecom/index.js:65"
"line": 76,
"ref": "plugins/wecom/index.js:76"
},
{
"name": "subagent_delivery_target",
"file": "plugins/wecom/index.js",
"line": 61,
"ref": "plugins/wecom/index.js:61"
"line": 72,
"ref": "plugins/wecom/index.js:72"
},
{
"name": "subagent_ended",
"file": "plugins/wecom/index.js",
"line": 63,
"ref": "plugins/wecom/index.js:63"
"line": 74,
"ref": "plugins/wecom/index.js:74"
},
{
"name": "subagent_spawned",
"file": "plugins/wecom/index.js",
"line": 62,
"ref": "plugins/wecom/index.js:62"
"line": 73,
"ref": "plugins/wecom/index.js:73"
}
],
"registrations": [
@ -1007,8 +1006,8 @@
{
"name": "registerHttpRoute",
"file": "plugins/wecom/index.js",
"line": 45,
"ref": "plugins/wecom/index.js:45"
"line": 56,
"ref": "plugins/wecom/index.js:56"
},
{
"name": "registerTool",
@ -1019,14 +1018,14 @@
{
"name": "registerTool",
"file": "plugins/wecom/index.js",
"line": 29,
"ref": "plugins/wecom/index.js:29"
"line": 40,
"ref": "plugins/wecom/index.js:40"
},
{
"name": "registerTool",
"file": "plugins/wecom/index.js",
"line": 33,
"ref": "plugins/wecom/index.js:33"
"line": 44,
"ref": "plugins/wecom/index.js:44"
}
],
"manifestContracts": [],
@ -1081,10 +1080,12 @@
"name": "OpenClaw WeCom",
"version": null,
"keys": [
"channelConfigs",
"channels",
"configSchema",
"description",
"id",
"kind",
"name",
"skills"
],
@ -1097,7 +1098,7 @@
"package": {
"path": "plugins/wecom/package.json",
"name": "@sunnoy/wecom",
"version": "3.0.1",
"version": "3.2.0",
"type": "module",
"main": "index.js",
"dependencies": [
@ -1135,7 +1136,7 @@
{
"path": "plugins/wecom/package.json",
"name": "@sunnoy/wecom",
"version": "3.0.1",
"version": "3.2.0",
"type": "module",
"main": "index.js",
"dependencies": [
@ -10956,7 +10957,7 @@
"message": "future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations",
"evidence": [
"registerChannel @ plugins/wecom/index.js:27",
"registerHttpRoute @ plugins/wecom/index.js:45"
"registerHttpRoute @ plugins/wecom/index.js:56"
]
},
{
@ -10965,7 +10966,7 @@
"level": "suggestion",
"message": "add contract probes for before_tool_call terminal, block, and approval semantics",
"evidence": [
"before_tool_call @ plugins/wecom/index.js:65"
"before_tool_call @ plugins/wecom/index.js:76"
]
},
{
@ -10984,8 +10985,8 @@
"message": "tool shape is only visible after runtime registration capture",
"evidence": [
"registerTool @ plugins/wecom/index.js:28",
"registerTool @ plugins/wecom/index.js:29",
"registerTool @ plugins/wecom/index.js:33"
"registerTool @ plugins/wecom/index.js:40",
"registerTool @ plugins/wecom/index.js:44"
]
},
{
@ -12773,7 +12774,7 @@
"compatRecord": null
},
{
"id": "CRABPOT-B08DB79E",
"id": "CRABPOT-1FE68ED5",
"fixture": "wecom",
"severity": "P1",
"owner": "inspector",
@ -12786,12 +12787,12 @@
"compatStatus": "none",
"title": "wecom: before_tool_call needs terminal/block/approval probes",
"evidence": [
"before_tool_call @ plugins/wecom/index.js:65"
"before_tool_call @ plugins/wecom/index.js:76"
],
"compatRecord": null
},
{
"id": "CRABPOT-9428734C",
"id": "CRABPOT-9DFD8746",
"fixture": "wecom",
"severity": "P1",
"owner": "inspector",
@ -12805,7 +12806,7 @@
"title": "wecom: runtime registrations need capture before contract judgment",
"evidence": [
"registerChannel @ plugins/wecom/index.js:27",
"registerHttpRoute @ plugins/wecom/index.js:45"
"registerHttpRoute @ plugins/wecom/index.js:56"
],
"compatRecord": null
},
@ -15174,7 +15175,7 @@
"compatRecord": null
},
{
"id": "CRABPOT-72021A36",
"id": "CRABPOT-76A40DAA",
"fixture": "wecom",
"severity": "P2",
"owner": "inspector",
@ -15188,8 +15189,8 @@
"title": "wecom: runtime tool schema needs registration capture",
"evidence": [
"registerTool @ plugins/wecom/index.js:28",
"registerTool @ plugins/wecom/index.js:29",
"registerTool @ plugins/wecom/index.js:33"
"registerTool @ plugins/wecom/index.js:40",
"registerTool @ plugins/wecom/index.js:44"
],
"compatRecord": null
},
@ -15506,7 +15507,7 @@
"contract": "External inspector capture records service, route, gateway, command, and interactive registrations.",
"evidence": [
"registerChannel @ plugins/wecom/index.js:27",
"registerHttpRoute @ plugins/wecom/index.js:45"
"registerHttpRoute @ plugins/wecom/index.js:56"
]
},
{
@ -15549,7 +15550,7 @@
"target": "hook-runner",
"contract": "Hook returns preserve terminal, block, and approval semantics.",
"evidence": [
"before_tool_call @ plugins/wecom/index.js:65"
"before_tool_call @ plugins/wecom/index.js:76"
]
},
{
@ -16796,8 +16797,8 @@
"contract": "Registered runtime tools expose stable names, input schemas, and result metadata.",
"evidence": [
"registerTool @ plugins/wecom/index.js:28",
"registerTool @ plugins/wecom/index.js:29",
"registerTool @ plugins/wecom/index.js:33"
"registerTool @ plugins/wecom/index.js:40",
"registerTool @ plugins/wecom/index.js:44"
]
},
{
@ -17281,7 +17282,7 @@
"evidence": [
"plugins/wecom/package.json",
"@sunnoy/wecom",
"version:3.0.1"
"version:3.2.0"
]
},
{

View File

@ -65,65 +65,65 @@ Status: PASS
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -164,65 +164,65 @@ Status: PASS
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -390,13 +390,13 @@ Status: PASS
- **legacy-before-agent-start**: kitchen-sink: legacy before_agent_start hook compatibility is still used
- state: open · compat:deprecated · deprecated
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: kitchen-sink: root plugin SDK barrel is still used by fixtures
- state: open · compat:deprecated · deprecated
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **llm-trace-phoenix** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: llm-trace-phoenix: root plugin SDK barrel is still used by fixtures
@ -586,42 +586,42 @@ Status: PASS
- **before-tool-call-probe**: kitchen-sink: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **conversation-access-hook**: kitchen-sink: conversation-access hooks need privacy-boundary probes
- state: open · compat:none
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: kitchen-sink: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: lightclawbot: runtime registrations need capture before contract judgment
@ -718,14 +718,14 @@ Status: PASS
- **before-tool-call-probe**: wecom: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **wecom** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: wecom: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: yuanbao: runtime registrations need capture before contract judgment
@ -996,13 +996,13 @@ Status: PASS
- **channel-contract-probe**: kitchen-sink: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: kitchen-sink: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: lightclawbot: channel runtime needs envelope/config probes
@ -1238,25 +1238,25 @@ Status: PASS
- **channel-contract-probe**: wecom: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: wecom: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **runtime-tool-capture**: wecom: runtime tool schema needs registration capture
- state: open · compat:none
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: yuanbao: channel runtime needs envelope/config probes
@ -1432,7 +1432,7 @@ Status: PASS
- **package-plugin-api-compat-missing**: wecom: plugin API compatibility range is missing
- state: open · compat:none
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
## Hard Breakages
@ -1442,21 +1442,21 @@ _none_
| Metric | Value |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Configured path | ../openclaw |
| Configured path | ./openclaw |
| Status | ok |
| Compat registry | ../openclaw/src/plugins/compat/registry.ts |
| Compat registry | openclaw/src/plugins/compat/registry.ts |
| Compat records | 56 |
| Compat status counts | active:13, deprecated:43 |
| Record ids | activation-agent-harness-hint, activation-capability-hint, activation-channel-hint, activation-command-hint, activation-config-path-hint, activation-provider-hint, activation-route-hint, agent-harness-id-alias, agent-harness-sdk-alias, agent-tool-result-harness-alias, approval-capability-approvals-alias, bundled-channel-config-schema-legacy, bundled-plugin-allowlist, bundled-plugin-enablement, bundled-plugin-load-path-aliases, bundled-plugin-vitest-defaults, channel-env-vars, channel-exposure-legacy-aliases, channel-mention-gating-legacy-helpers, channel-native-message-schema-helpers, channel-route-key-aliases, channel-runtime-sdk-alias, channel-target-comparable-aliases, clawdbot-config-type-alias, command-auth-status-builders, disable-persisted-plugin-registry-env, embedded-harness-config-alias, generated-bundled-channel-config-fallback, hook-only-plugin-shape, legacy-before-agent-start, legacy-extension-api-import, legacy-implicit-startup-sidecar, legacy-root-sdk-import, memory-split-registration, openclaw-schema-type-alias, plugin-activate-entrypoint-alias, plugin-install-config-ledger, plugin-owned-web-fetch-config, plugin-owned-web-search-config, plugin-owned-x-search-config, plugin-registry-install-migration-env, plugin-sdk-test-utils-alias, plugin-sdk-testing-barrel, provider-auth-env-vars, provider-discovery-hook-alias, provider-discovery-type-aliases, provider-external-oauth-profiles-hook, provider-static-capabilities-bag, provider-thinking-policy-hooks, provider-web-search-core-wrapper, runtime-config-load-write, runtime-inbound-envelope-alias, runtime-stt-alias, runtime-subagent-get-session-alias, runtime-taskflow-legacy-alias, setup-runtime-fallback |
| Hook registry | ../openclaw/src/plugins/hook-types.ts |
| Hook registry | openclaw/src/plugins/hook-types.ts |
| Hook names | 35 |
| API builder | ../openclaw/src/plugins/api-builder.ts |
| API builder | openclaw/src/plugins/api-builder.ts |
| API registrars | 48 |
| Captured registration | ../openclaw/src/plugins/captured-registration.ts |
| Captured registration | openclaw/src/plugins/captured-registration.ts |
| Captured registrars | 26 |
| Package metadata | ../openclaw/package.json |
| Package metadata | openclaw/package.json |
| Plugin SDK exports | 292 |
| Manifest types | ../openclaw/src/plugins/manifest.ts |
| Manifest types | openclaw/src/plugins/manifest.ts |
| Manifest fields | 35 |
| Manifest contract fields | 17 |
@ -1535,10 +1535,10 @@ _none_
| agentchat | package-dependency-install-required | suggestion | package declares runtime dependencies that must be installed before cold import | @agentchatme/agentchat @ plugins/agentchat/integrations/openclaw-channel/package.json, @sinclair/typebox @ plugins/agentchat/integrations/openclaw-channel/package.json, pino @ plugins/agentchat/integrations/openclaw-channel/package.json, ws @ plugins/agentchat/integrations/openclaw-channel/package.json, zod @ plugins/agentchat/integrations/openclaw-channel/package.json, openclaw @ plugins/agentchat/integrations/openclaw-channel/package.json | - |
| agentchat | channel-contract-probe | suggestion | add channel envelope, config-schema, and runtime metadata probes | defineChannelPluginEntry @ plugins/agentchat/integrations/openclaw-channel/src/channel.ts:333 | - |
| wecom | package-dependency-install-required | suggestion | package declares runtime dependencies that must be installed before cold import | @wecom/aibot-node-sdk @ plugins/wecom/package.json, file-type @ plugins/wecom/package.json, pinyin-pro @ plugins/wecom/package.json, openclaw @ plugins/wecom/package.json, undici @ plugins/wecom/package.json | - |
| wecom | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerChannel @ plugins/wecom/index.js:27, registerHttpRoute @ plugins/wecom/index.js:45 | - |
| wecom | before-tool-call-probe | suggestion | add contract probes for before_tool_call terminal, block, and approval semantics | before_tool_call @ plugins/wecom/index.js:65 | - |
| wecom | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerChannel @ plugins/wecom/index.js:27, registerHttpRoute @ plugins/wecom/index.js:56 | - |
| wecom | before-tool-call-probe | suggestion | add contract probes for before_tool_call terminal, block, and approval semantics | before_tool_call @ plugins/wecom/index.js:76 | - |
| wecom | channel-contract-probe | suggestion | add channel envelope, config-schema, and runtime metadata probes | registerChannel @ plugins/wecom/index.js:27 | - |
| wecom | runtime-tool-capture | suggestion | tool shape is only visible after runtime registration capture | registerTool @ plugins/wecom/index.js:28, registerTool @ plugins/wecom/index.js:29, registerTool @ plugins/wecom/index.js:33 | - |
| wecom | runtime-tool-capture | suggestion | tool shape is only visible after runtime registration capture | registerTool @ plugins/wecom/index.js:28, registerTool @ plugins/wecom/index.js:40, registerTool @ plugins/wecom/index.js:44 | - |
| qqbot | package-dependency-install-required | suggestion | package declares runtime dependencies that must be installed before cold import | mpg123-decoder @ plugins/qqbot/package.json, silk-wasm @ plugins/qqbot/package.json, ws @ plugins/qqbot/package.json, openclaw @ plugins/qqbot/package.json | - |
| qqbot | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerChannel @ plugins/qqbot/index.ts:16 | - |
| qqbot | channel-contract-probe | suggestion | add channel envelope, config-schema, and runtime metadata probes | registerChannel @ plugins/qqbot/index.ts:16 | - |
@ -1666,65 +1666,65 @@ _none_
- **sdk-export-missing**: kitchen-sink: plugin SDK import aliases are missing from target package exports
- state: blocking · compat:untracked · live
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🔴 P0 **kitchen-sink** `live-issue` `core-compat-adapter`
- **unknown-hook-name**: kitchen-sink: fixture uses a hook missing from target OpenClaw
- state: blocking · compat:none · live
- evidence:
- ${hook} @ plugins/kitchen-sink/scripts/check-sdk-surface.mjs:15
- ${hook} @ plugins/kitchen-sink/scripts/sync-surface.mjs:40
- [${hook} @ check-sdk-surface.mjs:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/check-sdk-surface.mjs#L15)
- [${hook} @ sync-surface.mjs:40](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/scripts/sync-surface.mjs#L40)
- 🔴 P0 **yuanbao** `live-issue` `core-compat-adapter`
- **sdk-export-missing**: yuanbao: plugin SDK import aliases are missing from target package exports
@ -1843,15 +1843,15 @@ _none_
- **before-tool-call-probe**: kitchen-sink: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **conversation-access-hook**: kitchen-sink: conversation-access hooks need privacy-boundary probes
- state: open · compat:none
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **kitchen-sink** `compat-gap` `core-compat-adapter`
- **missing-compat-record**: kitchen-sink: compat-dependent behavior lacks registry coverage
@ -1863,28 +1863,28 @@ _none_
- **registration-capture-gap**: kitchen-sink: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: lightclawbot: runtime registrations need capture before contract judgment
@ -1981,14 +1981,14 @@ _none_
- **before-tool-call-probe**: wecom: before_tool_call needs terminal/block/approval probes
- state: open · compat:none
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **wecom** `inspector-gap` `inspector-follow-up`
- **registration-capture-gap**: wecom: runtime registrations need capture before contract judgment
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `compat-gap` `core-compat-adapter`
- **missing-compat-record**: yuanbao: compat-dependent behavior lacks registry coverage
@ -2442,25 +2442,25 @@ _none_
- **channel-contract-probe**: kitchen-sink: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-before-agent-start**: kitchen-sink: legacy before_agent_start hook compatibility is still used
- state: open · compat:deprecated · deprecated
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **kitchen-sink** `deprecation-warning` `core-compat-adapter`
- **legacy-root-sdk-import**: kitchen-sink: root plugin SDK barrel is still used by fixtures
- state: open · compat:deprecated · deprecated
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **kitchen-sink** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: kitchen-sink: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lightclawbot** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: lightclawbot: channel runtime needs envelope/config probes
@ -2872,31 +2872,31 @@ _none_
- **channel-contract-probe**: wecom: channel runtime needs envelope/config probes
- state: open · compat:none
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **package-dependency-install-required**: wecom: cold import requires isolated dependency installation
- state: open · compat:none
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `upstream-metadata` `plugin-upstream-fix`
- **package-plugin-api-compat-missing**: wecom: plugin API compatibility range is missing
- state: open · compat:none
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **wecom** `inspector-gap` `inspector-follow-up`
- **runtime-tool-capture**: wecom: runtime tool schema needs registration capture
- state: open · compat:none
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `inspector-gap` `inspector-follow-up`
- **channel-contract-probe**: yuanbao: channel runtime needs envelope/config probes
@ -3006,28 +3006,28 @@ _none_
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
- id: `api.capture.runtime-registrars:kitchen-sink`
- evidence:
- registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:6
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:11
- registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:12
- registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:13
- registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:14
- registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:15
- registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:16
- registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:17
- registerHook @ plugins/kitchen-sink/src/generated-registrars.js:18
- registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:19
- registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:21
- registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:23
- registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:24
- registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:26
- registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:27
- registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:28
- registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:29
- registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:32
- registerReload @ plugins/kitchen-sink/src/generated-registrars.js:36
- registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:37
- registerService @ plugins/kitchen-sink/src/generated-registrars.js:38
- [registerAutoEnableProbe @ generated-registrars.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L6)
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- [registerCommand @ generated-registrars.js:11](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L11)
- [registerCompactionProvider @ generated-registrars.js:12](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L12)
- [registerConfigMigration @ generated-registrars.js:13](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L13)
- [registerContextEngine @ generated-registrars.js:14](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L14)
- [registerDetachedTaskRuntime @ generated-registrars.js:15](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L15)
- [registerGatewayDiscoveryService @ generated-registrars.js:16](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L16)
- [registerGatewayMethod @ generated-registrars.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L17)
- [registerHook @ generated-registrars.js:18](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L18)
- [registerHttpRoute @ generated-registrars.js:19](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L19)
- [registerInteractiveHandler @ generated-registrars.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L21)
- [registerMemoryCapability @ generated-registrars.js:23](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L23)
- [registerMemoryCorpusSupplement @ generated-registrars.js:24](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L24)
- [registerMemoryFlushPlan @ generated-registrars.js:26](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L26)
- [registerMemoryPromptSection @ generated-registrars.js:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L27)
- [registerMemoryPromptSupplement @ generated-registrars.js:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L28)
- [registerMemoryRuntime @ generated-registrars.js:29](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L29)
- [registerNodeHostCommand @ generated-registrars.js:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L32)
- [registerReload @ generated-registrars.js:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L36)
- [registerSecurityAuditCollector @ generated-registrars.js:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L37)
- [registerService @ generated-registrars.js:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L38)
- 🟠 P1 **lightclawbot** `inspector-capture-api`
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
@ -3091,8 +3091,8 @@ _none_
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
- id: `api.capture.runtime-registrars:wecom`
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerHttpRoute @ index.js:45](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L45)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- [registerHttpRoute @ index.js:56](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L56)
- 🟠 P1 **yuanbao** `inspector-capture-api`
- contract: External inspector capture records service, route, gateway, command, and interactive registrations.
@ -3107,7 +3107,7 @@ _none_
- contract: Hook returns preserve terminal, block, and approval semantics.
- id: `hook.before_tool_call.terminal-block-approval:kitchen-sink`
- evidence:
- before_tool_call @ plugins/kitchen-sink/src/generated-hooks.js:17
- [before_tool_call @ generated-hooks.js:17](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L17)
- 🟠 P1 **opik-openclaw** `hook-runner`
- contract: Hook returns preserve terminal, block, and approval semantics.
@ -3119,7 +3119,7 @@ _none_
- contract: Hook returns preserve terminal, block, and approval semantics.
- id: `hook.before_tool_call.terminal-block-approval:wecom`
- evidence:
- [before_tool_call @ index.js:65](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L65)
- [before_tool_call @ index.js:76](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L76)
- 🟠 P1 **honcho** `hook-runner`
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
@ -3139,9 +3139,9 @@ _none_
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
- id: `hook.llm-observer.privacy-payload:kitchen-sink`
- evidence:
- agent_end @ plugins/kitchen-sink/src/generated-hooks.js:6
- llm_input @ plugins/kitchen-sink/src/generated-hooks.js:21
- llm_output @ plugins/kitchen-sink/src/generated-hooks.js:22
- [agent_end @ generated-hooks.js:6](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L6)
- [llm_input @ generated-hooks.js:21](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L21)
- [llm_output @ generated-hooks.js:22](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L22)
- 🟠 P1 **llm-trace-phoenix** `hook-runner`
- contract: LLM observer hooks receive documented prompt/output fields with expected redaction behavior.
@ -3192,58 +3192,58 @@ _none_
- contract: Every observed OpenClaw plugin SDK import remains exported by the target OpenClaw package.
- id: `sdk.import.package-export-cold-import:kitchen-sink`
- evidence:
- openclaw/plugin-sdk/bluebubbles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:27
- openclaw/plugin-sdk/bluebubbles-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:28
- openclaw/plugin-sdk/browser-cdp @ plugins/kitchen-sink/src/generated-sdk-imports.ts:30
- openclaw/plugin-sdk/browser-config-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:32
- openclaw/plugin-sdk/browser-config-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:33
- openclaw/plugin-sdk/browser-control-auth @ plugins/kitchen-sink/src/generated-sdk-imports.ts:34
- openclaw/plugin-sdk/browser-node-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:35
- openclaw/plugin-sdk/browser-profiles @ plugins/kitchen-sink/src/generated-sdk-imports.ts:36
- openclaw/plugin-sdk/browser-security-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:37
- openclaw/plugin-sdk/browser-setup-tools @ plugins/kitchen-sink/src/generated-sdk-imports.ts:38
- openclaw/plugin-sdk/browser-support @ plugins/kitchen-sink/src/generated-sdk-imports.ts:39
- openclaw/plugin-sdk/diagnostics-otel @ plugins/kitchen-sink/src/generated-sdk-imports.ts:99
- openclaw/plugin-sdk/diagnostics-prometheus @ plugins/kitchen-sink/src/generated-sdk-imports.ts:100
- openclaw/plugin-sdk/diffs @ plugins/kitchen-sink/src/generated-sdk-imports.ts:101
- openclaw/plugin-sdk/feishu @ plugins/kitchen-sink/src/generated-sdk-imports.ts:110
- openclaw/plugin-sdk/feishu-conversation @ plugins/kitchen-sink/src/generated-sdk-imports.ts:111
- openclaw/plugin-sdk/feishu-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:112
- openclaw/plugin-sdk/github-copilot-login @ plugins/kitchen-sink/src/generated-sdk-imports.ts:116
- openclaw/plugin-sdk/github-copilot-token @ plugins/kitchen-sink/src/generated-sdk-imports.ts:117
- openclaw/plugin-sdk/googlechat @ plugins/kitchen-sink/src/generated-sdk-imports.ts:119
- openclaw/plugin-sdk/googlechat-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:120
- openclaw/plugin-sdk/irc @ plugins/kitchen-sink/src/generated-sdk-imports.ts:132
- openclaw/plugin-sdk/irc-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:133
- openclaw/plugin-sdk/line @ plugins/kitchen-sink/src/generated-sdk-imports.ts:137
- openclaw/plugin-sdk/line-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:138
- openclaw/plugin-sdk/line-runtime @ plugins/kitchen-sink/src/generated-sdk-imports.ts:139
- openclaw/plugin-sdk/line-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:140
- openclaw/plugin-sdk/llm-task @ plugins/kitchen-sink/src/generated-sdk-imports.ts:141
- openclaw/plugin-sdk/matrix @ plugins/kitchen-sink/src/generated-sdk-imports.ts:146
- openclaw/plugin-sdk/matrix-helper @ plugins/kitchen-sink/src/generated-sdk-imports.ts:147
- openclaw/plugin-sdk/matrix-runtime-heavy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:148
- openclaw/plugin-sdk/matrix-runtime-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:149
- openclaw/plugin-sdk/matrix-runtime-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:150
- openclaw/plugin-sdk/matrix-surface @ plugins/kitchen-sink/src/generated-sdk-imports.ts:151
- openclaw/plugin-sdk/matrix-thread-bindings @ plugins/kitchen-sink/src/generated-sdk-imports.ts:152
- openclaw/plugin-sdk/mattermost @ plugins/kitchen-sink/src/generated-sdk-imports.ts:153
- openclaw/plugin-sdk/mattermost-policy @ plugins/kitchen-sink/src/generated-sdk-imports.ts:154
- openclaw/plugin-sdk/memory-core @ plugins/kitchen-sink/src/generated-sdk-imports.ts:162
- openclaw/plugin-sdk/memory-lancedb @ plugins/kitchen-sink/src/generated-sdk-imports.ts:182
- openclaw/plugin-sdk/msteams @ plugins/kitchen-sink/src/generated-sdk-imports.ts:188
- openclaw/plugin-sdk/nextcloud-talk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:193
- openclaw/plugin-sdk/nostr @ plugins/kitchen-sink/src/generated-sdk-imports.ts:194
- openclaw/plugin-sdk/opencode @ plugins/kitchen-sink/src/generated-sdk-imports.ts:195
- openclaw/plugin-sdk/telegram-command-ui @ plugins/kitchen-sink/src/generated-sdk-imports.ts:288
- openclaw/plugin-sdk/thread-ownership @ plugins/kitchen-sink/src/generated-sdk-imports.ts:296
- openclaw/plugin-sdk/tlon @ plugins/kitchen-sink/src/generated-sdk-imports.ts:297
- openclaw/plugin-sdk/twitch @ plugins/kitchen-sink/src/generated-sdk-imports.ts:301
- openclaw/plugin-sdk/voice-call @ plugins/kitchen-sink/src/generated-sdk-imports.ts:305
- openclaw/plugin-sdk/volc-model-catalog-shared @ plugins/kitchen-sink/src/generated-sdk-imports.ts:306
- openclaw/plugin-sdk/zalo @ plugins/kitchen-sink/src/generated-sdk-imports.ts:314
- openclaw/plugin-sdk/zalo-setup @ plugins/kitchen-sink/src/generated-sdk-imports.ts:315
- openclaw/plugin-sdk/zalouser @ plugins/kitchen-sink/src/generated-sdk-imports.ts:316
- [openclaw/plugin-sdk/bluebubbles @ generated-sdk-imports.ts:27](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L27)
- [openclaw/plugin-sdk/bluebubbles-policy @ generated-sdk-imports.ts:28](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L28)
- [openclaw/plugin-sdk/browser-cdp @ generated-sdk-imports.ts:30](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L30)
- [openclaw/plugin-sdk/browser-config-runtime @ generated-sdk-imports.ts:32](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L32)
- [openclaw/plugin-sdk/browser-config-support @ generated-sdk-imports.ts:33](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L33)
- [openclaw/plugin-sdk/browser-control-auth @ generated-sdk-imports.ts:34](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L34)
- [openclaw/plugin-sdk/browser-node-runtime @ generated-sdk-imports.ts:35](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L35)
- [openclaw/plugin-sdk/browser-profiles @ generated-sdk-imports.ts:36](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L36)
- [openclaw/plugin-sdk/browser-security-runtime @ generated-sdk-imports.ts:37](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L37)
- [openclaw/plugin-sdk/browser-setup-tools @ generated-sdk-imports.ts:38](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L38)
- [openclaw/plugin-sdk/browser-support @ generated-sdk-imports.ts:39](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L39)
- [openclaw/plugin-sdk/diagnostics-otel @ generated-sdk-imports.ts:99](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L99)
- [openclaw/plugin-sdk/diagnostics-prometheus @ generated-sdk-imports.ts:100](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L100)
- [openclaw/plugin-sdk/diffs @ generated-sdk-imports.ts:101](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L101)
- [openclaw/plugin-sdk/feishu @ generated-sdk-imports.ts:110](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L110)
- [openclaw/plugin-sdk/feishu-conversation @ generated-sdk-imports.ts:111](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L111)
- [openclaw/plugin-sdk/feishu-setup @ generated-sdk-imports.ts:112](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L112)
- [openclaw/plugin-sdk/github-copilot-login @ generated-sdk-imports.ts:116](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L116)
- [openclaw/plugin-sdk/github-copilot-token @ generated-sdk-imports.ts:117](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L117)
- [openclaw/plugin-sdk/googlechat @ generated-sdk-imports.ts:119](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L119)
- [openclaw/plugin-sdk/googlechat-runtime-shared @ generated-sdk-imports.ts:120](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L120)
- [openclaw/plugin-sdk/irc @ generated-sdk-imports.ts:132](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L132)
- [openclaw/plugin-sdk/irc-surface @ generated-sdk-imports.ts:133](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L133)
- [openclaw/plugin-sdk/line @ generated-sdk-imports.ts:137](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L137)
- [openclaw/plugin-sdk/line-core @ generated-sdk-imports.ts:138](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L138)
- [openclaw/plugin-sdk/line-runtime @ generated-sdk-imports.ts:139](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L139)
- [openclaw/plugin-sdk/line-surface @ generated-sdk-imports.ts:140](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L140)
- [openclaw/plugin-sdk/llm-task @ generated-sdk-imports.ts:141](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L141)
- [openclaw/plugin-sdk/matrix @ generated-sdk-imports.ts:146](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L146)
- [openclaw/plugin-sdk/matrix-helper @ generated-sdk-imports.ts:147](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L147)
- [openclaw/plugin-sdk/matrix-runtime-heavy @ generated-sdk-imports.ts:148](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L148)
- [openclaw/plugin-sdk/matrix-runtime-shared @ generated-sdk-imports.ts:149](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L149)
- [openclaw/plugin-sdk/matrix-runtime-surface @ generated-sdk-imports.ts:150](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L150)
- [openclaw/plugin-sdk/matrix-surface @ generated-sdk-imports.ts:151](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L151)
- [openclaw/plugin-sdk/matrix-thread-bindings @ generated-sdk-imports.ts:152](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L152)
- [openclaw/plugin-sdk/mattermost @ generated-sdk-imports.ts:153](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L153)
- [openclaw/plugin-sdk/mattermost-policy @ generated-sdk-imports.ts:154](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L154)
- [openclaw/plugin-sdk/memory-core @ generated-sdk-imports.ts:162](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L162)
- [openclaw/plugin-sdk/memory-lancedb @ generated-sdk-imports.ts:182](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L182)
- [openclaw/plugin-sdk/msteams @ generated-sdk-imports.ts:188](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L188)
- [openclaw/plugin-sdk/nextcloud-talk @ generated-sdk-imports.ts:193](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L193)
- [openclaw/plugin-sdk/nostr @ generated-sdk-imports.ts:194](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L194)
- [openclaw/plugin-sdk/opencode @ generated-sdk-imports.ts:195](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L195)
- [openclaw/plugin-sdk/telegram-command-ui @ generated-sdk-imports.ts:288](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L288)
- [openclaw/plugin-sdk/thread-ownership @ generated-sdk-imports.ts:296](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L296)
- [openclaw/plugin-sdk/tlon @ generated-sdk-imports.ts:297](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L297)
- [openclaw/plugin-sdk/twitch @ generated-sdk-imports.ts:301](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L301)
- [openclaw/plugin-sdk/voice-call @ generated-sdk-imports.ts:305](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L305)
- [openclaw/plugin-sdk/volc-model-catalog-shared @ generated-sdk-imports.ts:306](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L306)
- [openclaw/plugin-sdk/zalo @ generated-sdk-imports.ts:314](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L314)
- [openclaw/plugin-sdk/zalo-setup @ generated-sdk-imports.ts:315](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L315)
- [openclaw/plugin-sdk/zalouser @ generated-sdk-imports.ts:316](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L316)
- 🟠 P1 **yuanbao** `sdk-alias`
- contract: Every observed OpenClaw plugin SDK import remains exported by the target OpenClaw package.
@ -3276,7 +3276,7 @@ _none_
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
- id: `channel.runtime.envelope-config-metadata:kitchen-sink`
- evidence:
- registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:7
- [registerChannel @ generated-registrars.js:7](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-registrars.js#L7)
- 🟡 P2 **mocrane-wecom** `channel-runtime`
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
@ -3300,7 +3300,7 @@ _none_
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
- id: `channel.runtime.envelope-config-metadata:wecom`
- evidence:
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L27)
- [registerChannel @ index.js:27](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L27)
- 🟡 P2 **yuanbao** `channel-runtime`
- contract: Channel setup, message envelope, sender metadata, and config schema remain stable.
@ -3331,7 +3331,7 @@ _none_
- contract: Legacy before_agent_start remains wired until plugins migrate to before_model_resolve and before_prompt_build.
- id: `hook.compat.before-agent-start-migration:kitchen-sink`
- evidence:
- before_agent_start @ plugins/kitchen-sink/src/generated-hooks.js:9
- [before_agent_start @ generated-hooks.js:9](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-hooks.js#L9)
- 🟡 P2 **agentchat** `manifest-loader`
- contract: Legacy channel env metadata continues to map into channel setup/help surfaces.
@ -3437,7 +3437,7 @@ _none_
- contract: Package metadata declares the OpenClaw plugin API range used by the plugin.
- id: `package.compat.plugin-api-range:wecom`
- evidence:
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **agentchat** `package-loader`
- contract: Inspector can build or resolve source aliases before cold importing package entrypoints.
@ -3554,7 +3554,7 @@ _none_
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
- id: `package.entrypoint.isolated-dependency-install:kitchen-sink`
- evidence:
- openclaw @ plugins/kitchen-sink/package.json
- [openclaw @ package.json](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/package.json)
- 🟡 P2 **lossless-claw** `package-loader`
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
@ -3624,11 +3624,11 @@ _none_
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
- id: `package.entrypoint.isolated-dependency-install:wecom`
- evidence:
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/package.json)
- [@wecom/aibot-node-sdk @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [file-type @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [pinyin-pro @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [openclaw @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- [undici @ package.json](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/package.json)
- 🟡 P2 **yuanbao** `package-loader`
- contract: Inspector installs package dependencies in an isolated workspace before cold import.
@ -3788,7 +3788,7 @@ _none_
- contract: Root plugin SDK barrel remains importable or has a machine-readable migration path.
- id: `sdk.import.root-barrel-cold-import:kitchen-sink`
- evidence:
- openclaw/plugin-sdk @ plugins/kitchen-sink/src/generated-sdk-imports.ts:2
- [openclaw/plugin-sdk @ generated-sdk-imports.ts:2](https://github.com/openclaw/kitchen-sink/blob/d43292fd11dfba36a586c6f439ed2aa129361bfc/src/generated-sdk-imports.ts#L2)
- 🟡 P2 **llm-trace-phoenix** `sdk-alias`
- contract: Root plugin SDK barrel remains importable or has a machine-readable migration path.
@ -3953,9 +3953,9 @@ _none_
- contract: Registered runtime tools expose stable names, input schemas, and result metadata.
- id: `tool.registration.schema-capture:wecom`
- evidence:
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L28)
- [registerTool @ index.js:29](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L29)
- [registerTool @ index.js:33](https://github.com/sunnoy/openclaw-plugin-wecom/blob/b7849ac055c8fa699d01b48e83cf24028907307d/index.js#L33)
- [registerTool @ index.js:28](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L28)
- [registerTool @ index.js:40](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L40)
- [registerTool @ index.js:44](https://github.com/sunnoy/openclaw-plugin-wecom/blob/503a1d5403bc3a57763b9ef17c60a9d5e31b53d9/index.js#L44)
- 🟡 P2 **yuanbao** `tool-runtime`
- contract: Registered runtime tools expose stable names, input schemas, and result metadata.
@ -4398,7 +4398,7 @@ _none_
| wecom | api-registrars-present | log | all observed api.register* calls exist in the target OpenClaw plugin API builder | registerChannel, registerHttpRoute, registerTool | - |
| wecom | sdk-exports-present | log | all observed plugin SDK imports exist in target OpenClaw package exports | openclaw/plugin-sdk/core, openclaw/plugin-sdk/media-runtime, openclaw/plugin-sdk/setup, openclaw/plugin-sdk/status-helpers | - |
| wecom | manifest-fields-checked | log | plugin manifest fields were compared with target OpenClaw manifest types | plugins/wecom/openclaw.plugin.json | - |
| wecom | package-metadata | log | selected package metadata for plugin contract checks | plugins/wecom/package.json, @sunnoy/wecom, version:3.0.1 | - |
| wecom | package-metadata | log | selected package metadata for plugin contract checks | plugins/wecom/package.json, @sunnoy/wecom, version:3.2.0 | - |
| qqbot | seam-inventory | log | observed 0 hooks, 2 registrations, and 0 manifest contracts | registration:registerChannel, registration:registerTool | - |
| qqbot | hook-names-present | log | all observed hooks exist in the target OpenClaw hook registry | - | - |
| qqbot | api-registrars-present | log | all observed api.register* calls exist in the target OpenClaw plugin API builder | registerChannel, registerTool | - |

File diff suppressed because one or more lines are too long

View File

@ -8,26 +8,26 @@ Samples per command: 1
| Metric | Value |
| ---------------------- | ------- |
| Commands | 9 |
| P50 wall time | 1218 ms |
| P95 wall time | 2487 ms |
| Max peak RSS | 81.2 MB |
| Max RSS delta | 30 MB |
| Max CPU estimate | 840 ms |
| Max harness heap delta | 1.5 MB |
| P50 wall time | 422 ms |
| P95 wall time | 450 ms |
| Max peak RSS | 82.7 MB |
| Max RSS delta | 18.4 MB |
| Max CPU estimate | 496 ms |
| Max harness heap delta | 0.6 MB |
## Target OpenClaw Registry Surface
| Metric | Value |
| ---------------------- | ----------- |
| status | ok |
| configuredPath | ../openclaw |
| compatRecords | 56 |
| hookNames | 35 |
| apiRegistrars | 48 |
| capturedRegistrars | 26 |
| sdkExports | 292 |
| manifestFields | 35 |
| manifestContractFields | 17 |
| Metric | Value |
| ---------------------- | ---------- |
| status | ok |
| configuredPath | ./openclaw |
| compatRecords | 56 |
| hookNames | 35 |
| apiRegistrars | 48 |
| capturedRegistrars | 26 |
| sdkExports | 292 |
| manifestFields | 35 |
| manifestContractFields | 17 |
## Plugin Fixture Surface
@ -45,26 +45,26 @@ Samples per command: 1
| ID | Label | Median wall | Max wall | Max peak RSS | Max RSS delta | CPU estimate | Heap delta | Exit codes |
| ---------------------- | ----------------------------------------------- | ----------- | -------- | ------------ | ------------- | ------------ | ---------- | ---------- |
| node-boot | Node boot | 619 ms | 619 ms | 0 MB | 0 MB | 0 ms | 0.7 MB | 0 |
| fixture-inspection | Fixture inspection | 1226 ms | 1226 ms | 75 MB | 25.1 MB | 517 ms | 1.3 MB | 0 |
| compat-report-registry | Compatibility report plus target registry parse | 1218 ms | 1218 ms | 79.6 MB | 30 MB | 561 ms | 1.2 MB | 0 |
| contract-capture | Contract capture inventory | 1049 ms | 1049 ms | 75.4 MB | 24.7 MB | 378 ms | 1.1 MB | 0 |
| synthetic-probe-plan | Synthetic probe plan | 966 ms | 966 ms | 76.8 MB | 18.2 MB | 432 ms | 0.9 MB | 0 |
| cold-import-readiness | Cold import readiness | 1796 ms | 1796 ms | 66.2 MB | 24.1 MB | 497 ms | 1.5 MB | 0 |
| workspace-plan | Workspace execution plan | 1070 ms | 1070 ms | 75 MB | 23.7 MB | 449 ms | -18.3 MB | 0 |
| platform-probes | Platform and loader probes | 1218 ms | 1218 ms | 81.2 MB | 28 MB | 840 ms | 1 MB | 0 |
| import-loop-profile | Repeated cold import capture loop | 2487 ms | 2487 ms | 53.8 MB | 0.9 MB | 142 ms | 1.5 MB | 0 |
| node-boot | Node boot | 37 ms | 37 ms | 0 MB | 0 MB | 0 ms | 0.3 MB | 0 |
| fixture-inspection | Fixture inspection | 379 ms | 379 ms | 76.3 MB | 11.2 MB | 402 ms | 0.6 MB | 0 |
| compat-report-registry | Compatibility report plus target registry parse | 418 ms | 418 ms | 73.9 MB | 9.6 MB | 436 ms | 0.6 MB | 0 |
| contract-capture | Contract capture inventory | 434 ms | 434 ms | 81.5 MB | 16.6 MB | 496 ms | 0.5 MB | 0 |
| synthetic-probe-plan | Synthetic probe plan | 425 ms | 425 ms | 76.2 MB | 11.8 MB | 443 ms | 0.5 MB | 0 |
| cold-import-readiness | Cold import readiness | 422 ms | 422 ms | 77.5 MB | 12.1 MB | 453 ms | 0.5 MB | 0 |
| workspace-plan | Workspace execution plan | 450 ms | 450 ms | 82.7 MB | 18.4 MB | 488 ms | 0.4 MB | 0 |
| platform-probes | Platform and loader probes | 449 ms | 449 ms | 80.2 MB | 15.8 MB | 471 ms | 0.5 MB | 0 |
| import-loop-profile | Repeated cold import capture loop | 224 ms | 224 ms | 58.6 MB | 0.6 MB | 93 ms | 0.4 MB | 0 |
## Category Rollups
| Category | Commands | P50 wall | P95 wall | Max peak RSS | CPU estimate | Command IDs |
| ---------------- | -------- | -------- | -------- | ------------ | ------------ | ---------------------- |
| baseline | 1 | 619 ms | 619 ms | 0 MB | 0 ms | node-boot |
| fixture-scan | 1 | 1226 ms | 1226 ms | 75 MB | 517 ms | fixture-inspection |
| target-registry | 1 | 1218 ms | 1218 ms | 79.6 MB | 561 ms | compat-report-registry |
| contract-capture | 1 | 1049 ms | 1049 ms | 75.4 MB | 378 ms | contract-capture |
| synthetic-probes | 1 | 966 ms | 966 ms | 76.8 MB | 432 ms | synthetic-probe-plan |
| cold-import | 1 | 1796 ms | 1796 ms | 66.2 MB | 497 ms | cold-import-readiness |
| workspace-plan | 1 | 1070 ms | 1070 ms | 75 MB | 449 ms | workspace-plan |
| platform-probes | 1 | 1218 ms | 1218 ms | 81.2 MB | 840 ms | platform-probes |
| import-loop | 1 | 2487 ms | 2487 ms | 53.8 MB | 142 ms | import-loop-profile |
| baseline | 1 | 37 ms | 37 ms | 0 MB | 0 ms | node-boot |
| fixture-scan | 1 | 379 ms | 379 ms | 76.3 MB | 402 ms | fixture-inspection |
| target-registry | 1 | 418 ms | 418 ms | 73.9 MB | 436 ms | compat-report-registry |
| contract-capture | 1 | 434 ms | 434 ms | 81.5 MB | 496 ms | contract-capture |
| synthetic-probes | 1 | 425 ms | 425 ms | 76.2 MB | 443 ms | synthetic-probe-plan |
| cold-import | 1 | 422 ms | 422 ms | 77.5 MB | 453 ms | cold-import-readiness |
| workspace-plan | 1 | 450 ms | 450 ms | 82.7 MB | 488 ms | workspace-plan |
| platform-probes | 1 | 449 ms | 449 ms | 80.2 MB | 471 ms | platform-probes |
| import-loop | 1 | 224 ms | 224 ms | 58.6 MB | 93 ms | import-loop-profile |

View File

@ -13,7 +13,7 @@
},
"probes": [
{
"id": "hook.before_prompt_build:wecom:plugins-wecom-index-js-53",
"id": "hook.before_prompt_build:wecom:plugins-wecom-index-js-64",
"fixture": "wecom",
"kind": "hook",
"seam": "before_prompt_build",
@ -43,10 +43,10 @@
"sessionId": "session-fixture",
"channelId": "fixture-channel"
},
"source": "plugins/wecom/index.js:53"
"source": "plugins/wecom/index.js:64"
},
{
"id": "hook.before_tool_call:wecom:plugins-wecom-index-js-65",
"id": "hook.before_tool_call:wecom:plugins-wecom-index-js-76",
"fixture": "wecom",
"kind": "hook",
"seam": "before_tool_call",
@ -68,10 +68,10 @@
"sessionId": "session-fixture",
"toolName": "fixture_tool"
},
"source": "plugins/wecom/index.js:65"
"source": "plugins/wecom/index.js:76"
},
{
"id": "hook.subagent_delivery_target:wecom:plugins-wecom-index-js-61",
"id": "hook.subagent_delivery_target:wecom:plugins-wecom-index-js-72",
"fixture": "wecom",
"kind": "hook",
"seam": "subagent_delivery_target",
@ -95,10 +95,10 @@
"runId": "run-fixture",
"parentAgentId": "agent-parent"
},
"source": "plugins/wecom/index.js:61"
"source": "plugins/wecom/index.js:72"
},
{
"id": "hook.subagent_ended:wecom:plugins-wecom-index-js-63",
"id": "hook.subagent_ended:wecom:plugins-wecom-index-js-74",
"fixture": "wecom",
"kind": "hook",
"seam": "subagent_ended",
@ -117,10 +117,10 @@
"runId": "run-fixture",
"parentAgentId": "agent-parent"
},
"source": "plugins/wecom/index.js:63"
"source": "plugins/wecom/index.js:74"
},
{
"id": "hook.subagent_spawned:wecom:plugins-wecom-index-js-62",
"id": "hook.subagent_spawned:wecom:plugins-wecom-index-js-73",
"fixture": "wecom",
"kind": "hook",
"seam": "subagent_spawned",
@ -140,7 +140,7 @@
"runId": "run-fixture",
"parentAgentId": "agent-parent"
},
"source": "plugins/wecom/index.js:62"
"source": "plugins/wecom/index.js:73"
},
{
"id": "hook.llm_input:llm-trace-phoenix:plugins-llm-trace-phoenix-index-ts-154",
@ -2031,7 +2031,7 @@
"source": "plugins/wecom/index.js:27"
},
{
"id": "registration.registerHttpRoute:wecom:plugins-wecom-index-js-45",
"id": "registration.registerHttpRoute:wecom:plugins-wecom-index-js-56",
"fixture": "wecom",
"kind": "registration",
"seam": "registerHttpRoute",
@ -2056,7 +2056,7 @@
"execute"
]
},
"source": "plugins/wecom/index.js:45"
"source": "plugins/wecom/index.js:56"
},
{
"id": "registration.registerTool:wecom:plugins-wecom-index-js-28",
@ -2091,7 +2091,7 @@
"source": "plugins/wecom/index.js:28"
},
{
"id": "registration.registerTool:wecom:plugins-wecom-index-js-29",
"id": "registration.registerTool:wecom:plugins-wecom-index-js-40",
"fixture": "wecom",
"kind": "registration",
"seam": "registerTool",
@ -2120,10 +2120,10 @@
"execute"
]
},
"source": "plugins/wecom/index.js:29"
"source": "plugins/wecom/index.js:40"
},
{
"id": "registration.registerTool:wecom:plugins-wecom-index-js-33",
"id": "registration.registerTool:wecom:plugins-wecom-index-js-44",
"fixture": "wecom",
"kind": "registration",
"seam": "registerTool",
@ -2152,7 +2152,7 @@
"execute"
]
},
"source": "plugins/wecom/index.js:33"
"source": "plugins/wecom/index.js:44"
},
{
"id": "registration.registerChannel:qqbot:plugins-qqbot-index-ts-16",

View File

@ -20,11 +20,11 @@ Generated: deterministic
| Fixture | Kind | Seam | Status | Execution | Evidence | Assertions |
| ------------------ | ------------ | -------------------------------------- | ------ | ---------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| wecom | hook | before_prompt_build | ready | hook-direct | plugins/wecom/index.js:53 | prompt mutation result is preserved; agent and conversation metadata are present |
| wecom | hook | before_tool_call | ready | hook-direct | plugins/wecom/index.js:65 | block/allow return shapes are preserved; terminal and approval metadata are present |
| wecom | hook | subagent_delivery_target | ready | hook-direct | plugins/wecom/index.js:61 | target routing result is preserved; parent/subagent metadata are present |
| wecom | hook | subagent_ended | ready | hook-direct | plugins/wecom/index.js:63 | subagent completion payload is preserved; status metadata is present |
| wecom | hook | subagent_spawned | ready | hook-direct | plugins/wecom/index.js:62 | spawn payload is preserved; parent/subagent metadata are present |
| 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 |
@ -104,10 +104,10 @@ Generated: deterministic
| 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:45 | route method and path are captured; auth policy metadata is captured |
| 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:29 | tool name is stable; input schema is captured; result shape metadata is captured |
| wecom | registration | registerTool | ready | direct | plugins/wecom/index.js:33 | 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 |

View File

@ -7,7 +7,7 @@
},
"targetOpenClaw": {
"status": "ok",
"configuredPath": "../openclaw"
"configuredPath": "./openclaw"
},
"summary": {
"fixtureCount": 29,
@ -71,7 +71,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/agentchat",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -140,7 +140,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/agentchat",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -214,7 +214,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/wecom",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -295,7 +295,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/qqbot",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -472,7 +472,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/hasdata",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -712,7 +712,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/opik-openclaw",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -788,7 +788,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/opik-openclaw",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -937,7 +937,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/connectclaw",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -1032,7 +1032,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/hyperspell",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -1119,7 +1119,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/honcho",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -1536,7 +1536,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/kitchen-sink",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -1873,7 +1873,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/kitchen-sink",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2210,7 +2210,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/kitchen-sink",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2299,7 +2299,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/memory-tencentdb",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2388,7 +2388,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/ddingtalk",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2544,7 +2544,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/mocrane-wecom",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2646,7 +2646,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/yuanbao",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2735,7 +2735,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/openclaw-weixin",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -2816,7 +2816,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/lightclawbot",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3108,7 +3108,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/clawmetry",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3190,7 +3190,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/clawmetry",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3278,7 +3278,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/codex-app-server",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3373,7 +3373,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/web-search-plus",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3462,7 +3462,7 @@
},
{
"kind": "link-openclaw",
"command": "npm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "npm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/apify",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},
@ -3551,7 +3551,7 @@
},
{
"kind": "link-openclaw",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../../openclaw\"",
"command": "pnpm pkg set dependencies.openclaw=\"file:../../../openclaw\"",
"cwd": ".crabpot/workspaces/inworld-tts",
"reason": "link the plugin's openclaw peer dependency to the target checkout under test"
},

View File

@ -24,39 +24,39 @@ Opt-in: CRABPOT_EXECUTE_ISOLATED=1
## 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 |
| lossless-claw | npm | build-required | node | plugins/lossless-claw/dist/index.js | build, capture-shim, synthetic-probes | 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; 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, dependency-install, 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"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/connectclaw/package-audit.json || true -> .crabpot/results/connectclaw/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/index.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/index.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/setup.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 |
| 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 | 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; 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 | node | plugins/yuanbao/.crabpot-package/dist/index.js | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, target-openclaw-link | 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 ./dist/index.js --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.capture.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-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/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.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 --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 |
| 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 | prepare: mkdir -p .crabpot/workspaces/secureclaw && rsync -a --delete plugins/secureclaw/secureclaw/ .crabpot/workspaces/secureclaw/; prepare-artifacts: mkdir -p .crabpot/results/secureclaw; 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, target-openclaw-link, 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; link-openclaw: npm pkg set dependencies.openclaw="file:../../../../openclaw"; 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, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; 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/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 | sdk-alias-required | tsx (+jiti) | plugins/codex-app-server/index.ts | capture-shim, dependency-install, sdk-alias-compat, 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, dependency-install, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/web-search-plus/package-audit.json || true -> .crabpot/results/web-search-plus/package-audit.json; 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, dependency-install, 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"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/inworld-tts/package-audit.json || true -> .crabpot/results/inworld-tts/package-audit.json; 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 --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 |
| lossless-claw | npm | build-required | node | plugins/lossless-claw/dist/index.js | build, capture-shim, synthetic-probes | 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; 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, dependency-install, 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"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/connectclaw/package-audit.json || true -> .crabpot/results/connectclaw/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/index.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/index.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 | sdk-alias-required | node | plugins/kitchen-sink/src/setup.js | capture-shim, dependency-install, sdk-alias-compat, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/kitchen-sink/package-audit.json || true -> .crabpot/results/kitchen-sink/package-audit.json; 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 |
| 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 | 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; 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 | node | plugins/yuanbao/.crabpot-package/dist/index.js | capture-shim, dependency-install, sdk-alias-compat, synthetic-probes, target-openclaw-link | 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 ./dist/index.js --mock-sdk --output ../../results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.capture.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-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/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.synthetic.json -> .crabpot/results/yuanbao/cold-import-extension-yuanbao-plugins-yuanbao-crabpot-package-dist-index-js.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 --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 |
| 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 | prepare: mkdir -p .crabpot/workspaces/secureclaw && rsync -a --delete plugins/secureclaw/secureclaw/ .crabpot/workspaces/secureclaw/; prepare-artifacts: mkdir -p .crabpot/results/secureclaw; 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, target-openclaw-link, 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; link-openclaw: npm pkg set dependencies.openclaw="file:../../../openclaw"; 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, target-openclaw-link | prepare: mkdir -p .crabpot/workspaces/clawmetry && rsync -a --delete plugins/clawmetry/clawhub-plugin/ .crabpot/workspaces/clawmetry/; prepare-artifacts: mkdir -p .crabpot/results/clawmetry; 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/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 | sdk-alias-required | tsx (+jiti) | plugins/codex-app-server/index.ts | capture-shim, dependency-install, sdk-alias-compat, 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, dependency-install, 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"; install: npm install --ignore-scripts; audit: npm audit --json > ../../results/web-search-plus/package-audit.json || true -> .crabpot/results/web-search-plus/package-audit.json; 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, dependency-install, 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"; install: pnpm install --ignore-scripts; audit: pnpm audit --json > ../../results/inworld-tts/package-audit.json || true -> .crabpot/results/inworld-tts/package-audit.json; 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 |