mindweave 2.5.0 → 3.0.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 (255) hide show
  1. package/README.md +81 -145
  2. package/dist/cli/App.js +579 -304
  3. package/dist/cli/App.js.map +1 -1
  4. package/dist/cli/analytics.js +27 -18
  5. package/dist/cli/analytics.js.map +1 -1
  6. package/dist/cli/attachments.js +34 -0
  7. package/dist/cli/attachments.js.map +1 -1
  8. package/dist/cli/bannerFit.js +70 -0
  9. package/dist/cli/bannerFit.js.map +1 -0
  10. package/dist/cli/bootstrap.js +41 -3
  11. package/dist/cli/bootstrap.js.map +1 -1
  12. package/dist/cli/commands.js +4 -1
  13. package/dist/cli/commands.js.map +1 -1
  14. package/dist/cli/components/ApprovalBox.js +3 -2
  15. package/dist/cli/components/ApprovalBox.js.map +1 -1
  16. package/dist/cli/components/BlockView.js +27 -6
  17. package/dist/cli/components/BlockView.js.map +1 -1
  18. package/dist/cli/components/FirstRunFrame.js +2 -1
  19. package/dist/cli/components/FirstRunFrame.js.map +1 -1
  20. package/dist/cli/components/KeyManager.js +5 -4
  21. package/dist/cli/components/KeyManager.js.map +1 -1
  22. package/dist/cli/components/KeySetup.js +29 -13
  23. package/dist/cli/components/KeySetup.js.map +1 -1
  24. package/dist/cli/components/MarathonBox.js +64 -0
  25. package/dist/cli/components/MarathonBox.js.map +1 -0
  26. package/dist/cli/components/McpMinitabs.js +8 -7
  27. package/dist/cli/components/McpMinitabs.js.map +1 -1
  28. package/dist/cli/components/Picker.js +4 -3
  29. package/dist/cli/components/Picker.js.map +1 -1
  30. package/dist/cli/components/PromptInput.js +47 -8
  31. package/dist/cli/components/PromptInput.js.map +1 -1
  32. package/dist/cli/components/PulseDot.js +42 -0
  33. package/dist/cli/components/PulseDot.js.map +1 -0
  34. package/dist/cli/components/SubagentView.js +9 -6
  35. package/dist/cli/components/SubagentView.js.map +1 -1
  36. package/dist/cli/components/TipLine.js +2 -1
  37. package/dist/cli/components/TipLine.js.map +1 -1
  38. package/dist/cli/components/ToolGroup.js +65 -49
  39. package/dist/cli/components/ToolGroup.js.map +1 -1
  40. package/dist/cli/components/ToolLine.js +20 -19
  41. package/dist/cli/components/ToolLine.js.map +1 -1
  42. package/dist/cli/components/TrustGate.js +2 -1
  43. package/dist/cli/components/TrustGate.js.map +1 -1
  44. package/dist/cli/components/minitabs.js +3 -2
  45. package/dist/cli/components/minitabs.js.map +1 -1
  46. package/dist/cli/desktopApp.js +45 -0
  47. package/dist/cli/desktopApp.js.map +1 -0
  48. package/dist/cli/help.js +1 -0
  49. package/dist/cli/help.js.map +1 -1
  50. package/dist/cli/inkOutputPatch.js +285 -0
  51. package/dist/cli/inkOutputPatch.js.map +1 -0
  52. package/dist/cli/inkSpeed.js +29 -0
  53. package/dist/cli/inkSpeed.js.map +1 -0
  54. package/dist/cli/inkSpeedLoader.js +47 -0
  55. package/dist/cli/inkSpeedLoader.js.map +1 -0
  56. package/dist/cli/inputText.js +30 -0
  57. package/dist/cli/inputText.js.map +1 -0
  58. package/dist/cli/keyManager.js +2 -1
  59. package/dist/cli/keyManager.js.map +1 -1
  60. package/dist/cli/keyPrefs.js +90 -0
  61. package/dist/cli/keyPrefs.js.map +1 -0
  62. package/dist/cli/keySetup.js +5 -2
  63. package/dist/cli/keySetup.js.map +1 -1
  64. package/dist/cli/marathonUi.js +113 -0
  65. package/dist/cli/marathonUi.js.map +1 -0
  66. package/dist/cli/markdown.js +63 -11
  67. package/dist/cli/markdown.js.map +1 -1
  68. package/dist/cli/modes.js +3 -3
  69. package/dist/cli/modes.js.map +1 -1
  70. package/dist/cli/prodEnv.js +43 -0
  71. package/dist/cli/prodEnv.js.map +1 -0
  72. package/dist/cli/revealPace.js +5 -5
  73. package/dist/cli/revealPace.js.map +1 -1
  74. package/dist/cli/revealQueue.js +120 -0
  75. package/dist/cli/revealQueue.js.map +1 -0
  76. package/dist/cli/theme.js +47 -0
  77. package/dist/cli/theme.js.map +1 -0
  78. package/dist/cli/toolDisplay.js +112 -18
  79. package/dist/cli/toolDisplay.js.map +1 -1
  80. package/dist/cli/transcript.js +1 -1
  81. package/dist/cli/transcript.js.map +1 -1
  82. package/dist/cli/virtualWindow.js +14 -2
  83. package/dist/cli/virtualWindow.js.map +1 -1
  84. package/dist/cli/wheelAccel.js +73 -0
  85. package/dist/cli/wheelAccel.js.map +1 -0
  86. package/dist/cli/widestLinePatch.js +48 -0
  87. package/dist/cli/widestLinePatch.js.map +1 -0
  88. package/dist/cli/workingVerb.js +88 -28
  89. package/dist/cli/workingVerb.js.map +1 -1
  90. package/dist/cli/wrap.js +1 -1
  91. package/dist/cli/wrap.js.map +1 -1
  92. package/dist/core/contextSettings.js +84 -0
  93. package/dist/core/contextSettings.js.map +1 -0
  94. package/dist/core/limitsView.js +40 -0
  95. package/dist/core/limitsView.js.map +1 -0
  96. package/dist/core/mcpServers.js +164 -0
  97. package/dist/core/mcpServers.js.map +1 -0
  98. package/dist/core/permissions.js +209 -0
  99. package/dist/core/permissions.js.map +1 -0
  100. package/dist/core/providerKeys.js +187 -0
  101. package/dist/core/providerKeys.js.map +1 -0
  102. package/dist/core/rulesSkills.js +142 -0
  103. package/dist/core/rulesSkills.js.map +1 -0
  104. package/dist/core/spendView.js +90 -0
  105. package/dist/core/spendView.js.map +1 -0
  106. package/dist/core/turnRunner.js +759 -0
  107. package/dist/core/turnRunner.js.map +1 -0
  108. package/dist/drivers/anthropic/client.js +101 -26
  109. package/dist/drivers/anthropic/client.js.map +1 -1
  110. package/dist/drivers/anthropic/manifest.js +43 -13
  111. package/dist/drivers/anthropic/manifest.js.map +1 -1
  112. package/dist/drivers/cerebras/manifest.js +13 -3
  113. package/dist/drivers/cerebras/manifest.js.map +1 -1
  114. package/dist/drivers/deepseek/manifest.js +24 -34
  115. package/dist/drivers/deepseek/manifest.js.map +1 -1
  116. package/dist/drivers/glm/manifest.js +21 -6
  117. package/dist/drivers/glm/manifest.js.map +1 -1
  118. package/dist/drivers/groq/manifest.js +5 -2
  119. package/dist/drivers/groq/manifest.js.map +1 -1
  120. package/dist/drivers/kimi/manifest.js +13 -10
  121. package/dist/drivers/kimi/manifest.js.map +1 -1
  122. package/dist/drivers/meta/manifest.js +21 -16
  123. package/dist/drivers/meta/manifest.js.map +1 -1
  124. package/dist/drivers/minimax/manifest.js +15 -12
  125. package/dist/drivers/minimax/manifest.js.map +1 -1
  126. package/dist/drivers/ollama/catalog.js +71 -0
  127. package/dist/drivers/ollama/catalog.js.map +1 -0
  128. package/dist/drivers/ollama/client.js +164 -0
  129. package/dist/drivers/ollama/client.js.map +1 -0
  130. package/dist/drivers/ollama/endpoint.js +42 -0
  131. package/dist/drivers/ollama/endpoint.js.map +1 -0
  132. package/dist/drivers/ollama/index.js +5 -0
  133. package/dist/drivers/ollama/index.js.map +1 -0
  134. package/dist/drivers/ollama/manifest.js +64 -0
  135. package/dist/drivers/ollama/manifest.js.map +1 -0
  136. package/dist/drivers/openai/client.js +10 -4
  137. package/dist/drivers/openai/client.js.map +1 -1
  138. package/dist/drivers/openai/manifest.js +69 -18
  139. package/dist/drivers/openai/manifest.js.map +1 -1
  140. package/dist/drivers/qwen/manifest.js +19 -6
  141. package/dist/drivers/qwen/manifest.js.map +1 -1
  142. package/dist/drivers/registry.js +11 -0
  143. package/dist/drivers/registry.js.map +1 -1
  144. package/dist/drivers/retryPolicy.js +26 -1
  145. package/dist/drivers/retryPolicy.js.map +1 -1
  146. package/dist/drivers/xai/client.js +12 -10
  147. package/dist/drivers/xai/client.js.map +1 -1
  148. package/dist/drivers/xai/manifest.js +62 -25
  149. package/dist/drivers/xai/manifest.js.map +1 -1
  150. package/dist/dynamo/auxModel.js +54 -0
  151. package/dist/dynamo/auxModel.js.map +1 -0
  152. package/dist/dynamo/engine.js +407 -99
  153. package/dist/dynamo/engine.js.map +1 -1
  154. package/dist/dynamo/guard.js +10 -0
  155. package/dist/dynamo/guard.js.map +1 -1
  156. package/dist/dynamo/liveMeter.js +25 -6
  157. package/dist/dynamo/liveMeter.js.map +1 -1
  158. package/dist/dynamo/marathon.js +409 -0
  159. package/dist/dynamo/marathon.js.map +1 -0
  160. package/dist/dynamo/marathonPrompt.js +45 -0
  161. package/dist/dynamo/marathonPrompt.js.map +1 -0
  162. package/dist/dynamo/model.js +6 -2
  163. package/dist/dynamo/model.js.map +1 -1
  164. package/dist/dynamo/toolBatches.js +58 -0
  165. package/dist/dynamo/toolBatches.js.map +1 -0
  166. package/dist/dynamo/usageLimits.js +446 -0
  167. package/dist/dynamo/usageLimits.js.map +1 -0
  168. package/dist/governor/freshness.js +10 -7
  169. package/dist/governor/freshness.js.map +1 -1
  170. package/dist/governor/index.js +76 -9
  171. package/dist/governor/index.js.map +1 -1
  172. package/dist/governor/write.js +43 -14
  173. package/dist/governor/write.js.map +1 -1
  174. package/dist/index.js +18 -151
  175. package/dist/index.js.map +1 -1
  176. package/dist/main.js +162 -0
  177. package/dist/main.js.map +1 -0
  178. package/dist/mcp/manager.js +18 -0
  179. package/dist/mcp/manager.js.map +1 -1
  180. package/dist/memory/allMetas.js +69 -0
  181. package/dist/memory/allMetas.js.map +1 -0
  182. package/dist/memory/compaction.js +70 -15
  183. package/dist/memory/compaction.js.map +1 -1
  184. package/dist/memory/earlier.js +15 -0
  185. package/dist/memory/earlier.js.map +1 -0
  186. package/dist/memory/profile.js +93 -0
  187. package/dist/memory/profile.js.map +1 -0
  188. package/dist/memory/rewind.js +262 -0
  189. package/dist/memory/rewind.js.map +1 -0
  190. package/dist/memory/session.js +42 -10
  191. package/dist/memory/session.js.map +1 -1
  192. package/dist/memory/sessionMemory.js +48 -13
  193. package/dist/memory/sessionMemory.js.map +1 -1
  194. package/dist/memory/sessionMemoryCompact.js +1 -1
  195. package/dist/memory/sessionMemoryCompact.js.map +1 -1
  196. package/dist/memory/sessionTitle.js +50 -0
  197. package/dist/memory/sessionTitle.js.map +1 -0
  198. package/dist/memory/store.js +42 -1
  199. package/dist/memory/store.js.map +1 -1
  200. package/dist/memory/types.js.map +1 -1
  201. package/dist/tools/askUser.js +14 -0
  202. package/dist/tools/askUser.js.map +1 -1
  203. package/dist/tools/backgroundShells.js +208 -5
  204. package/dist/tools/backgroundShells.js.map +1 -1
  205. package/dist/tools/browser.js +176 -0
  206. package/dist/tools/browser.js.map +1 -0
  207. package/dist/tools/cdp.js +165 -0
  208. package/dist/tools/cdp.js.map +1 -0
  209. package/dist/tools/checkpoints.js +208 -5
  210. package/dist/tools/checkpoints.js.map +1 -1
  211. package/dist/tools/deferredNative.js +2 -0
  212. package/dist/tools/deferredNative.js.map +1 -1
  213. package/dist/tools/detail.js +9 -6
  214. package/dist/tools/detail.js.map +1 -1
  215. package/dist/tools/edit.js +2 -1
  216. package/dist/tools/edit.js.map +1 -1
  217. package/dist/tools/exitPlan.js +4 -0
  218. package/dist/tools/exitPlan.js.map +1 -1
  219. package/dist/tools/hiddenDesktop.js +273 -0
  220. package/dist/tools/hiddenDesktop.js.map +1 -0
  221. package/dist/tools/listeningPorts.js +134 -0
  222. package/dist/tools/listeningPorts.js.map +1 -0
  223. package/dist/tools/mcpSearch.js +8 -0
  224. package/dist/tools/mcpSearch.js.map +1 -1
  225. package/dist/tools/mindweaveStatus.js +1 -1
  226. package/dist/tools/mindweaveStatus.js.map +1 -1
  227. package/dist/tools/registry.js +3 -0
  228. package/dist/tools/registry.js.map +1 -1
  229. package/dist/tools/replaceSymbol.js +2 -1
  230. package/dist/tools/replaceSymbol.js.map +1 -1
  231. package/dist/tools/runCommand.js +113 -9
  232. package/dist/tools/runCommand.js.map +1 -1
  233. package/dist/tools/screenshot.js +4 -6
  234. package/dist/tools/screenshot.js.map +1 -1
  235. package/dist/tools/screenshotWin.js +26 -9
  236. package/dist/tools/screenshotWin.js.map +1 -1
  237. package/dist/tools/stateCheckpoint.js +128 -0
  238. package/dist/tools/stateCheckpoint.js.map +1 -0
  239. package/dist/tools/todo.js +6 -0
  240. package/dist/tools/todo.js.map +1 -1
  241. package/dist/tools/ui.js +1295 -0
  242. package/dist/tools/ui.js.map +1 -0
  243. package/dist/tools/uiHide.js +356 -0
  244. package/dist/tools/uiHide.js.map +1 -0
  245. package/dist/tools/uiPage.js +861 -0
  246. package/dist/tools/uiPage.js.map +1 -0
  247. package/dist/tools/uiWin.js +506 -0
  248. package/dist/tools/uiWin.js.map +1 -0
  249. package/dist/tools/webFetch.js +32 -25
  250. package/dist/tools/webFetch.js.map +1 -1
  251. package/dist/tools/webSearch.js +12 -0
  252. package/dist/tools/webSearch.js.map +1 -1
  253. package/dist/tools/writeFile.js +2 -1
  254. package/dist/tools/writeFile.js.map +1 -1
  255. package/package.json +78 -75
