mindweave 0.0.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +171 -14
- package/dist/alternator/chassis/cache.js +47 -0
- package/dist/alternator/chassis/cache.js.map +1 -0
- package/dist/alternator/chassis/domRefs.js +53 -0
- package/dist/alternator/chassis/domRefs.js.map +1 -0
- package/dist/alternator/chassis/extractWorker.js +65 -0
- package/dist/alternator/chassis/extractWorker.js.map +1 -0
- package/dist/alternator/chassis/graph.js +221 -0
- package/dist/alternator/chassis/graph.js.map +1 -0
- package/dist/alternator/chassis/index.js +463 -0
- package/dist/alternator/chassis/index.js.map +1 -0
- package/dist/alternator/chassis/isolation.js +336 -0
- package/dist/alternator/chassis/isolation.js.map +1 -0
- package/dist/alternator/chassis/langCases.js +69 -0
- package/dist/alternator/chassis/langCases.js.map +1 -0
- package/dist/alternator/chassis/lsp.js +469 -0
- package/dist/alternator/chassis/lsp.js.map +1 -0
- package/dist/alternator/chassis/markup.js +262 -0
- package/dist/alternator/chassis/markup.js.map +1 -0
- package/dist/alternator/chassis/provision.js +198 -0
- package/dist/alternator/chassis/provision.js.map +1 -0
- package/dist/alternator/chassis/rank.js +72 -0
- package/dist/alternator/chassis/rank.js.map +1 -0
- package/dist/alternator/chassis/servers.js +215 -0
- package/dist/alternator/chassis/servers.js.map +1 -0
- package/dist/alternator/chassis/treesitter.js +608 -0
- package/dist/alternator/chassis/treesitter.js.map +1 -0
- package/dist/alternator/chassis/types.js +24 -0
- package/dist/alternator/chassis/types.js.map +1 -0
- package/dist/alternator/lane.js +67 -0
- package/dist/alternator/lane.js.map +1 -0
- package/dist/cli/App.js +2586 -0
- package/dist/cli/App.js.map +1 -0
- package/dist/cli/altScreen.js +67 -0
- package/dist/cli/altScreen.js.map +1 -0
- package/dist/cli/approvalChannel.js +72 -0
- package/dist/cli/approvalChannel.js.map +1 -0
- package/dist/cli/attachments.js +188 -0
- package/dist/cli/attachments.js.map +1 -0
- package/dist/cli/bootstrap.js +279 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/chatAnchor.js +94 -0
- package/dist/cli/chatAnchor.js.map +1 -0
- package/dist/cli/commandArgs.js +79 -0
- package/dist/cli/commandArgs.js.map +1 -0
- package/dist/cli/commandRoute.js +78 -0
- package/dist/cli/commandRoute.js.map +1 -0
- package/dist/cli/compaction.js +69 -0
- package/dist/cli/compaction.js.map +1 -0
- package/dist/cli/components/ApprovalBox.js +100 -0
- package/dist/cli/components/ApprovalBox.js.map +1 -0
- package/dist/cli/components/BlockView.js +128 -0
- package/dist/cli/components/BlockView.js.map +1 -0
- package/dist/cli/components/FirstRunFrame.js +41 -0
- package/dist/cli/components/FirstRunFrame.js.map +1 -0
- package/dist/cli/components/KeyManager.js +197 -0
- package/dist/cli/components/KeyManager.js.map +1 -0
- package/dist/cli/components/KeySetup.js +125 -0
- package/dist/cli/components/KeySetup.js.map +1 -0
- package/dist/cli/components/MenuFrame.js +24 -0
- package/dist/cli/components/MenuFrame.js.map +1 -0
- package/dist/cli/components/Picker.js +82 -0
- package/dist/cli/components/Picker.js.map +1 -0
- package/dist/cli/components/PromptInput.js +509 -0
- package/dist/cli/components/PromptInput.js.map +1 -0
- package/dist/cli/components/SubagentView.js +86 -0
- package/dist/cli/components/SubagentView.js.map +1 -0
- package/dist/cli/components/ToolGroup.js +60 -0
- package/dist/cli/components/ToolGroup.js.map +1 -0
- package/dist/cli/components/ToolLine.js +123 -0
- package/dist/cli/components/ToolLine.js.map +1 -0
- package/dist/cli/components/TrustGate.js +37 -0
- package/dist/cli/components/TrustGate.js.map +1 -0
- package/dist/cli/costView.js +40 -0
- package/dist/cli/costView.js.map +1 -0
- package/dist/cli/frameRate.js +30 -0
- package/dist/cli/frameRate.js.map +1 -0
- package/dist/cli/framebuffer/paint.js +165 -0
- package/dist/cli/framebuffer/paint.js.map +1 -0
- package/dist/cli/framebuffer/parse.js +266 -0
- package/dist/cli/framebuffer/parse.js.map +1 -0
- package/dist/cli/framebuffer/screen.js +196 -0
- package/dist/cli/framebuffer/screen.js.map +1 -0
- package/dist/cli/framebuffer/writer.js +139 -0
- package/dist/cli/framebuffer/writer.js.map +1 -0
- package/dist/cli/groupReveal.js +51 -0
- package/dist/cli/groupReveal.js.map +1 -0
- package/dist/cli/help.js +55 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/inputView.js +105 -0
- package/dist/cli/inputView.js.map +1 -0
- package/dist/cli/keyManager.js +65 -0
- package/dist/cli/keyManager.js.map +1 -0
- package/dist/cli/keySetup.js +35 -0
- package/dist/cli/keySetup.js.map +1 -0
- package/dist/cli/keyStore.js +73 -0
- package/dist/cli/keyStore.js.map +1 -0
- package/dist/cli/markdown.js +460 -0
- package/dist/cli/markdown.js.map +1 -0
- package/dist/cli/messageQueue.js +96 -0
- package/dist/cli/messageQueue.js.map +1 -0
- package/dist/cli/modes.js +90 -0
- package/dist/cli/modes.js.map +1 -0
- package/dist/cli/mouse.js +78 -0
- package/dist/cli/mouse.js.map +1 -0
- package/dist/cli/pasteAssembler.js +44 -0
- package/dist/cli/pasteAssembler.js.map +1 -0
- package/dist/cli/pathComplete.js +39 -0
- package/dist/cli/pathComplete.js.map +1 -0
- package/dist/cli/perfLog.js +90 -0
- package/dist/cli/perfLog.js.map +1 -0
- package/dist/cli/reveal.js +32 -0
- package/dist/cli/reveal.js.map +1 -0
- package/dist/cli/revealPace.js +59 -0
- package/dist/cli/revealPace.js.map +1 -0
- package/dist/cli/sessionCarry.js +19 -0
- package/dist/cli/sessionCarry.js.map +1 -0
- package/dist/cli/smoothScroll.js +74 -0
- package/dist/cli/smoothScroll.js.map +1 -0
- package/dist/cli/startupArgs.js +96 -0
- package/dist/cli/startupArgs.js.map +1 -0
- package/dist/cli/terminalRestore.js +34 -0
- package/dist/cli/terminalRestore.js.map +1 -0
- package/dist/cli/toolDisplay.js +219 -0
- package/dist/cli/toolDisplay.js.map +1 -0
- package/dist/cli/toolItems.js +65 -0
- package/dist/cli/toolItems.js.map +1 -0
- package/dist/cli/transcript.js +351 -0
- package/dist/cli/transcript.js.map +1 -0
- package/dist/cli/trust.js +79 -0
- package/dist/cli/trust.js.map +1 -0
- package/dist/cli/updateCheck.js +107 -0
- package/dist/cli/updateCheck.js.map +1 -0
- package/dist/cli/version.js +39 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli/viewport.js +179 -0
- package/dist/cli/viewport.js.map +1 -0
- package/dist/cli/virtualWindow.js +103 -0
- package/dist/cli/virtualWindow.js.map +1 -0
- package/dist/cli/workingVerb.js +37 -0
- package/dist/cli/workingVerb.js.map +1 -0
- package/dist/cli/wrap.js +145 -0
- package/dist/cli/wrap.js.map +1 -0
- package/dist/drivers/anthropic/cachePoints.js +77 -0
- package/dist/drivers/anthropic/cachePoints.js.map +1 -0
- package/dist/drivers/anthropic/client.js +432 -0
- package/dist/drivers/anthropic/client.js.map +1 -0
- package/dist/drivers/anthropic/index.js +10 -0
- package/dist/drivers/anthropic/index.js.map +1 -0
- package/dist/drivers/anthropic/manifest.js +221 -0
- package/dist/drivers/anthropic/manifest.js.map +1 -0
- package/dist/drivers/cerebras/client.js +69 -0
- package/dist/drivers/cerebras/client.js.map +1 -0
- package/dist/drivers/cerebras/index.js +5 -0
- package/dist/drivers/cerebras/index.js.map +1 -0
- package/dist/drivers/cerebras/manifest.js +140 -0
- package/dist/drivers/cerebras/manifest.js.map +1 -0
- package/dist/drivers/clientId.js +41 -0
- package/dist/drivers/clientId.js.map +1 -0
- package/dist/drivers/contextOverflow.js +77 -0
- package/dist/drivers/contextOverflow.js.map +1 -0
- package/dist/drivers/deepseek/client.js +168 -0
- package/dist/drivers/deepseek/client.js.map +1 -0
- package/dist/drivers/deepseek/index.js +16 -0
- package/dist/drivers/deepseek/index.js.map +1 -0
- package/dist/drivers/deepseek/inlineTools.js +46 -0
- package/dist/drivers/deepseek/inlineTools.js.map +1 -0
- package/dist/drivers/deepseek/manifest.js +166 -0
- package/dist/drivers/deepseek/manifest.js.map +1 -0
- package/dist/drivers/gemini/client.js +38 -0
- package/dist/drivers/gemini/client.js.map +1 -0
- package/dist/drivers/gemini/index.js +5 -0
- package/dist/drivers/gemini/index.js.map +1 -0
- package/dist/drivers/gemini/manifest.js +150 -0
- package/dist/drivers/gemini/manifest.js.map +1 -0
- package/dist/drivers/glm/client.js +90 -0
- package/dist/drivers/glm/client.js.map +1 -0
- package/dist/drivers/glm/index.js +9 -0
- package/dist/drivers/glm/index.js.map +1 -0
- package/dist/drivers/glm/manifest.js +183 -0
- package/dist/drivers/glm/manifest.js.map +1 -0
- package/dist/drivers/groq/client.js +80 -0
- package/dist/drivers/groq/client.js.map +1 -0
- package/dist/drivers/groq/index.js +5 -0
- package/dist/drivers/groq/index.js.map +1 -0
- package/dist/drivers/groq/manifest.js +160 -0
- package/dist/drivers/groq/manifest.js.map +1 -0
- package/dist/drivers/kimi/client.js +82 -0
- package/dist/drivers/kimi/client.js.map +1 -0
- package/dist/drivers/kimi/index.js +9 -0
- package/dist/drivers/kimi/index.js.map +1 -0
- package/dist/drivers/kimi/manifest.js +168 -0
- package/dist/drivers/kimi/manifest.js.map +1 -0
- package/dist/drivers/meta/client.js +30 -0
- package/dist/drivers/meta/client.js.map +1 -0
- package/dist/drivers/meta/index.js +5 -0
- package/dist/drivers/meta/index.js.map +1 -0
- package/dist/drivers/meta/manifest.js +101 -0
- package/dist/drivers/meta/manifest.js.map +1 -0
- package/dist/drivers/minimax/client.js +36 -0
- package/dist/drivers/minimax/client.js.map +1 -0
- package/dist/drivers/minimax/index.js +5 -0
- package/dist/drivers/minimax/index.js.map +1 -0
- package/dist/drivers/minimax/manifest.js +120 -0
- package/dist/drivers/minimax/manifest.js.map +1 -0
- package/dist/drivers/mistral/client.js +54 -0
- package/dist/drivers/mistral/client.js.map +1 -0
- package/dist/drivers/mistral/index.js +5 -0
- package/dist/drivers/mistral/index.js.map +1 -0
- package/dist/drivers/mistral/manifest.js +118 -0
- package/dist/drivers/mistral/manifest.js.map +1 -0
- package/dist/drivers/openai/client.js +290 -0
- package/dist/drivers/openai/client.js.map +1 -0
- package/dist/drivers/openai/index.js +9 -0
- package/dist/drivers/openai/index.js.map +1 -0
- package/dist/drivers/openai/manifest.js +133 -0
- package/dist/drivers/openai/manifest.js.map +1 -0
- package/dist/drivers/openaiCompat/wire.js +493 -0
- package/dist/drivers/openaiCompat/wire.js.map +1 -0
- package/dist/drivers/partialTurn.js +23 -0
- package/dist/drivers/partialTurn.js.map +1 -0
- package/dist/drivers/providerError.js +181 -0
- package/dist/drivers/providerError.js.map +1 -0
- package/dist/drivers/qwen/client.js +93 -0
- package/dist/drivers/qwen/client.js.map +1 -0
- package/dist/drivers/qwen/index.js +9 -0
- package/dist/drivers/qwen/index.js.map +1 -0
- package/dist/drivers/qwen/manifest.js +146 -0
- package/dist/drivers/qwen/manifest.js.map +1 -0
- package/dist/drivers/registry.js +177 -0
- package/dist/drivers/registry.js.map +1 -0
- package/dist/drivers/retryPolicy.js +129 -0
- package/dist/drivers/retryPolicy.js.map +1 -0
- package/dist/drivers/searchBlocks.js +61 -0
- package/dist/drivers/searchBlocks.js.map +1 -0
- package/dist/drivers/types.js +2 -0
- package/dist/drivers/types.js.map +1 -0
- package/dist/drivers/xai/client.js +63 -0
- package/dist/drivers/xai/client.js.map +1 -0
- package/dist/drivers/xai/index.js +5 -0
- package/dist/drivers/xai/index.js.map +1 -0
- package/dist/drivers/xai/manifest.js +137 -0
- package/dist/drivers/xai/manifest.js.map +1 -0
- package/dist/dynamo/_probe.tmp.js +20 -0
- package/dist/dynamo/_probe.tmp.js.map +1 -0
- package/dist/dynamo/cacheBreak.js +88 -0
- package/dist/dynamo/cacheBreak.js.map +1 -0
- package/dist/dynamo/contextWindow.js +243 -0
- package/dist/dynamo/contextWindow.js.map +1 -0
- package/dist/dynamo/engine.js +2011 -0
- package/dist/dynamo/engine.js.map +1 -0
- package/dist/dynamo/guard.js +132 -0
- package/dist/dynamo/guard.js.map +1 -0
- package/dist/dynamo/liveMeter.js +58 -0
- package/dist/dynamo/liveMeter.js.map +1 -0
- package/dist/dynamo/model.js +172 -0
- package/dist/dynamo/model.js.map +1 -0
- package/dist/dynamo/planArtifact.js +125 -0
- package/dist/dynamo/planArtifact.js.map +1 -0
- package/dist/dynamo/pricing.js +140 -0
- package/dist/dynamo/pricing.js.map +1 -0
- package/dist/dynamo/prompt.js +264 -0
- package/dist/dynamo/prompt.js.map +1 -0
- package/dist/dynamo/spend.js +45 -0
- package/dist/dynamo/spend.js.map +1 -0
- package/dist/dynamo/verify.js +483 -0
- package/dist/dynamo/verify.js.map +1 -0
- package/dist/governor/forbidden.js +181 -0
- package/dist/governor/forbidden.js.map +1 -0
- package/dist/governor/freshness.js +83 -0
- package/dist/governor/freshness.js.map +1 -0
- package/dist/governor/frontmatter.js +38 -0
- package/dist/governor/frontmatter.js.map +1 -0
- package/dist/governor/glob.js +75 -0
- package/dist/governor/glob.js.map +1 -0
- package/dist/governor/index.js +87 -0
- package/dist/governor/index.js.map +1 -0
- package/dist/governor/rules.js +80 -0
- package/dist/governor/rules.js.map +1 -0
- package/dist/governor/scope.js +91 -0
- package/dist/governor/scope.js.map +1 -0
- package/dist/governor/skills.js +176 -0
- package/dist/governor/skills.js.map +1 -0
- package/dist/governor/types.js +16 -0
- package/dist/governor/types.js.map +1 -0
- package/dist/governor/write.js +182 -0
- package/dist/governor/write.js.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/catalog.js +232 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/config.js +116 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/configWrite.js +254 -0
- package/dist/mcp/configWrite.js.map +1 -0
- package/dist/mcp/connection.js +504 -0
- package/dist/mcp/connection.js.map +1 -0
- package/dist/mcp/deferred.js +104 -0
- package/dist/mcp/deferred.js.map +1 -0
- package/dist/mcp/discover.js +128 -0
- package/dist/mcp/discover.js.map +1 -0
- package/dist/mcp/manager.js +679 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/paramHeaders.js +163 -0
- package/dist/mcp/paramHeaders.js.map +1 -0
- package/dist/mcp/prompts.js +136 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/protocol.js +171 -0
- package/dist/mcp/protocol.js.map +1 -0
- package/dist/mcp/resources.js +119 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/resultStore.js +180 -0
- package/dist/mcp/resultStore.js.map +1 -0
- package/dist/mcp/subscriptions.js +74 -0
- package/dist/mcp/subscriptions.js.map +1 -0
- package/dist/mcp/transport/headerValue.js +40 -0
- package/dist/mcp/transport/headerValue.js.map +1 -0
- package/dist/mcp/transport/http.js +321 -0
- package/dist/mcp/transport/http.js.map +1 -0
- package/dist/mcp/transport/stdio.js +234 -0
- package/dist/mcp/transport/stdio.js.map +1 -0
- package/dist/mcp/transport/types.js +27 -0
- package/dist/mcp/transport/types.js.map +1 -0
- package/dist/mcp/trust.js +98 -0
- package/dist/mcp/trust.js.map +1 -0
- package/dist/mcp/trustStore.js +55 -0
- package/dist/mcp/trustStore.js.map +1 -0
- package/dist/memory/autoMemory.js +340 -0
- package/dist/memory/autoMemory.js.map +1 -0
- package/dist/memory/compaction.js +513 -0
- package/dist/memory/compaction.js.map +1 -0
- package/dist/memory/images.js +173 -0
- package/dist/memory/images.js.map +1 -0
- package/dist/memory/presence.js +59 -0
- package/dist/memory/presence.js.map +1 -0
- package/dist/memory/projectNotes.js +247 -0
- package/dist/memory/projectNotes.js.map +1 -0
- package/dist/memory/restore.js +72 -0
- package/dist/memory/restore.js.map +1 -0
- package/dist/memory/session.js +472 -0
- package/dist/memory/session.js.map +1 -0
- package/dist/memory/sessionMemory.js +142 -0
- package/dist/memory/sessionMemory.js.map +1 -0
- package/dist/memory/sessionMemoryCompact.js +136 -0
- package/dist/memory/sessionMemoryCompact.js.map +1 -0
- package/dist/memory/store.js +217 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/memory/types.js +14 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/workingSet.js +383 -0
- package/dist/memory/workingSet.js.map +1 -0
- package/dist/project/context.js +425 -0
- package/dist/project/context.js.map +1 -0
- package/dist/tools/approval.js +189 -0
- package/dist/tools/approval.js.map +1 -0
- package/dist/tools/askUser.js +103 -0
- package/dist/tools/askUser.js.map +1 -0
- package/dist/tools/atomicWrite.js +151 -0
- package/dist/tools/atomicWrite.js.map +1 -0
- package/dist/tools/backgroundShells.js +468 -0
- package/dist/tools/backgroundShells.js.map +1 -0
- package/dist/tools/captureSweep.js +77 -0
- package/dist/tools/captureSweep.js.map +1 -0
- package/dist/tools/chassisMux.js +92 -0
- package/dist/tools/chassisMux.js.map +1 -0
- package/dist/tools/checkpoints.js +328 -0
- package/dist/tools/checkpoints.js.map +1 -0
- package/dist/tools/codeIntel.js +267 -0
- package/dist/tools/codeIntel.js.map +1 -0
- package/dist/tools/deferredNative.js +121 -0
- package/dist/tools/deferredNative.js.map +1 -0
- package/dist/tools/detail.js +135 -0
- package/dist/tools/detail.js.map +1 -0
- package/dist/tools/diagnostics.js +174 -0
- package/dist/tools/diagnostics.js.map +1 -0
- package/dist/tools/edit.js +167 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/editCore.js +283 -0
- package/dist/tools/editCore.js.map +1 -0
- package/dist/tools/editFile.js +183 -0
- package/dist/tools/editFile.js.map +1 -0
- package/dist/tools/editRipple.js +126 -0
- package/dist/tools/editRipple.js.map +1 -0
- package/dist/tools/editTarget.js +131 -0
- package/dist/tools/editTarget.js.map +1 -0
- package/dist/tools/editWindow.js +49 -0
- package/dist/tools/editWindow.js.map +1 -0
- package/dist/tools/eol.js +56 -0
- package/dist/tools/eol.js.map +1 -0
- package/dist/tools/exitPlan.js +175 -0
- package/dist/tools/exitPlan.js.map +1 -0
- package/dist/tools/focus.js +42 -0
- package/dist/tools/focus.js.map +1 -0
- package/dist/tools/gitignore.js +148 -0
- package/dist/tools/gitignore.js.map +1 -0
- package/dist/tools/glob.js +134 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/governorTools.js +258 -0
- package/dist/tools/governorTools.js.map +1 -0
- package/dist/tools/grep.js +450 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/guard.js +220 -0
- package/dist/tools/guard.js.map +1 -0
- package/dist/tools/killTree.js +215 -0
- package/dist/tools/killTree.js.map +1 -0
- package/dist/tools/listDir.js +143 -0
- package/dist/tools/listDir.js.map +1 -0
- package/dist/tools/mcpAdd.js +176 -0
- package/dist/tools/mcpAdd.js.map +1 -0
- package/dist/tools/mcpResources.js +116 -0
- package/dist/tools/mcpResources.js.map +1 -0
- package/dist/tools/mcpSearch.js +123 -0
- package/dist/tools/mcpSearch.js.map +1 -0
- package/dist/tools/multiEdit.js +168 -0
- package/dist/tools/multiEdit.js.map +1 -0
- package/dist/tools/paths.js +225 -0
- package/dist/tools/paths.js.map +1 -0
- package/dist/tools/posixShell.js +123 -0
- package/dist/tools/posixShell.js.map +1 -0
- package/dist/tools/readFile.js +371 -0
- package/dist/tools/readFile.js.map +1 -0
- package/dist/tools/readSymbol.js +145 -0
- package/dist/tools/readSymbol.js.map +1 -0
- package/dist/tools/registry.js +120 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/replaceSymbol.js +141 -0
- package/dist/tools/replaceSymbol.js.map +1 -0
- package/dist/tools/results.js +15 -0
- package/dist/tools/results.js.map +1 -0
- package/dist/tools/ripgrep.js +145 -0
- package/dist/tools/ripgrep.js.map +1 -0
- package/dist/tools/runCommand.js +633 -0
- package/dist/tools/runCommand.js.map +1 -0
- package/dist/tools/saveMemory.js +102 -0
- package/dist/tools/saveMemory.js.map +1 -0
- package/dist/tools/screenshot.js +200 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/screenshotWin.js +227 -0
- package/dist/tools/screenshotWin.js.map +1 -0
- package/dist/tools/search.js +121 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/sessionTools.js +187 -0
- package/dist/tools/sessionTools.js.map +1 -0
- package/dist/tools/shellCheckpoint.js +123 -0
- package/dist/tools/shellCheckpoint.js.map +1 -0
- package/dist/tools/shellLint.js +102 -0
- package/dist/tools/shellLint.js.map +1 -0
- package/dist/tools/shellTools.js +203 -0
- package/dist/tools/shellTools.js.map +1 -0
- package/dist/tools/spanCore.js +78 -0
- package/dist/tools/spanCore.js.map +1 -0
- package/dist/tools/subagent.js +224 -0
- package/dist/tools/subagent.js.map +1 -0
- package/dist/tools/subagentReport.js +114 -0
- package/dist/tools/subagentReport.js.map +1 -0
- package/dist/tools/tempSweep.js +118 -0
- package/dist/tools/tempSweep.js.map +1 -0
- package/dist/tools/todo.js +117 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/untrusted.js +46 -0
- package/dist/tools/untrusted.js.map +1 -0
- package/dist/tools/useSkill.js +62 -0
- package/dist/tools/useSkill.js.map +1 -0
- package/dist/tools/walk.js +152 -0
- package/dist/tools/walk.js.map +1 -0
- package/dist/tools/web.js +61 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/tools/webFetch.js +444 -0
- package/dist/tools/webFetch.js.map +1 -0
- package/dist/tools/webSearch.js +130 -0
- package/dist/tools/webSearch.js.map +1 -0
- package/dist/tools/workspace.js +212 -0
- package/dist/tools/workspace.js.map +1 -0
- package/dist/tools/workspaceDiscover.js +216 -0
- package/dist/tools/workspaceDiscover.js.map +1 -0
- package/dist/tools/writeFile.js +162 -0
- package/dist/tools/writeFile.js.map +1 -0
- package/package.json +74 -28
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* writeFile.ts — create a file, or fully replace one the model has read.
|
|
3
|
+
*
|
|
4
|
+
* The mutating partner of read_file. The tool's whole job is to put bytes on
|
|
5
|
+
* disk safely; *what* to write is the model's job, so there are no rules here
|
|
6
|
+
* about "good content".
|
|
7
|
+
*
|
|
8
|
+
* Guards (all mechanical):
|
|
9
|
+
* - Protected paths (.env, keys, .git) are refused outright — see guard.ts.
|
|
10
|
+
* - Blind overwrite is refused: if the file already exists, it must have been
|
|
11
|
+
* read this session first. This is the same read-before-touch contract every
|
|
12
|
+
* serious agent enforces — it stops the model from clobbering a file it never
|
|
13
|
+
* looked at. Brand-new files write freely.
|
|
14
|
+
* - Parent directories are created as needed.
|
|
15
|
+
*/
|
|
16
|
+
import { promises as fs } from "node:fs";
|
|
17
|
+
import { dirname } from "node:path";
|
|
18
|
+
import { foreignAgentReason, protectedPathReason } from "./guard.js";
|
|
19
|
+
import { forbiddenPathReason } from "../governor/forbidden.js";
|
|
20
|
+
import { requestAgentDataAccess, requestForbiddenLift, requestOutsideWorkspaceWrite } from "./approval.js";
|
|
21
|
+
import { recordWrite, relativize, resolvePath } from "./paths.js";
|
|
22
|
+
import { writeDetail, withScope } from "./detail.js";
|
|
23
|
+
import { applyEol, dirEol, fileEol } from "./eol.js";
|
|
24
|
+
import { writeFileAtomic } from "./atomicWrite.js";
|
|
25
|
+
import { fail, failQuietly } from "./results.js";
|
|
26
|
+
export const writeFile = {
|
|
27
|
+
name: "write_file",
|
|
28
|
+
readOnly: false,
|
|
29
|
+
// Three things this tool does for the model were missing from the description, and
|
|
30
|
+
// each one is work it would otherwise do by hand or worry about: parent directories
|
|
31
|
+
// are created, line endings are matched to the project, and the read gate is
|
|
32
|
+
// satisfied by read_symbol as well as read_file (it checks ctx.reads, not the tool
|
|
33
|
+
// that filled it). Stated here so the model stops reaching for run_command to mkdir,
|
|
34
|
+
// and stops trying to hand-match a CRLF project it cannot see the endings of.
|
|
35
|
+
description: "Create a new file, or replace an existing one wholesale. " +
|
|
36
|
+
"A new file writes freely, and any missing parent directories are created for you, " +
|
|
37
|
+
"so you never need to make a directory first. To overwrite a file that ALREADY " +
|
|
38
|
+
"exists you must have read it this session (read_file or read_symbol both count), " +
|
|
39
|
+
"which is what stops you clobbering something you never looked at. " +
|
|
40
|
+
"Line endings are handled for you: an existing file keeps its own, and a new file " +
|
|
41
|
+
"matches the files around it. Always write plain LF and do not try to match a " +
|
|
42
|
+
"project's style by hand. " +
|
|
43
|
+
"Prefer a targeted change to rewriting: use edit to change an existing file, whether " +
|
|
44
|
+
"that's one place or several, and use this only when the file is new or genuinely " +
|
|
45
|
+
"being replaced end to end. Rewriting a file to change part of it risks dropping code " +
|
|
46
|
+
"you didn't mean to touch.",
|
|
47
|
+
parameters: {
|
|
48
|
+
type: "object",
|
|
49
|
+
additionalProperties: false,
|
|
50
|
+
required: ["path", "content"],
|
|
51
|
+
properties: {
|
|
52
|
+
path: {
|
|
53
|
+
type: "string",
|
|
54
|
+
description: "Path to the file, absolute or relative to the working directory.",
|
|
55
|
+
},
|
|
56
|
+
content: {
|
|
57
|
+
type: "string",
|
|
58
|
+
description: "The full contents to write. Use an empty string for an empty file.",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
async execute(args, ctx) {
|
|
63
|
+
const rawPath = typeof args.path === "string" ? args.path.trim() : "";
|
|
64
|
+
if (!rawPath)
|
|
65
|
+
return failQuietly("`path` is required.");
|
|
66
|
+
if (typeof args.content !== "string") {
|
|
67
|
+
return failQuietly("`content` is required (use an empty string for an empty file).");
|
|
68
|
+
}
|
|
69
|
+
const content = args.content;
|
|
70
|
+
const filePath = resolvePath(ctx, rawPath);
|
|
71
|
+
const blocked = protectedPathReason(filePath);
|
|
72
|
+
if (blocked) {
|
|
73
|
+
return fail(`Refusing to write ${rawPath}: it is ${blocked}.`);
|
|
74
|
+
}
|
|
75
|
+
// Another tool's data — ask before writing into a history we weren't part of.
|
|
76
|
+
const otherTool = foreignAgentReason(filePath);
|
|
77
|
+
if (otherTool) {
|
|
78
|
+
const denied = await requestAgentDataAccess(ctx, otherTool, `Writing ${rawPath}`);
|
|
79
|
+
if (denied)
|
|
80
|
+
return denied;
|
|
81
|
+
}
|
|
82
|
+
const forbidden = forbiddenPathReason(ctx.governance?.forbidden, filePath, ctx.roots ?? []);
|
|
83
|
+
if (forbidden) {
|
|
84
|
+
const lift = await requestForbiddenLift(ctx, forbidden, `writing ${rawPath}`, `the user has forbidden touching '${forbidden}'.`);
|
|
85
|
+
if (lift)
|
|
86
|
+
return lift; // refused or deferred; an allow lifts it and falls through
|
|
87
|
+
}
|
|
88
|
+
// The workspace boundary — see requestOutsideWorkspaceWrite.
|
|
89
|
+
const outside = await requestOutsideWorkspaceWrite(ctx, filePath, `writing ${rawPath}`);
|
|
90
|
+
if (outside)
|
|
91
|
+
return outside;
|
|
92
|
+
let existed = false;
|
|
93
|
+
try {
|
|
94
|
+
const stat = await fs.stat(filePath);
|
|
95
|
+
existed = true;
|
|
96
|
+
if (stat.isDirectory()) {
|
|
97
|
+
return fail(`${rawPath} is a directory, not a file.`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
existed = false;
|
|
102
|
+
}
|
|
103
|
+
// Read-before-overwrite: refuse to blindly replace a file the model hasn't seen.
|
|
104
|
+
// A search that matched inside it is not seeing it — grep returns matching lines,
|
|
105
|
+
// never the file — so a search-sourced ledger entry does not open this gate.
|
|
106
|
+
const priorRead = ctx.reads.get(filePath);
|
|
107
|
+
if (existed && (!priorRead || priorRead.viaSearch)) {
|
|
108
|
+
return fail(`${rawPath} already exists and hasn't been read this session. Read it ` +
|
|
109
|
+
`first if you really mean to replace it, or use edit to change part of it.`);
|
|
110
|
+
}
|
|
111
|
+
// Respect line-ending style: keep an existing file's endings, or match a
|
|
112
|
+
// sibling for a new file (the model only ever emits LF). Avoids turning a
|
|
113
|
+
// CRLF project into a mix of CRLF and LF files.
|
|
114
|
+
const eol = existed ? await fileEol(filePath) : await dirEol(dirname(filePath));
|
|
115
|
+
// The exact bytes about to land on disk — checkpointing needs the same value we
|
|
116
|
+
// write, not the pre-EOL content, or /undo would read a mismatch and call it a
|
|
117
|
+
// conflict on a file nobody else touched.
|
|
118
|
+
const outgoing = applyEol(content, eol);
|
|
119
|
+
// Snapshot for /undo: the file's current bytes if it existed, else null so undo
|
|
120
|
+
// deletes what this write creates.
|
|
121
|
+
if (ctx.checkpoints) {
|
|
122
|
+
let original = null;
|
|
123
|
+
if (existed) {
|
|
124
|
+
try {
|
|
125
|
+
original = await fs.readFile(filePath, "utf8");
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
original = null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
ctx.checkpoints.backup(filePath, original, outgoing);
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
await fs.mkdir(dirname(filePath), { recursive: true });
|
|
135
|
+
await writeFileAtomic(filePath, outgoing);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return fail(`could not write ${rawPath}: ${errText(error)}`);
|
|
139
|
+
}
|
|
140
|
+
// Now seen+written — record the new state so it stays edit-eligible and a
|
|
141
|
+
// follow-up read of it deduplicates instead of re-sending what we just wrote.
|
|
142
|
+
await recordWrite(ctx, filePath);
|
|
143
|
+
const shown = relativize(ctx, filePath);
|
|
144
|
+
const lines = content === "" ? 0 : content.split("\n").length;
|
|
145
|
+
const plural = lines === 1 ? "" : "s";
|
|
146
|
+
// Be explicit about scope: overwriting replaces the ENTIRE file (the user asked to
|
|
147
|
+
// be able to tell "did it rewrite the whole thing or just part?"), vs. a fresh file.
|
|
148
|
+
const scope = existed ? `whole file · ${lines} line${plural}` : `new file · ${lines} line${plural}`;
|
|
149
|
+
return {
|
|
150
|
+
output: existed
|
|
151
|
+
? `Rewrote all of ${shown} (${lines} line${plural}).`
|
|
152
|
+
: `Created ${shown} (${lines} line${plural}).`,
|
|
153
|
+
summary: existed ? `rewrote all of ${shown} · ${lines} line${plural}` : `created ${shown} · ${lines} line${plural}`,
|
|
154
|
+
detail: withScope(scope, writeDetail(content)),
|
|
155
|
+
detailKind: "diff",
|
|
156
|
+
};
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
function errText(error) {
|
|
160
|
+
return error instanceof Error ? error.message : String(error);
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=writeFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeFile.js","sourceRoot":"","sources":["../../src/tools/writeFile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,KAAK;IACf,mFAAmF;IACnF,oFAAoF;IACpF,6EAA6E;IAC7E,mFAAmF;IACnF,qFAAqF;IACrF,8EAA8E;IAC9E,WAAW,EACT,2DAA2D;QAC3D,oFAAoF;QACpF,gFAAgF;QAChF,mFAAmF;QACnF,oEAAoE;QACpE,mFAAmF;QACnF,+EAA+E;QAC/E,2BAA2B;QAC3B,sFAAsF;QACtF,mFAAmF;QACnF,uFAAuF;QACvF,2BAA2B;IAC7B,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kEAAkE;aACrE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oEAAoE;aAClF;SACF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,OAAO;YAAE,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC,gEAAgE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,qBAAqB,OAAO,WAAW,OAAO,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,8EAA8E;QAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,oBAAoB,CACrC,GAAG,EACH,SAAS,EACT,WAAW,OAAO,EAAE,EACpB,oCAAoC,SAAS,IAAI,CAClD,CAAC;YACF,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,2DAA2D;QACpF,CAAC;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;QACxF,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,GAAG,OAAO,8BAA8B,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,iFAAiF;QACjF,kFAAkF;QAClF,6EAA6E;QAC7E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CACT,GAAG,OAAO,6DAA6D;gBACrE,2EAA2E,CAC9E,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhF,gFAAgF;QAChF,+EAA+E;QAC/E,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAExC,gFAAgF;QAChF,mCAAmC;QACnC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACtC,mFAAmF;QACnF,qFAAqF;QACrF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,KAAK,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,MAAM,EAAE,CAAC;QACpG,OAAO;YACL,MAAM,EAAE,OAAO;gBACb,CAAC,CAAC,kBAAkB,KAAK,KAAK,KAAK,QAAQ,MAAM,IAAI;gBACrD,CAAC,CAAC,WAAW,KAAK,KAAK,KAAK,QAAQ,MAAM,IAAI;YAChD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,KAAK,MAAM,KAAK,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,KAAK,QAAQ,MAAM,EAAE;YACnH,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9C,UAAU,EAAE,MAAe;SAC5B,CAAC;IACJ,CAAC;CACF,CAAC;AAGF,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,28 +1,74 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "mindweave",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"license": "Apache-2.0",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"bugs": {
|
|
12
|
-
"url": "https://github.com/mindweave-cli/Mindweave/issues"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "mindweave",
|
|
3
|
+
"version": "2.1.2",
|
|
4
|
+
"description": "Mindweave — a fast, model-adaptive terminal coding agent.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/mindweave-cli/Mindweave.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/mindweave-cli/Mindweave#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/mindweave-cli/Mindweave/issues"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"ai",
|
|
16
|
+
"agent",
|
|
17
|
+
"cli",
|
|
18
|
+
"coding-agent",
|
|
19
|
+
"terminal",
|
|
20
|
+
"llm",
|
|
21
|
+
"mcp"
|
|
22
|
+
],
|
|
23
|
+
"type": "module",
|
|
24
|
+
"bin": {
|
|
25
|
+
"mindweave": "dist/index.js",
|
|
26
|
+
"mw": "dist/index.js"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"dev": "tsx src/index.ts",
|
|
33
|
+
"build": "tsc -p tsconfig.build.json",
|
|
34
|
+
"prepublishOnly": "npm run build",
|
|
35
|
+
"start": "node dist/index.js",
|
|
36
|
+
"install-global": "npm run build && npm link",
|
|
37
|
+
"typecheck": "tsc --noEmit",
|
|
38
|
+
"test": "npm run test:main && npm run test:lang",
|
|
39
|
+
"test:main": "node --max-old-space-size=4096 --import tsx --import ./scripts/testState.mjs --test --test-concurrency=4 --test-timeout=120000 src/drivers/clientId.test.ts src/drivers/contextOverflow.test.ts src/drivers/retryPolicy.test.ts src/drivers/partialTurn.test.ts src/drivers/retryTransport.test.ts src/tools/tools.test.ts src/tools/quietFailures.test.ts src/tools/readBatch.test.ts src/tools/readBudget.test.ts src/tools/search.test.ts src/tools/searchPrecision.test.ts src/tools/ripgrepBundle.test.ts src/tools/shellLint.test.ts src/tools/askUser.test.ts src/tools/diagnostics.test.ts src/tools/newtools.test.ts src/tools/webSearch.test.ts src/tools/webFetch.test.ts src/tools/screenshot.test.ts src/tools/runCommandExit.test.ts src/tools/exitPlan.test.ts src/dynamo/planLifecycle.test.ts src/cli/approvalText.probe.test.tsx src/tools/webSecurity.test.ts src/tools/codeIntel.test.ts src/memory/memory.test.ts src/memory/durability.test.ts src/memory/memoryIndex.test.ts src/memory/callLog.test.ts src/memory/auditFixes.test.ts src/memory/compactionHygiene.test.ts src/memory/rounds.test.ts src/memory/subagentCost.test.ts src/memory/sessionMemory.test.ts src/memory/sessionMemoryCompact.test.ts src/memory/restore.test.ts src/memory/autoMemory.test.ts src/memory/projectMemory.test.ts src/memory/projectNotes.test.ts src/memory/workingSet.test.ts src/memory/presence.test.ts src/memory/images.test.ts src/dynamo/contextWindow.test.ts src/dynamo/compactPaths.test.ts src/dynamo/cacheBreak.test.ts src/dynamo/coldCache.test.ts src/drivers/anthropic/cachePoints.test.ts src/dynamo/planArtifact.test.ts src/tools/focus.test.ts src/tools/workingSetTools.test.ts src/project/context.test.ts src/cli/version.test.ts src/cli/updateCheck.test.ts src/cli/keyField.test.ts src/cli/keyStore.test.ts src/cli/keyManager.probe.test.tsx src/cli/trust.probe.test.tsx src/cli/firstRunFrame.probe.test.tsx src/cli/keySetup.probe.test.tsx src/cli/firstRun.test.ts src/cli/startupArgs.test.ts src/cli/markdown.test.ts src/cli/help.test.ts src/cli/providerSwitch.test.ts src/cli/attachments.test.ts src/cli/pasteAssembler.test.ts src/cli/approvalQueue.test.ts src/cli/transcript.test.ts src/cli/compaction.test.ts src/cli/inputView.test.ts src/cli/caret.probe.test.tsx src/cli/shuttle.probe.test.tsx src/cli/toolReveal.test.tsx src/cli/blockPerf.probe.test.tsx src/cli/blockSpacing.probe.test.tsx src/cli/workingVerb.test.ts src/cli/typingPerf.probe.test.tsx src/cli/scrollPerf.probe.test.tsx src/cli/virtualWindow.test.ts src/cli/virtualRender.probe.test.tsx src/cli/incrementalResize.probe.test.tsx src/cli/framebuffer/paint.test.ts src/cli/framebuffer/writer.test.tsx src/cli/framebuffer/resizeCorruption.probe.test.tsx src/cli/toolItems.test.ts src/cli/toolDisplay.test.ts src/cli/toolColour.probe.test.tsx src/cli/mouse.test.ts src/cli/terminalRestore.test.ts src/cli/wrap.test.ts src/cli/chatAnchor.test.ts src/cli/chatAnchor.probe.test.tsx src/cli/reflowAnchor.test.ts src/cli/groupReveal.test.ts src/cli/revealPace.test.ts src/cli/messageQueue.test.ts src/cli/commandRoute.test.ts src/cli/commandArgs.test.ts src/cli/clearSession.test.ts src/cli/queuePop.probe.test.tsx src/cli/menuContinuity.probe.test.tsx src/dynamo/model.test.ts src/dynamo/engine.test.ts src/drivers/docsCurrent.test.ts src/drivers/registry.test.ts src/drivers/providerSwitch.test.ts src/drivers/dynamicManifest.test.ts src/drivers/newProviders.test.ts src/drivers/providerError.test.ts src/cli/refusalNotice.probe.test.tsx src/drivers/deepseek/client.test.ts src/drivers/deepseek/vision.test.ts src/drivers/deepseek/live.test.ts src/drivers/anthropic/client.test.ts src/drivers/openai/client.test.ts src/drivers/qwen/client.test.ts src/drivers/kimi/client.test.ts src/drivers/glm/client.test.ts src/drivers/gemini/client.test.ts src/drivers/gemini/thoughtSignature.test.ts src/drivers/meta/client.test.ts src/drivers/minimax/client.test.ts src/dynamo/pricing.test.ts src/dynamo/spend.test.ts src/dynamo/liveMeter.test.ts src/drivers/deepseek/inlineTools.test.ts src/dynamo/verify.test.ts src/dynamo/promptAssembly.test.ts src/dynamo/prefixStability.test.ts src/dynamo/providerNeutrality.test.ts src/dynamo/guard.test.ts src/cli/modes.test.ts src/tools/sessionTools.test.ts src/tools/registry.test.ts src/tools/toolSurface.test.ts src/tools/runCommandShell.test.ts src/tools/runCommandCross.test.ts src/tools/posixShell.test.ts src/tools/processOwnership.test.ts src/tools/editRipple.test.ts src/tools/editCore.test.ts src/tools/workspaceBoundary.test.ts src/tools/atomicWrite.test.ts src/tools/edit.test.ts src/tools/checkpoints.test.ts src/tools/shellCheckpoint.test.ts src/tools/spanCore.test.ts src/tools/symbolTools.test.ts src/tools/subagent.test.ts src/tools/subagentReport.test.ts src/tools/detail.test.ts src/tools/approval.test.ts src/tools/agentData.test.ts src/tools/multiroot.test.ts src/tools/gitignore.test.ts src/tools/chassisMux.test.ts src/tools/workspaceDiscover.test.ts src/tools/backgroundShells.test.ts src/tools/killTree.test.ts src/governor/scope.test.ts src/governor/freshness.test.ts src/governor/governor.test.ts src/tools/governorTools.test.ts src/alternator/chassis/chassis.test.ts src/alternator/chassis/domRefs.test.ts src/alternator/chassis/servers.test.ts src/alternator/chassis/provision.test.ts src/alternator/chassis/lsp.test.ts src/mcp/protocol.test.ts src/mcp/mrtr.test.ts src/mcp/discover.test.ts src/mcp/catalog.test.ts src/mcp/paramHeaders.test.ts src/mcp/paramHeadersLive.test.ts src/mcp/transport/stdio.test.ts src/mcp/config.test.ts src/mcp/transport/http.test.ts src/mcp/manager.test.ts src/mcp/subscriptions.test.ts src/mcp/deferred.test.ts src/tools/mcpSearch.test.ts src/mcp/trust.test.ts src/mcp/governance.test.ts src/mcp/configWrite.test.ts src/tools/mcpAdd.test.ts src/mcp/resultStore.test.ts src/mcp/resources.test.ts src/mcp/prompts.test.ts src/tools/editMatching.test.ts src/tools/editScope.test.ts src/tools/editFreshness.test.ts src/dynamo/batchEdit.test.ts",
|
|
40
|
+
"test:lang": "node --max-old-space-size=4096 --import tsx --import ./scripts/testState.mjs --test --test-concurrency=1 src/alternator/chassis/treesitter.test.ts src/alternator/chassis/treesitterIsolation.test.ts src/alternator/chassis/markup.test.ts src/alternator/chassis/treesitterLangs.test.ts src/alternator/chassis/treesitterLangs2.test.ts src/alternator/chassis/treesitterLangs3.test.ts src/alternator/chassis/treesitterLangs4.test.ts src/alternator/chassis/langBudget.test.ts"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=20"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@anthropic-ai/sdk": "^0.115.0",
|
|
47
|
+
"adm-zip": "^0.6.0",
|
|
48
|
+
"chalk": "^5.6.2",
|
|
49
|
+
"cli-highlight": "^2.1.11",
|
|
50
|
+
"ink": "^7.1.1",
|
|
51
|
+
"ink-text-input": "^6.0.0",
|
|
52
|
+
"marked": "^12.0.2",
|
|
53
|
+
"openai": "^7.4.0",
|
|
54
|
+
"pyright": "^1.1.410",
|
|
55
|
+
"react": "^19.2.0",
|
|
56
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
57
|
+
"turndown": "^7.2.4",
|
|
58
|
+
"typescript-language-server": "^5.3.0",
|
|
59
|
+
"vscode-jsonrpc": "^9.0.0",
|
|
60
|
+
"vscode-languageserver-protocol": "^3.18.1",
|
|
61
|
+
"web-tree-sitter": "^0.20.8"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/adm-zip": "^0.5.8",
|
|
65
|
+
"@types/node": "^20.19.43",
|
|
66
|
+
"@types/react": "^19.2.0",
|
|
67
|
+
"@types/turndown": "^5.0.6",
|
|
68
|
+
"tsx": "^4.16.0",
|
|
69
|
+
"typescript": "^5.9.3"
|
|
70
|
+
},
|
|
71
|
+
"optionalDependencies": {
|
|
72
|
+
"@vscode/ripgrep": "^1.18.0"
|
|
73
|
+
}
|
|
74
|
+
}
|