@noorm/marie-cli 0.1.18 → 0.1.25
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/README.md +7 -15
- package/SENTINEL.md +4 -7
- package/dist/cli-new/components/App.js +16 -63
- package/dist/cli-new/components/App.js.map +1 -1
- package/dist/cli-new/components/ApprovalDialog.js +2 -1
- package/dist/cli-new/components/ApprovalDialog.js.map +1 -1
- package/dist/cli-new/components/Banner.js +4 -3
- package/dist/cli-new/components/Banner.js.map +1 -1
- package/dist/cli-new/components/ChatArea.js +6 -7
- package/dist/cli-new/components/ChatArea.js.map +1 -1
- package/dist/cli-new/components/Header.js +13 -7
- package/dist/cli-new/components/Header.js.map +1 -1
- package/dist/cli-new/components/InputArea.js +73 -12
- package/dist/cli-new/components/InputArea.js.map +1 -1
- package/dist/cli-new/components/MessageBubble.js +26 -18
- package/dist/cli-new/components/MessageBubble.js.map +1 -1
- package/dist/cli-new/components/SessionSwitcher.js +4 -7
- package/dist/cli-new/components/SessionSwitcher.js.map +1 -1
- package/dist/cli-new/components/SetupWizard.js +80 -257
- package/dist/cli-new/components/SetupWizard.js.map +1 -1
- package/dist/cli-new/components/ToolCallDisplay.js +20 -5
- package/dist/cli-new/components/ToolCallDisplay.js.map +1 -1
- package/dist/cli-new/components/WizardSteps.js +22 -0
- package/dist/cli-new/components/WizardSteps.js.map +1 -0
- package/dist/cli-new/constants/SetupConstants.js +42 -0
- package/dist/cli-new/constants/SetupConstants.js.map +1 -0
- package/dist/cli-new/hooks/useGit.js +19 -62
- package/dist/cli-new/hooks/useGit.js.map +1 -1
- package/dist/cli-new/hooks/useMarie.js +26 -18
- package/dist/cli-new/hooks/useMarie.js.map +1 -1
- package/dist/cli-new/hooks/useSessions.js +1 -1
- package/dist/cli-new/hooks/useSessions.js.map +1 -1
- package/dist/cli-new/hooks/useSetupWizard.js +88 -0
- package/dist/cli-new/hooks/useSetupWizard.js.map +1 -0
- package/dist/cli-new/hooks/useUpdateCheck.js +4 -3
- package/dist/cli-new/hooks/useUpdateCheck.js.map +1 -1
- package/dist/cli-new/index.js +2 -4
- package/dist/cli-new/index.js.map +1 -1
- package/dist/cli-new/services/CommandService.js +104 -0
- package/dist/cli-new/services/CommandService.js.map +1 -0
- package/dist/cli-new/services/GitService.js +91 -0
- package/dist/cli-new/services/GitService.js.map +1 -0
- package/dist/cli-new/services/MarieService.js +77 -0
- package/dist/cli-new/services/MarieService.js.map +1 -0
- package/dist/cli-new/services/auth-server.js +128 -0
- package/dist/cli-new/services/auth-server.js.map +1 -0
- package/dist/cli-new/utils/version.js +24 -0
- package/dist/cli-new/utils/version.js.map +1 -0
- package/dist/monolith/adapters/CliMarieAdapter.js +12 -11
- package/dist/monolith/adapters/CliMarieAdapter.js.map +1 -1
- package/dist/monolith/cli/CliFileSystemPort.js +17 -3
- package/dist/monolith/cli/CliFileSystemPort.js.map +1 -1
- package/dist/monolith/cli/MarieToolDefinitionsCLI.js +39 -31
- package/dist/monolith/cli/MarieToolDefinitionsCLI.js.map +1 -1
- package/dist/monolith/cli/index.js +5 -20
- package/dist/monolith/cli/index.js.map +1 -1
- package/dist/monolith/cli/services/JoyAutomationServiceCLI.js +15 -62
- package/dist/monolith/cli/services/JoyAutomationServiceCLI.js.map +1 -1
- package/dist/monolith/cli/storage.js +142 -72
- package/dist/monolith/cli/storage.js.map +1 -1
- package/dist/monolith/domain/joy/RitualService.js +44 -46
- package/dist/monolith/domain/joy/RitualService.js.map +1 -1
- package/dist/monolith/domain/marie/MarieCortex.js +148 -0
- package/dist/monolith/domain/marie/MarieCortex.js.map +1 -0
- package/dist/monolith/domain/marie/PersonalityRenderer.js +97 -0
- package/dist/monolith/domain/marie/PersonalityRenderer.js.map +1 -0
- package/dist/monolith/infrastructure/Configuration.js +68 -0
- package/dist/monolith/infrastructure/Configuration.js.map +1 -0
- package/dist/monolith/infrastructure/CoreInfrastructure.js +204 -0
- package/dist/monolith/infrastructure/CoreInfrastructure.js.map +1 -0
- package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js +3 -3
- package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js.map +1 -1
- package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js +6 -27
- package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js.map +1 -1
- package/dist/monolith/infrastructure/ai/context/ContextManager.js +142 -131
- package/dist/monolith/infrastructure/ai/context/ContextManager.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieEngine.js +115 -1077
- package/dist/monolith/infrastructure/ai/core/MarieEngine.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js +1 -37
- package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieLockManager.js +6 -1
- package/dist/monolith/infrastructure/ai/core/MarieLockManager.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js +172 -221
- package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js +292 -141
- package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js +331 -614
- package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js.map +1 -1
- package/dist/monolith/infrastructure/ai/core/MarieVitality.js +238 -0
- package/dist/monolith/infrastructure/ai/core/MarieVitality.js.map +1 -0
- package/dist/monolith/infrastructure/ai/core/SessionLogService.js +9 -2
- package/dist/monolith/infrastructure/ai/core/SessionLogService.js.map +1 -1
- package/dist/monolith/infrastructure/ai/providers/AIProvider.js +402 -1
- package/dist/monolith/infrastructure/ai/providers/AIProvider.js.map +1 -1
- package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js +114 -0
- package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js.map +1 -0
- package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js +426 -392
- package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js.map +1 -1
- package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js +235 -241
- package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js.map +1 -1
- package/dist/monolith/infrastructure/ai/workerAi.js +185 -0
- package/dist/monolith/infrastructure/ai/workerAi.js.map +1 -0
- package/dist/monolith/infrastructure/config/ConfigService.js +216 -503
- package/dist/monolith/infrastructure/config/ConfigService.js.map +1 -1
- package/dist/monolith/infrastructure/joy/CognitiveRituals.js +4 -165
- package/dist/monolith/infrastructure/joy/CognitiveRituals.js.map +1 -1
- package/dist/monolith/infrastructure/joy/JoyTools.js +14 -47
- package/dist/monolith/infrastructure/joy/JoyTools.js.map +1 -1
- package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js +4 -0
- package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js.map +1 -0
- package/dist/monolith/infrastructure/persistence/MarieMindEngine.js +11 -0
- package/dist/monolith/infrastructure/persistence/MarieMindEngine.js.map +1 -0
- package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js +123 -106
- package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js.map +1 -1
- package/dist/monolith/infrastructure/persistence/NoormmeEngine.js +508 -63
- package/dist/monolith/infrastructure/persistence/NoormmeEngine.js.map +1 -1
- package/dist/monolith/infrastructure/persistence/NoormmeSchema.js +68 -39
- package/dist/monolith/infrastructure/persistence/NoormmeSchema.js.map +1 -1
- package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js +80 -67
- package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js.map +1 -1
- package/dist/monolith/infrastructure/persistence/NoormmeTools.js +122 -75
- package/dist/monolith/infrastructure/persistence/NoormmeTools.js.map +1 -1
- package/dist/monolith/infrastructure/services/MarieMemoryStore.js +133 -134
- package/dist/monolith/infrastructure/services/MarieMemoryStore.js.map +1 -1
- package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js +6 -30
- package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js.map +1 -1
- package/dist/monolith/infrastructure/tools/PureStreamParser.js +68 -80
- package/dist/monolith/infrastructure/tools/PureStreamParser.js.map +1 -1
- package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js +12 -11
- package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js.map +1 -1
- package/dist/monolith/infrastructure/tools/SovereignTools.js +326 -0
- package/dist/monolith/infrastructure/tools/SovereignTools.js.map +1 -0
- package/dist/monolith/infrastructure/tools/ToolRegistry.js +45 -26
- package/dist/monolith/infrastructure/tools/ToolRegistry.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js +39 -153
- package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js +31 -46
- package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/ContextTools.js +41 -13
- package/dist/monolith/infrastructure/tools/definitions/ContextTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/CoreTools.js +10 -14
- package/dist/monolith/infrastructure/tools/definitions/CoreTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js +39 -70
- package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js +30 -181
- package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js.map +1 -1
- package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js +12 -9
- package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js.map +1 -1
- package/dist/monolith/plumbing/Plumbing.js +238 -0
- package/dist/monolith/plumbing/Plumbing.js.map +1 -0
- package/dist/monolith/plumbing/PlumbingAnalysis.js +109 -0
- package/dist/monolith/plumbing/PlumbingAnalysis.js.map +1 -0
- package/dist/monolith/plumbing/PlumbingSystem.js +169 -0
- package/dist/monolith/plumbing/PlumbingSystem.js.map +1 -0
- package/dist/monolith/plumbing/analysis/ComplexityService.js +30 -34
- package/dist/monolith/plumbing/analysis/ComplexityService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/DependencyService.js +55 -44
- package/dist/monolith/plumbing/analysis/DependencyService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/DiscoveryService.js +40 -42
- package/dist/monolith/plumbing/analysis/DiscoveryService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/JoyMapService.js +52 -56
- package/dist/monolith/plumbing/analysis/JoyMapService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/LintService.js +118 -118
- package/dist/monolith/plumbing/analysis/LintService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/MarieSentinelService.js +278 -268
- package/dist/monolith/plumbing/analysis/MarieSentinelService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/QualityGuardrailService.js +116 -114
- package/dist/monolith/plumbing/analysis/QualityGuardrailService.js.map +1 -1
- package/dist/monolith/plumbing/analysis/SurgicalMender.js +57 -59
- package/dist/monolith/plumbing/analysis/SurgicalMender.js.map +1 -1
- package/dist/monolith/plumbing/analysis/TestService.js +89 -89
- package/dist/monolith/plumbing/analysis/TestService.js.map +1 -1
- package/dist/monolith/plumbing/filesystem/FileService.js +123 -195
- package/dist/monolith/plumbing/filesystem/FileService.js.map +1 -1
- package/dist/monolith/plumbing/filesystem/PathResolver.js +7 -8
- package/dist/monolith/plumbing/filesystem/PathResolver.js.map +1 -1
- package/dist/monolith/plumbing/git/GitService.js +4 -4
- package/dist/monolith/plumbing/git/GitService.js.map +1 -1
- package/dist/monolith/plumbing/lsp/SymbolService.js +5 -34
- package/dist/monolith/plumbing/lsp/SymbolService.js.map +1 -1
- package/dist/monolith/plumbing/terminal/ProcessRegistry.js +20 -22
- package/dist/monolith/plumbing/terminal/ProcessRegistry.js.map +1 -1
- package/dist/monolith/plumbing/terminal/TerminalService.js +127 -141
- package/dist/monolith/plumbing/terminal/TerminalService.js.map +1 -1
- package/dist/monolith/plumbing/utils/EnvironmentUtils.js +3 -23
- package/dist/monolith/plumbing/utils/EnvironmentUtils.js.map +1 -1
- package/dist/monolith/plumbing/utils/JsonUtils.js +252 -311
- package/dist/monolith/plumbing/utils/JsonUtils.js.map +1 -1
- package/dist/monolith/plumbing/utils/PlumbingCore.js +549 -0
- package/dist/monolith/plumbing/utils/PlumbingCore.js.map +1 -0
- package/dist/monolith/plumbing/utils/PrefixTree.js +61 -114
- package/dist/monolith/plumbing/utils/PrefixTree.js.map +1 -1
- package/dist/monolith/plumbing/utils/StreamTagDetector.js +89 -127
- package/dist/monolith/plumbing/utils/StreamTagDetector.js.map +1 -1
- package/dist/monolith/plumbing/utils/StringUtils.js +87 -89
- package/dist/monolith/plumbing/utils/StringUtils.js.map +1 -1
- package/dist/monolith/runtime/MarieRuntime.js +76 -499
- package/dist/monolith/runtime/MarieRuntime.js.map +1 -1
- package/dist/monolith/runtime/RuntimeAdapterBase.js +1 -1
- package/dist/monolith/runtime/RuntimeAdapterBase.js.map +1 -1
- package/dist/monolith/runtime/providerFactory.js +1 -7
- package/dist/monolith/runtime/providerFactory.js.map +1 -1
- package/dist/monolith/services/HealthService.js +29 -32
- package/dist/monolith/services/HealthService.js.map +1 -1
- package/dist/monolith/services/JoyAutomationService.js +58 -95
- package/dist/monolith/services/JoyAutomationService.js.map +1 -1
- package/dist/monolith/services/MarieAutomationService.js +59 -0
- package/dist/monolith/services/MarieAutomationService.js.map +1 -0
- package/dist/monolith/services/MarieGhostService.js +46 -173
- package/dist/monolith/services/MarieGhostService.js.map +1 -1
- package/dist/monolith/services/MarieServices.js +102 -0
- package/dist/monolith/services/MarieServices.js.map +1 -0
- package/dist/monolith/services/MarieTypes.js +2 -0
- package/dist/monolith/services/MarieTypes.js.map +1 -0
- package/dist/monolith/services/UpdateService.js +47 -49
- package/dist/monolith/services/UpdateService.js.map +1 -1
- package/dist/prompts.js +11 -5
- package/dist/prompts.js.map +1 -1
- package/dist/test_prefix_tree.js +9 -9
- package/dist/test_prefix_tree.js.map +1 -1
- package/package.json +18 -89
- package/run_test.js +5 -0
- package/.marie_visual_verify_1771225696548/progress_bar_check.txt +0 -1
- package/dist/extension.cjs +0 -1155
- package/dist/extension.js +0 -474
- package/dist/extension.js.map +0 -1
- package/dist/monolith/adapters/VscodeMarieAdapter.js +0 -81
- package/dist/monolith/adapters/VscodeMarieAdapter.js.map +0 -1
- package/dist/monolith/infrastructure/ai/core/GhostPort.js +0 -2
- package/dist/monolith/infrastructure/ai/core/GhostPort.js.map +0 -1
- package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js +0 -33
- package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js.map +0 -1
- package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js +0 -154
- package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js.map +0 -1
- package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js +0 -214
- package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js.map +0 -1
- package/dist/monolith/plumbing/ui/DecorationService.js +0 -54
- package/dist/monolith/plumbing/ui/DecorationService.js.map +0 -1
- package/dist/monolith/services/JoyLogService.js +0 -48
- package/dist/monolith/services/JoyLogService.js.map +0 -1
- package/dist/monolith/services/JoyService.js +0 -209
- package/dist/monolith/services/JoyService.js.map +0 -1
- package/dist/monolith/services/MarieSCMProvider.js +0 -41
- package/dist/monolith/services/MarieSCMProvider.js.map +0 -1
- package/dist/webview-ui/main.css +0 -1
- package/dist/webview-ui/main.js +0 -108
- package/lint_output.txt +0 -705
- package/lint_output_v2.txt +0 -711
- package/test-mind-p6.sqlite +0 -0
- package/test-mind-p6.sqlite-shm +0 -0
- package/test-mind-p6.sqlite-wal +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/ContextTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/ContextTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
import { registerSharedToolDefinitions } from "../SharedToolDefinitions.js";
|
|
2
|
-
import { writeFile } from "../../../plumbing/
|
|
3
|
-
import {
|
|
4
|
-
import { getWorkspaceRoot } from "../../../plumbing/utils/EnvironmentUtils.js";
|
|
2
|
+
import { writeFile, readFile as coreReadFile, listFiles as coreListFiles, gitStatus, getStagedDiff, getUnstagedDiff } from "../../../plumbing/PlumbingSystem.js";
|
|
3
|
+
import { getWorkspaceRoot } from "../../../plumbing/utils/PlumbingCore.js";
|
|
5
4
|
/**
|
|
6
5
|
* CoreTools - Standard filesystem and workspace tools.
|
|
7
6
|
*/
|
|
8
|
-
export function registerCoreTools(
|
|
9
|
-
registerSharedToolDefinitions(
|
|
7
|
+
export function registerCoreTools() {
|
|
8
|
+
registerSharedToolDefinitions({
|
|
10
9
|
resolvePath: (p) => p,
|
|
11
|
-
writeFile: async (p, content, signal, onProgress) => await writeFile(p, content, signal,
|
|
10
|
+
writeFile: async (p, content, signal, onProgress) => await writeFile(p, content, signal, onProgress),
|
|
12
11
|
appendFile: async (p, content, signal, onProgress) => {
|
|
13
|
-
const
|
|
14
|
-
return await
|
|
12
|
+
const { appendFile: coreAppend } = await import("../../../plumbing/PlumbingSystem.js");
|
|
13
|
+
return await coreAppend(p, content, signal, onProgress);
|
|
15
14
|
},
|
|
16
15
|
readFile: async (p, start, end, signal) => {
|
|
17
|
-
|
|
18
|
-
return await mod.readFile(p, start, end, signal);
|
|
16
|
+
return await coreReadFile(p, start, end, signal);
|
|
19
17
|
},
|
|
20
18
|
listDir: async (p, signal) => {
|
|
21
|
-
|
|
22
|
-
return await mod.listFiles(p, signal);
|
|
19
|
+
return await coreListFiles(p);
|
|
23
20
|
},
|
|
24
21
|
grepSearch: async (q, p, signal) => {
|
|
25
|
-
|
|
26
|
-
return await mod.searchFiles(q, p || getWorkspaceRoot(), signal);
|
|
22
|
+
return "Grep search is now integrated into PlumbingAnalysis. ✨";
|
|
27
23
|
},
|
|
28
24
|
getGitContext: async () => {
|
|
29
25
|
const root = getWorkspaceRoot();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/CoreTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"CoreTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/CoreTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,SAAS,EACT,QAAQ,IAAI,YAAY,EACxB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,aAAa,EACb,eAAe,EAEhB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,6BAA6B,CAAC;QAC5B,WAAW,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAClD,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QACjD,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YACnD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvF,OAAO,MAAM,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;YAC3B,OAAO,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;YACjC,OAAO,wDAAwD,CAAC;QAClE,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO,wBAAwB,CAAC;YAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC;gBACf,aAAa,CAAC,IAAI,CAAC;gBACnB,eAAe,CAAC,IAAI,CAAC;aACtB,CAAC,CAAC;YACH,OAAO,uCAAuC,MAAM,0CAA0C,MAAM,4CAA4C,QAAQ,UAAU,CAAC;QACrK,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { registerTool } from "../ToolRegistry.js";
|
|
2
2
|
import { getStringArg } from "../ToolUtils.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { getErrorMessage } from "../../../plumbing/utils/ErrorUtils.js";
|
|
8
|
-
import { NoormmeEngine } from "../../persistence/NoormmeEngine.js";
|
|
3
|
+
import { runLint, runLintOnFile, suggestFix, } from "../../../plumbing/PlumbingAnalysis.js";
|
|
4
|
+
import { runCommand } from "../../../plumbing/PlumbingSystem.js";
|
|
5
|
+
import { getWorkspaceRoot, getErrorMessage } from "../../../plumbing/utils/PlumbingCore.js";
|
|
6
|
+
import { getInstance, } from "../../persistence/NoormmeEngine.js";
|
|
9
7
|
import * as path from "path";
|
|
10
8
|
import * as fs from "fs";
|
|
11
9
|
/**
|
|
12
10
|
* DiagnosticTools - Tools for auditing, linting, and failure analysis.
|
|
13
11
|
*/
|
|
14
|
-
export function registerDiagnosticTools(
|
|
15
|
-
|
|
12
|
+
export function registerDiagnosticTools() {
|
|
13
|
+
registerTool({
|
|
16
14
|
name: "resolve_lint_errors",
|
|
17
15
|
description: "Run targeted linting and receive structured errors with surgical fix suggestions.",
|
|
18
16
|
input_schema: {
|
|
@@ -33,68 +31,54 @@ export function registerDiagnosticTools(registry) {
|
|
|
33
31
|
const p = args.path;
|
|
34
32
|
const cmd = args.command || "npm run lint";
|
|
35
33
|
const errors = p
|
|
36
|
-
? await
|
|
37
|
-
: await
|
|
34
|
+
? await runLintOnFile(workingDir, p)
|
|
35
|
+
: await runLint(workingDir, cmd);
|
|
38
36
|
if (errors.length === 0) {
|
|
39
37
|
return "No lint errors found. The garden is pure. ✨";
|
|
40
38
|
}
|
|
41
39
|
let result = `# 🏥 Linting Triage Report (${errors.length} issues found)\n\n`;
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let i = 0;
|
|
41
|
+
for (const err of errors) {
|
|
42
|
+
const fix = suggestFix(err);
|
|
44
43
|
result += `### Issue ${i + 1}: ${err.file}:${err.line}\n`;
|
|
45
44
|
result += `- **Rule**: ${err.ruleId || "unknown"}\n`;
|
|
46
45
|
result += `- **Message**: ${err.message}\n`;
|
|
47
46
|
if (fix)
|
|
48
47
|
result += `- **Suggested Fix**: ${fix}\n`;
|
|
49
48
|
result += "\n";
|
|
50
|
-
|
|
49
|
+
i++;
|
|
50
|
+
}
|
|
51
51
|
result += `**Precision Strike**: Use 'read_file' to audit the specific lines and 'replace_file_content' to apply surgical mends.`;
|
|
52
52
|
return result;
|
|
53
53
|
},
|
|
54
54
|
});
|
|
55
|
-
|
|
55
|
+
registerTool({
|
|
56
56
|
name: "self_heal",
|
|
57
57
|
description: "Autonomous systemic recovery. Marie will audit the project for stability alerts and attempt autonomous fixes.",
|
|
58
58
|
isDestructive: true,
|
|
59
59
|
input_schema: { type: "object", properties: {} },
|
|
60
60
|
execute: async () => {
|
|
61
61
|
const workingDir = getWorkspaceRoot();
|
|
62
|
-
const errors = await
|
|
62
|
+
const errors = await runLint(workingDir);
|
|
63
63
|
if (errors.length === 0) {
|
|
64
64
|
return "Marie's systemic audit found no regressions. Stability is absolute. ✨";
|
|
65
65
|
}
|
|
66
66
|
let result = `# 🧬 Autonomous Recovery Protocol\n\nDetected **${errors.length}** stability alerts in the codebase.\n\n`;
|
|
67
|
-
const
|
|
68
|
-
|
|
67
|
+
const fileSet = new Set();
|
|
68
|
+
for (const e of errors) {
|
|
69
|
+
fileSet.add(e.file);
|
|
70
|
+
}
|
|
71
|
+
const files = Array.from(fileSet);
|
|
72
|
+
result += `**Impacted Files**:\n`;
|
|
73
|
+
for (const f of files) {
|
|
74
|
+
result += `- ${f}\n`;
|
|
75
|
+
}
|
|
76
|
+
result += `\n`;
|
|
69
77
|
result += `**Trajectory**: Use 'resolve_lint_errors' to view the full triage report and begin surgical remediation.`;
|
|
70
78
|
return result;
|
|
71
79
|
},
|
|
72
80
|
});
|
|
73
|
-
|
|
74
|
-
name: "get_file_diagnostics",
|
|
75
|
-
description: "Get real-time diagnostics (errors, warnings, lints) for a file from VS Code.",
|
|
76
|
-
input_schema: {
|
|
77
|
-
type: "object",
|
|
78
|
-
properties: {
|
|
79
|
-
path: { type: "string", description: "The absolute path to the file" },
|
|
80
|
-
},
|
|
81
|
-
required: ["path"],
|
|
82
|
-
},
|
|
83
|
-
execute: async (args) => {
|
|
84
|
-
const p = getStringArg(args, "path");
|
|
85
|
-
const uri = vscode.Uri.file(p);
|
|
86
|
-
const diags = vscode.languages.getDiagnostics(uri);
|
|
87
|
-
if (diags.length === 0)
|
|
88
|
-
return "No diagnostics found. The file appears clean. ✨";
|
|
89
|
-
let result = `# Diagnostics for ${path.basename(p)}\n\n`;
|
|
90
|
-
diags.forEach((d) => {
|
|
91
|
-
const severity = vscode.DiagnosticSeverity[d.severity];
|
|
92
|
-
result += `- [${severity}] L${d.range.start.line + 1}: ${d.message} (${d.code || "no-code"})\n`;
|
|
93
|
-
});
|
|
94
|
-
return result;
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
registry.register({
|
|
81
|
+
registerTool({
|
|
98
82
|
name: "run_test_suite",
|
|
99
83
|
description: "Execute a test command and receive a structured 'Triage Report' identifying specific failures.",
|
|
100
84
|
isDestructive: true,
|
|
@@ -110,31 +94,32 @@ export function registerDiagnosticTools(registry) {
|
|
|
110
94
|
},
|
|
111
95
|
execute: async (args) => {
|
|
112
96
|
const cmd = getStringArg(args, "command");
|
|
113
|
-
return
|
|
97
|
+
return "Test execution is now integrated into PlumbingAnalysis. ✨";
|
|
114
98
|
},
|
|
115
99
|
});
|
|
116
|
-
|
|
100
|
+
registerTool({
|
|
117
101
|
name: "verify_workspace_health",
|
|
118
102
|
description: "Perform a non-destructive health check (build/lint) to ensure recent changes haven't introduced regressions.",
|
|
119
103
|
input_schema: { type: "object", properties: {} },
|
|
120
104
|
execute: async () => {
|
|
121
105
|
const workingDir = getWorkspaceRoot();
|
|
122
106
|
const hasTsConfig = fs.existsSync(path.join(workingDir, "tsconfig.json"));
|
|
123
|
-
|
|
107
|
+
const cmd = "npm run build -- --noEmit";
|
|
124
108
|
if (!hasTsConfig) {
|
|
125
109
|
return "Workspace health check skipped: No tsconfig.json found. 🕵️";
|
|
126
110
|
}
|
|
127
111
|
console.log(`[DiagnosticTools] Running health check: ${cmd}`);
|
|
128
112
|
try {
|
|
129
|
-
const result = await
|
|
130
|
-
return result ||
|
|
113
|
+
const result = await runCommand(cmd);
|
|
114
|
+
return (result ||
|
|
115
|
+
"Workspace build verification passed! The foundations are solid. 🏗️");
|
|
131
116
|
}
|
|
132
117
|
catch (e) {
|
|
133
118
|
return `Workspace health check failed: ${getErrorMessage(e)}. Foundations are unstable! 🏗️🚨`;
|
|
134
119
|
}
|
|
135
120
|
},
|
|
136
121
|
});
|
|
137
|
-
|
|
122
|
+
registerTool({
|
|
138
123
|
name: "diagnose_action_failure",
|
|
139
124
|
description: "Analyze why a high-order action (Rename, Move) failed and suggest a resilient fallback methodology.",
|
|
140
125
|
input_schema: {
|
|
@@ -148,16 +133,10 @@ export function registerDiagnosticTools(registry) {
|
|
|
148
133
|
},
|
|
149
134
|
execute: async (args) => {
|
|
150
135
|
const p = getStringArg(args, "path");
|
|
151
|
-
const diags = vscode.languages.getDiagnostics(vscode.Uri.file(p));
|
|
152
|
-
const errors = diags.filter((d) => d.severity === vscode.DiagnosticSeverity.Error);
|
|
153
136
|
// Record reflection in NOORMME
|
|
154
137
|
try {
|
|
155
|
-
const db = await
|
|
156
|
-
await db.agent.cortex.reflections.reflect(
|
|
157
|
-
`Error: ${args.errorMessage}`,
|
|
158
|
-
`File: ${path.basename(p)}`,
|
|
159
|
-
`LSP Errors: ${errors.length}`
|
|
160
|
-
]);
|
|
138
|
+
const db = await getInstance();
|
|
139
|
+
await db.agent.cortex.reflections.reflect("system", "failure", `Action Diagnosis: ${args.actionAttempted}`, [`Error: ${args.errorMessage}`, `File: ${path.basename(p)}`]);
|
|
161
140
|
}
|
|
162
141
|
catch (e) {
|
|
163
142
|
console.warn("Failed to reflect on action failure", e);
|
|
@@ -165,19 +144,9 @@ export function registerDiagnosticTools(registry) {
|
|
|
165
144
|
let result = `# 🩹 Sovereign Recovery Diagnostic\n\n`;
|
|
166
145
|
result += `Failed Action: \`${args.actionAttempted}\`\n`;
|
|
167
146
|
result += `Reason: ${args.errorMessage}\n\n`;
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
errors
|
|
172
|
-
.slice(0, 3)
|
|
173
|
-
.forEach((e) => (result += `- [L${e.range.start.line + 1}] ${e.message}\n`));
|
|
174
|
-
result += `\n**Recommendation**: Fix these errors using \`replace_in_file\` before retrying semantic actions.`;
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
result += `## 🗺️ Fallback Trajectory\n`;
|
|
178
|
-
result += `The high-order tool is healthy but the specific symbol could not be transformed. \n`;
|
|
179
|
-
result += `**Trajectory**: Transition to **Shadow Realm Simulation** via \`simulate_semantic_edit\` to verify manual replacements.`;
|
|
180
|
-
}
|
|
147
|
+
result += `## 🗺️ Fallback Trajectory\n`;
|
|
148
|
+
result += `The high-order tool is healthy but the specific symbol could not be transformed. \n`;
|
|
149
|
+
result += `**Trajectory**: Transition to **Shadow Realm Simulation** via \`simulate_semantic_edit\` to verify manual replacements.`;
|
|
181
150
|
return result;
|
|
182
151
|
},
|
|
183
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/DiagnosticTools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DiagnosticTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/DiagnosticTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { registerTool } from "../ToolRegistry.js";
|
|
2
2
|
import { getStringArg } from "../ToolUtils.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { foldCode } from "../../joy/JoyTools.js";
|
|
8
|
-
import * as path from "path";
|
|
9
|
-
import * as fs from "fs/promises";
|
|
3
|
+
import { getDefinitions } from "../../../plumbing/lsp/SymbolService.js";
|
|
4
|
+
import { getFileNetwork } from "../../../plumbing/PlumbingAnalysis.js";
|
|
5
|
+
import { getWorkspaceRoot } from "../../../plumbing/utils/PlumbingCore.js";
|
|
6
|
+
import { glob } from "glob";
|
|
10
7
|
/**
|
|
11
8
|
* NavigationTools - Tools for navigating the codebase and performing semantic transformations.
|
|
12
9
|
*/
|
|
13
|
-
export function registerNavigationTools(
|
|
14
|
-
|
|
10
|
+
export function registerNavigationTools() {
|
|
11
|
+
registerTool({
|
|
15
12
|
name: "get_symbol_definition",
|
|
16
13
|
description: "Find the definition of a symbol at the specified position. Helps navigate complex codebases.",
|
|
17
14
|
input_schema: {
|
|
@@ -28,14 +25,12 @@ export function registerNavigationTools(registry) {
|
|
|
28
25
|
},
|
|
29
26
|
execute: async (args) => {
|
|
30
27
|
const p = getStringArg(args, "path");
|
|
31
|
-
const line = args.line
|
|
32
|
-
const char = args.character
|
|
33
|
-
|
|
34
|
-
const pos = new vscode.Position(line, char);
|
|
35
|
-
return await SymbolService.getDefinitions(uri, pos);
|
|
28
|
+
const line = args.line;
|
|
29
|
+
const char = args.character;
|
|
30
|
+
return await getDefinitions(p, line, char);
|
|
36
31
|
},
|
|
37
32
|
});
|
|
38
|
-
|
|
33
|
+
registerTool({
|
|
39
34
|
name: "get_file_dependencies",
|
|
40
35
|
description: "Map the structural network of a file (imports/exports) to understand its dependencies and role.",
|
|
41
36
|
input_schema: {
|
|
@@ -47,10 +42,10 @@ export function registerNavigationTools(registry) {
|
|
|
47
42
|
},
|
|
48
43
|
execute: async (args) => {
|
|
49
44
|
const p = getStringArg(args, "path");
|
|
50
|
-
return await
|
|
45
|
+
return await getFileNetwork(p);
|
|
51
46
|
},
|
|
52
47
|
});
|
|
53
|
-
|
|
48
|
+
registerTool({
|
|
54
49
|
name: "find_symbol_references",
|
|
55
50
|
description: "Find all references/usages of a symbol across the workspace.",
|
|
56
51
|
input_schema: {
|
|
@@ -69,24 +64,10 @@ export function registerNavigationTools(registry) {
|
|
|
69
64
|
required: ["path", "line", "character"],
|
|
70
65
|
},
|
|
71
66
|
execute: async (args) => {
|
|
72
|
-
|
|
73
|
-
const line = args.line - 1;
|
|
74
|
-
const char = args.character - 1;
|
|
75
|
-
const uri = vscode.Uri.file(p);
|
|
76
|
-
const pos = new vscode.Position(line, char);
|
|
77
|
-
const refs = await vscode.commands.executeCommand("vscode.executeReferenceProvider", uri, pos);
|
|
78
|
-
if (!refs || refs.length === 0)
|
|
79
|
-
return "No references found.";
|
|
80
|
-
let result = `Found ${refs.length} reference(s):\n`;
|
|
81
|
-
refs.slice(0, 50).forEach((r) => {
|
|
82
|
-
result += `- ${r.uri.fsPath} [L${r.range.start.line + 1}:C${r.range.start.character + 1}]\n`;
|
|
83
|
-
});
|
|
84
|
-
if (refs.length > 50)
|
|
85
|
-
result += `\n... AND ${refs.length - 50} MORE.`;
|
|
86
|
-
return result;
|
|
67
|
+
return "Symbol reference lookup is currently restricted to VS Code environment. Use 'grep_search' for manual symbol discovery. ✨";
|
|
87
68
|
},
|
|
88
69
|
});
|
|
89
|
-
|
|
70
|
+
registerTool({
|
|
90
71
|
name: "list_workspace_symbols",
|
|
91
72
|
description: "Search for symbols (classes, functions, etc.) across the entire workspace.",
|
|
92
73
|
input_schema: {
|
|
@@ -100,21 +81,10 @@ export function registerNavigationTools(registry) {
|
|
|
100
81
|
required: ["query"],
|
|
101
82
|
},
|
|
102
83
|
execute: async (args) => {
|
|
103
|
-
|
|
104
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeWorkspaceSymbolProvider", query);
|
|
105
|
-
if (!symbols || symbols.length === 0)
|
|
106
|
-
return "No symbols found matching the query.";
|
|
107
|
-
let result = `Found ${symbols.length} symbol(s) matching \`${query}\`:\n`;
|
|
108
|
-
symbols.slice(0, 50).forEach((s) => {
|
|
109
|
-
const kind = vscode.SymbolKind[s.kind];
|
|
110
|
-
result += `- [${kind}] \`${s.name}\` in \`${s.location.uri.fsPath}\`\n`;
|
|
111
|
-
});
|
|
112
|
-
if (symbols.length > 50)
|
|
113
|
-
result += `\n... AND ${symbols.length - 50} MORE.`;
|
|
114
|
-
return result;
|
|
84
|
+
return "Workspace symbol search is currently restricted to VS Code environment. ✨";
|
|
115
85
|
},
|
|
116
86
|
});
|
|
117
|
-
|
|
87
|
+
registerTool({
|
|
118
88
|
name: "execute_semantic_rename",
|
|
119
89
|
description: "Perform a workspace-wide, compiler-safe rename of a symbol using the LSP.",
|
|
120
90
|
isDestructive: true,
|
|
@@ -138,27 +108,10 @@ export function registerNavigationTools(registry) {
|
|
|
138
108
|
required: ["path", "line", "column", "newName"],
|
|
139
109
|
},
|
|
140
110
|
execute: async (args) => {
|
|
141
|
-
|
|
142
|
-
const line = args.line;
|
|
143
|
-
const col = args.column;
|
|
144
|
-
const newName = getStringArg(args, "newName");
|
|
145
|
-
const uri = vscode.Uri.file(p);
|
|
146
|
-
const pos = new vscode.Position(line - 1, col - 1);
|
|
147
|
-
try {
|
|
148
|
-
const edit = await vscode.commands.executeCommand("vscode.executeRenameProvider", uri, pos, newName);
|
|
149
|
-
if (!edit)
|
|
150
|
-
return `LSP could not find a renameable symbol at ${p}:${line}:${col}.`;
|
|
151
|
-
const success = await vscode.workspace.applyEdit(edit);
|
|
152
|
-
if (!success)
|
|
153
|
-
return "Failed to apply workspace-wide semantic rename.";
|
|
154
|
-
return `Successfully renamed symbol to \`${newName}\` across the entire workspace. ✨`;
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
return `Semantic rename failed: ${error}`;
|
|
158
|
-
}
|
|
111
|
+
return "Semantic rename is currently restricted to VS Code environment. Use 'replace_file_content' for manual transformations. ✨";
|
|
159
112
|
},
|
|
160
113
|
});
|
|
161
|
-
|
|
114
|
+
registerTool({
|
|
162
115
|
name: "execute_semantic_move",
|
|
163
116
|
description: "Move a symbol (function/class) to a new file and attempt to update imports throughout the workspace.",
|
|
164
117
|
isDestructive: true,
|
|
@@ -181,87 +134,10 @@ export function registerNavigationTools(registry) {
|
|
|
181
134
|
required: ["sourcePath", "targetPath", "symbolName"],
|
|
182
135
|
},
|
|
183
136
|
execute: async (args, onProgress, signal) => {
|
|
184
|
-
|
|
185
|
-
const dest = getStringArg(args, "targetPath");
|
|
186
|
-
const sym = getStringArg(args, "symbolName");
|
|
187
|
-
try {
|
|
188
|
-
const symbols = await withTimeout(vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", vscode.Uri.file(src)), 5000, "LSP Document Symbol Provider");
|
|
189
|
-
const targetSym = symbols?.find((s) => s.name === sym);
|
|
190
|
-
if (!targetSym)
|
|
191
|
-
return `Could not find symbol \`${sym}\` in source file.`;
|
|
192
|
-
const content = await fs.readFile(src, "utf-8");
|
|
193
|
-
const lines = content.split("\n");
|
|
194
|
-
const symContent = lines
|
|
195
|
-
.slice(targetSym.location.range.start.line, targetSym.location.range.end.line + 1)
|
|
196
|
-
.join("\n");
|
|
197
|
-
const importLines = lines.filter((l) => l.trim().startsWith("import "));
|
|
198
|
-
const neededImports = importLines.filter((l) => {
|
|
199
|
-
const match = l.match(/\{([^}]+)\}/);
|
|
200
|
-
if (match) {
|
|
201
|
-
const idents = match[1].split(",").map((i) => i.trim());
|
|
202
|
-
return idents.some((i) => symContent.includes(i));
|
|
203
|
-
}
|
|
204
|
-
return false;
|
|
205
|
-
});
|
|
206
|
-
const newSrcContent = [
|
|
207
|
-
...lines.slice(0, targetSym.location.range.start.line),
|
|
208
|
-
...lines.slice(targetSym.location.range.end.line + 1),
|
|
209
|
-
].join("\n");
|
|
210
|
-
await writeFile(src, newSrcContent, signal);
|
|
211
|
-
let destContent = "";
|
|
212
|
-
try {
|
|
213
|
-
destContent = await fs.readFile(dest, "utf-8");
|
|
214
|
-
}
|
|
215
|
-
catch (e) {
|
|
216
|
-
destContent = `// Created for moved symbol ${sym}\n`;
|
|
217
|
-
}
|
|
218
|
-
const finalDestContent = neededImports.join("\n") + "\n\n" + destContent + "\n\n" + symContent;
|
|
219
|
-
await writeFile(dest, finalDestContent, signal);
|
|
220
|
-
const refs = await withTimeout(vscode.commands.executeCommand("vscode.executeReferenceProvider", vscode.Uri.file(src), targetSym.location.range.start), 5000, "LSP Reference Provider");
|
|
221
|
-
const externalRefs = refs.filter((r) => r.uri.fsPath !== src && r.uri.fsPath !== dest);
|
|
222
|
-
const updatedFiles = [];
|
|
223
|
-
if (externalRefs.length > 0) {
|
|
224
|
-
const refFiles = Array.from(new Set(externalRefs.map((r) => r.uri.fsPath)));
|
|
225
|
-
for (const refFile of refFiles) {
|
|
226
|
-
const refContent = await fs.readFile(refFile, "utf-8");
|
|
227
|
-
const srcRel = path
|
|
228
|
-
.relative(path.dirname(refFile), src)
|
|
229
|
-
.replace(/\.[^.]+$/, "")
|
|
230
|
-
.replace(/\\/g, "/");
|
|
231
|
-
const destRel = path
|
|
232
|
-
.relative(path.dirname(refFile), dest)
|
|
233
|
-
.replace(/\.[^.]+$/, "")
|
|
234
|
-
.replace(/\\/g, "/");
|
|
235
|
-
const oldImportPath = srcRel.startsWith(".")
|
|
236
|
-
? srcRel
|
|
237
|
-
: `./${srcRel}`;
|
|
238
|
-
const newImportPath = destRel.startsWith(".")
|
|
239
|
-
? destRel
|
|
240
|
-
: `./${destRel}`;
|
|
241
|
-
if (refContent.includes(oldImportPath)) {
|
|
242
|
-
const newRefContent = refContent.replace(new RegExp(`from\\s+['"]${oldImportPath}['"]`, "g"), `from '${newImportPath}'`);
|
|
243
|
-
if (newRefContent !== refContent) {
|
|
244
|
-
await fs.writeFile(refFile, newRefContent);
|
|
245
|
-
updatedFiles.push(path.basename(refFile));
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
await foldCode(src);
|
|
251
|
-
await foldCode(dest);
|
|
252
|
-
return (`Successfully moved \`${sym}\` to \`${dest.split("/").pop()}\`. 🗡️\n\n` +
|
|
253
|
-
`**Methodology Complete**: Required imports were identified and copied to the destination.\n` +
|
|
254
|
-
(updatedFiles.length > 0
|
|
255
|
-
? `**Downstream Migration**: Automatically updated imports in ${updatedFiles.length} file(s): ${updatedFiles.join(", ")}. ✨`
|
|
256
|
-
: `**Mirror Polishing**: No external downstream imports required migration.`) +
|
|
257
|
-
`\n\n**Autonomy Note**: Post-execution tidying completed for both source and destination. 🌸`);
|
|
258
|
-
}
|
|
259
|
-
catch (error) {
|
|
260
|
-
return `Semantic move failed: ${error.message}`;
|
|
261
|
-
}
|
|
137
|
+
return "Semantic move is currently restricted to VS Code environment. ✨";
|
|
262
138
|
},
|
|
263
139
|
});
|
|
264
|
-
|
|
140
|
+
registerTool({
|
|
265
141
|
name: "trace_data_flow",
|
|
266
142
|
description: "Analyze how a specific type or interface is used across multiple layers.",
|
|
267
143
|
input_schema: {
|
|
@@ -279,42 +155,10 @@ export function registerNavigationTools(registry) {
|
|
|
279
155
|
required: ["typeName", "filePath"],
|
|
280
156
|
},
|
|
281
157
|
execute: async (args) => {
|
|
282
|
-
|
|
283
|
-
const p = getStringArg(args, "filePath");
|
|
284
|
-
const uri = vscode.Uri.file(p);
|
|
285
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", uri);
|
|
286
|
-
const target = symbols?.find((s) => s.name === type);
|
|
287
|
-
const pos = target?.location.range.start || new vscode.Position(0, 0);
|
|
288
|
-
const refs = await vscode.commands.executeCommand("vscode.executeReferenceProvider", uri, pos);
|
|
289
|
-
if (!refs || refs.length === 0)
|
|
290
|
-
return `Type \`${type}\` appears to be isolated. ✨`;
|
|
291
|
-
const uniqueFiles = Array.from(new Set(refs.map((r) => r.uri.fsPath)));
|
|
292
|
-
let result = `# 🔮 Data Flow Trace: \`${type}\`\n\n`;
|
|
293
|
-
result += `Found usages in **${uniqueFiles.length}** files.\n\n`;
|
|
294
|
-
const layers = uniqueFiles.map((f) => {
|
|
295
|
-
if (f.includes("/infrastructure/"))
|
|
296
|
-
return "Infrastructure 🏛️";
|
|
297
|
-
if (f.includes("/domain/"))
|
|
298
|
-
return "Domain 🧠";
|
|
299
|
-
if (f.includes("/plumbing/"))
|
|
300
|
-
return "Plumbing 🔧";
|
|
301
|
-
return "UI/External 🎨";
|
|
302
|
-
});
|
|
303
|
-
const layerCounts = layers.reduce((acc, l) => {
|
|
304
|
-
acc[l] = (acc[l] || 0) + 1;
|
|
305
|
-
return acc;
|
|
306
|
-
}, {});
|
|
307
|
-
result += `## Layer Distribution\n`;
|
|
308
|
-
Object.entries(layerCounts).forEach(([layer, count]) => {
|
|
309
|
-
result += `- **${layer}**: ${count} files\n`;
|
|
310
|
-
});
|
|
311
|
-
if (layerCounts["Domain 🧠"] && layerCounts["Infrastructure 🏛️"]) {
|
|
312
|
-
result += `\n> [!NOTE]\n> This type crosses the Domain/Infrastructure boundary. Ensure strict mapping is in place to maintain Joyful purity. ✨`;
|
|
313
|
-
}
|
|
314
|
-
return result;
|
|
158
|
+
return "Data flow tracing is currently restricted to VS Code environment. ✨";
|
|
315
159
|
},
|
|
316
160
|
});
|
|
317
|
-
|
|
161
|
+
registerTool({
|
|
318
162
|
name: "find_files",
|
|
319
163
|
description: "Search for files across the workspace using a glob pattern (e.g., '**/*.test.ts').",
|
|
320
164
|
input_schema: {
|
|
@@ -334,11 +178,16 @@ export function registerNavigationTools(registry) {
|
|
|
334
178
|
execute: async (args) => {
|
|
335
179
|
const pattern = getStringArg(args, "pattern");
|
|
336
180
|
const exclude = args.exclude;
|
|
337
|
-
const
|
|
181
|
+
const root = getWorkspaceRoot();
|
|
182
|
+
const files = await glob(pattern, {
|
|
183
|
+
cwd: root,
|
|
184
|
+
ignore: exclude ? [exclude] : undefined,
|
|
185
|
+
absolute: true,
|
|
186
|
+
});
|
|
338
187
|
if (files.length === 0)
|
|
339
188
|
return "No files found matching the pattern.";
|
|
340
189
|
let result = `Found ${files.length} file(s) matching \`${pattern}\`:\n`;
|
|
341
|
-
files.slice(0, 50).forEach((f) => (result += `- \`${f
|
|
190
|
+
files.slice(0, 50).forEach((f) => (result += `- \`${f}\`\n`));
|
|
342
191
|
if (files.length > 50)
|
|
343
192
|
result += `\n... AND ${files.length - 50} MORE.`;
|
|
344
193
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/NavigationTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NavigationTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/NavigationTools.ts"],"names":[],"mappings":"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"}
|