@nxuss/lemma 1.22.1 → 1.24.0

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 (176) hide show
  1. package/README.md +33 -7
  2. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  3. package/dist/cjs/cli/lemma-proxy.js +15 -3
  4. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  5. package/dist/cjs/cloud/store/FileBrainStore.d.ts.map +1 -1
  6. package/dist/cjs/cloud/store/FileBrainStore.js +5 -2
  7. package/dist/cjs/cloud/store/FileBrainStore.js.map +1 -1
  8. package/dist/cjs/infra/errorCause.d.ts +36 -0
  9. package/dist/cjs/infra/errorCause.d.ts.map +1 -0
  10. package/dist/cjs/infra/errorCause.js +143 -0
  11. package/dist/cjs/infra/errorCause.js.map +1 -0
  12. package/dist/cjs/infra/providers/JenkinsProvider.d.ts.map +1 -1
  13. package/dist/cjs/infra/providers/JenkinsProvider.js +5 -0
  14. package/dist/cjs/infra/providers/JenkinsProvider.js.map +1 -1
  15. package/dist/cjs/infra/providers/OKDProvider.d.ts.map +1 -1
  16. package/dist/cjs/infra/providers/OKDProvider.js +5 -1
  17. package/dist/cjs/infra/providers/OKDProvider.js.map +1 -1
  18. package/dist/cjs/infra/providers/TerraformProvider.d.ts.map +1 -1
  19. package/dist/cjs/infra/providers/TerraformProvider.js +3 -1
  20. package/dist/cjs/infra/providers/TerraformProvider.js.map +1 -1
  21. package/dist/cjs/mcp/index.js +21 -0
  22. package/dist/cjs/mcp/index.js.map +1 -1
  23. package/dist/cjs/mcp/tool-profiles.d.ts +6 -4
  24. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  25. package/dist/cjs/mcp/tool-profiles.js +3 -0
  26. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  27. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  28. package/dist/cjs/mcp/tools/context-tools.js +3 -1
  29. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  30. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  31. package/dist/cjs/mcp/tools/memory.js +255 -15
  32. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  33. package/dist/cjs/mcp/tools/misc.d.ts.map +1 -1
  34. package/dist/cjs/mcp/tools/misc.js +21 -9
  35. package/dist/cjs/mcp/tools/misc.js.map +1 -1
  36. package/dist/cjs/mcp/tools/squeeze-cache.d.ts +6 -0
  37. package/dist/cjs/mcp/tools/squeeze-cache.d.ts.map +1 -1
  38. package/dist/cjs/mcp/tools/squeeze-cache.js +57 -17
  39. package/dist/cjs/mcp/tools/squeeze-cache.js.map +1 -1
  40. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  41. package/dist/cjs/mcp/tools/workspace.js +7 -2
  42. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  43. package/dist/cjs/mcp/tools.d.ts +18 -0
  44. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  45. package/dist/cjs/mcp/tools.js +97 -16
  46. package/dist/cjs/mcp/tools.js.map +1 -1
  47. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  48. package/dist/cjs/mcp/utils.js +18 -4
  49. package/dist/cjs/mcp/utils.js.map +1 -1
  50. package/dist/cjs/mcp/workspaceShared.d.ts +1 -0
  51. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  52. package/dist/cjs/mcp/workspaceShared.js +27 -0
  53. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  54. package/dist/cjs/security/scrubForStorage.d.ts +16 -0
  55. package/dist/cjs/security/scrubForStorage.d.ts.map +1 -0
  56. package/dist/cjs/security/scrubForStorage.js +35 -0
  57. package/dist/cjs/security/scrubForStorage.js.map +1 -0
  58. package/dist/cjs/subconscious/BrainEncryption.d.ts +38 -0
  59. package/dist/cjs/subconscious/BrainEncryption.d.ts.map +1 -0
  60. package/dist/cjs/subconscious/BrainEncryption.js +137 -0
  61. package/dist/cjs/subconscious/BrainEncryption.js.map +1 -0
  62. package/dist/cjs/subconscious/TheBrainV2.d.ts +337 -0
  63. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  64. package/dist/cjs/subconscious/TheBrainV2.js +1149 -118
  65. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  66. package/dist/cjs/utils/AnomalyInventory.d.ts +29 -0
  67. package/dist/cjs/utils/AnomalyInventory.d.ts.map +1 -0
  68. package/dist/cjs/utils/AnomalyInventory.js +58 -0
  69. package/dist/cjs/utils/AnomalyInventory.js.map +1 -0
  70. package/dist/cjs/utils/ExecutiveReport.d.ts +10 -0
  71. package/dist/cjs/utils/ExecutiveReport.d.ts.map +1 -1
  72. package/dist/cjs/utils/ExecutiveReport.js +17 -1
  73. package/dist/cjs/utils/ExecutiveReport.js.map +1 -1
  74. package/dist/cjs/utils/SavingsLedger.d.ts +45 -2
  75. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
  76. package/dist/cjs/utils/SavingsLedger.js +89 -5
  77. package/dist/cjs/utils/SavingsLedger.js.map +1 -1
  78. package/dist/cjs/utils/SessionEvidence.d.ts +28 -0
  79. package/dist/cjs/utils/SessionEvidence.d.ts.map +1 -0
  80. package/dist/cjs/utils/SessionEvidence.js +55 -0
  81. package/dist/cjs/utils/SessionEvidence.js.map +1 -0
  82. package/dist/cjs/utils/StateHashCache.d.ts +10 -0
  83. package/dist/cjs/utils/StateHashCache.d.ts.map +1 -1
  84. package/dist/cjs/utils/StateHashCache.js +15 -0
  85. package/dist/cjs/utils/StateHashCache.js.map +1 -1
  86. package/dist/cjs/utils/reportSavings.d.ts +4 -0
  87. package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
  88. package/dist/cjs/utils/reportSavings.js.map +1 -1
  89. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  90. package/dist/esm/cli/lemma-proxy.js +15 -3
  91. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  92. package/dist/esm/cloud/store/FileBrainStore.d.ts.map +1 -1
  93. package/dist/esm/cloud/store/FileBrainStore.js +5 -2
  94. package/dist/esm/cloud/store/FileBrainStore.js.map +1 -1
  95. package/dist/esm/infra/errorCause.d.ts +36 -0
  96. package/dist/esm/infra/errorCause.d.ts.map +1 -0
  97. package/dist/esm/infra/errorCause.js +138 -0
  98. package/dist/esm/infra/errorCause.js.map +1 -0
  99. package/dist/esm/infra/providers/JenkinsProvider.d.ts.map +1 -1
  100. package/dist/esm/infra/providers/JenkinsProvider.js +5 -0
  101. package/dist/esm/infra/providers/JenkinsProvider.js.map +1 -1
  102. package/dist/esm/infra/providers/OKDProvider.d.ts.map +1 -1
  103. package/dist/esm/infra/providers/OKDProvider.js +5 -1
  104. package/dist/esm/infra/providers/OKDProvider.js.map +1 -1
  105. package/dist/esm/infra/providers/TerraformProvider.d.ts.map +1 -1
  106. package/dist/esm/infra/providers/TerraformProvider.js +3 -1
  107. package/dist/esm/infra/providers/TerraformProvider.js.map +1 -1
  108. package/dist/esm/mcp/index.js +21 -0
  109. package/dist/esm/mcp/index.js.map +1 -1
  110. package/dist/esm/mcp/tool-profiles.d.ts +6 -4
  111. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  112. package/dist/esm/mcp/tool-profiles.js +3 -0
  113. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  114. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  115. package/dist/esm/mcp/tools/context-tools.js +3 -1
  116. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  117. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  118. package/dist/esm/mcp/tools/memory.js +255 -15
  119. package/dist/esm/mcp/tools/memory.js.map +1 -1
  120. package/dist/esm/mcp/tools/misc.d.ts.map +1 -1
  121. package/dist/esm/mcp/tools/misc.js +21 -9
  122. package/dist/esm/mcp/tools/misc.js.map +1 -1
  123. package/dist/esm/mcp/tools/squeeze-cache.d.ts +6 -0
  124. package/dist/esm/mcp/tools/squeeze-cache.d.ts.map +1 -1
  125. package/dist/esm/mcp/tools/squeeze-cache.js +56 -17
  126. package/dist/esm/mcp/tools/squeeze-cache.js.map +1 -1
  127. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  128. package/dist/esm/mcp/tools/workspace.js +8 -3
  129. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  130. package/dist/esm/mcp/tools.d.ts +18 -0
  131. package/dist/esm/mcp/tools.d.ts.map +1 -1
  132. package/dist/esm/mcp/tools.js +96 -17
  133. package/dist/esm/mcp/tools.js.map +1 -1
  134. package/dist/esm/mcp/utils.d.ts.map +1 -1
  135. package/dist/esm/mcp/utils.js +18 -4
  136. package/dist/esm/mcp/utils.js.map +1 -1
  137. package/dist/esm/mcp/workspaceShared.d.ts +1 -0
  138. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  139. package/dist/esm/mcp/workspaceShared.js +26 -0
  140. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  141. package/dist/esm/security/scrubForStorage.d.ts +16 -0
  142. package/dist/esm/security/scrubForStorage.d.ts.map +1 -0
  143. package/dist/esm/security/scrubForStorage.js +32 -0
  144. package/dist/esm/security/scrubForStorage.js.map +1 -0
  145. package/dist/esm/subconscious/BrainEncryption.d.ts +38 -0
  146. package/dist/esm/subconscious/BrainEncryption.d.ts.map +1 -0
  147. package/dist/esm/subconscious/BrainEncryption.js +126 -0
  148. package/dist/esm/subconscious/BrainEncryption.js.map +1 -0
  149. package/dist/esm/subconscious/TheBrainV2.d.ts +337 -0
  150. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  151. package/dist/esm/subconscious/TheBrainV2.js +1147 -118
  152. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  153. package/dist/esm/utils/AnomalyInventory.d.ts +29 -0
  154. package/dist/esm/utils/AnomalyInventory.d.ts.map +1 -0
  155. package/dist/esm/utils/AnomalyInventory.js +49 -0
  156. package/dist/esm/utils/AnomalyInventory.js.map +1 -0
  157. package/dist/esm/utils/ExecutiveReport.d.ts +10 -0
  158. package/dist/esm/utils/ExecutiveReport.d.ts.map +1 -1
  159. package/dist/esm/utils/ExecutiveReport.js +17 -1
  160. package/dist/esm/utils/ExecutiveReport.js.map +1 -1
  161. package/dist/esm/utils/SavingsLedger.d.ts +45 -2
  162. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
  163. package/dist/esm/utils/SavingsLedger.js +89 -5
  164. package/dist/esm/utils/SavingsLedger.js.map +1 -1
  165. package/dist/esm/utils/SessionEvidence.d.ts +28 -0
  166. package/dist/esm/utils/SessionEvidence.d.ts.map +1 -0
  167. package/dist/esm/utils/SessionEvidence.js +49 -0
  168. package/dist/esm/utils/SessionEvidence.js.map +1 -0
  169. package/dist/esm/utils/StateHashCache.d.ts +10 -0
  170. package/dist/esm/utils/StateHashCache.d.ts.map +1 -1
  171. package/dist/esm/utils/StateHashCache.js +14 -0
  172. package/dist/esm/utils/StateHashCache.js.map +1 -1
  173. package/dist/esm/utils/reportSavings.d.ts +4 -0
  174. package/dist/esm/utils/reportSavings.d.ts.map +1 -1
  175. package/dist/esm/utils/reportSavings.js.map +1 -1
  176. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export declare function listDirRecursive(currentDir: string, relativePath: strin
16
16
  */
17
17
  export declare function formatBlastRadiusNote(result: BlastRadiusResult): string;
18
18
  export declare function formatRecallNote(filePath: string, symbolName?: string): string;
19
+ export declare function formatStateHashNote(workspaceRoot: string, filePath: string): string;
19
20
  //# sourceMappingURL=workspaceShared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceShared.d.ts","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAOvE;AAmBD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB9E"}
1
+ {"version":3,"file":"workspaceShared.d.ts","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAOvE;AAmBD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB9E;AAWD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAenF"}
@@ -7,6 +7,7 @@
7
7
  import fs from "fs";
8
8
  import path from "path";
9
9
  import { getBrain } from "../subconscious/TheBrainV2.js";
10
+ import { entriesForFile } from "../utils/StateHashCache.js";
10
11
  export function listDirRecursive(currentDir, relativePath, depth, maxDepth) {
11
12
  if (depth > maxDepth)
12
13
  return [];
@@ -90,4 +91,29 @@ export function formatRecallNote(filePath, symbolName) {
90
91
  return "";
91
92
  }
92
93
  }
94
+ /**
95
+ * AN-19: state_hash_cache's "call action='lookup' before reasoning" instruction was pure
96
+ * prose — nothing fired at the moment it mattered, and the audit found 0 uses despite the
97
+ * doc calling it "step 0". Same event-gated pattern as formatRecallNote, applied to the
98
+ * exact-hash cache: reading a file that has stored entries surfaces the queries they answer,
99
+ * so the caller has a concrete reason to try a lookup instead of reasoning from scratch.
100
+ */
101
+ const _stateHashNoted = new Set();
102
+ export function formatStateHashNote(workspaceRoot, filePath) {
103
+ try {
104
+ const entries = entriesForFile(workspaceRoot, filePath);
105
+ if (entries.length === 0)
106
+ return "";
107
+ const ids = entries.map((e) => e.id).sort();
108
+ const key = `${path.resolve(workspaceRoot, filePath)}::${ids.join(",")}`;
109
+ if (_stateHashNoted.has(key))
110
+ return "";
111
+ _stateHashNoted.add(key);
112
+ const sample = entries.slice(0, 3).map((e) => `"${e.query.slice(0, 80)}"`).join(", ");
113
+ return `\n\n⚡ state_hash_cache has ${entries.length} exact-match answer(s) tracking this file: ${sample}${entries.length > 3 ? ", ..." : ""}. Call state_hash_cache with action='lookup' before reasoning — a hit here is hash-verified, not a guess.`;
114
+ }
115
+ catch {
116
+ return "";
117
+ }
118
+ }
93
119
  //# sourceMappingURL=workspaceShared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceShared.js","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAA0B,MAAM,4BAA4B,CAAC;AAE9E,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,EAClB,YAAoB,EACpB,KAAa,EACb,QAAgB;IAEhB,IAAI,KAAK,GAAG,QAAQ;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7F,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,mDAAmD,GAAG,iDAAiD,CAAC;IAC9L,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,GAAG,IAAI,QAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,mEAAmE,SAAS,4CAA4C,CAAC;AACzK,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvC,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,UAAmB;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAExC,sFAAsF;QACtF,+EAA+E;QAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/D,MAAM,IAAI,GAAG,gCAAgC,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,UAAU,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC;QACpN,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,IAAI,QAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,kEAAkE,SAAS,4CAA4C,CAAC;IACxK,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;QAC5D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"workspaceShared.js","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * One-way secret redaction for Brain persistence (scrub-on-store).
3
+ *
4
+ * The PrivacyFirewall's SemanticScrubber was built for outbound traffic (mask, send,
5
+ * unmask on the way back). Storage has no way back: a secret written into entries.ndjson
6
+ * sits in plaintext under ~/.lemma-cache forever, so the tokenMap is deliberately
7
+ * discarded here — masking for storage is redaction, not reversible masking.
8
+ *
9
+ * Re-scrubbing already-scrubbed text is a no-op: mask() leaves `[NAME_n]` spans alone,
10
+ * so bundles imported from another scrubbed Brain don't accumulate nested tokens.
11
+ */
12
+ export declare function scrubSecretsForStorage(text: string): {
13
+ text: string;
14
+ redactions: number;
15
+ };
16
+ //# sourceMappingURL=scrubForStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubForStorage.d.ts","sourceRoot":"","sources":["../../../src/security/scrubForStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAUzF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * One-way secret redaction for Brain persistence (scrub-on-store).
3
+ *
4
+ * The PrivacyFirewall's SemanticScrubber was built for outbound traffic (mask, send,
5
+ * unmask on the way back). Storage has no way back: a secret written into entries.ndjson
6
+ * sits in plaintext under ~/.lemma-cache forever, so the tokenMap is deliberately
7
+ * discarded here — masking for storage is redaction, not reversible masking.
8
+ *
9
+ * Re-scrubbing already-scrubbed text is a no-op: mask() leaves `[NAME_n]` spans alone,
10
+ * so bundles imported from another scrubbed Brain don't accumulate nested tokens.
11
+ */
12
+ import { SemanticScrubber } from './SemanticScrubber.js';
13
+ let scrubber = null;
14
+ function getScrubber() {
15
+ if (!scrubber)
16
+ scrubber = new SemanticScrubber();
17
+ return scrubber;
18
+ }
19
+ export function scrubSecretsForStorage(text) {
20
+ if (!text)
21
+ return { text, redactions: 0 };
22
+ try {
23
+ const { maskedPrompt, tokenMap } = getScrubber().mask(text);
24
+ return { text: maskedPrompt, redactions: Object.keys(tokenMap).length };
25
+ }
26
+ catch {
27
+ // Redaction is hardening, not a gate: a throwing scrubber must never block a memory
28
+ // write. mask() is pure regex over static patterns, so this is purely defensive.
29
+ return { text, redactions: 0 };
30
+ }
31
+ }
32
+ //# sourceMappingURL=scrubForStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubForStorage.js","sourceRoot":"","sources":["../../../src/security/scrubForStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAE7C,SAAS,WAAW;IAClB,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,iFAAiF;QACjF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * At-rest encryption for the Brain corpus (AES-256-GCM).
3
+ *
4
+ * Threat model, honestly stated: the key lives next to the data (`.brain.key`, mode
5
+ * 0600), so this does NOT protect against an attacker with your uid — it protects the
6
+ * corpus at rest against everything else: backups, dotfile sync, disk disposal, a
7
+ * teammate peeking at a shared machine, a stolen laptop with full-disk encryption off.
8
+ * Combined with scrub-on-store (no live secrets ever reach the corpus), the NDJSON on
9
+ * disk holds redacted, encrypted text.
10
+ *
11
+ * Key resolution, in order: LEMMA_BRAIN_KEY env (64-char hex or base64 of 32 bytes, so
12
+ * teams can share one key out-of-band) → `<brainDir>/.brain.key` → generate-and-store
13
+ * (0600) when LEMMA_BRAIN_ENCRYPT=1. No env and no key file means disabled: plaintext,
14
+ * exactly as before, byte for byte.
15
+ *
16
+ * Failure contract: key CONFIGURATION errors (malformed env key, corrupt key file)
17
+ * throw loud — silently storing plaintext while the operator believes otherwise is the
18
+ * one unacceptable outcome. DECRYPTION failures (wrong key, tampered bytes) return null
19
+ * and flow into the corpus integrity fallback (backup → quarantine → fresh start),
20
+ * never an exception, never half a corpus.
21
+ */
22
+ export declare const BRAIN_ENC_MAGIC = "LEMMA-ENC-V1:";
23
+ export declare function brainKeyFile(brainDir: string): string;
24
+ /**
25
+ * Resolve the data key, or null when encryption is off. Throws on malformed key
26
+ * configuration (see module contract). Callers cache the result per process (see
27
+ * TheBrainV2): rotating the key requires a restart, which is the safe direction —
28
+ * a mid-process key change must never split one corpus across two keys.
29
+ */
30
+ export declare function resolveBrainKey(brainDir: string): Buffer | null;
31
+ export declare function encryptionActive(brainDir: string): {
32
+ enabled: boolean;
33
+ keySource: 'env' | 'file' | null;
34
+ };
35
+ export declare function encryptEnvelope(key: Buffer, plain: string): string;
36
+ /** Null on wrong key, tampered bytes, or malformed envelope — never throws. */
37
+ export declare function decryptEnvelope(key: Buffer, stored: string): string | null;
38
+ //# sourceMappingURL=BrainEncryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainEncryption.d.ts","sourceRoot":"","sources":["../../../src/subconscious/BrainEncryption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAG/C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAoBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB/D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,CAOzG;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYlE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1E"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * At-rest encryption for the Brain corpus (AES-256-GCM).
3
+ *
4
+ * Threat model, honestly stated: the key lives next to the data (`.brain.key`, mode
5
+ * 0600), so this does NOT protect against an attacker with your uid — it protects the
6
+ * corpus at rest against everything else: backups, dotfile sync, disk disposal, a
7
+ * teammate peeking at a shared machine, a stolen laptop with full-disk encryption off.
8
+ * Combined with scrub-on-store (no live secrets ever reach the corpus), the NDJSON on
9
+ * disk holds redacted, encrypted text.
10
+ *
11
+ * Key resolution, in order: LEMMA_BRAIN_KEY env (64-char hex or base64 of 32 bytes, so
12
+ * teams can share one key out-of-band) → `<brainDir>/.brain.key` → generate-and-store
13
+ * (0600) when LEMMA_BRAIN_ENCRYPT=1. No env and no key file means disabled: plaintext,
14
+ * exactly as before, byte for byte.
15
+ *
16
+ * Failure contract: key CONFIGURATION errors (malformed env key, corrupt key file)
17
+ * throw loud — silently storing plaintext while the operator believes otherwise is the
18
+ * one unacceptable outcome. DECRYPTION failures (wrong key, tampered bytes) return null
19
+ * and flow into the corpus integrity fallback (backup → quarantine → fresh start),
20
+ * never an exception, never half a corpus.
21
+ */
22
+ import crypto from 'crypto';
23
+ import fs from 'fs';
24
+ import path from 'path';
25
+ export const BRAIN_ENC_MAGIC = 'LEMMA-ENC-V1:';
26
+ const KEY_BYTES = 32;
27
+ export function brainKeyFile(brainDir) {
28
+ return path.join(brainDir, '.brain.key');
29
+ }
30
+ function parseEnvKey(raw) {
31
+ const trimmed = raw.trim();
32
+ let key = null;
33
+ if (/^[0-9a-fA-F]{64}$/.test(trimmed))
34
+ key = Buffer.from(trimmed, 'hex');
35
+ else {
36
+ try {
37
+ const decoded = Buffer.from(trimmed, 'base64');
38
+ if (decoded.length === KEY_BYTES)
39
+ key = decoded;
40
+ }
41
+ catch { /* fall through to the loud error below */ }
42
+ }
43
+ if (!key) {
44
+ throw new Error('LEMMA_BRAIN_KEY must be 64 hex chars or base64 of 32 bytes. Unset it to use the local key file, or fix its format — refusing to guess.');
45
+ }
46
+ return key;
47
+ }
48
+ /**
49
+ * Resolve the data key, or null when encryption is off. Throws on malformed key
50
+ * configuration (see module contract). Callers cache the result per process (see
51
+ * TheBrainV2): rotating the key requires a restart, which is the safe direction —
52
+ * a mid-process key change must never split one corpus across two keys.
53
+ */
54
+ export function resolveBrainKey(brainDir) {
55
+ if (process.env.LEMMA_BRAIN_KEY)
56
+ return parseEnvKey(process.env.LEMMA_BRAIN_KEY);
57
+ try {
58
+ const raw = fs.readFileSync(brainKeyFile(brainDir), 'utf8').trim();
59
+ if (!/^[0-9a-fA-F]{64}$/.test(raw)) {
60
+ throw new Error(`Brain key file ${brainKeyFile(brainDir)} is corrupt (not 64 hex chars). ` +
61
+ `Back it up, delete it, and re-run with LEMMA_BRAIN_ENCRYPT=1 to generate a fresh key — ` +
62
+ `refusing to store anything under a key I cannot read back.`);
63
+ }
64
+ return Buffer.from(raw, 'hex');
65
+ }
66
+ catch (err) {
67
+ if (err && err.code !== 'ENOENT')
68
+ throw err;
69
+ }
70
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1') {
71
+ const key = crypto.randomBytes(KEY_BYTES);
72
+ fs.mkdirSync(brainDir, { recursive: true });
73
+ fs.writeFileSync(brainKeyFile(brainDir), key.toString('hex'), { mode: 0o600 });
74
+ try {
75
+ fs.chmodSync(brainKeyFile(brainDir), 0o600);
76
+ }
77
+ catch { /* mode option above already applied on most platforms */ }
78
+ return key;
79
+ }
80
+ return null;
81
+ }
82
+ export function encryptionActive(brainDir) {
83
+ if (process.env.LEMMA_BRAIN_KEY)
84
+ return { enabled: true, keySource: 'env' };
85
+ try {
86
+ if (fs.statSync(brainKeyFile(brainDir)).isFile())
87
+ return { enabled: true, keySource: 'file' };
88
+ }
89
+ catch { /* no key file */ }
90
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1')
91
+ return { enabled: true, keySource: 'file' };
92
+ return { enabled: false, keySource: null };
93
+ }
94
+ export function encryptEnvelope(key, plain) {
95
+ const iv = crypto.randomBytes(12);
96
+ const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
97
+ const data = Buffer.concat([cipher.update(plain, 'utf8'), cipher.final()]);
98
+ const tag = cipher.getAuthTag();
99
+ const envelope = JSON.stringify({
100
+ v: 1,
101
+ iv: iv.toString('base64'),
102
+ tag: tag.toString('base64'),
103
+ data: data.toString('base64'),
104
+ });
105
+ return BRAIN_ENC_MAGIC + Buffer.from(envelope, 'utf8').toString('base64');
106
+ }
107
+ /** Null on wrong key, tampered bytes, or malformed envelope — never throws. */
108
+ export function decryptEnvelope(key, stored) {
109
+ try {
110
+ if (!stored.startsWith(BRAIN_ENC_MAGIC))
111
+ return null;
112
+ const envelope = JSON.parse(Buffer.from(stored.slice(BRAIN_ENC_MAGIC.length), 'base64').toString('utf8'));
113
+ if (!envelope || envelope.v !== 1)
114
+ return null;
115
+ const decipher = crypto.createDecipheriv('aes-256-gcm', key, Buffer.from(envelope.iv, 'base64'));
116
+ decipher.setAuthTag(Buffer.from(envelope.tag, 'base64'));
117
+ return Buffer.concat([
118
+ decipher.update(Buffer.from(envelope.data, 'base64')),
119
+ decipher.final(),
120
+ ]).toString('utf8');
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ //# sourceMappingURL=BrainEncryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainEncryption.js","sourceRoot":"","sources":["../../../src/subconscious/BrainEncryption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAC/C,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACpE,CAAC;QACJ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,GAAG,GAAG,OAAO,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,CAAC,QAAQ,CAAC,kCAAkC;gBAC1E,yFAAyF;gBACzF,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC5E,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACzF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAa;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,CAAC,EAAE,CAAC;QACJ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,MAAc;IACzD,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrD,QAAQ,CAAC,KAAK,EAAE;SACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}