@ghostmind-dev/agent 0.2.3 → 0.2.5
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 +1 -1
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/main.js +35 -13
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/markdown.d.ts +54 -0
- package/dist/cli/markdown.d.ts.map +1 -0
- package/dist/cli/markdown.js +305 -0
- package/dist/cli/markdown.js.map +1 -0
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +1 -0
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/ui.d.ts +25 -4
- package/dist/cli/ui.d.ts.map +1 -1
- package/dist/cli/ui.js +88 -25
- package/dist/cli/ui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -152,7 +152,7 @@ agento models # the short list with live prices (--all
|
|
|
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
|
-
|
|
155
|
+
Answers render as markdown in the terminal, including box-drawn tables fitted to the width. 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
|
|
package/dist/cli/config.d.ts
CHANGED
|
@@ -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;
|
package/dist/cli/config.d.ts.map
CHANGED
|
@@ -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,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"}
|
|
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"}
|
package/dist/cli/config.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -28,7 +28,7 @@ import { connectAll } from "./mcp.js";
|
|
|
28
28
|
import { createSession } from "./session.js";
|
|
29
29
|
import { fileToolset } from "./files.js";
|
|
30
30
|
import { shellToolset } from "./shell.js";
|
|
31
|
-
import { c, printer, summary } from "./ui.js";
|
|
31
|
+
import { c, isStyle, printer, STYLES, summary } from "./ui.js";
|
|
32
32
|
const { values: flags, positionals } = parseArgs({
|
|
33
33
|
options: {
|
|
34
34
|
prompt: { type: 'string', short: 'p' },
|
|
@@ -38,6 +38,7 @@ const { values: flags, positionals } = parseArgs({
|
|
|
38
38
|
cwd: { type: 'string' },
|
|
39
39
|
yes: { type: 'boolean', short: 'y' },
|
|
40
40
|
verbose: { type: 'boolean', short: 'v' },
|
|
41
|
+
style: { type: 'string', short: 's' },
|
|
41
42
|
'no-mcp': { type: 'boolean' },
|
|
42
43
|
'no-skills': { type: 'boolean' },
|
|
43
44
|
'no-shell': { type: 'boolean' },
|
|
@@ -63,12 +64,15 @@ const HELP = `agento — the agent core in a terminal
|
|
|
63
64
|
--max-usd <n> USD cap per turn (default: $AGENT_MAX_USD)
|
|
64
65
|
--cwd <dir> working directory (default: here)
|
|
65
66
|
-y, --yes approve every change and command without asking
|
|
66
|
-
-
|
|
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
|
|
67
70
|
--no-mcp --no-skills --no-shell
|
|
68
71
|
|
|
69
72
|
In the chat: /model pick from the list (↑↓, type to filter; then save as default)
|
|
70
73
|
/model <id> switch for this session /default [id] save as the default
|
|
71
74
|
/models [filter] /guidance [level] /budget [usd] /cost /tools /mcp /skills
|
|
75
|
+
/style [minimal|normal|verbose] (saved as default)
|
|
72
76
|
/auto /log /clear /help /exit Ctrl+C stops a turn`;
|
|
73
77
|
if (flags.help) {
|
|
74
78
|
console.log(HELP);
|
|
@@ -223,7 +227,14 @@ if (!model) {
|
|
|
223
227
|
console.error('No model: run `agento model` once to choose a default, or pass --model <id> (or set AGENT_MODEL).');
|
|
224
228
|
process.exit(2);
|
|
225
229
|
}
|
|
226
|
-
const
|
|
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 });
|
|
227
238
|
// ── tools ──
|
|
228
239
|
const toolsets = [fileToolset(root), ...(flags['no-shell'] ? [] : [shellToolset(root)])];
|
|
229
240
|
let mcp = [];
|
|
@@ -238,8 +249,7 @@ const skills = flags['no-skills'] ? undefined : dirSkills(join(root, '.claude',
|
|
|
238
249
|
const ask = async (req) => {
|
|
239
250
|
if (!process.stdin.isTTY)
|
|
240
251
|
return 'no';
|
|
241
|
-
|
|
242
|
-
out('\n');
|
|
252
|
+
print.flush();
|
|
243
253
|
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();
|
|
244
254
|
return a.startsWith('a') ? 'always' : a.startsWith('y') ? 'yes' : 'no';
|
|
245
255
|
};
|
|
@@ -263,14 +273,14 @@ async function turn(text) {
|
|
|
263
273
|
running = new AbortController();
|
|
264
274
|
try {
|
|
265
275
|
const r = await session.send(text, running.signal);
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
276
|
+
print.flush();
|
|
277
|
+
const line = summary(r, session.total, print.style);
|
|
278
|
+
if (line)
|
|
279
|
+
out(`${line}\n`);
|
|
269
280
|
return r;
|
|
270
281
|
}
|
|
271
282
|
catch (error) {
|
|
272
|
-
|
|
273
|
-
out('\n');
|
|
283
|
+
print.flush();
|
|
274
284
|
out(`${c.red('error')} ${error instanceof Error ? error.message : String(error)}\n`);
|
|
275
285
|
return null;
|
|
276
286
|
}
|
|
@@ -286,9 +296,7 @@ if (oneShot) {
|
|
|
286
296
|
process.exit(r && ['done', 'greeted', 'chatted'].includes(r.status) ? 0 : 1);
|
|
287
297
|
}
|
|
288
298
|
// ── the REPL ──
|
|
289
|
-
out(`${c.bold('agento')} ${c.dim(`· ${labelOf(model)}${from === 'default' ? '
|
|
290
|
-
const tools = toolsets.flatMap(s => s.tools.map(t => t.name));
|
|
291
|
-
out(c.dim(`tools: ${tools.length} (${toolsets.map(s => `${s.name} ${s.tools.length}`).join(', ')}) · /help for commands\n`));
|
|
299
|
+
out(`${c.bold('agento')} ${c.dim(`· ${labelOf(model)}${from === 'default' ? '' : ` (${from})`} · ${root.replace(homedir(), '~')} · /help`)}\n`);
|
|
292
300
|
for (const m of mcp)
|
|
293
301
|
if (!m.ok)
|
|
294
302
|
out(c.yellow(`mcp ${m.name}: ${m.error}\n`));
|
|
@@ -365,6 +373,20 @@ async function command(line) {
|
|
|
365
373
|
session.autoApprove = !session.autoApprove;
|
|
366
374
|
out(`auto-approve: ${session.autoApprove ? c.yellow('on — every change and command runs without asking') : 'off'}\n`);
|
|
367
375
|
break;
|
|
376
|
+
case 'style':
|
|
377
|
+
case 'verbose': {
|
|
378
|
+
const next = cmd === 'verbose' ? (print.style === 'verbose' ? 'normal' : 'verbose') : arg;
|
|
379
|
+
if (next && !isStyle(next)) {
|
|
380
|
+
out(`styles: ${STYLES.join(', ')}\n`);
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
if (next) {
|
|
384
|
+
print.style = next;
|
|
385
|
+
writeConfig({ style: next });
|
|
386
|
+
}
|
|
387
|
+
out(`style: ${print.style}${next ? c.dim(' (saved as default)') : c.dim(` — ${STYLES.join(' · ')}`)}\n`);
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
368
390
|
case 'log':
|
|
369
391
|
out(`${session.logPath}\n`);
|
|
370
392
|
break;
|
package/dist/cli/main.js.map
CHANGED
|
@@ -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":";AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAA+C,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,IAAI,EAAa,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAsB,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAe,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAc,MAAM,SAAS,CAAC;AAE3E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAC/C,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACtC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;QACpC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;KACtC;IACD,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;kGAwBqF,CAAC;AAEnG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kDAAkD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1I,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,UAAU,CAAC,MAA0B,EAAE,GAAY,EAAE,KAA0B;IAC5F,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,iCAAiC,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,mBAAmB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/J,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvK,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC;AAClC,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IACrC,MAAM,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,GAAG,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAqB,EAAmB,EAAE;IAC/D,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACtB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAa,CAAC;IAClF,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACjD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;AAC3C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnD,qGAAqG;AACrG,IAAI,OAAO,GAA2B,IAAI,CAAC;AAC3C,IAAI,UAAU,GAAqB,IAAI,CAAC;AACxC,SAAS,MAAM;IACb,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5G,6DAA6D;IAC7D,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACnB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,SAAS,aAAa;IACpB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,KAAK,GAAG,aAAa,CAAC;AAE5B;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,OAA2B;IAClD,MAAM,KAAK,GAAG,MAAM,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,aAAa,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAmB;QAC5B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5J,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,sDAAsD,EAAE,KAAK,EAAE,KAAK,EAAE;KACxG,CAAC;IACF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,IAAI,CACT,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACrI,EAAE,KAAK,EAAE,sCAAsC,UAAU,CAAC,MAAM,mBAAmB,EAAE,CACtF,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IACzD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtJ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,mDAAmD;AACnD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IACpB,IAAI,EAAE,GAAkB,MAAM,IAAI,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,EAAE,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,EAAE,EAAE,CAAC;QACP,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3I,CAAC;IACD,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;AACvF,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;IACrG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,GAAG,MAAM,CAAC;QACf,IAAI,GAAG,UAAU,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;AACH,CAAC;AACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,qGAAqG,CAAC,CAAC;IACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,CAAC,mGAAmG,CAAC,CAAC;IACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACzD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC;AACjC,MAAM,KAAK,GAAW,QAA8B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpD,cAAc;AACd,MAAM,QAAQ,GAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,IAAI,GAAG,GAAoB,EAAE,CAAC;AAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,GAAG;QAAE,IAAI,CAAC,CAAC,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AACD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjI,kBAAkB;AAClB,MAAM,GAAG,GAAG,KAAK,EAAE,GAAsC,EAAmB,EAAE;IAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,oCAAoC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjL,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,MAAM,OAAO,GAAG,aAAa,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;IACjE,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC;IACpE,GAAG;IACH,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,QAAQ,CAAC;IACnD,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;CACzB,CAAC,CAAC;AAEH,iBAAiB;AACjB,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,EAAE,CAAC;IACZ,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,GAAG;QAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,iBAAiB;AACjB,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAChJ,KAAK,MAAM,CAAC,IAAI,GAAG;IAAE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAE7E,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;gBACpB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,EAAE;oBAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,GAAG,CAAC,UAAU,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,MAAM;QACR,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,EAAE,CAAC;gBACP,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1F,MAAM;QACR,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;YAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI;gBAAE,GAAG,CAAC,2CAA2C,CAAC,CAAC;iBACnE,IAAI,GAAG;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAE,CAAC;YACpC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzD,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,MAAM;YACT,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC;YAC7E,MAAM;QACR,KAAK,OAAO;YACV,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxH,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,KAAK;YACR,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,GAAG,CAAC,gEAAgE,CAAC,CAAC;YACvF,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5G,MAAM;QACR,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACvF,MAAM;QACR,CAAC;QACD,KAAK,MAAM;YACT,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3C,GAAG,CAAC,iBAAiB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACtH,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1F,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,GAAG,IAAa,CAAC;gBAC5B,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACzG,MAAM;QACR,CAAC;QACD,KAAK,KAAK;YACR,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC1B,MAAM;QACR;YACE,GAAG,CAAC,oBAAoB,GAAG,YAAY,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,CAAC;IACR,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM;IACR,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,SAAS;IACpB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM;QAClC,SAAS;IACX,CAAC;IACD,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AACD,aAAa,EAAE,CAAC;AAChB,KAAK,MAAM,CAAC,IAAI,GAAG;IAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;AACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown for the terminal, rendered as it streams — tables, headings, emphasis, code, lists.
|
|
3
|
+
*
|
|
4
|
+
* Models answer in markdown; printed raw, a table is a wall of pipes. This renders it the way
|
|
5
|
+
* opencode and Claude Code do, with no dependency:
|
|
6
|
+
* - text streams LINE by line (a line is shown once it is complete, so its formatting is known);
|
|
7
|
+
* - a table is held until its last row, then drawn with box characters, columns aligned as the
|
|
8
|
+
* separator row says, fitted to the terminal width (widest columns shrink, cells wrap inside);
|
|
9
|
+
* - a fenced code block is shown with a gutter and no inline formatting.
|
|
10
|
+
* Without colour (NO_COLOR, piped output) the layout stays and only the ANSI styling goes.
|
|
11
|
+
*/
|
|
12
|
+
export interface Styles {
|
|
13
|
+
bold(s: string): string;
|
|
14
|
+
italic(s: string): string;
|
|
15
|
+
dim(s: string): string;
|
|
16
|
+
underline(s: string): string;
|
|
17
|
+
strike(s: string): string;
|
|
18
|
+
code(s: string): string;
|
|
19
|
+
heading(s: string, level: number): string;
|
|
20
|
+
}
|
|
21
|
+
export declare function styles(color: boolean): Styles;
|
|
22
|
+
export declare const stripAnsi: (s: string) => string;
|
|
23
|
+
export declare function visibleWidth(s: string): number;
|
|
24
|
+
/**
|
|
25
|
+
* Greedy word wrap on visible width, carrying ANSI codes through: a style open at a break is closed
|
|
26
|
+
* at the end of the line and reopened on the next. A word longer than the width is cut.
|
|
27
|
+
*/
|
|
28
|
+
export declare function wrapAnsi(s: string, width: number): string[];
|
|
29
|
+
/** **bold**, *italic* / _italic_, `code`, ~~strike~~, [text](url), <https://…>. Code spans are literal. */
|
|
30
|
+
export declare function inline(text: string, st: Styles): string;
|
|
31
|
+
/** Cells of a table row: split on unescaped pipes outside code spans. */
|
|
32
|
+
export declare function cells(row: string): string[];
|
|
33
|
+
/** A markdown table as box-drawn lines fitted to `width`, or null if these lines are not a table. */
|
|
34
|
+
export declare function renderTable(lines: string[], width: number, st: Styles): string[] | null;
|
|
35
|
+
/** One line outside tables and code blocks. */
|
|
36
|
+
export declare function renderLine(line: string, width: number, st: Styles): string;
|
|
37
|
+
export interface MarkdownStream {
|
|
38
|
+
/** Text as it arrives, in any pieces. */
|
|
39
|
+
push(text: string): void;
|
|
40
|
+
/** The end of a message: render what is held (a last line without newline, an open table). */
|
|
41
|
+
flush(): void;
|
|
42
|
+
/** Whether anything is held back. */
|
|
43
|
+
pending(): boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function markdownStream(write: (s: string) => void, options: {
|
|
46
|
+
color: boolean;
|
|
47
|
+
width: () => number;
|
|
48
|
+
}): MarkdownStream;
|
|
49
|
+
/** A whole markdown text, rendered (for non-streamed messages and tests). */
|
|
50
|
+
export declare function renderMarkdown(text: string, options: {
|
|
51
|
+
color: boolean;
|
|
52
|
+
width: number;
|
|
53
|
+
}): string;
|
|
54
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAID,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe7C;AAKD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,WAAwB,CAAC;AAoB5D,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgD3D;AAaD,2GAA2G;AAC3G,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQvD;AAiBD,yEAAyE;AACzE,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB3C;AAWD,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CA8BvF;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAa1E;AAID,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8FAA8F;IAC9F,KAAK,IAAI,IAAI,CAAC;IACd,qCAAqC;IACrC,OAAO,IAAI,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,MAAM,CAAA;CAAE,GAAG,cAAc,CAyD3H;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAM/F"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown for the terminal, rendered as it streams — tables, headings, emphasis, code, lists.
|
|
3
|
+
*
|
|
4
|
+
* Models answer in markdown; printed raw, a table is a wall of pipes. This renders it the way
|
|
5
|
+
* opencode and Claude Code do, with no dependency:
|
|
6
|
+
* - text streams LINE by line (a line is shown once it is complete, so its formatting is known);
|
|
7
|
+
* - a table is held until its last row, then drawn with box characters, columns aligned as the
|
|
8
|
+
* separator row says, fitted to the terminal width (widest columns shrink, cells wrap inside);
|
|
9
|
+
* - a fenced code block is shown with a gutter and no inline formatting.
|
|
10
|
+
* Without colour (NO_COLOR, piped output) the layout stays and only the ANSI styling goes.
|
|
11
|
+
*/
|
|
12
|
+
const sgr = (on, off) => (s) => `\x1b[${on}m${s}\x1b[${off}m`;
|
|
13
|
+
export function styles(color) {
|
|
14
|
+
if (!color) {
|
|
15
|
+
const id = (s) => s;
|
|
16
|
+
return { bold: id, italic: id, dim: id, underline: id, strike: id, code: id, heading: s => s };
|
|
17
|
+
}
|
|
18
|
+
const bold = sgr('1', '22');
|
|
19
|
+
return {
|
|
20
|
+
bold,
|
|
21
|
+
italic: sgr('3', '23'),
|
|
22
|
+
dim: sgr('2', '22'),
|
|
23
|
+
underline: sgr('4', '24'),
|
|
24
|
+
strike: sgr('9', '29'),
|
|
25
|
+
code: sgr('36', '39'),
|
|
26
|
+
heading: (s, level) => (level <= 2 ? bold(sgr('36', '39')(s)) : bold(s)),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// ── width ───────────────────────────────────────────────────────────────────
|
|
30
|
+
const ANSI = /\x1b\[[0-9;]*m/g;
|
|
31
|
+
export const stripAnsi = (s) => s.replace(ANSI, '');
|
|
32
|
+
/** Columns a code point takes: 2 for wide (CJK, emoji), 0 for combining marks, else 1. */
|
|
33
|
+
function cpWidth(cp) {
|
|
34
|
+
if (cp === 0x200d || (cp >= 0x300 && cp <= 0x36f) || (cp >= 0xfe00 && cp <= 0xfe0f))
|
|
35
|
+
return 0;
|
|
36
|
+
if ((cp >= 0x1100 && cp <= 0x115f) ||
|
|
37
|
+
(cp >= 0x2e80 && cp <= 0xa4cf) ||
|
|
38
|
+
(cp >= 0xac00 && cp <= 0xd7a3) ||
|
|
39
|
+
(cp >= 0xf900 && cp <= 0xfaff) ||
|
|
40
|
+
(cp >= 0xfe30 && cp <= 0xfe4f) ||
|
|
41
|
+
(cp >= 0xff00 && cp <= 0xff60) ||
|
|
42
|
+
(cp >= 0xffe0 && cp <= 0xffe6) ||
|
|
43
|
+
(cp >= 0x1f300 && cp <= 0x1faff) ||
|
|
44
|
+
(cp >= 0x20000 && cp <= 0x3fffd))
|
|
45
|
+
return 2;
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
export function visibleWidth(s) {
|
|
49
|
+
let w = 0;
|
|
50
|
+
for (const ch of stripAnsi(s))
|
|
51
|
+
w += cpWidth(ch.codePointAt(0));
|
|
52
|
+
return w;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Greedy word wrap on visible width, carrying ANSI codes through: a style open at a break is closed
|
|
56
|
+
* at the end of the line and reopened on the next. A word longer than the width is cut.
|
|
57
|
+
*/
|
|
58
|
+
export function wrapAnsi(s, width) {
|
|
59
|
+
if (width <= 0)
|
|
60
|
+
return [s];
|
|
61
|
+
const lines = [];
|
|
62
|
+
let line = '';
|
|
63
|
+
let lineW = 0;
|
|
64
|
+
let open = [];
|
|
65
|
+
let lastSpace = -1; // index in `line` just after the last space
|
|
66
|
+
let wAtSpace = 0;
|
|
67
|
+
const tokens = s.split(/(\x1b\[[0-9;]*m)/).filter(Boolean);
|
|
68
|
+
const reset = () => (open.length ? '\x1b[0m' : '');
|
|
69
|
+
const reopen = () => open.join('');
|
|
70
|
+
const breakAt = (cut, cutW) => {
|
|
71
|
+
const head = line.slice(0, cut).replace(/ +$/, '');
|
|
72
|
+
const tail = line.slice(cut);
|
|
73
|
+
lines.push(head + reset());
|
|
74
|
+
line = reopen() + tail;
|
|
75
|
+
lineW = lineW - cutW;
|
|
76
|
+
lastSpace = -1;
|
|
77
|
+
};
|
|
78
|
+
for (const t of tokens) {
|
|
79
|
+
if (t.startsWith('\x1b[')) {
|
|
80
|
+
line += t;
|
|
81
|
+
const code = t.slice(2, -1);
|
|
82
|
+
if (code === '0' || code === '')
|
|
83
|
+
open = [];
|
|
84
|
+
else if (/^(22|23|24|29|39)$/.test(code))
|
|
85
|
+
open = open.filter(o => !closes(code, o));
|
|
86
|
+
else
|
|
87
|
+
open.push(t);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
for (const ch of t) {
|
|
91
|
+
const w = cpWidth(ch.codePointAt(0));
|
|
92
|
+
if (lineW + w > width) {
|
|
93
|
+
if (ch === ' ') {
|
|
94
|
+
breakAt(line.length, lineW);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (lastSpace > 0)
|
|
98
|
+
breakAt(lastSpace, wAtSpace);
|
|
99
|
+
else
|
|
100
|
+
breakAt(line.length, lineW);
|
|
101
|
+
}
|
|
102
|
+
line += ch;
|
|
103
|
+
lineW += w;
|
|
104
|
+
if (ch === ' ') {
|
|
105
|
+
lastSpace = line.length;
|
|
106
|
+
wAtSpace = lineW;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
lines.push(line);
|
|
111
|
+
return lines;
|
|
112
|
+
}
|
|
113
|
+
function closes(code, open) {
|
|
114
|
+
const o = open.slice(2, -1);
|
|
115
|
+
if (code === '22')
|
|
116
|
+
return o === '1' || o === '2';
|
|
117
|
+
if (code === '23')
|
|
118
|
+
return o === '3';
|
|
119
|
+
if (code === '24')
|
|
120
|
+
return o === '4';
|
|
121
|
+
if (code === '29')
|
|
122
|
+
return o === '9';
|
|
123
|
+
return /^3\d$/.test(o); // 39: default foreground
|
|
124
|
+
}
|
|
125
|
+
// ── inline ──────────────────────────────────────────────────────────────────
|
|
126
|
+
/** **bold**, *italic* / _italic_, `code`, ~~strike~~, [text](url), <https://…>. Code spans are literal. */
|
|
127
|
+
export function inline(text, st) {
|
|
128
|
+
const parts = text.split(/(`+)([\s\S]*?)\1/);
|
|
129
|
+
let out = '';
|
|
130
|
+
for (let i = 0; i < parts.length; i++) {
|
|
131
|
+
if (i % 3 === 0)
|
|
132
|
+
out += emphasis(parts[i] ?? '', st);
|
|
133
|
+
else if (i % 3 === 2)
|
|
134
|
+
out += st.code(parts[i] ?? '');
|
|
135
|
+
}
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
138
|
+
function emphasis(s, st) {
|
|
139
|
+
return s
|
|
140
|
+
.replace(/\[([^\]]+)\]\((\S+?)(?:\s+"[^"]*")?\)/g, (_, t, url) => `${st.underline(t)}${url === t ? '' : st.dim(` (${url})`)}`)
|
|
141
|
+
.replace(/<(https?:\/\/[^>\s]+)>/g, (_, url) => st.underline(url))
|
|
142
|
+
.replace(/\*\*(?=\S)([\s\S]*?\S)\*\*|__(?=\S)([\s\S]*?\S)__/g, (_, a, b) => st.bold(a ?? b ?? ''))
|
|
143
|
+
.replace(/~~(?=\S)([\s\S]*?\S)~~/g, (_, a) => st.strike(a))
|
|
144
|
+
.replace(/(^|[^\w*])\*(?=\S)([^*]*?\S)\*(?!\w)/g, (_, pre, a) => pre + st.italic(a))
|
|
145
|
+
.replace(/(^|[^\w_])_(?=\S)([^_]*?\S)_(?!\w)/g, (_, pre, a) => pre + st.italic(a));
|
|
146
|
+
}
|
|
147
|
+
// ── blocks ──────────────────────────────────────────────────────────────────
|
|
148
|
+
const TABLE_ROW = /^\s*\|.*\|\s*$|^\s*[^|`]+(\s*\|\s*[^|`]*)+\|?\s*$/;
|
|
149
|
+
const SEPARATOR = /^\s*\|?\s*:?-{1,}:?\s*(\|\s*:?-{1,}:?\s*)*\|?\s*$/;
|
|
150
|
+
/** Cells of a table row: split on unescaped pipes outside code spans. */
|
|
151
|
+
export function cells(row) {
|
|
152
|
+
const out = [];
|
|
153
|
+
let cur = '';
|
|
154
|
+
let inCode = false;
|
|
155
|
+
const s = row.trim().replace(/^\|/, '').replace(/\|$/, '');
|
|
156
|
+
for (let i = 0; i < s.length; i++) {
|
|
157
|
+
const ch = s[i];
|
|
158
|
+
if (ch === '\\' && s[i + 1] === '|') {
|
|
159
|
+
cur += '|';
|
|
160
|
+
i++;
|
|
161
|
+
}
|
|
162
|
+
else if (ch === '`') {
|
|
163
|
+
inCode = !inCode;
|
|
164
|
+
cur += ch;
|
|
165
|
+
}
|
|
166
|
+
else if (ch === '|' && !inCode) {
|
|
167
|
+
out.push(cur.trim());
|
|
168
|
+
cur = '';
|
|
169
|
+
}
|
|
170
|
+
else
|
|
171
|
+
cur += ch;
|
|
172
|
+
}
|
|
173
|
+
out.push(cur.trim());
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
176
|
+
const pad = (s, w, align) => {
|
|
177
|
+
const gap = Math.max(0, w - visibleWidth(s));
|
|
178
|
+
if (align === 'right')
|
|
179
|
+
return ' '.repeat(gap) + s;
|
|
180
|
+
if (align === 'center')
|
|
181
|
+
return ' '.repeat(Math.floor(gap / 2)) + s + ' '.repeat(Math.ceil(gap / 2));
|
|
182
|
+
return s + ' '.repeat(gap);
|
|
183
|
+
};
|
|
184
|
+
/** A markdown table as box-drawn lines fitted to `width`, or null if these lines are not a table. */
|
|
185
|
+
export function renderTable(lines, width, st) {
|
|
186
|
+
if (lines.length < 2 || !SEPARATOR.test(lines[1]) || !lines[1].includes('-'))
|
|
187
|
+
return null;
|
|
188
|
+
const head = cells(lines[0]);
|
|
189
|
+
const aligns = cells(lines[1]).map(c => (c.startsWith(':') && c.endsWith(':') ? 'center' : c.endsWith(':') ? 'right' : 'left'));
|
|
190
|
+
const body = lines.slice(2).map(cells);
|
|
191
|
+
const n = Math.max(head.length, ...body.map(r => r.length));
|
|
192
|
+
const rows = [head, ...body].map(r => Array.from({ length: n }, (_, i) => inline(r[i] ?? '', st)));
|
|
193
|
+
rows[0] = rows[0].map(c => st.bold(c));
|
|
194
|
+
// Natural widths, then shrink the widest column until the table fits (│ c │ c │ = 3n+1 extra).
|
|
195
|
+
const widths = Array.from({ length: n }, (_, i) => Math.max(1, ...rows.map(r => visibleWidth(r[i]))));
|
|
196
|
+
const budget = Math.max(n * 3, width - (3 * n + 1));
|
|
197
|
+
while (widths.reduce((a, b) => a + b, 0) > budget) {
|
|
198
|
+
const i = widths.indexOf(Math.max(...widths));
|
|
199
|
+
if (widths[i] <= 3)
|
|
200
|
+
break;
|
|
201
|
+
widths[i]--;
|
|
202
|
+
}
|
|
203
|
+
const rule = (l, m, r) => st.dim(l + widths.map(w => '─'.repeat(w + 2)).join(m) + r);
|
|
204
|
+
const out = [rule('┌', '┬', '┐')];
|
|
205
|
+
rows.forEach((row, k) => {
|
|
206
|
+
const wrapped = row.map((cell, i) => wrapAnsi(cell, widths[i]));
|
|
207
|
+
const height = Math.max(...wrapped.map(w => w.length));
|
|
208
|
+
for (let h = 0; h < height; h++) {
|
|
209
|
+
out.push(st.dim('│') + wrapped.map((w, i) => ` ${pad(w[h] ?? '', widths[i], k === 0 ? 'left' : (aligns[i] ?? 'left'))} `).join(st.dim('│')) + st.dim('│'));
|
|
210
|
+
}
|
|
211
|
+
if (k === 0)
|
|
212
|
+
out.push(rule('├', '┼', '┤'));
|
|
213
|
+
});
|
|
214
|
+
out.push(rule('└', '┴', '┘'));
|
|
215
|
+
return out;
|
|
216
|
+
}
|
|
217
|
+
/** One line outside tables and code blocks. */
|
|
218
|
+
export function renderLine(line, width, st) {
|
|
219
|
+
const h = /^(#{1,6})\s+(.*?)\s*#*\s*$/.exec(line);
|
|
220
|
+
if (h)
|
|
221
|
+
return st.heading(inline(h[2], st), h[1].length);
|
|
222
|
+
if (/^\s*([-*_])(\s*\1){2,}\s*$/.test(line))
|
|
223
|
+
return st.dim('─'.repeat(Math.min(width, 80)));
|
|
224
|
+
const quote = /^(\s*)>\s?(.*)$/.exec(line);
|
|
225
|
+
if (quote)
|
|
226
|
+
return `${quote[1]}${st.dim('│')} ${st.italic(inline(quote[2], st))}`;
|
|
227
|
+
const task = /^(\s*)[-*+]\s+\[([ xX])\]\s+(.*)$/.exec(line);
|
|
228
|
+
if (task)
|
|
229
|
+
return `${task[1]}${task[2] === ' ' ? '☐' : st.dim('☑')} ${inline(task[3], st)}`;
|
|
230
|
+
const bullet = /^(\s*)[-*+]\s+(.*)$/.exec(line);
|
|
231
|
+
if (bullet)
|
|
232
|
+
return `${bullet[1]}${st.dim('•')} ${inline(bullet[2], st)}`;
|
|
233
|
+
const num = /^(\s*)(\d+)[.)]\s+(.*)$/.exec(line);
|
|
234
|
+
if (num)
|
|
235
|
+
return `${num[1]}${st.dim(`${num[2]}.`)} ${inline(num[3], st)}`;
|
|
236
|
+
return inline(line, st);
|
|
237
|
+
}
|
|
238
|
+
export function markdownStream(write, options) {
|
|
239
|
+
const st = styles(options.color);
|
|
240
|
+
let partial = '';
|
|
241
|
+
let table = [];
|
|
242
|
+
let fence = null;
|
|
243
|
+
const emit = (s) => write(`${s}\n`);
|
|
244
|
+
const flushTable = () => {
|
|
245
|
+
if (!table.length)
|
|
246
|
+
return;
|
|
247
|
+
const drawn = renderTable(table, options.width(), st);
|
|
248
|
+
for (const l of drawn ?? table.map(t => renderLine(t, options.width(), st)))
|
|
249
|
+
emit(l);
|
|
250
|
+
table = [];
|
|
251
|
+
};
|
|
252
|
+
const handle = (line) => {
|
|
253
|
+
if (fence) {
|
|
254
|
+
if (line.trim().startsWith(fence.marker)) {
|
|
255
|
+
fence = null;
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
emit(`${st.dim('│')} ${st.code(line)}`);
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
const open = /^\s*(`{3,}|~{3,})\s*(\S*)/.exec(line);
|
|
262
|
+
if (open) {
|
|
263
|
+
flushTable();
|
|
264
|
+
fence = { marker: open[1] };
|
|
265
|
+
if (open[2])
|
|
266
|
+
emit(st.dim(`╭─ ${open[2]}`));
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
// A table: rows start with a pipe; hold them until the table ends.
|
|
270
|
+
if (/^\s*\|/.test(line) || (table.length && TABLE_ROW.test(line))) {
|
|
271
|
+
table.push(line);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
flushTable();
|
|
275
|
+
emit(renderLine(line, options.width(), st));
|
|
276
|
+
};
|
|
277
|
+
return {
|
|
278
|
+
push(text) {
|
|
279
|
+
partial += text;
|
|
280
|
+
let i;
|
|
281
|
+
while ((i = partial.indexOf('\n')) >= 0) {
|
|
282
|
+
handle(partial.slice(0, i).replace(/\r$/, ''));
|
|
283
|
+
partial = partial.slice(i + 1);
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
flush() {
|
|
287
|
+
if (partial) {
|
|
288
|
+
handle(partial);
|
|
289
|
+
partial = '';
|
|
290
|
+
}
|
|
291
|
+
flushTable();
|
|
292
|
+
fence = null;
|
|
293
|
+
},
|
|
294
|
+
pending: () => partial.length > 0 || table.length > 0,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/** A whole markdown text, rendered (for non-streamed messages and tests). */
|
|
298
|
+
export function renderMarkdown(text, options) {
|
|
299
|
+
let out = '';
|
|
300
|
+
const m = markdownStream(s => (out += s), { color: options.color, width: () => options.width });
|
|
301
|
+
m.push(text);
|
|
302
|
+
m.flush();
|
|
303
|
+
return out;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AAEtF,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;QACnB,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE5D,0FAA0F;AAC1F,SAAS,OAAO,CAAC,EAAU;IACzB,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9F,IACE,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC;QAC9B,CAAC,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC;QAChC,CAAC,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,CAAC;QAEhC,OAAO,CAAC,CAAC;IACX,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,KAAa;IAC/C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,4CAA4C;IAChE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3B,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;QACvB,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QACrB,SAAS,GAAG,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE;gBAAE,IAAI,GAAG,EAAE,CAAC;iBACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;gBAC/E,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;YACtC,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,CAAC;oBAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;;oBAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,IAAY;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;IACjD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC;IACpC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC;IACpC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;AACnD,CAAC;AAED,+EAA+E;AAE/E,2GAA2G;AAC3G,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,EAAU;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,EAAU;IACrC,OAAO,CAAC;SACL,OAAO,CAAC,wCAAwC,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;SAC7I,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACzE,OAAO,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACnH,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClE,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACnG,OAAO,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,+EAA+E;AAE/E,MAAM,SAAS,GAAG,mDAAmD,CAAC;AACtE,MAAM,SAAS,GAAG,mDAAmD,CAAC;AAEtE,yEAAyE;AACzE,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,GAAG,IAAI,GAAG,CAAC;YACX,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,GAAG,IAAI,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACrB,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;;YAAM,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAID,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,KAAY,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,qGAAqG;AACrG,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,KAAa,EAAE,EAAU;IACpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5F,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1I,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,+FAA+F;IAC/F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC;YAAE,MAAM;QAC3B,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7G,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9J,CAAC;QACD,IAAI,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa,EAAE,EAAU;IAChE,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAClF,MAAM,IAAI,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,MAAM;QAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,GAAG;QAAE,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1E,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,KAA0B,EAAE,OAAgD;IACzG,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAA8B,IAAI,CAAC;IAE5C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACrF,KAAK,GAAG,EAAE,CAAC;IACb,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,mEAAmE;QACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,CAAC,IAAI;YACP,OAAO,IAAI,IAAI,CAAC;YAChB,IAAI,CAAC,CAAC;YACN,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC/C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,UAAU,EAAE,CAAC;YACb,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAA0C;IACrF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc;iBAcnB,MAAM,WAAW,WAAW,KAAG,OAAO,CAAC,WAAW,CAAC;;;WA6C7D,MAAM,GAAG,SAAS;cAMhB,QAAQ;YAMV,MAAM;iBAMD,OAAO;;;;;EAc7B;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
package/dist/cli/session.js
CHANGED
|
@@ -13,6 +13,7 @@ const SYSTEM_EXTRA = (root) => [
|
|
|
13
13
|
'Look before you answer: list, search and read files instead of guessing what they contain. Quote paths and line numbers you actually read.',
|
|
14
14
|
'To change a file, read it first, then use edit_file with an exact passage (or write_file for a new file). Every change and every shell command waits for the person\'s approval.',
|
|
15
15
|
'Keep answers short and concrete. Say what you changed, and what you could not do.',
|
|
16
|
+
'Your answer is shown as markdown in a terminal: use a table when you list items with several fields, `code` for paths and commands, and short lists; no HTML.',
|
|
16
17
|
];
|
|
17
18
|
export function createSession(o) {
|
|
18
19
|
let history = [];
|
package/dist/cli/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,QAAQ,GAST,MAAM,aAAa,CAAC;AAsBrB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC;IACrC,oEAAoE,IAAI,6BAA6B;IACrG,4IAA4I;IAC5I,kLAAkL;IAClL,mFAAmF;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/ui.d.ts
CHANGED
|
@@ -16,14 +16,35 @@ 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
|
-
/**
|
|
22
|
-
|
|
25
|
+
/** Render whatever text is held back (before a prompt, or at the end of a turn). */
|
|
26
|
+
flush(): void;
|
|
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
|
-
|
|
41
|
+
style: Style;
|
|
42
|
+
color?: boolean;
|
|
43
|
+
width?: () => number;
|
|
27
44
|
}): Printer;
|
|
28
|
-
|
|
45
|
+
/**
|
|
46
|
+
* After a turn. minimal/normal: nothing when it simply finished; the status and why when it did not.
|
|
47
|
+
* verbose: status, steps, tool calls and cost every time.
|
|
48
|
+
*/
|
|
49
|
+
export declare function summary(r: AgentResult, total: number, style: Style): string;
|
|
29
50
|
//# sourceMappingURL=ui.d.ts.map
|
package/dist/cli/ui.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAK3D,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,oFAAoF;IACpF,KAAK,IAAI,IAAI,CAAC;IACd,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,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GAAG,OAAO,CAgF9I;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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { markdownStream, renderMarkdown } from "./markdown.js";
|
|
1
2
|
const tty = process.stdout.isTTY && !process.env.NO_COLOR;
|
|
2
3
|
const paint = (code) => (s) => (tty ? `\x1b[${code}m${s}\x1b[0m` : s);
|
|
3
4
|
export const c = {
|
|
@@ -14,70 +15,132 @@ const short = (s, n) => {
|
|
|
14
15
|
const one = s.replace(/\s+/g, ' ').trim();
|
|
15
16
|
return one.length > n ? `${one.slice(0, n)}…` : one;
|
|
16
17
|
};
|
|
18
|
+
export const STYLES = ['minimal', 'normal', 'verbose'];
|
|
19
|
+
export const isStyle = (s) => STYLES.includes(s);
|
|
20
|
+
/** A tool call in a few words: its name and its main argument, not its JSON. */
|
|
21
|
+
export function describeCall(name, args) {
|
|
22
|
+
if (typeof args.action === 'string')
|
|
23
|
+
return `${name}.${args.action}`;
|
|
24
|
+
const key = ['pattern', 'command', 'path', 'query', 'url', 'name', 'goal', 'id'].find(k => typeof args[k] === 'string' && args[k]);
|
|
25
|
+
let what = key ? String(args[key]) : '';
|
|
26
|
+
if (name === 'search' && typeof args.path === 'string' && key === 'pattern')
|
|
27
|
+
what = `"${what}" in ${args.path}`;
|
|
28
|
+
else if (name === 'search' && key === 'pattern')
|
|
29
|
+
what = `"${what}"`;
|
|
30
|
+
return what ? `${name} ${short(what, 80)}` : name;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Three styles:
|
|
34
|
+
* minimal the answers; approvals and failures still show (they need you or explain a gap)
|
|
35
|
+
* normal + one short line per tool call (the default)
|
|
36
|
+
* verbose + every result, every Jev checkpoint with its probability and level, level changes,
|
|
37
|
+
* nudges, what was said to the model, and each turn's steps and cost
|
|
38
|
+
* Jev works in every style; only verbose shows its scoring.
|
|
39
|
+
*/
|
|
17
40
|
export function printer(write, options) {
|
|
18
|
-
|
|
41
|
+
const color = options.color ?? tty;
|
|
42
|
+
const width = options.width ?? (() => Math.max(40, (process.stdout.columns ?? 100) - 1));
|
|
43
|
+
// The answer is markdown: rendered line by line as it streams (tables once complete).
|
|
44
|
+
const md = markdownStream(write, { color, width });
|
|
45
|
+
let afterTools = false;
|
|
19
46
|
const line = (s) => {
|
|
20
|
-
|
|
21
|
-
write('\n');
|
|
22
|
-
mid = false;
|
|
47
|
+
md.flush();
|
|
23
48
|
write(`${s}\n`);
|
|
24
49
|
};
|
|
50
|
+
const activity = (s) => {
|
|
51
|
+
line(s);
|
|
52
|
+
afterTools = true;
|
|
53
|
+
};
|
|
25
54
|
const print = ((e) => {
|
|
55
|
+
const v = print.style === 'verbose';
|
|
56
|
+
const calls = print.style !== 'minimal';
|
|
26
57
|
switch (e.type) {
|
|
27
58
|
case 'delta':
|
|
28
59
|
if (options.stream) {
|
|
29
|
-
|
|
30
|
-
|
|
60
|
+
// A blank line between the tool activity and the words that follow it.
|
|
61
|
+
if (afterTools) {
|
|
62
|
+
md.flush();
|
|
63
|
+
write('\n');
|
|
64
|
+
}
|
|
65
|
+
afterTools = false;
|
|
66
|
+
md.push(e.text);
|
|
31
67
|
}
|
|
32
68
|
return;
|
|
33
69
|
case 'message':
|
|
34
|
-
|
|
35
|
-
|
|
70
|
+
// The model's words are complete: render what the stream still holds (or all of it).
|
|
71
|
+
if (options.stream)
|
|
72
|
+
md.flush();
|
|
73
|
+
else
|
|
74
|
+
write(renderMarkdown(e.text, { color, width: width() }));
|
|
75
|
+
return;
|
|
76
|
+
case 'finished':
|
|
77
|
+
md.flush();
|
|
36
78
|
return;
|
|
37
79
|
case 'skills':
|
|
38
|
-
if (e.names.length)
|
|
39
|
-
|
|
80
|
+
if (calls && e.names.length)
|
|
81
|
+
activity(c.dim(` · using skill ${e.names.join(', ')}`));
|
|
40
82
|
return;
|
|
41
83
|
case 'opening':
|
|
42
|
-
if (e.path !== 'task')
|
|
43
|
-
|
|
84
|
+
if (v && e.path !== 'task')
|
|
85
|
+
activity(c.cyan(`· Jev: ${e.path} (${e.confidence.toFixed(2)})`));
|
|
44
86
|
return;
|
|
45
87
|
case 'tool_call':
|
|
46
|
-
|
|
88
|
+
// Whatever the style, words after a tool call start on their own line.
|
|
89
|
+
afterTools = true;
|
|
90
|
+
if (v)
|
|
91
|
+
activity(c.blue(`→ ${e.name}`) + c.dim(` ${short(JSON.stringify(e.args), 140)}`));
|
|
92
|
+
else if (calls)
|
|
93
|
+
activity(c.dim(` · ${describeCall(e.name, e.args)}`));
|
|
47
94
|
return;
|
|
48
95
|
case 'tool_result':
|
|
49
|
-
|
|
96
|
+
if (v)
|
|
97
|
+
activity(` ${e.ok ? c.green('✓') : c.red('✗')} ${c.dim(short(e.result, 600))}`);
|
|
98
|
+
else if (!e.ok)
|
|
99
|
+
activity(` ${c.red('✗')} ${c.dim(short(e.result.replace(/^Error: /, ''), 110))}`);
|
|
50
100
|
return;
|
|
51
101
|
case 'checkpoint': {
|
|
102
|
+
if (!v)
|
|
103
|
+
return;
|
|
52
104
|
const p = e.p === null ? '—' : e.p.toFixed(2);
|
|
53
|
-
const what = e.choice ? `${e.choice} ` : '';
|
|
54
105
|
const col = e.action === 'pass' || e.action === 'none' ? c.dim : c.magenta;
|
|
55
|
-
|
|
106
|
+
activity(col(`· Jev ${e.at} ${e.choice ? `${e.choice} ` : ''}p=${p} → ${e.action} [${e.level}]`));
|
|
56
107
|
return;
|
|
57
108
|
}
|
|
58
109
|
case 'guidance':
|
|
59
|
-
|
|
110
|
+
if (v)
|
|
111
|
+
activity(c.magenta(`· guidance ${e.from ?? 'start'} → ${e.level} (${e.reason})`));
|
|
60
112
|
return;
|
|
61
113
|
case 'nudge':
|
|
62
|
-
|
|
114
|
+
if (v)
|
|
115
|
+
activity(c.yellow(`↺ ${short(e.reason, 160)}`));
|
|
63
116
|
return;
|
|
64
117
|
case 'hook':
|
|
65
|
-
if (e.verdict !== 'go')
|
|
66
|
-
|
|
118
|
+
if (calls && e.verdict !== 'go')
|
|
119
|
+
activity(c.yellow(` · ${e.hook}: ${e.verdict}${e.reason ? ` (${e.reason})` : ''}`));
|
|
67
120
|
return;
|
|
68
121
|
case 'context':
|
|
69
|
-
|
|
70
|
-
|
|
122
|
+
// Only the unusual lines (steers, "answer now"), not the routine per-step reminder.
|
|
123
|
+
if (v && e.transient && !String(e.message.content ?? '').startsWith('Current request:'))
|
|
124
|
+
activity(c.dim(` [said to the model] ${short(String(e.message.content ?? ''), 200)}`));
|
|
71
125
|
return;
|
|
72
126
|
default:
|
|
73
127
|
return;
|
|
74
128
|
}
|
|
75
129
|
});
|
|
76
|
-
print.
|
|
130
|
+
print.flush = () => md.flush();
|
|
131
|
+
print.style = options.style;
|
|
77
132
|
return print;
|
|
78
133
|
}
|
|
79
|
-
|
|
80
|
-
|
|
134
|
+
/**
|
|
135
|
+
* After a turn. minimal/normal: nothing when it simply finished; the status and why when it did not.
|
|
136
|
+
* verbose: status, steps, tool calls and cost every time.
|
|
137
|
+
*/
|
|
138
|
+
export function summary(r, total, style) {
|
|
139
|
+
const verbose = style === 'verbose';
|
|
140
|
+
const fine = r.status === 'done' || r.status === 'greeted' || r.status === 'chatted';
|
|
141
|
+
if (!verbose)
|
|
142
|
+
return fine ? '' : c.yellow(`(${r.status.replace('_', ' ')}${r.reason ? `: ${r.reason}` : ''})`);
|
|
143
|
+
const tone = fine ? c.green : r.status === 'needs_person' || r.status === 'paused' ? c.yellow : c.red;
|
|
81
144
|
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
145
|
}
|
|
83
146
|
//# sourceMappingURL=ui.js.map
|
package/dist/cli/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.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.
|
|
3
|
+
"version": "0.2.5",
|
|
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",
|