@ghostmind-dev/agent 0.2.2 → 0.2.4

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 CHANGED
@@ -140,10 +140,10 @@ The package ships a terminal chat on the core, in the spirit of opencode. Use it
140
140
  ```bash
141
141
  export OPENROUTER_API_KEY=sk-or-...
142
142
  npm install -g @ghostmind-dev/agent # the command is `agento` (or: npx @ghostmind-dev/agent …)
143
- agento model # pick a model from the list, saved as the default
143
+ agento model # pick from agento's short list (↑↓, type to filter), saved as the default
144
144
  agento # chat in the current folder
145
145
  agento -p "what does this repo do?" # one turn, then exit
146
- agento models deepseek # tool-capable models, cheapest first
146
+ agento models # the short list with live prices (--all [filter] for every model)
147
147
  ```
148
148
 
149
149
  **What the agent can do:**
@@ -152,7 +152,7 @@ agento models deepseek # tool-capable models, cheapest first
152
152
  - **MCP servers:** from `.mcp.json` (Claude Code's format). This needs `@ghostmind-dev/ensemble` installed alongside, an *optional* peer dependency, so the package keeps zero runtime dependencies.
153
153
  - **Skills:** from `.claude/skills`. Jev picks which one a task needs.
154
154
 
155
- It shows every tool call, Jev checkpoint and cost, and logs each session to `~/.agento/sessions/`. The package names no model of its own. `agento model` saves your pick in `~/.agento/config.json`, `--model` overrides it for one run, and `AGENT_MODEL` forces one. `agento --help` lists the options. In this repo, `cli/scripts/agento.sh` runs it from source with the key from Vault (see [`cli/Readme.md`](cli/Readme.md)).
155
+ Output has three styles: `minimal`, `normal` and `verbose` (`--style`, or `/style` to save one). Only `verbose` shows Jev's scoring and per-turn costs. Each session is logged to `~/.agento/sessions/`. The engine names no model. agento, as an app, offers a short curated list of 16 models with tools and reasoning, each proven in an agent loop (the list Potion's Talk offers), in `src/cli/models.ts`. "Other model…" searches the whole catalogue. `agento model` saves your pick in `~/.agento/config.json`, `--model` overrides it for one run, and `AGENT_MODEL` forces one. `agento --help` lists the options. In this repo, `cli/scripts/agento.sh` runs it from source with the key from Vault (see [`cli/Readme.md`](cli/Readme.md)).
156
156
 
157
157
  ## Development
158
158
 
@@ -3,6 +3,8 @@ export declare const home: () => string;
3
3
  export interface Config {
4
4
  /** The default worker model (an OpenRouter id). */
5
5
  model?: string;
6
+ /** The default output style: minimal | normal | verbose. */
7
+ style?: string;
6
8
  }
7
9
  export declare function readConfig(): Config;
8
10
  export declare function writeConfig(patch: Partial<Config>): Config;
@@ -11,9 +13,7 @@ export declare function resolveModel(flag: string | undefined, env: string | und
11
13
  model?: string;
12
14
  from?: 'flag' | 'env' | 'default';
13
15
  };
14
- /** Tool-capable models matching a filter (id or name, any word), cheapest first. */
16
+ /** Models matching a filter (id or name, every word), cheapest first; tool-capable only. */
15
17
  export declare function pickable(cards: ModelCard[], filter?: string): ModelCard[];
16
- /** A reply to the picker: a number from the list shown, or an exact id from the whole catalogue. */
17
- export declare function choose(input: string, shown: ModelCard[], all: ModelCard[]): string | null;
18
18
  export declare const price: (m: ModelCard) => string;
19
19
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,IAAI,QAAO,MAA+D,CAAC;AAExF,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAM1D;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAAE,CAKrJ;AAED,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,SAAK,GAAG,SAAS,EAAE,CAKrE;AAED,oGAAoG;AACpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,IAAI,CAIzF;AAED,eAAO,MAAM,KAAK,GAAI,GAAG,SAAS,WAAuF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,IAAI,QAAO,MAA+D,CAAC;AAExF,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAM1D;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAAE,CAKrJ;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,SAAK,GAAG,SAAS,EAAE,CAKrE;AAED,eAAO,MAAM,KAAK,GAAI,GAAG,SAAS,WAAuF,CAAC"}
@@ -35,19 +35,12 @@ export function resolveModel(flag, env, config) {
35
35
  return { model: config.model, from: 'default' };
36
36
  return {};
37
37
  }
38
- /** Tool-capable models matching a filter (id or name, any word), cheapest first. */
38
+ /** Models matching a filter (id or name, every word), cheapest first; tool-capable only. */
39
39
  export function pickable(cards, filter = '') {
40
40
  const words = filter.toLowerCase().split(/\s+/).filter(Boolean);
41
41
  return cards
42
42
  .filter(m => m.tools && words.every(w => m.id.toLowerCase().includes(w) || m.name.toLowerCase().includes(w)))
43
43
  .sort((a, b) => a.completion - b.completion || a.id.localeCompare(b.id));
44
44
  }
45
- /** A reply to the picker: a number from the list shown, or an exact id from the whole catalogue. */
46
- export function choose(input, shown, all) {
47
- const s = input.trim();
48
- if (/^\d+$/.test(s))
49
- return shown[Number(s) - 1]?.id ?? null;
50
- return all.find(m => m.id === s)?.id ?? null;
51
- }
52
45
  export const price = (m) => `$${(m.completion * 1e6).toFixed(2)}/M out · ${Math.round(m.context / 1000)}k ctx`;
53
46
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAOxF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;AAE/C,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAsB;IAChD,MAAM,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,aAAa,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,UAAU,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,GAAuB,EAAE,MAAc;IAC5F,IAAI,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC/C,IAAI,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CAAC,KAAkB,EAAE,MAAM,GAAG,EAAE;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,KAAkB,EAAE,GAAgB;IACxE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC7D,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
package/dist/cli/main.js CHANGED
@@ -21,12 +21,14 @@ import { join, resolve } from 'node:path';
21
21
  import { parseArgs } from 'node:util';
22
22
  import { createInterface } from 'node:readline/promises';
23
23
  import { dirSkills, modelCatalog, openrouter } from "../index.js";
