Skip to content

Commit 91c5f4e

Browse files
authored
Merge pull request #1893 from dgageot/doc-fixes
Fixes to the documentation
2 parents 21ff9b7 + b199354 commit 91c5f4e

5 files changed

Lines changed: 80 additions & 94 deletions

File tree

docs/pages/configuration/agents.html

Lines changed: 14 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,12 @@ <h2>Full Schema</h2>
2727
name: "prompt text"
2828
welcome_message: string # Optional: message shown at session start
2929
handoffs: [list] # Optional: list of A2A handoff agents
30-
defer: [list] or true # Optional: tools to load on demand
3130
hooks: # Optional: lifecycle hooks
3231
pre_tool_use: [list]
3332
post_tool_use: [list]
3433
session_start: [list]
3534
session_end: [list]
3635
on_user_input: [list]
37-
permissions: # Optional: tool execution control
38-
allow: [list]
39-
deny: [list]
40-
sandbox: # Optional: shell isolation
41-
image: string
42-
paths: [list]
4336
structured_output: # Optional: constrain output format
4437
name: string
4538
schema: object</code></pre>
@@ -128,22 +121,10 @@ <h2>Properties Reference</h2>
128121
<td><code>handoffs</code></td><td>array</td><td></td>
129122
<td>List of A2A agent configurations this agent can delegate to. See <a href="#features/a2a" onclick="event.preventDefault(); navigate('features/a2a')">A2A Protocol</a>.</td>
130123
</tr>
131-
<tr>
132-
<td><code>defer</code></td><td>array/boolean</td><td></td>
133-
<td>Tools to load on-demand rather than at startup. Set to <code>true</code> to defer all tools, or provide a list of tool names.</td>
134-
</tr>
135124
<tr>
136125
<td><code>hooks</code></td><td>object</td><td></td>
137126
<td>Lifecycle hooks for running commands at various points. See <a href="#configuration/hooks" onclick="event.preventDefault(); navigate('configuration/hooks')">Hooks</a>.</td>
138127
</tr>
139-
<tr>
140-
<td><code>permissions</code></td><td>object</td><td></td>
141-
<td>Control which tools are auto-approved, require confirmation, or are blocked. See <a href="#configuration/permissions" onclick="event.preventDefault(); navigate('configuration/permissions')">Permissions</a>.</td>
142-
</tr>
143-
<tr>
144-
<td><code>sandbox</code></td><td>object</td><td></td>
145-
<td>Run shell commands in an isolated Docker container. See <a href="#configuration/sandbox" onclick="event.preventDefault(); navigate('configuration/sandbox')">Sandbox Mode</a>.</td>
146-
</tr>
147128
<tr>
148129
<td><code>structured_output</code></td><td>object</td><td></td>
149130
<td>Constrain agent output to match a JSON schema. See <a href="#configuration/structured-output" onclick="event.preventDefault(); navigate('configuration/structured-output')">Structured Output</a>.</td>
@@ -187,20 +168,23 @@ <h2>Deferred Tool Loading</h2>
187168
toolsets:
188169
- type: mcp
189170
ref: docker:github-official
171+
defer: true
190172
- type: mcp
191173
ref: docker:slack
192-
- type: filesystem
193-
# Defer all tools - load when first used
194-
defer: true</code></pre>
174+
defer: true
175+
- type: filesystem</code></pre>
195176

196-
<p>Or defer specific tools:</p>
177+
<p>Or defer specific tools within a toolset:</p>
197178

198179
<pre><code class="language-yaml">agents:
199180
root:
200181
model: openai/gpt-4o
201-
defer:
202-
- "mcp:github:*" # Defer all GitHub tools
203-
- "mcp:slack:*" # Defer all Slack tools</code></pre>
182+
toolsets:
183+
- type: mcp
184+
ref: docker:github-official
185+
defer:
186+
- "list_issues"
187+
- "search_repos"</code></pre>
204188

205189
<h2>Fallback Configuration</h2>
206190

@@ -290,19 +274,12 @@ <h2>Complete Example</h2>
290274
toolsets:
291275
- type: filesystem
292276
- type: shell
277+
sandbox:
278+
image: golang:1.23-alpine
279+
paths:
280+
- "."
293281
- type: think
294282
- type: todo
295-
permissions:
296-
allow:
297-
- "read_*"
298-
- "shell:cmd=go*"
299-
- "shell:cmd=npm*"
300-
deny:
301-
- "shell:cmd=sudo*"
302-
sandbox:
303-
image: golang:1.23-alpine
304-
paths:
305-
- "."
306283

307284
researcher:
308285
model: openai/gpt-4o

docs/pages/configuration/overview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ <h2>Config Sections</h2>
8383
<a class="card" href="#configuration/agents" onclick="event.preventDefault(); navigate('configuration/agents')">
8484
<div class="card-icon">🤖</div>
8585
<h3>Agent Config</h3>
86-
<p>All agent properties: model, instruction, tools, sub-agents, permissions, hooks, and more.</p>
86+
<p>All agent properties: model, instruction, tools, sub-agents, hooks, and more.</p>
8787
</a>
8888
<a class="card" href="#configuration/models" onclick="event.preventDefault(); navigate('configuration/models')">
8989
<div class="card-icon">🧠</div>

