@a1hvdy/cc-openclaw 0.3.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/src/channels/adapter.d.ts +0 -1
  2. package/dist/src/channels/telegram/completion-summary.d.ts +0 -1
  3. package/dist/src/channels/telegram/error-renderer.d.ts +0 -1
  4. package/dist/src/channels/telegram/event-reducer.d.ts +0 -1
  5. package/dist/src/channels/telegram/event-reducer.js +17 -3
  6. package/dist/src/channels/telegram/event-reducer.js.map +1 -1
  7. package/dist/src/channels/telegram/index.d.ts +0 -1
  8. package/dist/src/channels/telegram/injector.d.ts +0 -1
  9. package/dist/src/channels/telegram/live-card.d.ts +0 -1
  10. package/dist/src/channels/telegram/live-card.js +9 -2
  11. package/dist/src/channels/telegram/live-card.js.map +1 -1
  12. package/dist/src/channels/telegram/state-machine.d.ts +0 -1
  13. package/dist/src/channels/telegram/tool-tracker.d.ts +0 -1
  14. package/dist/src/command-router/cc-handler.d.ts +0 -1
  15. package/dist/src/command-router/cc-handler.js +52 -3
  16. package/dist/src/command-router/cc-handler.js.map +1 -1
  17. package/dist/src/command-router/index.d.ts +0 -1
  18. package/dist/src/constants.d.ts +0 -1
  19. package/dist/src/council/consensus.d.ts +0 -1
  20. package/dist/src/council/council.d.ts +0 -1
  21. package/dist/src/council/index.d.ts +0 -1
  22. package/dist/src/engines/base-oneshot-session.d.ts +0 -1
  23. package/dist/src/engines/index.d.ts +0 -1
  24. package/dist/src/engines/persistent-codex-session.d.ts +0 -1
  25. package/dist/src/engines/persistent-cursor-session.d.ts +0 -1
  26. package/dist/src/engines/persistent-custom-session.d.ts +0 -1
  27. package/dist/src/engines/persistent-gemini-session.d.ts +0 -1
  28. package/dist/src/engines/persistent-session.d.ts +0 -1
  29. package/dist/src/health/handler.d.ts +0 -1
  30. package/dist/src/health/index.d.ts +0 -1
  31. package/dist/src/health/metrics.d.ts +52 -0
  32. package/dist/src/health/metrics.js +116 -0
  33. package/dist/src/health/metrics.js.map +1 -0
  34. package/dist/src/index.d.ts +0 -1
  35. package/dist/src/index.js +15 -11
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/lib/auto-recovery.d.ts +0 -1
  38. package/dist/src/lib/cache-parity.d.ts +0 -1
  39. package/dist/src/lib/circuit-breaker.d.ts +0 -1
  40. package/dist/src/lib/config.d.ts +0 -1
  41. package/dist/src/lib/debug-tap.d.ts +15 -0
  42. package/dist/src/lib/debug-tap.d.ts.map +1 -0
  43. package/dist/src/lib/debug-tap.js +185 -0
  44. package/dist/src/lib/debug-tap.js.map +1 -0
  45. package/dist/src/lib/drift-detector.d.ts +0 -1
  46. package/dist/src/lib/error-formatter.d.ts +2 -2
  47. package/dist/src/lib/error-formatter.js +16 -1
  48. package/dist/src/lib/error-formatter.js.map +1 -1
  49. package/dist/src/lib/heartbeat-workaround.d.ts +0 -1
  50. package/dist/src/lib/index.d.ts +0 -1
  51. package/dist/src/lib/register-guard.d.ts +25 -18
  52. package/dist/src/lib/register-guard.js +43 -22
  53. package/dist/src/lib/register-guard.js.map +1 -1
  54. package/dist/src/lib/route-flag.d.ts +0 -1
  55. package/dist/src/lib/status-tee-reader.d.ts +28 -0
  56. package/dist/src/lib/status-tee-reader.js +82 -0
  57. package/dist/src/lib/status-tee-reader.js.map +1 -0
  58. package/dist/src/lib/sysprompt-strip.d.ts +0 -1
  59. package/dist/src/lib/telemetry.d.ts +0 -1
  60. package/dist/src/lib/test-mode.d.ts +0 -1
  61. package/dist/src/lib/trajectory.d.ts +35 -0
  62. package/dist/src/lib/trajectory.js +84 -0
  63. package/dist/src/lib/trajectory.js.map +1 -0
  64. package/dist/src/lib/vendor-paths.d.ts +0 -1
  65. package/dist/src/logger.d.ts +0 -1
  66. package/dist/src/mcp/bridge.d.ts +0 -1
  67. package/dist/src/mcp/index.d.ts +0 -1
  68. package/dist/src/models.d.ts +0 -1
  69. package/dist/src/openai-compat/cli-stream-parser.d.ts +0 -1
  70. package/dist/src/openai-compat/index.d.ts +0 -1
  71. package/dist/src/openai-compat/openai-compat.d.ts +0 -1
  72. package/dist/src/openai-compat/openai-compat.js +73 -4
  73. package/dist/src/openai-compat/openai-compat.js.map +1 -1
  74. package/dist/src/openai-compat/skill-resolver.d.ts +0 -1
  75. package/dist/src/openai-compat/sse-translator.d.ts +0 -1
  76. package/dist/src/proxy/anthropic-adapter.d.ts +0 -1
  77. package/dist/src/proxy/handler.d.ts +0 -1
  78. package/dist/src/proxy/index.d.ts +0 -1
  79. package/dist/src/proxy/schema-cleaner.d.ts +0 -1
  80. package/dist/src/proxy/thought-cache.d.ts +0 -1
  81. package/dist/src/session/embedded-server.d.ts +0 -1
  82. package/dist/src/session/embedded-server.js +25 -1
  83. package/dist/src/session/embedded-server.js.map +1 -1
  84. package/dist/src/session/inbox-manager.d.ts +0 -1
  85. package/dist/src/session/index.d.ts +0 -1
  86. package/dist/src/session/session-manager.d.ts +0 -1
  87. package/dist/src/session/session-manager.js +25 -0
  88. package/dist/src/session/session-manager.js.map +1 -1
  89. package/dist/src/session-bootstrap/cwd-patch.d.ts +0 -1
  90. package/dist/src/session-bootstrap/index.d.ts +0 -1
  91. package/dist/src/session-bootstrap/sysprompt-strip.d.ts +0 -1
  92. package/dist/src/session-bootstrap/think-conflict-resolver.d.ts +0 -1
  93. package/dist/src/types.d.ts +0 -1
  94. package/dist/src/validation.d.ts +0 -1
  95. package/mcp-tools.json +1 -1
  96. package/package.json +31 -9
  97. package/vendor/embedded-server.js +13 -0
  98. package/dist/src/circuit-breaker.d.ts +0 -22
  99. package/dist/src/circuit-breaker.d.ts.map +0 -1
  100. package/dist/src/circuit-breaker.js +0 -47
  101. package/dist/src/circuit-breaker.js.map +0 -1
@@ -1,4 +1,3 @@
1
1
  export * from './session-manager.js';
2
2
  export * from './inbox-manager.js';
3
3
  export * from './embedded-server.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -209,4 +209,3 @@ export declare class SessionManager {
209
209
  private _cleanupIdleSessions;
210
210
  }
211
211
  export {};
212
- //# sourceMappingURL=session-manager.d.ts.map
@@ -100,6 +100,7 @@ function makeDebounced(fn, ms) {
100
100
  }
101
101
  import { createConsoleLogger } from '../logger.js';
102
102
  import { CircuitBreaker } from '../lib/circuit-breaker.js';
103
+ import { emit as emitTrajectory } from '../lib/trajectory.js';
103
104
  import { InboxManager } from './inbox-manager.js';
104
105
  import { sanitizeCwd, validateName } from '../validation.js';
105
106
  import { PersistentClaudeSession } from '../engines/persistent-session.js';
@@ -234,6 +235,14 @@ export class SessionManager {
234
235
  claudeSessionId: session.sessionId,
235
236
  };
236
237
  this.sessions.set(name, managed);
238
+ // Pillar B v0.4.1 — emit session_start trajectory event. No-op when
239
+ // CC_OPENCLAW_TRAJECTORY env flag is unset.
240
+ emitTrajectory('session_start', {
241
+ engine,
242
+ model: fullConfig.resolvedModel || fullConfig.model,
243
+ cwd: fullConfig.cwd,
244
+ resumed: !!persisted,
245
+ }, name);
237
246
  // Persist registry after session is live (skip for ephemeral sessions
238
247
  // like the openai-compat bridge that set skipPersistence: true)
