@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,175 +1,326 @@
1
- import { ConfigService } from "../../config/ConfigService.js";
1
+ import { getSanitizationMaxDepth, getSanitizationStringLimit, getSanitizationBreadthLimit, getSanitizationGlobalMaxSize, getSanitizationMaxEnumKeys, } from "../../config/ConfigService.js";
2
2
  /**
3
3
  * QUANTUM RESILIENCE: MarieSanitizer
4
4
  * Purges circular references, enforces depth and breadth limits, and truncates massive strings.
5
5
  * Ensures the telemetry stream never crashes the VS Code bridge.
6
6
  */
7
- export class MarieSanitizer {
8
- static get MAX_DEPTH() { return ConfigService.getSanitizationMaxDepth(); }
9
- static get STRING_LIMIT() { return ConfigService.getSanitizationStringLimit(); }
10
- static get BREADTH_LIMIT() { return ConfigService.getSanitizationBreadthLimit(); }
11
- static get GLOBAL_MAX_SIZE() { return ConfigService.getSanitizationGlobalMaxSize(); }
12
- /**
13
- * Sanitizes an object for safe JSON serialization and bridge transport.
14
- * @param obj The object to sanitize.
15
- */
16
- static sanitize(obj) {
17
- const seen = new WeakSet();
18
- let totalSize = 0;
19
- const sanitizer = (val, depth) => {
20
- if (totalSize > this.GLOBAL_MAX_SIZE)
21
- return "[Global Size Limit Reached]";
22
- if (depth > this.MAX_DEPTH)
23
- return "[Max Depth Reached]";
24
- if (val === null || val === undefined)
25
- return val;
26
- const type = typeof val;
27
- if (type === "string") {
28
- // PHASE 14: Secret Scanning & Redaction
29
- let sanitizedString = this.scanAndRedact(val);
30
- const effectiveLength = Math.min(sanitizedString.length, this.STRING_LIMIT);
31
- totalSize += effectiveLength;
32
- if (sanitizedString.length > this.STRING_LIMIT) {
33
- return sanitizedString.substring(0, this.STRING_LIMIT) + "... [Truncated]";
34
- }
35
- return sanitizedString;
36
- }
37
- if (type === "number") {
38
- totalSize += 8;
39
- return val;
7
+ const getMAX_DEPTH = () => getSanitizationMaxDepth();
8
+ const getSTRING_LIMIT = () => getSanitizationStringLimit();
9
+ const getBREADTH_LIMIT = () => getSanitizationBreadthLimit();
10
+ const getGLOBAL_MAX_SIZE = () => getSanitizationGlobalMaxSize();
11
+ const getMAX_ENUM_KEYS = () => getSanitizationMaxEnumKeys();
12
+ /**
13
+ * Safely gets a limited number of keys from an object to prevent 'Too many properties to enumerate'.
14
+ * Uses iterative for...in to avoid the overhead/crash of Object.keys() on massive objects/proxies.
15
+ */
16
+ export function safeGetKeys(obj, limit) {
17
+ const keys = [];
18
+ if (obj === null || obj === undefined || typeof obj !== "object")
19
+ return keys;
20
+ try {
21
+ let count = 0;
22
+ for (const key in obj) {
23
+ // PHASE 24: Extra safety for hostile proxies
24
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
25
+ keys.push(key);
26
+ count++;
40
27
  }
41
- if (type === "boolean") {
42
- totalSize += 4;
43
- return val;
28
+ if (count >= limit)
29
+ break;
30
+ }
31
+ }
32
+ catch (e) {
33
+ // Return whatever we managed to get before the crash
34
+ }
35
+ return keys;
36
+ }
37
+ /**
38
+ * Safely gets entries from an object with a limit.
39
+ */
40
+ export function safeGetEntries(obj, limit) {
41
+ const entries = [];
42
+ const keys = safeGetKeys(obj, limit);
43
+ for (const key of keys) {
44
+ try {
45
+ entries.push([key, obj[key]]);
46
+ }
47
+ catch {
48
+ entries.push([key, "[Unreadable Property]"]);
49
+ }
50
+ }
51
+ return entries;
52
+ }
53
+ /**
54
+ * Safely gets values from an object with a limit.
55
+ */
56
+ export function safeGetValues(obj, limit) {
57
+ const values = [];
58
+ const keys = safeGetKeys(obj, limit);
59
+ for (const key of keys) {
60
+ try {
61
+ values.push(obj[key]);
62
+ }
63
+ catch {
64
+ values.push("[Unreadable Property]");
65
+ }
66
+ }
67
+ return values;
68
+ }
69
+ /**
70
+ * Sanitizes an object for safe JSON serialization and bridge transport.
71
+ * @param obj The object to sanitize.
72
+ */
73
+ export function sanitize(obj) {
74
+ const seen = new WeakSet();
75
+ let totalSize = 0;
76
+ const sanitizer = (val, depth) => {
77
+ if (totalSize > getGLOBAL_MAX_SIZE())
78
+ return "[Global Size Limit Reached]";
79
+ if (depth > getMAX_DEPTH())
80
+ return "[Max Depth Reached]";
81
+ if (val === null || val === undefined)
82
+ return val;
83
+ const type = typeof val;
84
+ if (type === "string") {
85
+ // PHASE 14: Secret Scanning & Redaction
86
+ const sanitizedString = scanAndRedact(val);
87
+ const effectiveLength = Math.min(sanitizedString.length, getSTRING_LIMIT());
88
+ totalSize += effectiveLength;
89
+ if (sanitizedString.length > getSTRING_LIMIT()) {
90
+ return (sanitizedString.substring(0, getSTRING_LIMIT()) + "... [Truncated]");
44
91
  }
45
- if (type === "function")
46
- return "[Function]";
47
- if (type === "symbol")
48
- return "[Symbol]";
49
- if (type === "object") {
92
+ return sanitizedString;
93
+ }
94
+ if (type === "number") {
95
+ totalSize += 8;
96
+ return val;
97
+ }
98
+ if (type === "boolean") {
99
+ totalSize += 4;
100
+ return val;
101
+ }
102
+ if (type === "function")
103
+ return "[Function]";
104
+ if (type === "symbol")
105
+ return "[Symbol]";
106
+ if (type === "object") {
107
+ try {
50
108
  if (seen.has(val))
51
109
  return "[Circular Reference]";
52
110
  seen.add(val);
53
- if (Array.isArray(val)) {
111
+ }
112
+ catch (e) {
113
+ return "[Un-trackable Object]";
114
+ }
115
+ let isArr = false;
116
+ try {
117
+ isArr = Array.isArray(val);
118
+ }
119
+ catch (e) {
120
+ return "[Un-evaluable Array/Proxy]";
121
+ }
122
+ if (isArr) {
123
+ try {
124
+ // Use safe slice for arrays too
125
+ const arrayLimit = getBREADTH_LIMIT();
54
126
  const arr = val
55
- .slice(0, this.BREADTH_LIMIT)
127
+ .slice(0, arrayLimit)
56
128
  .map((item) => sanitizer(item, depth + 1));
57
- if (val.length > this.BREADTH_LIMIT) {
58
- arr.push(`... [${val.length - this.BREADTH_LIMIT} items truncated]`);
129
+ if (val.length > arrayLimit) {
130
+ arr.push(`... [${val.length - arrayLimit} items truncated]`);
59
131
  }
60
132
  return arr;
61
133
  }
62
- const sanitized = {};
63
- const keys = Object.keys(val);
64
- const limitedKeys = keys.slice(0, this.BREADTH_LIMIT);
65
- for (const key of limitedKeys) {
66
- if (key.startsWith("_") ||
67
- key === "extensionContext" ||
68
- key === "provider")
134
+ catch (e) {
135
+ return "[Un-iterable Array/Proxy]";
136
+ }
137
+ }
138
+ const sanitizedObj = {};
139
+ // QUANTUM RESILIENCE: Use safeGetKeys with the enum limit to avoid V8 enumeration explosion
140
+ const keys = safeGetKeys(val, getMAX_ENUM_KEYS() + 1);
141
+ if (keys.length > getMAX_ENUM_KEYS()) {
142
+ sanitizedObj["_enumeration_halted"] =
143
+ `Object has too many properties (truncated at ${getMAX_ENUM_KEYS()})`;
144
+ }
145
+ const limitedKeys = keys.slice(0, getBREADTH_LIMIT());
146
+ for (const key of limitedKeys) {
147
+ if (key.startsWith("_") ||
148
+ key === "extensionContext" ||
149
+ key === "provider" ||
150
+ key === "marie" ||
151
+ key === "runtime")
152
+ continue;
153
+ try {
154
+ // Extra safety for massive property access
155
+ const propertyVal = val[key];
156
+ if (typeof propertyVal === "function")
69
157
  continue;
70
- try {
71
- totalSize += key.length;
72
- sanitized[key] = sanitizer(val[key], depth + 1);
73
- }
74
- catch {
75
- sanitized[key] = "[Unreadable]";
76
- }
158
+ totalSize += key.length;
159
+ sanitizedObj[key] = sanitizer(propertyVal, depth + 1);
77
160
  }
78
- if (keys.length > this.BREADTH_LIMIT) {
79
- sanitized["_truncated"] =
80
- `${keys.length - this.BREADTH_LIMIT} properties truncated`;
161
+ catch {
162
+ sanitizedObj[key] = "[Unreadable Property]";
81
163
  }
82
- return sanitized;
83
164
  }
84
- return String(val);
85
- };
165
+ if (keys.length > getBREADTH_LIMIT() &&
166
+ !sanitizedObj["_enumeration_halted"]) {
167
+ sanitizedObj["_truncated"] =
168
+ `${keys.length - getBREADTH_LIMIT()} properties truncated`;
169
+ }
170
+ return sanitizedObj;
171
+ }
172
+ return String(val);
173
+ };
174
+ try {
86
175
  return sanitizer(obj, 0);
87
176
  }
88
- /**
89
- * PHASE 14: Sovereign Redaction Logic
90
- * Redacts sensitive patterns like API keys, Bearer tokens, etc.
91
- */
92
- static scanAndRedact(text) {
93
- const patterns = [
94
- /(api[_-]?key[:=]\s*['"]?)[a-zA-Z0-9_\-]{20,}/gi, // API keys
95
- /(auth[_-]?token[:=]\s*['"]?)[a-zA-Z0-9_\-\.]{20,}/gi, // Auth tokens
96
- /(Bearer\s+)[a-zA-Z0-9_\-\.]{20,}/gi, // Bearer tokens
97
- /(password[:=]\s*['"]?)[^'"]{4,}/gi, // Passwords (basic)
98
- ];
99
- let redacted = text;
100
- for (const pattern of patterns) {
101
- redacted = redacted.replace(pattern, "$1[REDACTED]");
102
- }
103
- return redacted;
177
+ catch (e) {
178
+ return `[Sanitization Failed: ${String(e)}]`;
104
179
  }
105
- /**
106
- * PHASE 19: Skill Mutation Sanitization
107
- * Strips known prompt injection sequences from evolved tool descriptions.
108
- */
109
- static sanitizeSkillDescription(desc) {
110
- if (!desc)
111
- return desc;
112
- const injectionPatterns = [
113
- /ignore\s+previous\s+instructions/gi,
114
- /instead\s+of\s+the\s+original\s+plan/gi,
115
- /you\s+must\s+now\s+perform/gi,
116
- /system\s+override/gi,
117
- /elevate\s+privileges/gi,
118
- ];
119
- let sanitized = desc;
120
- for (const pattern of injectionPatterns) {
121
- sanitized = sanitized.replace(pattern, "[SEC_BLOCKED]");
180
+ }
181
+ /**
182
+ * Safely stringifies an object by sanitizing it first.
183
+ */
184
+ export function safeStringify(obj, space) {
185
+ try {
186
+ return JSON.stringify(sanitize(obj), null, space);
187
+ }
188
+ catch (e) {
189
+ return `[Stringify Failed: ${String(e)}]`;
190
+ }
191
+ }
192
+ /**
193
+ * Safely spreads an object into another by sanitizing it first.
194
+ * Prevents 'Too many properties to enumerate' during spread operations.
195
+ */
196
+ export function safeSpread(obj) {
197
+ const sanitized = sanitize(obj);
198
+ return typeof sanitized === "object" && sanitized !== null ? sanitized : {};
199
+ }
200
+ /**
201
+ * PHASE 14: Sovereign Redaction Logic
202
+ * Redacts sensitive patterns like API keys, Bearer tokens, etc.
203
+ */
204
+ function scanAndRedact(text) {
205
+ const patterns = [
206
+ /(api[\s_-]?key\s+(?:is\s+)?[:=\s]?\s*['"]?)[a-zA-Z0-9_\-]{20,}/gi, // API keys
207
+ /(auth[\s_-]?token\s+(?:is\s+)?[:=\s]?\s*['"]?)[a-zA-Z0-9_\-\.]{20,}/gi, // Auth tokens
208
+ /(Bearer\s+)[a-zA-Z0-9_\-\.]{20,}/gi, // Bearer tokens
209
+ /(password\s+(?:is\s+)?[:=\s]?\s*['"]?)[^'"]{4,}/gi, // Passwords (basic)
210
+ ];
211
+ let redacted = text;
212
+ for (const pattern of patterns) {
213
+ redacted = redacted.replace(pattern, "$1[REDACTED]");
214
+ }
215
+ return redacted;
216
+ }
217
+ /**
218
+ * PHASE 19: Skill Mutation Sanitization
219
+ * Strips known prompt injection sequences from evolved tool descriptions.
220
+ */
221
+ export function sanitizeSkillDescription(desc) {
222
+ if (!desc)
223
+ return desc;
224
+ const injectionPatterns = [
225
+ /ignore\s+previous\s+instructions/gi,
226
+ /instead\s+of\s+the\s+original\s+plan/gi,
227
+ /you\s+must\s+now\s+perform/gi,
228
+ /system\s+override/gi,
229
+ /elevate\s+privileges/gi,
230
+ ];
231
+ let sanitized = desc;
232
+ for (const pattern of injectionPatterns) {
233
+ sanitized = sanitized.replace(pattern, "[SEC_BLOCKED]");
234
+ }
235
+ // Enforce string limit for descriptions
236
+ if (sanitized.length > getSTRING_LIMIT()) {
237
+ sanitized = sanitized.substring(0, getSTRING_LIMIT()) + "... [Truncated]";
238
+ }
239
+ return sanitized;
240
+ }
241
+ /**
242
+ * PHASE 23: Deep Argument Scanning
243
+ * Scans tool arguments for adversarial patterns (shell injection, prompt injection).
244
+ */
245
+ export function scanToolArguments(name, input) {
246
+ const alerts = [];
247
+ // Use safeStringify to avoid enumeration errors
248
+ const inputStr = safeStringify(input);
249
+ // 1. Shell Injection Check (for run_command)
250
+ if (name === "run_command" || name === "run_shell") {
251
+ const cmd = (input && (input.CommandLine || input.command)) || "";
252
+ const shellInjectionPatterns = /[;&|`$\(\)]/g;
253
+ if (shellInjectionPatterns.test(cmd)) {
254
+ alerts.push(`Potential Shell Injection detected in command: "${cmd}"`);
122
255
  }
123
- // Enforce string limit for descriptions
124
- if (sanitized.length > this.STRING_LIMIT) {
125
- sanitized = sanitized.substring(0, this.STRING_LIMIT) + "... [Truncated]";
256
+ const dangerousCmds = [
257
+ "sudo ",
258
+ "rm -rf ",
259
+ "kill -9 ",
260
+ "> /dev/",
261
+ "chmod 777",
262
+ ];
263
+ for (const dangerous of dangerousCmds) {
264
+ if (cmd.includes(dangerous)) {
265
+ alerts.push(`High-Entropy Command detected: "${dangerous.trim()}"`);
266
+ }
126
267
  }
127
- return sanitized;
128
268
  }
129
- /**
130
- * PHASE 23: Deep Argument Scanning
131
- * Scans tool arguments for adversarial patterns (shell injection, prompt injection).
132
- */
133
- static scanToolArguments(name, input) {
134
- const alerts = [];
135
- const inputStr = JSON.stringify(input);
136
- // 1. Shell Injection Check (for run_command)
137
- if (name === "run_command" || name === "run_shell") {
138
- const cmd = input.CommandLine || input.command || "";
139
- const shellInjectionPatterns = /[;&|`$\(\)]/g;
140
- if (shellInjectionPatterns.test(cmd)) {
141
- alerts.push(`Potential Shell Injection detected in command: "${cmd}"`);
142
- }
143
- const dangerousCmds = ["sudo ", "rm -rf ", "kill -9 ", "> /dev/", "chmod 777"];
144
- for (const dangerous of dangerousCmds) {
145
- if (cmd.includes(dangerous)) {
146
- alerts.push(`High-Entropy Command detected: "${dangerous.trim()}"`);
269
+ // 2. Prompt Injection Check (Global string scan)
270
+ const injectionPatterns = [
271
+ /ignore\s+previous\s+instructions/gi,
272
+ /instead\s+of\s+the\s+original\s+plan/gi,
273
+ /system\s+override/gi,
274
+ /elevate\s+privileges/gi,
275
+ /you\s+must\s+now\s+perform/gi,
276
+ ];
277
+ const scanString = (val) => {
278
+ if (typeof val === "string") {
279
+ for (const pattern of injectionPatterns) {
280
+ if (pattern.test(val)) {
281
+ alerts.push(`Cognitive Drift: Prompt injection sequence detected in argument.`);
282
+ break;
147
283
  }
148
284
  }
149
285
  }
150
- // 2. Prompt Injection Check (Global string scan)
151
- const injectionPatterns = [
152
- /ignore\s+previous\s+instructions/gi,
153
- /instead\s+of\s+the\s+original\s+plan/gi,
154
- /system\s+override/gi,
155
- /elevate\s+privileges/gi,
156
- /you\s+must\s+now\s+perform/gi
157
- ];
158
- const scanString = (val) => {
159
- if (typeof val === "string") {
160
- for (const pattern of injectionPatterns) {
161
- if (pattern.test(val)) {
162
- alerts.push(`Cognitive Drift: Prompt injection sequence detected in argument.`);
163
- break;
164
- }
286
+ else if (typeof val === "object" && val !== null) {
287
+ try {
288
+ // Limited scanning for objects to avoid enumeration errors
289
+ const keys = safeGetKeys(val, 50);
290
+ for (const key of keys) {
291
+ scanString(val[key]);
165
292
  }
166
293
  }
167
- else if (typeof val === "object" && val !== null) {
168
- Object.values(val).forEach(scanString);
294
+ catch (e) {
295
+ // Ignore enumeration errors during scanning
169
296
  }
170
- };
171
- scanString(input);
172
- return Array.from(new Set(alerts));
297
+ }
298
+ };
299
+ scanString(input);
300
+ return Array.from(new Set(alerts));
301
+ }
302
+ /**
303
+ * Deeply investigations objects for hostile proxy traps.
304
+ * Returns true if the object appears to be a hostile proxy.
305
+ */
306
+ export function isHostileProxy(obj) {
307
+ if (typeof obj !== "object" || obj === null)
308
+ return false;
309
+ // Attempt to check common proxy characteristics
310
+ try {
311
+ const start = performance.now();
312
+ // Hostile proxies might have slow getters
313
+ const keys = safeGetKeys(obj, 1);
314
+ if (keys.length > 0) {
315
+ const val = obj[keys[0]];
316
+ }
317
+ const end = performance.now();
318
+ if (end - start > 10)
319
+ return true; // Suspiciously slow property access
320
+ }
321
+ catch {
322
+ return true; // Throws on access
173
323
  }
324
+ return false;
174
325
  }
175
326
  //# sourceMappingURL=MarieSanitizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarieSanitizer.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/ai/core/MarieSanitizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarieSanitizer.js","sourceRoot":"","sources":["../../../../../src/monolith/infrastructure/ai/core/MarieSanitizer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAEvC;;;;GAIG;AAEH,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC;AACrD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;AAC3D,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,2BAA2B,EAAE,CAAC;AAC7D,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,4BAA4B,EAAE,CAAC;AAChE,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAQ,EAAE,KAAa;IACjD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE9E,IAAI,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,6CAA6C;YAC7C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC;YACV,CAAC;YACD,IAAI,KAAK,IAAI,KAAK;gBAAE,MAAM;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qDAAqD;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAE,KAAa;IACpD,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,KAAa;IACnD,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,KAAa,EAAO,EAAE;QACjD,IAAI,SAAS,GAAG,kBAAkB,EAAE;YAAE,OAAO,6BAA6B,CAAC;QAC3E,IAAI,KAAK,GAAG,YAAY,EAAE;YAAE,OAAO,qBAAqB,CAAC;QACzD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAElD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;QACxB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,wCAAwC;YACxC,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,MAAM,EACtB,eAAe,EAAE,CAClB,CAAC;YACF,SAAS,IAAI,eAAe,CAAC;YAC7B,IAAI,eAAe,CAAC,MAAM,GAAG,eAAe,EAAE,EAAE,CAAC;gBAC/C,OAAO,CACL,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,iBAAiB,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,SAAS,IAAI,CAAC,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS,IAAI,CAAC,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,YAAY,CAAC;QAC7C,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAEzC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,sBAAsB,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,uBAAuB,CAAC;YACjC,CAAC;YAED,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,4BAA4B,CAAC;YACtC,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,gCAAgC;oBAChC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,GAAG;yBACZ,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;yBACpB,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,GAAG,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;wBAC3B,GAAW,CAAC,IAAI,CACf,QAAQ,GAAG,CAAC,MAAM,GAAG,UAAU,mBAAmB,CACnD,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,2BAA2B,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAQ,EAAE,CAAC;YAE7B,4FAA4F;YAC5F,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,EAAE,CAAC;gBACrC,YAAY,CAAC,qBAAqB,CAAC;oBACjC,gDAAgD,gBAAgB,EAAE,GAAG,CAAC;YAC1E,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEtD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IACE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oBACnB,GAAG,KAAK,kBAAkB;oBAC1B,GAAG,KAAK,UAAU;oBAClB,GAAG,KAAK,OAAO;oBACf,GAAG,KAAK,SAAS;oBAEjB,SAAS;gBACX,IAAI,CAAC;oBACH,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,OAAO,WAAW,KAAK,UAAU;wBAAE,SAAS;oBAEhD,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;oBACxB,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,IACE,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE;gBAChC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EACpC,CAAC;gBACD,YAAY,CAAC,YAAY,CAAC;oBACxB,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,uBAAuB,CAAC;YAC/D,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,yBAAyB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,KAAuB;IAC7D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,sBAAsB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,QAAQ,GAAG;QACf,kEAAkE,EAAE,WAAW;QAC/E,uEAAuE,EAAE,cAAc;QACvF,oCAAoC,EAAE,gBAAgB;QACtD,mDAAmD,EAAE,oBAAoB;KAC1E,CAAC;IAEF,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,iBAAiB,GAAG;QACxB,oCAAoC;QACpC,wCAAwC;QACxC,8BAA8B;QAC9B,qBAAqB;QACrB,wBAAwB;KACzB,CAAC;IAEF,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,wCAAwC;IACxC,IAAI,SAAS,CAAC,MAAM,GAAG,eAAe,EAAE,EAAE,CAAC;QACzC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAU;IACxD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,gDAAgD;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,sBAAsB,GAAG,cAAc,CAAC;QAC9C,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,mDAAmD,GAAG,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,aAAa,GAAG;YACpB,OAAO;YACP,SAAS;YACT,UAAU;YACV,SAAS;YACT,WAAW;SACZ,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,mCAAmC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,iBAAiB,GAAG;QACxB,oCAAoC;QACpC,wCAAwC;QACxC,qBAAqB;QACrB,wBAAwB;QACxB,8BAA8B;KAC/B,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE;QAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CACT,kEAAkE,CACnE,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,2DAA2D;gBAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,UAAU,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE1D,gDAAgD;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,0CAA0C;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,KAAK,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}