24
- import { choose, home, pickable, price, readConfig, resolveModel, writeConfig } from "./config.js";
24
+ import { home, pickable, price, readConfig, resolveModel, writeConfig } from "./config.js";
25
+ import { capable, labelOf, offered } from "./models.js";
26
+ import { pick } from "./picker.js";
25
27
  import { connectAll } from "./mcp.js";
26
28
  import { createSession } from "./session.js";
27
29
  import { fileToolset } from "./files.js";
28
30
  import { shellToolset } from "./shell.js";
29
- import { c, printer, summary } from "./ui.js";
31
+ import { c, isStyle, printer, STYLES, summary } from "./ui.js";
30
32
  const { values: flags, positionals } = parseArgs({
31
33
  options: {
32
34
  prompt: { type: 'string', short: 'p' },
@@ -36,11 +38,13 @@ const { values: flags, positionals } = parseArgs({
36
38
  cwd: { type: 'string' },
37
39
  yes: { type: 'boolean', short: 'y' },
38
40
  verbose: { type: 'boolean', short: 'v' },
41
+ style: { type: 'string', short: 's' },
39
42
  'no-mcp': { type: 'boolean' },
40
43
  'no-skills': { type: 'boolean' },
41
44
  'no-shell': { type: 'boolean' },
42
45
  models: { type: 'boolean' },
43
46
  pick: { type: 'boolean' },
47
+ all: { type: 'boolean' },
44
48
  help: { type: 'boolean', short: 'h' },
45
49
  },
46
50
  allowPositionals: true,
@@ -52,33 +56,58 @@ const HELP = `agento — the agent core in a terminal
52
56
 
53
57
  agento model pick the default model from a list (saved; no flag needed after)
54
58
  agento model <id> set the default model directly
55
- agento models [filter] tool-capable OpenRouter models, cheapest first
59
+ agento models the models agento offers, with live prices
60
+ agento models --all [f] every OpenRouter model with tools + reasoning, cheapest first
56
61
 
57
62
  -m, --model <id> OpenRouter model for this run (else $AGENT_MODEL, else the saved default)
58
63
  -g, --guidance <level> auto | off | light | normal | close | N (default: auto)
59
64
  --max-usd <n> USD cap per turn (default: $AGENT_MAX_USD)
60
65
  --cwd <dir> working directory (default: here)
61
66
  -y, --yes approve every change and command without asking
62
- -v, --verbose longer tool results, and the transient lines said to the model
67
+ -s, --style <style> output: minimal (answers) · normal (+ a line per tool call) · verbose
68
+ (+ results, Jev scoring, costs). Default: saved with /style, else normal
69
+ -v, --verbose same as --style verbose
63
70
  --no-mcp --no-skills --no-shell
64
71
 
65
- In the chat: /model pick from the list (and save as default)
72
+ In the chat: /model pick from the list (↑↓, type to filter; then save as default)
66
73
  /model <id> switch for this session /default [id] save as the default
67
74
  /models [filter] /guidance [level] /budget [usd] /cost /tools /mcp /skills
75
+ /style [minimal|normal|verbose] (saved as default)
68
76
  /auto /log /clear /help /exit Ctrl+C stops a turn`;
69
77
  if (flags.help) {
70
78
  console.log(HELP);
71
79
  process.exit(0);
72
80
  }
73
- async function listModels(filter, write) {
74
- const cards = pickable(await modelCatalog(), filter);
75
- for (const m of cards.slice(0, 20))
76
- write(`${m.id.padEnd(48)} ${c.dim(price(m))}\n`);
77
- write(c.dim(`${cards.length} tool-capable models${filter ? ` matching "${filter}"` : ''}, cheapest first\n`));
81
+ async function catalog() {
82
+ try {
83
+ return await modelCatalog();
84
+ }
85
+ catch (error) {
86
+ process.stderr.write(c.red(`could not load the model list from OpenRouter: ${error instanceof Error ? error.message : String(error)}\n`));
87
+ return null;
88
+ }
89
+ }
90
+ /** `agento models`: the curated list; `--all [filter]`: every capable model in the catalogue. */
91
+ async function listModels(filter, all, write) {
92
+ const cards = await catalog();
93
+ if (!cards)
94
+ return;
95
+ if (all) {
96
+ const list = pickable(cards.filter(capable), filter);
97
+ for (const m of list.slice(0, 40))
98
+ write(`${m.id.padEnd(48)} ${c.dim(price(m))}\n`);
99
+ write(c.dim(`${list.length} models with tools + reasoning${filter ? ` matching "${filter}"` : ''}, cheapest first${list.length > 40 ? ' (first 40)' : ''}\n`));
100
+ return;
101
+ }
102
+ const saved = readConfig().model;
103
+ for (const m of offered(cards)) {
104
+ write(`${m.label.padEnd(22)} ${c.dim(`${m.maker} · ${m.note}`.padEnd(46))} ${c.dim(price(m.card))} ${c.dim(m.id)}${m.id === saved ? c.green(' ← default') : ''}\n`);
105
+ }
106
+ write(c.dim('agento model to choose one · agento models --all [filter] for the whole catalogue\n'));
78
107
  }
79
108
  const [sub, subArg] = positionals;
80
109
  if (sub === 'models' || flags.models) {
81
- await listModels(sub === 'models' ? subArg : sub, s => process.stdout.write(s));
110
+ await listModels(sub === 'models' ? subArg : sub, !!flags.all, s => process.stdout.write(s));
82
111
  process.exit(0);
83
112
  }
84
113
  if (sub && sub !== 'model') {
@@ -95,56 +124,66 @@ const parseGuidance = (s) => {
95
124
  };
96
125
  const root = resolve(flags.cwd ?? process.cwd());
97
126
  const oneShot = flags.prompt !== undefined;
98
- const rl = createInterface({ input: process.stdin, output: process.stdout, terminal: process.stdin.isTTY });
99
127
  const out = (s) => process.stdout.write(s);
128
+ // The line reader is closed while the picker owns the keyboard, and made again on the next question.
129
+ let running = null;
130
+ let lineReader = null;
131
+ function reader() {
132
+ if (lineReader)
133
+ return lineReader;
134
+ const rl = createInterface({ input: process.stdin, output: process.stdout, terminal: process.stdin.isTTY });
135
+ // Ctrl+C: stop the running turn, or leave when nothing runs.
136
+ rl.on('SIGINT', () => {
137
+ if (running) {
138
+ running.abort();
139
+ out(c.yellow('\n(stopping…)\n'));
140
+ }
141
+ else {
142
+ out('\n');
143
+ releaseReader();
144
+ process.exit(0);
145
+ }
146
+ });
147
+ lineReader = rl;
148
+ return rl;
149
+ }
150
+ function releaseReader() {
151
+ lineReader?.close();
152
+ lineReader = null;
153
+ }
154
+ const OTHER = '\u0000other';
100
155
  /**
101
- * The picker: a filter, then a numbered list from the live catalogue (tool-capable, cheapest
102
- * first). Reply with a number, an exact id, or `/words` to filter again; Enter alone cancels.
156
+ * The model picker: agento's short list (tools + reasoning, live prices), scrollable, filter as you
157
+ * type; "Other model…" opens the whole catalogue (tools + reasoning only).
103
158
  */
104
159
  async function pickModel(current) {
105
- let all;
106
- try {
107
- all = await modelCatalog();
108
- }
109
- catch (error) {
110
- out(c.red(`could not load the model list: ${error instanceof Error ? error.message : String(error)}\n`));
160
+ const cards = await catalog();
161
+ if (!cards)
111
162
  return null;
112
- }
113
163
  const saved = readConfig().model;
114
- let filter = (await rl.question(`${c.cyan('filter')} ${c.dim('(e.g. glm, claude sonnet, deepseek — Enter for all)')} › `)).trim();
115
- for (;;) {
116
- const shown = pickable(all, filter).slice(0, 30);
117
- if (!shown.length)
118
- out(c.yellow(`no tool-capable model matches "${filter}"\n`));
119
- shown.forEach((m, i) => {
120
- const mark = m.id === current ? c.green(' ← current') : m.id === saved ? c.green(' ← default') : '';
121
- out(`${c.dim(String(i + 1).padStart(3))} ${m.id.padEnd(46)} ${c.dim(price(m))}${mark}\n`);
122
- });
123
- const total = pickable(all, filter).length;
124
- if (total > shown.length)
125
- out(c.dim(` …${total - shown.length} more: narrow with /words\n`));
126
- const answer = (await rl.question(`${c.cyan('model')} ${c.dim('(number, id, /filter, Enter to cancel)')} › `)).trim();
127
- if (!answer)
128
- return null;
129
- if (answer.startsWith('/')) {
130
- filter = answer.slice(1).trim();
131
- continue;
132
- }
133
- const id = choose(answer, shown, all);
134
- if (id)
135
- return id;
136
- out(c.yellow(`"${answer}" is not a number in the list or a model id\n`));
137
- }
164
+ const mark = (id) => (id === current ? '← current' : id === saved ? '← default' : '');
165
+ releaseReader();
166
+ const list = offered(cards);
167
+ const items = [
168
+ ...list.map(m => ({ label: m.label, detail: `${m.maker} · ${m.note}`, aside: `${price(m.card).split(' · ')[0].padStart(12)} ${mark(m.id)}`, value: m.id })),
169
+ { label: 'Other model…', detail: 'search every OpenRouter model with tools + reasoning', value: OTHER },
170
+ ];
171
+ const at = list.findIndex(m => m.id === (current ?? saved));
172
+ const id = await pick(items, { title: 'Model', initial: at >= 0 ? at : 0 });
173
+ if (id !== OTHER)
174
+ return id;
175
+ const everything = pickable(cards.filter(capable));
176
+ return pick(everything.map(m => ({ label: m.id, detail: m.name, aside: `${price(m).split(' · ')[0].padStart(12)} ${mark(m.id)}`, value: m.id })), { title: `All models with tools + reasoning (${everything.length}, cheapest first)` });
138
177
  }
139
178
  /** Pick, then offer to save it as the default. */
140
179
  async function pickAndMaybeSave(current) {
141
180
  const id = await pickModel(current);
142
181
  if (!id)
143
182
  return null;
144
- const save = (await rl.question(`save ${c.bold(id)} as the default? ${c.dim('[Y/n]')} › `)).trim().toLowerCase();
183
+ const save = (await reader().question(`${c.bold(labelOf(id))} ${c.dim(`(${id})`)} — save as the default? ${c.dim('[Y/n]')} › `)).trim().toLowerCase();
145
184
  if (!save.startsWith('n')) {
146
185
  writeConfig({ model: id });
147
- out(c.green(`default model: ${id}`) + c.dim(` (${join(home(), 'config.json')})\n`));
186
+ out(c.green(`default model: ${labelOf(id)}`) + c.dim(` (${join(home(), 'config.json')})\n`));
148
187
  }
149
188
  return id;
150
189
  }
@@ -160,9 +199,9 @@ if (sub === 'model') {
160
199
  }
161
200
  if (id) {
162
201
  writeConfig({ model: id });
163
- out(`${c.green(`default model: ${id}`)}${c.dim(` (${join(home(), 'config.json')})`)}\n`);
202
+ out(`${c.green(`default model: ${labelOf(id)}`)}${c.dim(` ${id === labelOf(id) ? '' : `(${id}) `}→ ${join(home(), 'config.json')}`)}\n`);
164
203
  }
165
- rl.close();
204
+ releaseReader();
166
205
  process.exit(id ? 0 : 1);
167
206
  }
168
207
  let { model, from } = resolveModel(flags.model, process.env.AGENT_MODEL, readConfig());
@@ -188,7 +227,14 @@ if (!model) {
188
227
  console.error('No model: run `agento model` once to choose a default, or pass --model <id> (or set AGENT_MODEL).');
189
228
  process.exit(2);
190
229
  }
191
- const print = printer(out, { stream: true, verbose: !!flags.verbose });
230
+ const styleArg = flags.verbose ? 'verbose' : flags.style;
231
+ if (styleArg !== undefined && !isStyle(styleArg)) {
232
+ console.error(`--style must be one of: ${STYLES.join(', ')}`);
233
+ process.exit(2);
234
+ }
235
+ const saved = readConfig().style;
236
+ const style = styleArg ?? (isStyle(saved) ? saved : 'normal');
237
+ const print = printer(out, { stream: true, style });
192
238
  // ── tools ──
193
239
  const toolsets = [fileToolset(root), ...(flags['no-shell'] ? [] : [shellToolset(root)])];
194
240
  let mcp = [];
@@ -205,7 +251,7 @@ const ask = async (req) => {
205
251
  return 'no';
206
252
  if (print.midLine())
207
253
  out('\n');
208
- const a = (await rl.question(`${c.yellow('?')} ${c.bold(req.summary)}\n ${c.dim('allow? [y]es / [n]o / [a]lways for')} ${req.tool} ${c.dim('›')} `)).trim().toLowerCase();
254
+ const a = (await reader().question(`${c.yellow('?')} ${c.bold(req.summary)}\n ${c.dim('allow? [y]es / [n]o / [a]lways for')} ${req.tool} ${c.dim('›')} `)).trim().toLowerCase();
209
255
  return a.startsWith('a') ? 'always' : a.startsWith('y') ? 'yes' : 'no';
210
256
  };
211
257
  const stamp = new Date().toISOString().replace(/[:.]/g, '-');
@@ -224,14 +270,15 @@ const session = createSession({
224
270
  autoApprove: !!flags.yes,
225
271
  });
226
272
  // ── one turn ──
227
- let running = null;
228
273
  async function turn(text) {
229
274
  running = new AbortController();
230
275
  try {
231
276
  const r = await session.send(text, running.signal);
232
277
  if (print.midLine())
233
278
  out('\n');
234
- out(`${summary(r, session.total)}\n`);
279
+ const line = summary(r, session.total, print.style);
280
+ if (line)
281
+ out(`${line}\n`);
235
282
  return r;
236
283
  }
237
284
  catch (error) {
@@ -244,28 +291,15 @@ async function turn(text) {
244
291
  running = null;
245
292
  }
246
293
  }
247
- rl.on('SIGINT', () => {
248
- if (running) {
249
- running.abort();
250
- out(c.yellow('\n(stopping…)\n'));
251
- }
252
- else {
253
- out('\n');
254
- rl.close();
255
- process.exit(0);
256
- }
257
- });
258
294
  if (oneShot) {
259
295
  const r = await turn(flags.prompt);
260
- rl.close();
296
+ releaseReader();
261
297
  for (const m of mcp)
262
298
  m.session?.close();
263
299
  process.exit(r && ['done', 'greeted', 'chatted'].includes(r.status) ? 0 : 1);
264
300
  }
265
301
  // ── the REPL ──
266
- out(`${c.bold('agento')} ${c.dim(`· ${model}${from === 'default' ? ' (default)' : ''} · guidance ${String(guidance)} · $${session.maxUsd}/turn · ${root}`)}\n`);
267
- const tools = toolsets.flatMap(s => s.tools.map(t => t.name));
268
- out(c.dim(`tools: ${tools.length} (${toolsets.map(s => `${s.name} ${s.tools.length}`).join(', ')}) · /help for commands\n`));
302
+ out(`${c.bold('agento')} ${c.dim(`· ${labelOf(model)}${from === 'default' ? '' : ` (${from})`} · ${root.replace(homedir(), '~')} · /help`)}\n`);
269
303
  for (const m of mcp)
270
304
  if (!m.ok)
271
305
  out(c.yellow(`mcp ${m.name}: ${m.error}\n`));
@@ -300,7 +334,7 @@ async function command(line) {
300
334
  break;
301
335
  }
302
336
  case 'models':
303
- await listModels(arg || undefined, out);
337
+ await listModels(arg.replace(/^--all\s*/, '') || undefined, arg.startsWith('--all'), out);
304
338
  break;
305
339
  case 'guidance': {
306
340
  const g = parseGuidance(arg || undefined);
@@ -342,6 +376,20 @@ async function command(line) {
342
376
  session.autoApprove = !session.autoApprove;
343
377
  out(`auto-approve: ${session.autoApprove ? c.yellow('on — every change and command runs without asking') : 'off'}\n`);
344
378
  break;
379
+ case 'style':
380
+ case 'verbose': {
381
+ const next = cmd === 'verbose' ? (print.style === 'verbose' ? 'normal' : 'verbose') : arg;
382
+ if (next && !isStyle(next)) {
383
+ out(`styles: ${STYLES.join(', ')}\n`);
384
+ break;
385
+ }
386
+ if (next) {
387
+ print.style = next;
388
+ writeConfig({ style: next });
389
+ }
390
+ out(`style: ${print.style}${next ? c.dim(' (saved as default)') : c.dim(` — ${STYLES.join(' · ')}`)}\n`);
391
+ break;
392
+ }
345
393
  case 'log':
346
394
  out(`${session.logPath}\n`);
347
395
  break;
@@ -357,7 +405,7 @@ async function command(line) {
357
405
  for (;;) {
358
406
  let line;
359
407
  try {
360
- line = (await rl.question(c.cyan('› '))).trim();
408
+ line = (await reader().question(c.cyan('› '))).trim();
361
409
  }
362
410
  catch {
363
411
  break;
@@ -371,7 +419,7 @@ for (;;) {
371
419
  }
372
420
  await turn(line);
373
421
  }
374
- rl.close();
422
+ releaseReader();
375
423
  for (const m of mcp)
376
424
  m.session?.close();
377
425
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The handful of models agento offers — the one place in this package that names model ids.
3
+ *
4
+ * The engine (everything outside src/cli/) never names a model; an app chooses. agento is an app, and
5
+ * like Potion's Talk it offers a short, curated list rather than the whole catalogue: models that call
6
+ * tools and reason, each proven in an agent loop. The list mirrors the one Potion's Talk offers (as
7
+ * checked 2026-09-23); prices come live from OpenRouter, and a model the catalogue no longer lists
8
+ * (or that lost tools or reasoning) is dropped from the picker rather than offered broken.
9
+ *
10
+ * Anything else is still reachable: "Other model…" in the picker searches the full catalogue (tools +
11
+ * reasoning only), and `--model <id>` takes any id.
12
+ */
13
+ import type { ModelCard } from '../index.ts';
14
+ export interface Curated {
15
+ id: string;
16
+ label: string;
17
+ maker: string;
18
+ /** A few words on why you would pick it. */
19
+ note: string;
20
+ }
21
+ export declare const CURATED: Curated[];
22
+ /** A model agento can drive: it calls tools and it reasons. */
23
+ export declare const capable: (m: ModelCard) => boolean;
24
+ export interface Offered extends Curated {
25
+ card: ModelCard;
26
+ }
27
+ /**
28
+ * The curated list as offered now: in the live catalogue, still capable, in the list's order. With
29
+ * no catalogue (offline), nothing can be priced or checked, so nothing is offered.
30
+ */
31
+ export declare function offered(cards: ModelCard[]): Offered[];
32
+ export declare const labelOf: (id: string) => string;
33
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/cli/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,OAAO,EAAE,OAAO,EAiB5B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,GAAG,SAAS,KAAG,OAAiC,CAAC;AAEzE,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACtC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAMrD;AAED,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,MAAqD,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const CURATED = [
2
+ { id: 'anthropic/claude-sonnet-5', label: 'Claude Sonnet 5', maker: 'Anthropic', note: 'Balanced: strong and quick' },
3
+ { id: 'anthropic/claude-opus-5.5', label: 'Claude Opus 5.5', maker: 'Anthropic', note: 'The most capable Claude' },
4
+ { id: 'anthropic/claude-haiku-4.5', label: 'Claude Haiku 4.5', maker: 'Anthropic', note: 'Fast and inexpensive' },
5
+ { id: 'openai/gpt-6-sol', label: 'GPT-6 Sol', maker: 'OpenAI', note: 'Strong generalist' },
6
+ { id: 'openai/gpt-6-luna', label: 'GPT-6 Luna', maker: 'OpenAI', note: 'Very inexpensive' },
7
+ { id: 'google/gemini-3.8-flash', label: 'Gemini 3.8 Flash', maker: 'Google', note: 'Fast, long context' },
8
+ { id: 'x-ai/grok-4.7', label: 'Grok 4.7', maker: 'xAI', note: 'Strong generalist' },
9
+ { id: 'deepseek/deepseek-v4.1-flash', label: 'DeepSeek V4.1 Flash', maker: 'DeepSeek', note: 'Open weights, very inexpensive' },
10
+ { id: 'deepseek/deepseek-v4-pro-0813', label: 'DeepSeek V4 Pro', maker: 'DeepSeek', note: 'Open weights, strong' },
11
+ { id: 'qwen/qwen3.8-max-0902', label: 'Qwen 3.8 Max', maker: 'Qwen', note: 'Strong, slower' },
12
+ { id: 'qwen/qwen3.8-flash', label: 'Qwen 3.8 Flash', maker: 'Qwen', note: 'Very inexpensive' },
13
+ { id: 'moonshotai/kimi-k3', label: 'Kimi K3', maker: 'Moonshot', note: 'Open weights, strong, slower' },
14
+ { id: 'z-ai/glm-5.3', label: 'GLM 5.3', maker: 'Zhipu', note: 'Open weights, inexpensive' },
15
+ { id: 'z-ai/glm-5.3-flash', label: 'GLM 5.3 Flash', maker: 'Zhipu', note: 'Open weights, very inexpensive' },
16
+ { id: 'minimax/minimax-m3', label: 'MiniMax M3', maker: 'MiniMax', note: 'Open weights, inexpensive, slower' },
17
+ { id: 'mistralai/mistral-medium-3-5', label: 'Mistral Medium 3.5', maker: 'Mistral', note: 'Strong generalist' },
18
+ ];
19
+ /** A model agento can drive: it calls tools and it reasons. */
20
+ export const capable = (m) => m.tools && m.reasoning;
21
+ /**
22
+ * The curated list as offered now: in the live catalogue, still capable, in the list's order. With
23
+ * no catalogue (offline), nothing can be priced or checked, so nothing is offered.
24
+ */
25
+ export function offered(cards) {
26
+ const byId = new Map(cards.map(c => [c.id, c]));
27
+ return CURATED.flatMap(m => {
28
+ const card = byId.get(m.id);
29
+ return card && capable(card) ? [{ ...m, card }] : [];
30
+ });
31
+ }
32
+ export const labelOf = (id) => CURATED.find(m => m.id === id)?.label ?? id;
33
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/cli/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface Item<T> {
2
+ /** The main text, matched by the filter. */
3
+ label: string;
4
+ /** Dimmer text after it, also matched by the filter. */
5
+ detail?: string;
6
+ /** Shown at the right: a price, a mark. */
7
+ aside?: string;
8
+ value: T;
9
+ }
10
+ export interface PickOptions {
11
+ title: string;
12
+ /** The item to start on (by index into `items`). */
13
+ initial?: number;
14
+ /** Rows of the list shown at once. Default: fits the terminal, at most 12. */
15
+ rows?: number;
16
+ input?: NodeJS.ReadStream;
17
+ output?: NodeJS.WriteStream;
18
+ }
19
+ /** Case-insensitive, every word must appear in the label or the detail. */
20
+ export declare function filterItems<T>(items: Item<T>[], query: string): Item<T>[];
21
+ /** The first row to draw so `cursor` is visible in a window of `rows`. */
22
+ export declare function windowStart(cursor: number, start: number, rows: number, total: number): number;
23
+ export declare function pick<T>(items: Item<T>[], options: PickOptions): Promise<T | null>;
24
+ //# sourceMappingURL=picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../src/cli/picker.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC7B;AAcD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAGzE;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9F;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAiFjF"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * A scrollable list in the terminal: ↑/↓ (or Ctrl+P/N) to move, PgUp/PgDn and Home/End to jump, type to
3
+ * filter, Enter to choose, Esc to cancel. Zero dependencies: raw-mode stdin and a few ANSI codes.
4
+ *
5
+ * It redraws in place (cursor up, clear to end), so the transcript above is left alone, and it always
6
+ * restores the terminal (raw mode off, cursor shown) however it ends.
7
+ */
8
+ import { emitKeypressEvents } from 'node:readline';
9
+ const ESC = '\x1b[';
10
+ const dim = (s) => `${ESC}2m${s}${ESC}0m`;
11
+ const inverse = (s) => `${ESC}7m${s}${ESC}0m`;
12
+ const bold = (s) => `${ESC}1m${s}${ESC}0m`;
13
+ /** Case-insensitive, every word must appear in the label or the detail. */
14
+ export function filterItems(items, query) {
15
+ const words = query.toLowerCase().split(/\s+/).filter(Boolean);
16
+ return words.length ? items.filter(i => words.every(w => `${i.label} ${i.detail ?? ''}`.toLowerCase().includes(w))) : items;
17
+ }
18
+ /** The first row to draw so `cursor` is visible in a window of `rows`. */
19
+ export function windowStart(cursor, start, rows, total) {
20
+ if (cursor < start)
21
+ return cursor;
22
+ if (cursor >= start + rows)
23
+ return cursor - rows + 1;
24
+ return Math.max(0, Math.min(start, total - rows));
25
+ }
26
+ export function pick(items, options) {
27
+ const input = options.input ?? process.stdin;
28
+ const output = options.output ?? process.stdout;
29
+ if (!input.isTTY)
30
+ return Promise.resolve(null);
31
+ const width = Math.max(40, (output.columns ?? 100) - 2);
32
+ const rows = options.rows ?? Math.max(3, Math.min(12, (output.rows ?? 24) - 6));
33
+ let query = '';
34
+ let shown = items;
35
+ let cursor = Math.max(0, Math.min(items.length - 1, options.initial ?? 0));
36
+ let start = 0;
37
+ let drawn = 0;
38
+ const fit = (s, n) => (s.length > n ? `${s.slice(0, Math.max(0, n - 1))}…` : s.padEnd(n));
39
+ const draw = () => {
40
+ const lines = [];
41
+ lines.push(`${bold(options.title)} ${dim('↑↓ move · type to filter · Enter choose · Esc cancel')}`);
42
+ lines.push(query ? ` filter: ${query}${dim('▏')}` : dim(' filter: (type)'));
43
+ start = windowStart(cursor, start, rows, shown.length);
44
+ const slice = shown.slice(start, start + rows);
45
+ if (!slice.length)
46
+ lines.push(dim(' no match'));
47
+ const labelW = Math.min(28, Math.max(...shown.map(i => i.label.length), 8));
48
+ slice.forEach((item, k) => {
49
+ const i = start + k;
50
+ const aside = item.aside ?? '';
51
+ const detailW = Math.max(0, width - labelW - aside.length - 6);
52
+ const label = fit(item.label, labelW);
53
+ const detail = fit(item.detail ?? '', detailW);
54
+ lines.push(i === cursor ? `${bold('›')} ${inverse(`${label} ${detail} ${aside}`)}` : ` ${label} ${dim(detail)} ${aside}`);
55
+ });
56
+ const more = shown.length - rows;
57
+ lines.push(dim(more > 0 ? ` ${cursor + 1}/${shown.length}` : ' '));
58
+ if (drawn)
59
+ output.write(`${ESC}${drawn}A`);
60
+ output.write(`\r${ESC}0J${lines.join('\n')}\n`);
61
+ drawn = lines.length;
62
+ };
63
+ return new Promise(resolve => {
64
+ emitKeypressEvents(input);
65
+ const wasRaw = input.isRaw;
66
+ input.setRawMode(true);
67
+ input.resume();
68
+ output.write(`${ESC}?25l`);
69
+ const done = (value) => {
70
+ input.off('keypress', onKey);
71
+ input.setRawMode(wasRaw);
72
+ input.pause();
73
+ if (drawn)
74
+ output.write(`${ESC}${drawn}A\r${ESC}0J`);
75
+ output.write(`${ESC}?25h`);
76
+ resolve(value);
77
+ };
78
+ const refilter = () => {
79
+ shown = filterItems(items, query);
80
+ cursor = 0;
81
+ start = 0;
82
+ };
83
+ const onKey = (str, key = {}) => {
84
+ if ((key.ctrl && key.name === 'c') || key.name === 'escape')
85
+ return done(null);
86
+ if (key.name === 'return' || key.name === 'enter')
87
+ return done(shown[cursor]?.value ?? null);
88
+ if (key.name === 'up' || (key.ctrl && key.name === 'p'))
89
+ cursor = Math.max(0, cursor - 1);
90
+ else if (key.name === 'down' || (key.ctrl && key.name === 'n'))
91
+ cursor = Math.min(shown.length - 1, cursor + 1);
92
+ else if (key.name === 'pageup')
93
+ cursor = Math.max(0, cursor - rows);
94
+ else if (key.name === 'pagedown')
95
+ cursor = Math.min(shown.length - 1, cursor + rows);
96
+ else if (key.name === 'home')
97
+ cursor = 0;
98
+ else if (key.name === 'end')
99
+ cursor = Math.max(0, shown.length - 1);
100
+ else if (key.name === 'backspace') {
101
+ query = query.slice(0, -1);
102
+ refilter();
103
+ }
104
+ else if (str && !key.ctrl && !key.meta && str.length === 1 && str >= ' ') {
105
+ query += str;
106
+ refilter();
107
+ }
108
+ else
109
+ return;
110
+ draw();
111
+ };
112
+ input.on('keypress', onKey);
113
+ draw();
114
+ });
115
+ }
116
+ //# sourceMappingURL=picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/cli/picker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA6BnD,MAAM,GAAG,GAAG,OAAO,CAAC;AACpB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AAClD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AACtD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAI,KAAgB,EAAE,KAAa;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9H,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAa,EAAE,IAAY,EAAE,KAAa;IACpF,IAAI,MAAM,GAAG,KAAK;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,IAAI,CAAI,KAAgB,EAAE,OAAoB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhF,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,sDAAsD,CAAC,EAAE,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9E,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/H,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;QAE3B,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,EAAE;YAC/B,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,GAAG,CAAC,CAAC;YACX,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,GAAuB,EAAE,MAAW,EAAE,EAAE,EAAE;YACvD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;YAC7F,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;iBACrF,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;iBAC3G,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;iBAC/D,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;iBAChF,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,GAAG,CAAC,CAAC;iBACpC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBAC/D,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3B,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC3E,KAAK,IAAI,GAAG,CAAC;gBACb,QAAQ,EAAE,CAAC;YACb,CAAC;;gBAAM,OAAO;YACd,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/cli/ui.d.ts CHANGED
@@ -16,14 +16,33 @@ export declare const c: {
16
16
  magenta: (s: string) => string;
17
17
  cyan: (s: string) => string;
18
18
  };
19
+ /** How much of the engine's work is shown. */
20
+ export type Style = 'minimal' | 'normal' | 'verbose';
21
+ export declare const STYLES: Style[];
22
+ export declare const isStyle: (s: unknown) => s is Style;
19
23
  export interface Printer {
20
24
  (event: AgentEvent): void;
21
25
  /** Whether text has been streamed since the last newline. */
22
26
  midLine(): boolean;
27
+ style: Style;
23
28
  }
29
+ /** A tool call in a few words: its name and its main argument, not its JSON. */
30
+ export declare function describeCall(name: string, args: Record<string, unknown>): string;
31
+ /**
32
+ * Three styles:
33
+ * minimal the answers; approvals and failures still show (they need you or explain a gap)
34
+ * normal + one short line per tool call (the default)
35
+ * verbose + every result, every Jev checkpoint with its probability and level, level changes,
36
+ * nudges, what was said to the model, and each turn's steps and cost
37
+ * Jev works in every style; only verbose shows its scoring.
38
+ */
24
39
  export declare function printer(write: (s: string) => void, options: {
25
40
  stream: boolean;
26
- verbose: boolean;
41
+ style: Style;
27
42
  }): Printer;
28
- export declare function summary(r: AgentResult, total: number): string;
43
+ /**
44
+ * After a turn. minimal/normal: nothing when it simply finished; the status and why when it did not.
45
+ * verbose: status, steps, tool calls and cost every time.
46
+ */
47
+ export declare function summary(r: AgentResult, total: number, style: Style): string;
29
48
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI3D,eAAO,MAAM,CAAC;aADsB,MAAM;cAAN,MAAM;aAAN,MAAM;eAAN,MAAM;gBAAN,MAAM;cAAN,MAAM;iBAAN,MAAM;cAAN,MAAM;CAUzC,CAAC;AAOF,MAAM,WAAW,OAAO;IACtB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,IAAI,OAAO,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAuD3G;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI3D,eAAO,MAAM,CAAC;aADsB,MAAM;cAAN,MAAM;aAAN,MAAM;eAAN,MAAM;gBAAN,MAAM;cAAN,MAAM;iBAAN,MAAM;cAAN,MAAM;CAUzC,CAAC;AAOF,8CAA8C;AAC9C,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACrD,eAAO,MAAM,MAAM,EAAE,KAAK,EAAqC,CAAC;AAChE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAAoC,CAAC;AAE/E,MAAM,WAAW,OAAO;IACtB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAOhF;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAuEvG;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAM3E"}
package/dist/cli/ui.js CHANGED
@@ -14,18 +14,51 @@ const short = (s, n) => {
14
14
  const one = s.replace(/\s+/g, ' ').trim();
15
15
  return one.length > n ? `${one.slice(0, n)}…` : one;
16
16
  };
17
+ export const STYLES = ['minimal', 'normal', 'verbose'];
18
+ export const isStyle = (s) => STYLES.includes(s);
19
+ /** A tool call in a few words: its name and its main argument, not its JSON. */
20
+ export function describeCall(name, args) {
21
+ if (typeof args.action === 'string')
22
+ return `${name}.${args.action}`;
23
+ const key = ['pattern', 'command', 'path', 'query', 'url', 'name', 'goal', 'id'].find(k => typeof args[k] === 'string' && args[k]);
24
+ let what = key ? String(args[key]) : '';
25
+ if (name === 'search' && typeof args.path === 'string' && key === 'pattern')
26
+ what = `"${what}" in ${args.path}`;
27
+ else if (name === 'search' && key === 'pattern')
28
+ what = `"${what}"`;
29
+ return what ? `${name} ${short(what, 80)}` : name;
30
+ }
31
+ /**
32
+ * Three styles:
33
+ * minimal the answers; approvals and failures still show (they need you or explain a gap)
34
+ * normal + one short line per tool call (the default)
35
+ * verbose + every result, every Jev checkpoint with its probability and level, level changes,
36
+ * nudges, what was said to the model, and each turn's steps and cost
37
+ * Jev works in every style; only verbose shows its scoring.
38
+ */
17
39
  export function printer(write, options) {
18
40
  let mid = false;
41
+ let afterTools = false;
19
42
  const line = (s) => {
20
43
  if (mid)
21
44
  write('\n');
22
45
  mid = false;
23
46
  write(`${s}\n`);
24
47
  };
48
+ const activity = (s) => {
49
+ line(s);
50
+ afterTools = true;
51
+ };
25
52
  const print = ((e) => {
53
+ const v = print.style === 'verbose';
54
+ const calls = print.style !== 'minimal';
26
55
  switch (e.type) {
27
56
  case 'delta':
28
57
  if (options.stream) {
58
+ // A blank line between the tool activity and the words that follow it.
59
+ if (afterTools)
60
+ write(mid ? '\n\n' : '\n');
61
+ afterTools = false;
29
62
  write(e.text);
30
63
  mid = !e.text.endsWith('\n');
31
64
  }
@@ -35,49 +68,70 @@ export function printer(write, options) {
35
68
  line(e.text);
36
69
  return;
37
70
  case 'skills':
38
- if (e.names.length)
39
- line(c.cyan(`· skills picked by Jev: ${e.names.join(', ')}`));
71
+ if (calls && e.names.length)
72
+ activity(c.dim(` · using skill ${e.names.join(', ')}`));
40
73
  return;
41
74
  case 'opening':
42
- if (e.path !== 'task')
43
- line(c.cyan(`· Jev: ${e.path} (${e.confidence.toFixed(2)})`));
75
+ if (v && e.path !== 'task')
76
+ activity(c.cyan(`· Jev: ${e.path} (${e.confidence.toFixed(2)})`));
44
77
  return;
45
78
  case 'tool_call':
46
- line(c.blue(`→ ${e.name}`) + c.dim(` ${short(JSON.stringify(e.args), 140)}`));
79
+ // Whatever the style, words after a tool call start on their own line.
80
+ afterTools = true;
81
+ if (v)
82
+ activity(c.blue(`→ ${e.name}`) + c.dim(` ${short(JSON.stringify(e.args), 140)}`));
83
+ else if (calls)
84
+ activity(c.dim(` · ${describeCall(e.name, e.args)}`));
47
85
  return;
48
86
  case 'tool_result':
49
- line(` ${e.ok ? c.green('✓') : c.red('✗')} ${c.dim(short(e.result, options.verbose ? 600 : 120))}`);
87
+ if (v)
88
+ activity(` ${e.ok ? c.green('✓') : c.red('✗')} ${c.dim(short(e.result, 600))}`);
89
+ else if (!e.ok)
90
+ activity(` ${c.red('✗')} ${c.dim(short(e.result.replace(/^Error: /, ''), 110))}`);
50
91
  return;
51
92
  case 'checkpoint': {
93
+ if (!v)
94
+ return;
52
95
  const p = e.p === null ? '—' : e.p.toFixed(2);
53
- const what = e.choice ? `${e.choice} ` : '';
54
96
  const col = e.action === 'pass' || e.action === 'none' ? c.dim : c.magenta;
55
- line(col(`· Jev ${e.at} ${what}p=${p} → ${e.action} [${e.level}]`));
97
+ activity(col(`· Jev ${e.at} ${e.choice ? `${e.choice} ` : ''}p=${p} → ${e.action} [${e.level}]`));
56
98
  return;
57
99
  }
58
100
  case 'guidance':
59
- line(c.magenta(`· guidance ${e.from ?? 'start'} → ${e.level} (${e.reason})`));
101
+ if (v)
102
+ activity(c.magenta(`· guidance ${e.from ?? 'start'} → ${e.level} (${e.reason})`));
60
103
  return;
61
104
  case 'nudge':
62
- line(c.yellow(`↺ ${short(e.reason, 160)}`));
105
+ if (v)
106
+ activity(c.yellow(`↺ ${short(e.reason, 160)}`));
63
107
  return;
64
108
  case 'hook':
65
- if (e.verdict !== 'go')
66
- line(c.yellow(`· ${e.hook}: ${e.verdict}${e.reason ? ` (${e.reason})` : ''}`));
109
+ if (calls && e.verdict !== 'go')
110
+ activity(c.yellow(` · ${e.hook}: ${e.verdict}${e.reason ? ` (${e.reason})` : ''}`));
67
111
  return;
68
112
  case 'context':
69
- if (options.verbose && e.transient)
70
- line(c.dim(` [said to the model] ${short(String(e.message.content ?? ''), 200)}`));
113
+ // Only the unusual lines (steers, "answer now"), not the routine per-step reminder.
114
+ if (v && e.transient && !String(e.message.content ?? '').startsWith('Current request:'))
115
+ activity(c.dim(` [said to the model] ${short(String(e.message.content ?? ''), 200)}`));
71
116
  return;
72
117
  default:
73
118
  return;
74
119
  }
75
120
  });
76
121
  print.midLine = () => mid;
122
+ print.style = options.style;
77
123
  return print;
78
124
  }
79
- export function summary(r, total) {
80
- const tone = r.status === 'done' || r.status === 'greeted' || r.status === 'chatted' ? c.green : r.status === 'needs_person' || r.status === 'paused' ? c.yellow : c.red;
125
+ /**
126
+ * After a turn. minimal/normal: nothing when it simply finished; the status and why when it did not.
127
+ * verbose: status, steps, tool calls and cost every time.
128
+ */
129
+ export function summary(r, total, style) {
130
+ const verbose = style === 'verbose';
131
+ const fine = r.status === 'done' || r.status === 'greeted' || r.status === 'chatted';
132
+ if (!verbose)
133
+ return fine ? '' : c.yellow(`(${r.status.replace('_', ' ')}${r.reason ? `: ${r.reason}` : ''})`);
134
+ const tone = fine ? c.green : r.status === 'needs_person' || r.status === 'paused' ? c.yellow : c.red;
81
135
  return c.dim(`${tone(r.status)} · ${r.steps} steps · ${r.toolCalls} tool calls · $${r.cost.toFixed(5)} (session $${total.toFixed(5)})${r.reason ? ` · ${r.reason}` : ''}`);
82
136
  }
83
137
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -161,6 +161,8 @@ export interface ModelCard {
161
161
  completion: number;
162
162
  context: number;
163
163
  tools: boolean;
164
+ /** Supports reasoning (OpenRouter's `reasoning` parameter). */
165
+ reasoning: boolean;
164
166
  vision: boolean;
165
167
  }
166
168
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -193,6 +193,7 @@ export function modelCatalog(config = {}, signal) {
193
193
  completion: Number(m.pricing?.completion ?? 0),
194
194
  context: m.context_length ?? 0,
195
195
  tools: (m.supported_parameters ?? []).includes('tools'),
196
+ reasoning: (m.supported_parameters ?? []).includes('reasoning'),
196
197
  vision: (m.architecture?.input_modalities ?? []).includes('image'),
197
198
  }));
198
199
  })();
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/testing.js CHANGED
@@ -45,7 +45,7 @@ export function scriptedModel(script, options = {}) {
45
45
  };
46
46
  if (options.card) {
47
47
  const card = options.card;
48
- provider.card = async (model) => ({ id: model, name: model, prompt: 0, completion: 0, context: 128_000, tools: true, vision: false, ...card });
48
+ provider.card = async (model) => ({ id: model, name: model, prompt: 0, completion: 0, context: 128_000, tools: true, reasoning: true, vision: false, ...card });
49
49
  }
50
50
  if (options.decide !== false) {
51
51
  const answer = options.decide ?? firstOption;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ghostmind-dev/agent",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "The agent engine every app builds its own agent from: the tool loop and its guards, a model seam (OpenRouter + Jev), the Jev guide, budgets with a USD cap, go/pause/stop hooks, and an append-only event log. A library, plus the `agento` command line to try it.",
5
5
  "type": "module",
6
6
  "license": "MIT",