mindweave 2.5.1 → 3.0.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 (236) hide show
  1. package/README.md +50 -114
  2. package/dist/cli/App.js +580 -305
  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/startupArgs.js +1 -1
  77. package/dist/cli/theme.js +47 -0
  78. package/dist/cli/theme.js.map +1 -0
  79. package/dist/cli/toolDisplay.js +112 -18
  80. package/dist/cli/toolDisplay.js.map +1 -1
  81. package/dist/cli/transcript.js +1 -1
  82. package/dist/cli/transcript.js.map +1 -1
  83. package/dist/cli/virtualWindow.js +14 -2
  84. package/dist/cli/virtualWindow.js.map +1 -1
  85. package/dist/cli/wheelAccel.js +73 -0
  86. package/dist/cli/wheelAccel.js.map +1 -0
  87. package/dist/cli/widestLinePatch.js +48 -0
  88. package/dist/cli/widestLinePatch.js.map +1 -0
  89. package/dist/cli/workingVerb.js +88 -28
  90. package/dist/cli/workingVerb.js.map +1 -1
  91. package/dist/cli/wrap.js +1 -1
  92. package/dist/cli/wrap.js.map +1 -1
  93. package/dist/core/contextSettings.js +84 -0
  94. package/dist/core/contextSettings.js.map +1 -0
  95. package/dist/core/limitsView.js +40 -0
  96. package/dist/core/limitsView.js.map +1 -0
  97. package/dist/core/mcpServers.js +164 -0
  98. package/dist/core/mcpServers.js.map +1 -0
  99. package/dist/core/permissions.js +209 -0
  100. package/dist/core/permissions.js.map +1 -0
  101. package/dist/core/providerKeys.js +187 -0
  102. package/dist/core/providerKeys.js.map +1 -0
  103. package/dist/core/rulesSkills.js +142 -0
  104. package/dist/core/rulesSkills.js.map +1 -0
  105. package/dist/core/spendView.js +90 -0
  106. package/dist/core/spendView.js.map +1 -0
  107. package/dist/core/turnRunner.js +453 -60
  108. package/dist/core/turnRunner.js.map +1 -1
  109. package/dist/drivers/anthropic/client.js +24 -5
  110. package/dist/drivers/anthropic/client.js.map +1 -1
  111. package/dist/drivers/anthropic/manifest.js +15 -2
  112. package/dist/drivers/anthropic/manifest.js.map +1 -1
  113. package/dist/drivers/cerebras/manifest.js +6 -2
  114. package/dist/drivers/cerebras/manifest.js.map +1 -1
  115. package/dist/drivers/deepseek/manifest.js +12 -3
  116. package/dist/drivers/deepseek/manifest.js.map +1 -1
  117. package/dist/drivers/glm/manifest.js +3 -1
  118. package/dist/drivers/glm/manifest.js.map +1 -1
  119. package/dist/drivers/groq/manifest.js +5 -2
  120. package/dist/drivers/groq/manifest.js.map +1 -1
  121. package/dist/drivers/ollama/catalog.js +71 -0
  122. package/dist/drivers/ollama/catalog.js.map +1 -0
  123. package/dist/drivers/ollama/client.js +164 -0
  124. package/dist/drivers/ollama/client.js.map +1 -0
  125. package/dist/drivers/ollama/endpoint.js +42 -0
  126. package/dist/drivers/ollama/endpoint.js.map +1 -0
  127. package/dist/drivers/ollama/index.js +5 -0
  128. package/dist/drivers/ollama/index.js.map +1 -0
  129. package/dist/drivers/ollama/manifest.js +64 -0
  130. package/dist/drivers/ollama/manifest.js.map +1 -0
  131. package/dist/drivers/openai/client.js +10 -4
  132. package/dist/drivers/openai/client.js.map +1 -1
  133. package/dist/drivers/openai/manifest.js +46 -12
  134. package/dist/drivers/openai/manifest.js.map +1 -1
  135. package/dist/drivers/registry.js +11 -0
  136. package/dist/drivers/registry.js.map +1 -1
  137. package/dist/drivers/retryPolicy.js +26 -1
  138. package/dist/drivers/retryPolicy.js.map +1 -1
  139. package/dist/dynamo/auxModel.js +54 -0
  140. package/dist/dynamo/auxModel.js.map +1 -0
  141. package/dist/dynamo/engine.js +380 -99
  142. package/dist/dynamo/engine.js.map +1 -1
  143. package/dist/dynamo/guard.js +10 -0
  144. package/dist/dynamo/guard.js.map +1 -1
  145. package/dist/dynamo/liveMeter.js +25 -6
  146. package/dist/dynamo/liveMeter.js.map +1 -1
  147. package/dist/dynamo/marathon.js +409 -0
  148. package/dist/dynamo/marathon.js.map +1 -0
  149. package/dist/dynamo/marathonPrompt.js +45 -0
  150. package/dist/dynamo/marathonPrompt.js.map +1 -0
  151. package/dist/dynamo/model.js +6 -2
  152. package/dist/dynamo/model.js.map +1 -1
  153. package/dist/dynamo/toolBatches.js +58 -0
  154. package/dist/dynamo/toolBatches.js.map +1 -0
  155. package/dist/dynamo/usageLimits.js +446 -0
  156. package/dist/dynamo/usageLimits.js.map +1 -0
  157. package/dist/governor/freshness.js +10 -7
  158. package/dist/governor/freshness.js.map +1 -1
  159. package/dist/governor/index.js +76 -9
  160. package/dist/governor/index.js.map +1 -1
  161. package/dist/governor/write.js +43 -14
  162. package/dist/governor/write.js.map +1 -1
  163. package/dist/index.js +18 -151
  164. package/dist/index.js.map +1 -1
  165. package/dist/main.js +162 -0
  166. package/dist/main.js.map +1 -0
  167. package/dist/mcp/manager.js +18 -0
  168. package/dist/mcp/manager.js.map +1 -1
  169. package/dist/memory/allMetas.js +69 -0
  170. package/dist/memory/allMetas.js.map +1 -0
  171. package/dist/memory/compaction.js +69 -14
  172. package/dist/memory/compaction.js.map +1 -1
  173. package/dist/memory/earlier.js +15 -0
  174. package/dist/memory/earlier.js.map +1 -0
  175. package/dist/memory/profile.js +93 -0
  176. package/dist/memory/profile.js.map +1 -0
  177. package/dist/memory/rewind.js +262 -0
  178. package/dist/memory/rewind.js.map +1 -0
  179. package/dist/memory/session.js +42 -10
  180. package/dist/memory/session.js.map +1 -1
  181. package/dist/memory/sessionMemory.js +48 -13
  182. package/dist/memory/sessionMemory.js.map +1 -1
  183. package/dist/memory/sessionMemoryCompact.js +1 -1
  184. package/dist/memory/sessionMemoryCompact.js.map +1 -1
  185. package/dist/memory/sessionTitle.js +50 -0
  186. package/dist/memory/sessionTitle.js.map +1 -0
  187. package/dist/memory/store.js +42 -1
  188. package/dist/memory/store.js.map +1 -1
  189. package/dist/memory/types.js.map +1 -1
  190. package/dist/tools/askUser.js +14 -0
  191. package/dist/tools/askUser.js.map +1 -1
  192. package/dist/tools/backgroundShells.js +208 -5
  193. package/dist/tools/backgroundShells.js.map +1 -1
  194. package/dist/tools/browser.js +176 -0
  195. package/dist/tools/browser.js.map +1 -0
  196. package/dist/tools/cdp.js +165 -0
  197. package/dist/tools/cdp.js.map +1 -0
  198. package/dist/tools/checkpoints.js +208 -5
  199. package/dist/tools/checkpoints.js.map +1 -1
  200. package/dist/tools/deferredNative.js +2 -0
  201. package/dist/tools/deferredNative.js.map +1 -1
  202. package/dist/tools/exitPlan.js +4 -0
  203. package/dist/tools/exitPlan.js.map +1 -1
  204. package/dist/tools/hiddenDesktop.js +273 -0
  205. package/dist/tools/hiddenDesktop.js.map +1 -0
  206. package/dist/tools/listeningPorts.js +134 -0
  207. package/dist/tools/listeningPorts.js.map +1 -0
  208. package/dist/tools/mcpSearch.js +8 -0
  209. package/dist/tools/mcpSearch.js.map +1 -1
  210. package/dist/tools/mindweaveStatus.js +1 -1
  211. package/dist/tools/mindweaveStatus.js.map +1 -1
  212. package/dist/tools/registry.js +3 -0
  213. package/dist/tools/registry.js.map +1 -1
  214. package/dist/tools/runCommand.js +107 -6
  215. package/dist/tools/runCommand.js.map +1 -1
  216. package/dist/tools/screenshot.js +4 -6
  217. package/dist/tools/screenshot.js.map +1 -1
  218. package/dist/tools/screenshotWin.js +26 -9
  219. package/dist/tools/screenshotWin.js.map +1 -1
  220. package/dist/tools/stateCheckpoint.js +128 -0
  221. package/dist/tools/stateCheckpoint.js.map +1 -0
  222. package/dist/tools/todo.js +6 -0
  223. package/dist/tools/todo.js.map +1 -1
  224. package/dist/tools/ui.js +1295 -0
  225. package/dist/tools/ui.js.map +1 -0
  226. package/dist/tools/uiHide.js +356 -0
  227. package/dist/tools/uiHide.js.map +1 -0
  228. package/dist/tools/uiPage.js +861 -0
  229. package/dist/tools/uiPage.js.map +1 -0
  230. package/dist/tools/uiWin.js +506 -0
  231. package/dist/tools/uiWin.js.map +1 -0
  232. package/dist/tools/webFetch.js +32 -25
  233. package/dist/tools/webFetch.js.map +1 -1
  234. package/dist/tools/webSearch.js +12 -0
  235. package/dist/tools/webSearch.js.map +1 -1
  236. package/package.json +78 -78
