mindweave 3.4.0 → 3.4.2

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.
Files changed (132) hide show
  1. package/README.md +26 -3
  2. package/dist/alternator/chassis/lsp.js +1 -1
  3. package/dist/alternator/chassis/lsp.js.map +1 -1
  4. package/dist/alternator/chassis/provision.js +2 -2
  5. package/dist/alternator/chassis/provision.js.map +1 -1
  6. package/dist/cli/App.js +152 -42
  7. package/dist/cli/App.js.map +1 -1
  8. package/dist/cli/attachments.js +2 -1
  9. package/dist/cli/attachments.js.map +1 -1
  10. package/dist/cli/blockHeights.js +14 -0
  11. package/dist/cli/blockHeights.js.map +1 -1
  12. package/dist/cli/commands.js +1 -0
  13. package/dist/cli/commands.js.map +1 -1
  14. package/dist/cli/components/BlockView.js +9 -1
  15. package/dist/cli/components/BlockView.js.map +1 -1
  16. package/dist/cli/components/EditGroup.js +50 -0
  17. package/dist/cli/components/EditGroup.js.map +1 -0
  18. package/dist/cli/components/PromptInput.js +4 -3
  19. package/dist/cli/components/PromptInput.js.map +1 -1
  20. package/dist/cli/components/ToolLine.js +5 -3
  21. package/dist/cli/components/ToolLine.js.map +1 -1
  22. package/dist/cli/components/WorkGroup.js +85 -56
  23. package/dist/cli/components/WorkGroup.js.map +1 -1
  24. package/dist/cli/editGroup.js +122 -0
  25. package/dist/cli/editGroup.js.map +1 -0
  26. package/dist/cli/inkSpeedLoader.js +9 -5
  27. package/dist/cli/inkSpeedLoader.js.map +1 -1
  28. package/dist/cli/inkThrottlePatch.js +43 -0
  29. package/dist/cli/inkThrottlePatch.js.map +1 -0
  30. package/dist/cli/screenMode.js +8 -1
  31. package/dist/cli/screenMode.js.map +1 -1
  32. package/dist/cli/sessionCarry.js.map +1 -1
  33. package/dist/cli/startupArgs.js +24 -4
  34. package/dist/cli/startupArgs.js.map +1 -1
  35. package/dist/cli/toolDisplay.js +2 -2
  36. package/dist/cli/toolDisplay.js.map +1 -1
  37. package/dist/cli/transcript.js +81 -14
  38. package/dist/cli/transcript.js.map +1 -1
  39. package/dist/cli/workLines.js +67 -4
  40. package/dist/cli/workLines.js.map +1 -1
  41. package/dist/core/turnRunner.js +133 -30
  42. package/dist/core/turnRunner.js.map +1 -1
  43. package/dist/dynamo/cacheBreak.js +8 -5
  44. package/dist/dynamo/cacheBreak.js.map +1 -1
  45. package/dist/dynamo/contextWindow.js +28 -36
  46. package/dist/dynamo/contextWindow.js.map +1 -1
  47. package/dist/dynamo/engine.js +119 -57
  48. package/dist/dynamo/engine.js.map +1 -1
  49. package/dist/dynamo/guard.js +1 -1
  50. package/dist/dynamo/guard.js.map +1 -1
  51. package/dist/dynamo/prompt.js +9 -3
  52. package/dist/dynamo/prompt.js.map +1 -1
  53. package/dist/dynamo/toolAliases.js +73 -0
  54. package/dist/dynamo/toolAliases.js.map +1 -0
  55. package/dist/dynamo/toolArgs.js +82 -0
  56. package/dist/dynamo/toolArgs.js.map +1 -0
  57. package/dist/dynamo/verify.js +16 -2
  58. package/dist/dynamo/verify.js.map +1 -1
  59. package/dist/headless/args.js +82 -0
  60. package/dist/headless/args.js.map +1 -0
  61. package/dist/headless/main.js +87 -0
  62. package/dist/headless/main.js.map +1 -0
  63. package/dist/headless/output.js +150 -0
  64. package/dist/headless/output.js.map +1 -0
  65. package/dist/headless/run.js +188 -0
  66. package/dist/headless/run.js.map +1 -0
  67. package/dist/index.js +8 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/main.js +5 -0
  70. package/dist/main.js.map +1 -1
  71. package/dist/memory/clearedArchive.js +2 -20
  72. package/dist/memory/clearedArchive.js.map +1 -1
  73. package/dist/memory/compaction.js +94 -2
  74. package/dist/memory/compaction.js.map +1 -1
  75. package/dist/memory/presence.js +44 -0
  76. package/dist/memory/presence.js.map +1 -1
  77. package/dist/memory/rewind.js +10 -6
  78. package/dist/memory/rewind.js.map +1 -1
  79. package/dist/memory/session.js +2 -2
  80. package/dist/memory/session.js.map +1 -1
  81. package/dist/memory/sessionMemory.js +270 -69
  82. package/dist/memory/sessionMemory.js.map +1 -1
  83. package/dist/memory/store.js +27 -4
  84. package/dist/memory/store.js.map +1 -1
  85. package/dist/memory/types.js.map +1 -1
  86. package/dist/memory/userNotes.js +17 -0
  87. package/dist/memory/userNotes.js.map +1 -0
  88. package/dist/project/context.js +34 -6
  89. package/dist/project/context.js.map +1 -1
  90. package/dist/tools/backgroundShells.js +7 -4
  91. package/dist/tools/backgroundShells.js.map +1 -1
  92. package/dist/tools/coauthor.js +154 -0
  93. package/dist/tools/coauthor.js.map +1 -0
  94. package/dist/tools/codeIntel.js +38 -10
  95. package/dist/tools/codeIntel.js.map +1 -1
  96. package/dist/tools/docOutline.js +250 -0
  97. package/dist/tools/docOutline.js.map +1 -0
  98. package/dist/tools/edit.js +18 -3
  99. package/dist/tools/edit.js.map +1 -1
  100. package/dist/tools/editCore.js +107 -1
  101. package/dist/tools/editCore.js.map +1 -1
  102. package/dist/tools/editRipple.js +29 -2
  103. package/dist/tools/editRipple.js.map +1 -1
  104. package/dist/tools/emptyResult.js +24 -0
  105. package/dist/tools/emptyResult.js.map +1 -0
  106. package/dist/tools/glob.js +11 -2
  107. package/dist/tools/glob.js.map +1 -1
  108. package/dist/tools/grep.js +4 -3
  109. package/dist/tools/grep.js.map +1 -1
  110. package/dist/tools/missingPath.js +90 -0
  111. package/dist/tools/missingPath.js.map +1 -0
  112. package/dist/tools/readFile.js +19 -2
  113. package/dist/tools/readFile.js.map +1 -1
  114. package/dist/tools/rebuildDetail.js +101 -6
  115. package/dist/tools/rebuildDetail.js.map +1 -1
  116. package/dist/tools/runCommand.js +6 -2
  117. package/dist/tools/runCommand.js.map +1 -1
  118. package/dist/tools/screenshot.js +42 -3
  119. package/dist/tools/screenshot.js.map +1 -1
  120. package/dist/tools/screenshotWin.js +221 -216
  121. package/dist/tools/screenshotWin.js.map +1 -1
  122. package/dist/tools/search.js +4 -1
  123. package/dist/tools/search.js.map +1 -1
  124. package/dist/tools/shellTools.js +7 -2
  125. package/dist/tools/shellTools.js.map +1 -1
  126. package/dist/tools/ui.js +26 -9
  127. package/dist/tools/ui.js.map +1 -1
  128. package/dist/tools/uiWin.js +4 -1
  129. package/dist/tools/uiWin.js.map +1 -1
  130. package/dist/tools/webSearch.js +3 -1
  131. package/dist/tools/webSearch.js.map +1 -1
  132. package/package.json +78 -78
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolAliases.js","sourceRoot":"","sources":["../../src/dynamo/toolAliases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * toolArgs.ts — what to do with a tool call whose arguments are not valid JSON.
3
+ *
4
+ * The model's arguments arrive as one string, and nothing guarantees it parses: a reply cut off at the output
5
+ * limit, a stray colon, a string that was encoded twice. The engine used to read such a string as `{}`, so the
6
+ * tool answered "`path` is required" about a call that DID carry a path. The model then had no way to know its
7
+ * JSON was the problem, and the broken text stayed in the history, going back to the provider on every later
8
+ * request (several providers re-parse it and refuse the whole request).
9
+ *
10
+ * So a broken call is refused with the parse error and the place it went wrong, and what goes back to the
11
+ * provider is a short valid stand-in. Nothing is repaired: a guessed repair that runs a write is worse than one
12
+ * more round trip, and the model can fix its own JSON when told where it broke.
13
+ */
14
+ /** Longest piece of the broken text echoed back, to the model and into the history. */
15
+ const ECHO_CHARS = 300;
16
+ /** Why `raw` cannot be used as a tool call's arguments, or null when it can. An empty string means "none". */
17
+ export function argsProblem(raw) {
18
+ if (!raw || !raw.trim())
19
+ return null;
20
+ let parsed;
21
+ try {
22
+ parsed = JSON.parse(raw);
23
+ }
24
+ catch (error) {
25
+ return describeParseFailure(raw, String(error?.message ?? error));
26
+ }
27
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
28
+ const kind = parsed === null ? "null" : Array.isArray(parsed) ? "an array" : `a ${typeof parsed}`;
29
+ return `The arguments must be one JSON object, and this was ${kind}.${typeof parsed === "string" ? " A JSON object that was encoded as a string a second time reads like this: send the object itself." : ""}`;
30
+ }
31
+ return null;
32
+ }
33
+ function describeParseFailure(raw, reason) {
34
+ const at = /position (\d+)/.exec(reason);
35
+ const position = at ? Number(at[1]) : raw.length;
36
+ const cutOff = /unexpected end|unterminated/i.test(reason) || position >= raw.length - 1 || openBrackets(raw) > 0;
37
+ const from = Math.max(0, position - 40);
38
+ const near = raw.slice(from, Math.min(raw.length, position + 40)).replace(/\s+/g, " ");
39
+ return (`The arguments are not valid JSON (${reason.replace(/\s*\(line \d+ column \d+\)/, "")}). ` +
40
+ `The first problem is near: …${near}…` +
41
+ (cutOff
42
+ ? ` The text ends before the JSON is closed, which is what a reply cut off at the output limit looks like: ` +
43
+ `send a smaller call (several edits or smaller writes instead of one very large one).`
44
+ : ""));
45
+ }
46
+ /** How many `{` or `[` are still open at the end of `raw`, ignoring brackets inside strings. */
47
+ function openBrackets(raw) {
48
+ let depth = 0;
49
+ let inString = false;
50
+ for (let i = 0; i < raw.length; i++) {
51
+ const ch = raw[i];
52
+ if (inString) {
53
+ if (ch === "\\")
54
+ i++;
55
+ else if (ch === '"')
56
+ inString = false;
57
+ }
58
+ else if (ch === '"')
59
+ inString = true;
60
+ else if (ch === "{" || ch === "[")
61
+ depth++;
62
+ else if (ch === "}" || ch === "]")
63
+ depth--;
64
+ }
65
+ return depth + (inString ? 1 : 0);
66
+ }
67
+ /** The refusal the model reads in place of a result. */
68
+ export function argsRefusal(toolName, problem) {
69
+ return `Not run: the arguments for \`${toolName}\` could not be read, so nothing was changed. ${problem} Send the call again with valid JSON.`;
70
+ }
71
+ /**
72
+ * The arguments as they go back to the provider in the history. Valid JSON stays as it is. A broken string is
73
+ * replaced by a valid object that carries the start of it, so the model still sees what it tried, and a provider
74
+ * that parses every earlier call does not refuse the request.
75
+ */
76
+ export function wireArguments(raw) {
77
+ if (argsProblem(raw) === null)
78
+ return raw;
79
+ const shown = raw.length > ECHO_CHARS ? `${raw.slice(0, ECHO_CHARS)}… (${raw.length} characters in all)` : raw;
80
+ return JSON.stringify({ _invalid_json: shown });
81
+ }
82
+ //# sourceMappingURL=toolArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolArgs.js","sourceRoot":"","sources":["../../src/dynamo/toolArgs.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * for a given task stays the model's judgment (the thin-prompt boundary). Keeping
9
9
  * these as pure predicates means the behavior is unit-tested, never blind-shipped.
