@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.
Files changed (251) hide show
  1. package/README.md +7 -15
  2. package/SENTINEL.md +4 -7
  3. package/dist/cli-new/components/App.js +16 -63
  4. package/dist/cli-new/components/App.js.map +1 -1
  5. package/dist/cli-new/components/ApprovalDialog.js +2 -1
  6. package/dist/cli-new/components/ApprovalDialog.js.map +1 -1
  7. package/dist/cli-new/components/Banner.js +4 -3
  8. package/dist/cli-new/components/Banner.js.map +1 -1
  9. package/dist/cli-new/components/ChatArea.js +6 -7
  10. package/dist/cli-new/components/ChatArea.js.map +1 -1
  11. package/dist/cli-new/components/Header.js +13 -7
  12. package/dist/cli-new/components/Header.js.map +1 -1
  13. package/dist/cli-new/components/InputArea.js +73 -12
  14. package/dist/cli-new/components/InputArea.js.map +1 -1
  15. package/dist/cli-new/components/MessageBubble.js +26 -18
  16. package/dist/cli-new/components/MessageBubble.js.map +1 -1
  17. package/dist/cli-new/components/SessionSwitcher.js +4 -7
  18. package/dist/cli-new/components/SessionSwitcher.js.map +1 -1
  19. package/dist/cli-new/components/SetupWizard.js +80 -257
  20. package/dist/cli-new/components/SetupWizard.js.map +1 -1
  21. package/dist/cli-new/components/ToolCallDisplay.js +20 -5
  22. package/dist/cli-new/components/ToolCallDisplay.js.map +1 -1
  23. package/dist/cli-new/components/WizardSteps.js +22 -0
  24. package/dist/cli-new/components/WizardSteps.js.map +1 -0
  25. package/dist/cli-new/constants/SetupConstants.js +42 -0
  26. package/dist/cli-new/constants/SetupConstants.js.map +1 -0
  27. package/dist/cli-new/hooks/useGit.js +19 -62
  28. package/dist/cli-new/hooks/useGit.js.map +1 -1
  29. package/dist/cli-new/hooks/useMarie.js +26 -18
  30. package/dist/cli-new/hooks/useMarie.js.map +1 -1
  31. package/dist/cli-new/hooks/useSessions.js +1 -1
  32. package/dist/cli-new/hooks/useSessions.js.map +1 -1
  33. package/dist/cli-new/hooks/useSetupWizard.js +88 -0
  34. package/dist/cli-new/hooks/useSetupWizard.js.map +1 -0
  35. package/dist/cli-new/hooks/useUpdateCheck.js +4 -3
  36. package/dist/cli-new/hooks/useUpdateCheck.js.map +1 -1
  37. package/dist/cli-new/index.js +2 -4
  38. package/dist/cli-new/index.js.map +1 -1
  39. package/dist/cli-new/services/CommandService.js +104 -0
  40. package/dist/cli-new/services/CommandService.js.map +1 -0
  41. package/dist/cli-new/services/GitService.js +91 -0
  42. package/dist/cli-new/services/GitService.js.map +1 -0
  43. package/dist/cli-new/services/MarieService.js +77 -0
  44. package/dist/cli-new/services/MarieService.js.map +1 -0
  45. package/dist/cli-new/services/auth-server.js +128 -0
  46. package/dist/cli-new/services/auth-server.js.map +1 -0
  47. package/dist/cli-new/utils/version.js +24 -0
  48. package/dist/cli-new/utils/version.js.map +1 -0
  49. package/dist/monolith/adapters/CliMarieAdapter.js +12 -11
  50. package/dist/monolith/adapters/CliMarieAdapter.js.map +1 -1
  51. package/dist/monolith/cli/CliFileSystemPort.js +17 -3
  52. package/dist/monolith/cli/CliFileSystemPort.js.map +1 -1
  53. package/dist/monolith/cli/MarieToolDefinitionsCLI.js +39 -31
  54. package/dist/monolith/cli/MarieToolDefinitionsCLI.js.map +1 -1
  55. package/dist/monolith/cli/index.js +5 -20
  56. package/dist/monolith/cli/index.js.map +1 -1
  57. package/dist/monolith/cli/services/JoyAutomationServiceCLI.js +15 -62
  58. package/dist/monolith/cli/services/JoyAutomationServiceCLI.js.map +1 -1
  59. package/dist/monolith/cli/storage.js +142 -72
  60. package/dist/monolith/cli/storage.js.map +1 -1
  61. package/dist/monolith/domain/joy/RitualService.js +44 -46
  62. package/dist/monolith/domain/joy/RitualService.js.map +1 -1
  63. package/dist/monolith/domain/marie/MarieCortex.js +148 -0
  64. package/dist/monolith/domain/marie/MarieCortex.js.map +1 -0
  65. package/dist/monolith/domain/marie/PersonalityRenderer.js +97 -0
  66. package/dist/monolith/domain/marie/PersonalityRenderer.js.map +1 -0
  67. package/dist/monolith/infrastructure/Configuration.js +68 -0
  68. package/dist/monolith/infrastructure/Configuration.js.map +1 -0
  69. package/dist/monolith/infrastructure/CoreInfrastructure.js +204 -0
  70. package/dist/monolith/infrastructure/CoreInfrastructure.js.map +1 -0
  71. package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js +3 -3
  72. package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js.map +1 -1
  73. package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js +6 -27
  74. package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js.map +1 -1
  75. package/dist/monolith/infrastructure/ai/context/ContextManager.js +142 -131
  76. package/dist/monolith/infrastructure/ai/context/ContextManager.js.map +1 -1
  77. package/dist/monolith/infrastructure/ai/core/MarieEngine.js +115 -1077
  78. package/dist/monolith/infrastructure/ai/core/MarieEngine.js.map +1 -1
  79. package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js +1 -37
  80. package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js.map +1 -1
  81. package/dist/monolith/infrastructure/ai/core/MarieLockManager.js +6 -1
  82. package/dist/monolith/infrastructure/ai/core/MarieLockManager.js.map +1 -1
  83. package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js +172 -221
  84. package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js.map +1 -1
  85. package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js +292 -141
  86. package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js.map +1 -1
  87. package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js +331 -614
  88. package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js.map +1 -1
  89. package/dist/monolith/infrastructure/ai/core/MarieVitality.js +238 -0
  90. package/dist/monolith/infrastructure/ai/core/MarieVitality.js.map +1 -0
  91. package/dist/monolith/infrastructure/ai/core/SessionLogService.js +9 -2
  92. package/dist/monolith/infrastructure/ai/core/SessionLogService.js.map +1 -1
  93. package/dist/monolith/infrastructure/ai/providers/AIProvider.js +402 -1
  94. package/dist/monolith/infrastructure/ai/providers/AIProvider.js.map +1 -1
  95. package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js +114 -0
  96. package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js.map +1 -0
  97. package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js +426 -392
  98. package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js.map +1 -1
  99. package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js +235 -241
  100. package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js.map +1 -1
  101. package/dist/monolith/infrastructure/ai/workerAi.js +185 -0
  102. package/dist/monolith/infrastructure/ai/workerAi.js.map +1 -0
  103. package/dist/monolith/infrastructure/config/ConfigService.js +216 -503
  104. package/dist/monolith/infrastructure/config/ConfigService.js.map +1 -1
  105. package/dist/monolith/infrastructure/joy/CognitiveRituals.js +4 -165
  106. package/dist/monolith/infrastructure/joy/CognitiveRituals.js.map +1 -1
  107. package/dist/monolith/infrastructure/joy/JoyTools.js +14 -47
  108. package/dist/monolith/infrastructure/joy/JoyTools.js.map +1 -1
  109. package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js +4 -0
  110. package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js.map +1 -0
  111. package/dist/monolith/infrastructure/persistence/MarieMindEngine.js +11 -0
  112. package/dist/monolith/infrastructure/persistence/MarieMindEngine.js.map +1 -0
  113. package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js +123 -106
  114. package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js.map +1 -1
  115. package/dist/monolith/infrastructure/persistence/NoormmeEngine.js +508 -63
  116. package/dist/monolith/infrastructure/persistence/NoormmeEngine.js.map +1 -1
  117. package/dist/monolith/infrastructure/persistence/NoormmeSchema.js +68 -39
  118. package/dist/monolith/infrastructure/persistence/NoormmeSchema.js.map +1 -1
  119. package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js +80 -67
  120. package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js.map +1 -1
  121. package/dist/monolith/infrastructure/persistence/NoormmeTools.js +122 -75
  122. package/dist/monolith/infrastructure/persistence/NoormmeTools.js.map +1 -1
  123. package/dist/monolith/infrastructure/services/MarieMemoryStore.js +133 -134
  124. package/dist/monolith/infrastructure/services/MarieMemoryStore.js.map +1 -1
  125. package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js +6 -30
  126. package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js.map +1 -1
  127. package/dist/monolith/infrastructure/tools/PureStreamParser.js +68 -80
  128. package/dist/monolith/infrastructure/tools/PureStreamParser.js.map +1 -1
  129. package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js +12 -11
  130. package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js.map +1 -1
  131. package/dist/monolith/infrastructure/tools/SovereignTools.js +326 -0
  132. package/dist/monolith/infrastructure/tools/SovereignTools.js.map +1 -0
  133. package/dist/monolith/infrastructure/tools/ToolRegistry.js +45 -26
  134. package/dist/monolith/infrastructure/tools/ToolRegistry.js.map +1 -1
  135. package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js +39 -153
  136. package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js.map +1 -1
  137. package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js +31 -46
  138. package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js.map +1 -1
  139. package/dist/monolith/infrastructure/tools/definitions/ContextTools.js +41 -13
  140. package/dist/monolith/infrastructure/tools/definitions/ContextTools.js.map +1 -1
  141. package/dist/monolith/infrastructure/tools/definitions/CoreTools.js +10 -14
  142. package/dist/monolith/infrastructure/tools/definitions/CoreTools.js.map +1 -1
  143. package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js +39 -70
  144. package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js.map +1 -1
  145. package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js +30 -181
  146. package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js.map +1 -1
  147. package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js +12 -9
  148. package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js.map +1 -1
  149. package/dist/monolith/plumbing/Plumbing.js +238 -0
  150. package/dist/monolith/plumbing/Plumbing.js.map +1 -0
  151. package/dist/monolith/plumbing/PlumbingAnalysis.js +109 -0
  152. package/dist/monolith/plumbing/PlumbingAnalysis.js.map +1 -0
  153. package/dist/monolith/plumbing/PlumbingSystem.js +169 -0
  154. package/dist/monolith/plumbing/PlumbingSystem.js.map +1 -0
  155. package/dist/monolith/plumbing/analysis/ComplexityService.js +30 -34
  156. package/dist/monolith/plumbing/analysis/ComplexityService.js.map +1 -1
  157. package/dist/monolith/plumbing/analysis/DependencyService.js +55 -44
  158. package/dist/monolith/plumbing/analysis/DependencyService.js.map +1 -1
  159. package/dist/monolith/plumbing/analysis/DiscoveryService.js +40 -42
  160. package/dist/monolith/plumbing/analysis/DiscoveryService.js.map +1 -1
  161. package/dist/monolith/plumbing/analysis/JoyMapService.js +52 -56
  162. package/dist/monolith/plumbing/analysis/JoyMapService.js.map +1 -1
  163. package/dist/monolith/plumbing/analysis/LintService.js +118 -118
  164. package/dist/monolith/plumbing/analysis/LintService.js.map +1 -1
  165. package/dist/monolith/plumbing/analysis/MarieSentinelService.js +278 -268
  166. package/dist/monolith/plumbing/analysis/MarieSentinelService.js.map +1 -1
  167. package/dist/monolith/plumbing/analysis/QualityGuardrailService.js +116 -114
  168. package/dist/monolith/plumbing/analysis/QualityGuardrailService.js.map +1 -1
  169. package/dist/monolith/plumbing/analysis/SurgicalMender.js +57 -59
  170. package/dist/monolith/plumbing/analysis/SurgicalMender.js.map +1 -1
  171. package/dist/monolith/plumbing/analysis/TestService.js +89 -89
  172. package/dist/monolith/plumbing/analysis/TestService.js.map +1 -1
  173. package/dist/monolith/plumbing/filesystem/FileService.js +123 -195
  174. package/dist/monolith/plumbing/filesystem/FileService.js.map +1 -1
  175. package/dist/monolith/plumbing/filesystem/PathResolver.js +7 -8
  176. package/dist/monolith/plumbing/filesystem/PathResolver.js.map +1 -1
  177. package/dist/monolith/plumbing/git/GitService.js +4 -4
  178. package/dist/monolith/plumbing/git/GitService.js.map +1 -1
  179. package/dist/monolith/plumbing/lsp/SymbolService.js +5 -34
  180. package/dist/monolith/plumbing/lsp/SymbolService.js.map +1 -1
  181. package/dist/monolith/plumbing/terminal/ProcessRegistry.js +20 -22
  182. package/dist/monolith/plumbing/terminal/ProcessRegistry.js.map +1 -1
  183. package/dist/monolith/plumbing/terminal/TerminalService.js +127 -141
  184. package/dist/monolith/plumbing/terminal/TerminalService.js.map +1 -1
  185. package/dist/monolith/plumbing/utils/EnvironmentUtils.js +3 -23
  186. package/dist/monolith/plumbing/utils/EnvironmentUtils.js.map +1 -1
  187. package/dist/monolith/plumbing/utils/JsonUtils.js +252 -311
  188. package/dist/monolith/plumbing/utils/JsonUtils.js.map +1 -1
  189. package/dist/monolith/plumbing/utils/PlumbingCore.js +549 -0
  190. package/dist/monolith/plumbing/utils/PlumbingCore.js.map +1 -0
  191. package/dist/monolith/plumbing/utils/PrefixTree.js +61 -114
  192. package/dist/monolith/plumbing/utils/PrefixTree.js.map +1 -1
  193. package/dist/monolith/plumbing/utils/StreamTagDetector.js +89 -127
  194. package/dist/monolith/plumbing/utils/StreamTagDetector.js.map +1 -1
  195. package/dist/monolith/plumbing/utils/StringUtils.js +87 -89
  196. package/dist/monolith/plumbing/utils/StringUtils.js.map +1 -1
  197. package/dist/monolith/runtime/MarieRuntime.js +76 -499
  198. package/dist/monolith/runtime/MarieRuntime.js.map +1 -1
  199. package/dist/monolith/runtime/RuntimeAdapterBase.js +1 -1
  200. package/dist/monolith/runtime/RuntimeAdapterBase.js.map +1 -1
  201. package/dist/monolith/runtime/providerFactory.js +1 -7
  202. package/dist/monolith/runtime/providerFactory.js.map +1 -1
  203. package/dist/monolith/services/HealthService.js +29 -32
  204. package/dist/monolith/services/HealthService.js.map +1 -1
  205. package/dist/monolith/services/JoyAutomationService.js +58 -95
  206. package/dist/monolith/services/JoyAutomationService.js.map +1 -1
  207. package/dist/monolith/services/MarieAutomationService.js +59 -0
  208. package/dist/monolith/services/MarieAutomationService.js.map +1 -0
  209. package/dist/monolith/services/MarieGhostService.js +46 -173
  210. package/dist/monolith/services/MarieGhostService.js.map +1 -1
  211. package/dist/monolith/services/MarieServices.js +102 -0
  212. package/dist/monolith/services/MarieServices.js.map +1 -0
  213. package/dist/monolith/services/MarieTypes.js +2 -0
  214. package/dist/monolith/services/MarieTypes.js.map +1 -0
  215. package/dist/monolith/services/UpdateService.js +47 -49
  216. package/dist/monolith/services/UpdateService.js.map +1 -1
  217. package/dist/prompts.js +11 -5
  218. package/dist/prompts.js.map +1 -1
  219. package/dist/test_prefix_tree.js +9 -9
  220. package/dist/test_prefix_tree.js.map +1 -1
  221. package/package.json +18 -89
  222. package/run_test.js +5 -0
  223. package/.marie_visual_verify_1771225696548/progress_bar_check.txt +0 -1
  224. package/dist/extension.cjs +0 -1155
  225. package/dist/extension.js +0 -474
  226. package/dist/extension.js.map +0 -1
  227. package/dist/monolith/adapters/VscodeMarieAdapter.js +0 -81
  228. package/dist/monolith/adapters/VscodeMarieAdapter.js.map +0 -1
  229. package/dist/monolith/infrastructure/ai/core/GhostPort.js +0 -2
  230. package/dist/monolith/infrastructure/ai/core/GhostPort.js.map +0 -1
  231. package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js +0 -33
  232. package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js.map +0 -1
  233. package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js +0 -154
  234. package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js.map +0 -1
  235. package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js +0 -214
  236. package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js.map +0 -1
  237. package/dist/monolith/plumbing/ui/DecorationService.js +0 -54
  238. package/dist/monolith/plumbing/ui/DecorationService.js.map +0 -1
  239. package/dist/monolith/services/JoyLogService.js +0 -48
  240. package/dist/monolith/services/JoyLogService.js.map +0 -1
  241. package/dist/monolith/services/JoyService.js +0 -209
  242. package/dist/monolith/services/JoyService.js.map +0 -1
  243. package/dist/monolith/services/MarieSCMProvider.js +0 -41
  244. package/dist/monolith/services/MarieSCMProvider.js.map +0 -1
  245. package/dist/webview-ui/main.css +0 -1
  246. package/dist/webview-ui/main.js +0 -108
  247. package/lint_output.txt +0 -705
  248. package/lint_output_v2.txt +0 -711
  249. package/test-mind-p6.sqlite +0 -0
  250. package/test-mind-p6.sqlite-shm +0 -0
  251. package/test-mind-p6.sqlite-wal +0 -0
