@markusylisiurunen/tau 0.3.78 → 0.3.79
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.
- package/dist/code_mode/images.d.ts +3 -0
- package/dist/code_mode/images.js +37 -0
- package/dist/code_mode/images.js.map +1 -0
- package/dist/code_mode/output.d.ts +22 -0
- package/dist/code_mode/output.js +109 -0
- package/dist/code_mode/output.js.map +1 -0
- package/dist/code_mode/runtime.d.ts +2 -1
- package/dist/code_mode/runtime.js +92 -12
- package/dist/code_mode/runtime.js.map +1 -1
- package/dist/core/client_tools/command_client_tools.js +2 -2
- package/dist/core/commands/registry.js +16 -1
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/config/content_loader.js +3 -1
- package/dist/core/config/content_loader.js.map +1 -1
- package/dist/core/config/mcp.js +68 -0
- package/dist/core/config/mcp.js.map +1 -0
- package/dist/core/config/schema.js +26 -4
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/mcp/manager.js +245 -0
- package/dist/core/mcp/manager.js.map +1 -0
- package/dist/core/mcp/search.js +77 -0
- package/dist/core/mcp/search.js.map +1 -0
- package/dist/core/personas.js +2 -1
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +3 -0
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/static/code_mode/mcp/documentation.md +113 -0
- package/dist/core/static/code_mode/sandbox_runner.mjs +58 -3
- package/dist/core/static/tau_docs/client-tools.md +32 -30
- package/dist/core/static/tau_docs/config-reference.md +48 -1
- package/dist/core/static/tau_docs/node-sdk.md +4 -2
- package/dist/core/static/tau_docs/ownership-and-scope.md +2 -0
- package/dist/core/static/tau_docs/personas.md +2 -2
- package/dist/core/static/tau_docs/security.md +13 -1
- package/dist/core/static/tau_docs/session-protocol-methods.md +8 -3
- package/dist/core/static/tau_docs/session-protocol.md +9 -9
- package/dist/core/static/tau_docs/subagents.md +2 -1
- package/dist/core/static/tau_docs/tools.md +21 -6
- package/dist/core/static/tau_docs/tui.md +6 -1
- package/dist/core/subagents/agent_supervisor.js +1 -1
- package/dist/core/subagents/agent_supervisor.js.map +1 -1
- package/dist/core/subagents/registry.js +2 -1
- package/dist/core/subagents/registry.js.map +1 -1
- package/dist/core/subagents/types.js +2 -1
- package/dist/core/subagents/types.js.map +1 -1
- package/dist/core/tools/catalog.js +14 -2
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/code_mode.js +5 -2
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/code_mode_worker.js +33 -1
- package/dist/core/tools/code_mode_worker.js.map +1 -1
- package/dist/core/tools/history.js +1 -1
- package/dist/core/tools/history.js.map +1 -1
- package/dist/core/tools/mcp.js +167 -0
- package/dist/core/tools/mcp.js.map +1 -0
- package/dist/core/tools/nook.js +1 -1
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +1 -0
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/tool_names.js +2 -0
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/tools/view_image.js +1 -105
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/tools/web.js +1 -1
- package/dist/core/tools/web.js.map +1 -1
- package/dist/core/utils/bm25.js +74 -0
- package/dist/core/utils/bm25.js.map +1 -0
- package/dist/core/utils/model_image.js +106 -0
- package/dist/core/utils/model_image.js.map +1 -0
- package/dist/core/version.js +1 -1
- package/dist/host/client_tool_broker.js +1 -1
- package/dist/host/client_tool_broker.js.map +1 -1
- package/dist/host/local_session_host.js +11 -1
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/host/session_host.js.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/protocol/session_protocol.d.ts +12 -7
- package/dist/protocol/session_protocol.js +28 -2
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/client_tool_command.d.ts +12 -11
- package/dist/sdk/client_tool_command.js +8 -8
- package/dist/sdk/client_tool_command.js.map +1 -1
- package/dist/sdk/code_mode.js +1 -1
- package/dist/sdk/code_mode.js.map +1 -1
- package/dist/sdk/local_client.js +1 -0
- package/dist/sdk/local_client.js.map +1 -1
- package/dist/sdk/session.js +1 -1
- package/dist/sdk/session.js.map +1 -1
- package/dist/sdk/types.d.ts +2 -1
- package/dist/tui/chat_view.js +3 -1
- package/dist/tui/chat_view.js.map +1 -1
- package/dist/tui/session_chat_controller.js +111 -5
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/ui/custom_editor.js +49 -10
- package/dist/tui/ui/custom_editor.js.map +1 -1
- package/dist/tui/ui/footer.js +4 -2
- package/dist/tui/ui/footer.js.map +1 -1
- package/dist/tui/ui/slash_autocomplete.js +5 -1
- package/dist/tui/ui/slash_autocomplete.js.map +1 -1
- package/package.json +7 -6
|
@@ -25,7 +25,7 @@ Project and global content can change which persona ids are available. A configu
|
|
|
25
25
|
| --- | --- | --- | --- | --- |
|
|
26
26
|
| `apiKeys` | Object of string values | Global, project | Merge by provider id | Host or feature consumer; `/reload` for session runtime keys, process restart for environment changes |
|
|
27
27
|
| `defaultPersona` | Non-empty string | Global, project | Most-specific wins | Session host; new session |
|
|
28
|
-
| `speech` | Object with optional `voiceId` | Global, project | Merge by field | TUI client or Telegram runner; process restart |
|
|
28
|
+
| `speech` | Object with optional `voiceId` and `recordingShortcut` | Global, project | Merge by field | TUI client or Telegram runner; process restart |
|
|
29
29
|
| `defaultTheme` | Non-empty string | Global, project | Most-specific wins | TUI client; client restart |
|
|
30
30
|
| `clientTools` | Array of objects | Global only | One global definition list | Owning client; TUI restart or new Telegram session client |
|
|
31
31
|
| `enabledClientTools` | String array | Project only | Most-specific project list | Owning client; TUI restart or new Telegram session client |
|
|
@@ -35,6 +35,7 @@ Project and global content can change which persona ids are available. A configu
|
|
|
35
35
|
| `flySprites` | Object | Global, project | Merge APIs by id | Host startup; host restart |
|
|
36
36
|
| `nook` | Object | Global, project | Most-specific complete object | Host tool runtime; `/reload` or new session |
|
|
37
37
|
| `history` | Object | Global only | One global object | Host startup; host restart |
|
|
38
|
+
| `mcpServers` | Object keyed by server name | Global and project | Merge names; nearer entry replaces | Host startup; host restart |
|
|
38
39
|
|
|
39
40
|
Unknown fields are stripped without warnings. Wrong types and invalid known values produce warnings, and Tau continues with valid fields. A field at a forbidden scope is rejected.
|
|
40
41
|
|
|
@@ -145,6 +146,18 @@ Controls `/speak` and Telegram `/tts_on` voice selection. Set `voiceId` to a non
|
|
|
145
146
|
}
|
|
146
147
|
```
|
|
147
148
|
|
|
149
|
+
For terminal recording, `recordingShortcut` replaces Ctrl+Y. Its required `key` is a single printable, non-whitespace character, `ctrl+y`, or `f1` through `f12`. Its required `gesture` is `press` or `double-tap`:
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"speech": {
|
|
154
|
+
"recordingShortcut": { "key": "§", "gesture": "double-tap" }
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
A double tap must arrive within 300 ms. For printable double-tap bindings, an unmatched first tap inserts the character after that delay; another key inserts it immediately before processing the new input. Single-press bindings reserve the character. Bracketed paste never triggers recording. Keyboard auto-repeat can count as repeated taps. Recording shortcuts apply only to the TUI, not Telegram.
|
|
160
|
+
|
|
148
161
|
Without an override, Tau looks up Maisie (`QtY3JBOUKEB5xzrRfOKc`) before synthesis and tries Caleb (`AaOhDHYJ1XLZk74lXhdE`) only if ElevenLabs reports that Maisie was not found. If neither is available, speech fails. A configured voice is used exclusively: an unavailable custom voice is an error, not a request to use a default.
|
|
149
162
|
|
|
150
163
|
Voice lookup authentication, permission, rate-limit, and network errors do not trigger fallback. Successful metadata lookup fixes the voice for the entire reply; it does not guarantee synthesis permission. Synthesis failures never switch voices or automatically retry a potentially billable request.
|
|
@@ -197,6 +210,40 @@ A global-only remote history target:
|
|
|
197
210
|
|
|
198
211
|
Credential precedence is `TAU_HISTORY_API_KEY`, then the variable named by `apiKeyEnv`, then `apiKey`. Configuring an endpoint without an available key prevents the host service from starting. Without `history`, transcript storage and queries remain machine-local. See [history](history.md).
|
|
199
212
|
|
|
213
|
+
### `mcpServers`
|
|
214
|
+
|
|
215
|
+
MCP servers are resolved at host startup from the global `~/.config/tau/config.json` and ancestor/project `.tau/config.json` layers for the host's launch directory. Server names accumulate across layers; a nearer definition replaces the entire same-named entry, including credentials. Use `enabled: false` to disable an inherited server. All sessions on that host share the resolved definitions, and subagents inherit their parent's access even in another working directory. Session execution-environment configuration does not contribute servers. Restart the host after changing definitions or credentials; `/reload` does not reload servers.
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"mcpServers": {
|
|
220
|
+
"issues": {
|
|
221
|
+
"type": "stdio",
|
|
222
|
+
"command": "uvx",
|
|
223
|
+
"args": ["example-mcp-server"],
|
|
224
|
+
"env": { "API_TOKEN": "${ISSUES_TOKEN}" }
|
|
225
|
+
},
|
|
226
|
+
"remote": {
|
|
227
|
+
"type": "http",
|
|
228
|
+
"url": "https://example.com/mcp",
|
|
229
|
+
"headers": { "Authorization": "Bearer ${REMOTE_MCP_TOKEN}" }
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Server names use letters, digits, `_`, and `-`. Every entry requires an explicit `type`:
|
|
236
|
+
|
|
237
|
+
- `stdio`: requires a non-empty `command`; accepts optional literal `args`, `cwd`, and string-valued `env`.
|
|
238
|
+
- `http`: requires an HTTP(S) `url` without embedded username/password; accepts optional string-valued `headers`. This is streamable HTTP, not the legacy SSE transport.
|
|
239
|
+
- Both accept `enabled` (default `true`), `timeoutMs` for tool calls and resource reads (integer from 1 to 900,000, default 300,000), and `discoveryTimeoutMs` for connection startup and discovery requests (integer from 1 to 60,000, default 30,000). The outer MCP code-mode program has a 15-minute deadline. All calls remain interruptible.
|
|
240
|
+
|
|
241
|
+
Stdio executables run directly without a shell. Bare commands resolve through the host's `PATH`. Commands containing `/` and relative `cwd` values resolve from the directory owning the defining config layer; `~/` resolves from host home. An omitted `cwd` defaults to the defining layer's directory. Arguments are literal: Tau does not interpolate them or expand shell syntax.
|
|
242
|
+
|
|
243
|
+
Values in `env` and `headers` can reference host environment variables with `${NAME}`. Missing variables fail connection setup. Command substitution is not supported. Stdio servers inherit the host environment, with `env` overriding matching names. Keep secrets in the host environment rather than committing them to JSON.
|
|
244
|
+
|
|
245
|
+
Invalid entries are skipped with diagnostics while valid siblings remain configured. OAuth sign-in, MCP prompts, subscriptions, elicitation, sampling, execution-environment servers, and user approval dialogs are not supported. See [tools](tools.md#mcp) for discovery, calls, and result handling.
|
|
246
|
+
|
|
200
247
|
## TUI presentation and diff review
|
|
201
248
|
|
|
202
249
|
### `defaultTheme`
|
|
@@ -345,7 +345,7 @@ The handler receives `sessionId`, owning `agentId`, `callId`, an `AbortSignal`,
|
|
|
345
345
|
|
|
346
346
|
`describe` is optional. When present, the SDK calls it with the arguments and a reduced context containing `sessionId`, `agentId`, `callId`, and `signal` before acknowledgement. This context deliberately has no execution-environment facade. It may return a partial running presentation containing `subject`, `subjectWrap`, `details`, or `metadata`. Tau owns action and operation, fills every omitted field, and acknowledges the resolved presentation before calling `execute`.
|
|
347
347
|
|
|
348
|
-
The execution result may independently include the same partial shape for the terminal card. Return a string or `{ content, presentation? }` for success, or `{ ok: false, error, presentation? }` for a structured failure. Omitted presentation fields use Tau's terminal defaults; empty detail or metadata arrays suppress those defaults. If `describe` throws, the SDK reports a preparation error without calling `execute`. If the client never returns a result because of cancellation, timeout, detach, or another failure, the host produces a complete fallback presentation.
|
|
348
|
+
The execution result may independently include the same partial shape for the terminal card. Return a string or `{ content, presentation? }` for success, or `{ ok: false, error, presentation? }` for a structured failure. Successful `content` may be a string or an ordered array of text/image blocks. Strings are delivered as one text block. Omitted presentation fields use Tau's terminal defaults; empty detail or metadata arrays suppress those defaults. If `describe` throws, the SDK reports a preparation error without calling `execute`. If the client never returns a result because of cancellation, timeout, detach, or another failure, the host produces a complete fallback presentation.
|
|
349
349
|
|
|
350
350
|
Tau preserves every explicit presentation field up to the protocol safety limits; it does not apply display truncation or normalize client text. `truncateTauClientToolText` provides optional caller-controlled line, character, and head or middle truncation. Use its result directly for a subject. For a block of detail text, split the result on `\n` and map each line to one `details` entry; use `maxLines: 1` when assigning it directly to one detail or metadata entry. The helper shapes text but does not replace protocol validation. The SDK aborts handlers on host cancellation, client close, or terminal transport failure. `client.close()` waits for active handlers to settle.
|
|
351
351
|
|
|
@@ -375,7 +375,9 @@ const tickets = createTauCodeModeClientTool({
|
|
|
375
375
|
});
|
|
376
376
|
```
|
|
377
377
|
|
|
378
|
-
Pass `tickets` in `clientTools`. Generated code receives the declared API namespace, progressively disclosed `docs`, console output, live `Date` and `Math`, and agent-scoped scratch files when invoked as a client tool. API calls cross a bounded JSON bridge. The submitted code appears, concisely truncated and character-wrapped, as the running and terminal tool-card subject. The tool description remains explicit caller input; the builder is optional.
|
|
378
|
+
Pass `tickets` in `clientTools`. Generated code receives the declared API namespace, progressively disclosed `docs`, console output, the asynchronous `image(block)` output helper, live `Date` and `Math`, and agent-scoped scratch files when invoked as a client tool. API calls cross a bounded JSON bridge. The submitted code appears, concisely truncated and character-wrapped, as the running and terminal tool-card subject. The tool description remains explicit caller input; the builder is optional.
|
|
379
|
+
|
|
380
|
+
Use `await image({ type: "image", data, mimeType })` to forward a base64 image. Successful code-mode results contain an ordered `content` array of text/image blocks. SDK client tools preserve that order: adjacent console writes form one text block, and each awaited image separates the preceding and following text. The helper validates and prepares JPEG, PNG, or WebP images outside the sandbox, creates no files, and shares the limits described in [tools](tools.md).
|
|
379
381
|
|
|
380
382
|
The SDK also exports `executeTauCodeMode` for standalone execution. The separate `@markusylisiurunen/tau/code-mode` entry point additionally exports file-capability types, `runTauClientToolCommand`, and `runTauCodeModeCommand` for command-backed tools. Use the helpers instead of implementing their framing manually.
|
|
381
383
|
|
|
@@ -16,6 +16,8 @@ The **host** creates, observes, persists, and recovers sessions. It owns model c
|
|
|
16
16
|
|
|
17
17
|
The host's home owns data such as session snapshots, authentication storage, usage logs, and the local history database. Use Tau commands and session operations to manage these stores rather than editing their files directly.
|
|
18
18
|
|
|
19
|
+
MCP connections are host-owned. Configure servers on the host; stdio servers run there, with host credentials and host resource access, not in the session execution environment.
|
|
20
|
+
|
|
19
21
|
The intrinsic `tau_docs` tool is also host-owned. It reads documentation packaged with the installed host version.
|
|
20
22
|
|
|
21
23
|
### Execution environment
|
|
@@ -101,10 +101,10 @@ If a standalone custom persona omits `skills`, Tau selects all discovered skills
|
|
|
101
101
|
|
|
102
102
|
The persona-controlled tool names are:
|
|
103
103
|
|
|
104
|
-
- `bash`, `write`, `edit`, `view_image`, `web`, `nook`, and `
|
|
104
|
+
- `bash`, `write`, `edit`, `view_image`, `web`, `nook`, `history`, and `mcp`;
|
|
105
105
|
- `spawn_agent`, `send_input_to_agent`, `wait_for_agents`, `list_agents`, and `interrupt_agent`.
|
|
106
106
|
|
|
107
|
-
An explicit `tools` array replaces defaults. Names are normalized to lowercase, duplicates are removed, and unknown names reject the persona. `tools: []` leaves the persona without these persona-controlled tools. Some host capabilities, such as goal management, are supplied independently of this list. Listing `nook` does not make it usable without effective Nook configuration. [Tools](tools.md) explains eligibility and ownership.
|
|
107
|
+
An explicit `tools` array replaces defaults. Names are normalized to lowercase, duplicates are removed, and unknown names reject the persona. `tools: []` leaves the persona without these persona-controlled tools. Some host capabilities, such as goal management, are supplied independently of this list. Listing `nook` does not make it usable without effective Nook configuration. Listing `mcp` requires enabled MCP servers configured on the host. [Tools](tools.md) explains eligibility and ownership.
|
|
108
108
|
|
|
109
109
|
## Extending a built-in
|
|
110
110
|
|
|
@@ -104,7 +104,7 @@ The TUI's built-in diff review tool is also a client-local process.
|
|
|
104
104
|
|
|
105
105
|
## Use code mode as a capability boundary
|
|
106
106
|
|
|
107
|
-
The generated JavaScript used by `web`, `history`, `nook`, and code-mode client tools runs in Tau's bounded worker runtime. It receives only a declared API, `docs`, console output, live `Date`, `Math.random()`, and, when configured, agent-scoped UTF-8 scratch files. Generated code has no direct imports, process, environment, credentials, timers, `fetch`, or arbitrary network access.
|
|
107
|
+
The generated JavaScript used by `web`, `history`, `nook`, `mcp`, and code-mode client tools runs in Tau's bounded worker runtime. It receives only a declared API, `docs`, console output, the asynchronous `image(block)` output helper, live `Date`, `Math.random()`, and, when configured, agent-scoped UTF-8 scratch files. Generated code has no direct imports, process, environment, credentials, timers, `fetch`, or arbitrary network access.
|
|
108
108
|
|
|
109
109
|
API handlers run outside that worker and retain the authority deliberately exposed by the tool. The boundary therefore limits generated code to declared capabilities, but it does not make an overpowered API safe. Tool authors should validate every argument, expose narrow operations, keep credentials in the parent, enforce cancellation, and avoid returning secrets.
|
|
110
110
|
|
|
@@ -112,6 +112,18 @@ Scratch files live in a private execution-environment temporary directory derive
|
|
|
112
112
|
|
|
113
113
|
The `history` code-mode API is read-only, but it can see transcripts across repositories and execution environments in the configured collection. Its agent policy requires a direct user or active-instruction request before use. That policy does not replace access control on the history service.
|
|
114
114
|
|
|
115
|
+
## Trust MCP servers
|
|
116
|
+
|
|
117
|
+
MCP server definitions come from the host launch directory's global and ancestor/project configuration layers. Launching a host inside a repository trusts those layers to introduce host commands and use host credentials; there is no approval dialog. MCP capabilities apply to all sessions on that host whose persona allows `mcp`, and their supervised subagents; they are not isolated per repository or client. Session execution-environment configuration cannot introduce servers.
|
|
118
|
+
|
|
119
|
+
A stdio MCP server is trusted host code. It runs outside the code-mode sandbox with the host account's filesystem and process permissions and full inherited environment, including credentials. Review executables and arguments before configuring them. HTTP servers receive configured headers and the arguments sent to their tools. Use HTTPS for remote services and grant only the access needed.
|
|
120
|
+
|
|
121
|
+
MCP does not add a confirmation layer. Tools can mutate external systems or host resources immediately. Interrupting a call cannot undo a completed effect, and an unknown outcome does not make retrying a mutation safe. Server descriptions, instructions, annotations, and results are untrusted data. Annotations such as `readOnlyHint` are not enforced permissions.
|
|
122
|
+
|
|
123
|
+
Stdio shutdown depends on the MCP transport. Descendants that ignore `SIGTERM` can survive when the server process exits first; do not rely on shutdown to contain untrusted server processes.
|
|
124
|
+
|
|
125
|
+
The execution environment does not sandbox a host-run MCP server. A server that exposes host files or commands gives the agent that host authority even when Bash runs in a remote sandbox. Disable `mcp` in the persona or disable the server if that authority is inappropriate. Connections and credentials stay outside the generated JavaScript, but the configured server remains responsible for what its tools return.
|
|
126
|
+
|
|
115
127
|
## Protect remote session transports
|
|
116
128
|
|
|
117
129
|
`tau serve` binds to loopback by default. Keep that default unless remote network access is required. A WebSocket server without `--auth-token` or `TAU_WS_AUTH_TOKEN` is unauthenticated, and any connected client can observe and mutate hosted sessions.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Session protocol method reference
|
|
2
2
|
|
|
3
|
-
This page defines every request method in protocol version
|
|
3
|
+
This page defines every request method in protocol version 15. It is the compact wire reference for clients that already understand connection, observation, and delta application from the [session protocol](session-protocol.md).
|
|
4
4
|
|
|
5
5
|
Every request uses `{ version, type: "request", id, method, params }`. Every successful response uses `{ version, type: "response", id, ok: true, result }`. `params` is required even when empty, and unknown object fields are stripped.
|
|
6
6
|
|
|
@@ -47,7 +47,7 @@ params: {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
result: {
|
|
50
|
-
protocolVersion:
|
|
50
|
+
protocolVersion: 15;
|
|
51
51
|
methods: string[];
|
|
52
52
|
alreadyInitialized: boolean;
|
|
53
53
|
}
|
|
@@ -594,7 +594,10 @@ params:
|
|
|
594
594
|
sessionId: string;
|
|
595
595
|
callId: string;
|
|
596
596
|
ok: true;
|
|
597
|
-
content:
|
|
597
|
+
content: Array<
|
|
598
|
+
| { type: "text"; text: string; textSignature?: string }
|
|
599
|
+
| { type: "image"; data: string; mimeType: "image/jpeg" | "image/png" | "image/webp" }
|
|
600
|
+
>;
|
|
598
601
|
presentation?: PresentationOverride;
|
|
599
602
|
}
|
|
600
603
|
| {
|
|
@@ -607,6 +610,8 @@ params:
|
|
|
607
610
|
result: { accepted: boolean };
|
|
608
611
|
```
|
|
609
612
|
|
|
613
|
+
`content` preserves text/image block order in the model-facing result, snapshots, and deltas. It may be empty and allows at most 1,024 blocks, including at most 16 images with valid padded base64 representing at most 3.5 MiB each. Image bytes are not presentation content.
|
|
614
|
+
|
|
610
615
|
The optional result presentation applies only to the reported terminal state and is resolved independently from the running presentation. The host preserves explicit fields unchanged after safety validation and supplies canonical display-truncated defaults for omitted fields. If no client result arrives, the host uses a complete fallback for timeout, cancellation, detach, or another terminal outcome.
|
|
611
616
|
|
|
612
617
|
A successful result is accepted only after the host has accepted the acknowledgement. An error sent before acknowledgement records a preparation failure, such as an error from `describe`, without authorizing execution. An error sent afterward records an execution failure.
|
|
@@ -18,7 +18,7 @@ The server sends `ready` as its first message:
|
|
|
18
18
|
|
|
19
19
|
```json
|
|
20
20
|
{
|
|
21
|
-
"version":
|
|
21
|
+
"version": 15,
|
|
22
22
|
"type": "ready",
|
|
23
23
|
"methods": ["initialize", "session.create", "session.list"]
|
|
24
24
|
}
|
|
@@ -30,7 +30,7 @@ After `ready`, send `initialize` with non-empty client metadata:
|
|
|
30
30
|
|
|
31
31
|
```json
|
|
32
32
|
{
|
|
33
|
-
"version":
|
|
33
|
+
"version": 15,
|
|
34
34
|
"type": "request",
|
|
35
35
|
"id": "init-1",
|
|
36
36
|
"method": "initialize",
|
|
@@ -50,7 +50,7 @@ Every request has the same envelope:
|
|
|
50
50
|
|
|
51
51
|
```json
|
|
52
52
|
{
|
|
53
|
-
"version":
|
|
53
|
+
"version": 15,
|
|
54
54
|
"type": "request",
|
|
55
55
|
"id": "req-42",
|
|
56
56
|
"method": "session.snapshot",
|
|
@@ -64,7 +64,7 @@ Successful responses echo the request id:
|
|
|
64
64
|
|
|
65
65
|
```json
|
|
66
66
|
{
|
|
67
|
-
"version":
|
|
67
|
+
"version": 15,
|
|
68
68
|
"type": "response",
|
|
69
69
|
"id": "req-42",
|
|
70
70
|
"ok": true,
|
|
@@ -130,7 +130,7 @@ Observed snapshot changes arrive as `session.delta`:
|
|
|
130
130
|
|
|
131
131
|
```json
|
|
132
132
|
{
|
|
133
|
-
"version":
|
|
133
|
+
"version": 15,
|
|
134
134
|
"type": "session.delta",
|
|
135
135
|
"sessionId": "0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3",
|
|
136
136
|
"fromRevision": 8,
|
|
@@ -168,7 +168,7 @@ Not all observed state belongs in the recoverable snapshot. Each live channel ha
|
|
|
168
168
|
|
|
169
169
|
```json
|
|
170
170
|
{
|
|
171
|
-
"version":
|
|
171
|
+
"version": 15,
|
|
172
172
|
"type": "session.pendingUserMessages",
|
|
173
173
|
"sessionId": "...",
|
|
174
174
|
"state": {
|
|
@@ -205,7 +205,7 @@ An initialized client that advertised a tool can receive:
|
|
|
205
205
|
|
|
206
206
|
```json
|
|
207
207
|
{
|
|
208
|
-
"version":
|
|
208
|
+
"version": 15,
|
|
209
209
|
"type": "session.clientTool.call",
|
|
210
210
|
"sessionId": "...",
|
|
211
211
|
"agentId": "main",
|
|
@@ -217,7 +217,7 @@ An initialized client that advertised a tool can receive:
|
|
|
217
217
|
}
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
Acknowledge promptly with `session.clientTool.ack`, optionally including a bounded partial running presentation. Begin execution only after the acknowledgement returns `{ accepted: true }`, then send exactly one `session.clientTool.result` with either `{ ok: true, content }` or `{ ok: false, error }` and an optional independent terminal presentation. Both presentation objects may contain `subject`, `subjectWrap`, `details`, and `metadata`; the host owns action and operation and supplies every omitted field. Explicit fields are preserved unchanged after protocol safety validation, while generated defaults use Tau's canonical display truncation. Empty detail or metadata arrays suppress those defaults.
|
|
220
|
+
Acknowledge promptly with `session.clientTool.ack`, optionally including a bounded partial running presentation. Begin execution only after the acknowledgement returns `{ accepted: true }`, then send exactly one `session.clientTool.result` with either `{ ok: true, content }` or `{ ok: false, error }` and an optional independent terminal presentation. Successful `content` is an ordered array of text/image blocks. Both presentation objects may contain `subject`, `subjectWrap`, `details`, and `metadata`; the host owns action and operation and supplies every omitted field. Explicit fields are preserved unchanged after protocol safety validation, while generated defaults use Tau's canonical display truncation. Empty detail or metadata arrays suppress those defaults.
|
|
221
221
|
|
|
222
222
|
A successful result is rejected until acknowledgement has completed. If preparation itself fails, send an error result before acknowledgement; the host records it as a preparation failure without authorizing execution. If no result arrives because of timeout, cancellation, detach, or another failure, the host renders a complete fallback terminal presentation. The result method returns `{ accepted: boolean }`; `false` means the message is invalid for the call's current state or the call is no longer waiting for it.
|
|
223
223
|
|
|
@@ -229,7 +229,7 @@ Error responses use `ok: false`:
|
|
|
229
229
|
|
|
230
230
|
```json
|
|
231
231
|
{
|
|
232
|
-
"version":
|
|
232
|
+
"version": 15,
|
|
233
233
|
"type": "response",
|
|
234
234
|
"id": "req-42",
|
|
235
235
|
"ok": false,
|
|
@@ -27,10 +27,11 @@ The eligible inherited tools are:
|
|
|
27
27
|
- `web`
|
|
28
28
|
- `history`
|
|
29
29
|
- `nook`, when Nook is configured
|
|
30
|
+
- `mcp`, when the host has enabled MCP servers
|
|
30
31
|
|
|
31
32
|
Tau then adds intrinsic `tau_docs` to every subagent registry, independently of this subset. A persona’s `tools` list cannot disable it. Apart from `tau_docs`, subagents do not receive goal controls, subagent supervision tools, client tools, or TUI-local tools.
|
|
32
33
|
|
|
33
|
-
The worker inherits the intersection of the main persona's tools and those
|
|
34
|
+
The worker inherits the intersection of the main persona's tools and those eight eligible names. MCP uses the parent's shared host connections, independent of the child's working directory. For example, a main persona with `bash`, `edit`, `history`, and `spawn_agent` gives the child `bash`, `edit`, and `history`, plus intrinsic `tau_docs`. There is no separate child tool allowlist.
|
|
34
35
|
|
|
35
36
|
Subagents cannot launch other subagents: supervision tools are never included in a child's registry. See [tools](tools.md) for the broader availability contract.
|
|
36
37
|
|
|
@@ -40,6 +40,7 @@ view_image
|
|
|
40
40
|
web
|
|
41
41
|
nook
|
|
42
42
|
history
|
|
43
|
+
mcp
|
|
43
44
|
spawn_agent
|
|
44
45
|
send_input_to_agent
|
|
45
46
|
wait_for_agents
|
|
@@ -47,7 +48,7 @@ list_agents
|
|
|
47
48
|
interrupt_agent
|
|
48
49
|
```
|
|
49
50
|
|
|
50
|
-
When a custom persona extends another persona and omits `tools`, it inherits the base persona's list. A non-extending custom persona that omits `tools` enables `bash`, `write`, `edit`, `view_image`, `web`, `nook`, and `
|
|
51
|
+
When a custom persona extends another persona and omits `tools`, it inherits the base persona's list. A non-extending custom persona that omits `tools` enables `bash`, `write`, `edit`, `view_image`, `web`, `nook`, `history`, and `mcp`. It also enables the five subagent-management tools. Built-in personas enable the same base and subagent tool sets.
|
|
51
52
|
|
|
52
53
|
An empty list disables every persona-controlled host tool:
|
|
53
54
|
|
|
@@ -147,7 +148,7 @@ Each guide covers setup, input, examples, outputs, and failure behavior. Use `ta
|
|
|
147
148
|
|
|
148
149
|
## Code-mode service tools
|
|
149
150
|
|
|
150
|
-
`web`, `history`, and `
|
|
151
|
+
`web`, `history`, `nook`, and `mcp` each run a one-shot JavaScript program in Tau's restricted code-mode runtime. They intentionally disclose their exact API at use time rather than embedding signatures in this page.
|
|
151
152
|
|
|
152
153
|
Tau exposes each service tool with agent-facing guidance that requires its documentation to be visible before API use. When the documentation is absent, the first useful call is a documentation-only program:
|
|
153
154
|
|
|
@@ -155,9 +156,11 @@ Tau exposes each service tool with agent-facing guidance that requires its docum
|
|
|
155
156
|
console.log(docs);
|
|
156
157
|
```
|
|
157
158
|
|
|
158
|
-
|
|
159
|
+
The agent reuses visible documentation, without guessing or borrowing another tool's signatures. Shared examples show field selection and text-block extraction for concise plain-text output. Return values are ignored; only console text and images forwarded with `await image(block)` enter the result.
|
|
159
160
|
|
|
160
|
-
Code-mode programs have no direct process, environment, credential, import, timer, network, or `fetch` access. They can call only the named API and use agent-scoped scratch files exposed by the runtime.
|
|
161
|
+
Code-mode programs have no direct process, environment, credential, import, timer, network, or `fetch` access. They can call only the named API and use agent-scoped scratch files exposed by the runtime. Programs default to 60 seconds (MCP: 15 minutes), allow 128 API requests with eight unresolved at once, and limit each serialized payload to 16 MiB. Undefined object properties are omitted from API arguments; undefined arguments and array entries are invalid. Console output is middle-truncated above roughly 8,192 estimated tokens.
|
|
162
|
+
|
|
163
|
+
`await image({ type: "image", data, mimeType })` forwards a base64 image without files. Calls must be awaited before the program exits. JPEG, PNG, and WebP bytes must match the declared MIME type and fit the 16 MiB JSON bridge limit. Source images are limited to 40 megapixels; each program may forward 16 images. Images are resized or re-encoded to fit within 4,096 pixels per dimension and 3.5 MiB each. Adjacent console writes form one text block; awaited images separate the text before and after them. Text truncation keeps images in place. Invalid blocks reject and can be caught. Built-in tools retain valid images if the program later fails.
|
|
161
164
|
|
|
162
165
|
Scratch files are real UTF-8 files in an execution-environment temporary directory shared by code-mode tools for the same agent. Writes are limited to 128 regular files and 64 MiB total. Scratch state is not stored in the session snapshot. The progressively disclosed documentation gives the exact file API.
|
|
163
166
|
|
|
@@ -179,15 +182,27 @@ The effective history query may be machine-local or backed by a configured remot
|
|
|
179
182
|
|
|
180
183
|
The tool is intended for explicit requests to inspect or manage Nook, publish a static artifact or mini-app, or work with Nook KV. Once the built-in documentation is visible, app-authoring work requires a second separate documentation-only call that prints the Nook authoring skill. The agent reads that guide before creating or modifying app files. Nook setup and platform behavior are covered in [Nook](nook.md).
|
|
181
184
|
|
|
185
|
+
### MCP
|
|
186
|
+
|
|
187
|
+
`mcp` discovers and calls tools and reads resources from host-configured Model Context Protocol servers. Personas must allow `mcp`, and the host must configure an enabled server. Subagents inherit access; ephemeral threads do not receive it.
|
|
188
|
+
|
|
189
|
+
Servers use stdio or streamable HTTP. Stdio commands run on the host with its environment; HTTP uses host credentials. Server files need not share the agent's workspace. Supported protocol revisions are `2025-11-25`, `2025-06-18`, `2025-03-26`, and `2024-11-05`, not `2026-07-28`.
|
|
190
|
+
|
|
191
|
+
`mcp` lists servers, tools, resources, and templates, inspects schemas, calls tools, and reads URIs. `searchTools` ranks tool metadata with BM25, returning matches and per-server errors. Resources return text or base64 data, without automatic context, file writes, or fetching. Only printed text and images enter context. Tools return `{ content, structuredContent?, isError }`; private MCP `_meta` is stripped. `isError: true` is data; protocol failures throw. Calls/reads default to five minutes, configurable to 15; startup/discovery defaults to 30 seconds. Messages are limited to 16 MiB; oversized results fail.
|
|
192
|
+
|
|
193
|
+
Connections are lazy, shared across sessions, and closed at shutdown. Later requests reconnect. Mutations are not retried. Tool-list changes invalidate cached discovery; resource listings refresh on each call. Restart does not recover connections or calls. Resource subscriptions, prompts, elicitation, and sampling are unsupported.
|
|
194
|
+
|
|
195
|
+
Servers merge by name from host launch-directory config layers. Restart the host to apply changes. See [configuration reference](config-reference.md#mcpservers) and [security](security.md#trust-mcp-servers).
|
|
196
|
+
|
|
182
197
|
## Subagent tool eligibility
|
|
183
198
|
|
|
184
199
|
A subagent can receive only:
|
|
185
200
|
|
|
186
201
|
```text
|
|
187
|
-
bash write edit view_image web history nook
|
|
202
|
+
bash write edit view_image web history nook mcp
|
|
188
203
|
```
|
|
189
204
|
|
|
190
|
-
Tau inherits the intersection of the main persona’s tools and those
|
|
205
|
+
Tau inherits the intersection of the main persona’s tools and those eight eligible names. `tau_docs` is then added intrinsically. There is no separate child tool selection. Nook and MCP require configuration; MCP uses the parent's host connections.
|
|
191
206
|
|
|
192
207
|
Subagents do not receive goal tools, subagent-management tools, or client-provided tools. Their Bash and file tools are scoped to the subagent working directory, including an alternate directory selected at launch. See [subagents](subagents.md) for configuration and working-directory context rebuilding.
|
|
193
208
|
|
|
@@ -92,13 +92,14 @@ Then use Shift+Tab to select an allowed reasoning level. Newly added personas do
|
|
|
92
92
|
| `/reload` | Reload session-owned configuration and content from the execution environment. |
|
|
93
93
|
| `/listen [retry/discard]` | Record speech, retry a retained failed recording, or discard it on macOS. |
|
|
94
94
|
| `/speak` | Read the last assistant response aloud on macOS. |
|
|
95
|
+
| `/auto-speak [on | off]` | Toggle automatic reading of final responses, or explicitly enable or disable it. |
|
|
95
96
|
| `/copy-text` | Copy the last assistant response as plain text. |
|
|
96
97
|
| `/copy-code` | Copy code blocks from the last assistant response. |
|
|
97
98
|
| `/persona:<id>` | Switch persona while idle. |
|
|
98
99
|
| `/prompt:<id>` | Resolve a prompt from the execution environment and place it in the editor without submitting it. |
|
|
99
100
|
| `/theme:<id>` | Switch this TUI’s theme for the current run. |
|
|
100
101
|
|
|
101
|
-
Commands that mutate context, such as persona changes, compaction, rewind, and reload, should be run while idle. `/goal` display and clear, `/listen`, `/prompt:<id>`, and `/exit` have limited useful behavior during a running turn. Ordinary command submissions are otherwise held back until Tau is idle.
|
|
102
|
+
Commands that mutate context, such as persona changes, compaction, rewind, and reload, should be run while idle. `/goal` display and clear, `/auto-speak`, `/listen`, `/prompt:<id>`, and `/exit` have limited useful behavior during a running turn. Ordinary command submissions are otherwise held back until Tau is idle.
|
|
102
103
|
|
|
103
104
|
Compaction, rewind, goals, recovery, and retry are described in [sessions](sessions.md). Prompt discovery and insertion are covered in [prompts and project context](prompts-and-project-context.md).
|
|
104
105
|
|
|
@@ -173,6 +174,10 @@ The TUI also advertises diff review as a client tool unless `--no-client-tools`
|
|
|
173
174
|
|
|
174
175
|
`/listen` and Ctrl+Y are currently macOS-only. Recording uses local `ffmpeg` with the AVFoundation audio input and stops when Ctrl+Y is pressed again, when Escape is pressed, or at the 9-minute recording limit. The Gemini limit leaves time for setup and finalization within its 10-minute live session. Startup fails if the microphone produces no audio within 15 seconds. Pressing Enter or Ctrl+Enter while recording stops capture, finishes transcription, and submits the finalized editor text. While a turn is active, Enter steers it and Ctrl+Enter queues another turn, just like normal editor submission. Pressing Ctrl+Y again or reaching the recording limit finishes transcription and inserts the transcript at the cursor for review without submitting it.
|
|
175
176
|
|
|
177
|
+
The recording shortcut is configurable with [`speech.recordingShortcut`](config-reference.md#speech), including single-press and double-tap printable keys such as `§`. The editor hint shows the configured gesture. Starting a recording stops speech playback.
|
|
178
|
+
|
|
179
|
+
`/auto-speak` toggles automatic reading of successful final answers. `/auto-speak on` and `/auto-speak off` explicitly select the mode; turning it off also stops current playback. It starts off and applies only to the current session in this TUI, including when attached remotely. `/new` resets it. It does not change other clients or replay historical answers. Commentary, tool activity, and failed or interrupted answers are not automatically spoken. Responses arriving while recording or playing speech are not queued for later playback. Escape stops playback without disabling the mode. Automatic playback uses the same voice, credentials, and rewriting as `/speak`; it does not open the microphone or automatically submit dictation.
|
|
180
|
+
|
|
176
181
|
Gemini displays a replaceable live preview in muted italic text at the original cursor position. Finalized dictation uses normal text once transcription settles. Its final transcript replaces the preview without duplication. Submitting a draft containing finalized dictation includes hidden guidance that some or all of the message may have been transcribed from speech and may contain transcription errors. The guidance remains after edits and clears when the draft is emptied. Editing stays disabled from recording startup through finalization, and failure restores the original draft. Recording and retries cannot start while another editor update is pending.
|
|
177
182
|
|
|
178
183
|
If transcription fails, Tau retains the local WAV and reports its path. Run `/listen retry` to transcribe the same audio again with Gemini and the current conversation context, or `/listen discard` to delete it. Retained recordings longer than 20 minutes are rejected rather than sent to the provider. A replacement recording deletes the retained file only after the new capture starts producing audio. Tau keeps at most one failed recording, and exiting leaves that file at the reported path for manual recovery. For live transcription, GPT-6 Luna extracts spelling hints from recent conversation while recording begins, with reasoning disabled. Tau buffers audio until the transcription session is ready and then streams subsequent audio. Gemini uses `gemini-3.5-transcribe-live` in verbatim mode with English (`en-US`) and Finnish (`fi-FI`) language hints. Missing OpenAI credentials or hint extraction failure does not fail transcription. On retry, Gemini uploads the retained recording for `gemini-3.5-transcribe` verbatim transcription with the same language hints and attempts to delete the remote file afterward.
|
|
@@ -88,7 +88,7 @@ export class AgentSupervisor {
|
|
|
88
88
|
deps: this.deps,
|
|
89
89
|
}),
|
|
90
90
|
systemPrompt: runtimeConfig.systemPrompt,
|
|
91
|
-
tools: ToolCatalog.createSubagentRegistry(runtimeConfig.tools, options.backend, workingDirectory, options.config, options.bashJobs, options.history),
|
|
91
|
+
tools: ToolCatalog.createSubagentRegistry(runtimeConfig.tools, options.backend, workingDirectory, options.config, options.bashJobs, options.history, options.mcp),
|
|
92
92
|
}),
|
|
93
93
|
eventSink: async (event) => await this.recordAgentEvent(id, event),
|
|
94
94
|
clock: this.deps.clock,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_supervisor.js","sourceRoot":"","sources":["../../../src/core/subagents/agent_supervisor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent_supervisor.js","sourceRoot":"","sources":["../../../src/core/subagents/agent_supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_NOOK, TOOL_NAME_SPAWN_AGENT, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
|
|
1
|
+
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_MCP, TOOL_NAME_NOOK, TOOL_NAME_SPAWN_AGENT, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
|
|
2
2
|
const INHERITABLE_TOOL_NAMES = new Set([
|
|
3
3
|
TOOL_NAME_BASH,
|
|
4
4
|
TOOL_NAME_WRITE,
|
|
@@ -6,6 +6,7 @@ const INHERITABLE_TOOL_NAMES = new Set([
|
|
|
6
6
|
TOOL_NAME_VIEW_IMAGE,
|
|
7
7
|
TOOL_NAME_WEB,
|
|
8
8
|
TOOL_NAME_HISTORY,
|
|
9
|
+
TOOL_NAME_MCP,
|
|
9
10
|
TOOL_NAME_NOOK,
|
|
10
11
|
]);
|
|
11
12
|
function normalizeTools(tools) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/subagents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAmB;IACvD,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,cAAc;CACf,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAwB,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,UAAU,gCAAgC,CAAC,IAGhD;IACC,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;QACpD,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAClD,MAAM,gBAAgB,GACpB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5F,OAAO;QACL,EAAE;QACF,EAAE;QACF,eAAe;QACf,EAAE;QACF,4NAA4N;QAC5N,EAAE;QACF,sBAAsB,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,IAAI;QACrF,4BAA4B,gBAAgB,EAAE;QAC9C,EAAE;QACF,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/subagents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAmB;IACvD,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAwB,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,UAAU,gCAAgC,CAAC,IAGhD;IACC,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;QACpD,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAClD,MAAM,gBAAgB,GACpB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5F,OAAO;QACL,EAAE;QACF,EAAE;QACF,eAAe;QACf,EAAE;QACF,4NAA4N;QAC5N,EAAE;QACF,sBAAsB,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,IAAI;QACrF,4BAA4B,gBAAgB,EAAE;QAC9C,EAAE;QACF,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_NOOK, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
|
|
1
|
+
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_MCP, TOOL_NAME_NOOK, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
|
|
2
2
|
export const SUBAGENT_TOOL_NAMES = [
|
|
3
3
|
TOOL_NAME_BASH,
|
|
4
4
|
TOOL_NAME_WRITE,
|
|
@@ -6,6 +6,7 @@ export const SUBAGENT_TOOL_NAMES = [
|
|
|
6
6
|
TOOL_NAME_VIEW_IMAGE,
|
|
7
7
|
TOOL_NAME_WEB,
|
|
8
8
|
TOOL_NAME_HISTORY,
|
|
9
|
+
TOOL_NAME_MCP,
|
|
9
10
|
TOOL_NAME_NOOK,
|
|
10
11
|
];
|
|
11
12
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/subagents/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,cAAc;CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/subagents/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,cAAc;CACN,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { McpManager } from "../mcp/manager.js";
|
|
1
2
|
import { AgentSupervisor } from "../subagents/agent_supervisor.js";
|
|
2
3
|
import { createBashToolDefinition } from "./bash.js";
|
|
3
4
|
import { BashJobRegistry, createBashJobToolDefinitions } from "./bash_jobs.js";
|
|
@@ -7,12 +8,13 @@ import { createGoalToolDefinitions } from "./goal.js";
|
|
|
7
8
|
import { createHistoryToolDefinition } from "./history.js";
|
|
8
9
|
import { createInterruptAgentToolDefinition } from "./interrupt_agent.js";
|
|
9
10
|
import { createListAgentsToolDefinition } from "./list_agents.js";
|
|
11
|
+
import { createMcpToolDefinition } from "./mcp.js";
|
|
10
12
|
import { createNookToolDefinition } from "./nook.js";
|
|
11
13
|
import { ToolRegistry } from "./registry.js";
|
|
12
14
|
import { createSendInputToAgentToolDefinition } from "./send_input_to_agent.js";
|
|
13
15
|
import { createSpawnAgentToolDefinition } from "./spawn_agent.js";
|
|
14
16
|
import { createTauDocsToolDefinition } from "./tau_docs.js";
|
|
15
|
-
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_NOOK, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "./tool_names.js";
|
|
17
|
+
import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_MCP, TOOL_NAME_NOOK, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "./tool_names.js";
|
|
16
18
|
import { createViewImageToolDefinition } from "./view_image.js";
|
|
17
19
|
import { createWaitForAgentsToolDefinition } from "./wait_for_agents.js";
|
|
18
20
|
import { createWebToolDefinition } from "./web.js";
|
|
@@ -21,6 +23,7 @@ export const ToolCatalog = {
|
|
|
21
23
|
createDebugRegistry(options) {
|
|
22
24
|
return this.createSessionRegistry({
|
|
23
25
|
...options,
|
|
26
|
+
mcp: new McpManager(options.config.mcpServers),
|
|
24
27
|
bashJobs: new BashJobRegistry(),
|
|
25
28
|
goalManager: {
|
|
26
29
|
getGoal: () => null,
|
|
@@ -52,6 +55,7 @@ export const ToolCatalog = {
|
|
|
52
55
|
modelResolver: options.modelResolver,
|
|
53
56
|
subagentSystemPrompt: options.subagentSystemPrompt,
|
|
54
57
|
history: options.history,
|
|
58
|
+
mcp: options.mcp,
|
|
55
59
|
cwd: options.cwd,
|
|
56
60
|
...(options.resolveSubagentPrompt
|
|
57
61
|
? { resolveSubagentPrompt: options.resolveSubagentPrompt }
|
|
@@ -62,6 +66,9 @@ export const ToolCatalog = {
|
|
|
62
66
|
createListAgentsToolDefinition(options.supervisor),
|
|
63
67
|
createInterruptAgentToolDefinition(options.supervisor),
|
|
64
68
|
];
|
|
69
|
+
if (options.mcp?.available) {
|
|
70
|
+
tools.push(createMcpToolDefinition(options.backend, options.mcp));
|
|
71
|
+
}
|
|
65
72
|
if (options.config.nook) {
|
|
66
73
|
tools.push(createNookToolDefinition(options.backend, options.config));
|
|
67
74
|
}
|
|
@@ -75,7 +82,7 @@ export const ToolCatalog = {
|
|
|
75
82
|
...createGoalToolDefinitions(options.goalManager),
|
|
76
83
|
]);
|
|
77
84
|
},
|
|
78
|
-
createSubagentRegistry(allowedTools, backend, cwd, config, bashJobs, history) {
|
|
85
|
+
createSubagentRegistry(allowedTools, backend, cwd, config, bashJobs, history, mcp) {
|
|
79
86
|
const scopedBackend = scopeToolExecutionBackend(backend, cwd);
|
|
80
87
|
const definitions = [];
|
|
81
88
|
const seen = new Set();
|
|
@@ -105,6 +112,11 @@ export const ToolCatalog = {
|
|
|
105
112
|
definitions.push(createNookToolDefinition(scopedBackend, config));
|
|
106
113
|
}
|
|
107
114
|
break;
|
|
115
|
+
case TOOL_NAME_MCP:
|
|
116
|
+
if (mcp?.available) {
|
|
117
|
+
definitions.push(createMcpToolDefinition(scopedBackend, mcp));
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
108
120
|
case TOOL_NAME_HISTORY:
|
|
109
121
|
if (!history) {
|
|
110
122
|
throw new Error("history query is required when history is enabled for a subagent");
|