@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,7 +1,8 @@
1
1
  import * as fs from "fs";
2
2
  import * as path from "path";
3
3
  import * as os from "os";
4
- import { NoormmeEngine } from "../infrastructure/persistence/NoormmeEngine.js";
4
+ import { getInstance, initializeMarieMind, } from "../infrastructure/CoreInfrastructure.js";
5
+ import { safeStringify, safeGetEntries, } from "../plumbing/utils/PlumbingCore.js";
5
6
  export { fs, path };
6
7
  const MARIE_DIR = path.join(os.homedir(), ".marie");
7
8
  const CONFIG_FILE = path.join(MARIE_DIR, "config.json");
@@ -16,10 +17,34 @@ const defaultConfig = {
16
17
  autonomyMode: "high",
17
18
  };
18
19
  /**
19
- * Storage - Now backed by NOORMME: The Sovereign Agentic Data Engine
20
+ * Storage - Now backed by Kysely + SQLite
20
21
  */
21
22
  export class Storage {
22
- static MarieMindReady = NoormmeEngine.initialize();
23
+ static MarieMindReady = null;
24
+ static async withRetry(fn, retries = 5, delay = 500) {
25
+ let lastError;
26
+ for (let i = 0; i < retries; i++) {
27
+ try {
28
+ return await fn();
29
+ }
30
+ catch (e) {
31
+ lastError = e;
32
+ if (e?.code === "SQLITE_BUSY" ||
33
+ String(e).includes("database is locked")) {
34
+ await new Promise((resolve) => setTimeout(resolve, delay * (i + 1)));
35
+ continue;
36
+ }
37
+ throw e;
38
+ }
39
+ }
40
+ throw lastError;
41
+ }
42
+ static async ensureReady() {
43
+ if (!this.MarieMindReady) {
44
+ this.MarieMindReady = initializeMarieMind();
45
+ }
46
+ await this.MarieMindReady;
47
+ }
23
48
  static ensureDir() {
24
49
  if (!fs.existsSync(MARIE_DIR)) {
25
50
  fs.mkdirSync(MARIE_DIR, { recursive: true });
@@ -47,92 +72,137 @@ export class Storage {
47
72
  static saveConfig(config) {
48
73
  this.ensureDir();
49
74
  const current = this.getConfig();
50
- fs.writeFileSync(CONFIG_FILE, JSON.stringify({ ...current, ...config }, null, 2));
75
+ fs.writeFileSync(CONFIG_FILE, safeStringify({ ...current, ...config }, 2));
51
76
  }
52
- // --- Sessions (Now NOORMME Structured) ---
77
+ // --- Sessions (Kysely Structured) ---
53
78
  static async getSessions() {
54
- await this.MarieMindReady;
55
- const db = await NoormmeEngine.getInstance();
56
- const repo = db.getRepository("sessions");
57
- const all = await repo.objects.all();
58
- // Convert flat records back to Record<id, messages[]>
59
- const grouped = {};
60
- for (const entry of all) {
61
- const { sessionId, role, content, metadata } = entry;
62
- if (!grouped[sessionId])
63
- grouped[sessionId] = [];
64
- grouped[sessionId].push({ role, content, ...metadata });
65
- }
66
- return grouped;
79
+ await this.ensureReady();
80
+ const db = await getInstance();
81
+ return this.withRetry(async () => {
82
+ const all = await db.kysely.selectFrom("sessions").selectAll().execute();
83
+ // Convert flat records back to Record<id, messages[]>
84
+ const grouped = {};
85
+ for (const entry of all) {
86
+ const { sessionId, role, content, metadata } = entry;
87
+ if (!grouped[sessionId])
88
+ grouped[sessionId] = [];
89
+ let parsedMeta = {};
90
+ if (typeof metadata === "string") {
91
+ try {
92
+ parsedMeta = JSON.parse(metadata);
93
+ }
94
+ catch { }
95
+ }
96
+ grouped[sessionId].push({ role, content, ...parsedMeta });
97
+ }
98
+ return grouped;
99
+ });
67
100
  }
68
101
  static async saveSessions(sessions) {
69
- await this.MarieMindReady;
70
- const db = await NoormmeEngine.getInstance();
71
- // Clear old sessions before saving new ones (Marie's current sync strategy)
72
- await db.execute("DELETE FROM sessions");
73
- const repo = db.getRepository("sessions");
74
- for (const [sessionId, messages] of Object.entries(sessions)) {
75
- for (const msg of messages) {
76
- const { role, content, ...metadata } = msg;
77
- await repo.create({
78
- sessionId,
79
- role,
80
- content,
81
- metadata
82
- });
102
+ await this.ensureReady();
103
+ const db = await getInstance();
104
+ await this.withRetry(async () => {
105
+ // Clear old sessions before saving new ones (Marie's current sync strategy)
106
+ await db.kysely.deleteFrom("sessions").execute();
107
+ // QUANTUM RESILIENCE: Limit session enumeration
108
+ const sessionEntries = safeGetEntries(sessions, 100);
109
+ for (const [sessionId, messages] of sessionEntries) {
110
+ for (const msg of messages) {
111
+ const { role, content, ...metadata } = msg;
112
+ await db.kysely.insertInto("sessions").values({
113
+ sessionId,
114
+ role,
115
+ content,
116
+ metadata: JSON.stringify(metadata),
117
+ }).execute();
118
+ }
83
119
  }
84
- }
120
+ });
85
121
  }
86
122
  static async getSessionMetadata() {
87
- await this.MarieMindReady;
88
- const db = await NoormmeEngine.getInstance();
89
- const repo = db.getRepository("session_metadata");
90
- const records = await repo.objects.order_by("-lastModified").all();
91
- return records;
123
+ await this.ensureReady();
124
+ const db = await getInstance();
125
+ return this.withRetry(async () => {
126
+ const records = await db.kysely.selectFrom("session_metadata")
127
+ .selectAll()
128
+ .orderBy("lastModified", "desc")
129
+ .execute();
130
+ return records.map(r => ({
131
+ ...r,
132
+ isPinned: !!r.isPinned
133
+ }));
134
+ });
92
135
  }
93
136
  static async saveSessionMetadata(metadata) {
94
- await this.MarieMindReady;
95
- const db = await NoormmeEngine.getInstance();
96
- await db.execute("DELETE FROM session_metadata");
97
- const repo = db.getRepository("session_metadata");
98
- for (const entry of metadata) {
99
- await repo.create(entry);
100
- }
137
+ await this.ensureReady();
138
+ const db = await getInstance();
139
+ await this.withRetry(async () => {
140
+ await db.kysely.deleteFrom("session_metadata").execute();
141
+ for (const entry of metadata) {
142
+ await db.kysely.insertInto("session_metadata").values({
143
+ ...entry,
144
+ isPinned: entry.isPinned ? 1 : 0
145
+ }).execute();
146
+ }
147
+ });
101
148
  }
102
149
  static async getCurrentSessionId() {
103
- await this.MarieMindReady;
104
- const db = await NoormmeEngine.getInstance();
105
- const repo = db.getRepository("current_session");
106
- const state = await repo.objects.first();
107
- return state?.id || "default";
150
+ await this.ensureReady();
151
+ const db = await getInstance();
152
+ return this.withRetry(async () => {
153
+ const state = await db.kysely.selectFrom("current_session").selectAll().executeTakeFirst();
154
+ return state?.id || "default";
155
+ });
108
156
  }
109
157
  static async setCurrentSessionId(id) {
110
- await this.MarieMindReady;
111
- const db = await NoormmeEngine.getInstance();
112
- await db.execute("DELETE FROM current_session");
113
- const repo = db.getRepository("current_session");
114
- await repo.create({ id });
158
+ await this.ensureReady();
159
+ const db = await getInstance();
160
+ await this.withRetry(async () => {
161
+ await db.kysely.deleteFrom("current_session").execute();
162
+ await db.kysely.insertInto("current_session").values({ id }).execute();
163
+ });
115
164
  }
116
- // --- Telemetry (Now NOORMME Structured) ---
165
+ // --- Telemetry (Kysely Structured) ---
117
166
  static async getLastTelemetry() {
118
- await this.MarieMindReady;
119
- const db = await NoormmeEngine.getInstance();
120
- const repo = db.getRepository("telemetry");
121
- const entry = await repo.objects.filter({ key: "last_telemetry" }).first();
122
- return entry?.value;
167
+ await this.ensureReady();
168
+ const db = await getInstance();
169
+ return this.withRetry(async () => {
170
+ const entry = await db.kysely.selectFrom("telemetry")
171
+ .selectAll()
172
+ .where("key", "=", "last_telemetry")
173
+ .executeTakeFirst();
174
+ if (entry?.value) {
175
+ try {
176
+ return JSON.parse(entry.value);
177
+ }
178
+ catch {
179
+ return entry.value;
180
+ }
181
+ }
182
+ return null;
183
+ });
123
184
  }
124
185
  static async setLastTelemetry(telemetry) {
125
- await this.MarieMindReady;
126
- const db = await NoormmeEngine.getInstance();
127
- const repo = db.getRepository("telemetry");
128
- const existing = await repo.objects.filter({ key: "last_telemetry" }).first();
129
- const valStr = JSON.stringify(telemetry).replace(/'/g, "''");
130
- if (existing) {
131
- await db.execute(`UPDATE telemetry SET value = '${valStr}' WHERE key = 'last_telemetry'`);
132
- }
133
- else {
134
- await repo.create({ key: "last_telemetry", value: telemetry });
135
- }
186
+ await this.ensureReady();
187
+ const db = await getInstance();
188
+ await this.withRetry(async () => {
189
+ const valStr = safeStringify(telemetry);
190
+ const existing = await db.kysely.selectFrom("telemetry")
191
+ .select("key")
192
+ .where("key", "=", "last_telemetry")
193
+ .executeTakeFirst();
194
+ if (existing) {
195
+ await db.kysely.updateTable("telemetry")
196
+ .set({ value: valStr })
197
+ .where("key", "=", "last_telemetry")
198
+ .execute();
199
+ }
200
+ else {
201
+ await db.kysely.insertInto("telemetry")
202
+ .values({ key: "last_telemetry", value: valStr })
203
+ .execute();
204
+ }
205
+ });
136
206
  }
137
207
  }
138
208
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/monolith/cli/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/monolith/cli/storage.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,49 @@
1
- export class RitualService {
2
- /** Zone ranking hierarchy — hoisted to avoid per-call allocation */
3
- static ZONE_RANKINGS = {
4
- joyful: 3,
5
- infrastructure: 2,
6
- plumbing: 1,
7
- };
8
- /**
9
- * Dependency Law: Joyful -> Infrastructure -> Plumbing.
10
- * Never point upward.
11
- */
12
- static validateDependencies(sourceZone, targetFiles) {
13
- const violations = [];
14
- for (const target of targetFiles) {
15
- const targetZone = this.getZoneFromPath(target);
16
- if (this.isUpward(sourceZone, targetZone)) {
17
- violations.push({
18
- file: target,
19
- target: targetZone,
20
- message: `Conceptual Backflow: '${sourceZone}' code cannot depend on '${targetZone}' structure.`,
21
- });
22
- }
1
+ /** Zone ranking hierarchy — hoisted to avoid per-call allocation */
2
+ const ZONE_RANKINGS = {
3
+ joyful: 3,
4
+ infrastructure: 2,
5
+ plumbing: 1,
6
+ };
7
+ /**
8
+ * Dependency Law: Joyful -> Infrastructure -> Plumbing.
9
+ * Never point upward.
10
+ */
11
+ export function validateDependencies(sourceZone, targetFiles) {
12
+ const violations = [];
13
+ for (const target of targetFiles) {
14
+ const targetZone = getZoneFromPath(target);
15
+ if (isUpward(sourceZone, targetZone)) {
16
+ violations.push({
17
+ file: target,
18
+ target: targetZone,
19
+ message: `Conceptual Backflow: '${sourceZone}' code cannot depend on '${targetZone}' structure.`,
20
+ });
23
21
  }
24
- return violations;
25
22
  }
26
- static getZoneFromPath(filePath) {
27
- const normalized = filePath.replace(/\\/g, "/");
28
- if (normalized.includes("/domain/") || normalized.includes("/joy/"))
29
- return "joyful";
30
- if (normalized.includes("/infrastructure/") ||
31
- normalized.includes("/services/"))
32
- return "infrastructure";
33
- if (normalized.includes("/plumbing/") || normalized.includes("/utils/"))
34
- return "plumbing";
35
- // Default based on common patterns if not explicit
23
+ return violations;
24
+ }
25
+ export function getZoneFromPath(filePath) {
26
+ const normalized = filePath.replace(/\\/g, "/");
27
+ if (normalized.includes("/domain/") || normalized.includes("/joy/"))
36
28
  return "joyful";
37
- }
38
- static isUpward(source, target) {
39
- // Upward if target has a higher (more joyful) ranking than source
40
- return this.ZONE_RANKINGS[target] > this.ZONE_RANKINGS[source];
41
- }
42
- static getRitualGratefulnessPrompt(projectName, stage) {
43
- const messages = [
44
- `What part of '${projectName}' brings you the most clarity today?`,
45
- `As we ${stage} this code, what are we thanking it for?`,
46
- `How does this change protect the joyful core of our garden?`,
47
- ];
48
- return messages[Math.floor(Math.random() * messages.length)];
49
- }
29
+ if (normalized.includes("/infrastructure/") ||
30
+ normalized.includes("/services/"))
31
+ return "infrastructure";
32
+ if (normalized.includes("/plumbing/") || normalized.includes("/utils/"))
33
+ return "plumbing";
34
+ // Default based on common patterns if not explicit
35
+ return "joyful";
36
+ }
37
+ function isUpward(source, target) {
38
+ // Upward if target has a higher (more joyful) ranking than source
39
+ return ZONE_RANKINGS[target] > ZONE_RANKINGS[source];
40
+ }
41
+ export function getRitualGratefulnessPrompt(projectName, stage) {
42
+ const messages = [
43
+ `What part of '${projectName}' brings you the most clarity today?`,
44
+ `As we ${stage} this code, what are we thanking it for?`,
45
+ `How does this change protect the joyful core of our garden?`,
46
+ ];
47
+ return messages[Math.floor(Math.random() * messages.length)];
50
48
  }
51
49
  //# sourceMappingURL=RitualService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RitualService.js","sourceRoot":"","sources":["../../../../src/monolith/domain/joy/RitualService.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,aAAa;IACxB,oEAAoE;IAC5D,MAAM,CAAU,aAAa,GAA4B;QAC/D,MAAM,EAAE,CAAC;QACT,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAChC,UAAmB,EACnB,WAAqB;QAErB,MAAM,UAAU,GAA0B,EAAE,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,yBAAyB,UAAU,4BAA4B,UAAU,cAAc;iBACjG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,QAAgB;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjE,OAAO,QAAQ,CAAC;QAClB,IACE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;YAEjC,OAAO,gBAAgB,CAAC;QAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrE,OAAO,UAAU,CAAC;QAEpB,mDAAmD;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,MAAe,EAAE,MAAe;QACtD,kEAAkE;QAClE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,2BAA2B,CACvC,WAAmB,EACnB,KAAa;QAEb,MAAM,QAAQ,GAAG;YACf,iBAAiB,WAAW,sCAAsC;YAClE,SAAS,KAAK,0CAA0C;YACxD,6DAA6D;SAC9D,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC"}
1
+ {"version":3,"file":"RitualService.js","sourceRoot":"","sources":["../../../../src/monolith/domain/joy/RitualService.ts"],"names":[],"mappings":"AAUA,oEAAoE;AACpE,MAAM,aAAa,GAA4B;IAC7C,MAAM,EAAE,CAAC;IACT,cAAc,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAmB,EACnB,WAAqB;IAErB,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,yBAAyB,UAAU,4BAA4B,UAAU,cAAc;aACjG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjE,OAAO,QAAQ,CAAC;IAClB,IACE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAEjC,OAAO,gBAAgB,CAAC;IAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrE,OAAO,UAAU,CAAC;IAEpB,mDAAmD;IACnD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAe,EAAE,MAAe;IAChD,kEAAkE;IAClE,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,KAAa;IAEb,MAAM,QAAQ,GAAG;QACf,iBAAiB,WAAW,sCAAsC;QAClE,SAAS,KAAK,0CAA0C;QACxD,6DAA6D;KAC9D,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { MarieEngine } from "../../infrastructure/ai/core/MarieEngine.js";
2
+ import { getInstance, } from "../../infrastructure/persistence/NoormmeEngine.js";
3
+ import { extractText } from "../../plumbing/utils/PlumbingCore.js";
4
+ // --- Personality Renderer (Unified) ---
5
+ export const LEXICON = {
6
+ thinking: [
7
+ "Analyzing the Continuum...",
8
+ "Weaving Memory...",
9
+ "Calculating Timeline Divergence...",
10
+ ],
11
+ planning: [
12
+ "Mapping the Nodes...",
13
+ "Structuring Reality...",
14
+ "Drafting the Ascension Decree...",
15
+ ],
16
+ success: [
17
+ "Convergence achieved.",
18
+ "Reality stabilized.",
19
+ "The timeline has been successfully altered.",
20
+ ],
21
+ failure: [
22
+ "Unexpected divergence detected.",
23
+ "Reality instability.",
24
+ "Temporal anomaly encountered.",
25
+ ],
26
+ warp: [
27
+ "Initiating Warp Protocol.",
28
+ "Bypassing Cognitive Overload.",
29
+ "Direct Kernel Access active.",
30
+ ],
31
+ };
32
+ export function renderStatus(stage) {
33
+ const options = LEXICON[stage] || [stage];
34
+ return options[Math.floor(Math.random() * options.length)];
35
+ }
36
+ export function renderMessage(content) {
37
+ if (!content)
38
+ return content;
39
+ let rendered = content;
40
+ if (rendered.length > 300) {
41
+ rendered = "◈ [Expanding] " + rendered.substring(0, 150) + " ... [Converged]";
42
+ }
43
+ rendered = rendered.replace(/working on/gi, "◈ shaping");
44
+ rendered = rendered.replace(/fixing|stabilizing/gi, "⚡ stabilizing");
45
+ rendered = rendered.replace(/anomaly|anomaly detected/gi, "⚠ anomaly");
46
+ rendered = rendered.replace(/successfully completed|converged/gi, "✔ converged");
47
+ rendered = rendered.replace(/feature|capability/gi, "🧬 capability");
48
+ return rendered;
49
+ }
50
+ export function getGreeting() {
51
+ const greetings = [
52
+ "The Continuum awaits. How shall we alter it today?",
53
+ "Memory Weaver active. Specify your target timeline.",
54
+ "Ascension protocol ready. Awaiting your command.",
55
+ ];
56
+ return greetings[Math.floor(Math.random() * greetings.length)];
57
+ }
58
+ export function isHighImpact(text) {
59
+ if (!text)
60
+ return false;
61
+ const lower = text.toLowerCase();
62
+ const highImpactWords = [
63
+ "start", "complete", "finish", "fail", "error", "critical",
64
+ "strategic", "decision", "warp", "thinking", "authorized",
65
+ "denied", "divergence",
66
+ ];
67
+ return highImpactWords.some((word) => lower.includes(word)) || text.length > 50;
68
+ }
69
+ let mode = "strategist";
70
+ const reasoningCache = new Map();
71
+ export function setMode(newMode) {
72
+ mode = newMode;
73
+ reasoningCache.clear();
74
+ }
75
+ export function getMode() {
76
+ return mode;
77
+ }
78
+ function calculateUncertainty(text) {
79
+ const lower = text.toLowerCase();
80
+ let score = 0.5;
81
+ if (text.length < 50)
82
+ score -= 0.2;
83
+ if (["ls", "pwd", "read", "cat", "whoami"].some((cmd) => lower.startsWith(cmd)))
84
+ score -= 0.3;
85
+ if (["refactor", "complex", "optimize", "architecture"].some((word) => lower.includes(word)))
86
+ score += 0.3;
87
+ if (text.length > 200)
88
+ score += 0.2;
89
+ return Math.max(0, Math.min(1, score));
90
+ }
91
+ export async function plan(text, history) {
92
+ const cacheKey = `${mode}:${text.trim().toLowerCase()}`;
93
+ if (reasoningCache.has(cacheKey))
94
+ return reasoningCache.get(cacheKey);
95
+ const uncertaintyScore = calculateUncertainty(text);
96
+ const lowerText = text.toLowerCase();
97
+ if (uncertaintyScore < 0.4 || mode === "warp") {
98
+ const p = {
99
+ strategy: "⚡ Heuristic Warp: Low uncertainty path active.",
100
+ objectives: ["Direct execution"],
101
+ useWarp: true,
102
+ uncertaintyScore,
103
+ };
104
+ reasoningCache.set(cacheKey, p);
105
+ return p;
106
+ }
107
+ if (lowerText.includes("extract function")) {
108
+ return {
109
+ strategy: "🛠 Specialized: Extract Function Pipeline.",
110
+ objectives: ["Isolate block", "Refactor", "Verify"],
111
+ useWarp: true,
112
+ uncertaintyScore: 0.2,
113
+ };
114
+ }
115
+ const p = {
116
+ strategy: "🧬 Standard: Cognitive One-Pass Strategy.",
117
+ objectives: ["Analyze", "Execute", "Verify"],
118
+ useWarp: false,
119
+ uncertaintyScore,
120
+ };
121
+ reasoningCache.set(cacheKey, p);
122
+ return p;
123
+ }
124
+ export async function processSessionEnd(sessionId, messages, renameCallback, providerFactory, config) {
125
+ const providerType = config.getAiProvider();
126
+ const key = config.getApiKey(providerType) || "";
127
+ const provider = providerFactory(providerType, key);
128
+ if (!provider)
129
+ return;
130
+ const engine = new MarieEngine(provider, undefined, async () => true);
131
+ try {
132
+ const firstMsg = messages.find((m) => m.role === "user")?.content || "New Session";
133
+ const title = extractText(firstMsg).substring(0, 30);
134
+ await renameCallback(sessionId, title);
135
+ void (async () => {
136
+ const db = await getInstance();
137
+ await db.agent.cortex.refiner.refineActions();
138
+ await db.agent.cortex.reasoner.synthesizeLessons();
139
+ })();
140
+ }
141
+ catch (e) {
142
+ console.error("[MarieCortex] Session end pass failed", e);
143
+ }
144
+ }
145
+ export function renderResponse(content) {
146
+ return renderMessage(content);
147
+ }
148
+ //# sourceMappingURL=MarieCortex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarieCortex.js","sourceRoot":"","sources":["../../../../src/monolith/domain/marie/MarieCortex.ts"],"names":[],"mappings":"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"}