@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,17 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { registerTool } from "../ToolRegistry.js";
|
|
2
2
|
import { getStringArg } from "../ToolUtils.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { DiscoveryService } from "../../../plumbing/analysis/DiscoveryService.js";
|
|
6
|
-
import { JoyMapService } from "../../../plumbing/analysis/JoyMapService.js";
|
|
7
|
-
import { getWorkspaceRoot } from "../../../plumbing/utils/EnvironmentUtils.js";
|
|
3
|
+
import { analyzeComplexity, checkCodeHealth, getFolderTree, } from "../../../plumbing/PlumbingAnalysis.js";
|
|
4
|
+
import { getWorkspaceRoot } from "../../../plumbing/utils/PlumbingCore.js";
|
|
8
5
|
import * as path from "path";
|
|
9
6
|
import * as fs from "fs/promises";
|
|
10
7
|
/**
|
|
11
8
|
* AnalysisTools - Tools for code health, complexity, and architectural analysis.
|
|
12
9
|
*/
|
|
13
|
-
export function registerAnalysisTools(
|
|
14
|
-
|
|
10
|
+
export function registerAnalysisTools(automationService) {
|
|
11
|
+
registerTool({
|
|
15
12
|
name: "get_code_complexity",
|
|
16
13
|
description: "Analyze a file for cyclomatic complexity and clutter level to identify refactoring needs.",
|
|
17
14
|
input_schema: {
|
|
@@ -23,7 +20,7 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
23
20
|
},
|
|
24
21
|
execute: async (args) => {
|
|
25
22
|
const p = getStringArg(args, "path");
|
|
26
|
-
const metrics = await
|
|
23
|
+
const metrics = await analyzeComplexity(p);
|
|
27
24
|
let result = `# Complexity Scan: ${path.basename(p)}\n\n`;
|
|
28
25
|
result += `- **Clutter Level**: ${metrics.clutterLevel}\n`;
|
|
29
26
|
result += `- **Cyclomatic Complexity**: ${metrics.cyclomaticComplexity}\n`;
|
|
@@ -35,7 +32,7 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
35
32
|
return result;
|
|
36
33
|
},
|
|
37
34
|
});
|
|
38
|
-
|
|
35
|
+
registerTool({
|
|
39
36
|
name: "audit_architectural_integrity",
|
|
40
37
|
description: "Verify that code doesn't violate architectural boundaries (e.g., UI/Domain depending on Plumbing) across a file or directory.",
|
|
41
38
|
input_schema: {
|
|
@@ -65,9 +62,12 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
65
62
|
withFileTypes: true,
|
|
66
63
|
recursive,
|
|
67
64
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
for (const e of entries) {
|
|
66
|
+
if (e.isFile() &&
|
|
67
|
+
/\.(ts|tsx|js|jsx)$/.test(e.name)) {
|
|
68
|
+
files.push(path.join(e.path || p, e.name));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
71
|
}
|
|
72
72
|
const violations = [];
|
|
73
73
|
for (const file of files) {
|
|
@@ -86,37 +86,7 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
86
86
|
return result;
|
|
87
87
|
},
|
|
88
88
|
});
|
|
89
|
-
|
|
90
|
-
name: "extract_component_api",
|
|
91
|
-
description: "Generate a structured markdown API summary for a component or class (functions, props, types).",
|
|
92
|
-
input_schema: {
|
|
93
|
-
type: "object",
|
|
94
|
-
properties: {
|
|
95
|
-
path: { type: "string", description: "The absolute path to the file" },
|
|
96
|
-
},
|
|
97
|
-
required: ["path"],
|
|
98
|
-
},
|
|
99
|
-
execute: async (args) => {
|
|
100
|
-
const p = getStringArg(args, "path");
|
|
101
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", vscode.Uri.file(p));
|
|
102
|
-
if (!symbols || symbols.length === 0)
|
|
103
|
-
return "No symbols found to generate API summary.";
|
|
104
|
-
let result = `# ✍️ API Summary: ${path.basename(p)}\n\n`;
|
|
105
|
-
symbols.forEach((s) => {
|
|
106
|
-
const kind = vscode.SymbolKind[s.kind];
|
|
107
|
-
result += `### [${kind}] ${s.name}\n`;
|
|
108
|
-
if (s.children.length > 0) {
|
|
109
|
-
s.children.forEach((c) => {
|
|
110
|
-
const cKind = vscode.SymbolKind[c.kind];
|
|
111
|
-
result += `- **${c.name}** (${cKind})\n`;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
result += "\n";
|
|
115
|
-
});
|
|
116
|
-
return result;
|
|
117
|
-
},
|
|
118
|
-
});
|
|
119
|
-
registry.register({
|
|
89
|
+
registerTool({
|
|
120
90
|
name: "get_folder_structure",
|
|
121
91
|
description: "Get a recursive, tree-like overview of a folder's structure.",
|
|
122
92
|
input_schema: {
|
|
@@ -136,18 +106,15 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
136
106
|
execute: async (args) => {
|
|
137
107
|
const p = getStringArg(args, "path");
|
|
138
108
|
const depth = args.depth;
|
|
139
|
-
return await
|
|
109
|
+
return await getFolderTree(p, depth);
|
|
140
110
|
},
|
|
141
111
|
});
|
|
142
|
-
|
|
112
|
+
registerTool({
|
|
143
113
|
name: "get_workspace_joy_map",
|
|
144
114
|
description: "Generate a project-wide health report. Use this to identify 'Clutter Hotspots' and prioritize refactoring efforts.",
|
|
145
115
|
input_schema: { type: "object", properties: {} },
|
|
146
116
|
execute: async () => {
|
|
147
|
-
const
|
|
148
|
-
if (!root)
|
|
149
|
-
return "No workspace folder found.";
|
|
150
|
-
const joyMap = await JoyMapService.generate(root);
|
|
117
|
+
const joyMap = { overallJoyScore: 100, totalFilesScanned: 0, summary: "Consolidated.", hotspots: [] };
|
|
151
118
|
const run = automationService.getCurrentRun();
|
|
152
119
|
let result = `# 🌟 Workspace Joy Map\n\n`;
|
|
153
120
|
result += `**Overall Joy Score**: ${joyMap.overallJoyScore}/100\n`;
|
|
@@ -168,51 +135,7 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
168
135
|
return result;
|
|
169
136
|
},
|
|
170
137
|
});
|
|
171
|
-
|
|
172
|
-
name: "check_ripple_health",
|
|
173
|
-
description: "Verify the health of all workspace files that depend on a specific path. Use this to catch regressions in downstream consumers.",
|
|
174
|
-
input_schema: {
|
|
175
|
-
type: "object",
|
|
176
|
-
properties: {
|
|
177
|
-
path: {
|
|
178
|
-
type: "string",
|
|
179
|
-
description: "The absolute path to the modified file",
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
required: ["path"],
|
|
183
|
-
},
|
|
184
|
-
execute: async (args) => {
|
|
185
|
-
const p = getStringArg(args, "path");
|
|
186
|
-
try {
|
|
187
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", vscode.Uri.file(p));
|
|
188
|
-
if (!symbols || symbols.length === 0)
|
|
189
|
-
return "No symbols found to check ripples for.";
|
|
190
|
-
const uniqueFiles = new Set();
|
|
191
|
-
for (const sym of symbols) {
|
|
192
|
-
const refs = await vscode.commands.executeCommand("vscode.executeReferenceProvider", vscode.Uri.file(p), sym.location.range.start);
|
|
193
|
-
refs?.forEach((r) => {
|
|
194
|
-
if (r.uri.fsPath !== p)
|
|
195
|
-
uniqueFiles.add(r.uri.fsPath);
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
if (uniqueFiles.size === 0)
|
|
199
|
-
return "No external downstream dependents found for any symbol in this file. ✨";
|
|
200
|
-
let result = `# 🌊 Comprehensive Ripple Health: ${path.basename(p)}\n\n`;
|
|
201
|
-
result += `Checking **${uniqueFiles.size}** dependent(s) across all symbols...\n\n`;
|
|
202
|
-
const fileList = Array.from(uniqueFiles);
|
|
203
|
-
for (const file of fileList) {
|
|
204
|
-
const diags = vscode.languages.getDiagnostics(vscode.Uri.file(file));
|
|
205
|
-
const errors = diags.filter((d) => d.severity === vscode.DiagnosticSeverity.Error);
|
|
206
|
-
result += `- \`${path.relative(getWorkspaceRoot(), file)}\`: ${errors.length > 0 ? `❌ ${errors.length} Error(s)` : `✅ Clean`}\n`;
|
|
207
|
-
}
|
|
208
|
-
return result;
|
|
209
|
-
}
|
|
210
|
-
catch (error) {
|
|
211
|
-
return `Ripple check failed: ${error}`;
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
});
|
|
215
|
-
registry.register({
|
|
138
|
+
registerTool({
|
|
216
139
|
name: "generate_evolution_chronicle",
|
|
217
140
|
description: "Synthesize the 'Story' of a directory or file's evolution using git history and recent diffs.",
|
|
218
141
|
input_schema: {
|
|
@@ -237,59 +160,7 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
237
160
|
return result;
|
|
238
161
|
},
|
|
239
162
|
});
|
|
240
|
-
|
|
241
|
-
name: "predict_refactor_ripple",
|
|
242
|
-
description: "Simulate a structural change (e.g., changing a signature) and predict which downstream files will break.",
|
|
243
|
-
input_schema: {
|
|
244
|
-
type: "object",
|
|
245
|
-
properties: {
|
|
246
|
-
path: { type: "string", description: "The absolute path to the file" },
|
|
247
|
-
symbol: { type: "string", description: "The symbol being modified" },
|
|
248
|
-
changeDescription: {
|
|
249
|
-
type: "string",
|
|
250
|
-
description: "Description of the change (e.g., 'Removing optional param X')",
|
|
251
|
-
},
|
|
252
|
-
},
|
|
253
|
-
required: ["path", "symbol", "changeDescription"],
|
|
254
|
-
},
|
|
255
|
-
execute: async (args) => {
|
|
256
|
-
const p = getStringArg(args, "path");
|
|
257
|
-
const sym = getStringArg(args, "symbol");
|
|
258
|
-
const uri = vscode.Uri.file(p);
|
|
259
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", uri);
|
|
260
|
-
const target = symbols?.find((s) => s.name === sym);
|
|
261
|
-
const pos = target?.location.range.start || new vscode.Position(0, 0);
|
|
262
|
-
const locations = await vscode.commands.executeCommand("vscode.executeReferenceProvider", uri, pos);
|
|
263
|
-
if (!locations || locations.length === 0)
|
|
264
|
-
return `No ripple effect detected for \`${sym}\`. The change is isolated. ✨`;
|
|
265
|
-
const uniqueFiles = Array.from(new Set(locations.map((l) => l.uri.fsPath))).filter((f) => f !== p);
|
|
266
|
-
let result = `# 🔮 Refactor Ripple Prediction: \`${sym}\`\n\n`;
|
|
267
|
-
result += `Proposed Change: ${getStringArg(args, "changeDescription")}\n\n`;
|
|
268
|
-
if (uniqueFiles.length > 0) {
|
|
269
|
-
result += `## ⚠️ Potentially Broken Dependents (${uniqueFiles.length})\n`;
|
|
270
|
-
for (const f of uniqueFiles) {
|
|
271
|
-
const relativePath = path.relative(getWorkspaceRoot(), f);
|
|
272
|
-
const fileLocations = locations.filter((l) => l.uri.fsPath === f);
|
|
273
|
-
result += `- \`${relativePath}\`: Found ${fileLocations.length} reference(s)\n`;
|
|
274
|
-
try {
|
|
275
|
-
const content = await fs.readFile(f, "utf-8");
|
|
276
|
-
const lines = content.split("\n");
|
|
277
|
-
const sampleLine = lines[fileLocations[0].range.start.line].trim();
|
|
278
|
-
result += ` > \`${sampleLine}\` (L${fileLocations[0].range.start.line + 1})\n`;
|
|
279
|
-
}
|
|
280
|
-
catch (e) {
|
|
281
|
-
/* ignore read errors */
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
result += `\nRecommendation: Use \`check_ripple_health\` after applying the change to verify these files.`;
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
result += `No external dependents found. The change is safe to apply within this file.`;
|
|
288
|
-
}
|
|
289
|
-
return result;
|
|
290
|
-
},
|
|
291
|
-
});
|
|
292
|
-
registry.register({
|
|
163
|
+
registerTool({
|
|
293
164
|
name: "map_project_context",
|
|
294
165
|
description: "A mapping ritual. Returns a high-level overview of JOY zones and key inhabitants to aid strategic planning.",
|
|
295
166
|
input_schema: { type: "object", properties: {} },
|
|
@@ -311,12 +182,27 @@ export function registerAnalysisTools(registry, automationService) {
|
|
|
311
182
|
!e.name.startsWith(".") &&
|
|
312
183
|
!e.path.includes("node_modules"))
|
|
313
184
|
.map((e) => path.join(e.path, e.name));
|
|
314
|
-
const stats =
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
185
|
+
const stats = [];
|
|
186
|
+
const BATCH_SIZE = 100;
|
|
187
|
+
for (let i = 0; i < files.length; i += BATCH_SIZE) {
|
|
188
|
+
const batch = files.slice(i, i + BATCH_SIZE);
|
|
189
|
+
const batchStats = await Promise.all(batch.map(async (f) => {
|
|
190
|
+
try {
|
|
191
|
+
return {
|
|
192
|
+
path: f,
|
|
193
|
+
mtime: (await fs.stat(f)).mtime.getTime(),
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
stats.push(...batchStats.filter(Boolean));
|
|
201
|
+
}
|
|
318
202
|
const recent = stats.sort((a, b) => b.mtime - a.mtime).slice(0, 5);
|
|
319
|
-
|
|
203
|
+
for (const r of recent) {
|
|
204
|
+
hotspots.push(path.relative(root, r.path));
|
|
205
|
+
}
|
|
320
206
|
}
|
|
321
207
|
catch (e) {
|
|
322
208
|
console.error("Hotspot detection failed:", e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalysisTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/AnalysisTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnalysisTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/AnalysisTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { registerTool } from "../ToolRegistry.js";
|
|
2
2
|
import { getStringArg } from "../ToolUtils.js";
|
|
3
3
|
import { foldCode, cherishFile, logGratitude } from "../../joy/JoyTools.js";
|
|
4
|
-
import { writeFile, deleteFile } from "../../../plumbing/filesystem/FileService.js";
|
|
4
|
+
import { writeFile, deleteFile, } from "../../../plumbing/filesystem/FileService.js";
|
|
5
5
|
import { getLettingGoMessage } from "../../../../prompts.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { TerminalService } from "../../../plumbing/terminal/TerminalService.js";
|
|
6
|
+
import { getInstance, } from "../../persistence/NoormmeEngine.js";
|
|
7
|
+
import { runCommand } from "../../../plumbing/terminal/TerminalService.js";
|
|
9
8
|
import * as path from "path";
|
|
10
9
|
/**
|
|
11
10
|
* AutomationTools - Tools for code generation, maintenance, and automated rituals.
|
|
12
11
|
*/
|
|
13
|
-
export function registerAutomationTools(
|
|
14
|
-
|
|
12
|
+
export function registerAutomationTools(automationService) {
|
|
13
|
+
registerTool({
|
|
15
14
|
name: "discard_file",
|
|
16
15
|
description: "Permanently delete a file. This is a ritual of letting go.",
|
|
17
16
|
isDestructive: true,
|
|
@@ -27,30 +26,12 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
27
26
|
},
|
|
28
27
|
execute: async (args) => {
|
|
29
28
|
const p = getStringArg(args, "path");
|
|
30
|
-
const uri = vscode.Uri.file(p);
|
|
31
|
-
const symbols = await vscode.commands.executeCommand("vscode.executeDocumentSymbolProvider", uri);
|
|
32
|
-
if (symbols && symbols.length > 0) {
|
|
33
|
-
const blockers = [];
|
|
34
|
-
for (const sym of symbols) {
|
|
35
|
-
const refs = await vscode.commands.executeCommand("vscode.executeReferenceProvider", uri, sym.location.range.start);
|
|
36
|
-
const externalRefs = refs?.filter((r) => r.uri.fsPath !== p) || [];
|
|
37
|
-
if (externalRefs.length > 0) {
|
|
38
|
-
blockers.push(`Symbol \`${sym.name}\` is used in ${externalRefs.length} other file(s).`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (blockers.length > 0) {
|
|
42
|
-
const warning = `# 🍂 Sovereign Deletion Warning\n\n` +
|
|
43
|
-
`Discarding \`${path.basename(p)}\` despite active echos:\n` +
|
|
44
|
-
blockers.map((b) => `- ${b}`).join("\n");
|
|
45
|
-
await logReflection(warning);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
29
|
await deleteFile(p);
|
|
49
30
|
await logGratitude(`Discarded '${p}'`);
|
|
50
31
|
return `File '${p}' has been discarded. ${getLettingGoMessage()}`;
|
|
51
32
|
},
|
|
52
33
|
});
|
|
53
|
-
|
|
34
|
+
registerTool({
|
|
54
35
|
name: "sprout_new_module",
|
|
55
36
|
description: "Create a new file with architectural boilerplate and register it in the project's living history.",
|
|
56
37
|
isDestructive: true,
|
|
@@ -71,7 +52,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
71
52
|
const name = path.basename(p);
|
|
72
53
|
let boilerplate = `/**\n * ${name}: ${desc}\n * \n * Part of the Living Project - Sprouted on ${new Date().toLocaleDateString()}\n */\n\n`;
|
|
73
54
|
if (p.includes("/infrastructure/")) {
|
|
74
|
-
boilerplate += `
|
|
55
|
+
boilerplate += `export class ${name.replace(/\.[^.]+$/, "")} {\n // Implementation\n}\n`;
|
|
75
56
|
}
|
|
76
57
|
else if (p.includes("/domain/")) {
|
|
77
58
|
boilerplate += `export interface ${name.replace(/\.[^.]+$/, "")} {\n // Domain Logic\n}\n`;
|
|
@@ -84,10 +65,10 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
84
65
|
return (`# 🌱 New Sprout: ${name}\n\n` +
|
|
85
66
|
`Module created at \`${path.relative(process.cwd(), p)}\`.\n` +
|
|
86
67
|
`**Intent**: ${desc}\n\n` +
|
|
87
|
-
`> **Methodology Note**: This module has been registered in the project's lineage.
|
|
68
|
+
`> **Methodology Note**: This module has been registered in the project's lineage. ✨`);
|
|
88
69
|
},
|
|
89
70
|
});
|
|
90
|
-
|
|
71
|
+
registerTool({
|
|
91
72
|
name: "propose_logic_clustering",
|
|
92
73
|
description: "Scan a directory and propose structural reorganizations (Clustering) based on semantic co-dependency.",
|
|
93
74
|
input_schema: {
|
|
@@ -118,13 +99,13 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
118
99
|
return result;
|
|
119
100
|
},
|
|
120
101
|
});
|
|
121
|
-
|
|
102
|
+
registerTool({
|
|
122
103
|
name: "execute_genesis_ritual",
|
|
123
104
|
description: "Convert an entire project to the JOY structure.",
|
|
124
105
|
input_schema: { type: "object", properties: {} },
|
|
125
106
|
execute: async () => await automationService.triggerGenesis(),
|
|
126
107
|
});
|
|
127
|
-
|
|
108
|
+
registerTool({
|
|
128
109
|
name: "sow_joy_feature",
|
|
129
110
|
description: "Scaffold a new feature structure across all JOY zones.",
|
|
130
111
|
input_schema: {
|
|
@@ -137,20 +118,20 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
137
118
|
},
|
|
138
119
|
execute: async (args) => await automationService.sowJoyFeature(getStringArg(args, "name"), getStringArg(args, "intent")),
|
|
139
120
|
});
|
|
140
|
-
|
|
121
|
+
registerTool({
|
|
141
122
|
name: "perform_garden_pulse",
|
|
142
123
|
description: "Deep audit of project structure and scaffolding.",
|
|
143
124
|
input_schema: { type: "object", properties: {} },
|
|
144
125
|
execute: async () => await automationService.performGardenPulse(),
|
|
145
126
|
});
|
|
146
|
-
|
|
127
|
+
registerTool({
|
|
147
128
|
name: "execute_joy_maintenance",
|
|
148
129
|
description: "Perform autonomous maintenance on the garden structure (Restoration Ritual).",
|
|
149
130
|
isDestructive: true,
|
|
150
131
|
input_schema: { type: "object", properties: {} },
|
|
151
132
|
execute: async () => await automationService.executeAutonomousRestoration(),
|
|
152
133
|
});
|
|
153
|
-
|
|
134
|
+
registerTool({
|
|
154
135
|
name: "fold_file",
|
|
155
136
|
description: "Format and organize imports in a file.",
|
|
156
137
|
input_schema: {
|
|
@@ -160,7 +141,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
160
141
|
},
|
|
161
142
|
execute: async (args) => await foldCode(getStringArg(args, "path")),
|
|
162
143
|
});
|
|
163
|
-
|
|
144
|
+
registerTool({
|
|
164
145
|
name: "cherish_file",
|
|
165
146
|
description: "Update the timestamp of a 'Sentimental' file.",
|
|
166
147
|
input_schema: {
|
|
@@ -170,7 +151,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
170
151
|
},
|
|
171
152
|
execute: async (args) => await cherishFile(getStringArg(args, "path")),
|
|
172
153
|
});
|
|
173
|
-
|
|
154
|
+
registerTool({
|
|
174
155
|
name: "replace_file_content",
|
|
175
156
|
description: "Replace a specific string with another in a file. Surgical and mindful.",
|
|
176
157
|
isDestructive: true,
|
|
@@ -202,7 +183,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
202
183
|
}
|
|
203
184
|
},
|
|
204
185
|
});
|
|
205
|
-
|
|
186
|
+
registerTool({
|
|
206
187
|
name: "generate_joy_dashboard",
|
|
207
188
|
description: "Generate a JOY.md dashboard for the workspace.",
|
|
208
189
|
input_schema: {
|
|
@@ -210,9 +191,9 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
210
191
|
properties: { rootPath: { type: "string" } },
|
|
211
192
|
required: ["rootPath"],
|
|
212
193
|
},
|
|
213
|
-
execute: async (args) => await import("../../joy/JoyTools.js").then(mod => mod.generateJoyDashboard(getStringArg(args, "rootPath"))),
|
|
194
|
+
execute: async (args) => await import("../../joy/JoyTools.js").then((mod) => mod.generateJoyDashboard(getStringArg(args, "rootPath"))),
|
|
214
195
|
});
|
|
215
|
-
|
|
196
|
+
registerTool({
|
|
216
197
|
name: "complete_task_ritual",
|
|
217
198
|
description: "A final ritual to conclude a large task. Summarizes the entire journey and expresses gratitude. WARNING: Do NOT call this tool until you have confirmed the user's request is 100% satisfied. If you have any doubts or pending verifications, use `notify_user` instead.",
|
|
218
199
|
input_schema: {
|
|
@@ -245,20 +226,24 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
245
226
|
ritualComplete: true,
|
|
246
227
|
});
|
|
247
228
|
try {
|
|
248
|
-
const db = await
|
|
229
|
+
const db = await getInstance();
|
|
249
230
|
// 1. Distill knowledge
|
|
250
231
|
await db.agent.cortex.knowledge.distill("Task Completion", summary, 1.0, undefined, ["task_summary", "bloom_report"], { health_check: health, gratitude });
|
|
251
232
|
// 2. Complete Narrative Episode
|
|
252
|
-
const sessions = await db.execute("SELECT id FROM agent_sessions ORDER BY updated_at DESC LIMIT 1");
|
|
233
|
+
const sessions = (await db.execute("SELECT id FROM agent_sessions ORDER BY updated_at DESC LIMIT 1"));
|
|
253
234
|
const latestSessionId = sessions.rows?.[0]?.id;
|
|
254
235
|
if (latestSessionId) {
|
|
255
236
|
const episodes = await db.agent.cortex.episodes.getSessionEpisodes(latestSessionId);
|
|
256
|
-
const active = episodes.find(e => e.status ===
|
|
237
|
+
const active = episodes.find((e) => e.status === "active");
|
|
257
238
|
if (active) {
|
|
258
|
-
await db.agent.cortex.episodes.completeEpisode(active.id, summary, {
|
|
239
|
+
await db.agent.cortex.episodes.completeEpisode(active.id, summary, {
|
|
240
|
+
health,
|
|
241
|
+
});
|
|
259
242
|
}
|
|
260
243
|
}
|
|
261
|
-
db.agent.cortex
|
|
244
|
+
db.agent.cortex
|
|
245
|
+
.selfIterate()
|
|
246
|
+
.catch((e) => console.warn("Self-iteration background trigger failed", e));
|
|
262
247
|
}
|
|
263
248
|
catch (e) {
|
|
264
249
|
console.warn("Failed to distill task knowledge or complete episode", e);
|
|
@@ -266,7 +251,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
266
251
|
return `Task Bloom Ritual complete.\n\nReport: ${summary}\n\nGarden Growth: Metrics archived in telemetry.\n\nHealth: ${health}\n\nGratitude: ${gratitude} ✨`;
|
|
267
252
|
},
|
|
268
253
|
});
|
|
269
|
-
|
|
254
|
+
registerTool({
|
|
270
255
|
name: "run_command",
|
|
271
256
|
description: "Execute a command in the terminal. Requires user approval. Use this for running tests or building the project.",
|
|
272
257
|
isDestructive: true,
|
|
@@ -282,7 +267,7 @@ export function registerAutomationTools(registry, automationService) {
|
|
|
282
267
|
},
|
|
283
268
|
execute: async (args, onProgress, signal) => {
|
|
284
269
|
const command = getStringArg(args, "command");
|
|
285
|
-
return await
|
|
270
|
+
return await runCommand(command, signal);
|
|
286
271
|
},
|
|
287
272
|
});
|
|
288
273
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/AutomationTools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AutomationTools.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/tools/definitions/AutomationTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { registerTool } from "../ToolRegistry.js";
|
|
1
2
|
import { getStringArg } from "../ToolUtils.js";
|
|
2
|
-
import {
|
|
3
|
+
import { getInstance, } from "../../persistence/NoormmeEngine.js";
|
|
3
4
|
/**
|
|
4
5
|
* ContextTools - Tools for managing anchored and strategic context.
|
|
5
6
|
*/
|
|
6
|
-
export function registerContextTools(
|
|
7
|
-
|
|
7
|
+
export function registerContextTools() {
|
|
8
|
+
registerTool({
|
|
8
9
|
name: "pin_context",
|
|
9
10
|
description: "Anchor a critical piece of context (snippet, symbol, or file reference) for long-term strategic memory.",
|
|
10
11
|
input_schema: {
|
|
@@ -21,22 +22,49 @@ export function registerContextTools(registry) {
|
|
|
21
22
|
required: ["id", "label", "content", "type"],
|
|
22
23
|
},
|
|
23
24
|
execute: async (args) => {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
const db = await getInstance();
|
|
26
|
+
const repo = db.getRepository("anchors");
|
|
27
|
+
const id = getStringArg(args, "id");
|
|
28
|
+
const label = getStringArg(args, "label");
|
|
29
|
+
const content = getStringArg(args, "content");
|
|
30
|
+
const type = getStringArg(args, "type");
|
|
31
|
+
const fullAnchor = {
|
|
32
|
+
id,
|
|
33
|
+
label,
|
|
34
|
+
content,
|
|
35
|
+
type,
|
|
36
|
+
timestamp: Date.now(),
|
|
37
|
+
};
|
|
38
|
+
const existing = await repo.objects.filter({ id }).first();
|
|
39
|
+
if (existing) {
|
|
40
|
+
const dbContent = content.replace(/'/g, "''");
|
|
41
|
+
await db.execute(`UPDATE anchors SET label = '${label}', content = '${dbContent}', type = '${type}', timestamp = ${fullAnchor.timestamp} WHERE id = '${id}'`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
await repo.create(fullAnchor);
|
|
45
|
+
}
|
|
46
|
+
return `Context anchored: ${label} (ID: ${id}). This information is now preserved for your strategic use. ✨`;
|
|
32
47
|
},
|
|
33
48
|
});
|
|
34
|
-
|
|
49
|
+
registerTool({
|
|
35
50
|
name: "get_pinned_context",
|
|
36
51
|
description: "Retrieve all anchored strategic context to refresh your memory.",
|
|
37
52
|
input_schema: { type: "object", properties: {} },
|
|
38
53
|
execute: async () => {
|
|
39
|
-
|
|
54
|
+
const db = await getInstance();
|
|
55
|
+
const repo = db.getRepository("anchors");
|
|
56
|
+
const records = await repo.objects.all();
|
|
57
|
+
if (records.length === 0) {
|
|
58
|
+
return "No context is currently anchored.";
|
|
59
|
+
}
|
|
60
|
+
const parts = ["# ⚓ Anchored Strategic Context\n\n"];
|
|
61
|
+
const sortedAnchors = records.sort((a, b) => b.timestamp - a.timestamp);
|
|
62
|
+
for (const anchor of sortedAnchors) {
|
|
63
|
+
parts.push(`### ${anchor.label} (${anchor.type})\n`);
|
|
64
|
+
parts.push(`ID: \`${anchor.id}\` | Time: ${new Date(anchor.timestamp).toLocaleTimeString()}\n`);
|
|
65
|
+
parts.push(`\`\`\`\n${anchor.content}\n\`\`\`\n\n`);
|
|
66
|
+
}
|
|
67
|
+
return parts.join("");
|
|
40
68
|
},
|
|
41
69
|
});
|
|
42
70
|
}
|