package/README.md CHANGED
@@ -1,145 +1,81 @@
1
- <h1 align="center">Mindweave (mwcode)</h1>
1
+ <h1 align="center">Mindweave</h1>
2
2
 
3
3
  <p align="center">
4
- A fast, model-adaptive, terminal-native AI coding agent.<br>
4
+ A coding agent for your terminal.<br>
5
5
  You bring your own key. It runs on your machine. Nothing goes anywhere else.
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
9
  <a href="LICENSE">Apache 2.0</a> &nbsp;•&nbsp;
10
- <a href="https://x.com/mindweavecli">X</a> &nbsp;•&nbsp;
11
- <a href="https://mindweavedev.netlify.app/">Website</a>
10
+ <a href="https://mindweavedev.netlify.app/">Website</a> &nbsp;•&nbsp;
11
+ <a href="https://github.com/mindweave-cli/mwcode">Desktop app</a> &nbsp;•&nbsp;
12
+ <a href="https://x.com/mindweavecli">X</a>
12
13
  </p>
13
14
 
14
15
  ---
15
16
 
16
- ## What it is
17
+ Mindweave works inside your repository: it reads, searches, edits, runs commands and
18
+ checks its own work. There is no backend and no account. Your code and your key only
19
+ ever go to the model provider you picked.
17
20
 
