The human-readable catalog of workspace facade tools available through workspace.call.
This page is generated from
packages/workspace/TOOLS.md. Edit the source Markdown, then run bun run --cwd packages/consuelo-docs generate-os-source-docs to refresh the public docs.What this file controls
| Field | Value |
|---|---|
| Source file | packages/workspace/TOOLS.md |
| Runtime role | Tool contracts, call shapes, examples, envelopes, categories, and operational affordances. |
| Controls | Which tool names exist, how they are called, and what each tool returns. |
| Generated route | /os/agent-context/tools |
Source document
workspace typed tools
This file is the human-readable tool catalog for the workspace facade. It is generated frompackages/workspace/tooling/tool-manifest.json, so tool additions, schema changes, and timeout changes update this reference through the generator.
The workspace app exposes exactly two MCP entrypoints:
workspace.get_steering()for bootstrap contextworkspace.call(\{ tool, input, taskSession, timeout \})for every typed operation
Call contract
Every operation travels through the same envelope:taskSession returned by task.start. The facade resolves the session to the correct branch and worktree before invoking the underlying script.
Tool index
| Category | Tools |
|---|---|
| codemode | 1 |
| composed | 2 |
| consuelo design | 21 |
| context | 7 |
| decision engine | 6 |
| filesystem | 6 |
| generation | 2 |
| git | 1 |
| github | 2 |
| http | 1 |
| linear | 8 |
| mac | 8 |
| review | 4 |
| sentry | 7 |
| stream | 3 |
| task lifecycle | 13 |
| tooling | 1 |
| utilities | 34 |
| worker | 1 |
Tools by category
codemode
workspace.code.run
run workspace-native codemode JavaScript against allowed workspace tools| Field | Value | |||
|---|---|---|---|---|
| Category | codemode | |||
| Signature | `workspace.code.run({ code: string; mode?: “read" | "edit" | "verify”; timeout?: number; memoryLimit?: number; maxOperations?: number; maxResultChars?: number; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace code.run | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
composed
workspace.checkFiles
run syntax checks over a set of files through task:exec| Field | Value | |
|---|---|---|
| Category | composed | |
| Signature | `workspace.checkFiles({ branch?: string; files: string[]; stopOnFirstError?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace checkFiles | |
| Capability | read-only · non-mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.editFlow
run a search-read-patch-verify flow as a composed script| Field | Value | |
|---|---|---|
| Category | composed | |
| Signature | `workspace.editFlow({ branch?: string; searchPattern: string; searchPaths: string[]; from: number; to: number; contentFile: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace editFlow | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
consuelo design
workspace.consueloDesign.check
run consuelo-design package boundary and Railway checks| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.check({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design check | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateDemo
create a headless Open Design work order for a demo artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.generateDemo({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-demo | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateDigitalEguide
create a headless Open Design work order for a digital e-guide artifact, optionally using a named Consuelo e-guide template| Field | Value | |||
|---|---|---|---|---|
| Category | consuelo design | |||
| Signature | `workspace.consueloDesign.generateDigitalEguide({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; template?: “research" | "spec" | "plan”; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-digital-eguide | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateEmail
create a headless Open Design work order for a email artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.generateEmail({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-email | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateImageBrief
create a headless Open Design work order for a image/media artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.generateImageBrief({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-image-brief | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateMotionFrame
create a headless Open Design work order for a motion-frame artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.generateMotionFrame({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-motion-frame | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.generateWebsite
create a headless Open Design work order for a website artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.generateWebsite({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design generate-website | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.getDesignSystem
return base Consuelo DESIGN.md and consuelo-design AGENTS.md only| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.getDesignSystem({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design get-design-system | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.listDesignSystems
list Consuelo default design system and upstream reference systems| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.listDesignSystems({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design list-design-systems | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.listSkills
list upstream Open Design skills and Consuelo workflow mappings| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.listSkills({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design list-skills | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.odBuild
build the vendored Open Design daemon CLI through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.odBuild({ requestId?: string; taskSession?: string; dryRun?: boolean; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design od:build | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.railwayCheck
verify consuelo-design is excluded from Railway deploy paths| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.railwayCheck({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design railway:check | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.renderHyperframes
create a headless Open Design work order for a HyperFrames render artifact; pass live=true only for a headed UI session| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.renderHyperframes({ requestId?: string; taskSession?: string; dryRun?: boolean; live?: boolean; name?: string; prompt?: string; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design render-hyperframes | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.run
start Open Design daemon and web UI in the foreground through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.run({ requestId?: string; taskSession?: string; dryRun?: boolean; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design run | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.uiBg
start Open Design managed runtimes in the background through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.uiBg({ requestId?: string; taskSession?: string; dryRun?: boolean; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design ui:bg | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.uiLogs
show Open Design managed runtime logs through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.uiLogs({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design ui:logs | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.uiStatus
show Open Design managed runtime status through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.uiStatus({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design ui:status | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.uiStop
stop Open Design managed runtimes through the Bun facade| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.uiStop({ requestId?: string; taskSession?: string; dryRun?: boolean; timeout?: number }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design ui:stop | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.consueloDesign.upstreamStatus
show vendored Open Design metadata and runtime requirements| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.consueloDesign.upstreamStatus({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design upstream-status | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.design.publish
publish a design artifact through private Tailscale Serve and update the design wiki archive| Field | Value | |||
|---|---|---|---|---|
| Category | consuelo design | |||
| Signature | `workspace.design.publish({ target?: string; portlessName?: string; path?: string; name?: string; category?: string; template?: “research" | "spec" | "plan”; tailscaleBin?: string; requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design publish | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.design.refresh
regenerate and publish the existing Consuelo Wiki archive without adding an artifact| Field | Value | |
|---|---|---|
| Category | consuelo design | |
| Signature | `workspace.design.refresh({ tailscaleBin?: string; requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace consuelo-design refresh | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
context
workspace.context.categories
list project memory categories| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.categories({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.categories | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.find
search project memory by title| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.find({ keyword: string; limit?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.find | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.get
read a full project memory search result| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.get({ index: number; keyword: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.get | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.list
list recent project memories| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.list({ category?: string; limit?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.list | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.save
save a file or text into project memory| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.save({ title: string; file?: string; content?: string; category?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.save | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.search
search project memory by content| Field | Value | |
|---|---|---|
| Category | context | |
| Signature | `workspace.context.search({ keyword: string; limit?: number; category?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.search | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.context.trace
query local workspace tool traces from the repo-scoped SQLite trace store| Field | Value | |||||
|---|---|---|---|---|---|---|
| Category | context | |||||
| Signature | `workspace.context.trace({ traceId?: string; tool?: string; status?: “all" | "ok" | "error" | "blocked" | "timeout”; since?: string; until?: string; contains?: string; taskSession?: string; branch?: string; limit?: number; raw?: boolean; db?: string; requestId?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace context.trace | |||||
| Capability | read-only · non-mutating · safe to retry | |||||
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
decision engine
workspace.audit
audit workspace scripts, docs, or index freshness| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.audit({ scripts?: boolean; docs?: boolean; index?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace audit | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.confidenceScore
score confidence from evidence state| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.confidenceScore({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace confidenceScore | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.confirm
run verification or targeted validation through confirm| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.confirm({ verify?: boolean; runtime?: boolean; test?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace confirm | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.decideNext
recommend the next action from evidence state| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.decideNext({ context?: string; markRead?: string; markRelevant?: string; markIrrelevant?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace decideNext | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.exploit
select the highest-confidence editing target| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.exploit({ query?: string; target?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace exploit | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.explore
run repository exploration retrieval| Field | Value | |
|---|---|---|
| Category | decision engine | |
| Signature | `workspace.explore({ query: string; limit?: number; changedOnly?: boolean; reindex?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace explore | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
filesystem
workspace.fs.list
list or find files in the repo root or a resolved task worktree| Field | Value | |
|---|---|---|
| Category | filesystem | |
| Signature | `workspace.fs.list({ path?: string; pattern?: string; depth?: number; tree?: boolean; dirs?: boolean; files?: boolean; branch?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace fs list, or task:fs list when a branch is resolved | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.fs.patch
replace a line range in a task worktree file| Field | Value | |
|---|---|---|
| Category | filesystem | |
| Signature | `workspace.fs.patch({ path: string; from: number; to: number; content?: string; contentFile?: string; branch?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace fs.patch | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.fs.read
read file contents with an optional line range| Field | Value |
|---|---|
| Category | filesystem |
| Signature | workspace.fs.read(\{ path: string; from?: number; to?: number; branch?: string; requestId?: string; taskSession?: string \}) => Promise<ToolResult<Array<\{ path: string; from: number; to: number; total: number; lines: string[] \}>>> |
| Runtime | workspace fs read, or task:fs read when a branch is resolved |
| Capability | read-only · non-mutating · safe to retry |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.fs.search
search files with ripgrep through the workspace script| Field | Value |
|---|---|
| Category | filesystem |
| Signature | workspace.fs.search(\{ pattern: string; paths?: string[]; include?: string; context?: number; maxResults?: number; branch?: string; requestId?: string; taskSession?: string \}) => Promise<ToolResult<Array<\{ file: string; line: number; text: string \}>>> |
| Runtime | workspace fs search, or task:fs search when a branch is resolved |
| Capability | read-only · non-mutating · safe to retry |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.fs.trash
move a task worktree file to trash| Field | Value | |
|---|---|---|
| Category | filesystem | |
| Signature | `workspace.fs.trash({ path: string; branch?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace fs.trash | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.fs.write
write a file in a task worktree| Field | Value | |
|---|---|---|
| Category | filesystem | |
| Signature | `workspace.fs.write({ path: string; content?: string; contentFile?: string; force?: boolean; append?: boolean; mkdirs?: boolean; branch?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace fs.write | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
generation
workspace.generate.docs
generate TOOLS.md from the tool manifest| Field | Value | |
|---|---|---|
| Category | generation | |
| Signature | `workspace.generate.docs({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace generate.docs | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.generate.types
generate workspace.d.ts from the tool manifest| Field | Value | |
|---|---|---|
| Category | generation | |
| Signature | `workspace.generate.types({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace generate.types | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
git
workspace.git.diff
inspect task or working-tree diffs as bounded structured JSON for agents| Field | Value | |
|---|---|---|
| Category | git | |
| Signature | `workspace.git.diff({ branch?: string; base?: string; head?: string; paths?: string[]; stat?: boolean; files?: boolean; hunks?: boolean; patch?: boolean; nameOnly?: boolean; context?: number; maxBytes?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace git:diff | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
github
workspace.gh
run the workspace GitHub helper with an explicit action| Field | Value | |
|---|---|---|
| Category | github | |
| Signature | `workspace.gh({ action: string; args?: string[]; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace gh | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.github
typed GitHub facade with semantic operations and presets; prefer over raw gh| Field | Value | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Category | github | ||||||||||||||||||||
| Signature | `workspace.github({ operation: “pr.view" | "pr.checks" | "pr.reviews" | "pr.files" | "pr.diff" | "pr.list" | "pr.merge" | "branch.compare" | "repo.view" | "raw”; repo?: string; pr?: number; branch?: string; base?: string; head?: string; preset?: “summary" | "review" | "merge" | "checks" | "files" | "full”; fields?: string[]; limit?: number; state?: “open" | "closed" | "merged" | "all”; body?: string; bodyFile?: string; wait?: boolean; squash?: boolean; full?: boolean; mergeMethod?: “merge" | "squash" | "rebase”; rawArgs?: string[]; args?: string[]; reason?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace github | ||||||||||||||||||||
| Capability | writes state · mutating · single-shot | ||||||||||||||||||||
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
http
workspace.http
make HTTP requests through the workspace http wrapper (wraps xh)| Field | Value | ||||||
|---|---|---|---|---|---|---|---|
| Category | http | ||||||
| Signature | `workspace.http({ url: string; method?: “get" | "post" | "put" | "patch" | "delete" | "head”; headers?: Record<string, string>; body?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace http | ||||||
| Capability | writes state · mutating · safe to retry | ||||||
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
linear
workspace.linear.createIssue
create a Linear issue with DEV/open defaults and the opensaas label| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.createIssue({ title: string; description?: string; team?: string; state?: string; labels?: string[]; priority?: number; assignee?: string; project?: string; cycle?: string; parent?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.createIssue | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.issue
read a Linear issue by identifier or id| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.issue({ identifier: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.issue | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.labels
list Linear issue labels for label consistency| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.labels({ first?: number; after?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.labels | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.projects
list Linear projects and ids| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.projects({ first?: number; after?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.projects | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.search
search Linear issues with DEV default team support| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.search({ search?: string; team?: string; first?: number; after?: string; filter?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.search | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.states
list workflow states for a Linear team| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.states({ team?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.states | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.teams
list Linear teams and workflow states| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.teams({ first?: number; after?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.teams | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.linear.updateIssue
update Linear issue fields including labels, project, cycle, and parent| Field | Value | |
|---|---|---|
| Category | linear | |
| Signature | `workspace.linear.updateIssue({ issueId: string; title?: string; description?: string; state?: string; labels?: string[]; priority?: number; assignee?: string; project?: string; cycle?: string; parent?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace linear.updateIssue | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
mac
workspace.mac.call
run a non-repo shell command on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.call({ command: string; cwd?: string; timeout?: number; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.call | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.exec
legacy alias for mac.call; run a non-repo shell command on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.exec({ command: string; cwd?: string; timeout?: number; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.exec | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.list
list non-repo files on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.list({ path?: string; depth?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.list | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.port
check or find a local port| Field | Value | ||
|---|---|---|---|
| Category | mac | ||
| Signature | `workspace.mac.port({ action: “check" | "find”; port?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.port | ||
| Capability | read-only · non-mutating · safe to retry | ||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.process
list or kill local Mac processes| Field | Value | ||
|---|---|---|---|
| Category | mac | ||
| Signature | `workspace.mac.process({ action: “list" | "kill”; pid?: number; name?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.process | ||
| Capability | writes state · mutating · single-shot | ||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.read
read a non-repo file on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.read({ path: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.read | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.search
search non-repo files on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.search({ pattern: string; path?: string; include?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.search | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.mac.write
write a non-repo file on the Mac| Field | Value | |
|---|---|---|
| Category | mac | |
| Signature | `workspace.mac.write({ path: string; content?: string; contentFile?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace mac.write | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
review
workspace.aiReview
run the AI PR review helper| Field | Value | |
|---|---|---|
| Category | review | |
| Signature | `workspace.aiReview({ pr?: number; noPost?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace aiReview | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.prReview
fetch review comments for a PR| Field | Value | |
|---|---|---|
| Category | review | |
| Signature | `workspace.prReview({ pr?: number; stdout?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace prReview | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.review.run
run the workspace review checks| Field | Value | |
|---|---|---|
| Category | review | |
| Signature | `workspace.review.run({ branch?: string; fix?: boolean; all?: boolean; base?: string; strict?: boolean; mine?: boolean; noTests?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace review.run | |
| Capability | read-only · non-mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.verify
run the full task safety gate| Field | Value | |
|---|---|---|
| Category | review | |
| Signature | `workspace.verify({ branch?: string; base?: string; noStamp?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace verify | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
sentry
workspace.sentry.config
show Sentry API configuration status from Keychain without exposing secrets| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.config({ verify?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.config | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.event
retrieve or resolve a Sentry event id, using a project slug when available| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.event({ eventId: string; project?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.event | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.issue
retrieve one Sentry issue by short id or numeric issue id| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.issue({ identifier: string; expand?: string[]; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.issue | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.issueEvent
retrieve a latest, recommended, oldest, or concrete Sentry event for an issue| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.issueEvent({ issueId: string; eventId?: string; full?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.issueEvent | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.issues
search Sentry issues across the configured organization| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.issues({ query?: string; project?: string; environment?: string[]; sort?: string; statsPeriod?: string; start?: string; end?: string; cursor?: string; limit?: number; expand?: string[]; collapse?: string[]; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.issues | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.projects
list Sentry projects for the configured organization| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.projects({ limit?: number; cursor?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.projects | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.sentry.trace
perform a best-effort Sentry trace lookup across organization events and issues| Field | Value | |
|---|---|---|
| Category | sentry | |
| Signature | `workspace.sentry.trace({ traceId: string; project?: string; query?: string; statsPeriod?: string; dataset?: string; field?: string[]; cursor?: string; limit?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace sentry.trace | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
stream
workspace.stream.context
show recent stream context| Field | Value | |
|---|---|---|
| Category | stream | |
| Signature | `workspace.stream.context({ area: string; stream?: string; repo?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace stream.context | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.stream.list
list stream branches| Field | Value | |
|---|---|---|
| Category | stream | |
| Signature | `workspace.stream.list({ repo?: string; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace stream.list | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.stream.sync
sync a stream branch with main| Field | Value | |
|---|---|---|
| Category | stream | |
| Signature | `workspace.stream.sync({ area: string; stream?: string; repo?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace stream.sync | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
task lifecycle
workspace.task.call
run a command inside a task worktree| Field | Value | |||
|---|---|---|---|---|
| Category | task lifecycle | |||
| Signature | `workspace.task.call({ branch?: string; command: string[]; tddPhase?: “red" | "green" | "post”; timeout?: number; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.call | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.task.cleanup
preview or remove stale task worktrees and branches| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.cleanup({ branch?: string; force?: boolean; preview?: boolean; merged?: boolean; staleDays?: number; keep?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.cleanup | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.current
resolve the current task branch without running a mutating command| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.current({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ branch: string; area: string; prNumber?: number; worktree: string } | null>>` |
| Runtime | branch resolver | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
workspace.task.ensureSynced
check whether the task stream appears synced| Field | Value |
|---|---|
| Category | task lifecycle |
| Signature | workspace.task.ensureSynced(\{ branch?: string; requestId?: string; taskSession?: string; dryRun?: boolean \}) => Promise<ToolResult<\{ synced: boolean; branch: string; area: string; behind?: number; action?: string \}>> |
| Runtime | workspace task.ensureSynced |
| Capability | read-only · non-mutating · safe to retry |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.task.exec
legacy alias for task.call; run a command inside a task worktree| Field | Value | |||
|---|---|---|---|---|
| Category | task lifecycle | |||
| Signature | `workspace.task.exec({ branch?: string; command: string[]; tddPhase?: “red" | "green" | "post”; timeout?: number; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.exec | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.task.finish
finish a task branch after merge| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.finish({ branch?: string; requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.finish | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.init
write task metadata for an existing worktree| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.init({ area: string; branch: string; pr?: number; worktree?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.init | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.task.merge
merge a pull request through the workspace task merge script| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.merge({ pr?: number; wait?: boolean; squash?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.merge | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.pr
merge task to stream and create or refresh the stream review PR| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.pr({ branch?: string; taskOnly?: boolean; draft?: boolean; ready?: boolean; bodyTemplate?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.pr | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.prs
show task and review PR links| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.prs({ branch?: string; requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.prs | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.push
push changed task files to the task branch through GitHub API| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.task.push({ branch?: string; message: string; changed?: boolean; files?: string[]; approved?: boolean; reason?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.push | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.task.start
create a task branch, worktree, and draft PR| Field | Value | ||
|---|---|---|---|
| Category | task lifecycle | ||
| Signature | `workspace.task.start({ stream?: string; area?: string; title: string; description?: string; bodyFile?: string; startFrom?: “main" | "stream”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace task.start | ||
| Capability | writes state · mutating · single-shot | ||
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.taskMeta.smoke
run the task metadata smoke suite| Field | Value | |
|---|---|---|
| Category | task lifecycle | |
| Signature | `workspace.taskMeta.smoke({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace taskMeta.smoke | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
tooling
workspace.tools.search
search workspace tools by intent and return ranked usage guidance| Field | Value | |||
|---|---|---|---|---|
| Category | tooling | |||
| Signature | `workspace.tools.search({ query: string; limit?: number; category?: string; readOnly?: boolean; mutating?: boolean; noDocs?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ query: string; limit: number; searchedCount: number; returnedCount: number; filters: Record<string, unknown>; totalMatches: number; confidence: “high" | "medium" | "low”; ambiguous: boolean; detectedIntent?: string; recommended?: string; matches: Array<{ name: string; methodPath?: string[]; category?: string; score: number; scoreParts?: Record<string, number>; description?: string; capabilities: Record<string, unknown>; sessionRequired: boolean; inputSchema?: string; outputSchema?: string; inputSignature?: string; outputSignature?: string; exampleInput?: Record<string, unknown>; usage: { workspaceCall: string; script?: string; subcommand?: string; arguments: Array<Record<string, unknown>> }; docs?: { heading: string; snippet: string; source: string }; why: string[] }>; alternatives?: Array<{ intent: string; tools: string[] }>; guidance: string | Record<string, unknown>; catalog: { source: string[]; catalogHash: string; toolCount: number; searchedCount: number; cardVersion: string; embeddingConfigId: string; cardsEmbedded: number; cardsReused: number; embeddingError?: string } }>>` |
| Runtime | workspace tools.search | |||
| Capability | read-only · non-mutating · safe to retry | |||
| Default timeout | 30000ms |
Example call
Success envelope
Error envelope
utilities
workspace.browser
run the generic workspace browser wrapper command| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser({ command?: string; url?: string; args?: string[]; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.app
open app.consuelohq.com with the browser wrapper| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.browser.app({ headed?: boolean; full?: boolean; preset?: “desktop" | "mobile" | "tablet" | "ipad" | "iphone”; device?: string; provider?: string; width?: number; height?: number; colorScheme?: “dark" | "light" | "no-preference”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.app | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.click
click a browser element by ref| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.click({ ref: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.click | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.clipboard
read from or write to the browser clipboard| Field | Value | ||
|---|---|---|---|
| Category | utilities | ||
| Signature | `workspace.browser.clipboard({ action: “read" | "write”; text?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.clipboard | ||
| Capability | writes state · mutating · single-shot | ||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.close
close active browser sessions| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.close({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.close | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.consuelo
open consuelo.consuelohq.com with the browser wrapper| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.browser.consuelo({ headed?: boolean; full?: boolean; preset?: “desktop" | "mobile" | "tablet" | "ipad" | "iphone”; device?: string; provider?: string; width?: number; height?: number; colorScheme?: “dark" | "light" | "no-preference”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.consuelo | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.cookies
list, set, or clear browser cookies for the current browser session| Field | Value | |||
|---|---|---|---|---|
| Category | utilities | |||
| Signature | `workspace.browser.cookies({ action?: “list" | "set" | "clear”; name?: string; value?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.cookies | |||
| Capability | writes state · mutating · single-shot | |||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.dialog
accept or dismiss browser dialogs| Field | Value | ||
|---|---|---|---|
| Category | utilities | ||
| Signature | `workspace.browser.dialog({ action: “accept" | "dismiss”; text?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.dialog | ||
| Capability | writes state · mutating · single-shot | ||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.download
click an element and save the triggered download to a path| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.download({ ref: string; path: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.download | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.eval
execute JavaScript on the current browser page| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.eval({ js: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.eval | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.fill
fill a browser input by ref| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.fill({ ref: string; text: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.fill | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.find
find an element by role, text, label, placeholder, alt text, title, or test id and run an action| Field | Value | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||||||||
| Signature | `workspace.browser.find({ by: “role" | "text" | "label" | "placeholder" | "alt" | "title" | "testid”; value: string; action: “click" | "fill" | "type" | "hover" | "focus" | "check" | "text”; text?: string; name?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.find | |||||||||||||
| Capability | writes state · mutating · single-shot | |||||||||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.get
get text, html, value, attributes, title, or URL from the current page| Field | Value | ||||||
|---|---|---|---|---|---|---|---|
| Category | utilities | ||||||
| Signature | `workspace.browser.get({ target: “text" | "html" | "value" | "attribute" | "title" | "url”; selector?: string; attribute?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.get | ||||||
| Capability | writes state · mutating · single-shot | ||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.login
run a saved browser auth login profile| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.login({ name: string; headed?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.login | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.network
inspect or manage browser network requests, routes, and HAR capture| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.network({ args: string[]; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.network | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.open
open a URL with the browser wrapper| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.browser.open({ url: string; headed?: boolean; full?: boolean; preset?: “desktop" | "mobile" | "tablet" | "ipad" | "iphone”; device?: string; provider?: string; width?: number; height?: number; colorScheme?: “dark" | "light" | "no-preference”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.open | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.raw
pass raw arguments through to agent-browser| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.raw({ args: string[]; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.raw | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.reauth
restart the browser daemon and run a saved auth login profile| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.reauth({ name: string; headed?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.reauth | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.screenshot
capture a browser screenshot| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.browser.screenshot({ name?: string; full?: boolean; preset?: “desktop" | "mobile" | "tablet" | "ipad" | "iphone”; device?: string; provider?: string; width?: number; height?: number; colorScheme?: “dark" | "light" | "no-preference”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.screenshot | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.snap
capture an accessibility snapshot| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.snap({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.snap | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.tabs
list, create, select, or close browser tabs with stable labels when needed| Field | Value | |||||
|---|---|---|---|---|---|---|
| Category | utilities | |||||
| Signature | `workspace.browser.tabs({ action?: “list" | "new" | "select" | "switch" | "close”; target?: string; url?: string; label?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.tabs | |||||
| Capability | writes state · mutating · single-shot | |||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.test
open a URL, wait for load, snapshot, and screenshot| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.browser.test({ url: string; headed?: boolean; full?: boolean; preset?: “desktop" | "mobile" | "tablet" | "ipad" | "iphone”; device?: string; provider?: string; width?: number; height?: number; colorScheme?: “dark" | "light" | "no-preference”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.test | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.trace
start or stop browser tracing and optionally write a trace file| Field | Value | ||
|---|---|---|---|
| Category | utilities | ||
| Signature | `workspace.browser.trace({ action: “start" | "stop”; path?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.trace | ||
| Capability | writes state · mutating · single-shot | ||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.browser.wait
wait for a selector, duration, text, URL, load state, JavaScript condition, or download| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.browser.wait({ target?: string; text?: string; url?: string; load?: string; conditionScript?: string; download?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace browser.wait | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.doctor
run workspace diagnostics| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.doctor({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace doctor | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.git.status
alias for status; use status directly in new code| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.git.status({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace status | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.railway.logs
read Railway deploy/runtime logs through the workspace script| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.railway.logs({ service?: string; build?: boolean; errors?: boolean; network?: boolean; raw?: boolean; status?: boolean; filter?: string; lines?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace railway.logs | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.railway.redeploy
trigger a Railway redeploy| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.railway.redeploy({ service?: string; all?: boolean; wait?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace railway.redeploy | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.research.ingest
generate a local research packet and autosave its text bundle to context| Field | Value | |||||
|---|---|---|---|---|---|---|
| Category | utilities | |||||
| Signature | `workspace.research.ingest({ source: string; question?: string; mode?: “quick" | "standard" | "deep”; visual?: boolean; slidesMax?: number; videoMode?: “auto" | "transcript" | "understand”; keep?: boolean; outDir?: string; summarizeBin?: string; contextTitle?: string; contextCategory?: string; noContextSave?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace research.ingest | |||||
| Capability | writes state · mutating · single-shot | |||||
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
workspace.server
manage the workspace MCP server reload/status lifecycle| Field | Value | |||||||
|---|---|---|---|---|---|---|---|---|
| Category | utilities | |||||||
| Signature | `workspace.server({ action: “status" | "consuelo-reload" | "reload" | "restart" | "stop" | "start" | "logs”; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace server | |||||||
| Capability | writes state · mutating · single-shot | |||||||
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.status
show compact workspace status| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.status({ requestId?: string; taskSession?: string; dryRun?: boolean }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace status | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 120000ms |
Example call
Success envelope
Error envelope
workspace.tmp
run the workspace temp-file helper| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.tmp({ action: string; name?: string; content?: string; ext?: string; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace tmp | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 60000ms |
Example call
Success envelope
Error envelope
workspace.wait
sleep or wait for a PR/deploy| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.wait({ seconds?: number; deploy?: boolean; pr?: number; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace wait | |
| Capability | read-only · non-mutating · safe to retry | |
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
workspace.website.deploy
deploy the Consuelo website| Field | Value | |
|---|---|---|
| Category | utilities | |
| Signature | `workspace.website.deploy({ preview?: boolean; buildOnly?: boolean; dryRun?: boolean; requestId?: string; taskSession?: string }) => Promise<ToolResult<{ raw?: string; [key: string]: unknown } | null>>` |
| Runtime | workspace website.deploy | |
| Capability | writes state · mutating · single-shot | |
| Default timeout | 600000ms |
Example call
Success envelope
Error envelope
worker
workspace.worker.call
delegate a bounded instruction file to a configured local worker provider| Field | Value | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Category | worker | |||||||||||||||||||||||||||
| Signature | `workspace.worker.call({ provider: “cdx" | "pi" | "opc" | "mini”; profile?: string; mode?: “check" | "step" | "work”; policy?: “read" | "safe" | "edit" | "ship”; instructionPath: string; cwd?: string; taskSession?: string; timeoutMs?: number; workspaceOnly?: boolean | ”preferred" | "strict”; approval?: Record<string, unknown>; requestId?: string }) => Promise<ToolResult<{ provider: “cdx" | "pi" | "opc”; requestedProvider?: “cdx" | "pi" | "opc" | "mini”; profile?: string; mode: “check" | "step" | "work”; policy: “read" | "safe" | "edit" | "ship”; status: “completed" | "failed" | "not_configured" | "not_supported" | "timed_out" | "approval_required”; cwd: string; instructionPath: string; command: string[]; stdout: string; stderr: string; exitCode: number; durationMs: number; audit: { taskSession?: string; branch?: string; workspaceOnly: “preferred" | "strict” | false; rawShellUsed: boolean } }>>` |
| Runtime | workspace worker.call | |||||||||||||||||||||||||||
| Capability | writes state · mutating · single-shot | |||||||||||||||||||||||||||
| Default timeout | 300000ms |
Example call
Success envelope
Error envelope
Result envelope
Every result includesok, code, message, data, stderr, exitCode, durationMs, traceId, and apiVersion. When callers pass a requestId, the facade echoes it so work can be correlated across logs and task evidence.
Error codes
OK, VALIDATION_ERROR, AMBIGUOUS_TASK_SELECTION, WORKTREE_NOT_FOUND, COMMAND_FAILED, TIMEOUT, PARSE_ERROR, NOT_FOUND, TASK_SESSION_REQUIRED, TASK_SESSION_NOT_FOUND, DRY_RUN.