@@ -0,0 +1,43 @@
1
+ /**
2
+ * prodEnv.ts — run the terminal UI on React's PRODUCTION build, without leaking that setting.
3
+ *
4
+ * React ships two builds in one package and picks between them when it is first loaded, by
5
+ * reading `process.env.NODE_ENV`. Nothing set it, so the app has always run on the
6
+ * DEVELOPMENT build: the one that validates every element it creates, keeps debug
7
+ * information on each, and does extra bookkeeping on every render. Measured on a long
8
+ * transcript, a profile of one scrolling session spent more time in React's `jsx` and
9
+ * `createElement` than in anything of ours, and the same scroll ran at roughly 36 frames a
10
+ * second on the development build against 62 on production, with React's share of the CPU
11
+ * falling from about 1.2 seconds to under 0.1.
12
+ *
13
+ * ## It must not stay set
14
+ *
15
+ * This process runs the user's commands, and a child inherits the environment. `NODE_ENV=
16
+ * production` in there makes `npm install` skip dev dependencies, makes test runners and build
17
+ * tools behave as if shipping, and is exactly the kind of invisible difference that costs an
18
+ * afternoon. So the variable is set only while the few modules that read it are loaded, and
19
+ * put back the moment they have been. React reads it once, at load, so nothing is lost: the
20
+ * modules are cached, and the application's own imports get the production instances.
21
+ *
22
+ * An explicit `NODE_ENV` is left alone, so `NODE_ENV=development mindweave` still gives the
23
+ * slow, checked build when debugging the UI itself.
24
+ */
25
+ /** The packages whose build depends on NODE_ENV, in the order the application needs them. */
26
+ export const REACT_PACKAGES = ["react", "react/jsx-runtime", "ink"];
27
+ /**
28
+ * Load `packages` with NODE_ENV=production, then restore the environment exactly as it was.
29
+ * Does nothing when NODE_ENV is already set: that is the user's choice.
30
+ */
31
+ export async function loadWithProductionEnv(packages = REACT_PACKAGES) {
32
+ if (process.env["NODE_ENV"])
33
+ return;
34
+ process.env["NODE_ENV"] = "production";
35
+ try {
36
+ for (const name of packages)
37
+ await import(name);
38
+ }
39
+ finally {
40
+ delete process.env["NODE_ENV"];
41
+ }
42
+ }
43
+ //# sourceMappingURL=prodEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prodEnv.js","sourceRoot":"","sources":["../../src/cli/prodEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAA8B,cAAc;IACtF,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IACpC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;IACvC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,QAAQ;YAAE,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -77,12 +77,12 @@ export function revealWait({ flush }) {
77
77
  * the one place the pacer could not see.
