Files
PaddedCell/plugin/openclaw.plugin.json
hzhang a39fe5c2d0 feat(dynamic-tools-cache): 4 cache tools + global __padded API
Implements the openclaw side of Plexum decision #37: agent-driven
per-session whitelist of which tools the model sees. Cross-runtime
aligned with Plexum's host implementation (same tool names, same
input schemas, takes-effect-next-turn).

New surface:
  - tools/dynamic-tools-cache.ts:
      Catalog (in-memory map), Cache file (atomic tmp+rename at
      <openclaw>/agents/<id>/sessions/<sid>/dynamic-tools-cache.json),
      4 tool factories (list/search/cache/evict), allowTool gate,
      installGlobalApi for globalThis.__padded with buffer-drain
  - index.ts: install __padded early; register the 4 cache tools
    as factories wrapping ctx into execute
  - openclaw.plugin.json contracts.tools += 4 names

Other Hangman-Lab plugins (Fabric / HF / Dialectic) opt in to the
gate by wrapping their registerTool calls (separate commits in those
repos). Built-in openclaw tools and non-opt-in plugins remain
always-on.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 15:38:26 +01:00

34 lines
830 B
JSON

{
"id": "padded-cell",
"name": "PaddedCell",
"description": "Secure secret management, agent identity management, safe execution, and coordinated agent restart",
"activation": {
"onStartup": true
},
"contracts": {
"tools": [
"pcexec",
"proxy-pcexec",
"safe_restart",
"dynamic-trim",
"dynamic-list-tools",
"dynamic-search-tools",
"dynamic-cache-tools",
"dynamic-evict-tools"
]
},
"configSchema": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"secretMgrPath": { "type": "string", "default": "" },
"openclawProfilePath": { "type": "string", "default": "" },
"proxyAllowlist": {
"type": "array",
"items": { "type": "string" },
"default": []
}
}
}
}