@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,162 @@
1
- import * as vscode from "vscode";
2
- import { ConfigService } from "../../config/ConfigService.js";
1
+ import { getModel, getMaxContextTokens, getKeepRecentMessages, getTokensPerChar, } from "../../config/ConfigService.js";
3
2
  import { SUMMARIZATION_SYSTEM_PROMPT, SUMMARIZATION_USER_PROMPT, } from "../../../../prompts.js";
4
3
  import { getErrorMessage } from "../../../plumbing/utils/ErrorUtils.js";
5
- import { StringUtils } from "../../../plumbing/utils/StringUtils.js";
6
- export class ContextManager {
7
- static estimateTokens(text, tokensPerChar) {
8
- return Math.ceil(text.length * tokensPerChar);
9
- }
10
- /**
11
- * Recursively estimates tokens in an object without JSON.stringify serialization.
12
- * Prevents massive GC spikes for large objects (e.g. file content).
13
- */
14
- static estimateObjectTokens(obj, tokensPerChar, depth = 0) {
15
- if (!obj || depth > 10)
16
- return 0;
17
- if (typeof obj === "string")
18
- return this.estimateTokens(obj, tokensPerChar);
19
- if (typeof obj === "number" || typeof obj === "boolean")
20
- return 1;
21
- let total = 0;
4
+ import { extractText } from "../../../plumbing/utils/StringUtils.js";
5
+ import { safeSpread, safeGetKeys, safeGetEntries, } from "../core/MarieSanitizer.js";
6
+ function estimateTokens(text, tokensPerChar) {
7
+ return Math.ceil(text.length * tokensPerChar);
8
+ }
9
+ /**
10
+ * Recursively estimates tokens in an object without JSON.stringify serialization.
11
+ * Prevents massive GC spikes for large objects (e.g. file content).
12
+ */
13
+ function estimateObjectTokens(obj, tokensPerChar, depth = 0) {
14
+ if (!obj || depth > 10)
15
+ return 0;
16
+ if (typeof obj === "string")
17
+ return estimateTokens(obj, tokensPerChar);
18
+ if (typeof obj === "number" || typeof obj === "boolean")
19
+ return 1;
20
+ let total = 0;
21
+ try {
22
22
  if (Array.isArray(obj)) {
23
- for (const item of obj) {
24
- total += this.estimateObjectTokens(item, tokensPerChar, depth + 1);
23
+ // Limit array breadth for estimation
24
+ const limitedArr = obj.slice(0, 100);
25
+ for (const item of limitedArr) {
26
+ total += estimateObjectTokens(item, tokensPerChar, depth + 1);
25
27
  }
26
28
  }
27
29
  else if (typeof obj === "object") {
28
- for (const key in obj) {
29
- total += this.estimateTokens(key, tokensPerChar); // Key tokens
30
- total += this.estimateObjectTokens(obj[key], tokensPerChar, depth + 1); // Value tokens
30
+ const safeObj = safeSpread(obj);
31
+ // Use safeGetKeys to avoid engine-level enumeration explosion
32
+ const keys = safeGetKeys(safeObj, 100);
33
+ for (const key of keys) {
34
+ total += estimateTokens(key, tokensPerChar); // Key tokens
35
+ total += estimateObjectTokens(safeObj[key], tokensPerChar, depth + 1); // Value tokens
31
36
  }
32
37
  }
33
- return total;
34
38
  }
35
- static getMessageTokens(message, tokensPerChar) {
36
- if (typeof message.content === "string") {
37
- return this.estimateTokens(message.content, tokensPerChar);
38
- }
39
- else if (Array.isArray(message.content)) {
40
- return message.content.reduce((acc, block) => {
41
- if (block.type === "text") {
42
- return acc + this.estimateTokens(block.text, tokensPerChar);
43
- }
44
- if (block.type === "tool_use") {
45
- return acc + this.estimateObjectTokens(block.input, tokensPerChar, 0);
46
- }
47
- if (block.type === "tool_result") {
48
- // optimized: avoid JSON.stringify if content is string
49
- if (typeof block.content === "string") {
50
- return acc + this.estimateTokens(block.content, tokensPerChar);
51
- }
52
- return (acc + this.estimateObjectTokens(block.content, tokensPerChar, 0));
53
- }
54
- return acc;
55
- }, 0);
56
- }
57
- return 0;
39
+ catch (e) {
40
+ // Ignore enumeration errors during estimation
58
41
  }
59
- static getTotalTokens(messages, tokensPerChar) {
60
- return messages.reduce((acc, msg) => acc + this.getMessageTokens(msg, tokensPerChar), 0);
61
- }
62
- static async manage(messages, provider, state) {
63
- const maxTokens = ConfigService.getMaxContextTokens();
64
- const tokensPerChar = ConfigService.getTokensPerChar(); // Hoisted config access
65
- const currentTokens = this.getTotalTokens(messages, tokensPerChar);
66
- // PROACTIVE PRUNING: Summarize at 90% capacity to ensure zero 400 errors
67
- if (currentTokens >= maxTokens * 0.9) {
68
- messages = await this.summarizeHistory(messages, provider, state, tokensPerChar, currentTokens);
69
- }
70
- // SPECTRAL MEMORY INJECTION: Retrieve relevant long-term memories
71
- return await this.injectSpectralMemories(messages, provider);
42
+ return total;
43
+ }
44
+ function getMessageTokens(message, tokensPerChar) {
45
+ if (typeof message.content === "string") {
46
+ return estimateTokens(message.content, tokensPerChar);
72
47
  }
73
- static async injectSpectralMemories(messages, provider) {
74
- try {
75
- const lastUserMsg = messages.slice().reverse().find(m => m.role === "user" && typeof m.content === "string");
76
- if (!lastUserMsg)
77
- return messages;
78
- const { NoormmeEngine } = await import("../../persistence/NoormmeEngine.js");
79
- const db = await NoormmeEngine.getInstance();
80
- if (!db.agent.cortex.vectors)
81
- return messages;
82
- const embedding = await provider.createEmbedding(lastUserMsg.content);
83
- const memories = await db.agent.cortex.vectors.search(embedding, { limit: 3 });
84
- if (memories.length > 0) {
85
- const memoryContext = memories
86
- .map((m) => `- ${m.content} (Similarity: ${(m.similarity * 100).toFixed(1)}%)`)
87
- .join("\n");
88
- const injectedMessages = [...messages];
89
- injectedMessages.splice(messages.length - 1, 0, {
90
- role: "user",
91
- content: `[SPECTRAL MEMORIES - STRATEGIC CONTEXT]\n${memoryContext}\n\n(Use these memories to inform your response if relevant. Do not mention "Spectral Memories" to the user unless they ask.)`,
92
- virtual: true
93
- });
94
- return injectedMessages;
48
+ else if (Array.isArray(message.content)) {
49
+ return message.content.reduce((acc, block) => {
50
+ if (block.type === "text") {
51
+ return acc + estimateTokens(block.text, tokensPerChar);
95
52
  }
96
- }
97
- catch (e) {
98
- console.warn("[ContextManager] Failed to inject spectral memories", e);
99
- }
100
- return messages;
53
+ if (block.type === "tool_use") {
54
+ return acc + estimateObjectTokens(block.input, tokensPerChar, 0);
55
+ }
56
+ if (block.type === "tool_result") {
57
+ // optimized: avoid JSON.stringify if content is string
58
+ if (typeof block.content === "string") {
59
+ return acc + estimateTokens(block.content, tokensPerChar);
60
+ }
61
+ return acc + estimateObjectTokens(block.content, tokensPerChar, 0);
62
+ }
63
+ return acc;
64
+ }, 0);
65
+ }
66
+ return 0;
67
+ }
68
+ function getTotalTokens(messages, tokensPerChar) {
69
+ return messages.reduce((acc, msg) => acc + getMessageTokens(msg, tokensPerChar), 0);
70
+ }
71
+ export async function manageContext(messages, provider, state) {
72
+ const maxTokens = getMaxContextTokens();
73
+ const tokensPerChar = getTokensPerChar(); // Hoisted config access
74
+ const currentTokens = getTotalTokens(messages, tokensPerChar);
75
+ // PROACTIVE PRUNING: Summarize at 90% capacity to ensure zero 400 errors
76
+ if (currentTokens >= maxTokens * 0.9) {
77
+ messages = await summarizeHistory(messages, provider, state, tokensPerChar, currentTokens);
101
78
  }
102
- static async summarizeHistory(messages, provider, state, tokensPerChar, currentTokens) {
103
- vscode.window.showInformationMessage(`Marie is tidying up conversation history (${currentTokens} tokens)...`);
104
- const keepRecent = ConfigService.getKeepRecentMessages();
105
- if (messages.length <= keepRecent) {
79
+ // SPECTRAL MEMORY INJECTION: Retrieve relevant long-term memories
80
+ return await injectSpectralMemories(messages, provider);
81
+ }
82
+ async function injectSpectralMemories(messages, provider) {
83
+ try {
84
+ const lastUserMsg = messages
85
+ .slice()
86
+ .reverse()
87
+ .find((m) => m.role === "user" && typeof m.content === "string");
88
+ if (!lastUserMsg)
106
89
  return messages;
107
- }
108
- const olderMessages = messages.slice(0, messages.length - keepRecent);
109
- const recentMessages = messages.slice(messages.length - keepRecent);
110
- try {
111
- const summaryResponse = await provider.createMessage({
112
- model: ConfigService.getModel(),
113
- max_tokens: 1024,
114
- messages: olderMessages.concat({
115
- role: "user",
116
- content: SUMMARIZATION_USER_PROMPT,
117
- }),
118
- system: SUMMARIZATION_SYSTEM_PROMPT,
90
+ const { getInstance } = await import("../../persistence/NoormmeEngine.js");
91
+ const db = await getInstance();
92
+ if (!db.agent.cortex.vectors)
93
+ return messages;
94
+ const embedding = await provider.createEmbedding(lastUserMsg.content);
95
+ const memories = await db.agent.cortex.vectors.search(embedding, {
96
+ limit: 3,
97
+ });
98
+ if (memories.length > 0) {
99
+ const memoryContext = memories
100
+ .map((m) => `- ${m.content} (Similarity: ${(m.similarity * 100).toFixed(1)}%)`)
101
+ .join("\n");
102
+ const injectedMessages = [...messages];
103
+ injectedMessages.splice(messages.length - 1, 0, {
104
+ role: "user",
105
+ content: `[SPECTRAL MEMORIES - STRATEGIC CONTEXT]\n${memoryContext}\n\n(Use these memories to inform your response if relevant. Do not mention "Spectral Memories" to the user unless they ask.)`,
106
+ virtual: true,
119
107
  });
120
- const summaryText = StringUtils.extractText(summaryResponse.content) ||
121
- "Summary unavailable.";
122
- // Ascension Preservation: Prepend state snapshot to the summary so it survives compression
123
- let ascensionNote = "";
124
- if (state) {
125
- const hotspots = Object.entries(state.errorHotspots)
126
- .filter(([_, c]) => c >= 2)
127
- .map(([f, c]) => `${f}(${c}x)`)
128
- .join(", ");
129
- const strategy = state.lastDecree?.strategy || "EXECUTE";
130
- const strategyReason = state.lastDecree?.reason || "None";
131
- ascensionNote = `[ASCENSION STATE] Strategy: ${strategy}, Mood: ${state.mood}, Spirit Pressure (Flow): ${state.spiritPressure}/100, Victory Streak: ${state.victoryStreak}${hotspots ? `, Hotspots: ${hotspots}` : ""}, Last Intent: ${strategyReason}\n\n`;
132
- }
133
- const newHistory = [
134
- {
135
- role: "user",
136
- content: `[System Note: Previous conversation summary]\n${ascensionNote}${summaryText}`,
137
- },
138
- ...recentMessages,
139
- ];
140
- vscode.window.showInformationMessage(`Marie finished tidying. Tokens reduced from ${currentTokens} to ${this.getTotalTokens(newHistory, tokensPerChar)}.`);
141
- return newHistory;
108
+ return injectedMessages;
142
109
  }
143
- catch (error) {
144
- const message = getErrorMessage(error);
145
- console.error("Context summarization failed:", message);
146
- vscode.window.showErrorMessage(`Failed to summarize conversation: ${message}. Continuing with full history.`);
147
- return messages;
110
+ }
111
+ catch (e) {
112
+ console.warn("[ContextManager] Failed to inject spectral memories", e);
113
+ }
114
+ return messages;
115
+ }
116
+ async function summarizeHistory(messages, provider, state, tokensPerChar, currentTokens) {
117
+ console.log(`[Marie] Tidying up conversation history (${currentTokens} tokens)...`);
118
+ const keepRecent = getKeepRecentMessages();
119
+ if (messages.length <= keepRecent) {
120
+ return messages;
121
+ }
122
+ const olderMessages = messages.slice(0, messages.length - keepRecent);
123
+ const recentMessages = messages.slice(messages.length - keepRecent);
124
+ try {
125
+ const summaryResponse = await provider.createMessage({
126
+ model: getModel(),
127
+ max_tokens: 1024,
128
+ messages: olderMessages.concat({
129
+ role: "user",
130
+ content: SUMMARIZATION_USER_PROMPT,
131
+ }),
132
+ system: SUMMARIZATION_SYSTEM_PROMPT,
133
+ });
134
+ const summaryText = extractText(summaryResponse.content) || "Summary unavailable.";
135
+ // Ascension Preservation: Prepend state snapshot to the summary so it survives compression
136
+ let ascensionNote = "";
137
+ if (state) {
138
+ const hotspots = safeGetEntries(safeSpread(state.errorHotspots), 20)
139
+ .filter(([_, c]) => c >= 2)
140
+ .map(([f, c]) => `${f}(${c}x)`)
141
+ .join(", ");
142
+ const strategy = state.lastDecree?.strategy || "EXECUTE";
143
+ const strategyReason = state.lastDecree?.reason || "None";
144
+ ascensionNote = `[ASCENSION STATE] Strategy: ${strategy}, Mood: ${state.mood}, Transcendence Level: ${state.spiritPressure}/100, Victory Streak: ${state.victoryStreak}${hotspots ? `, Hotspots: ${hotspots}` : ""}, Last Intent: ${strategyReason}\n\n`;
148
145
  }
146
+ const newHistory = [
147
+ {
148
+ role: "user",
149
+ content: `[System Note: Previous conversation summary]\n${ascensionNote}${summaryText}`,
150
+ },
151
+ ...recentMessages,
152
+ ];
153
+ console.log(`[Marie] Finished tidying. Tokens reduced from ${currentTokens} to ${getTotalTokens(newHistory, tokensPerChar)}.`);
154
+ return newHistory;
155
+ }
156
+ catch (error) {
157
+ const message = getErrorMessage(error);
158
+ console.error("[Marie] Context summarization failed:", message);
159
+ return messages;
149
160
  }
150
161
  }
151
162
  //# sourceMappingURL=ContextManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/ai/context/ContextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/ai/context/ContextManager.ts"],"names":[],"mappings":"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"}