10
10
  */
11
+ import { aliasTarget, shortExplanation } from "./toolAliases.js";
11
12
  /** True if a tool call changed files on disk (an edit or a write). */
12
13
  export function isFileMutation(toolName) {
13
14
  return toolName === "edit" || toolName === "write_file" || toolName === "replace_symbol_body";
@@ -435,8 +436,21 @@ export function nearestTools(name, known, max = 2) {
435
436
  .slice(0, max)
436
437
  .map((s) => s.k);
437
438
  }
438
- /** The error handed back for a tool that does not exist, with a way forward. */
439
- export function unknownToolError(name, known) {
439
+ /**
440
+ * The error handed back for a tool that does not exist, with a way forward.
441
+ *
442
+ * A name that is another agent program's word for one of OUR tools (`question` for ask_user, `bash` for run_command, see
443
+ * toolAliases.ts) gets more than "did you mean": which tool, what it does, and to call it in the next step. `describe`
444
+ * returns a tool's own description.
445
+ */
446
+ export function unknownToolError(name, known, describe) {
447
+ const meant = aliasTarget(name, known);
448
+ if (meant) {
449
+ const what = describe?.(meant);
450
+ return (`Error: there is no tool called '${name}' here. You most likely meant '${meant}'.` +
451
+ (what ? ` What '${meant}' does: ${shortExplanation(what)}` : "") +
452
+ ` Call '${meant}' in your next step, with the arguments its definition lists.`);
453
+ }
440
454
  const near = nearestTools(name, known);
441
455
  const hint = near.length > 0
442
456
  ? `Did you mean ${near.map((n) => `'${n}'`).join(" or ")}?`
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/dynamo/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/dynamo/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * args.ts — what `mindweave -p ...` was asked to do (pure).
3
+ *
4
+ * Unlike the interactive launch, which ignores an argument it does not know so that a stray
5
+ * word can never stop it from opening, a script wants the opposite: a typo in a flag must
6
+ * fail loudly with exit 2, because a run that quietly ignored `--mdoe architect` would go on
7
+ * to edit files in the mode the caller meant to forbid.
8
+ *
9
+ * The prompt is every word that is not a flag or a flag's value, joined by spaces, so
10
+ * `mindweave -p fix the login` and `mindweave -p "fix the login"` mean the same thing.
11
+ */
12
+ import { MODES } from "../cli/modes.js";
13
+ import { safeSessionId } from "../cli/startupArgs.js";
14
+ const FORMATS = ["text", "json", "stream-json"];
15
+ /** Flags that take a value, so the next word is theirs and not part of the prompt. */
16
+ const VALUE_FLAGS = new Set(["--output-format", "--mode", "--model", "--resume"]);
17
+ export function parseHeadlessArgs(argv) {
18
+ const words = [];
19
+ const opts = { prompt: null, format: "text", quiet: false, continueLast: false };
20
+ let onlyWords = false;
21
+ for (let i = 0; i < argv.length; i++) {
22
+ const arg = argv[i];
23
+ if (onlyWords || !arg.startsWith("-") || arg === "-") {
24
+ words.push(arg);
25
+ continue;
26
+ }
27
+ if (arg === "--") {
28
+ onlyWords = true;
29
+ continue;
30
+ }
31
+ if (arg === "-p" || arg === "--print")
32
+ continue;
33
+ if (arg === "-q" || arg === "--quiet") {
34
+ opts.quiet = true;
35
+ continue;
36
+ }
37
+ if (arg === "-c" || arg === "--continue") {
38
+ opts.continueLast = true;
39
+ continue;
40
+ }
41
+ // --flag=value or --flag value
42
+ const eq = arg.indexOf("=");
43
+ const name = eq === -1 ? arg : arg.slice(0, eq);
44
+ if (!VALUE_FLAGS.has(name))
45
+ return { ok: false, error: `Unknown option: ${arg}` };
46
+ let value;
47
+ if (eq !== -1)
48
+ value = arg.slice(eq + 1);
49
+ else {
50
+ value = argv[i + 1];
51
+ i++;
52
+ }
53
+ if (value === undefined || value === "")
54
+ return { ok: false, error: `${name} needs a value.` };
55
+ if (name === "--output-format") {
56
+ if (!FORMATS.includes(value))
57
+ return { ok: false, error: `--output-format must be one of: ${FORMATS.join(", ")}.` };
58
+ opts.format = value;
59
+ }
60
+ else if (name === "--mode") {
61
+ const ids = MODES.filter((m) => m.enabled).map((m) => m.id);
62
+ if (!ids.includes(value))
63
+ return { ok: false, error: `--mode must be one of: ${ids.join(", ")}.` };
64
+ opts.mode = value;
65
+ }
66
+ else if (name === "--model") {
67
+ opts.model = value;
68
+ }
69
+ else {
70
+ const id = safeSessionId(value);
71
+ if (id === undefined)
72
+ return { ok: false, error: `--resume needs a session id, got '${value}'.` };
73
+ opts.resumeId = id;
74
+ }
75
+ }
76
+ if (opts.continueLast && opts.resumeId !== undefined)
77
+ return { ok: false, error: "Use --continue or --resume <id>, not both." };
78
+ if (words.length > 0)
79
+ opts.prompt = words.join(" ");
80
+ return { ok: true, options: opts };
81
+ }
82
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/headless/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * main.ts (headless) — the real process around `runHeadless`.
3
+ *
4
+ * The only file that touches stdin, signals and the exit code. Loaded by index.ts for `-p`
5
+ * INSTEAD of the terminal program, so React, Ink and the framebuffer are never loaded: a script
6
+ * starts faster and cannot be broken by a missing terminal.
7
+ */
8
+ import { loadConfig } from "../cli/bootstrap.js";
9
+ import { parseHeadlessArgs } from "./args.js";
10
+ import { EXIT_USAGE, EXIT_SIGINT, EXIT_SIGTERM } from "./output.js";
11
+ import { MAX_STDIN_BYTES, runHeadless } from "./run.js";
12
+ /** How long to wait for the first byte of piped input when the task itself was typed as an argument. */
13
+ export const STDIN_GRACE_MS = 1500;
14
+ /**
15
+ * What was piped in, if anything.
16
+ *
17
+ * With a typed task, stdin is optional context, and a CI runner or a parent process can leave stdin
18
+ * open with nothing ever written to it. Waiting for an end that never comes would hang a job forever, so
19
+ * the first byte gets a short grace period; once input starts it is read to the end however long that
20
+ * takes (`git diff` on a big repo is slow). With no typed task, stdin IS the task and is waited for.
21
+ */
22
+ export async function readPipedInput(stdin, hasTypedTask, graceMs = STDIN_GRACE_MS) {
23
+ // A terminal is not input. Anything else (a pipe, a file, /dev/null, NUL) is read: asking the OS what kind of
24
+ // stream it is gave a different answer for a Windows pipe than for a POSIX one, and missed real input.
25
+ if (stdin.isTTY)
26
+ return { text: null, tooBig: false };
27
+ return new Promise((resolve) => {
28
+ const chunks = [];
29
+ let size = 0;
30
+ let settled = false;
31
+ let timer;
32
+ const done = (tooBig) => {
33
+ if (settled)
34
+ return;
35
+ settled = true;
36
+ if (timer)
37
+ clearTimeout(timer);
38
+ stdin.removeAllListeners("data");
39
+ stdin.removeAllListeners("end");
40
+ stdin.removeAllListeners("error");
41
+ stdin.pause?.();
42
+ resolve({ text: size > 0 ? Buffer.concat(chunks).toString("utf8") : null, tooBig });
43
+ };
44
+ stdin.on("data", (chunk) => {
45
+ if (timer) {
46
+ clearTimeout(timer);
47
+ timer = undefined;
48
+ }
49
+ const buf = typeof chunk === "string" ? Buffer.from(chunk) : chunk;
50
+ size += buf.length;
51
+ if (size > MAX_STDIN_BYTES)
52
+ return done(true);
53
+ chunks.push(buf);
54
+ });
55
+ stdin.on("end", () => done(false));
56
+ stdin.on("error", () => done(false));
57
+ if (hasTypedTask)
58
+ timer = setTimeout(() => done(false), graceMs);
59
+ });
60
+ }
61
+ export async function runHeadlessMain(argv) {
62
+ const parsed = parseHeadlessArgs(argv);
63
+ if (!parsed.ok) {
64
+ process.stderr.write(`mindweave: ${parsed.error}\nRun mindweave --help for the options.\n`);
65
+ return EXIT_USAGE;
66
+ }
67
+ // Keys from ~/.mindweave/.env and the project's .env, as in an interactive start.
68
+ loadConfig();
69
+ const input = await readPipedInput(process.stdin, Boolean(parsed.options.prompt?.trim()));
70
+ // One signal stops the turn cleanly (the session is saved, background commands are stopped); a second one means
71
+ // the caller is out of patience, and the process goes at once.
72
+ const abort = new AbortController();
73
+ let fired = null;
74
+ const on = (name) => () => {
75
+ if (fired)
76
+ process.exit(name === "SIGTERM" ? EXIT_SIGTERM : EXIT_SIGINT);
77
+ fired = name;
78
+ abort.abort();
79
+ };
80
+ process.on("SIGINT", on("SIGINT"));
81
+ process.on("SIGTERM", on("SIGTERM"));
82
+ const code = await runHeadless(parsed.options, { stdout: process.stdout, stderr: process.stderr, stdin: input.text, stdinTooBig: input.tooBig }, { cwd: process.cwd(), signal: abort.signal, firedSignal: () => fired });
83
+ // A pipe can still hold unwritten bytes when the process exits, which cuts a long answer short.
84
+ await Promise.all([process.stdout, process.stderr].map((s) => new Promise((r) => s.write("", () => r()))));
85
+ return code;
86
+ }
87
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/headless/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ export const EXIT_OK = 0;
2
+ export const EXIT_FAILED = 1;
3
+ export const EXIT_USAGE = 2;
4
+ export const EXIT_NO_KEY = 3;
5
+ export const EXIT_UNFINISHED = 4;
6
+ export const EXIT_SIGINT = 130;
7
+ export const EXIT_SIGTERM = 143;
8
+ export function subtypeOf(f) {
9
+ if (f.signal)
10
+ return "interrupted";
11
+ if (f.errors.length > 0)
12
+ return "error";
13
+ if (f.paused)
14
+ return "paused";
15
+ return "success";
16
+ }
17
+ /** Why a run stopped unfinished, in words for a person reading a log. */
18
+ export function pauseWords(reason) {
19
+ switch (reason) {
20
+ case "limit":
21
+ return "a usage limit you set is used up";
22
+ case "stepBudget":
23
+ return "it used its step budget";
24
+ case "costTimeLimit":
25
+ return "it reached its cost or time ceiling";
26
+ case "repeatedFailure":
27
+ return "the same step kept failing";
28
+ case "backgroundPoll":
29
+ return "it was only waiting on a background command";
30
+ case "reScope":
31
+ return "the task grew past what was asked";
32
+ case "truncated":
33
+ return "the model hit its output limit mid-answer";
34
+ case "refused":
35
+ return "the provider declined the request";
36
+ case "overflow":
37
+ return "the conversation no longer fits the model's context window";
38
+ case "overloaded":
39
+ return "the provider cut the request off";
40
+ default:
41
+ return String(reason);
42
+ }
43
+ }
44
+ export function exitCodeOf(f) {
45
+ switch (subtypeOf(f)) {
46
+ case "interrupted":
47
+ return f.signal === "SIGTERM" ? EXIT_SIGTERM : EXIT_SIGINT;
48
+ case "error":
49
+ return EXIT_FAILED;
50
+ case "paused":
51
+ return EXIT_UNFINISHED;
52
+ default:
53
+ return EXIT_OK;
54
+ }
55
+ }
56
+ export function resultOf(f) {
57
+ const subtype = subtypeOf(f);
58
+ return {
59
+ type: "result",
60
+ subtype,
61
+ is_error: subtype === "error" || subtype === "interrupted",
62
+ result: f.resultText,
63
+ session_id: f.sessionId,
64
+ model: f.model,
65
+ mode: f.mode,
66
+ duration_ms: f.durationMs,
67
+ tool_calls: f.toolCalls,
68
+ usage: f.usage,
69
+ total_cost_usd: roundUsd(f.costUsd),
70
+ cost_estimated: f.costEstimated,
71
+ permission_denials: f.denials,
72
+ ...(f.signal ? { stop_reason: f.signal } : f.paused && subtype === "paused" ? { stop_reason: f.paused } : {}),
73
+ errors: f.errors,
74
+ };
75
+ }
76
+ function roundUsd(n) {
77
+ return Math.round(n * 1e6) / 1e6;
78
+ }
79
+ /** A tool call's label as one short line, the way the progress lines read. */
80
+ function toolLine(name, arg) {
81
+ const one = (arg ?? "").replace(/\s+/g, " ").trim();
82
+ const clipped = one.length > 100 ? `${one.slice(0, 99)}…` : one;
83
+ return `› ${name}${clipped ? ` ${clipped}` : ""}`;
84
+ }
85
+ /**
86
+ * One engine event as output. `null` for the events that carry nothing a script wants
87
+ * (reasoning text, live task lists, per-tool progress ticks, the done marker).
88
+ */
89
+ export function linesFor(event, format, quiet) {
90
+ if (format === "stream-json") {
91
+ const record = streamRecord(event);
92
+ return record ? { stdout: JSON.stringify(record) + "\n" } : null;
93
+ }
94
+ // A failure is never hidden by --quiet: a script that asked for silence still has to be told why it stopped.
95
+ if (event.type === "notice")
96
+ return { stderr: `! ${event.title}: ${event.body}\n` };
97
+ if (event.type === "error")
98
+ return { stderr: `! ${event.text}\n` };
99
+ if (quiet)
100
+ return null;
101
+ switch (event.type) {
102
+ case "toolStart":
103
+ return { stderr: toolLine(event.name, event.arg) + "\n" };
104
+ case "toolEnd":
105
+ return event.ok || event.quiet ? null : { stderr: ` ✗ ${event.summary}\n` };
106
+ case "subagentStart":
107
+ return { stderr: `› sub-agent ${event.task.replace(/\s+/g, " ").slice(0, 100)}\n` };
108
+ case "activity":
109
+ return { stderr: `${event.error ? "! " : ""}${event.line}\n` };
110
+ default:
111
+ return null;
112
+ }
113
+ }
114
+ function streamRecord(e) {
115
+ switch (e.type) {
116
+ case "text":
117
+ return { type: "text", delta: e.delta };
118
+ case "replyReset":
119
+ return { type: "reply_reset" };
120
+ case "toolStart":
121
+ return { type: "tool_start", id: e.id, tool: e.tool ?? e.name, label: e.name, ...(e.arg ? { arg: e.arg } : {}), ...(e.args ? { args: e.args } : {}) };
122
+ case "toolEnd":
123
+ return { type: "tool_end", id: e.id, ok: e.ok, summary: e.summary };
124
+ case "subagentStart":
125
+ return { type: "subagent_start", id: e.id, task: e.task };
126
+ case "subagentEnd":
127
+ return { type: "subagent_end", id: e.id, ok: e.ok, summary: e.summary };
128
+ case "compaction":
129
+ return { type: "compaction", before: e.before, after: e.after, window: e.window };
130
+ case "activity":
131
+ return { type: "activity", line: e.line, ...(e.error ? { error: true } : {}) };
132
+ case "notice":
133
+ return { type: "notice", title: e.title, body: e.body };
134
+ case "error":
135
+ return { type: "error", text: e.text };
136
+ default:
137
+ return null;
138
+ }
139
+ }
140
+ /** The line the stream opens with: what is about to run. */
141
+ export function initRecord(f) {
142
+ return { type: "init", session_id: f.sessionId, model: f.model, mode: f.mode, cwd: f.cwd, resumed: f.resumed };
143
+ }
144
+ /** The final bytes for stdout once the run is over. */
145
+ export function finalStdout(format, facts) {
146
+ if (format === "text")
147
+ return facts.resultText ? `${facts.resultText.replace(/\s+$/, "")}\n` : "";
148
+ return JSON.stringify(resultOf(facts)) + "\n";
149
+ }
150
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/headless/output.ts"],"names":[],"mappings":"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"}