mindweave 2.4.9 → 2.5.1

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 (86) hide show
  1. package/README.md +145 -144
  2. package/dist/cli/App.js +47 -8
  3. package/dist/cli/App.js.map +1 -1
  4. package/dist/cli/commandArgs.js +7 -1
  5. package/dist/cli/commandArgs.js.map +1 -1
  6. package/dist/cli/commands.js +1 -0
  7. package/dist/cli/commands.js.map +1 -1
  8. package/dist/cli/components/ApprovalBox.js +10 -1
  9. package/dist/cli/components/ApprovalBox.js.map +1 -1
  10. package/dist/cli/components/McpMinitabs.js +1 -1
  11. package/dist/cli/components/Picker.js +1 -1
  12. package/dist/cli/components/Picker.js.map +1 -1
  13. package/dist/cli/components/ToolLine.js +1 -1
  14. package/dist/cli/components/ToolLine.js.map +1 -1
  15. package/dist/cli/feedback.js +223 -0
  16. package/dist/cli/feedback.js.map +1 -0
  17. package/dist/cli/framebuffer/writer.js +1 -1
  18. package/dist/cli/toolDisplay.js +4 -3
  19. package/dist/cli/toolDisplay.js.map +1 -1
  20. package/dist/core/turnRunner.js +366 -0
  21. package/dist/core/turnRunner.js.map +1 -0
  22. package/dist/drivers/anthropic/client.js +77 -21
  23. package/dist/drivers/anthropic/client.js.map +1 -1
  24. package/dist/drivers/anthropic/manifest.js +28 -11
  25. package/dist/drivers/anthropic/manifest.js.map +1 -1
  26. package/dist/drivers/cerebras/manifest.js +7 -1
  27. package/dist/drivers/cerebras/manifest.js.map +1 -1
  28. package/dist/drivers/deepseek/manifest.js +12 -31
  29. package/dist/drivers/deepseek/manifest.js.map +1 -1
  30. package/dist/drivers/glm/manifest.js +18 -5
  31. package/dist/drivers/glm/manifest.js.map +1 -1
  32. package/dist/drivers/kimi/manifest.js +13 -10
  33. package/dist/drivers/kimi/manifest.js.map +1 -1
  34. package/dist/drivers/meta/manifest.js +21 -16
  35. package/dist/drivers/meta/manifest.js.map +1 -1
  36. package/dist/drivers/minimax/manifest.js +15 -12
  37. package/dist/drivers/minimax/manifest.js.map +1 -1
  38. package/dist/drivers/openai/manifest.js +24 -7
  39. package/dist/drivers/openai/manifest.js.map +1 -1
  40. package/dist/drivers/qwen/manifest.js +19 -6
  41. package/dist/drivers/qwen/manifest.js.map +1 -1
  42. package/dist/drivers/xai/client.js +12 -10
  43. package/dist/drivers/xai/client.js.map +1 -1
  44. package/dist/drivers/xai/manifest.js +62 -25
  45. package/dist/drivers/xai/manifest.js.map +1 -1
  46. package/dist/dynamo/engine.js +179 -99
  47. package/dist/dynamo/engine.js.map +1 -1
  48. package/dist/governor/skills.js +1 -1
  49. package/dist/governor/write.js +61 -0
  50. package/dist/governor/write.js.map +1 -1
  51. package/dist/mcp/configWrite.js +1 -1
  52. package/dist/memory/compaction.js +10 -2
  53. package/dist/memory/compaction.js.map +1 -1
  54. package/dist/memory/store.js +8 -1
  55. package/dist/memory/store.js.map +1 -1
  56. package/dist/tools/backgroundShells.js +4 -3
  57. package/dist/tools/backgroundShells.js.map +1 -1
  58. package/dist/tools/deferredNative.js +13 -4
  59. package/dist/tools/deferredNative.js.map +1 -1
  60. package/dist/tools/detail.js +9 -6
  61. package/dist/tools/detail.js.map +1 -1
  62. package/dist/tools/edit.js +2 -1
  63. package/dist/tools/edit.js.map +1 -1
  64. package/dist/tools/governorTools.js +113 -9
  65. package/dist/tools/governorTools.js.map +1 -1
  66. package/dist/tools/mcpAdd.js +87 -4
  67. package/dist/tools/mcpAdd.js.map +1 -1
  68. package/dist/tools/mcpSearch.js +5 -4
  69. package/dist/tools/mcpSearch.js.map +1 -1
  70. package/dist/tools/mindweaveStatus.js +113 -0
  71. package/dist/tools/mindweaveStatus.js.map +1 -0
  72. package/dist/tools/nativeStderr.js +27 -0
  73. package/dist/tools/nativeStderr.js.map +1 -0
  74. package/dist/tools/registry.js +6 -4
  75. package/dist/tools/registry.js.map +1 -1
  76. package/dist/tools/replaceSymbol.js +2 -1
  77. package/dist/tools/replaceSymbol.js.map +1 -1
  78. package/dist/tools/runCommand.js +59 -21
  79. package/dist/tools/runCommand.js.map +1 -1
  80. package/dist/tools/screenshot.js +17 -4
  81. package/dist/tools/screenshot.js.map +1 -1
  82. package/dist/tools/todo.js +5 -5
  83. package/dist/tools/todo.js.map +1 -1
  84. package/dist/tools/writeFile.js +2 -1
  85. package/dist/tools/writeFile.js.map +1 -1
  86. package/package.json +7 -3
