mindweave 3.0.1 → 3.2.0

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 (177) hide show
  1. package/README.md +36 -4
  2. package/dist/alternator/chassis/lsp.js +36 -4
  3. package/dist/alternator/chassis/lsp.js.map +1 -1
  4. package/dist/alternator/chassis/provision.js +54 -6
  5. package/dist/alternator/chassis/provision.js.map +1 -1
  6. package/dist/alternator/chassis/servers.js +34 -21
  7. package/dist/alternator/chassis/servers.js.map +1 -1
  8. package/dist/cli/App.js +118 -16
  9. package/dist/cli/App.js.map +1 -1
  10. package/dist/cli/attachments.js +37 -1
  11. package/dist/cli/attachments.js.map +1 -1
  12. package/dist/cli/bootstrap.js +25 -3
  13. package/dist/cli/bootstrap.js.map +1 -1
  14. package/dist/cli/components/BlockView.js +5 -5
  15. package/dist/cli/components/BlockView.js.map +1 -1
  16. package/dist/cli/components/CommandGroup.js +100 -0
  17. package/dist/cli/components/CommandGroup.js.map +1 -0
  18. package/dist/cli/components/MarathonBox.js +2 -1
  19. package/dist/cli/components/MarathonBox.js.map +1 -1
  20. package/dist/cli/components/TipLine.js +1 -0
  21. package/dist/cli/components/TipLine.js.map +1 -1
  22. package/dist/cli/components/ToolLine.js +69 -14
  23. package/dist/cli/components/ToolLine.js.map +1 -1
  24. package/dist/cli/components/WorkGroup.js +115 -0
  25. package/dist/cli/components/WorkGroup.js.map +1 -0
  26. package/dist/cli/diffWrap.js +24 -0
  27. package/dist/cli/diffWrap.js.map +1 -0
  28. package/dist/cli/expandHits.js +74 -0
  29. package/dist/cli/expandHits.js.map +1 -0
  30. package/dist/cli/marathonUi.js +2 -0
  31. package/dist/cli/marathonUi.js.map +1 -1
  32. package/dist/cli/mouse.js +16 -8
  33. package/dist/cli/mouse.js.map +1 -1
  34. package/dist/cli/scrollGlide.js +72 -0
  35. package/dist/cli/scrollGlide.js.map +1 -0
  36. package/dist/cli/scrollPill.js +21 -1
  37. package/dist/cli/scrollPill.js.map +1 -1
  38. package/dist/cli/selfUpdate.js +7 -0
  39. package/dist/cli/selfUpdate.js.map +1 -1
  40. package/dist/cli/terminalRestore.js +1 -1
  41. package/dist/cli/terminalRestore.js.map +1 -1
  42. package/dist/cli/toolDisplay.js +14 -10
  43. package/dist/cli/toolDisplay.js.map +1 -1
  44. package/dist/cli/transcript.js +100 -29
  45. package/dist/cli/transcript.js.map +1 -1
  46. package/dist/cli/uiLines.js +60 -0
  47. package/dist/cli/uiLines.js.map +1 -0
  48. package/dist/cli/wheelStep.js +29 -0
  49. package/dist/cli/wheelStep.js.map +1 -0
  50. package/dist/cli/workLines.js +84 -0
  51. package/dist/cli/workLines.js.map +1 -0
  52. package/dist/core/permissions.js +26 -1
  53. package/dist/core/permissions.js.map +1 -1
  54. package/dist/core/spendView.js +8 -1
  55. package/dist/core/spendView.js.map +1 -1
  56. package/dist/core/turnRunner.js +36 -8
  57. package/dist/core/turnRunner.js.map +1 -1
  58. package/dist/drivers/deepseek/inlineTools.js +36 -2
  59. package/dist/drivers/deepseek/inlineTools.js.map +1 -1
  60. package/dist/drivers/ollama/endpoint.js +25 -0
  61. package/dist/drivers/ollama/endpoint.js.map +1 -1
  62. package/dist/dynamo/engine.js +414 -88
  63. package/dist/dynamo/engine.js.map +1 -1
  64. package/dist/dynamo/guard.js +11 -4
  65. package/dist/dynamo/guard.js.map +1 -1
  66. package/dist/dynamo/hooks.js +209 -0
  67. package/dist/dynamo/hooks.js.map +1 -0
  68. package/dist/dynamo/marathon.js +67 -10
  69. package/dist/dynamo/marathon.js.map +1 -1
  70. package/dist/dynamo/todoReminder.js +26 -0
  71. package/dist/dynamo/todoReminder.js.map +1 -0
  72. package/dist/governor/forbidden.js +19 -0
  73. package/dist/governor/forbidden.js.map +1 -1
  74. package/dist/governor/freshness.js +1 -1
  75. package/dist/governor/freshness.js.map +1 -1
  76. package/dist/governor/index.js +8 -1
  77. package/dist/governor/index.js.map +1 -1
  78. package/dist/governor/rules.js +1 -0
  79. package/dist/governor/rules.js.map +1 -1
  80. package/dist/governor/write.js +50 -2
  81. package/dist/governor/write.js.map +1 -1
  82. package/dist/mcp/config.js +0 -41
  83. package/dist/mcp/config.js.map +1 -1
  84. package/dist/mcp/projectApproval.js +117 -0
  85. package/dist/mcp/projectApproval.js.map +1 -0
  86. package/dist/mcp/resultStore.js +19 -5
  87. package/dist/mcp/resultStore.js.map +1 -1
  88. package/dist/mcp/transport/stdio.js +4 -1
  89. package/dist/mcp/transport/stdio.js.map +1 -1
  90. package/dist/memory/allMetas.js +1 -1
  91. package/dist/memory/allMetas.js.map +1 -1
  92. package/dist/memory/autoMemory.js +1 -0
  93. package/dist/memory/autoMemory.js.map +1 -1
  94. package/dist/memory/clearedArchive.js +120 -0
  95. package/dist/memory/clearedArchive.js.map +1 -0
  96. package/dist/memory/compaction.js +178 -15
  97. package/dist/memory/compaction.js.map +1 -1
  98. package/dist/memory/counters.js +64 -0
  99. package/dist/memory/counters.js.map +1 -0
  100. package/dist/memory/projectNotes.js +61 -13
  101. package/dist/memory/projectNotes.js.map +1 -1
  102. package/dist/memory/rewind.js +6 -2
  103. package/dist/memory/rewind.js.map +1 -1
  104. package/dist/memory/session.js +13 -5
  105. package/dist/memory/session.js.map +1 -1
  106. package/dist/memory/sessionMemory.js +6 -2
  107. package/dist/memory/sessionMemory.js.map +1 -1
  108. package/dist/memory/store.js +3 -0
  109. package/dist/memory/store.js.map +1 -1
  110. package/dist/memory/types.js.map +1 -1
  111. package/dist/memory/workingSet.js +0 -375
  112. package/dist/memory/workingSet.js.map +1 -1
  113. package/dist/project/context.js +54 -7
  114. package/dist/project/context.js.map +1 -1
  115. package/dist/tools/approval.js +19 -4
  116. package/dist/tools/approval.js.map +1 -1
  117. package/dist/tools/backgroundShells.js +8 -1
  118. package/dist/tools/backgroundShells.js.map +1 -1
  119. package/dist/tools/browser.js +2 -1
  120. package/dist/tools/browser.js.map +1 -1
  121. package/dist/tools/checkpoints.js +28 -4
  122. package/dist/tools/checkpoints.js.map +1 -1
  123. package/dist/tools/childEnv.js +50 -0
  124. package/dist/tools/childEnv.js.map +1 -0
  125. package/dist/tools/codeIntel.js +4 -1
  126. package/dist/tools/codeIntel.js.map +1 -1
  127. package/dist/tools/commandParse.js +238 -0
  128. package/dist/tools/commandParse.js.map +1 -0
  129. package/dist/tools/commandPolicy.js +283 -0
  130. package/dist/tools/commandPolicy.js.map +1 -0
  131. package/dist/tools/detail.js +113 -1
  132. package/dist/tools/detail.js.map +1 -1
  133. package/dist/tools/edit.js +2 -1
  134. package/dist/tools/edit.js.map +1 -1
  135. package/dist/tools/editRipple.js +18 -3
  136. package/dist/tools/editRipple.js.map +1 -1
  137. package/dist/tools/editTarget.js +11 -6
  138. package/dist/tools/editTarget.js.map +1 -1
  139. package/dist/tools/governorTools.js +61 -1
  140. package/dist/tools/governorTools.js.map +1 -1
  141. package/dist/tools/grep.js +13 -5
  142. package/dist/tools/grep.js.map +1 -1
  143. package/dist/tools/guard.js +249 -2
  144. package/dist/tools/guard.js.map +1 -1
  145. package/dist/tools/invisible.js +62 -0
  146. package/dist/tools/invisible.js.map +1 -0
  147. package/dist/tools/killTree.js +3 -0
  148. package/dist/tools/killTree.js.map +1 -1
  149. package/dist/tools/readFile.js +11 -3
  150. package/dist/tools/readFile.js.map +1 -1
  151. package/dist/tools/readSymbol.js +5 -24
  152. package/dist/tools/readSymbol.js.map +1 -1
  153. package/dist/tools/rebuildDetail.js +155 -0
  154. package/dist/tools/rebuildDetail.js.map +1 -0
  155. package/dist/tools/replaceSymbol.js +1 -1
  156. package/dist/tools/replaceSymbol.js.map +1 -1
  157. package/dist/tools/ripgrepShell.js +56 -0
  158. package/dist/tools/ripgrepShell.js.map +1 -0
  159. package/dist/tools/runCommand.js +77 -18
  160. package/dist/tools/runCommand.js.map +1 -1
  161. package/dist/tools/runsLater.js +50 -0
  162. package/dist/tools/runsLater.js.map +1 -0
  163. package/dist/tools/serverConsent.js +27 -0
  164. package/dist/tools/serverConsent.js.map +1 -0
  165. package/dist/tools/ui.js +81 -1
  166. package/dist/tools/ui.js.map +1 -1
  167. package/dist/tools/untrusted.js +22 -1
  168. package/dist/tools/untrusted.js.map +1 -1
  169. package/dist/tools/viewImage.js +2 -2
  170. package/dist/tools/viewImage.js.map +1 -1
  171. package/dist/tools/webFetch.js +76 -8
  172. package/dist/tools/webFetch.js.map +1 -1
  173. package/dist/tools/workspace.js +87 -24
  174. package/dist/tools/workspace.js.map +1 -1
  175. package/dist/tools/writeFile.js +9 -4
  176. package/dist/tools/writeFile.js.map +1 -1
  177. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,19 @@