78
78
  *
79
79
  * Sealing it on its own beat first lets the sentence land alone and be read before
80
- * the row arrives under it. That is worth a beat only when a block will actually
81
- * appear, which is why `narrated` is checked here: the narration budget is one line
82
- * per TURN, so a second sentence seals to nothing (sealAssistant's `suppressed`) and
83
- * pausing for it would buy an empty three seconds.
80
+ * the row arrives under it. This holds for EVERY sentence in a turn, not just the first:
81
+ * narration used to be capped at one line per turn, so a second sentence sealed to nothing
82
+ * and was skipped here, and that cap was removed (see sealAssistant). Left in place, this
83
+ * check made the second and later sentences land in the same paint as their tool row.
84
84
  */
85
85
  export function narrationPending(s) {
86
- return s.openAsstId !== null && !s.narrated && s.raw.trim().length > 0;
86
+ return s.openAsstId !== null && s.raw.trim().length > 0;
87
87
  }
88
88
  //# sourceMappingURL=revealPace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revealPace.js","sourceRoot":"","sources":["../../src/cli/revealPace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,2EAA2E;AAC3E,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAQ5E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAa;IAC7C,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAgE;IAC/F,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"revealPace.js","sourceRoot":"","sources":["../../src/cli/revealPace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,2EAA2E;AAC3E,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAQ5E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAa;IAC7C,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAiE;IAChG,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,120 @@
1
+ export function newPacer(queue = []) {
2
+ return { queue, running: new Set(), groupOpen: false, holdUntil: new Map() };
3
+ }
4
+ /** Whether an action is a new block, which reaches the screen only on the beat. */
5
+ export function isPaced(a, groupOpen) {
6
+ if (a.type === "toolStart")
7
+ return a.group ? !groupOpen : true;
8
+ return (a.type !== "token" &&
9
+ a.type !== "toolEnd" &&
10
+ a.type !== "toolProgress" &&
11
+ a.type !== "subToolStart" &&
12
+ a.type !== "subToolEnd" &&
13
+ a.type !== "subagentEnd");
14
+ }
15
+ /** Remove and return this call's result from the queue, if it has arrived. */
16
+ function takeEnd(queue, toolId) {
17
+ const i = queue.findIndex((x) => x.type === "toolEnd" && x.toolId === toolId);
18
+ return i === -1 ? undefined : queue.splice(i, 1)[0];
19
+ }
20
+ /** A tool call going on screen: with its result in the same paint when that is already here,
21
+ * otherwise on its own, and remembered as running. */
22
+ function openCall(p, start) {
23
+ const end = takeEnd(p.queue, start.toolId);
24
+ if (end)
25
+ return [start, end];
26
+ p.running.add(start.toolId);
27
+ return [start];
28
+ }
29
+ /**
30
+ * Take everything that may be shown right now, without waiting for a beat, in order: results and
31
+ * progress of rows already on screen, then whatever sits at the front and is not a new block
32
+ * (text accumulating silently, a read joining the open read row, a sub-agent's own steps).
33
+ */
34
+ export function takeImmediate(p, f) {
35
+ const out = [];
36
+ let changed = true;
37
+ while (changed) {
38
+ changed = false;
39
+ if (p.running.size > 0) {
40
+ for (let i = 0; i < p.queue.length;) {
41
+ const x = p.queue[i];
42
+ const held = x.type === "toolEnd" && !f.flushing && f.now !== undefined && (p.holdUntil.get(x.toolId) ?? 0) > f.now;
43
+ if ((x.type === "toolEnd" || x.type === "toolProgress") && p.running.has(x.toolId) && !held) {
44
+ p.queue.splice(i, 1);
45
+ out.push(x);
46
+ if (x.type === "toolEnd") {
47
+ p.running.delete(x.toolId);
48
+ p.holdUntil.delete(x.toolId);
49
+ }
50
+ changed = true;
51
+ }
52
+ else
53
+ i++;
54
+ }
55
+ }
56
+ while (p.queue.length > 0 && !isPaced(p.queue[0], p.groupOpen)) {
57
+ const a = p.queue.shift();
58
+ if (a.type === "toolStart")
59
+ out.push(...openCall(p, a));
60
+ else
61
+ out.push(a);
62
+ // A read row stays open while reads keep coming; anything else closes it, as the
63
+ // transcript's own closeToolGroup does on the same actions.
64
+ if (a.type === "toolStart" && a.group)
65
+ p.groupOpen = true;
66
+ else if (a.type !== "toolEnd" && a.type !== "toolProgress")
67
+ p.groupOpen = false;
68
+ changed = true;
69
+ }
70
+ }
71
+ // Nothing more can arrive (or the user asked for everything now): a row still waiting for a
72
+ // result that is not coming must not hold the rest of the turn back.
73
+ if ((f.flushing || f.streamDone) && p.running.size > 0)
74
+ p.running.clear();
75
+ return out;
76
+ }
77
+ /**
78
+ * What the pump does next: `wait` while a row on screen is still working (its result releases
79
+ * it), `idle` when nothing is queued, `beat` when the next block is ready for its beat.
80
+ */
81
+ export function nextMove(p) {
82
+ if (p.running.size > 0)
83
+ return "wait";
84
+ if (p.queue.length === 0)
85
+ return "idle";
86
+ return "beat";
87
+ }
88
+ /** The block that goes on screen when the beat comes. Measured then, not when the beat was
89
+ * scheduled: the queue keeps growing in between, and a result that arrived meanwhile belongs
90
+ * in the same paint as its call. */
91
+ export function takePaced(p, f) {
92
+ const front = p.queue[0];
93
+ if (!front)
94
+ return [];
95
+ // A sentence in front of a tool row gets its own beat, so the two never land in one paint.
96
+ if (front.type === "toolStart" && f.narrationPending) {
97
+ p.groupOpen = false;
98
+ return [{ type: "sealNarration" }];
99
+ }
100
+ p.queue.shift();
101
+ if (front.type === "toolStart") {
102
+ p.groupOpen = !!front.group;
103
+ return openCall(p, front);
104
+ }
105
+ p.groupOpen = false;
106
+ return [front];
107
+ }
108
+ /** When the next held result may be shown: the earliest hold whose result is already waiting. */
109
+ export function nextHoldAt(p) {
110
+ let at = null;
111
+ for (const x of p.queue) {
112
+ if (x.type !== "toolEnd")
113
+ continue;
114
+ const t = p.holdUntil.get(x.toolId);
115
+ if (t !== undefined && (at === null || t < at))
116
+ at = t;
117
+ }
118
+ return at;
119
+ }
120
+ //# sourceMappingURL=revealQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revealQueue.js","sourceRoot":"","sources":["../../src/cli/revealQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * theme.ts — the terminal's colours, taken from the desktop app's palette.
3
+ *
4
+ * The CLI used the terminal's own named colours (cyan for "this one", green for a pass),
5
+ * which every terminal theme draws differently and none of which belong to Mindweave. The
6
+ * app has a palette of its own: near-black ground, jade for what is selected or in use,
7
+ * a yellow-green for success, a soft red for failure, and a warm cream for code. Using the
8
+ * same values here means the two front ends read as one product, and a colour means the
9
+ * same thing in both.
10
+ *
11
+ * Exact hex values, so a truecolor terminal shows exactly these. One place, so a palette
12
+ * change is one edit (mirror it in mwcode-desktop/styles.css, `:root`).
13
+ */
14
+ /** Selected, in use, or under the cursor: the prompt marker, the chosen row of a list. The
15
+ * app's `--accent-hi`, the brighter jade, so it stays legible on a dark terminal. */
16
+ export const ACCENT = "#52BF92";
17
+ /** A finished result that succeeded (a passing test run, an exit code 0). App `--good`. */
18
+ export const GOOD = "#A3CF6E";
19
+ /** Failure or danger. App `--bad`. */
20
+ export const BAD = "#EC7C72";
21
+ /** Inline code and file names in the agent's prose. App `--syn-prop`. */
22
+ export const CODE = "#E3CFA8";
23
+ /** Links in the agent's prose. App `--accent`. */
24
+ export const LINK = "#3DA37A";
25
+ /**
26
+ * Your own message: a grey band with white text, so it is findable in a long conversation
27
+ * without competing with the agent's words. App `--glass-3` and `--text`.
28
+ */
29
+ export const USER_BG = "#202523";
30
+ export const USER_FG = "#EEF2EF";
31
+ /** A warning or something waiting on you (low context, a background note). App `--warn`. */
32
+ export const WARN = "#EAB767";
33
+ /**
34
+ * Code in fenced blocks, coloured with the app's syntax palette (`--syn-*` in styles.css), so a
35
+ * code block reads the same in the terminal as in the app. highlight.js's own terminal theme
36
+ * drew keywords in blue, which belongs to neither.
37
+ */
38
+ export const SYNTAX = {
39
+ keyword: "#F0A36B",
40
+ string: "#A9CF8C",
41
+ type: "#8FC0B8",
42
+ number: "#E8C070",
43
+ fn: "#F2CF7A",
44
+ prop: "#E3CFA8",
45
+ comment: "#87928D",
46
+ };
47
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;sFACsF;AACtF,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC;AAEhC,2FAA2F;AAC3F,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,sCAAsC;AACtC,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAE7B,yEAAyE;AACzE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B,kDAAkD;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AAEjC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAE9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;CACV,CAAC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { toPathList } from "../tools/pathList.js";
10
10
  import { formatDuration } from "../tools/detail.js";
11
+ import { BAD, GOOD } from "./theme.js";
11
12
  /** Raw tool name → the bold display name shown in the row. */
12
13
  const DISPLAY_NAME = {
13
14
  read_file: "Read",
@@ -23,6 +24,7 @@ const DISPLAY_NAME = {
23
24
  web_fetch: "Fetch",
24
25
  web_search: "WebSearch",
25
26
  screenshot: "WindowCapture",
27
+ ui: "App",
26
28
  view_image: "Viewed",
27
29
  use_skill: "Skill",
28
30
  skill: "Skill",
@@ -83,6 +85,58 @@ const GROUPABLE = new Set([
83
85
  // a detail), so the one case worth seeing, an actual compiler error with its source
84
86
  // line and squiggle, was the case that got hidden. It now stays ungrouped and reports
85
87
  // nothing at all when it finds nothing (`quiet`), which removes the wall outright.
88
+ /**
89
+ * Tools the conversation never draws where they happen: the agent finding its way around
90
+ * (search and the code lookups), its own notes (the task list), loading a tool, and polling a
91
+ * background command.
92
+ */
93
+ const UNSHOWN = new Set(["search", "outline", "definition", "references", "relevant", "todo_write", "find_tools", "shells"]);
94
+ const READS = new Set(["read_file", "read_symbol"]);
95
+ /** A path as a key: one spelling per file, whatever slashes or case the call used. */
96
+ function pathKey(p) {
97
+ return p.trim().replace(/\\/g, "/").toLowerCase();
98
+ }
99
+ /**
100
+ * Whether the words a model wrote before these tool calls belong in the conversation (pure).
101
+ *
102
+ * Text is shown when it leads to something the user can see: an edit, a command, a first
103
+ * read of a file. When everything it leads to is invisible (searches, lookups, re-reading a
104
+ * file already read this turn), the text is narration about nothing on screen, and the
105
+ * conversation leaves it out. The reply that ends a turn has no calls and is never judged here.
106
+ *
107
+ * `readBefore` holds the files already read this turn; the caller adds this step's reads
108
+ * afterwards with {@link noteReads}.
109
+ */
110
+ export function narrationShown(calls, readBefore) {
111
+ return calls.some((c) => {
112
+ if (UNSHOWN.has(c.name))
113
+ return false;
114
+ if (READS.has(c.name)) {
115
+ const paths = toPathList(c.args);
116
+ return paths.length === 0 || paths.some((p) => !readBefore.has(pathKey(p)));
117
+ }
118
+ return true;
119
+ });
120
+ }
121
+ /** Record the files these calls read, for the next {@link narrationShown} in the same turn. */
122
+ export function noteReads(calls, readBefore) {
123
+ for (const c of calls)
124
+ if (READS.has(c.name))
125
+ for (const p of toPathList(c.args))
126
+ readBefore.add(pathKey(p));
127
+ }
128
+ /**
129
+ * Tools whose calls never become a row at all: the agent finding its way around (search and the
130
+ * code lookups), its own task list, and loading a tool. Their results are always quiet, so they
131
+ * used to vanish without being seen only because a row was held back until its result came. Rows
132
+ * now appear while a call works, so these are left out from the start instead of flashing up and
133
+ * disappearing.
134
+ */
135
+ const NEVER_SHOWN = new Set(["search", "outline", "definition", "references", "relevant", "todo_write", "find_tools"]);
136
+ /** Whether a tool's calls are never drawn in the conversation. */
137
+ export function neverShown(name) {
138
+ return NEVER_SHOWN.has(name);
139
+ }
86
140
  /** Whether a tool call should fold into the discovery group rather than its own row. */
87
141
  export function isGroupable(name) {
88
142
  return GROUPABLE.has(name);
@@ -108,6 +162,7 @@ const TOOL_KIND = {
108
162
  web: "websearch",
109
163
  screenshot: "screenshot",
110
164
  view_image: "screenshot",
165
+ ui: "screenshot",
111
166
  kill_shell: "run",
112
167
  governor: "governor",
113
168
  // The MCP family: finding an external server's tools, reading its data, adding one.
@@ -125,25 +180,24 @@ export function toolKind(name) {
125
180
  return "mcp";
126
181
  return TOOL_KIND[name] ?? "meta";
127
182
  }
128
- /** Terminal colour per action kind — a blue family, truecolor hex (terminals that
129
- * can't render it downsample gracefully). Red is reserved for the error state. */
130
- export const KIND_COLOR = {
131
- read: "#7cc4ff", // light blue — looking at code
132
- search: "#4a90d9", // blue — searching / mapping the codebase
133
- edit: "#3b82f6", // vivid blue — changing code
134
- write: "#38bdf8", // sky — creating a file
135
- run: "#6366f1", // indigo — running a command
136
- check: "#22d3ee", // cyan — diagnostics / verifying
137
- agent: "#a78bfa", // violet — a spawned sub-agent (set apart from the blue tool family)
138
- websearch: "#2dd4bf", // teal — reaching outside the machine (web search / fetch)
139
- screenshot: "#facc15", // amber — a capture, set apart since it's visual not textual
140
- mcp: "#f472b6", // pink — an external server's own tool, not one of ours
141
- checkpoint: "#94a3b8", // slate — housekeeping you'd want to notice (a rollback)
142
- governor: "#fb923c", // orange — a policy decision, not an ordinary tool result
143
- meta: "#60a5fa", // soft blue — bookkeeping (todo, skills, rules)
144
- };
145
183
  /** The dot colour for a failed tool / failed test. */
146
- export const ERROR_COLOR = "#ff5f56";
184
+ export const ERROR_COLOR = BAD;
185
+ /** The dot colour for work that went through. */
186
+ export const OK_COLOR = GOOD;
187
+ /** The kinds whose success is worth showing: something was changed, checked or run. */
188
+ const OK_KINDS = new Set(["edit", "write", "check", "run"]);
189
+ /**
190
+ * A row's dot colour. Three states and nothing else: red when it failed, green once an
191
+ * edit / write / check / command has gone through, and the terminal's own colour (white)
192
+ * for everything else. Undefined means "leave it uncoloured".
193
+ */
194
+ export function dotColorFor(kind, status) {
195
+ if (status === "error")
196
+ return ERROR_COLOR;
197
+ if (status === "ok" && kind !== undefined && OK_KINDS.has(kind))
198
+ return OK_COLOR;
199
+ return undefined;
200
+ }
147
201
  /** Build the `Name(arg)` display parts for a tool call. */
148
202
  export function toolDisplay(name, args) {
149
203
  const kind = toolKind(name);
@@ -189,12 +243,52 @@ export function toolDisplay(name, args) {
189
243
  ...(t ? { meta: `[timeout ${formatDuration(t)}]` } : {}),
190
244
  };
191
245
  }
246
+ // The combined `web` tool says which of the two it is doing by its arguments, and the row
247
+ // names that: a page read shows its address, a search its query. Labelled generically it
248
+ // read "Web" with nothing after it for every page it opened.
249
+ if (name === "web") {
250
+ return str(args.url)
251
+ ? { name: DISPLAY_NAME.web_fetch, arg: clip(str(args.url), 48) || undefined, kind }
252
+ : { name: DISPLAY_NAME.web_search, arg: clip(str(args.query), 48) || undefined, kind };
253
+ }
192
254
  if (name === "web_fetch")
193
255
  return { name: display, arg: clip(str(args.url), 48) || undefined, kind };
194
256
  if (name === "web_search")
195
257
  return { name: display, arg: clip(str(args.query), 48) || undefined, kind };
196
258
  if (name === "screenshot")
197
259
  return { name: display, arg: str(args.window) || undefined, kind };
260
+ // Named by what it does to the app: Look(localhost:5173), Click(#4), Type("halo"), Key(Enter).
261
+ if (name === "ui") {
262
+ const action = str(args.action);
263
+ const target = typeof args.target === "number" || str(args.target) ? `#${String(args.target)}` : str(args.name) ? `"${clip(str(args.name), 32)}"` : "";
264
+ if (Array.isArray(args.steps) && args.steps.length) {
265
+ const n = args.steps.length;
266
+ return { name: "Steps", arg: `${n} step${n === 1 ? "" : "s"}`, kind };
267
+ }
268
+ if (action === "click")
269
+ return { name: "Click", arg: target || undefined, kind };
270
+ if (action === "hover")
271
+ return { name: "Hover", arg: target || undefined, kind };
272
+ if (action === "type")
273
+ return { name: "Type", arg: clip(str(args.text), 40) ? `"${clip(str(args.text), 40)}"` : undefined, kind };
274
+ if (action === "key")
275
+ return { name: "Key", arg: [str(args.key), target].filter(Boolean).join(" ") || undefined, kind };
276
+ if (action === "scroll")
277
+ return { name: "Scroll", arg: str(args.direction) || "down", kind };
278
+ if (action === "back")
279
+ return { name: "Back", kind };
280
+ if (action === "wait")
281
+ return { name: "Wait", arg: clip(str(args.text) || str(args.gone), 40) ? `"${clip(str(args.text) || str(args.gone), 40)}"` : undefined, kind };
282
+ if (action === "resize")
283
+ return { name: "Resize", arg: args.width && args.height ? `${String(args.width)}×${String(args.height)}` : "reset", kind };
284
+ if (action === "inspect")
285
+ return { name: "Inspect", arg: target || undefined, kind };
286
+ if (action === "close")
287
+ return { name: "Close", kind };
288
+ const url = str(args.url).replace(/^https?:\/\//i, "").replace(/\/$/, "");
289
+ const port = args.port !== undefined && args.port !== null && String(args.port) ? `port ${String(args.port)}` : "";
290
+ return { name: "Look", arg: clip(url, 48) || [port, str(args.window)].filter(Boolean).join(" · ") || undefined, kind };
291
+ }
198
292
  if (name === "spawn_subagent")
199
293
  return { name: display, arg: clip(str(args.task), 48) || undefined, kind };
200
294
  // `paths` is a LIST — read_file takes several files in one call, and the row has to
@@ -1 +1 @@
1
- {"version":3,"file":"toolDisplay.js","sourceRoot":"","sources":["../../src/cli/toolDisplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolDisplay.js","sourceRoot":"","sources":["../../src/cli/toolDisplay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,8DAA8D;AAC9D,MAAM,YAAY,GAA2B;IAC3C,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,eAAe;IAC3B,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,UAAU;IAC1B,MAAM,EAAE,OAAO;IACf,kFAAkF;IAClF,2EAA2E;IAC3E,2EAA2E;IAC3E,gFAAgF;IAChF,mBAAmB,EAAE,QAAQ;IAC7B,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,qFAAqF;IACrF,sFAAsF;IACtF,oDAAoD;IACpD,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;CACX,CAAC;AAEF;;;kFAGkF;AAClF,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C,2EAA2E;AAC3E,2EAA2E;AAC3E,mBAAmB;AACnB,EAAE;AACF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,6DAA6D;AAC7D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,WAAW;IACX,aAAa;IACb,mFAAmF;IACnF,oFAAoF;IACpF,yFAAyF;IACzF,QAAQ;CACT,CAAC,CAAC;AACH,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,oFAAoF;AACpF,sFAAsF;AACtF,mFAAmF;AAEnF;;;;GAIG;AACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC7H,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAEpD,sFAAsF;AACtF,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,KAAwD,EAAE,UAA+B;IACtH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,SAAS,CAAC,KAAwD,EAAE,UAAuB;IACzG,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AAEvH,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAqBD,MAAM,SAAS,GAA6B;IAC1C,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;IACZ,mBAAmB,EAAE,MAAM;IAC3B,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,OAAO;IACvB,MAAM,EAAE,KAAK;IACb,6EAA6E;IAC7E,mEAAmE;IACnE,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,WAAW;IACvB,GAAG,EAAE,WAAW;IAChB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,EAAE,EAAE,YAAY;IAChB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,UAAU;IACpB,oFAAoF;IACpF,2EAA2E;IAC3E,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,4DAA4D;CAC7D,CAAC;AAEF;;qFAEqF;AACrF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;AACnC,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAC/B,iDAAiD;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,uFAAuF;AACvF,MAAM,QAAQ,GAA0B,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAA0B,EAAE,MAAkC;IACxF,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC;AAqBD,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAA6B;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5B,gFAAgF;IAChF,+EAA+E;IAC/E,qDAAqD;IACrD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC;IAEtB,gFAAgF;IAChF,4EAA4E;IAC5E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3G,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,kFAAkF;QAClF,4EAA4E;QAC5E,mFAAmF;QACnF,gFAAgF;QAChF,qBAAqB;QACrB,EAAE;QACF,+EAA+E;QAC/E,+EAA+E;QAC/E,iFAAiF;QACjF,wCAAwC;QACxC,EAAE;QACF,kFAAkF;QAClF,kFAAkF;QAClF,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS;YACnC,IAAI;YACJ,oFAAoF;YACpF,kEAAkE;YAClE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;IACD,0FAA0F;IAC1F,yFAAyF;IACzF,6DAA6D;IAC7D,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,SAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE;YACpF,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,UAAW,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IACpG,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IACvG,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9F,+FAA+F;IAC/F,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvJ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACjF,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACjF,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAClI,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACxH,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QAC7F,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACtK,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACpJ,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACrF,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;IAE1G,oFAAoF;IACpF,oFAAoF;IACpF,wFAAwF;IACxF,uFAAuF;IACvF,yBAAyB;IACzB,EAAE;IACF,wFAAwF;IACxF,uEAAuE;IACvE,EAAE;IACF,oFAAoF;IACpF,mFAAmF;IACnF,oFAAoF;IACpF,mFAAmF;IACnF,sFAAsF;IACtF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,GAAG,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,IAAI;YACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,MAAM,IAAI,SAAS;QACxB,IAAI;QACJ,4DAA4D;QAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,oFAAoF;AACpF,SAAS,IAAI,CAAC,CAAS;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,IAAI,CAAC,CAAS,EAAE,GAAW;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAClE,CAAC"}
@@ -234,7 +234,7 @@ export function reduce(s, a) {
234
234
  meta: a.meta,
235
235
  action: a.action,
236
236
  status: "running",
237
- startedAt: Date.now(),
237
+ startedAt: a.at ?? Date.now(),
238
238
  }),
239
239
  });
240
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/cli/transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/cli/transcript.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,17 @@
47
47
  * not already measured.
48
48
  */
49
49
  export const OVERSCAN_BLOCKS = 2;
50
+ /**
51
+ * The most blocks the transcript keeps reachable. It used to be 150, which is only a few dozen
52
+ * turns of tool work, and everything older was simply unreachable by scrolling: a long project
53
+ * lost its own beginning.
54
+ *
55
+ * It can be this large because only the window is ever laid out. Everything else is a spacer,
56
+ * and the cost of the rest is one pass over a list of numbers per frame. Measured: a wheel
57
+ * notch costs the same at 150, 1,000, 3,000 and 8,000 blocks. This is a safety valve for
58
+ * runaway sessions, not a working limit.
59
+ */
60
+ export const SCROLLBACK_BLOCKS = 10_000;
50
61
  /**
51
62
  * The blocks covering rows `[shift, shift + rows)` of the transcript, plus overscan.
52
63
  *
@@ -65,8 +76,9 @@ export function virtualWindow(heights, shift, rows) {
65
76
  const bottom = top + height;
66
77
  // Walk once, accumulating offsets. A binary search over a prefix-sum array would be
67
78
  // asymptotically better and is what a list of thousands would need; this list is
68
- // capped at SCROLLBACK_BLOCKS (150), where one pass over a number array is far
69
- // cheaper than the allocation the prefix-sum table would cost every frame.
79
+ // capped at SCROLLBACK_BLOCKS, where one pass over a number array is still far
80
+ // cheaper than the allocation a prefix-sum table would cost every frame (measured flat
81
+ // up to 8,000 blocks).
70
82
  let first = -1;
71
83
  let last = -1;
72
84
  let offset = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"virtualWindow.js","sourceRoot":"","sources":["../../src/cli/virtualWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAcH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAA0B,EAAE,KAAa,EAAE,IAAY;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAE/E,kFAAkF;IAClF,qFAAqF;IACrF,+DAA+D;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAE5B,oFAAoF;IACpF,iFAAiF;IACjF,+EAA+E;IAC/E,2EAA2E;IAC3E,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,+EAA+E;QAC/E,mFAAmF;QACnF,+CAA+C;QAC/C,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,4EAA4E;IAC5E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAEjE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"virtualWindow.js","sourceRoot":"","sources":["../../src/cli/virtualWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAcH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAA0B,EAAE,KAAa,EAAE,IAAY;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAE/E,kFAAkF;IAClF,qFAAqF;IACrF,+DAA+D;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAE5B,oFAAoF;IACpF,iFAAiF;IACjF,+EAA+E;IAC/E,uFAAuF;IACvF,uBAAuB;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,+EAA+E;QAC/E,mFAAmF;QACnF,+CAA+C;QAC/C,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,4EAA4E;IAC5E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAEjE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAExE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC"}