18
- Mindweave is a coding agent that lives in your terminal and works inside your repository:
19
- reading, searching, editing, running commands, and checking its own work.
21
+ Prompts are kept thin on purpose, so the context goes on your code rather than on
22
+ scaffolding.
20
23
 
21
- It runs entirely on your machine. There is no backend, no telemetry and no account. Your
22
- code and your API key never reach a Mindweave server, because there isn't one.
23
-
24
- It is built lean on purpose. Most of a coding agent's context budget goes on scaffolding
25
- the model never needed. Mindweave keeps prompts thin and leaves the room for the model to
26
- reason about your code.
27
-
28
-
29
- ## Mindweave 1
30
-
31
- Mindweave 1 is out, tagged `mindweave-1`. It is on npm, and the website is up. Install
32
- with the steps below.
33
-
34
- What landed in it is in the [changelog](CHANGELOG.md): fourteen model providers, a
35
- rebuilt terminal interface, reworked prompt caching and token accounting, project notes
36
- the agent maintains across sessions, and a long list of things that were quietly wrong.
24
+ Prefer a window to a terminal? [mwcode](https://github.com/mindweave-cli/mwcode) is the
25
+ desktop app, built on the same engine, for Windows, macOS and Linux.
37
26
 
38
27
  ## Install
39
28
 
40
- Requires **Windows** and **Node.js 20+**. macOS and Linux are not supported yet, and the
41
- reason is written down in [KNOWN-ISSUES.md](KNOWN-ISSUES.md) rather than glossed over.
29
+ Needs **Node.js 24+**. The npm package is supported on **Windows**; on macOS and Linux,
30
+ use the desktop app for now ([why](KNOWN-ISSUES.md)).
42
31
 
43
32
  ```bash
44
33
  npm install -g mindweave
45
- ```
46
-
47
- Then, in any project:
48
-
49
- ```bash
50
34
  cd your-project
51
- mindweave # or mw, for short
35
+ mindweave # or mw
52
36
  ```
53
37
 
54
- To build from source instead — for development, or to run an unreleased change:
38
+ It asks for an API key on first launch and keeps it in `~/.mindweave/.env`.
39
+
40
+ From source:
55
41
 
56
42
  ```bash
57
- git clone https://github.com/mindweave-cli/Mindweave
58
- cd Mindweave
43
+ git clone https://github.com/mindweave-cli/mindweave
44
+ cd mindweave
59
45
  npm install
60
46
  npm run build
61
- npm link # makes the `mindweave` command available globally
47
+ npm link
62
48
  ```
63
49
 
64
- It asks for an API key on first launch and saves it to `~/.mindweave/.env`, so every
65
- project afterwards just works. `mindweave --help` covers the launch flags; everything
66
- else is configured inside a session.
67
-
68
-
69
- ## What it can do
70
-
71
- Short version, one line each. The depth is in the linked pages.
72
-
73
- - **15 providers, 60 models, one key** — DeepSeek, Anthropic, OpenAI, Gemini, xAI,
74
- Mistral, Groq, Cerebras, Qwen, Kimi, GLM, Meta, MiniMax, Tencent, plus every
75
- tool-capable model on OpenRouter. Only the driver you
76
- use is loaded. Switch with `/provider` and `/model`; remembered per project.
77
- [PROVIDERS.md](src/drivers/PROVIDERS.md)
78
- - **Real tools** — read and edit files, multi-file edits, ripgrep search, a shell with
79
- background jobs, and sub-agents. Every edit comes back with the language server's own
80
- errors for that file. Read-before-edit is enforced, and `/undo` is a real net.
81
- - **Deterministic code intelligence** — a background lane indexes your repo with
82
- tree-sitter and language servers, costing no tokens, so the agent understands the
83
- codebase, not just the open file.
84
- - **Session memory** — automatic compaction plus a running state summary that survives
85
- it, and the agent can read its own earlier sessions in a project.
86
- - **Project notes** — MINDWEAVE.md is loaded every session and maintained by the agent;
87
- `@./path` imports split it, a per-folder one applies only there, and `~/.mindweave/`
88
- holds machine-wide notes. `/init` writes the first one.
89
- - **MCP servers** — connect external tool servers with `/mcp add` or in plain words;
90
- their output is untrusted by default. [docs/MCP.md](docs/MCP.md)
91
- - **Images and web search** — drop a screenshot or write `@shot.png`; ask about a recent
92
- release and it looks it up, through your own provider.
93
- - **Seeing your app** — it can capture one named window (never the whole screen, and it
94
- asks first) to tell an app that started from one that works.
95
- - **Per-project governor** — standing rules, reusable skills, and forbidden paths or
96
- commands the agent must respect.
97
-
98
- ## Using it
99
-
100
- | Command | What it does |
101
- | --- | --- |
102
- | `/help` | Lists every command |
103
- | `/init` | Writes MINDWEAVE.md, the project notes loaded every session |
104
- | `/provider` · `/model` · `/think` | Who answers, which model, how hard it reasons |
105
- | `/clear` · `/continue` | Start fresh, or resume an earlier session |
106
- | `/undo` | Reverts what the last turn changed |
107
- | `/update` | Installs the newest version and reopens on this conversation |
108
- | `/mcp` | Manages connected MCP servers |
109
- | `/feedback` | Sends the maintainer a message, no account needed |
110
- | `shift-tab` | Cycles interaction modes |
111
-
112
- Type while it works and your message queues; press up to take it back and edit it.
113
-
114
- ## Read more
115
-
116
- | | |
117
- | --- | --- |
118
- | [CHANGELOG.md](CHANGELOG.md) | What changed, and what each fix actually was |
119
- | [KNOWN-ISSUES.md](KNOWN-ISSUES.md) | What is broken or unfinished, written down rather than carried quietly |
120
- | [PHILOSOPHY.md](PHILOSOPHY.md) | How the project is run and what gets into the core. Short, and the honest version |
121
- | [BOUNDARY.md](BOUNDARY.md) | What belongs in the core versus a driver |
122
- | [CONTRIBUTING.md](CONTRIBUTING.md) | Mechanics, and what is most useful to report |
123
- | [SECURITY.md](SECURITY.md) | Reporting a vulnerability |
124
- | [docs/MCP.md](docs/MCP.md) | Connecting and trusting MCP servers |
125
-
126
- ## Contributing
127
-
128
- Contributions are welcome, especially **model drivers**: Ollama is a stub waiting for
129
- someone, and a driver is a smaller job than people expect, owning one provider's wire
130
- format and nothing about how the agent behaves.
131
-
132
- Small fixes and reproduced bugs with a failing test can go straight to a pull request.
133
- For anything larger, start a Discussion first. AI-assisted contributions are fine; the
134
- one rule is that you understand and have tested what you are submitting.
135
-
136
- Bug reports are genuinely the most useful thing you can send. Mindweave is developed by
137
- running it on real projects and fixing what breaks, and nearly everything in the
138
- changelog started as a failure someone watched happen. [What to include, and what is
139
- especially worth reporting.](CONTRIBUTING.md#reporting-a-bug)
140
-
141
- Questions are welcome at zallinimann@gmail.com
50
+ ## What it does
51
+
52
+ - **16 providers, 62 models** — DeepSeek, Anthropic, OpenAI, Gemini, xAI, Mistral, Groq, Cerebras,
53
+ Qwen, Kimi, GLM, Meta, MiniMax, Tencent, OpenRouter, and local models through Ollama
54
+ with no key at all. [PROVIDERS.md](src/drivers/PROVIDERS.md)
55
+ - **Real tools** — file reads and edits, search, a shell with background jobs,
56
+ sub-agents, web search, and a tool that tests your app by using it.
57
+ - **Code intelligence** — tree-sitter and language servers index the repo in the
58
+ background, at no token cost, and every edit comes back with that file's errors.
59
+ - **Goals that run on their own** — `/marathon` takes a goal and keeps going until it is
60
+ verified done, blocked, or out of budget.
61
+ - **Memory** — project notes in MINDWEAVE.md, compaction that keeps what matters, and
62
+ earlier sessions it can look back at.
63
+ - **Safety nets** — `/undo`, `/rewind`, approval modes, and per-project rules for paths
64
+ and commands it must not touch.
65
+ - **MCP servers** — connect external tools with `/mcp`. [docs/MCP.md](docs/MCP.md)
66
+
67
+ `/help` lists every command. `shift+tab` switches modes. Type while it works and your
68
+ message queues.
69
+
70
+ ## More
71
+
72
+ [CHANGELOG](CHANGELOG.md) · [Known issues](KNOWN-ISSUES.md) ·
73
+ [Philosophy](PHILOSOPHY.md) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md)
74
+
75
+ Contributions are welcome, model drivers especially. Bug reports are the most useful
76
+ thing you can send ([what to include](CONTRIBUTING.md#reporting-a-bug)). Questions:
77
+ zallinimann@gmail.com
142
78
 
143
79
  ## License
144
80
 
145
- [Apache License 2.0](LICENSE).
81
+ [Apache License 2.0](LICENSE)