@markusylisiurunen/tau 0.2.36 → 0.2.38
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/README.md +65 -2
- package/dist/core/cli.js +20 -1
- package/dist/core/cli.js.map +1 -1
- package/dist/core/config/content_loader.js +55 -3
- package/dist/core/config/content_loader.js.map +1 -1
- package/dist/core/config/schema.js +47 -0
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/modes/index.js +2 -0
- package/dist/core/modes/index.js.map +1 -1
- package/dist/core/modes/rpc_protocol.js +240 -0
- package/dist/core/modes/rpc_protocol.js.map +1 -0
- package/dist/core/modes/rpc_server.js +275 -0
- package/dist/core/modes/rpc_server.js.map +1 -0
- package/dist/core/runtime/chat_runtime.js +124 -0
- package/dist/core/runtime/chat_runtime.js.map +1 -0
- package/dist/core/runtime/conversation_turn_runtime.js +49 -0
- package/dist/core/runtime/conversation_turn_runtime.js.map +1 -0
- package/dist/core/runtime/session_prompt_composer.js +55 -0
- package/dist/core/runtime/session_prompt_composer.js.map +1 -0
- package/dist/core/subagents/launch_model.js +89 -0
- package/dist/core/subagents/launch_model.js.map +1 -0
- package/dist/core/subagents/registry.js +18 -11
- package/dist/core/subagents/registry.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +46 -2
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/utils/auto_retry.js +1 -1
- package/dist/core/utils/auto_retry.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/main.js +140 -5
- package/dist/main.js.map +1 -1
- package/dist/sdk/client.d.ts +2 -0
- package/dist/sdk/client.js +409 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/errors.d.ts +32 -0
- package/dist/sdk/errors.js +37 -0
- package/dist/sdk/errors.js.map +1 -0
- package/dist/sdk/index.d.ts +4 -0
- package/dist/sdk/index.js +3 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/types.d.ts +83 -0
- package/dist/sdk/types.js +2 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/chat_controller.js +101 -99
- package/dist/tui/chat_controller.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -80,6 +80,46 @@ tau usage --since 2025-01-01 --persona gpt-5.2-coder
|
|
|
80
80
|
|
|
81
81
|
filters: `--since`, `--persona`, `--provider`, `--model`.
|
|
82
82
|
|
|
83
|
+
## rpc mode (headless stdio)
|
|
84
|
+
|
|
85
|
+
tau can run without the TUI via NDJSON RPC over stdin/stdout:
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
tau rpc --persona gpt-5.2-coder --risk read-only
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
RPC mode reuses the same startup config/persona/risk/sandbox loading as interactive mode. stdin/stdout are reserved for protocol traffic in this mode (piped stdin is **not** treated as an initial user message).
|
|
92
|
+
|
|
93
|
+
for protocol details and examples, see [docs/rpc.md](docs/rpc.md).
|
|
94
|
+
|
|
95
|
+
## sdk usage (node)
|
|
96
|
+
|
|
97
|
+
tau also ships a Node SDK at `@markusylisiurunen/tau/sdk` that talks to the same rpc subprocess (`tau rpc`) behind the scenes.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import { createTauSdkClient } from "@markusylisiurunen/tau/sdk";
|
|
101
|
+
|
|
102
|
+
const client = await createTauSdkClient();
|
|
103
|
+
const unsubscribe = client.onEvent((event) => {
|
|
104
|
+
// stream core events
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
try {
|
|
108
|
+
const result = await client.submit("summarize this repo");
|
|
109
|
+
console.log(result.userHistoryEntryId, result.turn.aborted);
|
|
110
|
+
|
|
111
|
+
const snapshot = await client.snapshot();
|
|
112
|
+
console.log(snapshot.sessionId, snapshot.historyLength);
|
|
113
|
+
|
|
114
|
+
await client.shutdown();
|
|
115
|
+
} finally {
|
|
116
|
+
unsubscribe();
|
|
117
|
+
await client.close();
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
for full api details (options, methods, events, and errors), see [docs/sdk.md](docs/sdk.md).
|
|
122
|
+
|
|
83
123
|
## install starter prompts and skills
|
|
84
124
|
|
|
85
125
|
tau ships starter prompt and skill templates as markdown content in this repository. install them with:
|
|
@@ -204,6 +244,16 @@ example config:
|
|
|
204
244
|
|
|
205
245
|
note: when `--sandbox` is enabled, `!` commands also run inside the container.
|
|
206
246
|
|
|
247
|
+
## power management (macOS)
|
|
248
|
+
|
|
249
|
+
start tau with `--caffeinated` to keep macOS awake while an assistant turn is running:
|
|
250
|
+
|
|
251
|
+
```sh
|
|
252
|
+
tau --caffeinated
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
tau uses `caffeinate -i` and only holds the sleep assertion during active assistant turns. it does not keep the display awake, and it does not apply to `tau rpc` mode.
|
|
256
|
+
|
|
207
257
|
## personas
|
|
208
258
|
|
|
209
259
|
tau comes with several built-in personas across different models:
|
|
@@ -228,6 +278,8 @@ some personas can run isolated sub-agents via the `spawn_agent`, `send_input_to_
|
|
|
228
278
|
|
|
229
279
|
the built-in `default` sub-agent is available unless disabled. it inherits the main persona's model, settings, tool access (minus sub-agent management tools), and the session risk level. custom sub-agents can override model, reasoning, tools, and risk level. a sub-agent configured with `riskLevel: read-write` can perform writes even when the main session is `read-only`.
|
|
230
280
|
|
|
281
|
+
`spawn_agent` also supports an optional launch override string: `model: "<provider>/<model>:<effort>"`. overrides are allowlisted per subagent. custom subagents can define `launchModels` in persona frontmatter, and the built-in `default` sub-agent uses `subagents.defaultLaunchModels` from config.
|
|
282
|
+
|
|
231
283
|
sub-agent progress appears in a sticky panel. use `alt+down` to cycle active subagents and `ctrl+g` to terminate the selected one. tau caps active subagents at 8.
|
|
232
284
|
|
|
233
285
|
to use `web_search`/`web_fetch` in a sub-agent, set `apiKeys.parallel` in `~/.config/tau/config.json` (see above) or export `PARALLEL_API_KEY`. tau will only make web calls when you explicitly ask for web research.
|
|
@@ -367,7 +419,13 @@ settings merge from least-specific to most-specific.
|
|
|
367
419
|
"defaultRisk": "read-write",
|
|
368
420
|
"disableBuiltinPersonas": false,
|
|
369
421
|
"disableBuiltinThemes": false,
|
|
370
|
-
"defaultTheme": "solarized"
|
|
422
|
+
"defaultTheme": "solarized",
|
|
423
|
+
"subagents": {
|
|
424
|
+
"defaultLaunchModels": [
|
|
425
|
+
"openai/gpt-5.2:high",
|
|
426
|
+
"anthropic/claude-haiku-4-5:low"
|
|
427
|
+
]
|
|
428
|
+
}
|
|
371
429
|
}
|
|
372
430
|
```
|
|
373
431
|
|
|
@@ -377,6 +435,8 @@ the `defaultRisk` field sets the initial risk level (`read-only` or `read-write`
|
|
|
377
435
|
|
|
378
436
|
the `defaultTheme` field sets the theme id to load at startup. if not specified, it defaults to `gold`.
|
|
379
437
|
|
|
438
|
+
the `subagents.defaultLaunchModels` field configures allowed `spawn_agent` launch overrides for the built-in `default` sub-agent. values must use `<provider>/<model>:<effort>`.
|
|
439
|
+
|
|
380
440
|
if `disableBuiltinPersonas` is set to `true`, tau will not load built-in personas. if `disableBuiltinThemes` is set to `true`, tau will not load built-in themes. only entries from `~/.config/tau/` and `.tau/` will be available for those categories. you can also set these flags in any `.tau/config.json`; the most specific value wins.
|
|
381
441
|
|
|
382
442
|
the `sandbox` field configures docker sandboxing. `sandbox.image` is required when you start tau with `--sandbox`. `sandbox.mountPath` defaults to `/workspace`. `sandbox.pruneAfterHours` controls when old containers are auto-pruned (default `72`). `sandbox.extraDockerArgs` lets you pass additional `docker run` flags. `sandbox.environmentInfo` (optional) is injected into the system prompt to describe the container environment to the model.
|
|
@@ -447,7 +507,7 @@ optional frontmatter fields:
|
|
|
447
507
|
- `reasoning`: one of `none`, `minimal`, `low`, `medium`, `high`, `xhigh`
|
|
448
508
|
- `allowedReasoningLevels`: list of reasoning levels shown in the ui
|
|
449
509
|
- `skills`: list of enabled skill names (matched by `name` in skill frontmatter), or `"*"` to enable all discovered skills
|
|
450
|
-
- `subagents`: optional map of subagent definitions. the built-in `default` sub-agent is implicit unless `default: false` is provided. custom subagents must include `systemPrompt` and may include `description`, `provider`+`model`, `reasoning`, `tools`, and `
|
|
510
|
+
- `subagents`: optional map of subagent definitions. the built-in `default` sub-agent is implicit unless `default: false` is provided. custom subagents must include `systemPrompt` and may include `description`, `provider`+`model`, `reasoning`, `tools`, `riskLevel`, and `launchModels` (when specifying a model, `provider` and `model` must be provided together). names must be lowercase with dashes (max 64 chars). `launchModels` entries must use `<provider>/<model>:<effort>` and are used to allowlist launch-time `spawn_agent` overrides. example:
|
|
451
511
|
```yaml
|
|
452
512
|
subagents:
|
|
453
513
|
default: false
|
|
@@ -460,6 +520,9 @@ optional frontmatter fields:
|
|
|
460
520
|
reasoning: medium
|
|
461
521
|
tools: [web_search, web_fetch, bash]
|
|
462
522
|
riskLevel: read-only
|
|
523
|
+
launchModels:
|
|
524
|
+
- openai/gpt-5.2:high
|
|
525
|
+
- anthropic/claude-haiku-4-5:medium
|
|
463
526
|
```
|
|
464
527
|
- `tools`: list of tool names to enable for this persona. allowed: `bash`, `write`, `edit`, `view_image`, `spawn_agent`, `send_input_to_agent`, `wait_for_agent`, `terminate_agent`. if omitted, defaults to `bash`, `write`, `edit`, `view_image` (and subagent tools when subagents are enabled). risk levels still apply.
|
|
465
528
|
|
package/dist/core/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ export const CliOptionsSchema = z.object({
|
|
|
8
8
|
reasoningOverride: ReasoningEffortSchema.optional(),
|
|
9
9
|
riskLevel: RiskLevelSchema.optional(),
|
|
10
10
|
sandbox: z.boolean(),
|
|
11
|
+
caffeinated: z.boolean(),
|
|
11
12
|
noAgentContextFiles: z.boolean(),
|
|
12
13
|
});
|
|
13
14
|
export class CliError extends Error {
|
|
@@ -80,6 +81,7 @@ export function parseCliArgs(argv, personas) {
|
|
|
80
81
|
let reasoningOverride;
|
|
81
82
|
let riskLevel;
|
|
82
83
|
let sandbox = false;
|
|
84
|
+
let caffeinated = false;
|
|
83
85
|
let noAgentContextFiles = false;
|
|
84
86
|
for (let i = 0; i < argv.length; i++) {
|
|
85
87
|
const arg = argv[i];
|
|
@@ -105,6 +107,10 @@ export function parseCliArgs(argv, personas) {
|
|
|
105
107
|
sandbox = true;
|
|
106
108
|
continue;
|
|
107
109
|
}
|
|
110
|
+
if (arg === "--caffeinated") {
|
|
111
|
+
caffeinated = true;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
108
114
|
if (arg === "--persona" ||
|
|
109
115
|
arg === "-p" ||
|
|
110
116
|
arg.startsWith("--persona=") ||
|
|
@@ -157,6 +163,7 @@ export function parseCliArgs(argv, personas) {
|
|
|
157
163
|
reasoningOverride,
|
|
158
164
|
riskLevel,
|
|
159
165
|
sandbox,
|
|
166
|
+
caffeinated,
|
|
160
167
|
noAgentContextFiles,
|
|
161
168
|
};
|
|
162
169
|
return CliOptionsSchema.parse(options);
|
|
@@ -170,6 +177,10 @@ export function printHelp(personas) {
|
|
|
170
177
|
"",
|
|
171
178
|
"usage:",
|
|
172
179
|
" tau [options]",
|
|
180
|
+
" tau rpc [options]",
|
|
181
|
+
" tau auth <subcommand>",
|
|
182
|
+
" tau usage [options]",
|
|
183
|
+
" tau install [options]",
|
|
173
184
|
"",
|
|
174
185
|
"options:",
|
|
175
186
|
" --help show this help and exit.",
|
|
@@ -181,8 +192,15 @@ export function printHelp(personas) {
|
|
|
181
192
|
` --risk, -r <level> set initial model risk level. levels: ${riskList}.`,
|
|
182
193
|
` if not specified, uses defaultRisk from ~/.config/tau/config.json (default: read-only).`,
|
|
183
194
|
" --sandbox run all tool execution inside a session docker container.",
|
|
195
|
+
" --caffeinated keep macOS awake during active assistant turns in TUI mode.",
|
|
184
196
|
" --no-agent-context-files disable AGENTS.md injection into the system prompt.",
|
|
185
197
|
"",
|
|
198
|
+
"subcommands:",
|
|
199
|
+
" rpc run headless stdio RPC mode (no TUI).",
|
|
200
|
+
" auth authenticate/list/logout Codex OAuth accounts.",
|
|
201
|
+
" usage summarize usage logs.",
|
|
202
|
+
" install install starter prompts and skills.",
|
|
203
|
+
"",
|
|
186
204
|
"examples:",
|
|
187
205
|
" tau --persona gpt-5.2-chat:high",
|
|
188
206
|
" tau -p opus-4.6-coder",
|
|
@@ -198,7 +216,8 @@ export function printHelp(personas) {
|
|
|
198
216
|
" you can switch persona during a session with /persona:<id>.",
|
|
199
217
|
" insert prompt templates with /prompt:<id>.",
|
|
200
218
|
" you can change model risk level during a session with /risk:read-only or /risk:read-write.",
|
|
201
|
-
" if stdin is piped, its contents are sent as the first message automatically.",
|
|
219
|
+
" if stdin is piped, its contents are sent as the first message automatically in TUI mode.",
|
|
220
|
+
" in RPC mode, stdin/stdout are reserved for protocol traffic.",
|
|
202
221
|
" reasoning only affects providers that support it.",
|
|
203
222
|
].join("\n"));
|
|
204
223
|
}
|
package/dist/core/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EAErB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,iBAAiB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;CACjC,CAAC,CAAC;AAIH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,QAAmB;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IACrD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,QAAmB;IAEnB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAEpE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO;SAC3B,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;SACrB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAI,gBAA6B,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvE,CAAC,CAAE,cAAkC;QACrC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,QAAQ,CAAC,uBAAuB,GAAG,sBAAsB,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,UAAU,CACjB,GAAW,EACX,IAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,QAAQ,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,QAAmB;IAC9D,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,QAA4B,CAAC;IACjC,IAAI,SAA6B,CAAC;IAClC,IAAI,iBAA8C,CAAC;IACnD,IAAI,SAAgC,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAErB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3F,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC,GAAG,SAAS,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YACvC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IACE,GAAG,KAAK,WAAW;YACnB,GAAG,KAAK,IAAI;YACZ,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5B,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EACrB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC,GAAG,SAAS,CAAC;YAEd,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,YAAY,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,IAAI,QAAQ,CAAC,oBAAoB,YAAY,0BAA0B,SAAS,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,KAAK;qBACzB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;qBACrB,IAAI,EAAE;qBACN,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,IAAI,QAAQ,CAAC,gDAAgD,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,IAAI,QAAQ,CAChB,4BAA4B,cAAc,sBAAsB,OAAO,EAAE,CAC1E,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;YACvC,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3F,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC,GAAG,SAAS,CAAC;YACd,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG;QACd,IAAI;QACJ,KAAK;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,SAAS;QACT,OAAO;QACP,WAAW;QACX,mBAAmB;KACpB,CAAC;IACF,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAmB;IAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CACT;QACE,qBAAqB;QACrB,EAAE;QACF,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,yBAAyB;QACzB,uBAAuB;QACvB,yBAAyB;QACzB,EAAE;QACF,UAAU;QACV,0DAA0D;QAC1D,uGAAuG;QACvG,yDAAyD;QACzD,oEAAoE,WAAW,GAAG;QAClF,+EAA+E,aAAa,GAAG;QAC/F,uGAAuG;QACvG,yEAAyE,QAAQ,GAAG;QACpF,yHAAyH;QACzH,2FAA2F;QAC3F,6FAA6F;QAC7F,qFAAqF;QACrF,EAAE;QACF,cAAc;QACd,uEAAuE;QACvE,gFAAgF;QAChF,uDAAuD;QACvD,qEAAqE;QACrE,EAAE;QACF,WAAW;QACX,mCAAmC;QACnC,yBAAyB;QACzB,uDAAuD;QACvD,2CAA2C;QAC3C,qDAAqD;QACrD,EAAE;QACF,QAAQ;QACR,gFAAgF;QAChF,qFAAqF;QACrF,uEAAuE;QACvE,4DAA4D;QAC5D,+DAA+D;QAC/D,8CAA8C;QAC9C,8FAA8F;QAC9F,4FAA4F;QAC5F,gEAAgE;QAChE,qDAAqD;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { getModels, getProviders } from "@mariozechner/pi-ai";
|
|
|
3
3
|
import { parse as parseYaml } from "yaml";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { personas as builtinPersonas } from "../personas.js";
|
|
6
|
+
import { parseSubagentLaunchModelList } from "../subagents/launch_model.js";
|
|
6
7
|
import { DEFAULT_SUBAGENT_NAME, SUBAGENT_TOOL_NAMES } from "../subagents/types.js";
|
|
7
8
|
import { BASH_TOOL } from "../tools/bash.js";
|
|
8
9
|
import { EDIT_TOOL } from "../tools/edit.js";
|
|
@@ -74,6 +75,7 @@ const SubagentSpecSchema = z
|
|
|
74
75
|
reasoning: ReasoningEffortSchema.optional(),
|
|
75
76
|
tools: z.unknown().optional(),
|
|
76
77
|
riskLevel: RiskLevelSchema.optional(),
|
|
78
|
+
launchModels: z.unknown().optional(),
|
|
77
79
|
systemPrompt: z.string().trim().min(1).optional(),
|
|
78
80
|
description: z.string().trim().min(1).optional(),
|
|
79
81
|
})
|
|
@@ -126,6 +128,14 @@ function parseSubagentTools(toolsRaw) {
|
|
|
126
128
|
}
|
|
127
129
|
return { tools: selected };
|
|
128
130
|
}
|
|
131
|
+
function cloneSubagentPersonaConfig(config) {
|
|
132
|
+
return {
|
|
133
|
+
...config,
|
|
134
|
+
...(config.settings ? { settings: { ...config.settings } } : {}),
|
|
135
|
+
...(config.tools ? { tools: [...config.tools] } : {}),
|
|
136
|
+
...(config.launchModels ? { launchModels: [...config.launchModels] } : {}),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
129
139
|
function parseSubagentConfig(subagentsRaw) {
|
|
130
140
|
if (subagentsRaw === undefined) {
|
|
131
141
|
return {};
|
|
@@ -187,7 +197,14 @@ function parseSubagentConfig(subagentsRaw) {
|
|
|
187
197
|
if (toolsResult.error) {
|
|
188
198
|
return { error: `subagent ${validatedName}: ${toolsResult.error}` };
|
|
189
199
|
}
|
|
200
|
+
const launchModelsResult = parseSubagentLaunchModelList(spec.data.launchModels);
|
|
201
|
+
if (launchModelsResult.error) {
|
|
202
|
+
return {
|
|
203
|
+
error: `subagent ${validatedName}: launchModels ${launchModelsResult.error}`,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
190
206
|
const tools = toolsResult.tools;
|
|
207
|
+
const launchModels = launchModelsResult.launchModels;
|
|
191
208
|
const riskLevel = spec.data.riskLevel;
|
|
192
209
|
const settings = spec.data.reasoning !== undefined && spec.data.reasoning !== "none"
|
|
193
210
|
? { reasoning: spec.data.reasoning }
|
|
@@ -208,6 +225,7 @@ function parseSubagentConfig(subagentsRaw) {
|
|
|
208
225
|
...(settings ? { settings } : {}),
|
|
209
226
|
...(tools !== undefined ? { tools } : {}),
|
|
210
227
|
...(riskLevel ? { riskLevel } : {}),
|
|
228
|
+
...(launchModels !== undefined ? { launchModels } : {}),
|
|
211
229
|
};
|
|
212
230
|
config[validatedName] = entry;
|
|
213
231
|
}
|
|
@@ -272,6 +290,30 @@ function mergeById(base, overlay, overlay2) {
|
|
|
272
290
|
}
|
|
273
291
|
return Array.from(map.values());
|
|
274
292
|
}
|
|
293
|
+
function withDefaultSubagentLaunchModels(persona, defaultLaunchModels) {
|
|
294
|
+
if (!defaultLaunchModels) {
|
|
295
|
+
return persona;
|
|
296
|
+
}
|
|
297
|
+
const defaultConfig = persona.subagents?.[DEFAULT_SUBAGENT_NAME];
|
|
298
|
+
if (!defaultConfig || !persona.subagents) {
|
|
299
|
+
return persona;
|
|
300
|
+
}
|
|
301
|
+
const clonedSubagents = {};
|
|
302
|
+
for (const [name, config] of Object.entries(persona.subagents)) {
|
|
303
|
+
if (!config)
|
|
304
|
+
continue;
|
|
305
|
+
clonedSubagents[name] = cloneSubagentPersonaConfig(config);
|
|
306
|
+
}
|
|
307
|
+
const defaultSubagent = clonedSubagents[DEFAULT_SUBAGENT_NAME] ?? {};
|
|
308
|
+
clonedSubagents[DEFAULT_SUBAGENT_NAME] = {
|
|
309
|
+
...defaultSubagent,
|
|
310
|
+
launchModels: [...defaultLaunchModels],
|
|
311
|
+
};
|
|
312
|
+
return {
|
|
313
|
+
...persona,
|
|
314
|
+
subagents: clonedSubagents,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
275
317
|
function listMarkdownFiles(dir, deps) {
|
|
276
318
|
try {
|
|
277
319
|
const names = deps.fs.listDir(dir).filter((f) => f.endsWith(".md"));
|
|
@@ -475,7 +517,7 @@ function parsePersona(file, content, source, basePersonasById) {
|
|
|
475
517
|
for (const [name, cfg] of Object.entries(basePersona.subagents)) {
|
|
476
518
|
if (!cfg)
|
|
477
519
|
continue;
|
|
478
|
-
finalSubagents[name] =
|
|
520
|
+
finalSubagents[name] = cloneSubagentPersonaConfig(cfg);
|
|
479
521
|
}
|
|
480
522
|
if (Object.keys(finalSubagents).length === 0) {
|
|
481
523
|
finalSubagents = undefined;
|
|
@@ -483,7 +525,15 @@ function parsePersona(file, content, source, basePersonasById) {
|
|
|
483
525
|
}
|
|
484
526
|
}
|
|
485
527
|
else if (subagentsResult.config && Object.keys(subagentsResult.config).length > 0) {
|
|
486
|
-
finalSubagents = {
|
|
528
|
+
finalSubagents = {};
|
|
529
|
+
for (const [name, cfg] of Object.entries(subagentsResult.config)) {
|
|
530
|
+
if (!cfg)
|
|
531
|
+
continue;
|
|
532
|
+
finalSubagents[name] = cloneSubagentPersonaConfig(cfg);
|
|
533
|
+
}
|
|
534
|
+
if (Object.keys(finalSubagents).length === 0) {
|
|
535
|
+
finalSubagents = undefined;
|
|
536
|
+
}
|
|
487
537
|
}
|
|
488
538
|
if (subagentsRaw !== undefined) {
|
|
489
539
|
if (!subagentsResult.defaultDisabled) {
|
|
@@ -861,8 +911,10 @@ export async function loadAllContent(config, options) {
|
|
|
861
911
|
}
|
|
862
912
|
const skills = Array.from(skillsByName.values()).sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: "base" }));
|
|
863
913
|
// Precedence: virtual bundle < global < nearest .tau levels.
|
|
914
|
+
const defaultLaunchModels = config?.subagents?.defaultLaunchModels;
|
|
915
|
+
const personas = mergeById(virtualBundle.personas, userPersonasResult.personas, projectPersonasResult.personas).map((persona) => withDefaultSubagentLaunchModels(persona, defaultLaunchModels));
|
|
864
916
|
return {
|
|
865
|
-
personas
|
|
917
|
+
personas,
|
|
866
918
|
prompts: mergeById(virtualBundle.prompts, userPromptsResult.prompts, projectPromptsResult.prompts),
|
|
867
919
|
skills,
|
|
868
920
|
themes: mergeById(virtualBundle.themes, userThemesResult.themes, projectThemesResult.themes),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content_loader.js","sourceRoot":"","sources":["../../../src/core/config/content_loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content_loader.js","sourceRoot":"","sources":["../../../src/core/config/content_loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
|
+
import { parseSubagentLaunchModelList } from "../subagents/launch_model.js";
|
|
2
3
|
import { RiskLevelSchema } from "../types.js";
|
|
3
4
|
import { parseBashCommands } from "./bash_commands.js";
|
|
4
5
|
import { createDefaultConfigDeps } from "./deps.js";
|
|
@@ -102,6 +103,11 @@ function validateConfigData(raw, sourceLabel) {
|
|
|
102
103
|
config.agentContextFiles = agentResult.paths;
|
|
103
104
|
}
|
|
104
105
|
errors.push(...agentResult.errors);
|
|
106
|
+
const subagentsResult = parseSubagentsConfig(data.subagents, sourceLabel);
|
|
107
|
+
if (subagentsResult.config) {
|
|
108
|
+
config.subagents = subagentsResult.config;
|
|
109
|
+
}
|
|
110
|
+
errors.push(...subagentsResult.errors);
|
|
105
111
|
return { config, errors };
|
|
106
112
|
}
|
|
107
113
|
function parseSandboxConfig(raw, sourceLabel) {
|
|
@@ -198,6 +204,30 @@ function parseAgentContextFiles(raw, sourceLabel) {
|
|
|
198
204
|
}
|
|
199
205
|
return { paths: cleaned, errors: [] };
|
|
200
206
|
}
|
|
207
|
+
function parseSubagentsConfig(raw, sourceLabel) {
|
|
208
|
+
if (raw === undefined) {
|
|
209
|
+
return { errors: [] };
|
|
210
|
+
}
|
|
211
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
212
|
+
return { errors: [`${sourceLabel}: 'subagents' must be an object.`] };
|
|
213
|
+
}
|
|
214
|
+
const data = raw;
|
|
215
|
+
const config = {};
|
|
216
|
+
const errors = [];
|
|
217
|
+
if ("defaultLaunchModels" in data) {
|
|
218
|
+
const launchModelsResult = parseSubagentLaunchModelList(data.defaultLaunchModels);
|
|
219
|
+
if (launchModelsResult.error) {
|
|
220
|
+
errors.push(`${sourceLabel}: subagents.defaultLaunchModels ${launchModelsResult.error}. expected <provider>/<model>:<effort>.`);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
config.defaultLaunchModels = launchModelsResult.launchModels ?? [];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (Object.keys(config).length === 0) {
|
|
227
|
+
return { errors };
|
|
228
|
+
}
|
|
229
|
+
return { config, errors };
|
|
230
|
+
}
|
|
201
231
|
function loadConfigFile(level, deps, sourceLabel) {
|
|
202
232
|
try {
|
|
203
233
|
if (!deps.fs.exists(level.configPath)) {
|
|
@@ -238,6 +268,18 @@ function mergeSandboxConfig(target, overlay) {
|
|
|
238
268
|
...(overlay ?? {}),
|
|
239
269
|
};
|
|
240
270
|
}
|
|
271
|
+
function mergeSubagentsConfig(target, overlay) {
|
|
272
|
+
if (!target && !overlay) {
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
275
|
+
const merged = {
|
|
276
|
+
...(target ?? {}),
|
|
277
|
+
};
|
|
278
|
+
if (overlay?.defaultLaunchModels !== undefined) {
|
|
279
|
+
merged.defaultLaunchModels = [...overlay.defaultLaunchModels];
|
|
280
|
+
}
|
|
281
|
+
return merged;
|
|
282
|
+
}
|
|
241
283
|
function resolveAgentContextPaths(level, rawPaths) {
|
|
242
284
|
const root = level.levelRoot;
|
|
243
285
|
return rawPaths.map((entry) => resolve(root, entry));
|
|
@@ -261,6 +303,7 @@ function mergeConfigLevels(levels, configs) {
|
|
|
261
303
|
const merged = getVirtualConfigDefaults();
|
|
262
304
|
let apiKeys;
|
|
263
305
|
let sandbox;
|
|
306
|
+
let subagents;
|
|
264
307
|
const bashCommands = new Map();
|
|
265
308
|
const agentContextFiles = [];
|
|
266
309
|
for (let i = 0; i < levels.length; i += 1) {
|
|
@@ -268,6 +311,7 @@ function mergeConfigLevels(levels, configs) {
|
|
|
268
311
|
const config = configs[i] ?? {};
|
|
269
312
|
apiKeys = mergeApiKeys(apiKeys, config.apiKeys);
|
|
270
313
|
sandbox = mergeSandboxConfig(sandbox, config.sandbox);
|
|
314
|
+
subagents = mergeSubagentsConfig(subagents, config.subagents);
|
|
271
315
|
if (config.defaultPersona !== undefined) {
|
|
272
316
|
merged.defaultPersona = config.defaultPersona;
|
|
273
317
|
}
|
|
@@ -298,6 +342,9 @@ function mergeConfigLevels(levels, configs) {
|
|
|
298
342
|
if (sandbox && Object.keys(sandbox).length > 0) {
|
|
299
343
|
merged.sandbox = sandbox;
|
|
300
344
|
}
|
|
345
|
+
if (subagents && Object.keys(subagents).length > 0) {
|
|
346
|
+
merged.subagents = subagents;
|
|
347
|
+
}
|
|
301
348
|
if (bashCommands.size > 0) {
|
|
302
349
|
merged.bashCommands = Array.from(bashCommands.values());
|
|
303
350
|
}
|