@@ -1,9 +1,9 @@
1
- import { addServerToConfig, configPathFor, parseAddSpec, serverExistsInConfig } from "../mcp/configWrite.js";
1
+ import { addServerToConfig, configPathFor, parseAddSpec, removeServerFromConfig, resolveConfigPath, serverExistsInConfig, } from "../mcp/configWrite.js";
2
2
  const ADD = "Yes, add it";
3
3
  const REPLACE = "Yes, replace it";
4
4
  const SKIP = "No, don't";
5
- export const addMcpServer = {
6
- name: "add_mcp_server",
5
+ export const mcpServer = {
6
+ name: "mcp_server",
7
7
  deferred: true,
8
8
  readOnly: false,
9
9
  // The credential guidance was WRONG, not merely thin. It told the model to reference
@@ -13,7 +13,12 @@ export const addMcpServer = {
13
13
  // looking like a bad token rather than a bad config. Meanwhile the parent environment
14
14
  // is already inherited, so the variable the model was told to "reference" needed no
15
15
  // mention at all. The correct advice is close to the opposite of what was written.
16
- description: "Connect a new MCP server to this project so its tools become available to you. " +
16
+ keywords: ["mcp", "server", "integration", "connect", "add", "remove", "delete", "disable", "enable", "turn", "off"],
17
+ description: "Manage this project's MCP servers: `action` add (the default), remove, disable or " +
18
+ "enable one. Disabling keeps the server configured and stops its tools being offered, " +
19
+ "which is what 'turn off the linear server for now' means; removing deletes it from " +
20
+ "the config. Both take just a `name`, and both ask the user first.\n" +
21
+ "Adding connects a new MCP server to this project so its tools become available to you. " +
17
22
  "Use it when the user asks to add an integration: 'add the github mcp server', " +
18
23
  "'connect to our postgres'. Give either a `command` (with `args`) for a local " +
19
24
  "server or a `url` for a remote one, never both. The user is always asked to " +
@@ -41,6 +46,12 @@ export const addMcpServer = {
41
46
  additionalProperties: false,
42
47
  required: ["name"],
43
48
  properties: {
49
+ action: {
50
+ type: "string",
51
+ enum: ["add", "remove", "disable", "enable"],
52
+ description: "Default 'add'. 'disable' keeps the server but stops offering its tools; 'enable' undoes that; " +
53
+ "'remove' deletes it from the config. Those three need only `name`.",
54
+ },
44
55
  name: {
45
56
  type: "string",
46
57
  description: "Short server name; becomes the prefix of its tools (e.g. 'github' → mcp__github__*).",
@@ -77,6 +88,13 @@ export const addMcpServer = {
77
88
  },
78
89
  },
79
90
  async execute(args, ctx) {
91
+ const action = typeof args.action === "string" ? args.action.trim() : "add";
92
+ if (action === "remove" || action === "disable" || action === "enable") {
93
+ return manageServer(action, args, ctx);
94
+ }
95
+ if (action !== "add") {
96
+ return { output: "Error: `action` must be add, remove, disable or enable.", isError: true, summary: "bad action" };
97
+ }
80
98
  const spec = specFromArgs(args);
81
99
  if (!spec.ok)
82
100
  return { output: `Error: ${spec.error}`, isError: true, summary: "bad server spec" };
@@ -175,6 +193,71 @@ function specFromArgs(args) {
175
193
  parsed: parsed.spec,
176
194
  };
177
195
  }
196
+ /**
197
+ * Remove, disable or enable one configured server.
198
+ *
199
+ * Every one of these was reachable only through the `/mcp` screen, so "turn that server
200
+ * off" could be said and not done. They go through the same config write and the same live
201
+ * manager call the screen uses, so a change takes effect now rather than next launch.
202
+ */
203
+ async function manageServer(action, args, ctx) {
204
+ const name = typeof args.name === "string" ? args.name.trim() : "";
205
+ if (!name)
206
+ return { output: "Error: `name` is required — which server.", isError: true, summary: "no server name" };
207
+ const config = ctx.mcp?.configFor(name);
208
+ if (!config) {
209
+ return {
210
+ output: `Error: no MCP server named '${name}' is configured here. The servers in play are the mcp__<server>__* tools you can see; /mcp lists them all.`,
211
+ isError: true,
212
+ summary: `no server '${name}'`,
213
+ };
214
+ }
215
+ if (!ctx.requestApproval) {
216
+ return {
217
+ output: `Error: changing an MCP server needs the user's confirmation and there's no way to ask here. ` +
218
+ `Tell them to run /mcp and ${action} '${name}' there.`,
219
+ isError: true,
220
+ summary: "cannot ask",
221
+ };
222
+ }
223
+ const root = ctx.governance?.forbidden.root ?? ctx.cwd;
224
+ const question = action === "remove"
225
+ ? `Remove the MCP server '${name}' from the config? Its tools stop being available.`
226
+ : action === "disable"
227
+ ? `Disable the MCP server '${name}'? It stays configured, and its tools stop being offered.`
228
+ : `Enable the MCP server '${name}' again? Its tools become available.`;
229
+ const yes = action === "remove" ? "Yes, remove it" : action === "disable" ? "Yes, disable it" : "Yes, enable it";
230
+ const choice = await ctx.requestApproval(question, [yes, SKIP]);
231
+ if (choice !== yes) {
232
+ return { output: `Left '${name}' as it was.`, summary: "declined" };
233
+ }
234
+ if (action === "remove") {
235
+ const path = await resolveConfigPath(root, name);
236
+ const removed = await removeServerFromConfig(path, name).catch((e) => e);
237
+ if (removed instanceof Error) {
238
+ return { output: `Error: couldn't write ${path}: ${removed.message}`, isError: true, summary: "write failed" };
239
+ }
240
+ await ctx.mcp?.removeServer(name);
241
+ return removed
242
+ ? { output: `Removed '${name}' from ${path}. Its tools are gone from this session.`, summary: `removed '${name}'` }
243
+ : { output: `'${name}' was not in ${path}, so nothing was written.`, isError: true, summary: `'${name}' not in config` };
244
+ }
245
+ const disabled = action === "disable";
246
+ const path = await resolveConfigPath(root, name);
247
+ const scope = path === configPathFor("global", root) ? "global" : "project";
248
+ const next = { ...config, disabled };
249
+ const written = await addServerToConfig(path, { name, scope, config: next }).catch((e) => e);
250
+ if (written instanceof Error) {
251
+ return { output: `Error: couldn't write ${path}: ${written.message}`, isError: true, summary: "write failed" };
252
+ }
253
+ await ctx.mcp?.addServer(next);
254
+ return {
255
+ output: disabled
256
+ ? `Disabled '${name}'. It stays in ${path}; say the word and I can enable it again.`
257
+ : `Enabled '${name}'. Its tools are available again.`,
258
+ summary: `${disabled ? "disabled" : "enabled"} '${name}'`,
259
+ };
260
+ }
178
261
  function asStrings(value) {
179
262
  if (!value || typeof value !== "object" || Array.isArray(value))
180
263
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"mcpAdd.js","sourceRoot":"","sources":["../../src/tools/mcpAdd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpAdd.js","sourceRoot":"","sources":["../../src/tools/mcpAdd.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,10 @@ export const findTools = {
7
7
  // old "that aren't already loaded" was simply wrong. And the result cap was invisible
8
8
  // — see the note at the call site for why that one is worse than it sounds.
9
9
  description: "Search for a tool you cannot see in your list, and load the matches so you can call " +
10
- "them. Covers both your own occasional tools (saving a memory, creating a skill, " +
11
- "standing rules and forbidding paths/commands, past sessions, workspace folders, " +
12
- "screenshots) and this project's external MCP integrations (issue trackers, " +
10
+ "them. Covers both your own occasional tools (saving a memory, creating or deleting a " +
11
+ "skill, standing rules and forbidding paths/commands and lifting either, adding or " +
12
+ "disabling an MCP server, what version and model are running, past sessions, workspace " +
13
+ "folders, screenshots) and this project's external MCP integrations (issue trackers, " +
13
14
  "databases, cloud APIs, docs systems). Use it whenever a task needs a capability " +
14
15
  "you cannot already see a tool for, rather than concluding you do not have it. " +
15
16
  "Query with a plain capability word ('memory', 'skill', 'rule', 'screenshot'), " +
@@ -39,7 +40,7 @@ export const findTools = {
39
40
  return { output: "Error: `query` is required.", isError: true, summary: "no query" };
40
41
  // BOTH pools are searched, and the native one does NOT short-circuit. It used to,
41
42
  // and the tests caught what that costs: "create issue" name-matches the native
42
- // `create_skill` on the word "create", which would swallow a query plainly aimed at
43
+ // the native `skill` tool on the word "create", which would swallow a query plainly aimed at
43
44
  // an MCP issue tracker and report success while never touching the catalog. A weak
44
45
  // keyword hit in one pool must never hide a strong hit in the other, so results are
45
46
  // gathered from both and reported together.
@@ -1 +1 @@
1
- {"version":3,"file":"mcpSearch.js","sourceRoot":"","sources":["../../src/tools/mcpSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpSearch.js","sourceRoot":"","sources":["../../src/tools/mcpSearch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { appVersion } from "../cli/version.js";
2
+ import { modelLabel, providerOf, thinkLabel } from "../dynamo/model.js";
3
+ import { rootLabel, rootsOf } from "./paths.js";
4
+ /** What only the user can do, and the command that does it. Order: most asked first. */
5
+ const USER_ONLY = [
6
+ ["change the model, or the provider", "/model, /provider"],
7
+ ["change how hard the model thinks", "/think"],
8
+ ["add or replace an API key", "/key"],
9
+ ["undo my file changes", "/undo"],
10
+ ["summarize the conversation to free context", "/compact"],
11
+ ["start a fresh conversation, or resume an old one", "/clear, /continue"],
12
+ ["sign in to a remote MCP server", "/mcp, then Sign in"],
13
+ ["switch between the fullscreen and inline shell", "/screen"],
14
+ ["turn anonymous usage analytics on or off", "/analytics"],
15
+ ["update Mindweave itself", "/update"],
16
+ ];
17
+ /** What the agent can change on its own, so it offers rather than deflects. */
18
+ const AGENT_CAN = [
19
+ "standing rules for this project, and lifting them (governor)",
20
+ "forbidding a path, a command or an MCP tool, and lifting those (governor)",
21
+ "skills: create one, delete one (skill)",
22
+ "MCP servers: add, remove, disable, enable (mcp_server)",
23
+ "durable memories (save_memory)",
24
+ "the workspace: add another folder to work across (workspace)",
25
+ ];
26
+ function list(label, items) {
27
+ if (items.length === 0)
28
+ return `${label}: none`;
29
+ return `${label} (${items.length}): ${items.join(", ")}`;
30
+ }
31
+ export const mindweaveStatus = {
32
+ name: "mindweave",
33
+ deferred: true,
34
+ readOnly: true,
35
+ keywords: [
36
+ "version",
37
+ "status",
38
+ "about",
39
+ "yourself",
40
+ "self",
41
+ "capabilities",
42
+ "settings",
43
+ "configuration",
44
+ "config",
45
+ "running",
46
+ "mode",
47
+ "who",
48
+ // The words a user reaches for when asking for something only THEY can change: the
49
+ // answer is this tool, which hands back the command instead of nothing.
50
+ "model",
51
+ "provider",
52
+ "switch",
53
+ "change",
54
+ "undo",
55
+ "compact",
56
+ "analytics",
57
+ "key",
58
+ ],
59
+ description: "Report what Mindweave is running right now and what can be changed. Answers 'what " +
60
+ "version are you', 'which model are you using', 'what rules/skills/MCP servers are set " +
61
+ "up here', 'what can you change yourself'. It also names the settings only the USER can " +
62
+ "change and the command for each, so when you are asked for one of those you can say " +
63
+ "exactly what to run instead of saying you cannot. Read-only: it changes nothing.",
64
+ parameters: { type: "object", additionalProperties: false, properties: {} },
65
+ async execute(_args, ctx) {
66
+ const version = appVersion();
67
+ const lines = [];
68
+ lines.push(`Mindweave${version ? ` v${version}` : ""} (the terminal coding agent you are running as).`);
69
+ const config = ctx.modelConfig;
70
+ if (config) {
71
+ const provider = providerOf(config.model);
72
+ lines.push(`Model: ${modelLabel(config.model)} from ${provider.label}. Reasoning: ${thinkLabel(config)}.`);
73
+ }
74
+ const mode = ctx.planMode ? "Architect (planning, no edits)" : ctx.guarded ? "Sentinel (asks before acting)" : "Lightning";
75
+ lines.push(`Mode: ${mode}.`);
76
+ const roots = rootsOf(ctx);
77
+ lines.push(roots.length > 1
78
+ ? `Workspace: ${roots.map((r) => `${rootLabel(roots, r)} (${r})`).join(", ")}`
79
+ : `Workspace: ${roots[0] ?? ctx.cwd}`);
80
+ const gov = ctx.governance;
81
+ lines.push(list("Rules", (gov?.rules ?? []).map((r) => r.name)));
82
+ lines.push(list("Skills", (gov?.skills ?? []).map((s) => `/${s.name}`)));
83
+ const forbidden = gov?.forbidden;
84
+ lines.push(list("Forbidden paths", forbidden?.patterns ?? []) +
85
+ ` | ` +
86
+ list("commands", forbidden?.commands ?? []) +
87
+ ` | ` +
88
+ list("MCP tools", forbidden?.mcpTools ?? []));
89
+ const servers = ctx.mcp?.statuses() ?? [];
90
+ lines.push(servers.length === 0
91
+ ? "MCP servers: none configured"
92
+ : // `disabled` is a config fact, not a connection one: a disabled server is not
93
+ // connected, and reporting it as "idle" would read as a fault.
94
+ `MCP servers (${servers.length}): ${servers
95
+ .map((s) => `${s.name} (${ctx.mcp?.configFor(s.name)?.disabled ? "disabled" : s.state}, ${s.toolCount} tools)`)
96
+ .join(", ")}`);
97
+ lines.push("");
98
+ lines.push("I can change these myself, if asked:");
99
+ for (const item of AGENT_CAN)
100
+ lines.push(` - ${item}`);
101
+ lines.push("");
102
+ lines.push("Only the user can change these. Tell them the command rather than trying:");
103
+ for (const [what, how] of USER_ONLY)
104
+ lines.push(` - ${what}: ${how}`);
105
+ return {
106
+ output: lines.join("\n"),
107
+ summary: version ? `Mindweave v${version}` : "Mindweave",
108
+ // The answer is the reply itself; a row saying "looked itself up" is noise.
109
+ quiet: true,
110
+ };
111
+ },
112
+ };
113
+ //# sourceMappingURL=mindweaveStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mindweaveStatus.js","sourceRoot":"","sources":["../../src/tools/mindweaveStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * nativeStderr.ts — undo Windows PowerShell's dressing of a program's stderr lines.
3
+ *
4
+ * Under `2>&1`, Windows PowerShell 5.1 turns the first line a native program writes to
5
+ * stderr into an error record and prints it as one:
6
+ *
7
+ * node : Compiling thing v1.0
8
+ * At line:2 char:1
9
+ * + cargo build 2>&1 | Select-Object -Last 5
10
+ * + ~~~~~~~~~~~~~~~~
11
+ * + CategoryInfo : NotSpecified: (Compiling thing v1.0:String) [], RemoteException
12
+ * + FullyQualifiedErrorId : NativeCommandError
13
+ *
14
+ * cargo, npm and git all write progress there, so a build that succeeded comes back
15
+ * reading like a stack of errors, and a model that sees "CategoryInfo" and
16
+ * "NativeCommandError" treats the command as failed. Only that exact block is rewritten,
17
+ * back to the line the program actually printed; a real PowerShell error has a different
18
+ * FullyQualifiedErrorId and is left alone.
19
+ */
20
+ const BLOCK = /^[^\r\n]*? : ([^\r\n]*)\r?\nAt line:\d+ char:\d+\r?\n(?:\+ [^\r\n]*\r?\n)+[ \t]+\+ CategoryInfo[^\r\n]*\r?\n[ \t]+\+ FullyQualifiedErrorId : NativeCommandError[ \t]*(?:\r?\n[ \t]*(?=\r?\n))?/gm;
21
+ /** The text with every native-stderr error block reduced to the line it wraps (pure). */
22
+ export function stripNativeStderrNoise(text) {
23
+ if (!text.includes("NativeCommandError"))
24
+ return text;
25
+ return text.replace(BLOCK, "$1");
26
+ }
27
+ //# sourceMappingURL=nativeStderr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeStderr.js","sourceRoot":"","sources":["../../src/tools/nativeStderr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,KAAK,GACT,kMAAkM,CAAC;AAErM,yFAAyF;AACzF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -12,7 +12,7 @@ import { viewImage } from "./viewImage.js";
12
12
  import { exitPlan } from "./exitPlan.js";
13
13
  import { todoWrite } from "./todo.js";
14
14
  import { useSkill } from "./useSkill.js";
15
- import { governor, createSkill } from "./governorTools.js";
15
+ import { governor, skillTool } from "./governorTools.js";
16
16
  import { saveMemoryTool } from "./saveMemory.js";
17
17
  import { askUserTool } from "./askUser.js";
18
18
  import { workspaceTool } from "./workspace.js";
@@ -21,7 +21,8 @@ import { spawnSubagent } from "./subagent.js";
21
21
  import { sessionsTool } from "./sessionTools.js";
22
22
  import { findTools } from "./mcpSearch.js";
23
23
  import { mcpResourceTool } from "./mcpResources.js";
24
- import { addMcpServer } from "./mcpAdd.js";
24
+ import { mcpServer } from "./mcpAdd.js";
25
+ import { mindweaveStatus } from "./mindweaveStatus.js";
25
26
  export const TOOLS = [
26
27
  // Discovery (read-only)
27
28
  search,
@@ -62,8 +63,9 @@ export const TOOLS = [
62
63
  saveMemoryTool,
63
64
  // Governor (mutating: persist a rule / forbidden path / skill for the project)
64
65
  governor,
65
- addMcpServer,
66
- createSkill,
66
+ mcpServer,
67
+ mindweaveStatus,
68
+ skillTool,
67
69
  ];
68
70
  /** Look up a tool by the name the model called. */
69
71
  export function findTool(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { recordWrite, relativize, resolvePath } from "./paths.js";
2
2
  import { applyEol } from "./eol.js";
3
- import { editDetail, lineCount, magnitude, withScope } from "./detail.js";
3
+ import { FULL_DETAIL_MAX, editDetail, lineCount, magnitude, withScope } from "./detail.js";
4
4
  import { numberedWindow } from "./editWindow.js";
5
5
  import { normalizeLf } from "./editCore.js";
6
6
  import { prepareEditTarget, unreadError, fail, failQuietly, errText } from "./editTarget.js";
@@ -121,6 +121,7 @@ export const replaceSymbolBody = {
121
121
  `New definition — line-numbered so you can make further edits without re-reading:\n${window}`,
122
122
  summary: `replaced ${span.name} in ${shown} · ${scope}`,
123
123
  detail: withScope(scope, editDetail(oldBody, args.new_definition)),
124
+ detailFull: withScope(scope, editDetail(oldBody, args.new_definition, FULL_DETAIL_MAX)),
124
125
  detailKind: "diff",
125
126
  };
126
127
  },
@@ -1 +1 @@
1
- {"version":3,"file":"replaceSymbol.js","sourceRoot":"","sources":["../../src/tools/replaceSymbol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replaceSymbol.js","sourceRoot":"","sources":["../../src/tools/replaceSymbol.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,qBAAqB;IAC3B;oFACgF;IAChF,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,kFAAkF;IAClF,iFAAiF;IACjF,oFAAoF;IACpF,wFAAwF;IACxF,sFAAsF;IACtF,8EAA8E;IAC9E,WAAW,EACT,+EAA+E;QAC/E,qFAAqF;QACrF,mFAAmF;QACnF,gEAAgE;QAChE,oFAAoF;QACpF,mFAAmF;QACnF,oFAAoF;QACpF,gFAAgF;QAChF,WAAW;QACX,gFAAgF;QAChF,gEAAgE;QAChE,+EAA+E;QAC/E,2BAA2B;QAC3B,qFAAqF;QACrF,aAAa;IACf,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACpC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YAC/D,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4FAA4F;aAC1G;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kFAAkF;aAChG;SACF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjF,OAAO,WAAW,CAAC,mFAAmF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CACT,mCAAmC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;gBAC5E,8EAA8E,CACjF,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,yCAAyC,CAAC;YAChI,OAAO,IAAI,CAAC,IAAI,IAAI,mBAAmB,IAAI,OAAO,IAAI,4BAA4B,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACpC,gFAAgF;QAChF,mFAAmF;QACnF,mFAAmF;QACnF,qFAAqF;QACrF,0DAA0D;QAC1D,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,yDAAyD,IAAI,wBAAwB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAE3C,8DAA8D;QAC9D,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;SAC1E,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxC,iFAAiF;QACjF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;QAC1F,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5F,iFAAiF;QACjF,mFAAmF;QACnF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QACpG,OAAO;YACL,MAAM,EACJ,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,OAAO,KAAK,GAAG;gBACjD,cAAc,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,SAAS,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM;gBACpG,qFAAqF,MAAM,EAAE;YAC/F,OAAO,EAAE,YAAY,IAAI,CAAC,IAAI,OAAO,KAAK,MAAM,KAAK,EAAE;YACvD,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAClE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YACvF,UAAU,EAAE,MAAe;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,2EAA2E;AAC3E,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,IAAI,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -9,13 +9,14 @@ import { posixShell, shellMismatchNote } from "./posixShell.js";
9
9
  import { killTree, spawnManaged } from "./killTree.js";
10
10
  import { captureAfterCommand, looksReadOnly, snapshotBeforeCommand } from "./shellCheckpoint.js";
11
11
  import { canonicalRoot, relativize } from "./paths.js";
12
- import { SHELL_ROWS_FAILED, SHELL_ROWS_OK, formatDuration, shellOutput, withOutcome } from "./detail.js";
12
+ import { FULL_DETAIL_MAX, SHELL_ROWS_FAILED, SHELL_ROWS_OK, formatDuration, shellOutput, withOutcome } from "./detail.js";
13
13
  import { parseTestRun, testDetail } from "./testSummary.js";
14
14
  import { powershellLintReason, powershellParseError, powershellReservedAssignmentReason } from "./shellLint.js";
15
15
  import { findRunningDuplicate, findRecentUserClose, guessNotifyPolicy } from "./backgroundShells.js";
16
16
  import { fail, failQuietly } from "./results.js";
17
17
  import { defaultOpenRewrite } from "./openDefault.js";
18
18
  import { composeFileOutput, createOutputFile, removeOutputFile, tailOf } from "./commandOutput.js";
19
+ import { stripNativeStderrNoise } from "./nativeStderr.js";
19
20
  const IS_WINDOWS = process.platform === "win32";
20
21
  const DEFAULT_TIMEOUT_MS = 120_000; // 2 minutes
21
22
  const MAX_TIMEOUT_MS = 600_000; // 10 minutes
@@ -327,6 +328,11 @@ async function runShell(command, ctx, timeoutMs, background, shell, declaredNoti
327
328
  PAGER: "cat",
328
329
  },
329
330
  });
331
+ // Nobody will ever type into this command, so its input ends now. Left open, a prompt
332
+ // ("Proceed? [y/N]", `npm init`, a credential request) waited on a stream that never
333
+ // closed until the two-minute timeout, and then got moved to the background still
334
+ // waiting. Closed, it sees end-of-input straight away and takes its default or gives up.
335
+ child.stdin?.end();
330
336
  // Our copy of the descriptor. The child dup'd it at spawn, so closing here leaves it
331
337
  // writing happily and means the file is released the moment the command ends rather
332
338
  // than whenever this process happens to exit.
@@ -352,7 +358,11 @@ async function runShell(command, ctx, timeoutMs, background, shell, declaredNoti
352
358
  }
353
359
  // Declared policy wins; the name guess is only the default when nothing was said.
354
360
  const notify = declaredNotify ?? guessNotifyPolicy(command);
355
- const info = mgr.adopt(child, { command, cwd: ctx.cwd, cwdFile, tempFile, notify });
361
+ // The output file goes with it. The child is already writing there; without the path
362
+ // the manager had nothing to read, so every command started in the background was
363
+ // silent: no output in `shells`, "(no output)" on every note, and a watchdog that
364
+ // could never see the prompt it exists to catch.
365
+ const info = mgr.adopt(child, { command, cwd: ctx.cwd, outputPath: outFile.path, cwdFile, tempFile, notify });
356
366
  return backgroundedResult(info.id, command, `Started in the background as shell #${info.id}`, notify);
357
367
  }
358
368
  return new Promise((resolve) => {
@@ -467,7 +477,10 @@ async function runShell(command, ctx, timeoutMs, background, shell, declaredNoti
467
477
  if (signal?.aborted)
468
478
  return void onAbort();
469
479
  signal?.addEventListener("abort", onAbort);
470
- const finish = async (exitCode, signal) => {
480
+ const finish = async (rawExit, signal) => {
481
+ // Windows hands a negative exit code back unsigned: `exit -1` arrives as
482
+ // 4294967295, which says nothing to anyone reading it.
483
+ const exitCode = rawExit !== null && rawExit > 0x7fffffff ? rawExit - 0x100000000 : rawExit;
471
484
  if (settled)
472
485
  return;
473
486
  settled = true;
@@ -571,24 +584,43 @@ function buildInvocation(command, cwdFile, shell) {
571
584
  };
572
585
  }
573
586
  if (IS_WINDOWS) {
574
- // After the command, record the final location and preserve its exit code.
587
+ // After the command, record the final location and decide its exit code.
575
588
  //
576
589
  // `$?` has to be captured on the very FIRST line after the command, because every
577
- // statement sets it — including an assignment, which always succeeds. Read it
578
- // second and you are reading whether `$__ec = …` worked, which is always true.
590
+ // statement sets it, including an assignment, which always succeeds.
579
591
  //
580
- // Both signals are needed because they cover different halves of PowerShell.
581
- // `$LASTEXITCODE` is set ONLY by native executables, so a failing cmdlet
582
- // (`Get-Content` on a missing file, a failed `Remove-Item` — most of what a model
583
- // writes) leaves it null, which used to be coerced to 0 and reported to the model
584
- // as SUCCESS. `$?` catches those. It is not enough on its own either: it says
585
- // whether something failed, never with which code, and `exit 3` from a real
586
- // program has to survive as 3. So: take the native code when there is one, and
587
- // otherwise promote a cmdlet failure to 1.
588
- const wrapped = `${command}\n` +
592
+ // Three signals, because no single one is honest in Windows PowerShell 5.1:
593
+ // - `$LASTEXITCODE` is set only by native programs. Reset first, so a non-null
594
+ // value means a program ran during THIS command; a non-zero one is the code.
595
+ // - `$?` catches cmdlet failures (`Get-Content` on a missing file), which leave
596
+ // `$LASTEXITCODE` null. It used to be coerced to success.
597
+ // - But `$?` is also false in two cases where nothing failed: a program that
598
+ // exits 0 while writing progress to stderr under `2>&1` (cargo, npm and git all
599
+ // do), and a cmdlet whose error was deliberately silenced with
600
+ // `-ErrorAction SilentlyContinue`. Both were reported to the model as exit 1,
601
+ // so a successful build read as a broken one. So when `$?` is false, the
602
+ // command failed only if an error was recorded that is neither a native
603
+ // program's stderr line nor raised by a command that asked for silence.
604
+ const wrapped = `$global:LASTEXITCODE = $null; $Error.Clear()\n` +
605
+ `${command}\n` +
589
606
  `$__ok = $?\n` +
590
- `$__ec = $LASTEXITCODE; if ($null -eq $__ec) { $__ec = 0 }\n` +
591
- `if (-not $__ok -and $__ec -eq 0) { $__ec = 1 }\n` +
607
+ `$__native = $LASTEXITCODE\n` +
608
+ `if ($null -ne $__native -and $__native -ne 0) { $__ec = $__native }\n` +
609
+ `elseif ($__ok) { $__ec = 0 }\n` +
610
+ `else {\n` +
611
+ ` $__quiet = @('SilentlyContinue', 'Ignore') -contains [string]$ErrorActionPreference\n` +
612
+ ` $__loud = @($Error | Where-Object {\n` +
613
+ ` if ($_ -isnot [System.Management.Automation.ErrorRecord]) { return $false }\n` +
614
+ ` if ($_.FullyQualifiedErrorId -like 'NativeCommandError*') { return $false }\n` +
615
+ ` $__inv = $_.InvocationInfo\n` +
616
+ ` if ($__inv -and $__inv.Line -and $__inv.OffsetInLine -gt 0) {\n` +
617
+ ` $__stmt = ($__inv.Line.Substring($__inv.OffsetInLine - 1) -split '[|;]')[0]\n` +
618
+ ` if ($__stmt -match '(?i)-(ErrorAction|EA)(\\s*:\\s*|\\s+)[''"]?(SilentlyContinue|Ignore|0)\\b') { return $false }\n` +
619
+ ` }\n` +
620
+ ` -not $__quiet\n` +
621
+ ` })\n` +
622
+ ` $__ec = if ($__loud.Count -gt 0) { 1 } else { 0 }\n` +
623
+ `}\n` +
592
624
  `$PWD.Path | Out-File -FilePath ${psQuote(cwdFile)} -Encoding utf8\n` +
593
625
  `exit $__ec`;
594
626
  return {
@@ -635,7 +667,8 @@ export function cwdChangeNote(before, after, shown) {
635
667
  return null;
636
668
  const where = shown === "." ? "the project root" : shown;
637
669
  return (`[Working directory is now ${where}. It stays there for the rest of this turn, so ` +
638
- `relative paths in your next command resolve from ${where}, not from the project root.]`);
670
+ `relative paths in your next command resolve from ${where}, not from the project root. ` +
671
+ `Your next turn starts back at the project root.]`);
639
672
  }
640
673
  /** Read the cwd the command ended in and adopt it (if it still exists). */
641
674
  async function applyCwd(cwdFile, ctx) {
@@ -667,7 +700,9 @@ pid,
667
700
  /** Where the whole output still is, when it was too long to show and the file was
668
701
  * therefore kept. Absent when nothing was dropped — there is nothing to go back for. */
669
702
  keptPath) {
670
- const body = output.trim();
703
+ // A program's stderr under `2>&1` comes back from Windows PowerShell dressed as an error
704
+ // record. Reduced to the line the program printed, or a successful build reads as failed.
705
+ const body = (shell === "powershell" ? stripNativeStderrNoise(output) : output).trim();
671
706
  const parts = [];
672
707
  if (timedOut) {
673
708
  parts.push(`Command timed out after ${Math.round(timeoutMs / 1000)}s and was killed. ` +
@@ -750,6 +785,9 @@ keptPath) {
750
785
  detail: testRun
751
786
  ? testDetail(testRun, formatDuration)
752
787
  : withOutcome(shellBody(command, body, failed), timedOut, exitCode, signal, timeoutMs, elapsedMs, pid),
788
+ detailFull: testRun
789
+ ? undefined
790
+ : withOutcome(shellBody(command, body, failed, FULL_DETAIL_MAX), timedOut, exitCode, signal, timeoutMs, elapsedMs, pid),
753
791
  detailKind: "shell",
754
792
  };
755
793
  }
@@ -761,8 +799,8 @@ keptPath) {
761
799
  * is the only one anyone reads, and gets a larger, still fixed, budget. Both are capped
762
800
  * from the end — see `shellOutput`.
763
801
  */
764
- function shellBody(command, body, failed) {
765
- const out = shellOutput(body, failed ? SHELL_ROWS_FAILED : SHELL_ROWS_OK);
802
+ function shellBody(command, body, failed, rows) {
803
+ const out = shellOutput(body, rows ?? (failed ? SHELL_ROWS_FAILED : SHELL_ROWS_OK));
766
804
  return out ? `$ ${command}\n${out}` : `$ ${command}`;
767
805
  }
768
806
  /** Single-quote a string for a POSIX shell. */