@duetso/agent 0.1.42 → 0.1.44
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 +47 -4
- package/dist/package.json +1 -1
- package/dist/src/cli/help.d.ts.map +1 -1
- package/dist/src/cli/help.js +5 -0
- package/dist/src/cli/help.js.map +1 -1
- package/dist/src/cli/login.js +1 -1
- package/dist/src/cli/login.js.map +1 -1
- package/dist/src/cli/run.d.ts.map +1 -1
- package/dist/src/cli/run.js +23 -0
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/model-resolution/catalog.d.ts +12 -0
- package/dist/src/model-resolution/catalog.d.ts.map +1 -1
- package/dist/src/model-resolution/catalog.js +50 -0
- package/dist/src/model-resolution/catalog.js.map +1 -1
- package/dist/src/tui/app.d.ts +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +71 -83
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/history.d.ts +12 -3
- package/dist/src/tui/history.d.ts.map +1 -1
- package/dist/src/tui/history.js +63 -23
- package/dist/src/tui/history.js.map +1 -1
- package/dist/src/tui/sidebar.d.ts +6 -3
- package/dist/src/tui/sidebar.d.ts.map +1 -1
- package/dist/src/tui/sidebar.js +11 -0
- package/dist/src/tui/sidebar.js.map +1 -1
- package/dist/src/tui/tool-formatters.d.ts +56 -0
- package/dist/src/tui/tool-formatters.d.ts.map +1 -0
- package/dist/src/tui/tool-formatters.js +319 -0
- package/dist/src/tui/tool-formatters.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -224,7 +224,18 @@ duet login
|
|
|
224
224
|
duet "build a REST API with Express"
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
-
If you would rather manage provider API keys yourself, use `duet env` (see [CLI Env Setup](#cli-env-setup) below) or set a provider API key in the environment, `<workdir>/.env`, or `~/.duet/.env`. When `--model` is omitted, the CLI infers a default from the configured provider: Duet, Anthropic, AI Gateway, and OpenRouter use Opus 4.7; OpenAI uses GPT-5.5.
|
|
227
|
+
If you would rather manage provider API keys yourself, use `duet env` (see [CLI Env Setup](#cli-env-setup) below) or set a provider API key in the environment, `<workdir>/.env`, or `~/.duet/.env`. When `--model` is omitted, the CLI infers a default from the configured provider: Duet, Anthropic, AI Gateway, and OpenRouter use Opus 4.7 (memory: Haiku 4.5); OpenAI uses GPT-5.5 (memory: GPT-5.4-mini).
|
|
228
|
+
|
|
229
|
+
Use `--provider <name>` to pin a provider without picking a model — duet will choose the catalog default for chat and memory:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
duet --provider duet "build a todo app" # duet-gateway: Opus 4.7 + Haiku 4.5
|
|
233
|
+
duet --provider openai "explain this codebase" # openai: GPT-5.5 + GPT-5.4-mini
|
|
234
|
+
duet --provider anthropic "refactor auth" # anthropic: Opus 4.7 + Haiku 4.5
|
|
235
|
+
duet --provider vercel "summarize" # vercel-ai-gateway equivalents
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
`--provider` is mutually exclusive with `--model` / `--memory-model`. Accepted shorthands: `duet`, `vercel` (alias `ai-gateway`), `openrouter`, `anthropic` (alias `claude`), `openai` (alias `gpt`).
|
|
228
239
|
|
|
229
240
|
```bash
|
|
230
241
|
export ANTHROPIC_API_KEY=sk-...
|
|
@@ -256,6 +267,9 @@ duet --resume session_abc123 --workdir ./my-project
|
|
|
256
267
|
# List installed skills (project + user scope)
|
|
257
268
|
duet skills
|
|
258
269
|
|
|
270
|
+
# Browse, edit, and delete observational memories (alias: duet memories)
|
|
271
|
+
duet memory
|
|
272
|
+
|
|
259
273
|
# Through Vercel AI Gateway
|
|
260
274
|
export AI_GATEWAY_API_KEY=...
|
|
261
275
|
duet -m opus-4.7 "review this repo"
|
|
@@ -263,8 +277,36 @@ duet -m opus-4.7 "review this repo"
|
|
|
263
277
|
|
|
264
278
|
Model names can use full `provider:modelId` syntax or shorthand names such as
|
|
265
279
|
`opus-4.7`, `sonnet-4.6`, `haiku-4.5`, and `gpt-5.5`. Shorthands resolve to the
|
|
266
|
-
first configured supported provider; use full `provider:modelId` syntax
|
|
267
|
-
specific provider.
|
|
280
|
+
first configured supported provider; use full `provider:modelId` syntax — or
|
|
281
|
+
`--provider <name>` — to pin a specific provider.
|
|
282
|
+
|
|
283
|
+
### CLI TUI
|
|
284
|
+
|
|
285
|
+
In a TTY, `duet` opens an interactive TUI: live transcript on the left, a
|
|
286
|
+
right-hand sidebar with four panels, and a textarea at the bottom.
|
|
287
|
+
|
|
288
|
+
- **todos** — the runner's current todo list.
|
|
289
|
+
- **follow-ups** — prompts queued behind the active turn (the working-status
|
|
290
|
+
line also shows the count).
|
|
291
|
+
- **state machine** — when a state machine is active, lists every state with
|
|
292
|
+
`▶` marking the current one and the terminal status if reached.
|
|
293
|
+
- **context** — token-usage progress bar against the active model's window.
|
|
294
|
+
|
|
295
|
+
In the input box:
|
|
296
|
+
|
|
297
|
+
- `@<query>` opens a file picker; ↑/↓ navigate, Enter / Tab inserts a
|
|
298
|
+
markdown link like `[app.ts](./src/tui/app.ts)` (basename label, repo-relative
|
|
299
|
+
target). The model can then read the file via the `read` tool.
|
|
300
|
+
- `/<query>` opens a skill picker that inserts `/skill-name` so the model is
|
|
301
|
+
primed to call `read_skill`.
|
|
302
|
+
- Enter sends; **Shift+Enter** queues the message as a follow-up while the
|
|
303
|
+
agent is running, instead of steering the active turn.
|
|
304
|
+
- `Esc` cancels the current pickers; pressed on its own it interrupts the
|
|
305
|
+
active turn (or quits when idle).
|
|
306
|
+
|
|
307
|
+
Tool calls render with custom per-tool headers (e.g. `$ <command>`,
|
|
308
|
+
`read <path> (lines a–b)`, `edit <path> (N edits)`, `[question]`). Resumed
|
|
309
|
+
sessions render history through the same formatters so live and replay match.
|
|
268
310
|
|
|
269
311
|
### CLI Login
|
|
270
312
|
|
|
@@ -323,7 +365,8 @@ const turnRunner = new TurnRunner({
|
|
|
323
365
|
});
|
|
324
366
|
|
|
325
367
|
// `start` is setup-only: loads skills and memory, emits `turn_started`, runs no agent work.
|
|
326
|
-
|
|
368
|
+
// `mode` defaults to the TurnRunner config above; pass it explicitly only when overriding.
|
|
369
|
+
await turnRunner.start();
|
|
327
370
|
|
|
328
371
|
const terminal = await turnRunner.turn({
|
|
329
372
|
type: "prompt",
|
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CA2EtD;AAED,wBAAgB,cAAc,IAAI,IAAI,CA0BrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAsBnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAkBtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAoBtC;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAa1D"}
|
package/dist/src/cli/help.js
CHANGED
|
@@ -23,6 +23,9 @@ COMMANDS
|
|
|
23
23
|
OPTIONS
|
|
24
24
|
-m, --model <name> TurnRunner model override
|
|
25
25
|
--memory-model <name> Observational memory model (default inferred from provider env)
|
|
26
|
+
--provider <name> Pin the provider and use its catalog default model.
|
|
27
|
+
Accepts: duet, vercel, openrouter, anthropic, openai.
|
|
28
|
+
Mutually exclusive with --model / --memory-model.
|
|
26
29
|
--no-memory Keep memory in-process; do not read or write durable memory
|
|
27
30
|
-w, --workdir <path> Working directory (default: cwd)
|
|
28
31
|
-r, --resume <id> Resume a saved session
|
|
@@ -59,6 +62,8 @@ EXAMPLES
|
|
|
59
62
|
duet "build a REST API with Express and TypeScript"
|
|
60
63
|
duet -m gpt-5.5 "analyze the performance of our test suite"
|
|
61
64
|
duet --memory-model sonnet-4.6 "summarize this repo"
|
|
65
|
+
duet --provider openai "explain this codebase"
|
|
66
|
+
duet --provider duet "refactor the auth module"
|
|
62
67
|
duet -m opus-4.7 "refactor the auth module"
|
|
63
68
|
duet --system-prompt "Prefer concise answers." "review this repo"
|
|
64
69
|
duet --system-prompt-file TEAM.md "review this repo"
|
package/dist/src/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;gDAiBkC,WAAW
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;gDAiBkC,WAAW;;;;;;;;;;;;uFAY4B,4BAA4B;;;;;oFAK/B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCxG,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;wEAW0D,qBAAqB;;;;;;;;;;;;;CAa5F,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;yDAa2C,qBAAqB;;;;;;IAM1E,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;CAChC,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,CAAC,GAAG,CAAC;oCACsB,WAAW;;;;;;;;;;CAU9C,CAAC,CAAC;AACH,CAAC"}
|
package/dist/src/cli/login.js
CHANGED
|
@@ -55,7 +55,7 @@ export async function runLoginCommand(args, io = {}) {
|
|
|
55
55
|
console.error("Default skills already up to date.");
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
|
-
console.error(`Synced ${syncResult.count}
|
|
58
|
+
console.error(`Synced default skills (${syncResult.count} total).`);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO7F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc,EAAE,KAAqB,EAAE;IAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,mBAAmB,GAAuB,EAAE,CAAC,WAAW,CAAC;IAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,KAAK,YAAY;gBACf,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;gBACjC,MAAM;YACR,KAAK,cAAc;gBACjB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,mBAAmB;gBACtB,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,cAAc,EAAE,CAAC;gBACjB,OAAO;YACT;gBACE,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB;QACvC,CAAC,CAAC,eAAe,CAAC,mBAAmB,EAAE,GAAG,CAAC;QAC3C,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAErD,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,QAAQ,aAAa,EAAE,CAAC,CAAC;IAElG,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,yBAAyB,EAAE,CAAC;IAE5B,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,mCAAmC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,uBAAuB,CAgBzB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2OvF"}
|
package/dist/src/cli/run.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createInterface } from "node:readline/promises";
|
|
2
2
|
import { shimDuetApiKeyToAiGateway } from "../model-resolution/duet-gateway.js";
|
|
3
3
|
import { maybeAutoSyncDefaultSkills } from "../lib/sync-skills.js";
|
|
4
|
+
import { pinnedDefaultModel, pinnedMemoryModel, PROVIDER_SHORTHANDS, resolveProviderShorthand, } from "../model-resolution/catalog.js";
|
|
4
5
|
import { describeModelResolution, resolveCliMemoryModel, resolveCliModel, } from "../model-resolution/resolver.js";
|
|
5
6
|
import { SessionManager } from "../session/session-manager.js";
|
|
6
7
|
import { runTui } from "../tui/app.js";
|
|
@@ -46,6 +47,9 @@ export function buildCliTurnConfig(input, dotenvKeys) {
|
|
|
46
47
|
export async function runRunCommand(args, pkg) {
|
|
47
48
|
let modelName;
|
|
48
49
|
let memoryModelName;
|
|
50
|
+
// Raw value of --provider so we can both pin the default model below and
|
|
51
|
+
// surface a clearer error if --model was also passed.
|
|
52
|
+
let providerFlag;
|
|
49
53
|
let workDir = process.cwd();
|
|
50
54
|
let resumeSessionId;
|
|
51
55
|
let systemInstructions;
|
|
@@ -70,6 +74,11 @@ export async function runRunCommand(args, pkg) {
|
|
|
70
74
|
fail(`Missing value for ${args[i]}`);
|
|
71
75
|
memoryModelName = args[++i];
|
|
72
76
|
break;
|
|
77
|
+
case "--provider":
|
|
78
|
+
if (!args[i + 1] || args[i + 1]?.startsWith("-"))
|
|
79
|
+
fail(`Missing value for ${args[i]}`);
|
|
80
|
+
providerFlag = args[++i];
|
|
81
|
+
break;
|
|
73
82
|
case "--no-memory":
|
|
74
83
|
disableDurableMemory = true;
|
|
75
84
|
break;
|
|
@@ -151,6 +160,20 @@ export async function runRunCommand(args, pkg) {
|
|
|
151
160
|
console.error(' e.g., duet "build a todo app"');
|
|
152
161
|
process.exit(1);
|
|
153
162
|
}
|
|
163
|
+
if (providerFlag) {
|
|
164
|
+
if (modelName || memoryModelName) {
|
|
165
|
+
fail("--provider cannot be combined with --model or --memory-model");
|
|
166
|
+
}
|
|
167
|
+
const provider = resolveProviderShorthand(providerFlag);
|
|
168
|
+
if (!provider) {
|
|
169
|
+
fail(`Unknown provider: ${providerFlag}. Accepted values: ${PROVIDER_SHORTHANDS.join(", ")}`);
|
|
170
|
+
}
|
|
171
|
+
// Pin both the chat and memory models to this provider's catalog entry
|
|
172
|
+
// so resolution skips the env-var inference that would otherwise pick
|
|
173
|
+
// a different provider when multiple keys are present.
|
|
174
|
+
modelName = pinnedDefaultModel(provider);
|
|
175
|
+
memoryModelName = pinnedMemoryModel(provider);
|
|
176
|
+
}
|
|
154
177
|
const dotenvKeys = loadCliEnvFiles(workDir, envFilePath);
|
|
155
178
|
shimDuetApiKeyToAiGateway();
|
|
156
179
|
// Refresh the gateway-managed default skills when the user has previously
|
package/dist/src/cli/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,4 +25,16 @@ export declare function getProviderMemoryModel(provider: ProviderName): string;
|
|
|
25
25
|
export declare function getModelCandidates(modelName: string): readonly ProviderModelCandidate[];
|
|
26
26
|
export declare function isKnownShorthand(modelName: string): boolean;
|
|
27
27
|
export declare function canonicalizeModelName(modelName: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Map user-friendly provider names (and common aliases) onto the canonical
|
|
30
|
+
* `ProviderName`. Returns `undefined` for unknown values so callers can
|
|
31
|
+
* surface a list of accepted names.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveProviderShorthand(name: string): ProviderName | undefined;
|
|
34
|
+
/** Names accepted by `--provider`, in canonical order, for help and errors. */
|
|
35
|
+
export declare const PROVIDER_SHORTHANDS: readonly string[];
|
|
36
|
+
/** Build a `provider:modelId` reference for a provider's default chat model. */
|
|
37
|
+
export declare function pinnedDefaultModel(provider: ProviderName): string;
|
|
38
|
+
/** Build a `provider:modelId` reference for a provider's memory model. */
|
|
39
|
+
export declare function pinnedMemoryModel(provider: ProviderName): string;
|
|
28
40
|
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,EAAE,YAAY,CAAC;IACvB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EASvD,CAAC;AAuEF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,sBAAsB,EAAE,CAQvF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D"}
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,EAAE,YAAY,CAAC;IACvB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EASvD,CAAC;AAuEF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,sBAAsB,EAAE,CAQvF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAqB/E;AAED,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAMhD,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEjE;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEhE"}
|
|
@@ -110,4 +110,54 @@ function findModelDefinition(modelName) {
|
|
|
110
110
|
const normalized = modelName.toLowerCase();
|
|
111
111
|
return MODEL_DEFINITIONS.find((definition) => definition.shorthand === normalized || definition.aliases.includes(normalized));
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Map user-friendly provider names (and common aliases) onto the canonical
|
|
115
|
+
* `ProviderName`. Returns `undefined` for unknown values so callers can
|
|
116
|
+
* surface a list of accepted names.
|
|
117
|
+
*/
|
|
118
|
+
export function resolveProviderShorthand(name) {
|
|
119
|
+
switch (name.trim().toLowerCase()) {
|
|
120
|
+
case "duet":
|
|
121
|
+
case "duet-gateway":
|
|
122
|
+
return "duet-gateway";
|
|
123
|
+
case "vercel":
|
|
124
|
+
case "vercel-gateway":
|
|
125
|
+
case "vercel-ai-gateway":
|
|
126
|
+
case "ai-gateway":
|
|
127
|
+
return "vercel-ai-gateway";
|
|
128
|
+
case "openrouter":
|
|
129
|
+
return "openrouter";
|
|
130
|
+
case "anthropic":
|
|
131
|
+
case "claude":
|
|
132
|
+
return "anthropic";
|
|
133
|
+
case "openai":
|
|
134
|
+
case "gpt":
|
|
135
|
+
return "openai";
|
|
136
|
+
default:
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Names accepted by `--provider`, in canonical order, for help and errors. */
|
|
141
|
+
export const PROVIDER_SHORTHANDS = [
|
|
142
|
+
"duet",
|
|
143
|
+
"vercel",
|
|
144
|
+
"openrouter",
|
|
145
|
+
"anthropic",
|
|
146
|
+
"openai",
|
|
147
|
+
];
|
|
148
|
+
/** Build a `provider:modelId` reference for a provider's default chat model. */
|
|
149
|
+
export function pinnedDefaultModel(provider) {
|
|
150
|
+
return pinnedShorthand(provider, getProviderDefaultModel(provider));
|
|
151
|
+
}
|
|
152
|
+
/** Build a `provider:modelId` reference for a provider's memory model. */
|
|
153
|
+
export function pinnedMemoryModel(provider) {
|
|
154
|
+
return pinnedShorthand(provider, getProviderMemoryModel(provider));
|
|
155
|
+
}
|
|
156
|
+
function pinnedShorthand(provider, shorthand) {
|
|
157
|
+
const candidate = getModelCandidates(shorthand).find((entry) => entry.provider === provider);
|
|
158
|
+
if (!candidate) {
|
|
159
|
+
throw new Error(`Provider ${provider} has no model mapping for ${shorthand}`);
|
|
160
|
+
}
|
|
161
|
+
return candidate.modelName;
|
|
162
|
+
}
|
|
113
163
|
//# sourceMappingURL=catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AA6B7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D;QACE,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;KAC9F;IACD,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IACjC,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC1B,EAAE,QAAQ,EAAE,WAAW,EAAE;IACzB,EAAE,QAAQ,EAAE,QAAQ,EAAE;CACvB,CAAC;AAEF,MAAM,yBAAyB,GAAiC;IAC9D,cAAc,EAAE,iBAAiB;IACjC,mBAAmB,EAAE,iBAAiB;IACtC,UAAU,EAAE,iBAAiB;IAC7B,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,wBAAwB,GAAiC;IAC7D,cAAc,EAAE,wBAAwB;IACxC,mBAAmB,EAAE,wBAAwB;IAC7C,UAAU,EAAE,wBAAwB;IACpC,SAAS,EAAE,wBAAwB;IACnC,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,MAAM,iBAAiB,GAA+B;IACpD;QACE,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;QAC/C,gBAAgB,EAAE;YAChB,cAAc,EAAE,2BAA2B;YAC3C,mBAAmB,EAAE,2BAA2B;YAChD,UAAU,EAAE,2BAA2B;YACvC,SAAS,EAAE,iBAAiB;SAC7B;KACF;IACD;QACE,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;QACnD,gBAAgB,EAAE;YAChB,cAAc,EAAE,6BAA6B;YAC7C,mBAAmB,EAAE,6BAA6B;YAClD,UAAU,EAAE,6BAA6B;YACzC,SAAS,EAAE,mBAAmB;SAC/B;KACF;IACD;QACE,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;QACjD,gBAAgB,EAAE;YAChB,cAAc,EAAE,4BAA4B;YAC5C,mBAAmB,EAAE,4BAA4B;YACjD,UAAU,EAAE,4BAA4B;YACxC,SAAS,EAAE,kBAAkB;SAC9B;KACF;IACD;QACE,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE;YAChB,cAAc,EAAE,gBAAgB;YAChC,mBAAmB,EAAE,gBAAgB;YACrC,UAAU,EAAE,gBAAgB;YAC5B,MAAM,EAAE,SAAS;SAClB;KACF;IACD;QACE,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE;YAChB,cAAc,EAAE,qBAAqB;YACrC,mBAAmB,EAAE,qBAAqB;YAC1C,UAAU,EAAE,qBAAqB;YACjC,MAAM,EAAE,cAAc;SACvB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAsB;IAC3D,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC;QAC7B,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,OAAO,eAAe,CAAC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,QAAsB;IACtD,OAAO,eAAe,CAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,QAAsB,EAAE,SAAiB;IAChE,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC7F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,6BAA6B,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,CAAC;AAC7B,CAAC"}
|
package/dist/src/tui/app.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type { StartupHeaderInput } from "./history.js";
|
|
|
6
6
|
export type { AutocompleteToken, AutocompleteToken as SkillAutocompleteToken, FileAutocompleteItem, SkillAutocompleteItem, SkillAutocompleteReplacement, } from "./autocomplete.js";
|
|
7
7
|
export { activeFileAutocompleteToken, activeSkillAutocompleteToken, fileAutocompleteMatches, formatQuestionOptionDescription, formatSkillAutocompleteDescription, moveQuestionOptionSelection, moveSkillAutocompleteSelection, questionPickerAnswerPayload, replaceFileAutocompleteToken, replaceSkillAutocompleteToken, skillAutocompleteMatches, } from "./autocomplete.js";
|
|
8
8
|
export { formatSkillAutocompleteItem } from "./autocomplete.js";
|
|
9
|
-
export { historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines } from "./history.js";
|
|
9
|
+
export { DUET_BANNER_LINES, historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines, } from "./history.js";
|
|
10
10
|
export interface RunTuiInput {
|
|
11
11
|
session: Session;
|
|
12
12
|
initialPrompt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAWlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAMV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AA4B9B,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,IAAI,sBAAsB,EAC3C,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA6oCvF"}
|
package/dist/src/tui/app.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BoxRenderable, createCliRenderer, fg, ScrollBoxRenderable, t, TextRenderable, TextareaRenderable, } from "@opentui/core";
|
|
2
|
-
import { formatCompactJson } from "../lib/compact-json.js";
|
|
3
2
|
import { activeFileAutocompleteToken, activeSkillAutocompleteToken, AUTOCOMPLETE_LIMITS, fileAutocompleteMatches, formatQuestionOptionDescription, formatSkillAutocompleteDescription, moveQuestionOptionSelection, moveSkillAutocompleteSelection, questionPickerAnswerPayload, skillAutocompleteMatches, } from "./autocomplete.js";
|
|
4
3
|
import { buildFileIndex } from "./file-index.js";
|
|
5
|
-
import { historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines, } from "./history.js";
|
|
4
|
+
import { DUET_BANNER_LINES, historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines, } from "./history.js";
|
|
6
5
|
import { createSidebar } from "./sidebar.js";
|
|
7
6
|
import { COLORS, HINT_IDLE, HINT_RUNNING } from "./theme.js";
|
|
8
7
|
// Re-exports preserve the historical `tui/app.js` entry point used by tests
|
|
9
8
|
// and external callers; the implementations live in focused leaf modules.
|
|
10
9
|
export { activeFileAutocompleteToken, activeSkillAutocompleteToken, fileAutocompleteMatches, formatQuestionOptionDescription, formatSkillAutocompleteDescription, moveQuestionOptionSelection, moveSkillAutocompleteSelection, questionPickerAnswerPayload, replaceFileAutocompleteToken, replaceSkillAutocompleteToken, skillAutocompleteMatches, } from "./autocomplete.js";
|
|
11
10
|
export { formatSkillAutocompleteItem } from "./autocomplete.js";
|
|
12
|
-
export { historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines } from "./history.js";
|
|
11
|
+
export { DUET_BANNER_LINES, historyDisplayBlocks, limitHistoryDisplayBlocks, startupHeaderLines, } from "./history.js";
|
|
12
|
+
import { formatToolBlock, truncateToolText } from "./tool-formatters.js";
|
|
13
13
|
const SKILL_AUTOCOMPLETE_LIMIT = AUTOCOMPLETE_LIMITS.skill;
|
|
14
14
|
const FILE_AUTOCOMPLETE_LIMIT = AUTOCOMPLETE_LIMITS.file;
|
|
15
15
|
const QUESTION_OPTION_LIMIT = AUTOCOMPLETE_LIMITS.questionOption;
|
|
@@ -207,18 +207,6 @@ export async function runTui(input) {
|
|
|
207
207
|
const line = new TextRenderable(renderer, { content, fg });
|
|
208
208
|
transcript.add(line);
|
|
209
209
|
}
|
|
210
|
-
// Tool results can be huge (file dumps, search output). Show only the head
|
|
211
|
-
// in the transcript so the conversation flow stays readable; the full
|
|
212
|
-
// payload remains in session history for the model.
|
|
213
|
-
const TOOL_RESULT_MAX_LINES = 3;
|
|
214
|
-
function truncateToolResult(text) {
|
|
215
|
-
const lines = text.split("\n");
|
|
216
|
-
if (lines.length <= TOOL_RESULT_MAX_LINES)
|
|
217
|
-
return text;
|
|
218
|
-
const head = lines.slice(0, TOOL_RESULT_MAX_LINES).join("\n");
|
|
219
|
-
const remaining = lines.length - TOOL_RESULT_MAX_LINES;
|
|
220
|
-
return `${head}\n… (+${remaining} more line${remaining === 1 ? "" : "s"})`;
|
|
221
|
-
}
|
|
222
210
|
function appendBlock(label, body, fg) {
|
|
223
211
|
beginBlock();
|
|
224
212
|
const text = label ? `${label}\n${body}` : body;
|
|
@@ -279,23 +267,15 @@ export async function runTui(input) {
|
|
|
279
267
|
const queued = queuedFollowUps > 0 ? ` · queued follow-ups: ${queuedFollowUps}` : "";
|
|
280
268
|
setStatus(`● ${workingMessage} (${elapsed})${queued}`);
|
|
281
269
|
}
|
|
282
|
-
// Sub-second precision for short tool calls keeps fast operations honest;
|
|
283
|
-
// longer calls fall back to the coarser m/s formatter shared with the
|
|
284
|
-
// working-status counter.
|
|
285
|
-
function formatToolDuration(ms) {
|
|
286
|
-
if (ms < 10_000)
|
|
287
|
-
return `${(ms / 1000).toFixed(1)}s`;
|
|
288
|
-
return formatElapsed(ms);
|
|
289
|
-
}
|
|
290
270
|
function refreshActiveToolBlocks() {
|
|
291
271
|
if (activeToolBlocks.size === 0)
|
|
292
272
|
return;
|
|
293
273
|
for (const block of activeToolBlocks.values()) {
|
|
294
274
|
if (block.startedAt === undefined)
|
|
295
275
|
continue;
|
|
296
|
-
const elapsed =
|
|
297
|
-
const
|
|
298
|
-
block.line.content = block.
|
|
276
|
+
const elapsed = formatElapsed(Date.now() - block.startedAt);
|
|
277
|
+
const headerLine = `${block.header} ⏳ ${elapsed}`;
|
|
278
|
+
block.line.content = block.body ? `${headerLine}\n${block.body}` : headerLine;
|
|
299
279
|
}
|
|
300
280
|
}
|
|
301
281
|
function startWorkingTicker() {
|
|
@@ -333,6 +313,7 @@ export async function runTui(input) {
|
|
|
333
313
|
function refreshSidebar() {
|
|
334
314
|
const state = input.session.getState();
|
|
335
315
|
sidebar.setTodos(state?.todos ?? []);
|
|
316
|
+
sidebar.setFollowUpQueue(state?.followUpQueue ?? []);
|
|
336
317
|
sidebar.setStateMachine(state?.stateMachine);
|
|
337
318
|
sidebar.setContextUsage(latestContextUsage);
|
|
338
319
|
}
|
|
@@ -341,11 +322,15 @@ export async function runTui(input) {
|
|
|
341
322
|
if (event.type === "step") {
|
|
342
323
|
renderStep(event.step);
|
|
343
324
|
}
|
|
344
|
-
else if (event.type === "todos") {
|
|
345
|
-
renderTodos(event.todos);
|
|
346
|
-
}
|
|
347
325
|
else if (event.type === "follow_up_queue") {
|
|
348
|
-
|
|
326
|
+
// Sidebar already refreshed from session state above; mirror the count
|
|
327
|
+
// into the working-status line so the user can see queued prompts at a
|
|
328
|
+
// glance without scrolling the sidebar.
|
|
329
|
+
queuedFollowUps = event.prompts.length;
|
|
330
|
+
refreshWorkingStatus();
|
|
331
|
+
}
|
|
332
|
+
else if (event.type === "todos") {
|
|
333
|
+
// Sidebar refresh covers the visual update; nothing else to do here.
|
|
349
334
|
}
|
|
350
335
|
else if (event.type === "memory") {
|
|
351
336
|
renderMemoryStatus(event);
|
|
@@ -391,6 +376,8 @@ export async function runTui(input) {
|
|
|
391
376
|
}
|
|
392
377
|
});
|
|
393
378
|
function renderSetupIntro(skills, agentFiles) {
|
|
379
|
+
for (const line of DUET_BANNER_LINES)
|
|
380
|
+
appendLine(line, COLORS.status);
|
|
394
381
|
const [title, ...details] = startupHeaderLines(input);
|
|
395
382
|
appendLine(title ?? "[duet]", COLORS.status);
|
|
396
383
|
for (const line of details) {
|
|
@@ -435,20 +422,6 @@ export async function runTui(input) {
|
|
|
435
422
|
: "";
|
|
436
423
|
appendLine(`● sleeping until ${wakeLabel}${turnDuration}`, COLORS.status);
|
|
437
424
|
}
|
|
438
|
-
function renderTodos(todos) {
|
|
439
|
-
if (todos.length === 0) {
|
|
440
|
-
appendBlock("[todos]", "No todos", COLORS.hint);
|
|
441
|
-
return;
|
|
442
|
-
}
|
|
443
|
-
appendBlock("[todos]", todos.map((todo) => `${todo.status} ${todo.id}: ${todo.content}`).join("\n"), COLORS.status);
|
|
444
|
-
}
|
|
445
|
-
function renderFollowUpQueue(prompts) {
|
|
446
|
-
queuedFollowUps = prompts.length;
|
|
447
|
-
refreshWorkingStatus();
|
|
448
|
-
if (prompts.length === 0)
|
|
449
|
-
return;
|
|
450
|
-
appendBlock("[follow-up queue]", prompts.map((prompt, index) => `${index + 1}. ${prompt}`).join("\n"), COLORS.hint);
|
|
451
|
-
}
|
|
452
425
|
function renderStep(step) {
|
|
453
426
|
if (questionPickerIsOpen())
|
|
454
427
|
hideQuestions();
|
|
@@ -474,7 +447,7 @@ export async function runTui(input) {
|
|
|
474
447
|
return;
|
|
475
448
|
}
|
|
476
449
|
if (trimmed)
|
|
477
|
-
appendBlock("[reasoning]",
|
|
450
|
+
appendBlock("[reasoning]", truncateToolText(trimmed), COLORS.reasoning);
|
|
478
451
|
}
|
|
479
452
|
else if (step.type === "tool_call") {
|
|
480
453
|
renderToolCall(step);
|
|
@@ -503,44 +476,65 @@ export async function runTui(input) {
|
|
|
503
476
|
// (`status: "running"`) creates the block with a spinner; the second event
|
|
504
477
|
// (`completed` or `error`) replaces the spinner with ✓/✗ and appends the
|
|
505
478
|
// truncated result inline so the call and its outcome stay visually paired.
|
|
479
|
+
// Per-tool formatters in `tool-formatters.ts` decide the header text and
|
|
480
|
+
// whether the call should appear in the transcript at all (e.g.
|
|
481
|
+
// ask_user_question hides itself live and lets the `ask` terminal event
|
|
482
|
+
// own the question display).
|
|
506
483
|
function renderToolCall(step) {
|
|
507
484
|
const existing = activeToolBlocks.get(step.toolCallId);
|
|
508
|
-
if (
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
// The same event may already carry a terminal status (cached/replayed
|
|
523
|
-
// history). Fall through to finalize against the just-created block.
|
|
524
|
-
if (step.status !== "running" && step.status !== "pending") {
|
|
525
|
-
finalizeToolCall(step, block);
|
|
526
|
-
}
|
|
485
|
+
if (existing) {
|
|
486
|
+
finalizeToolCall(step, existing);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
const isLive = step.status === "running" || step.status === "pending";
|
|
490
|
+
const formatStatus = isLive ? "running" : step.status === "error" ? "error" : "completed";
|
|
491
|
+
const formatted = formatToolBlock({
|
|
492
|
+
toolName: step.toolName,
|
|
493
|
+
status: formatStatus,
|
|
494
|
+
input: step.input,
|
|
495
|
+
output: step.output,
|
|
496
|
+
mode: "live",
|
|
497
|
+
});
|
|
498
|
+
if (formatted.hidden)
|
|
527
499
|
return;
|
|
500
|
+
const startedAt = isLive ? Date.now() : undefined;
|
|
501
|
+
const headerLine = isLive ? `${formatted.header} ⏳ 0s` : `${formatted.header} ⏳`;
|
|
502
|
+
const fg = step.status === "error" ? COLORS.error : COLORS.tool;
|
|
503
|
+
const line = new TextRenderable(renderer, {
|
|
504
|
+
content: formatted.body ? `${headerLine}\n${formatted.body}` : headerLine,
|
|
505
|
+
fg,
|
|
506
|
+
});
|
|
507
|
+
beginBlock();
|
|
508
|
+
transcript.add(line);
|
|
509
|
+
const block = {
|
|
510
|
+
line,
|
|
511
|
+
header: formatted.header,
|
|
512
|
+
body: formatted.body ?? "",
|
|
513
|
+
input: step.input,
|
|
514
|
+
startedAt,
|
|
515
|
+
};
|
|
516
|
+
activeToolBlocks.set(step.toolCallId, block);
|
|
517
|
+
// The same event may already carry a terminal status (cached/replayed
|
|
518
|
+
// history). Fall through to finalize against the just-created block.
|
|
519
|
+
if (!isLive) {
|
|
520
|
+
finalizeToolCall(step, block);
|
|
528
521
|
}
|
|
529
|
-
finalizeToolCall(step, existing);
|
|
530
522
|
}
|
|
531
523
|
function finalizeToolCall(step, block) {
|
|
532
524
|
const isError = step.status === "error";
|
|
533
525
|
const marker = isError ? "✗" : "✓";
|
|
534
|
-
const
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
526
|
+
const durationSuffix = block.startedAt === undefined ? "" : ` ${formatElapsed(Date.now() - block.startedAt)}`;
|
|
527
|
+
const headerLine = `${block.header} ${marker}${durationSuffix}`;
|
|
528
|
+
const formatted = formatToolBlock({
|
|
529
|
+
toolName: step.toolName,
|
|
530
|
+
status: isError ? "error" : "completed",
|
|
531
|
+
input: block.input,
|
|
532
|
+
output: step.output,
|
|
533
|
+
mode: "live",
|
|
534
|
+
});
|
|
535
|
+
const sections = [formatted.body ? `${headerLine}\n${formatted.body}` : headerLine];
|
|
536
|
+
if (formatted.result && formatted.result.body) {
|
|
537
|
+
sections.push(`${formatted.result.label}\n${formatted.result.body}`);
|
|
544
538
|
}
|
|
545
539
|
block.line.content = sections.join("\n");
|
|
546
540
|
block.line.fg = isError ? COLORS.error : COLORS.tool;
|
|
@@ -551,7 +545,7 @@ export async function runTui(input) {
|
|
|
551
545
|
updateStreamingBlock(block);
|
|
552
546
|
}
|
|
553
547
|
function updateStreamingBlock(block) {
|
|
554
|
-
const body = block.truncate ?
|
|
548
|
+
const body = block.truncate ? truncateToolText(block.body) : block.body;
|
|
555
549
|
block.line.content = block.label ? `${block.label}\n${body}` : body;
|
|
556
550
|
}
|
|
557
551
|
function renderMemoryStatus(event) {
|
|
@@ -574,7 +568,7 @@ export async function runTui(input) {
|
|
|
574
568
|
return "";
|
|
575
569
|
}
|
|
576
570
|
const content = event.observations.map((observation) => observation.content).join("\n\n");
|
|
577
|
-
return
|
|
571
|
+
return truncateToolText(`${event.message}\n${content}`);
|
|
578
572
|
}
|
|
579
573
|
// ---- input handling --------------------------------------------------------
|
|
580
574
|
// Track shift state for the most recent Enter keypress. The focused
|
|
@@ -1041,12 +1035,6 @@ export async function runTui(input) {
|
|
|
1041
1035
|
unsubscribe();
|
|
1042
1036
|
return lastTerminal;
|
|
1043
1037
|
// --------------------------------------------------------------------------
|
|
1044
|
-
function textFromContent(content) {
|
|
1045
|
-
return content
|
|
1046
|
-
.filter((b) => b.type === "text")
|
|
1047
|
-
.map((b) => b.text)
|
|
1048
|
-
.join("\n");
|
|
1049
|
-
}
|
|
1050
1038
|
function appendDisplayBlock(block) {
|
|
1051
1039
|
appendBlock(null, block.content, colorForHistoryBlock(block.kind));
|
|
1052
1040
|
}
|