docs/pages/configuration/permissions.html

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@ <h2>Configuration</h2>
1717
model: openai/gpt-4o
1818
description: Agent with permission controls
1919
instruction: You are a helpful assistant.
20-
permissions:
21-
# Auto-approve these tools (no confirmation needed)
22-
allow:
23-
- "read_file"
24-
- "read_*" # Glob patterns
25-
- "shell:cmd=ls*" # With argument matching
26-
27-
# Block these tools entirely
28-
deny:
29-
- "shell:cmd=sudo*"
30-
- "shell:cmd=rm*-rf*"
31-
- "dangerous_tool"</code></pre>
20+
21+
permissions:
22+
# Auto-approve these tools (no confirmation needed)
23+
allow:
24+
- "read_file"
25+
- "read_*" # Glob patterns
26+
- "shell:cmd=ls*" # With argument matching
27+
28+
# Block these tools entirely
29+
deny:
30+
- "shell:cmd=sudo*"
31+
- "shell:cmd=rm*-rf*"
32+
- "dangerous_tool"</code></pre>
3233

3334
<h2>Pattern Syntax</h2>
3435

docs/pages/configuration/sandbox.html

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ <h2>Configuration</h2>
1919
instruction: You are a helpful assistant.
2020
toolsets:
2121
- type: shell
22-
sandbox:
23-
image: alpine:latest # Docker image to use
24-
paths: # Directories to mount
25-
- "." # Current directory (read-write)
26-
- "/data:ro" # Read-only mount</code></pre>
22+
sandbox:
23+
image: alpine:latest # Docker image to use
24+
paths: # Directories to mount
25+
- "." # Current directory (read-write)
26+
- "/data:ro" # Read-only mount</code></pre>
2727

2828
<h2>Properties</h2>
2929

@@ -63,12 +63,12 @@ <h2>Example: Development Agent</h2>
6363
build commands and tests. Your shell runs in a sandbox.
6464
toolsets:
6565
- type: shell
66-
- type: filesystem
67-
sandbox:
68-
image: node:20-alpine # Node.js environment
69-
paths:
70-
- "." # Project directory
71-
- "/tmp:rw" # Temp directory for builds</code></pre>
66+
sandbox:
67+
image: node:20-alpine # Node.js environment
68+
paths:
69+
- "." # Project directory
70+
- "/tmp:rw" # Temp directory for builds
71+
- type: filesystem</code></pre>
7272

7373
<h2>How It Works</h2>
7474

@@ -136,17 +136,18 @@ <h2>Combining with Permissions</h2>
136136
instruction: You are a helpful assistant.
137137
toolsets:
138138
- type: shell
139+
sandbox:
140+
image: node:20-alpine
141+
paths:
142+
- ".:rw"
139143
- type: filesystem
140-
sandbox:
141-
image: node:20-alpine
142-
paths:
143-
- ".:rw"
144-
permissions:
145-
allow:
146-
- "shell:cmd=npm*"
147-
- "shell:cmd=node*"
148-
- "shell:cmd=ls*"
149-
deny:
150-
- "shell:cmd=sudo*"
151-
- "shell:cmd=curl*"
152-
- "shell:cmd=wget*"</code></pre>
144+
145+
permissions:
146+
allow:
147+
- "shell:cmd=npm*"
148+
- "shell:cmd=node*"
149+
- "shell:cmd=ls*"
150+
deny:
151+
- "shell:cmd=sudo*"
152+
- "shell:cmd=curl*"
153+
- "shell:cmd=wget*"</code></pre>

docs/pages/guides/tips.html

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,26 @@ <h3>Defer Tools for Faster Startup</h3>
6565
toolsets:
6666
- type: mcp
6767
ref: docker:github-official
68+
defer: true
6869
- type: mcp
6970
ref: docker:slack
71+
defer: true
7072
- type: mcp
7173
ref: docker:linear
72-
# Load all tools on first use
73-
defer: true</code></pre>
74+
defer: true</code></pre>
7475

75-
<p>Or defer specific tools:</p>
76+
<p>Or defer specific tools within a toolset:</p>
7677

77-
<pre><code class="language-yaml">defer:
78-
- "mcp:github:*" # Defer GitHub tools
79-
- "mcp:slack:*" # Defer Slack tools</code></pre>
78+
<pre><code class="language-yaml">toolsets:
79+
- type: mcp
80+
ref: docker:github-official
81+
defer:
82+
- "list_issues"
83+
- "search_repos"
84+
- type: mcp
85+
ref: docker:slack
86+
defer:
87+
- "list_channels"</code></pre>
8088

8189
<h3>Filter MCP Tools</h3>
8290

@@ -181,20 +189,19 @@ <h3>Combine Permissions with Sandbox</h3>
181189
toolsets:
182190
- type: filesystem
183191
- type: shell
184-
# Layer 1: Permission controls
185-
permissions:
186-
allow:
187-
- "read_*"
188-
- "shell:cmd=go*"
189-
- "shell:cmd=npm*"
190-
deny:
191-
- "shell:cmd=sudo*"
192-
- "shell:cmd=rm*-rf*"
193-
# Layer 2: Container isolation
194-
sandbox:
195-
image: golang:1.23-alpine
196-
paths:
197-
- ".:rw"</code></pre>
192+
sandbox:
193+
image: golang:1.23-alpine
194+
paths:
195+
- ".:rw"
196+
197+
permissions:
198+
allow:
199+
- "read_*"
200+
- "shell:cmd=go*"
201+
- "shell:cmd=npm*"
202+
deny:
203+
- "shell:cmd=sudo*"
204+
- "shell:cmd=rm*-rf*"</code></pre>
198205

199206
<h3>Use Hooks for Audit Logging</h3>
200207

0 commit comments

Comments
 (0)