239
248
  if (!skipPersist) {
@@ -321,6 +330,22 @@ export class SessionManager {
321
330
  }
322
331
  async stopSession(name) {
323
332
  const managed = this._getSession(name);
333
+ // Pillar B v0.4.1 — capture lifetime + token totals BEFORE teardown
334
+ // so session_end has meaningful payload. emit is no-op when
335
+ // CC_OPENCLAW_TRAJECTORY unset, so cost is one Date.now() call worst case.
336
+ let stats = null;
337
+ try {
338
+ stats = managed.session.getStats();
339
+ }
340
+ catch {
341
+ /* stats unavailable — emit with what we have */
342
+ }
343
+ emitTrajectory('session_end', {
344
+ engine: managed.config.engine,
345
+ model: managed.config.resolvedModel || managed.config.model,
346
+ lifetimeMs: Date.now() - new Date(managed.created).getTime(),
347
+ ...(stats ? { tokensIn: stats.tokensIn, tokensOut: stats.tokensOut } : {}),
348
+ }, name);
324
349
  managed.session.stop();
325
350
  this.sessions.delete(name);
326
351
  // Remove PID tracking
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
@@ -48,4 +48,3 @@ export declare function ensureStatusRuntimeStubs(): void;
48
48
  * Idempotent: subsequent calls on the same api are no-ops.
49
49
  */
50
50
  export declare function register(api: PluginApi): void;
51
- //# sourceMappingURL=cwd-patch.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export { register as registerCwdPatch, ensureStatusRuntimeStubs } from './cwd-patch.js';
2
2
  export { register as registerSyspromptStrip, stripSysprompt } from './sysprompt-strip.js';
3
3
  export { register as registerThinkConflictResolver } from './think-conflict-resolver.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -23,4 +23,3 @@ export type { StripOptions, StripResult } from '../lib/sysprompt-strip.js';
23
23
  * Idempotent: subsequent calls on the same api are no-ops (register-guard).
24
24
  */
25
25
  export declare function register(api: PluginApi): void;
26
- //# sourceMappingURL=sysprompt-strip.d.ts.map
@@ -30,4 +30,3 @@ export interface PluginApi {
30
30
  * Idempotent: subsequent calls on the same api are no-ops.
31
31
  */
32
32
  export declare function register(api: PluginApi): void;
33
- //# sourceMappingURL=think-conflict-resolver.d.ts.map
@@ -486,4 +486,3 @@ export interface CouncilRejectResult {
486
486
  planRewritten: boolean;
487
487
  feedback: string;
488
488
  }
489
- //# sourceMappingURL=types.d.ts.map
@@ -29,4 +29,3 @@ export declare function validateRegex(pattern: string): RegExp;
29
29
  * that could be used for path traversal.
30
30
  */
31
31
  export declare function validateName(name: string): string;
32
- //# sourceMappingURL=validation.d.ts.map
package/mcp-tools.json CHANGED
@@ -1 +1 @@
1
- [{"type":"function","function":{"name":"browser","description":"Control the browser via OpenClaw's browser control server (status/start/stop/profiles/tabs/open/snapshot/screenshot/actions). Browser choice: omit profile by default for the isolated OpenClaw-managed browser (`openclaw`). For the logged-in user browser, use profile=\"user\". A supported Chromium-based browser (v144+) must be running on the selected host or browser node. Use only when existing logins/cookies matter and the user is present. For profile=\"user\" or other existing-session profiles, omit timeoutMs on act:type, evaluate, hover, scrollIntoView, drag, select, and fill; that driver rejects per-call timeout overrides for those actions. When a node-hosted browser proxy is available, the tool may auto-route to it. Pin a node with node=<id|name> or target=\"node\". When using refs from snapshot (e.g. e12), keep the same tab: prefer passing targetId from the snapshot response into subsequent actions (act/click/type/etc). For tab operations, targetId also accepts tabId handles (t1) and labels from action=tabs. For multi-step browser work, login checks, stale refs, duplicate tabs, or Google Meet flows, use the bundled browser-automation skill when it is available. For stable, self-resolving refs across calls, use snapshot with refs=\"aria\" (Playwright aria-ref ids). Default refs=\"role\" are role+name-based. Use snapshot+act for UI automation. Avoid act:wait by default; use only in exceptional cases when no reliable UI state exists. target selects browser location (sandbox|host|node). Default: host. Host target allowed.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["doctor","status","start","stop","profiles","tabs","open","focus","close","snapshot","screenshot","navigate","console","pdf","upload","dialog","act"]},"target":{"type":"string","enum":["sandbox","host","node"]},"node":{"type":"string"},"profile":{"type":"string"},"targetUrl":{"type":"string"},"url":{"type":"string"},"targetId":{"type":"string"},"label":{"type":"string"},"limit":{"type":"number"},"maxChars":{"type":"number"},"mode":{"type":"string","enum":["efficient"]},"snapshotFormat":{"type":"string","enum":["aria","ai"]},"refs":{"type":"string","enum":["role","aria"]},"interactive":{"type":"boolean"},"compact":{"type":"boolean"},"depth":{"type":"number"},"selector":{"type":"string"},"frame":{"type":"string"},"labels":{"type":"boolean"},"urls":{"type":"boolean"},"fullPage":{"type":"boolean"},"ref":{"type":"string"},"element":{"type":"string"},"type":{"type":"string","enum":["png","jpeg"]},"level":{"type":"string"},"paths":{"type":"array","items":{"type":"string"}},"inputRef":{"type":"string"},"timeoutMs":{"type":"number"},"accept":{"type":"boolean"},"promptText":{"type":"string"},"kind":{"type":"string","enum":["click","clickCoords","type","press","hover","drag","select","fill","resize","wait","evaluate","close"]},"doubleClick":{"type":"boolean"},"button":{"type":"string"},"modifiers":{"type":"array","items":{"type":"string"}},"x":{"type":"number"},"y":{"type":"number"},"text":{"type":"string"},"submit":{"type":"boolean"},"slowly":{"type":"boolean"},"key":{"type":"string"},"delayMs":{"type":"number"},"startRef":{"type":"string"},"endRef":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"width":{"type":"number"},"height":{"type":"number"},"timeMs":{"type":"number"},"textGone":{"type":"string"},"loadState":{"type":"string"},"fn":{"type":"string"},"request":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["click","clickCoords","type","press","hover","drag","select","fill","resize","wait","evaluate","close"]},"targetId":{"type":"string"},"ref":{"type":"string"},"doubleClick":{"type":"boolean"},"button":{"type":"string"},"modifiers":{"type":"array","items":{"type":"string"}},"x":{"type":"number"},"y":{"type":"number"},"text":{"type":"string"},"submit":{"type":"boolean"},"slowly":{"type":"boolean"},"key":{"type":"string"},"delayMs":{"type":"number"},"startRef":{"type":"string"},"endRef":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"width":{"type":"number"},"height":{"type":"number"},"timeMs":{"type":"number"},"selector":{"type":"string"},"url":{"type":"string"},"loadState":{"type":"string"},"textGone":{"type":"string"},"timeoutMs":{"type":"number"},"fn":{"type":"string"}}}}}}},{"type":"function","function":{"name":"claude_agents_list","description":"List agent definitions from .claude/agents/","parameters":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory"}}}}},{"type":"function","function":{"name":"claude_session_compact","description":"Compact a session to reclaim context window space","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"summary":{"type":"string","description":"Optional summary for compaction"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_session_deliver_inbox","description":"Deliver all queued inbox messages to an idle session. Call this when a session finishes a task to process waiting messages.","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_session_grep","description":"Search session history for events matching a regex pattern","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"pattern":{"type":"string","description":"Regex pattern to search"},"limit":{"type":"number","description":"Max results (default 50)"}},"required":["name","pattern"]}}},{"type":"function","function":{"name":"claude_session_inbox","description":"Read inbox messages for a session. Returns unread messages by default.","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"unreadOnly":{"type":"boolean","description":"Only unread messages (default true)"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_session_list","description":"List all active Claude Code sessions","parameters":{"type":"object","properties":{}}}},{"type":"function","function":{"name":"claude_session_send","description":"Send a message to a persistent Claude Code session and get the response","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"message":{"type":"string","description":"Message to send"},"effort":{"type":"string","enum":["low","medium","high","max"],"description":"Effort for this message"},"plan":{"type":"boolean","description":"Enable plan mode"},"timeout":{"type":"number","description":"Timeout in ms (default 300000)"},"stream":{"type":"boolean","description":"Collect text chunks as they arrive and include them in result.chunks[] (default false). Note: OpenClaw plugin SDK does not yet support mid-tool streaming to the caller, so chunks are buffered and returned with the final result."}},"required":["name","message"]}}},{"type":"function","function":{"name":"claude_session_send_to","description":"Send a cross-session message from one session to another. If the target is idle, the message is delivered immediately. If busy, it is queued in the inbox for later delivery. Use \"*\" as target to broadcast to all other sessions.","parameters":{"type":"object","properties":{"from":{"type":"string","description":"Sender session name"},"to":{"type":"string","description":"Target session name, or \"*\" for broadcast"},"message":{"type":"string","description":"Message text"},"summary":{"type":"string","description":"Short preview (5-10 words)"}},"required":["from","to","message"]}}},{"type":"function","function":{"name":"claude_session_start","description":"Start a persistent coding session. Supports multiple engines: claude (default) for Claude Code CLI, codex for OpenAI Codex CLI, gemini for Google Gemini CLI, cursor for Cursor Agent CLI, or custom for any user-configured coding agent CLI.","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name (auto-generated if omitted)"},"cwd":{"type":"string","description":"Working directory"},"engine":{"type":"string","enum":["claude","codex","gemini","cursor","custom"],"description":"Engine to use (default: claude). Use \"custom\" with customEngine config for any CLI."},"model":{"type":"string","description":"Model to use (opus, sonnet, haiku, gemini-pro, o4-mini, etc.)"},"permissionMode":{"type":"string","enum":["acceptEdits","bypassPermissions","default","delegate","dontAsk","plan","auto"]},"effort":{"type":"string","enum":["low","medium","high","max","auto"]},"allowedTools":{"type":"array","items":{"type":"string"},"description":"Tools to auto-approve"},"disallowedTools":{"type":"array","items":{"type":"string"},"description":"Tools to deny"},"maxTurns":{"type":"number","description":"Max agent loop turns"},"maxBudgetUsd":{"type":"number","description":"Max API spend (USD)"},"systemPrompt":{"type":"string","description":"Replace system prompt"},"appendSystemPrompt":{"type":"string","description":"Append to system prompt"},"agents":{"type":"object","description":"Custom sub-agents JSON"},"agent":{"type":"string","description":"Default agent to use"},"bare":{"type":"boolean","description":"Minimal mode: skip hooks, LSP, auto-memory, CLAUDE.md"},"worktree":{"type":["string","boolean"],"description":"Run in git worktree"},"fallbackModel":{"type":"string","description":"Auto fallback when primary overloaded"},"jsonSchema":{"type":"string","description":"JSON Schema for structured output"},"mcpConfig":{"type":["string","array"],"items":{"type":"string"},"description":"MCP server config file(s)"},"settings":{"type":"string","description":"Settings.json path or inline JSON"},"noSessionPersistence":{"type":"boolean","description":"Do not save session to disk"},"betas":{"type":["string","array"],"items":{"type":"string"},"description":"Custom beta headers"},"enableAgentTeams":{"type":"boolean","description":"Enable experimental agent teams"},"enableAutoMode":{"type":"boolean","description":"Enable auto permission mode"},"customEngine":{"type":"object","description":"Custom engine config (required when engine=\"custom\"). Defines how to invoke any coding agent CLI.","properties":{"name":{"type":"string","description":"Engine display name"},"bin":{"type":"string","description":"Binary path or command"},"binEnv":{"type":"string","description":"Env var that overrides bin"},"persistent":{"type":"boolean","description":"true=long-running subprocess (Claude Code style), false=spawn per send (default)"},"args":{"type":"object","description":"CLI flag mappings","properties":{"print":{"type":"string"},"outputFormat":{"type":"string"},"outputFormatValue":{"type":"string"},"inputFormat":{"type":"string"},"inputFormatValue":{"type":"string"},"skipPermissions":{"type":"string"},"permissionMode":{"type":"string"},"model":{"type":"string"},"systemPrompt":{"type":"string"},"appendSystemPrompt":{"type":"string"},"maxTurns":{"type":"string"},"resume":{"type":"string"},"verbose":{"type":"string"},"replayUserMessages":{"type":"string"},"includePartialMessages":{"type":"string"},"effort":{"type":"string"},"workspace":{"type":"string"},"extra":{"type":"array","items":{"type":"string"}}}},"permissionModes":{"type":"object","description":"Map OpenClaw permission names to CLI values"},"pricing":{"type":"object","properties":{"input":{"type":"number"},"output":{"type":"number"},"cached":{"type":"number"}}},"contextWindow":{"type":"number"},"env":{"type":"object","description":"Extra environment variables"},"sanitizePatterns":{"type":"array","items":{"type":"string"}}},"required":["name","bin","args"]},"resumeSessionId":{"type":"string","description":"Resume an existing Claude Code session by its ID (e.g. from ~/.claude/sessions/). Replays conversation history via session/load instead of starting fresh."}}}}},{"type":"function","function":{"name":"claude_session_status","description":"Get detailed status of a Claude Code session (context %, tokens, cost, uptime)","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_session_stop","description":"Stop a persistent Claude Code session","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_session_switch_model","description":"Switch the model for a running session immediately. Restarts the session process with --resume so the new model takes effect on the next message while preserving conversation history.","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"model":{"type":"string","description":"New model (opus, sonnet, haiku, gemini-pro, etc.)"}},"required":["name","model"]}}},{"type":"function","function":{"name":"claude_session_update_tools","description":"Update allowedTools or disallowedTools for a running session. Restarts the session process with --resume to apply the new tool constraints while preserving conversation history. Rejects if the session is currently busy.","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"allowedTools":{"type":"array","items":{"type":"string"},"description":"New allowedTools list (replaces existing, or merges if merge:true)"},"disallowedTools":{"type":"array","items":{"type":"string"},"description":"New disallowedTools list (replaces existing, or merges if merge:true)"},"removeTools":{"type":"array","items":{"type":"string"},"description":"Tools to remove from allowedTools/disallowedTools (applied after merge)"},"merge":{"type":"boolean","description":"Merge with existing lists instead of replacing (default false)"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_sessions_overview","description":"Get an aggregate overview of all active Claude Code sessions — readiness, busy/paused state, cost, context usage, and last activity for each. Use this for a dashboard view across all sessions. For single-session detail, use claude_session_status instead.","parameters":{"type":"object","properties":{}}}},{"type":"function","function":{"name":"claude_team_list","description":"List teammates in an agent team session (requires enableAgentTeams)","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"}},"required":["name"]}}},{"type":"function","function":{"name":"claude_team_send","description":"Send a message to a specific teammate in an agent team session","parameters":{"type":"object","properties":{"name":{"type":"string","description":"Session name"},"teammate":{"type":"string","description":"Teammate name"},"message":{"type":"string","description":"Message to send"}},"required":["name","teammate","message"]}}},{"type":"function","function":{"name":"council_abort","description":"Abort a running council, stopping all agent sessions","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"}},"required":["id"]}}},{"type":"function","function":{"name":"council_accept","description":"Accept and finalize council work. Cleans up all council scaffolding: removes worktrees, deletes council/* branches, removes plan.md and reviews/ directory. Only call after reviewing with council_review.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"}},"required":["id"]}}},{"type":"function","function":{"name":"council_inject","description":"Inject a user message into the next round of a running council. The message will be appended to all agent prompts in the next round.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"},"message":{"type":"string","description":"Message to inject"}},"required":["id","message"]}}},{"type":"function","function":{"name":"council_reject","description":"Reject council work and provide feedback. Rewrites plan.md with rejection feedback and commits it. Does NOT delete any worktrees or branches — the council can be restarted to retry. Use this when the council output is incomplete or broken.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"},"feedback":{"type":"string","description":"Detailed feedback explaining why the work is rejected and what needs to be fixed"}},"required":["id","feedback"]}}},{"type":"function","function":{"name":"council_review","description":"Review a completed council session. Returns a structured report of all changed files, branches, worktrees, plan.md status, review files, and agent summaries. Does not modify any state — purely informational. Use this before deciding to accept or reject.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"}},"required":["id"]}}},{"type":"function","function":{"name":"council_start","description":"Start a multi-agent council that collaborates on a task using git worktree isolation, round-based execution, and consensus voting. Agents can use different engines (Claude, Codex) and models.","parameters":{"type":"object","properties":{"task":{"type":"string","description":"Task description for the council to work on"},"projectDir":{"type":"string","description":"Working directory for the council project"},"agents":{"type":"array","description":"Agent personas. Defaults to 3-agent team (Planner, Generator, Evaluator) if omitted.","items":{"type":"object","properties":{"name":{"type":"string","description":"Agent display name"},"emoji":{"type":"string","description":"Agent emoji identifier"},"persona":{"type":"string","description":"Agent personality/expertise description"},"engine":{"type":"string","enum":["claude","codex","gemini","cursor","custom"],"description":"Engine (default: claude). Use \"custom\" with customEngine for any CLI."},"model":{"type":"string","description":"Model to use"},"baseUrl":{"type":"string","description":"Custom API endpoint (for proxy)"},"customEngine":{"type":"object","description":"Custom engine config (when engine=\"custom\")"}},"required":["name","emoji","persona"]}},"maxRounds":{"type":"number","description":"Max collaboration rounds (default 15)"},"agentTimeoutMs":{"type":"number","description":"Per-agent timeout in ms (default 1800000)"},"maxTurnsPerAgent":{"type":"number","description":"Max tool turns per agent per round (default 30)"},"maxBudgetUsd":{"type":"number","description":"Max API spend per agent (USD)"},"defaultPermissionMode":{"type":"string","enum":["acceptEdits","bypassPermissions","default","delegate","dontAsk","plan","auto"],"description":"Default permission mode for council agents (default: bypassPermissions)"}},"required":["task","projectDir"]}}},{"type":"function","function":{"name":"council_status","description":"Get the status of a running council session","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Council session ID"}},"required":["id"]}}},{"type":"function","function":{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}},"additionalProperties":false},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}}},{"type":"function","function":{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"^.*$":{"type":"string"}}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Exec security mode (deny|allowlist|full)."},"ask":{"type":"string","description":"Exec ask mode (off|on-miss|always)."},"node":{"type":"string","description":"Node id/name for host=node."}}}}},{"type":"function","function":{"name":"image","description":"Analyze one or more images with a vision model. Use image for a single path/URL, or images for multiple (up to 20). Only use this tool when images were NOT already provided in the user's message. Images mentioned in the prompt are automatically visible to you.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"Single image path or URL."},"images":{"type":"array","items":{"type":"string"},"description":"Multiple image paths or URLs (up to maxImages, default 20)."},"model":{"type":"string"},"maxBytesMb":{"type":"number"},"maxImages":{"type":"number"}}}}},{"type":"function","function":{"name":"image_generate","description":"Generate new images or edit reference images with the configured or inferred image-generation model. For transparent backgrounds, use outputFormat=\"png\" or \"webp\" and background=\"transparent\"; OpenAI also accepts openai.background and OpenClaw routes the default OpenAI image model to gpt-image-1.5 for that mode. Set agents.defaults.imageGenerationModel.primary to pick a provider/model. Providers declare their own auth/readiness; use action=\"list\" to inspect registered providers, models, readiness, and auth hints. Generated images are delivered automatically from the tool result as MEDIA paths.","parameters":{"type":"object","properties":{"action":{"type":"string","description":"Optional action: \"generate\" (default) or \"list\" to inspect available providers/models."},"prompt":{"type":"string","description":"Image generation prompt."},"image":{"type":"string","description":"Optional reference image path or URL for edit mode."},"images":{"type":"array","items":{"type":"string"},"description":"Optional reference images for edit mode (up to 5)."},"model":{"type":"string","description":"Optional provider/model override, e.g. openai/gpt-image-2; use openai/gpt-image-1.5 for transparent OpenAI backgrounds."},"filename":{"type":"string","description":"Optional output filename hint. OpenClaw preserves the basename and saves under its managed media directory."},"size":{"type":"string","description":"Optional size hint like 1024x1024, 1536x1024, 1024x1536, 2048x2048, or 3840x2160."},"aspectRatio":{"type":"string","description":"Optional aspect ratio hint: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, or 21:9."},"resolution":{"type":"string","description":"Optional resolution hint: 1K, 2K, or 4K. Useful for Google edit/generation flows."},"quality":{"type":"string","enum":["low","medium","high","auto"],"description":"Optional quality hint: low, medium, high, or auto when the provider supports it."},"outputFormat":{"type":"string","enum":["png","jpeg","webp"],"description":"Optional output format hint: png, jpeg, or webp when the provider supports it."},"background":{"type":"string","enum":["transparent","opaque","auto"],"description":"Optional background hint: transparent, opaque, or auto when the provider supports it. For transparent output use outputFormat png or webp."},"openai":{"type":"object","properties":{"background":{"type":"string","enum":["transparent","opaque","auto"],"description":"OpenAI-only background hint: transparent, opaque, or auto. For transparent output use outputFormat png or webp; OpenClaw routes the default OpenAI image model to gpt-image-1.5 for this mode."},"moderation":{"type":"string","enum":["low","auto"],"description":"OpenAI-only moderation hint: low or auto."},"outputCompression":{"type":"number","description":"OpenAI-only compression level for jpeg/webp outputFormat, 0-100.","minimum":0,"maximum":100},"user":{"type":"string","description":"OpenAI-only stable end-user identifier for abuse monitoring."}}},"count":{"type":"number","description":"Optional number of images to request (1-4).","minimum":1,"maximum":4},"timeoutMs":{"type":"number","description":"Optional provider request timeout in milliseconds.","minimum":1}}}}},{"type":"function","function":{"name":"lcm_describe","description":"Look up metadata and content for an LCM item by ID. Use this to inspect summaries (sum_xxx) or stored files (file_xxx) from compacted conversation history. Returns summary content, lineage, token counts, and file exploration results.","parameters":{"type":"object","required":["id"],"properties":{"id":{"description":"The LCM ID to look up. Use sum_xxx for summaries, file_xxx for files.","type":"string"},"conversationId":{"description":"Conversation ID to scope describe lookups to. If omitted, uses the current session conversation.","type":"number"},"allConversations":{"description":"Set true to explicitly allow lookups across all conversations. Ignored when conversationId is provided.","type":"boolean"},"tokenCap":{"description":"Optional budget cap used for subtree manifest budget-fit annotations.","minimum":1,"type":"number"}}}}},{"type":"function","function":{"name":"lcm_expand","description":"Expand compacted conversation summaries from LCM (Lossless Context Management). Traverses the summary DAG to retrieve children and source messages. Use this to drill into previously-compacted context when you need detail that was summarised away. Provide either summaryIds (direct expansion) or query (grep-first, then expand top matches). Returns a compact text payload plus cited IDs in tool output for follow-up.","parameters":{"type":"object","properties":{"summaryIds":{"description":"Summary IDs to expand (sum_xxx format). Required if query is not provided.","type":"array","items":{"type":"string"}},"query":{"description":"Text query to grep for matching summaries before expanding. If provided, summaryIds is ignored and the top grep results are expanded.","type":"string"},"maxDepth":{"description":"Max traversal depth per summary (default: 3).","minimum":1,"type":"number"},"tokenCap":{"description":"Max tokens across the entire expansion result.","minimum":1,"type":"number"},"includeMessages":{"description":"Whether to include raw source messages at leaf level (default: false).","type":"boolean"},"conversationId":{"description":"Conversation ID to scope the expansion to. If omitted, uses the current session's conversation.","type":"number"},"allConversations":{"description":"Set true to explicitly allow cross-conversation expansion. Ignored when conversationId is provided.","type":"boolean"}}}}},{"type":"function","function":{"name":"lcm_expand_query","description":"Answer a focused natural-language question using delegated LCM expansion. Find candidate summaries (by IDs or a short FTS5 query that follows the same full-text rules as lcm_grep), expand them in a delegated sub-agent, and return a compact prompt-focused answer. Tool output includes cited summary IDs for follow-up.","parameters":{"type":"object","required":["prompt"],"properties":{"summaryIds":{"description":"Summary IDs to expand (sum_xxx). Required when query is not provided.","type":"array","items":{"type":"string"}},"query":{"description":"FTS5 query used to find summaries via the same full-text search path as lcm_grep before expansion. Use 1-3 distinctive terms or a quoted phrase; FTS5 defaults to AND matching, so extra terms make matches stricter. Required when summaryIds is not provided.","type":"string"},"prompt":{"description":"Natural-language question or task to answer using expanded context. Put the answer request here, not in query.","type":"string"},"conversationId":{"description":"Conversation ID to scope expansion to. If omitted, uses the current session conversation.","type":"number"},"allConversations":{"description":"Set true to explicitly allow cross-conversation lookup. Ignored when conversationId is provided.","type":"boolean"},"maxTokens":{"description":"Maximum answer tokens to target (default: 2000).","minimum":1,"type":"number"},"tokenCap":{"description":"Expansion retrieval token budget across all delegated lcm_expand calls for this query.","minimum":1,"type":"number"}}}}},{"type":"function","function":{"name":"lcm_grep","description":"Search compacted conversation history using regex or full-text search. Searches across messages and/or summaries stored by LCM. Use this to find specific content that may have been compacted away from active context. In full_text mode, queries use FTS5 AND semantics by default, so keep them short and focused; quoted phrases stay intact and optional sort modes can prioritize relevance for older topics. Returns matching snippets with their summary/message IDs for follow-up with lcm_expand or lcm_describe.","parameters":{"type":"object","required":["pattern"],"properties":{"pattern":{"description":"Search pattern. Interpreted as regex when mode is \"regex\", or as an FTS5 text query when mode is \"full_text\". In full_text mode, FTS5 defaults to AND matching, so prefer 1-3 distinctive terms or one quoted multi-word phrase instead of padding with synonyms or extra keywords.","type":"string"},"mode":{"description":"Search mode: \"regex\" for regular expression matching, \"full_text\" for text search. Default: \"regex\".","enum":["regex","full_text"],"type":"string"},"scope":{"description":"What to search: \"messages\" for raw messages, \"summaries\" for compacted summaries, \"both\" for all. Default: \"both\".","enum":["messages","summaries","both"],"type":"string"},"conversationId":{"description":"Conversation ID to search within. If omitted, defaults to the current session conversation.","type":"number"},"allConversations":{"description":"Set true to explicitly search across all conversations. Ignored when conversationId is provided.","type":"boolean"},"since":{"description":"Only return matches created at or after this ISO timestamp.","type":"string"},"before":{"description":"Only return matches created before this ISO timestamp.","type":"string"},"limit":{"description":"Maximum number of results to return (default: 50).","minimum":1,"maximum":200,"type":"number"},"sort":{"description":"Sort order: \"recency\" (newest first, default), \"relevance\" (best FTS5 match first, full_text mode only), or \"hybrid\" (full_text mode only; balances relevance with recency). Applied before limit is enforced.","enum":["recency","relevance","hybrid"],"type":"string"}}}}},{"type":"function","function":{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string"},"from":{"type":"number"},"lines":{"type":"number"},"corpus":{"anyOf":[{"type":"string","const":"memory"},{"type":"string","const":"wiki"},{"type":"string","const":"all"}]}}}}},{"type":"function","function":{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"maxResults":{"type":"number"},"minScore":{"type":"number"},"corpus":{"anyOf":[{"type":"string","const":"memory"},{"type":"string","const":"wiki"},{"type":"string","const":"all"},{"type":"string","const":"sessions"}]}}}}},{"type":"function","function":{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use write/send-keys/submit/paste/kill for input or intervention.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"type":"string"},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"type":"string"},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning","minimum":0}}}}},{"type":"function","function":{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}}},{"type":"function","function":{"name":"session_status","description":"Show a /status-equivalent session status card for the current or another visible session, including usage, time, cost when available, and linked background task context. Optional `model` sets a per-session model override; `model=default` resets overrides. Use this for questions like what model is active or how a session is configured.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}}},{"type":"function","function":{"name":"sessions_history","description":"Fetch sanitized message history for a visible session. Supports limits and optional tool messages; use this to inspect another session before replying, debugging, or resuming work.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"number","minimum":1},"includeTools":{"type":"boolean"}}}}},{"type":"function","function":{"name":"sessions_list","description":"List visible sessions with optional filters for kind, label, agentId, search, recent activity, derived titles, and last-message previews. Use this to discover a target session before calling sessions_history or sessions_send.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"type":"string"}},"limit":{"type":"number","minimum":1},"activeMinutes":{"type":"number","minimum":1},"messageLimit":{"type":"number","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}}},{"type":"function","function":{"name":"sessions_send","description":"Send a message into another visible session by sessionKey or label. Use this to delegate follow-up work to an existing session; waits for the target run and returns the updated assistant reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"number","minimum":0}}}}},{"type":"function","function":{"name":"sessions_spawn","description":"Spawn a clean isolated session by default with the native subagent runtime. `mode=\"run\"` is one-shot and `mode=\"session\"` is persistent or thread-bound. Subagents inherit the parent workspace directory automatically. For native subagents only, set `context=\"fork\"` when the child needs the current transcript context; otherwise omit it or use `context=\"isolated\"`. Use this when the work should happen in a fresh child session instead of the current one.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"label":{"type":"string"},"runtime":{"type":"string","enum":["subagent"]},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"runTimeoutSeconds":{"type":"number","minimum":0},"timeoutSeconds":{"type":"number","minimum":0},"thread":{"type":"boolean"},"mode":{"type":"string","enum":["run","session"]},"cleanup":{"type":"string","enum":["delete","keep"]},"sandbox":{"type":"string","enum":["inherit","require"]},"context":{"type":"string","enum":["isolated","fork"],"description":"Native subagent context mode. Omit or use \"isolated\" for a clean child session; use \"fork\" only when the child needs the requester transcript context."},"lightContext":{"type":"boolean","description":"When true, spawned subagent runs use lightweight bootstrap context. Only applies to runtime='subagent'."},"attachments":{"type":"array","items":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mimeType":{"type":"string"}}},"maxItems":50},"attachAs":{"type":"object","properties":{"mountPath":{"type":"string"}}}}}}},{"type":"function","function":{"name":"sessions_yield","description":"End your current turn. Use after spawning subagents to receive their results as the next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}}},{"type":"function","function":{"name":"subagents","description":"List, kill, or steer spawned sub-agents for this requester session. Use this for sub-agent orchestration.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":["list","kill","steer"]},"target":{"type":"string"},"message":{"type":"string"},"recentMinutes":{"type":"number","minimum":1}}}}},{"type":"function","function":{"name":"ultraplan_start","description":"Start an Ultraplan session: a dedicated Opus planning session that explores your project for up to 30 minutes and produces a detailed implementation plan. Runs in background.","parameters":{"type":"object","properties":{"task":{"type":"string","description":"What to plan — describe the feature, refactor, or problem"},"cwd":{"type":"string","description":"Project directory to explore"},"model":{"type":"string","description":"Model to use (default: opus)"},"timeout":{"type":"number","description":"Timeout in ms (default: 1800000 = 30 min)"}},"required":["task"]}}},{"type":"function","function":{"name":"ultraplan_status","description":"Get the status of an Ultraplan session. Returns the plan text when completed.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Ultraplan ID"}},"required":["id"]}}},{"type":"function","function":{"name":"ultrareview_start","description":"Start an Ultrareview: a fleet of bug-hunting agents (5-20) that review your codebase from different angles in parallel. Each agent specializes in a different area (security, performance, logic, types, etc.). Runs in background.","parameters":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory to review"},"agentCount":{"type":"number","description":"Number of reviewer agents (1-20, default 5)"},"maxDurationMinutes":{"type":"number","description":"Max review duration in minutes (5-25, default 10)"},"model":{"type":"string","description":"Model for reviewers (default: session default)"},"focus":{"type":"string","description":"Review focus area (default: bugs + security + quality)"}},"required":["cwd"]}}},{"type":"function","function":{"name":"ultrareview_status","description":"Get the status of an Ultrareview. Returns all findings when completed.","parameters":{"type":"object","properties":{"id":{"type":"string","description":"Ultrareview ID"}},"required":["id"]}}},{"type":"function","function":{"name":"web_fetch","description":"Fetch and extract readable content from a URL (HTML → markdown/text). Use for lightweight page access without browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP or HTTPS URL to fetch."},"extractMode":{"type":"string","enum":["markdown","text"],"description":"Extraction mode (\"markdown\" or \"text\").","default":"markdown"},"maxChars":{"type":"number","description":"Maximum characters to return (truncates when exceeded).","minimum":100}}}}},{"type":"function","function":{"name":"web_search","description":"Search the web using Brave Search API. Supports region-specific and localized search via country and language parameters. Returns titles, URLs, and snippets for fast research.","parameters":{"type":"object","properties":{"query":{"type":"string","description":"Search query string."},"count":{"type":"number","description":"Number of results to return (1-10).","minimum":1,"maximum":10},"country":{"type":"string","description":"2-letter country code for region-specific results (e.g., 'DE', 'US', 'ALL'). Default: 'US'."},"language":{"type":"string","description":"ISO 639-1 language code for results (e.g., 'en', 'de', 'fr')."},"freshness":{"type":"string","description":"Filter by time: 'day' (24h), 'week', 'month', or 'year'."},"date_after":{"type":"string","description":"Only results published after this date (YYYY-MM-DD)."},"date_before":{"type":"string","description":"Only results published before this date (YYYY-MM-DD)."},"search_lang":{"type":"string","description":"Brave language code for search results (e.g., 'en', 'de', 'en-gb', 'zh-hans', 'zh-hant', 'pt-br')."},"ui_lang":{"type":"string","description":"Locale code for UI elements in language-region format (e.g., 'en-US', 'de-DE', 'fr-FR', 'tr-TR'). Must include region subtag."}}}}},{"type":"function","function":{"name":"wiki_apply","description":"Apply narrow wiki mutations for syntheses and page metadata without freeform markdown surgery.","parameters":{"type":"object","required":["op"],"properties":{"op":{"anyOf":[{"type":"string","const":"create_synthesis"},{"type":"string","const":"update_metadata"}]},"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"lookup":{"type":"string","minLength":1},"sourceIds":{"type":"array","items":{"type":"string","minLength":1}},"claims":{"type":"array","items":{"type":"object","required":["text"],"properties":{"id":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"status":{"type":"string","minLength":1},"confidence":{"type":"number","minimum":0,"maximum":1},"evidence":{"type":"array","items":{"type":"object","properties":{"sourceId":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"lines":{"type":"string","minLength":1},"weight":{"type":"number","minimum":0},"note":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"additionalProperties":false}},"updatedAt":{"type":"string","minLength":1}},"additionalProperties":false}},"contradictions":{"type":"array","items":{"type":"string","minLength":1}},"questions":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"status":{"type":"string","minLength":1}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_get","description":"Read a wiki page by id or relative path, or fall back to the active memory corpus when shared search is enabled.","parameters":{"type":"object","required":["lookup"],"properties":{"lookup":{"type":"string","minLength":1},"fromLine":{"type":"number","minimum":1},"lineCount":{"type":"number","minimum":1},"backend":{"anyOf":[{"type":"string","const":"shared"},{"type":"string","const":"local"}]},"corpus":{"anyOf":[{"type":"string","const":"wiki"},{"type":"string","const":"memory"},{"type":"string","const":"all"}]}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_lint","description":"Lint the wiki vault and surface structural issues, provenance gaps, contradictions, and open questions.","parameters":{"type":"object","properties":{},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_search","description":"Search wiki pages and, when shared search is enabled, the active memory corpus by title, path, id, or body text.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1},"maxResults":{"type":"number","minimum":1},"backend":{"anyOf":[{"type":"string","const":"shared"},{"type":"string","const":"local"}]},"corpus":{"anyOf":[{"type":"string","const":"wiki"},{"type":"string","const":"memory"},{"type":"string","const":"all"}]}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_status","description":"Inspect the current memory wiki vault mode, health, and Obsidian CLI availability.","parameters":{"type":"object","properties":{},"additionalProperties":false}}},{"type":"function","function":{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}}]
1
+ [{"type":"function","function":{"name":"browser","description":"Control the browser via OpenClaw's browser control server (status/start/stop/profiles/tabs/open/snapshot/screenshot/actions). Browser choice: omit profile by default for the isolated OpenClaw-managed browser (`openclaw`). For the logged-in user browser, use profile=\"user\". A supported Chromium-based browser (v144+) must be running on the selected host or browser node. Use only when existing logins/cookies matter and the user is present. For profile=\"user\" or other existing-session profiles, omit timeoutMs on act:type, evaluate, hover, scrollIntoView, drag, select, and fill; that driver rejects per-call timeout overrides for those actions. When a node-hosted browser proxy is available, the tool may auto-route to it. Pin a node with node=<id|name> or target=\"node\". When using refs from snapshot (e.g. e12), keep the same tab: prefer passing targetId from the snapshot response into subsequent actions (act/click/type/etc). For tab operations, targetId also accepts tabId handles (t1) and labels from action=tabs. For multi-step browser work, login checks, stale refs, duplicate tabs, or Google Meet flows, use the bundled browser-automation skill when it is available. For stable, self-resolving refs across calls, use snapshot with refs=\"aria\" (Playwright aria-ref ids). Default refs=\"role\" are role+name-based. Use snapshot+act for UI automation. Avoid act:wait by default; use only in exceptional cases when no reliable UI state exists. target selects browser location (sandbox|host|node). Default: host. Host target allowed.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["doctor","status","start","stop","profiles","tabs","open","focus","close","snapshot","screenshot","navigate","console","pdf","upload","dialog","act"]},"target":{"type":"string","enum":["sandbox","host","node"]},"node":{"type":"string"},"profile":{"type":"string"},"targetUrl":{"type":"string"},"url":{"type":"string"},"targetId":{"type":"string"},"label":{"type":"string"},"limit":{"type":"number"},"maxChars":{"type":"number"},"mode":{"type":"string","enum":["efficient"]},"snapshotFormat":{"type":"string","enum":["aria","ai"]},"refs":{"type":"string","enum":["role","aria"]},"interactive":{"type":"boolean"},"compact":{"type":"boolean"},"depth":{"type":"number"},"selector":{"type":"string"},"frame":{"type":"string"},"labels":{"type":"boolean"},"urls":{"type":"boolean"},"fullPage":{"type":"boolean"},"ref":{"type":"string"},"element":{"type":"string"},"type":{"type":"string","enum":["png","jpeg"]},"level":{"type":"string"},"paths":{"type":"array","items":{"type":"string"}},"inputRef":{"type":"string"},"timeoutMs":{"type":"number"},"accept":{"type":"boolean"},"promptText":{"type":"string"},"kind":{"type":"string","enum":["click","clickCoords","type","press","hover","drag","select","fill","resize","wait","evaluate","close"]},"doubleClick":{"type":"boolean"},"button":{"type":"string"},"modifiers":{"type":"array","items":{"type":"string"}},"x":{"type":"number"},"y":{"type":"number"},"text":{"type":"string"},"submit":{"type":"boolean"},"slowly":{"type":"boolean"},"key":{"type":"string"},"delayMs":{"type":"number"},"startRef":{"type":"string"},"endRef":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"width":{"type":"number"},"height":{"type":"number"},"timeMs":{"type":"number"},"textGone":{"type":"string"},"loadState":{"type":"string"},"fn":{"type":"string"},"request":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["click","clickCoords","type","press","hover","drag","select","fill","resize","wait","evaluate","close"]},"targetId":{"type":"string"},"ref":{"type":"string"},"doubleClick":{"type":"boolean"},"button":{"type":"string"},"modifiers":{"type":"array","items":{"type":"string"}},"x":{"type":"number"},"y":{"type":"number"},"text":{"type":"string"},"submit":{"type":"boolean"},"slowly":{"type":"boolean"},"key":{"type":"string"},"delayMs":{"type":"number"},"startRef":{"type":"string"},"endRef":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"width":{"type":"number"},"height":{"type":"number"},"timeMs":{"type":"number"},"selector":{"type":"string"},"url":{"type":"string"},"loadState":{"type":"string"},"textGone":{"type":"string"},"timeoutMs":{"type":"number"},"fn":{"type":"string"}}}}}}},{"type":"function","function":{"name":"edit","description":"Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.","parameters":{"type":"object","required":["path","edits"],"properties":{"path":{"type":"string","description":"Path to the file to edit (relative or absolute)"},"edits":{"type":"array","items":{"type":"object","required":["oldText","newText"],"properties":{"oldText":{"type":"string","description":"Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call."},"newText":{"type":"string","description":"Replacement text for this targeted edit."}},"additionalProperties":false},"description":"One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead."}},"additionalProperties":false}}},{"type":"function","function":{"name":"exec","description":"Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Use pty=true for TTY-required commands (terminal UIs, coding agents).","parameters":{"type":"object","required":["command"],"properties":{"command":{"type":"string","description":"Shell command to execute"},"workdir":{"type":"string","description":"Working directory (defaults to cwd)"},"env":{"type":"object","patternProperties":{"^.*$":{"type":"string"}}},"yieldMs":{"type":"number","description":"Milliseconds to wait before backgrounding (default 10000)"},"background":{"type":"boolean","description":"Run in background immediately"},"timeout":{"type":"number","description":"Timeout in seconds (optional, kills process on expiry)"},"pty":{"type":"boolean","description":"Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)"},"elevated":{"type":"boolean","description":"Run on the host with elevated permissions (if allowed)"},"host":{"type":"string","enum":["auto","sandbox","gateway","node"],"description":"Exec host/target (auto|sandbox|gateway|node)."},"security":{"type":"string","description":"Exec security mode (deny|allowlist|full)."},"ask":{"type":"string","description":"Exec ask mode (off|on-miss|always)."},"node":{"type":"string","description":"Node id/name for host=node."}}}}},{"type":"function","function":{"name":"image","description":"Analyze one or more images with a vision model. Use image for a single path/URL, or images for multiple (up to 20). Only use this tool when images were NOT already provided in the user's message. Images mentioned in the prompt are automatically visible to you.","parameters":{"type":"object","properties":{"prompt":{"type":"string"},"image":{"type":"string","description":"Single image path or URL."},"images":{"type":"array","items":{"type":"string"},"description":"Multiple image paths or URLs (up to maxImages, default 20)."},"model":{"type":"string"},"maxBytesMb":{"type":"number"},"maxImages":{"type":"number"}}}}},{"type":"function","function":{"name":"image_generate","description":"Generate new images or edit reference images with the configured or inferred image-generation model. For transparent backgrounds, use outputFormat=\"png\" or \"webp\" and background=\"transparent\"; OpenAI also accepts openai.background and OpenClaw routes the default OpenAI image model to gpt-image-1.5 for that mode. Set agents.defaults.imageGenerationModel.primary to pick a provider/model. Providers declare their own auth/readiness; use action=\"list\" to inspect registered providers, models, readiness, and auth hints. Generated images are delivered automatically from the tool result as MEDIA paths.","parameters":{"type":"object","properties":{"action":{"type":"string","description":"Optional action: \"generate\" (default) or \"list\" to inspect available providers/models."},"prompt":{"type":"string","description":"Image generation prompt."},"image":{"type":"string","description":"Optional reference image path or URL for edit mode."},"images":{"type":"array","items":{"type":"string"},"description":"Optional reference images for edit mode (up to 5)."},"model":{"type":"string","description":"Optional provider/model override, e.g. openai/gpt-image-2; use openai/gpt-image-1.5 for transparent OpenAI backgrounds."},"filename":{"type":"string","description":"Optional output filename hint. OpenClaw preserves the basename and saves under its managed media directory."},"size":{"type":"string","description":"Optional size hint like 1024x1024, 1536x1024, 1024x1536, 2048x2048, or 3840x2160."},"aspectRatio":{"type":"string","description":"Optional aspect ratio hint: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, or 21:9."},"resolution":{"type":"string","description":"Optional resolution hint: 1K, 2K, or 4K. Useful for Google edit/generation flows."},"quality":{"type":"string","enum":["low","medium","high","auto"],"description":"Optional quality hint: low, medium, high, or auto when the provider supports it."},"outputFormat":{"type":"string","enum":["png","jpeg","webp"],"description":"Optional output format hint: png, jpeg, or webp when the provider supports it."},"background":{"type":"string","enum":["transparent","opaque","auto"],"description":"Optional background hint: transparent, opaque, or auto when the provider supports it. For transparent output use outputFormat png or webp."},"openai":{"type":"object","properties":{"background":{"type":"string","enum":["transparent","opaque","auto"],"description":"OpenAI-only background hint: transparent, opaque, or auto. For transparent output use outputFormat png or webp; OpenClaw routes the default OpenAI image model to gpt-image-1.5 for this mode."},"moderation":{"type":"string","enum":["low","auto"],"description":"OpenAI-only moderation hint: low or auto."},"outputCompression":{"type":"number","description":"OpenAI-only compression level for jpeg/webp outputFormat, 0-100.","minimum":0,"maximum":100},"user":{"type":"string","description":"OpenAI-only stable end-user identifier for abuse monitoring."}}},"count":{"type":"number","description":"Optional number of images to request (1-4).","minimum":1,"maximum":4},"timeoutMs":{"type":"number","description":"Optional provider request timeout in milliseconds.","minimum":1}}}}},{"type":"function","function":{"name":"memory_get","description":"Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string"},"from":{"type":"number"},"lines":{"type":"number"},"corpus":{"anyOf":[{"type":"string","const":"memory"},{"type":"string","const":"wiki"},{"type":"string","const":"all"}]}}}}},{"type":"function","function":{"name":"memory_search","description":"Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"maxResults":{"type":"number"},"minScore":{"type":"number"},"corpus":{"anyOf":[{"type":"string","const":"memory"},{"type":"string","const":"wiki"},{"type":"string","const":"all"},{"type":"string","const":"sessions"}]}}}}},{"type":"function","function":{"name":"music_generate","description":"Generate music using configured providers. Generated tracks are saved under OpenClaw-managed media storage and delivered automatically as attachments.","parameters":{"type":"object","properties":{"action":{"type":"string","description":"Optional action: \"generate\" (default), \"status\" to inspect the active session task, or \"list\" to inspect available providers/models."},"prompt":{"type":"string","description":"Music generation prompt."},"lyrics":{"type":"string","description":"Optional lyrics to guide sung output when the provider supports it."},"instrumental":{"type":"boolean","description":"Optional toggle for instrumental-only output when the provider supports it."},"image":{"type":"string","description":"Optional single reference image path or URL."},"images":{"type":"array","items":{"type":"string"},"description":"Optional reference images (up to 10)."},"model":{"type":"string","description":"Optional provider/model override, e.g. google/lyria-3-pro-preview."},"durationSeconds":{"type":"number","description":"Optional target duration in seconds when the provider supports duration hints.","minimum":1},"timeoutMs":{"type":"number","description":"Optional provider request timeout in milliseconds.","minimum":1},"format":{"type":"string","description":"Optional output format hint: \"mp3\" or \"wav\" when the provider supports it."},"filename":{"type":"string","description":"Optional output filename hint. OpenClaw preserves the basename and saves under its managed media directory."}}}}},{"type":"function","function":{"name":"process","description":"Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use write/send-keys/submit/paste/kill for input or intervention.","parameters":{"type":"object","required":["action"],"properties":{"action":{"type":"string","description":"Process action"},"sessionId":{"type":"string","description":"Session id for actions other than list"},"data":{"type":"string","description":"Data to write for write"},"keys":{"type":"array","items":{"type":"string"},"description":"Key tokens to send for send-keys"},"hex":{"type":"array","items":{"type":"string"},"description":"Hex bytes to send for send-keys"},"literal":{"type":"string","description":"Literal string for send-keys"},"text":{"type":"string","description":"Text to paste for paste"},"bracketed":{"type":"boolean","description":"Wrap paste in bracketed mode"},"eof":{"type":"boolean","description":"Close stdin after write"},"offset":{"type":"number","description":"Log offset"},"limit":{"type":"number","description":"Log length"},"timeout":{"type":"number","description":"For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000","minimum":0}}}}},{"type":"function","function":{"name":"read","description":"Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.","parameters":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Path to the file to read (relative or absolute)"},"offset":{"type":"number","description":"Line number to start reading from (1-indexed)"},"limit":{"type":"number","description":"Maximum number of lines to read"}}}}},{"type":"function","function":{"name":"session_status","description":"Show a /status-equivalent session status card for the current or another visible session, including usage, time, cost when available, and linked background task context. Use `sessionKey=\"current\"` for the current session; do not use UI/client labels such as `openclaw-tui` as session keys. Optional `model` sets a per-session model override; `model=default` resets overrides. Use this for questions like what model is active or how a session is configured.","parameters":{"type":"object","properties":{"sessionKey":{"type":"string"},"model":{"type":"string"}}}}},{"type":"function","function":{"name":"sessions_history","description":"Fetch sanitized message history for a visible session. Supports limits and optional tool messages; use this to inspect another session before replying, debugging, or resuming work.","parameters":{"type":"object","required":["sessionKey"],"properties":{"sessionKey":{"type":"string"},"limit":{"type":"number","minimum":1},"includeTools":{"type":"boolean"}}}}},{"type":"function","function":{"name":"sessions_list","description":"List visible sessions with optional filters for kind, label, agentId, search, recent activity, derived titles, and last-message previews. Use this to discover a target session before calling sessions_history or sessions_send.","parameters":{"type":"object","properties":{"kinds":{"type":"array","items":{"type":"string"}},"limit":{"type":"number","minimum":1},"activeMinutes":{"type":"number","minimum":1},"messageLimit":{"type":"number","minimum":0},"label":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1,"maxLength":64},"search":{"type":"string","minLength":1},"includeDerivedTitles":{"type":"boolean"},"includeLastMessage":{"type":"boolean"}}}}},{"type":"function","function":{"name":"sessions_send","description":"Send a message into another visible session by sessionKey or label. Use this to delegate follow-up work to an existing session; waits for the target run and returns the updated assistant reply when available.","parameters":{"type":"object","required":["message"],"properties":{"sessionKey":{"type":"string"},"label":{"type":"string","minLength":1,"maxLength":512},"agentId":{"type":"string","minLength":1,"maxLength":64},"message":{"type":"string"},"timeoutSeconds":{"type":"number","minimum":0}}}}},{"type":"function","function":{"name":"sessions_spawn","description":"Spawn a clean isolated session by default with the native subagent runtime. `mode=\"run\"` is one-shot and `mode=\"session\"` is persistent or thread-bound. Subagents inherit the parent workspace directory automatically. For native subagents only, set `context=\"fork\"` when the child needs the current transcript context; otherwise omit it or use `context=\"isolated\"`. Use this when the work should happen in a fresh child session instead of the current one.","parameters":{"type":"object","required":["task"],"properties":{"task":{"type":"string"},"label":{"type":"string"},"runtime":{"type":"string","enum":["subagent"]},"agentId":{"type":"string"},"model":{"type":"string"},"thinking":{"type":"string"},"cwd":{"type":"string"},"runTimeoutSeconds":{"type":"number","minimum":0},"timeoutSeconds":{"type":"number","minimum":0},"thread":{"type":"boolean"},"mode":{"type":"string","enum":["run","session"]},"cleanup":{"type":"string","enum":["delete","keep"]},"sandbox":{"type":"string","enum":["inherit","require"]},"context":{"type":"string","enum":["isolated","fork"],"description":"Native subagent context mode. Omit or use \"isolated\" for a clean child session; use \"fork\" only when the child needs the requester transcript context."},"lightContext":{"type":"boolean","description":"When true, spawned subagent runs use lightweight bootstrap context. Only applies to runtime='subagent'."},"attachments":{"type":"array","items":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mimeType":{"type":"string"}}},"maxItems":50},"attachAs":{"type":"object","properties":{"mountPath":{"type":"string"}}}}}}},{"type":"function","function":{"name":"sessions_yield","description":"End your current turn. Use after spawning subagents to receive their results as the next message.","parameters":{"type":"object","properties":{"message":{"type":"string"}}}}},{"type":"function","function":{"name":"subagents","description":"List, kill, or steer spawned sub-agents for this requester session. Use this for sub-agent orchestration.","parameters":{"type":"object","properties":{"action":{"type":"string","enum":["list","kill","steer"]},"target":{"type":"string"},"message":{"type":"string"},"recentMinutes":{"type":"number","minimum":1}}}}},{"type":"function","function":{"name":"video_generate","description":"Generate videos using configured providers. Generated videos are saved under OpenClaw-managed media storage and delivered automatically as attachments. Duration requests may be rounded to the nearest provider-supported value.","parameters":{"type":"object","properties":{"action":{"type":"string","description":"Optional action: \"generate\" (default), \"status\" to inspect the active session task, or \"list\" to inspect available providers/models."},"prompt":{"type":"string","description":"Video generation prompt."},"image":{"type":"string","description":"Optional single reference image path or URL."},"images":{"type":"array","items":{"type":"string"},"description":"Optional reference images (up to 9)."},"imageRoles":{"type":"array","items":{"type":"string"},"description":"Optional semantic roles for the combined reference image list, parallel by index. The list is `image` (if provided) followed by each entry in `images`, in order, after de-duplication. Canonical values: \"first_frame\", \"last_frame\", \"reference_image\". Providers may accept additional role strings. Must not have more entries than the combined image list; use an empty string to leave a position unset."},"video":{"type":"string","description":"Optional single reference video path or URL."},"videos":{"type":"array","items":{"type":"string"},"description":"Optional reference videos (up to 4)."},"videoRoles":{"type":"array","items":{"type":"string"},"description":"Optional semantic roles for the combined reference video list, parallel by index. The list is `video` (if provided) followed by each entry in `videos`, in order, after de-duplication. Canonical value: \"reference_video\". Providers may accept additional role strings. Must not have more entries than the combined video list; use an empty string to leave a position unset."},"audioRef":{"type":"string","description":"Optional single reference audio path or URL (e.g. background music)."},"audioRefs":{"type":"array","items":{"type":"string"},"description":"Optional reference audios (up to 3)."},"audioRoles":{"type":"array","items":{"type":"string"},"description":"Optional semantic roles for the combined reference audio list, parallel by index. The list is `audioRef` (if provided) followed by each entry in `audioRefs`, in order, after de-duplication. Canonical value: \"reference_audio\". Providers may accept additional role strings. Must not have more entries than the combined audio list; use an empty string to leave a position unset."},"model":{"type":"string","description":"Optional provider/model override, e.g. qwen/wan2.6-t2v."},"filename":{"type":"string","description":"Optional output filename hint. OpenClaw preserves the basename and saves under its managed media directory."},"size":{"type":"string","description":"Optional size hint like 1280x720 or 1920x1080 when the provider supports it."},"aspectRatio":{"type":"string","description":"Optional aspect ratio hint: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, or \"adaptive\"."},"resolution":{"type":"string","description":"Optional resolution hint: 480P, 720P, 768P, or 1080P."},"durationSeconds":{"type":"number","description":"Optional target duration in seconds. OpenClaw may round this to the nearest provider-supported duration.","minimum":1},"audio":{"type":"boolean","description":"Optional audio toggle when the provider supports generated audio."},"watermark":{"type":"boolean","description":"Optional watermark toggle when the provider supports it."},"providerOptions":{"type":"object","patternProperties":{"^.*$":{}},"description":"Optional provider-specific options as a JSON object, e.g. `{\"seed\": 42, \"draft\": true}`. Each provider declares its own accepted keys and primitive types (number/boolean/string) via its capabilities; unknown keys or type mismatches skip the candidate during fallback and never silently reach the wrong provider. Run `video_generate action=list` to see which keys each provider accepts."},"timeoutMs":{"type":"number","description":"Optional provider request timeout in milliseconds.","minimum":1}}}}},{"type":"function","function":{"name":"web_fetch","description":"Fetch and extract readable content from a URL (HTML → markdown/text). Use for lightweight page access without browser automation.","parameters":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"HTTP or HTTPS URL to fetch."},"extractMode":{"type":"string","enum":["markdown","text"],"description":"Extraction mode (\"markdown\" or \"text\").","default":"markdown"},"maxChars":{"type":"number","description":"Maximum characters to return (truncates when exceeded).","minimum":100}}}}},{"type":"function","function":{"name":"wiki_apply","description":"Apply narrow wiki mutations for syntheses and page metadata without freeform markdown surgery.","parameters":{"type":"object","required":["op"],"properties":{"op":{"anyOf":[{"type":"string","const":"create_synthesis"},{"type":"string","const":"update_metadata"}]},"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"lookup":{"type":"string","minLength":1},"sourceIds":{"type":"array","items":{"type":"string","minLength":1}},"claims":{"type":"array","items":{"type":"object","required":["text"],"properties":{"id":{"type":"string","minLength":1},"text":{"type":"string","minLength":1},"status":{"type":"string","minLength":1},"confidence":{"type":"number","minimum":0,"maximum":1},"evidence":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"sourceId":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"lines":{"type":"string","minLength":1},"weight":{"type":"number","minimum":0},"note":{"type":"string","minLength":1},"confidence":{"type":"number","minimum":0,"maximum":1},"privacyTier":{"type":"string","minLength":1},"updatedAt":{"type":"string","minLength":1}},"additionalProperties":false}},"updatedAt":{"type":"string","minLength":1}},"additionalProperties":false}},"contradictions":{"type":"array","items":{"type":"string","minLength":1}},"questions":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"status":{"type":"string","minLength":1}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_get","description":"Read a wiki page by id or relative path, or fall back to the active memory corpus when shared search is enabled.","parameters":{"type":"object","required":["lookup"],"properties":{"lookup":{"type":"string","minLength":1},"fromLine":{"type":"number","minimum":1},"lineCount":{"type":"number","minimum":1},"backend":{"anyOf":[{"type":"string","const":"shared"},{"type":"string","const":"local"}]},"corpus":{"anyOf":[{"type":"string","const":"wiki"},{"type":"string","const":"memory"},{"type":"string","const":"all"}]}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_lint","description":"Lint the wiki vault and surface structural issues, provenance gaps, contradictions, and open questions.","parameters":{"type":"object","properties":{},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_search","description":"Search wiki pages and, when shared search is enabled, the active memory corpus by title, path, id, or body text.","parameters":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1},"maxResults":{"type":"number","minimum":1},"backend":{"anyOf":[{"type":"string","const":"shared"},{"type":"string","const":"local"}]},"corpus":{"anyOf":[{"type":"string","const":"wiki"},{"type":"string","const":"memory"},{"type":"string","const":"all"}]},"mode":{"anyOf":[{"type":"string","const":"auto"},{"type":"string","const":"find-person"},{"type":"string","const":"route-question"},{"type":"string","const":"source-evidence"},{"type":"string","const":"raw-claim"}]}},"additionalProperties":false}}},{"type":"function","function":{"name":"wiki_status","description":"Inspect the current memory wiki vault mode, health, and Obsidian CLI availability.","parameters":{"type":"object","properties":{},"additionalProperties":false}}},{"type":"function","function":{"name":"write","description":"Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.","parameters":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","description":"Path to the file to write (relative or absolute)"},"content":{"type":"string","description":"Content to write to the file"}}}}}]