@@ -1,151 +1,150 @@
1
1
  import * as fs from "fs";
2
2
  import * as path from "path";
3
- export class MarieMemoryStore {
4
- static memoryPath = path.join(process.cwd(), ".marie", "swarm_memory.json");
5
- static async loadAsync() {
6
- try {
7
- await fs.promises.access(this.memoryPath);
8
- const data = await fs.promises.readFile(this.memoryPath, "utf8");
9
- return JSON.parse(data);
10
- }
11
- catch (e) {
12
- // Ignore ENOENT, warn on others
13
- if (e.code !== "ENOENT") {
14
- console.warn("[MarieMemoryStore] Failed to load memory async:", e);
15
- }
16
- }
17
- return {
18
- recoveryPatterns: [],
19
- lifetimeToolStats: {},
20
- highScores: [],
21
- strategyStats: {},
22
- intuition: {},
23
- };
3
+ import { safeStringify, safeGetEntries } from "../ai/core/MarieSanitizer.js";
4
+ const memoryPath = path.join(process.cwd(), ".marie", "swarm_memory.json");
5
+ export async function loadAsync() {
6
+ try {
7
+ await fs.promises.access(memoryPath);
8
+ const data = await fs.promises.readFile(memoryPath, "utf8");
9
+ return JSON.parse(data);
24
10
  }
25
- static async saveAsync(memory) {
26
- try {
27
- const dir = path.dirname(this.memoryPath);
28
- await fs.promises.mkdir(dir, { recursive: true });
29
- await fs.promises.writeFile(this.memoryPath, JSON.stringify(memory, null, 2));
30
- }
31
- catch (e) {
32
- console.error("[MarieMemoryStore] Failed to save memory async:", e);
11
+ catch (e) {
12
+ // Ignore ENOENT, warn on others
13
+ if (e.code !== "ENOENT") {
14
+ console.warn("[MarieMemoryStore] Failed to load memory async:", e);
33
15
  }
34
16
  }
35
- // Keep synchronous load for constructor initialization (fallback)
36
- static load() {
37
- try {
38
- if (fs.existsSync(this.memoryPath)) {
39
- const data = fs.readFileSync(this.memoryPath, "utf8");
40
- return JSON.parse(data);
41
- }
42
- }
43
- catch (e) {
44
- console.warn("[MarieMemoryStore] Failed to load memory sync:", e);
17
+ return {
18
+ recoveryPatterns: [],
19
+ lifetimeToolStats: {},
20
+ highScores: [],
21
+ strategyStats: {},
22
+ intuition: {},
23
+ };
24
+ }
25
+ export async function saveAsync(memory) {
26
+ try {
27
+ const dir = path.dirname(memoryPath);
28
+ await fs.promises.mkdir(dir, { recursive: true });
29
+ await fs.promises.writeFile(memoryPath, safeStringify(memory, 2));
30
+ }
31
+ catch (e) {
32
+ console.error("[MarieMemoryStore] Failed to save memory async:", e);
33
+ }
34
+ }
35
+ // Keep synchronous load for constructor initialization (fallback)
36
+ export function loadSync() {
37
+ try {
38
+ if (fs.existsSync(memoryPath)) {
39
+ const data = fs.readFileSync(memoryPath, "utf8");
40
+ return JSON.parse(data);
45
41
  }
46
- return {
47
- recoveryPatterns: [],
48
- lifetimeToolStats: {},
49
- highScores: [],
50
- strategyStats: {},
51
- intuition: {},
52
- };
53
42
  }
54
- static persistencePromise = Promise.resolve();
55
- /**
56
- * Updates cumulative stats with data from a single run (Async).
57
- * Hardened with a persistence lock to prevent race conditions during parallel turns.
58
- */
59
- static async syncRun(recoveryPatterns, toolExecutions, sessionScore, intuition) {
60
- // ATOMIC INTEGRITY: Serialize all persistence operations
61
- const previous = this.persistencePromise;
62
- let resolveLock;
63
- this.persistencePromise = new Promise((resolve) => {
64
- resolveLock = resolve;
65
- });
66
- try {
67
- await previous;
68
- const memory = await this.loadAsync();
69
- // 1. Sync Recovery Patterns (Merge by failedTool + recoveryTool)
70
- for (const p of recoveryPatterns) {
71
- const existing = memory.recoveryPatterns.find((ep) => ep.failedTool === p.failedTool &&
72
- ep.recoveryTool === p.recoveryTool);
73
- if (existing) {
74
- existing.count += p.count;
75
- }
76
- else {
77
- memory.recoveryPatterns.push(p);
78
- }
79
- }
80
- // 2. Sync Lifetime Tool Stats
81
- for (const exec of toolExecutions) {
82
- const stats = memory.lifetimeToolStats[exec.name] || {
83
- total: 0,
84
- successes: 0,
85
- totalDuration: 0,
86
- };
87
- stats.total++;
88
- if (exec.success)
89
- stats.successes++;
90
- stats.totalDuration += exec.durationMs;
91
- memory.lifetimeToolStats[exec.name] = stats;
43
+ catch (e) {
44
+ console.warn("[MarieMemoryStore] Failed to load memory sync:", e);
45
+ }
46
+ return {
47
+ recoveryPatterns: [],
48
+ lifetimeToolStats: {},
49
+ highScores: [],
50
+ strategyStats: {},
51
+ intuition: {},
52
+ };
53
+ }
54
+ let persistencePromise = Promise.resolve();
55
+ /**
56
+ * Updates cumulative stats with data from a single run (Async).
57
+ * Hardened with a persistence lock to prevent race conditions during parallel turns.
58
+ */
59
+ export async function syncRun(recoveryPatterns, toolExecutions, sessionScore, intuition) {
60
+ // ATOMIC INTEGRITY: Serialize all persistence operations
61
+ const previous = persistencePromise;
62
+ let resolveLock;
63
+ persistencePromise = new Promise((resolve) => {
64
+ resolveLock = resolve;
65
+ });
66
+ try {
67
+ await previous;
68
+ const memory = await loadAsync();
69
+ // 1. Sync Recovery Patterns (Merge by failedTool + recoveryTool)
70
+ for (const p of recoveryPatterns) {
71
+ const existing = memory.recoveryPatterns.find((ep) => ep.failedTool === p.failedTool && ep.recoveryTool === p.recoveryTool);
72
+ if (existing) {
73
+ existing.count += p.count;
92
74
  }
93
- // 3. Sync High Scores (Keep top 10)
94
- memory.highScores.push({ ...sessionScore, timestamp: Date.now() });
95
- memory.highScores.sort((a, b) => b.score - a.score);
96
- memory.highScores = memory.highScores.slice(0, 10);
97
- // 4. Sync Intuition
98
- for (const [file, patterns] of Object.entries(intuition)) {
99
- const existing = memory.intuition[file] || [];
100
- const merged = Array.from(new Set([...existing, ...patterns]));
101
- memory.intuition[file] = merged.slice(-10); // Keep last 10 patterns per file globally
75
+ else {
76
+ memory.recoveryPatterns.push(p);
102
77
  }
103
- await this.saveAsync(memory);
104
- }
105
- finally {
106
- resolveLock();
107
- }
108
- }
109
- // Agent Performance Persistence
110
- static agentPerformancePath = path.join(process.cwd(), ".marie", "agent_performance.json");
111
- static performancePersistencePromise = Promise.resolve();
112
- /**
113
- * Save agent performance data for cross-session persistence
114
- */
115
- static async syncAgentPerformance(data) {
116
- // ATOMIC INTEGRITY: Serialize performance persistence
117
- const previous = this.performancePersistencePromise;
118
- let resolveLock;
119
- this.performancePersistencePromise = new Promise((resolve) => {
120
- resolveLock = resolve;
121
- });
122
- try {
123
- await previous;
124
- const dir = path.dirname(this.agentPerformancePath);
125
- await fs.promises.mkdir(dir, { recursive: true });
126
- await fs.promises.writeFile(this.agentPerformancePath, JSON.stringify(data, null, 2));
127
78
  }
128
- catch (e) {
129
- console.error("[MarieMemoryStore] Failed to save agent performance:", e);
79
+ // 2. Sync Lifetime Tool Stats
80
+ for (const exec of toolExecutions) {
81
+ const stats = memory.lifetimeToolStats[exec.name] || {
82
+ total: 0,
83
+ successes: 0,
84
+ totalDuration: 0,
85
+ };
86
+ stats.total++;
87
+ if (exec.success)
88
+ stats.successes++;
89
+ stats.totalDuration += exec.durationMs;
90
+ memory.lifetimeToolStats[exec.name] = stats;
130
91
  }
131
- finally {
132
- resolveLock();
92
+ // 3. Sync High Scores (Keep top 10)
93
+ memory.highScores.push({ ...sessionScore, timestamp: Date.now() });
94
+ memory.highScores.sort((a, b) => b.score - a.score);
95
+ memory.highScores = memory.highScores.slice(0, 10);
96
+ // 4. Sync Intuition
97
+ const intuitionEntries = safeGetEntries(intuition, 50);
98
+ for (const [file, patterns] of intuitionEntries) {
99
+ const existing = memory.intuition[file] || [];
100
+ const merged = Array.from(new Set([...existing, ...patterns]));
101
+ memory.intuition[file] = merged.slice(-10); // Keep last 10 patterns per file globally
133
102
  }
103
+ await saveAsync(memory);
134
104
  }
135
- /**
136
- * Load persisted agent performance data
137
- */
138
- static loadAgentPerformance() {
139
- try {
140
- if (fs.existsSync(this.agentPerformancePath)) {
141
- const data = fs.readFileSync(this.agentPerformancePath, "utf8");
142
- return JSON.parse(data);
143
- }
144
- }
145
- catch (e) {
146
- console.warn("[MarieMemoryStore] Failed to load agent performance:", e);
105
+ finally {
106
+ resolveLock();
107
+ }
108
+ }
109
+ // Agent Performance Persistence
110
+ const agentPerformancePath = path.join(process.cwd(), ".marie", "agent_performance.json");
111
+ let performancePersistencePromise = Promise.resolve();
112
+ /**
113
+ * Save agent performance data for cross-session persistence
114
+ */
115
+ export async function syncAgentPerformance(data) {
116
+ // ATOMIC INTEGRITY: Serialize performance persistence
117
+ const previous = performancePersistencePromise;
118
+ let resolveLock;
119
+ performancePersistencePromise = new Promise((resolve) => {
120
+ resolveLock = resolve;
121
+ });
122
+ try {
123
+ await previous;
124
+ const dir = path.dirname(agentPerformancePath);
125
+ await fs.promises.mkdir(dir, { recursive: true });
126
+ await fs.promises.writeFile(agentPerformancePath, safeStringify(data, 2));
127
+ }
128
+ catch (e) {
129
+ console.error("[MarieMemoryStore] Failed to save agent performance:", e);
130
+ }
131
+ finally {
132
+ resolveLock();
133
+ }
134
+ }
135
+ /**
136
+ * Load persisted agent performance data
137
+ */
138
+ export function loadAgentPerformance() {
139
+ try {
140
+ if (fs.existsSync(agentPerformancePath)) {
141
+ const data = fs.readFileSync(agentPerformancePath, "utf8");
142
+ return JSON.parse(data);
147
143
  }
148
- return null;
149
144
  }
145
+ catch (e) {
146
+ console.warn("[MarieMemoryStore] Failed to load agent performance:", e);
147
+ }
148
+ return null;
150
149
  }
151
150
  //# sourceMappingURL=MarieMemoryStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarieMemoryStore.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/services/MarieMemoryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarieMemoryStore.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/services/MarieMemoryStore.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,8 @@
1
- import { registerNoormmeTools } from "../persistence/NoormmeTools.js";
2
- // Specialized tool categories
3
- import { registerCoreTools } from "./definitions/CoreTools.js";
4
- import { registerDiagnosticTools } from "./definitions/DiagnosticTools.js";
5
- import { registerNavigationTools } from "./definitions/NavigationTools.js";
6
- import { registerAnalysisTools } from "./definitions/AnalysisTools.js";
7
- import { registerPlanningTools } from "./definitions/PlanningTools.js";
8
- import { registerAutomationTools } from "./definitions/AutomationTools.js";
9
- import { registerContextTools } from "./definitions/ContextTools.js";
10
- /**
11
- * registerMarieTools - Entry point for tool registration.
12
- * Tools are broken down by concern for clarity and maintenance.
13
- */
14
- export function registerMarieTools(registry, automationService) {
15
- // 1. Core Platform Tools (FS, Git, etc)
16
- registerCoreTools(registry);
17
- // 2. Specialized Persistent Sovereign Mind Tools
18
- registerNoormmeTools(registry);
19
- // 3. Diagnostics & Hardening
20
- registerDiagnosticTools(registry);
21
- // 4. Codebase Navigation & Semantic Search
22
- registerNavigationTools(registry);
23
- // 5. Deep Structural Analysis
24
- registerAnalysisTools(registry, automationService);
25
- // 6. Strategic Planning & Roadmapping
26
- registerPlanningTools(registry);
27
- // 7. Context Anchoring & Long-term Memory
28
- registerContextTools(registry);
29
- // 8. High-order Automation & Maintenance
30
- registerAutomationTools(registry, automationService);
1
+ import { registerSovereignTools } from "./SovereignTools.js";
2
+ export function registerMarieTools(automationService) {
3
+ // Pass 17: Sovereign Tool Consolidation
4
+ // This is the new high-performance tool graph.
5
+ // We no longer shard tool definitions across multiple files.
6
+ registerSovereignTools(automationService);
31
7
  }
32
8
  //# sourceMappingURL=MarieToolDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarieToolDefinitions.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/tools/MarieToolDefinitions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,8BAA8B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,iBAAuC;IAEvC,wCAAwC;IACxC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE5B,iDAAiD;IACjD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/B,6BAA6B;IAC7B,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAElC,2CAA2C;IAC3C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAElC,8BAA8B;IAC9B,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAEnD,sCAAsC;IACtC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEhC,0CAA0C;IAC1C,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/B,yCAAyC;IACzC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"MarieToolDefinitions.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/tools/MarieToolDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,UAAU,kBAAkB,CAAC,iBAAyC;IAC1E,wCAAwC;IACxC,+CAA+C;IAC/C,6DAA6D;IAC7D,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,80 +1,11 @@
1
+ const LINE_START_REGEX = /[{"\s,]"line_start"\s*:\s*(\d+)/;
1
2
  /**
2
- * A pure logical parser for streaming tool call JSON.
3
+ * Creates a pure logical parser for streaming tool call JSON.
3
4
  * Zero external dependencies, focused solely on stateful string transformation.
4
5
  */
5
- export class PureStreamParser {
6
- buffers = new Map();
7
- // Pre-compiled regex patterns for standard keys to avoid excessive GC
8
- static KEY_PATTERNS = new Map([
9
- ['"path":', /[{"\s,]"path":/],
10
- ['"content":', /[{"\s,]"content":/],
11
- ['"old_content":', /[{"\s,]"old_content":/],
12
- ['"search":', /[{"\s,]"search":/],
13
- ['"replace":', /[{"\s,]"replace":/],
14
- ]);
15
- static LINE_START_REGEX = /[{"\s,]"line_start"\s*:\s*(\d+)/;
16
- append(toolCallId, delta) {
17
- const currentBuffer = (this.buffers.get(toolCallId) || "") + delta;
18
- // STABILITY: If the buffer ends with an unescaped backslash, don't parse it yet
19
- // as it might be the start of a multi-token escape sequence like \uXXXX or \n
20
- if (currentBuffer.endsWith("\\")) {
21
- let backslashes = 0;
22
- for (let i = currentBuffer.length - 1; i >= 0 && currentBuffer[i] === "\\"; i--) {
23
- backslashes++;
24
- }
25
- if (backslashes % 2 !== 0) {
26
- // Odd number of backslashes at the end - save the last one for the next chunk
27
- this.buffers.set(toolCallId, currentBuffer.slice(0, -1));
28
- return this.parse(currentBuffer.slice(0, -1));
29
- }
30
- }
31
- this.buffers.set(toolCallId, currentBuffer);
32
- return this.parse(currentBuffer);
33
- }
34
- parse(buffer) {
35
- const result = {};
36
- result.path = this.extractString(buffer, '"path":');
37
- result.content = this.extractString(buffer, '"content":');
38
- result.old_content = this.extractString(buffer, '"old_content":');
39
- result.search = this.extractString(buffer, '"search":');
40
- result.replace = this.extractString(buffer, '"replace":');
41
- // Hardened numeric parsing for line_start (ensure it's a key-value pair and not hallucinated text)
42
- const lineStartMatch = buffer.match(PureStreamParser.LINE_START_REGEX);
43
- if (lineStartMatch) {
44
- const val = parseInt(lineStartMatch[1]);
45
- if (!isNaN(val)) {
46
- result.line_start = val;
47
- }
48
- }
49
- return result;
50
- }
51
- extractString(buffer, key) {
52
- const keyIndex = buffer.indexOf(key);
53
- if (keyIndex === -1)
54
- return undefined;
55
- // Ensure key is a property name (preceded by whitespace/delimiter)
56
- // and NOT inside an existing string context (Stateful Audit)
57
- if (this.isInsideString(buffer, keyIndex))
58
- return undefined;
59
- if (keyIndex > 0) {
60
- const prev = buffer[keyIndex - 1];
61
- if (!["{", ",", " ", "\t", "\n", "\r"].includes(prev))
62
- return undefined;
63
- }
64
- const start = keyIndex + key.length;
65
- const firstQuote = buffer.indexOf('"', start);
66
- if (firstQuote === -1)
67
- return undefined;
68
- const rawContent = buffer.substring(firstQuote + 1);
69
- const closingQuoteIndex = this.findClosingQuote(rawContent);
70
- if (closingQuoteIndex !== -1) {
71
- return this.unescape(rawContent.substring(0, closingQuoteIndex));
72
- }
73
- else {
74
- return this.unescape(rawContent);
75
- }
76
- }
77
- isInsideString(buffer, index) {
6
+ export function createPureStreamParser() {
7
+ const buffers = new Map();
8
+ function isInsideString(buffer, index) {
78
9
  let inString = false;
79
10
  let escaped = false;
80
11
  for (let i = 0; i < index; i++) {
@@ -93,7 +24,7 @@ export class PureStreamParser {
93
24
  }
94
25
  return inString;
95
26
  }
96
- findClosingQuote(str) {
27
+ function findClosingQuote(str) {
97
28
  for (let i = 0; i < str.length; i++) {
98
29
  if (str[i] === '"') {
99
30
  let backslashes = 0;
@@ -106,7 +37,7 @@ export class PureStreamParser {
106
37
  }
107
38
  return -1;
108
39
  }
109
- unescape(str) {
40
+ function unescape(str) {
110
41
  return str.replace(/\\(u[0-9a-fA-F]{4}|[^u])/g, (_, escape) => {
111
42
  if (escape.startsWith("u")) {
112
43
  const hex = escape.substring(1);
@@ -137,11 +68,68 @@ export class PureStreamParser {
137
68
  }
138
69
  });
139
70
  }
140
- clear(toolCallId) {
141
- this.buffers.delete(toolCallId);
71
+ function extractString(buffer, key) {
72
+ const keyIndex = buffer.indexOf(key);
73
+ if (keyIndex === -1)
74
+ return undefined;
75
+ if (isInsideString(buffer, keyIndex))
76
+ return undefined;
77
+ if (keyIndex > 0) {
78
+ const prev = buffer[keyIndex - 1];
79
+ if (!["{", ",", " ", "\t", "\n", "\r"].includes(prev))
80
+ return undefined;
81
+ }
82
+ const start = keyIndex + key.length;
83
+ const firstQuote = buffer.indexOf('"', start);
84
+ if (firstQuote === -1)
85
+ return undefined;
86
+ const rawContent = buffer.substring(firstQuote + 1);
87
+ const closingQuoteIndex = findClosingQuote(rawContent);
88
+ if (closingQuoteIndex !== -1) {
89
+ return unescape(rawContent.substring(0, closingQuoteIndex));
90
+ }
91
+ else {
92
+ return unescape(rawContent);
93
+ }
142
94
  }
143
- clearAll() {
144
- this.buffers.clear();
95
+ function parse(buffer) {
96
+ const result = {};
97
+ result.path = extractString(buffer, '"path":');
98
+ result.content = extractString(buffer, '"content":');
99
+ result.old_content = extractString(buffer, '"old_content":');
100
+ result.search = extractString(buffer, '"search":');
101
+ result.replace = extractString(buffer, '"replace":');
102
+ const lineStartMatch = buffer.match(LINE_START_REGEX);
103
+ if (lineStartMatch) {
104
+ const val = parseInt(lineStartMatch[1]);
105
+ if (!isNaN(val)) {
106
+ result.line_start = val;
107
+ }
108
+ }
109
+ return result;
145
110
  }
111
+ return {
112
+ append(toolCallId, delta) {
113
+ const currentBuffer = (buffers.get(toolCallId) || "") + delta;
114
+ if (currentBuffer.endsWith("\\")) {
115
+ let backslashes = 0;
116
+ for (let i = currentBuffer.length - 1; i >= 0 && currentBuffer[i] === "\\"; i--) {
117
+ backslashes++;
118
+ }
119
+ if (backslashes % 2 !== 0) {
120
+ buffers.set(toolCallId, currentBuffer.slice(0, -1));
121
+ return parse(currentBuffer.slice(0, -1));
122
+ }
123
+ }
124
+ buffers.set(toolCallId, currentBuffer);
125
+ return parse(currentBuffer);
126
+ },
127
+ clear(toolCallId) {
128
+ buffers.delete(toolCallId);
129
+ },
130
+ clearAll() {
131
+ buffers.clear();
132
+ },
133
+ };
146
134
  }
147
135
  //# sourceMappingURL=PureStreamParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PureStreamParser.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/tools/PureStreamParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PureStreamParser.js","sourceRoot":"","sources":["../../../../src/monolith/infrastructure/tools/PureStreamParser.ts"],"names":[],"mappings":"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"}