21
21
  * Both return a human reason string when they fire, or `null` to allow. Fail
22
22
  * open by design: anything not explicitly matched is allowed.
23
23
  */
24
+ import { realpath } from "node:fs/promises";
25
+ import { homedir } from "node:os";
26
+ import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
27
+ import { stateRoot } from "../memory/store.js";
28
+ /**
29
+ * Whether two spellings of a path that differ only in case are the same file. True on Windows and on macOS, whose
30
+ * default volumes are case-insensitive; a Linux volume is not. Where it is true, protected-folder checks compare
31
+ * lower-cased paths, so `~/.Mindweave/mcp-auth.json` is the file `~/.mindweave/mcp-auth.json` is. (On a case-sensitive
32
+ * macOS volume this errs the safe way: a few more paths count as protected.)
33
+ */
34
+ export function foldsCase(platform = process.platform) {
35
+ return platform === "win32" || platform === "darwin";
36
+ }
24
37
  // Path segments / names that are off-limits. Matched against the POSIX-style
25
38
  // path so it works the same on Windows and Unix.
26
39
  const PROTECTED_PATTERNS = [
@@ -41,6 +54,19 @@ const PROTECTED_PATTERNS = [
41
54
  { test: /(^|\/)id_(rsa|ed25519|ecdsa|dsa)(\.|$)/i, what: "a private SSH key" },
42
55
  { test: /\.pem$/i, what: "a private key file" },
43
56
  { test: /(^|\/)(secrets?|credentials)(\/|\.|$)/i, what: "a secrets/credentials file" },
57
+ // Files that routinely hold a token or a private key under an ordinary-looking name.
58
+ // Each is matched by its exact name or a key-file extension, so source code stays
59
+ // readable: a model debugging `npm install` reads .npmrc, and that is where the token is.
60
+ { test: /(^|\/)(\.npmrc|\.yarnrc\.yml|\.netrc|_netrc|\.git-credentials|\.pypirc)$/i, what: "a file holding login tokens" },
61
+ { test: /(^|\/)\.docker\/config\.json$/i, what: "a file holding login tokens" },
62
+ { test: /(^|\/)\.kube\/config$/i, what: "a file holding login tokens" },
63
+ { test: /(^|\/)\.config\/gh\/hosts\.yml$/i, what: "a file holding login tokens" },
64
+ { test: /(^|\/)(\.config\/gcloud|\.azure|\.aws|\.gnupg)(\/|$)/i, what: "a cloud or signing credentials directory" },
65
+ // Each system's own place for saved passwords and keys.
66
+ { test: /(^|\/)(Library\/Keychains|\.local\/share\/keyrings|\.password-store|AppData\/Roaming\/Microsoft\/(Credentials|Protect|Vault))(\/|$)/i, what: "the system's saved passwords and keys" },
67
+ { test: /\.(key|p12|pfx|jks|keystore|kdbx)$/i, what: "a private key or keystore" },
68
+ { test: /(^|\/)terraform\.tfstate(\.backup)?$|\.tfvars$/i, what: "an infrastructure state or variables file" },
69
+ { test: /(^|\/)service-account[^/]*\.json$/i, what: "a cloud service-account key" },
44
70
  ];
45
71
  /**
46
72
  * The example counterpart of an env file, which is the opposite of a secret.
@@ -59,6 +85,9 @@ const ENV_EXAMPLE = /(^|\/)\.?env\.(example|sample|template|defaults|dist)$/i;
59
85
  /**
60
86
  * If `absPath` is a file the agent must never touch, return a short reason;
61
87
  * otherwise null. `absPath` may use either slash style.
88
+ *
89
+ * This reads the path TEXT. A tool that is about to open a file uses
90
+ * `guardedPathReason`, which judges the file the text leads to.
62
91
  */
63
92
  export function protectedPathReason(absPath) {
64
93
  const posix = absPath.split("\\").join("/");
@@ -68,7 +97,83 @@ export function protectedPathReason(absPath) {
68
97
  if (test.test(posix))
69
98
  return what;
70
99
  }
71
- return null;
100
+ return stateFileReason(posix);
101
+ }
102
+ /**
103
+ * The protected-file check for a path a tool is about to open: the file, not the string.
104
+ *
105
+ * Text patterns alone let the same file through under another spelling, all proven:
106
+ * `.env::$DATA` (the NTFS default stream of .env itself), `.env.` and `.env ` (Windows
107
+ * drops trailing dots and spaces), a short 8.3 name, and a link inside the project that
108
+ * points at .git or ~/.ssh. So a Windows stream spelling is refused outright, the
109
+ * trailing dots and spaces are removed, links are resolved, and the patterns run on the
110
+ * spelled path AND the real one. Every tool that takes a path asks this before opening it.
111
+ */
112
+ export async function guardedPathReason(absPath) {
113
+ const textual = protectedPathReason(absPath);
114
+ if (textual)
115
+ return textual;
116
+ let path = absPath;
117
+ if (process.platform === "win32") {
118
+ path = path.replace(/^\\\\\?\\/, "");
119
+ // A colon anywhere but after the drive letter is an alternate data stream.
120
+ if (path.slice(2).includes(":"))
121
+ return "a Windows stream spelling of a file";
122
+ path = path
123
+ .split(/[\\/]/)
124
+ .map((segment, i) => (i === 0 ? segment : segment.replace(/[. ]+$/, "")))
125
+ .join("\\");
126
+ }
127
+ return protectedPathReason(path) ?? protectedPathReason(await realPathOf(path));
128
+ }
129
+ /**
130
+ * The real location of `path` with links, junctions and short names resolved, for a path
131
+ * that may not exist yet: the nearest existing ancestor is resolved and the rest
132
+ * appended. Lower-cased on Windows, where two spellings of a path name the same file.
133
+ */
134
+ export async function realPathOf(path) {
135
+ const fold = (p) => (foldsCase() ? p.toLowerCase() : p);
136
+ const tail = [];
137
+ let head = resolve(path);
138
+ for (;;) {
139
+ try {
140
+ return fold(join(await realpath(head), ...tail.reverse()));
141
+ }
142
+ catch {
143
+ const parent = dirname(head);
144
+ if (parent === head)
145
+ return fold(resolve(path));
146
+ tail.push(basename(head));
147
+ head = parent;
148
+ }
149
+ }
150
+ }
151
+ /** Is `path` the folder `root` or inside it? Pass real paths from realPathOf. */
152
+ export function withinFolder(root, path) {
153
+ const rel = relative(root, path);
154
+ return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
155
+ }
156
+ /**
157
+ * Mindweave's own state folder (~/.mindweave) is off-limits too, with three exceptions
158
+ * the agent is pointed at by design: a project's `memory/` folder, where it keeps its
159
+ * notes, `mcp-results/`, where a large MCP result is saved for it to read, and
160
+ * `cleared/`, where the originals of cleared tool results are kept for it to read.
161
+ *
162
+ * Everything else there is Mindweave's, not the project's: sign-ins to MCP servers
163
+ * (access and refresh tokens), key labels, the permission and rule files, past sessions,
164
+ * the undo history, and the programs it installed for code intelligence. Read, they leak;
165
+ * written, they change what Mindweave allows or runs in every later session.
166
+ */
167
+ function stateFileReason(posix) {
168
+ const fold = (p) => (foldsCase() ? p.toLowerCase() : p);
169
+ const root = fold(stateRoot().split("\\").join("/").replace(/\/+$/, ""));
170
+ const path = fold(posix);
171
+ if (path !== root && !path.startsWith(root + "/"))
172
+ return null;
173
+ const rel = path.slice(root.length + 1);
174
+ if (/^projects\/[^/]+\/(memory|mcp-results|cleared)(\/|$)/.test(rel))
175
+ return null;
176
+ return "Mindweave's own settings, sign-ins and state";
72
177
  }
73
178
  // Another coding agent's private working data: its saved sessions, its memory of
74
179
  // past conversations, its rules and skills. A project that has been worked on by
@@ -223,7 +328,6 @@ const CATASTROPHIC_PATTERNS = [
223
328
  { test: /\bdd\b[^\n]*\bof=\/dev\/(sd|nvme|disk|hd)/i, what: "overwriting a raw disk device" },
224
329
  { test: />\s*\/dev\/(sd|nvme|disk|hd)/i, what: "writing to a raw disk device" },
225
330
  { test: /:\(\)\s*\{\s*:\s*\|\s*:\s*&\s*\}\s*;\s*:/, what: "a fork bomb" },
226
- { test: /\bRemove-Item\b[^\n]*\b-Recurse\b[^\n]*(\\|\/|\$env:|~)(\s|$)/i, what: "recursively deleting a drive root or home directory" },
227
331
  ];
228
332
  /**
229
333
  * If `command` is an irreversible, catastrophic action, return a short reason;
@@ -234,6 +338,149 @@ export function catastrophicCommandReason(command) {
234
338
  if (test.test(command))
235
339
  return what;
236
340
  }
341
+ return destructiveDeleteReason(command);
342
+ }
343
+ /**
344
+ * Commands a coding agent does run, but that throw work away, rewrite shared history,
345
+ * skip the project's own checks, publish, or run code straight from the internet. Not a
346
+ * floor: each asks the user first (see run_command), in every mode, with this as the
347
+ * warning. A short list on purpose; a long one would be clicked through.
348
+ */
349
+ const RISKY_COMMANDS = [
350
+ { test: /\bgit\s+push\b[^\n;|&]*\s(-f|--force)\b(?!-with-lease)/i, what: "force-pushes, which overwrites history others may have" },
351
+ { test: /\bgit\s+push\b[^\n;|&]*\s(--delete|-d)\b|\bgit\s+push\b[^\n;|&]*\s:[\w./-]+/i, what: "deletes a branch or tag on the remote" },
352
+ { test: /\bgit\s+push\b[^\n;|&]*\s\+[\w./-]+/i, what: "force-pushes, which overwrites history others may have" },
353
+ { test: /\bgit\s+reset\b[^\n;|&]*\s--hard\b/i, what: "discards uncommitted changes for good (git reset --hard)" },
354
+ { test: /\bgit\s+clean\b[^\n;|&]*\s-[a-z]*f/i, what: "deletes untracked files for good (git clean)" },
355
+ { test: /\bgit\s+branch\b[^\n;|&]*\s-D\b/, what: "deletes a branch even if it was never merged (git branch -D)" },
356
+ { test: /\bgit\s+(checkout|restore)\b[^\n;|&]*\s(--\s+)?\.(\s|$)/i, what: "discards every uncommitted change in the folder" },
357
+ { test: /\bgit\s+stash\s+(drop|clear)\b/i, what: "deletes stashed work for good" },
358
+ { test: /\bgit\s+(commit|push|merge|rebase)\b[^\n;|&]*\s--no-verify\b/i, what: "skips the project's own git hooks (--no-verify)" },
359
+ { test: /\b(curl|wget|iwr|irm|invoke-webrequest|invoke-restmethod)\b[^\n;]*\|\s*(sudo\s+)?(sh|bash|zsh|iex|invoke-expression|python3?|node)\b/i, what: "runs code downloaded from the internet" },
360
+ { test: /\b(npm|pnpm|yarn)\s+publish\b|\bcargo\s+publish\b|\btwine\s+upload\b|\bgh\s+release\s+create\b/i, what: "publishes a package or release" },
361
+ ];
362
+ /** Why `command` should ask the user first even when nothing else does, or null (pure). */
363
+ export function riskyCommandReason(command) {
364
+ for (const { test, what } of RISKY_COMMANDS)
365
+ if (test.test(command))
366
+ return what;
367
+ return null;
368
+ }
369
+ /** Commands that delete, in the shells run_command uses (aliases included). */
370
+ const DELETE_VERBS = /^(rm|rmdir|rd|del|erase|remove-item|ri|rimraf)(\.exe)?$/i;
371
+ /** cmd.exe spells its switches /s /q; for its verbs those are flags, not the root. */
372
+ const CMD_DELETE_VERBS = /^(rmdir|rd|del|erase)(\.exe)?$/i;
373
+ /**
374
+ * Deleting a drive root, the home folder, a folder above it, a system folder, or a
375
+ * key or settings folder, decided by what the command names rather than how it is
376
+ * spelled.
377
+ *
378
+ * This replaced a PowerShell pattern that could never match (`\b` before `-Recurse`
379
+ * needs a word character beside the hyphen, and there never is one), so
380
+ * `Remove-Item -Recurse -Force C:\\` was allowed in every mode. Spelling-based rules miss
381
+ * argument order, aliases (`ri`, `rd`), named parameters (`-Path`) and variables
382
+ * (`$env:USERPROFILE`); reading the words does not. Deleting something INSIDE those
383
+ * folders (a cache, a temp file) is left alone: this is the floor, and it must only ever
384
+ * fire on what is never a coding action.
385
+ */
386
+ export function destructiveDeleteReason(command) {
387
+ for (const segment of command.split(/&&|\|\||[;|\n]/)) {
388
+ const words = shellWords(segment);
389
+ let at = words.findIndex((w) => w !== "&" && w !== ".");
390
+ // Look through what only starts another shell or raises privilege: `cmd /c rd ...`,
391
+ // `powershell -Command Remove-Item ...`, `sudo rm ...` delete just the same.
392
+ for (;;) {
393
+ const w = words[at] ?? "";
394
+ if (/^(sudo|doas)$/i.test(w))
395
+ at++;
396
+ else if (/^cmd(\.exe)?$/i.test(w) && /^\/[ck]$/i.test(words[at + 1] ?? ""))
397
+ at += 2;
398
+ else if (/^(powershell|pwsh)(\.exe)?$/i.test(w)) {
399
+ const c = words.findIndex((x, i) => i > at && /^-(c|command)$/i.test(x));
400
+ if (c < 0)
401
+ break;
402
+ at = c + 1;
403
+ }
404
+ else
405
+ break;
406
+ }
407
+ const verb = words[at];
408
+ if (!verb || !DELETE_VERBS.test(verb))
409
+ continue;
410
+ const cmdStyle = CMD_DELETE_VERBS.test(verb);
411
+ for (const word of words.slice(at + 1)) {
412
+ if (word.startsWith("-"))
413
+ continue;
414
+ if (cmdStyle && /^\/[a-z?]$/i.test(word))
415
+ continue;
416
+ const target = expandHomeWords(word).replace(/[\\/]\*(\.\*)?$/, "/").replace(/^\*$/, "");
417
+ if (!target || !(isAbsolute(target) || /^[a-z]:$/i.test(target)))
418
+ continue;
419
+ const why = vitalFolderReason(target);
420
+ if (why)
421
+ return `deleting ${why}`;
422
+ }
423
+ }
424
+ return null;
425
+ }
426
+ /** Split one command into words, keeping quoted text together (quotes removed). */
427
+ function shellWords(segment) {
428
+ const words = [];
429
+ for (const m of segment.matchAll(/"([^"]*)"|'([^']*)'|(\S+)/g))
430
+ words.push(m[1] ?? m[2] ?? m[3] ?? "");
431
+ return words;
432
+ }
433
+ /** Replace the spellings of the home folder and the Windows folders with real paths. */
434
+ export function expandHomeWords(word) {
435
+ const env = process.env;
436
+ const home = homedir();
437
+ const pairs = [
438
+ [/^~(?=$|[\\/])/, home],
439
+ [/^\$\{?HOME\}?(?=$|[\\/])/i, home],
440
+ [/^\$env:(USERPROFILE|HOME)(?=$|[\\/])/i, home],
441
+ [/^%USERPROFILE%/i, home],
442
+ [/^%HOMEDRIVE%%HOMEPATH%/i, home],
443
+ [/^(\$env:SystemDrive|%SystemDrive%)(?=$|[\\/])/i, env.SystemDrive ?? "C:"],
444
+ [/^(\$env:(windir|SystemRoot)|%(windir|SystemRoot)%)(?=$|[\\/])/i, env.SystemRoot ?? env.windir],
445
+ [/^(\$env:ProgramFiles|%ProgramFiles%)(?=$|[\\/])/i, env.ProgramFiles],
446
+ ];
447
+ for (const [re, value] of pairs)
448
+ if (value && re.test(word))
449
+ return word.replace(re, () => value);
450
+ return word;
451
+ }
452
+ /**
453
+ * Why deleting `target` would wreck the machine, or null. Exact matches and ancestors
454
+ * only: a drive or filesystem root, the home folder or one above it, a system folder or
455
+ * one containing one, and the key and settings folders themselves.
456
+ */
457
+ function vitalFolderReason(target) {
458
+ const win = process.platform === "win32";
459
+ const fold = (p) => {
460
+ const r = resolve(/^[a-z]:$/i.test(p) ? p + "\\" : p);
461
+ return foldsCase() ? r.toLowerCase() : r;
462
+ };
463
+ const t = fold(target);
464
+ const isOrAbove = (dir) => {
465
+ if (!dir)
466
+ return false;
467
+ const rel = relative(t, fold(dir));
468
+ return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
469
+ };
470
+ if (dirname(t) === t)
471
+ return "a drive or filesystem root";
472
+ const home = homedir();
473
+ if (isOrAbove(home))
474
+ return "the home folder or a folder that contains it";
475
+ const env = process.env;
476
+ const system = win
477
+ ? [env.SystemRoot, env.ProgramFiles, env["ProgramFiles(x86)"], env.ProgramData]
478
+ : ["/etc", "/usr", "/bin", "/sbin", "/boot", "/lib", "/System", "/Library", "/Applications", "/var"];
479
+ if (system.some(isOrAbove))
480
+ return "a system folder";
481
+ const vital = [join(home, ".ssh"), join(home, ".gnupg"), join(home, ".mindweave"), ...(win ? [env.APPDATA, env.LOCALAPPDATA, join(home, "AppData")] : [])];
482
+ if (vital.some((d) => d !== undefined && fold(d) === t))
483
+ return "a folder that holds keys or settings";
237
484
  return null;
238
485
  }
239
486
  //# sourceMappingURL=guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/tools/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,kBAAkB,GAAqC;IAC3D,qFAAqF;IACrF,+EAA+E;IAC/E,oFAAoF;IACpF,kFAAkF;IAClF,EAAE;IACF,sFAAsF;IACtF,6EAA6E;IAC7E,kFAAkF;IAClF,6BAA6B;IAC7B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,6BAA6B,EAAE;IACtE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,6BAA6B,EAAE;IACnE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,6BAA6B,EAAE;IAChE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,6BAA6B,EAAE;IACnE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC5D,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC/C,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,4BAA4B,EAAE;CACvF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,iFAAiF;AACjF,4DAA4D;AAC5D,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,kFAAkF;AAClF,kFAAkF;AAClF,+EAA+E;AAC/E,yCAAyC;AACzC,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,MAAM,cAAc,GAAqC;IACvD,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,aAAa,EAAE;IACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE;IACnD,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjD,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjD,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/C,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,UAAU,EAAE;IACrD,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,UAAU,EAAE;IACrD,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE;CAC7D,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;uCAEuC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,SAAS;IACT,SAAS;IACT,QAAQ;IACR,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,aAAa;IACb,GAAG,UAAU;IACb,WAAW;IACX,WAAW;IACX,cAAc;IACd,SAAS;CACV,CAAC;AAEF;;+EAE+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACvF,CAAC;AAED,wDAAwD;AACxD,MAAM,iBAAiB,GAAuC;IAC5D,+EAA+E;IAC/E,kFAAkF;IAClF,oDAAoD;IACpD,EAAE,MAAM,EAAE,yEAAyE,EAAE,IAAI,EAAE,6BAA6B,EAAE;IAC1H,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACpE,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACxE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAClD,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACrE,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,eAAe,EAAE;IACxE,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE;IAC5D,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACpE,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACpE,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE;CACnE,CAAC;AAEF,mFAAmF;AACnF,mFAAmF;AACnF,iFAAiF;AACjF,iFAAiF;AACjF,EAAE;AACF,4EAA4E;AAC5E,kFAAkF;AAClF,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,0DAA0D;AAC1D,MAAM,eAAe,GACnB,sLAAsL,CAAC;AAEzL,4EAA4E;AAC5E,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,kFAAkF;AAClF,8DAA8D;AAC9D,MAAM,qBAAqB,GAAqC;IAC9D,EAAE,IAAI,EAAE,2EAA2E,EAAE,IAAI,EAAE,4DAA4D,EAAE;IACzJ,mFAAmF;IACnF,uFAAuF;IACvF,oFAAoF;IACpF,qFAAqF;IACrF,oFAAoF;IACpF,EAAE,IAAI,EAAE,+DAA+D,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACtG,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,+BAA+B,EAAE;IAC7F,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,8BAA8B,EAAE;IAC/E,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,aAAa,EAAE;IACzE,EAAE,IAAI,EAAE,gEAAgE,EAAE,IAAI,EAAE,qDAAqD,EAAE;CACxI,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,qBAAqB,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/tools/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * invisible.ts — remove characters a person cannot see but a model can read.
3
+ *
4
+ * Unicode has characters that render as nothing. Some of them can carry a whole
5
+ * message: every ASCII letter has a twin in the "tag" block (U+E0000 to U+E007F), and
6
+ * runs of zero-width characters or variation selectors can encode arbitrary bytes. A
7
+ * project notes file, a web page or a tool result can therefore hold an instruction
8
+ * that is invisible to whoever reviews it and perfectly legible to the model.
9
+ * Bidirectional overrides do the opposite: text that reads one way on screen and
10
+ * another way in the bytes.
11
+ *
12
+ * None of these has an ordinary use in what an agent reads, with three exceptions that
13
+ * are kept: the tag sequences that spell a subdivision flag (England, Scotland, Wales),
14
+ * a single zero-width joiner or non-joiner (emoji sequences, Persian and Indic text),
15
+ * and a single variation selector (emoji presentation, CJK variants). What is removed:
16
+ *
17
+ * - tag characters outside a flag sequence
18
+ * - bidirectional embedding, override and isolate controls
19
+ * - runs of two or more zero-width characters
20
+ * - runs of two or more variation selectors
21
+ *
22
+ * Applied where text is sent to the model (see dynamo/engine.ts), not where it is
23
+ * stored, so the transcript and the screen keep the original.
24
+ */
25
+ /** A subdivision flag: black flag, two to six tag letters or digits, cancel tag. */
26
+ const FLAG = "\u{1F3F4}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{2,6}\u{E007F}";
27
+ const TAGS = "[\u{E0000}-\u{E007F}]+";
28
+ const BIDI = "[‪-‮⁦-⁩]+";
29
+ const ZERO_WIDTH_RUN = "[​-‍⁠᠎]{2,}";
30
+ const SELECTOR_RUN = "[︀-️\u{E0100}-\u{E01EF}]{2,}";
31
+ const PATTERN = new RegExp(`(${FLAG})|${TAGS}|${BIDI}|${ZERO_WIDTH_RUN}|${SELECTOR_RUN}`, "gu");
32
+ /**
33
+ * A cheap test for "might contain something to remove": any zero-width, bidi or
34
+ * selector character, or a high surrogate of the planes holding tags and the
35
+ * supplementary selectors. Most text has none and skips the full pass.
36
+ */
37
+ const MAYBE = /[​-‍⁠᠎‪-‮⁦-⁩︀-️\uDB40]/;
38
+ /** The text without hidden characters, and how many code points were removed (pure). */
39
+ export function stripInvisible(text) {
40
+ if (!MAYBE.test(text))
41
+ return { text, removed: 0 };
42
+ let removed = 0;
43
+ const out = text.replace(PATTERN, (match, flag) => {
44
+ if (flag)
45
+ return match;
46
+ removed += [...match].length;
47
+ return "";
48
+ });
49
+ return { text: out, removed };
50
+ }
51
+ /**
52
+ * The text without hidden characters, followed by a visible note when any were
53
+ * removed, so the model (and anyone reading the request) knows the text was altered
54
+ * and that its source tried to hide something.
55
+ */
56
+ export function withoutInvisible(text) {
57
+ const { text: out, removed } = stripInvisible(text);
58
+ if (removed === 0)
59
+ return text;
60
+ return `${out}\n[${removed} hidden character${removed === 1 ? "" : "s"} removed from the text above; its source contained text that is invisible on screen]`;
61
+ }
62
+ //# sourceMappingURL=invisible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invisible.js","sourceRoot":"","sources":["../../src/tools/invisible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,oFAAoF;AACpF,MAAM,IAAI,GAAG,iEAAiE,CAAC;AAC/E,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,cAAc,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;AAEhG;;;;GAIG;AACH,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAExC,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,IAAwB,EAAE,EAAE;QAC5E,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,GAAG,GAAG,MAAM,OAAO,oBAAoB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,sFAAsF,CAAC;AAC/J,CAAC"}
@@ -29,6 +29,7 @@
29
29
  */
30
30
  import { spawn, spawnSync } from "node:child_process";
31
31
  import { readFileSync } from "node:fs";
32
+ import { childEnv } from "./childEnv.js";
32
33
  const IS_WINDOWS = process.platform === "win32";
33
34
  /**
34
35
  * How long a process gets to shut down cleanly before it is killed outright.
@@ -56,6 +57,8 @@ function killArgs(pid) {
56
57
  export function spawnManaged(command, args, options = {}) {
57
58
  return spawn(command, args, {
58
59
  ...options,
60
+ // Without an explicit environment a child gets the user's, not Mindweave's (see childEnv.ts).
61
+ env: options.env ?? childEnv(),
59
62
  windowsHide: options.windowsHide ?? true,
60
63
  // POSIX: lead our own process group so the whole tree can be signalled at once.
61
64
  // Windows has no process groups in this sense; taskkill /T walks the tree instead.
@@ -1 +1 @@
1
- {"version":3,"file":"killTree.js","sourceRoot":"","sources":["../../src/tools/killTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"killTree.js","sourceRoot":"","sources":["../../src/tools/killTree.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * judgment, not the tool's job.
12
12
  */
13
13
  import { promises as fs } from "node:fs";
14
- import { foreignAgentReason, protectedPathReason } from "./guard.js";
14
+ import { foreignAgentReason, guardedPathReason } from "./guard.js";
15
15
  import { requestAgentDataAccess } from "./approval.js";
16
16
  import { relativize, resolvePath, nextTouch, touch, markScope } from "./paths.js";
17
17
  import { addFocus } from "./focus.js";
@@ -201,7 +201,7 @@ async function readOne(rawPath, ctx, offset, limit) {
201
201
  if (!trimmed)
202
202
  return bad("empty path.");
203
203
  const filePath = resolvePath(ctx, trimmed);
204
- const blocked = protectedPathReason(filePath);
204
+ const blocked = await guardedPathReason(filePath);
205
205
  if (blocked)
206
206
  return bad(`Refusing to read ${trimmed}: it is ${blocked}.`);
207
207
  const otherTool = foreignAgentReason(filePath);
@@ -320,7 +320,15 @@ async function readOne(rawPath, ctx, offset, limit) {
320
320
  return {
321
321
  label: shown,
322
322
  body,
323
- summary: empty ? `read ${shown} (empty)` : ranged ? `read ${shown} lines ${start}-${end}` : `read ${shown} (${slice.length} lines)`,
323
+ // A read that stopped at the cap says which part it took, like one with a range, so a
324
+ // row never calls a thousand of five thousand lines "the whole file".
325
+ summary: empty
326
+ ? `read ${shown} (empty)`
327
+ : ranged
328
+ ? `read ${shown} lines ${start}-${end}`
329
+ : end < totalLines
330
+ ? `read ${shown} lines ${start}-${end} of ${totalLines}`
331
+ : `read ${shown} (${slice.length} lines)`,
324
332
  // Presence, recorded as a FACT at the moment it is true, keyed by the absolute path
325
333
  // this call actually resolved to. Re-deriving it later by re-resolving these
326
334
  // arguments would be a guess: `cd` moves the working directory mid-session, so the
@@ -1 +1 @@
1
- {"version":3,"file":"readFile.js","sourceRoot":"","sources":["../../src/tools/readFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readFile.js","sourceRoot":"","sources":["../../src/tools/readFile.ts"],"names":[],"mappings":"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"}