ghagga-core 2.8.0 → 2.9.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 (316) hide show
  1. package/dist/acp/adapter.d.ts +91 -0
  2. package/dist/acp/adapter.d.ts.map +1 -0
  3. package/dist/acp/adapter.js +315 -0
  4. package/dist/acp/adapter.js.map +1 -0
  5. package/dist/acp/index.d.ts +4 -0
  6. package/dist/acp/index.d.ts.map +1 -0
  7. package/dist/acp/index.js +2 -0
  8. package/dist/acp/index.js.map +1 -0
  9. package/dist/acp/types.d.ts +142 -0
  10. package/dist/acp/types.d.ts.map +1 -0
  11. package/dist/acp/types.js +13 -0
  12. package/dist/acp/types.js.map +1 -0
  13. package/dist/adversarial-qa.d.ts +60 -0
  14. package/dist/adversarial-qa.d.ts.map +1 -0
  15. package/dist/adversarial-qa.js +85 -0
  16. package/dist/adversarial-qa.js.map +1 -0
  17. package/dist/agents/audit.d.ts +18 -0
  18. package/dist/agents/audit.d.ts.map +1 -0
  19. package/dist/agents/audit.js +78 -0
  20. package/dist/agents/audit.js.map +1 -0
  21. package/dist/agents/consensus.d.ts +1 -1
  22. package/dist/agents/consensus.d.ts.map +1 -1
  23. package/dist/agents/consensus.js +10 -8
  24. package/dist/agents/consensus.js.map +1 -1
  25. package/dist/agents/diagnostic.d.ts.map +1 -1
  26. package/dist/agents/diagnostic.js +22 -20
  27. package/dist/agents/diagnostic.js.map +1 -1
  28. package/dist/agents/fan-out-lenses.d.ts +41 -0
  29. package/dist/agents/fan-out-lenses.d.ts.map +1 -1
  30. package/dist/agents/fan-out-lenses.js +117 -3
  31. package/dist/agents/fan-out-lenses.js.map +1 -1
  32. package/dist/agents/prompts.d.ts +12 -0
  33. package/dist/agents/prompts.d.ts.map +1 -1
  34. package/dist/agents/prompts.js +31 -0
  35. package/dist/agents/prompts.js.map +1 -1
  36. package/dist/agents/simple.d.ts +1 -1
  37. package/dist/agents/simple.d.ts.map +1 -1
  38. package/dist/agents/simple.js +10 -6
  39. package/dist/agents/simple.js.map +1 -1
  40. package/dist/agents/workflow.d.ts +1 -1
  41. package/dist/agents/workflow.d.ts.map +1 -1
  42. package/dist/agents/workflow.js +9 -8
  43. package/dist/agents/workflow.js.map +1 -1
  44. package/dist/aisvs.d.ts +44 -0
  45. package/dist/aisvs.d.ts.map +1 -0
  46. package/dist/aisvs.js +189 -0
  47. package/dist/aisvs.js.map +1 -0
  48. package/dist/checklist/context.d.ts.map +1 -1
  49. package/dist/checklist/context.js +2 -8
  50. package/dist/checklist/context.js.map +1 -1
  51. package/dist/checklist/defaults.d.ts.map +1 -1
  52. package/dist/checklist/defaults.js.map +1 -1
  53. package/dist/checklist/scorer.d.ts.map +1 -1
  54. package/dist/checklist/scorer.js +105 -12
  55. package/dist/checklist/scorer.js.map +1 -1
  56. package/dist/code-intel/client.d.ts +30 -0
  57. package/dist/code-intel/client.d.ts.map +1 -0
  58. package/dist/code-intel/client.js +91 -0
  59. package/dist/code-intel/client.js.map +1 -0
  60. package/dist/code-intel/context.d.ts +21 -0
  61. package/dist/code-intel/context.d.ts.map +1 -0
  62. package/dist/code-intel/context.js +72 -0
  63. package/dist/code-intel/context.js.map +1 -0
  64. package/dist/code-intel/index.d.ts +10 -0
  65. package/dist/code-intel/index.d.ts.map +1 -0
  66. package/dist/code-intel/index.js +11 -0
  67. package/dist/code-intel/index.js.map +1 -0
  68. package/dist/code-intel/types.d.ts +63 -0
  69. package/dist/code-intel/types.d.ts.map +1 -0
  70. package/dist/code-intel/types.js +9 -0
  71. package/dist/code-intel/types.js.map +1 -0
  72. package/dist/compress/index.d.ts +55 -0
  73. package/dist/compress/index.d.ts.map +1 -0
  74. package/dist/compress/index.js +166 -0
  75. package/dist/compress/index.js.map +1 -0
  76. package/dist/cost-footer.d.ts +38 -0
  77. package/dist/cost-footer.d.ts.map +1 -0
  78. package/dist/cost-footer.js +95 -0
  79. package/dist/cost-footer.js.map +1 -0
  80. package/dist/critique/critique.d.ts +40 -0
  81. package/dist/critique/critique.d.ts.map +1 -0
  82. package/dist/critique/critique.js +194 -0
  83. package/dist/critique/critique.js.map +1 -0
  84. package/dist/critique/cross-model.d.ts +123 -0
  85. package/dist/critique/cross-model.d.ts.map +1 -0
  86. package/dist/critique/cross-model.js +267 -0
  87. package/dist/critique/cross-model.js.map +1 -0
  88. package/dist/critique/index.d.ts +8 -0
  89. package/dist/critique/index.d.ts.map +1 -0
  90. package/dist/critique/index.js +6 -0
  91. package/dist/critique/index.js.map +1 -0
  92. package/dist/critique/prompts.d.ts +11 -0
  93. package/dist/critique/prompts.d.ts.map +1 -0
  94. package/dist/critique/prompts.js +66 -0
  95. package/dist/critique/prompts.js.map +1 -0
  96. package/dist/critique/types.d.ts +84 -0
  97. package/dist/critique/types.d.ts.map +1 -0
  98. package/dist/critique/types.js +13 -0
  99. package/dist/critique/types.js.map +1 -0
  100. package/dist/doc-validation/index.d.ts +9 -0
  101. package/dist/doc-validation/index.d.ts.map +1 -0
  102. package/dist/doc-validation/index.js +9 -0
  103. package/dist/doc-validation/index.js.map +1 -0
  104. package/dist/doc-validation/scanner.d.ts +40 -0
  105. package/dist/doc-validation/scanner.d.ts.map +1 -0
  106. package/dist/doc-validation/scanner.js +163 -0
  107. package/dist/doc-validation/scanner.js.map +1 -0
  108. package/dist/doc-validation/types.d.ts +27 -0
  109. package/dist/doc-validation/types.d.ts.map +1 -0
  110. package/dist/doc-validation/types.js +8 -0
  111. package/dist/doc-validation/types.js.map +1 -0
  112. package/dist/embed.d.ts +27 -0
  113. package/dist/embed.d.ts.map +1 -0
  114. package/dist/embed.js +47 -0
  115. package/dist/embed.js.map +1 -0
  116. package/dist/enhance/enhance.d.ts.map +1 -1
  117. package/dist/enhance/enhance.js +7 -25
  118. package/dist/enhance/enhance.js.map +1 -1
  119. package/dist/enhance/types.d.ts +5 -0
  120. package/dist/enhance/types.d.ts.map +1 -1
  121. package/dist/exploitability/analyzer.d.ts +42 -0
  122. package/dist/exploitability/analyzer.d.ts.map +1 -1
  123. package/dist/exploitability/analyzer.js +225 -0
  124. package/dist/exploitability/analyzer.js.map +1 -1
  125. package/dist/exploitability/index.d.ts +3 -2
  126. package/dist/exploitability/index.d.ts.map +1 -1
  127. package/dist/exploitability/index.js +1 -2
  128. package/dist/exploitability/index.js.map +1 -1
  129. package/dist/exploitability/types.d.ts +27 -0
  130. package/dist/exploitability/types.d.ts.map +1 -1
  131. package/dist/fetch-fix.d.ts +60 -0
  132. package/dist/fetch-fix.d.ts.map +1 -0
  133. package/dist/fetch-fix.js +137 -0
  134. package/dist/fetch-fix.js.map +1 -0
  135. package/dist/flood/index.d.ts +34 -0
  136. package/dist/flood/index.d.ts.map +1 -0
  137. package/dist/flood/index.js +67 -0
  138. package/dist/flood/index.js.map +1 -0
  139. package/dist/format.d.ts.map +1 -1
  140. package/dist/format.js +6 -1
  141. package/dist/format.js.map +1 -1
  142. package/dist/graph/blast-radius.js +2 -2
  143. package/dist/graph/blast-radius.js.map +1 -1
  144. package/dist/graph/call-chain.d.ts +36 -0
  145. package/dist/graph/call-chain.d.ts.map +1 -0
  146. package/dist/graph/call-chain.js +291 -0
  147. package/dist/graph/call-chain.js.map +1 -0
  148. package/dist/graph/index.d.ts +4 -0
  149. package/dist/graph/index.d.ts.map +1 -1
  150. package/dist/graph/index.js +2 -0
  151. package/dist/graph/index.js.map +1 -1
  152. package/dist/graph/reverse-deps.d.ts +37 -0
  153. package/dist/graph/reverse-deps.d.ts.map +1 -0
  154. package/dist/graph/reverse-deps.js +136 -0
  155. package/dist/graph/reverse-deps.js.map +1 -0
  156. package/dist/index.d.ts +50 -11
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +34 -7
  159. package/dist/index.js.map +1 -1
  160. package/dist/injection-corpus.d.ts +41 -0
  161. package/dist/injection-corpus.d.ts.map +1 -0
  162. package/dist/injection-corpus.js +181 -0
  163. package/dist/injection-corpus.js.map +1 -0
  164. package/dist/latent-comms.d.ts +31 -0
  165. package/dist/latent-comms.d.ts.map +1 -0
  166. package/dist/latent-comms.js +139 -0
  167. package/dist/latent-comms.js.map +1 -0
  168. package/dist/memory/pageindex/chunker.d.ts +33 -0
  169. package/dist/memory/pageindex/chunker.d.ts.map +1 -0
  170. package/dist/memory/pageindex/chunker.js +112 -0
  171. package/dist/memory/pageindex/chunker.js.map +1 -0
  172. package/dist/memory/pageindex/example.d.ts +22 -0
  173. package/dist/memory/pageindex/example.d.ts.map +1 -0
  174. package/dist/memory/pageindex/example.js +94 -0
  175. package/dist/memory/pageindex/example.js.map +1 -0
  176. package/dist/memory/pageindex/index.d.ts +15 -0
  177. package/dist/memory/pageindex/index.d.ts.map +1 -0
  178. package/dist/memory/pageindex/index.js +17 -0
  179. package/dist/memory/pageindex/index.js.map +1 -0
  180. package/dist/memory/pageindex/service.d.ts +53 -0
  181. package/dist/memory/pageindex/service.d.ts.map +1 -0
  182. package/dist/memory/pageindex/service.js +229 -0
  183. package/dist/memory/pageindex/service.js.map +1 -0
  184. package/dist/memory/pageindex/types.d.ts +67 -0
  185. package/dist/memory/pageindex/types.d.ts.map +1 -0
  186. package/dist/memory/pageindex/types.js +14 -0
  187. package/dist/memory/pageindex/types.js.map +1 -0
  188. package/dist/memory/persist.d.ts.map +1 -1
  189. package/dist/memory/persist.js +6 -2
  190. package/dist/memory/persist.js.map +1 -1
  191. package/dist/memory/sqlite.d.ts +69 -2
  192. package/dist/memory/sqlite.d.ts.map +1 -1
  193. package/dist/memory/sqlite.js +312 -5
  194. package/dist/memory/sqlite.js.map +1 -1
  195. package/dist/memory/taxonomy.d.ts +34 -0
  196. package/dist/memory/taxonomy.d.ts.map +1 -0
  197. package/dist/memory/taxonomy.js +189 -0
  198. package/dist/memory/taxonomy.js.map +1 -0
  199. package/dist/memory/versioning.d.ts.map +1 -1
  200. package/dist/memory/versioning.js.map +1 -1
  201. package/dist/negative.d.ts +23 -0
  202. package/dist/negative.d.ts.map +1 -0
  203. package/dist/negative.js +40 -0
  204. package/dist/negative.js.map +1 -0
  205. package/dist/pipeline.d.ts.map +1 -1
  206. package/dist/pipeline.js +455 -46
  207. package/dist/pipeline.js.map +1 -1
  208. package/dist/prompt-intel.d.ts +39 -0
  209. package/dist/prompt-intel.d.ts.map +1 -0
  210. package/dist/prompt-intel.js +148 -0
  211. package/dist/prompt-intel.js.map +1 -0
  212. package/dist/providers/cli-bridge.d.ts +4 -0
  213. package/dist/providers/cli-bridge.d.ts.map +1 -1
  214. package/dist/providers/cli-bridge.js +4 -0
  215. package/dist/providers/cli-bridge.js.map +1 -1
  216. package/dist/providers/generate-fn.d.ts +3 -15
  217. package/dist/providers/generate-fn.d.ts.map +1 -1
  218. package/dist/providers/generate-fn.js +3 -30
  219. package/dist/providers/generate-fn.js.map +1 -1
  220. package/dist/providers/index.d.ts.map +1 -1
  221. package/dist/providers/index.js.map +1 -1
  222. package/dist/providers/ollama.d.ts +15 -0
  223. package/dist/providers/ollama.d.ts.map +1 -0
  224. package/dist/providers/ollama.js +30 -0
  225. package/dist/providers/ollama.js.map +1 -0
  226. package/dist/ranking/index.d.ts +9 -0
  227. package/dist/ranking/index.d.ts.map +1 -0
  228. package/dist/ranking/index.js +82 -0
  229. package/dist/ranking/index.js.map +1 -0
  230. package/dist/recursive/circuit-breaker.d.ts +36 -0
  231. package/dist/recursive/circuit-breaker.d.ts.map +1 -0
  232. package/dist/recursive/circuit-breaker.js +62 -0
  233. package/dist/recursive/circuit-breaker.js.map +1 -0
  234. package/dist/recursive/index.d.ts +4 -0
  235. package/dist/recursive/index.d.ts.map +1 -1
  236. package/dist/recursive/index.js +18 -1
  237. package/dist/recursive/index.js.map +1 -1
  238. package/dist/recursive/types.d.ts +2 -0
  239. package/dist/recursive/types.d.ts.map +1 -1
  240. package/dist/recursive/types.js +1 -0
  241. package/dist/recursive/types.js.map +1 -1
  242. package/dist/scope/diff-mapper.js.map +1 -1
  243. package/dist/scope/entity-diff.d.ts +58 -0
  244. package/dist/scope/entity-diff.d.ts.map +1 -0
  245. package/dist/scope/entity-diff.js +224 -0
  246. package/dist/scope/entity-diff.js.map +1 -0
  247. package/dist/scope/extractor.d.ts.map +1 -1
  248. package/dist/scope/extractor.js.map +1 -1
  249. package/dist/scope/index.d.ts +3 -1
  250. package/dist/scope/index.d.ts.map +1 -1
  251. package/dist/scope/index.js +3 -0
  252. package/dist/scope/index.js.map +1 -1
  253. package/dist/scope/parser.d.ts +1 -1
  254. package/dist/scope/parser.d.ts.map +1 -1
  255. package/dist/scope/parser.js.map +1 -1
  256. package/dist/scope/types.d.ts +32 -0
  257. package/dist/scope/types.d.ts.map +1 -1
  258. package/dist/scope/types.js +7 -1
  259. package/dist/scope/types.js.map +1 -1
  260. package/dist/search/index.d.ts +11 -0
  261. package/dist/search/index.d.ts.map +1 -0
  262. package/dist/search/index.js +10 -0
  263. package/dist/search/index.js.map +1 -0
  264. package/dist/search/indexer.d.ts +67 -0
  265. package/dist/search/indexer.d.ts.map +1 -0
  266. package/dist/search/indexer.js +196 -0
  267. package/dist/search/indexer.js.map +1 -0
  268. package/dist/search/searcher.d.ts +34 -0
  269. package/dist/search/searcher.d.ts.map +1 -0
  270. package/dist/search/searcher.js +101 -0
  271. package/dist/search/searcher.js.map +1 -0
  272. package/dist/search/types.d.ts +81 -0
  273. package/dist/search/types.d.ts.map +1 -0
  274. package/dist/search/types.js +8 -0
  275. package/dist/search/types.js.map +1 -0
  276. package/dist/self-improve/index.d.ts +53 -0
  277. package/dist/self-improve/index.d.ts.map +1 -0
  278. package/dist/self-improve/index.js +136 -0
  279. package/dist/self-improve/index.js.map +1 -0
  280. package/dist/semantic-diff/index.d.ts +31 -0
  281. package/dist/semantic-diff/index.d.ts.map +1 -0
  282. package/dist/semantic-diff/index.js +215 -0
  283. package/dist/semantic-diff/index.js.map +1 -0
  284. package/dist/testing/index.d.ts +67 -0
  285. package/dist/testing/index.d.ts.map +1 -0
  286. package/dist/testing/index.js +76 -0
  287. package/dist/testing/index.js.map +1 -0
  288. package/dist/testing/vitest-helpers.d.ts +26 -0
  289. package/dist/testing/vitest-helpers.d.ts.map +1 -0
  290. package/dist/testing/vitest-helpers.js +37 -0
  291. package/dist/testing/vitest-helpers.js.map +1 -0
  292. package/dist/tools/index.d.ts +3 -1
  293. package/dist/tools/index.d.ts.map +1 -1
  294. package/dist/tools/index.js +2 -1
  295. package/dist/tools/index.js.map +1 -1
  296. package/dist/tools/remote-query.d.ts +40 -0
  297. package/dist/tools/remote-query.d.ts.map +1 -0
  298. package/dist/tools/remote-query.js +71 -0
  299. package/dist/tools/remote-query.js.map +1 -0
  300. package/dist/tracing/index.d.ts +39 -0
  301. package/dist/tracing/index.d.ts.map +1 -0
  302. package/dist/tracing/index.js +70 -0
  303. package/dist/tracing/index.js.map +1 -0
  304. package/dist/trajectory.d.ts +65 -0
  305. package/dist/trajectory.d.ts.map +1 -0
  306. package/dist/trajectory.js +126 -0
  307. package/dist/trajectory.js.map +1 -0
  308. package/dist/trust/index.d.ts +34 -0
  309. package/dist/trust/index.d.ts.map +1 -0
  310. package/dist/trust/index.js +78 -0
  311. package/dist/trust/index.js.map +1 -0
  312. package/dist/types.d.ts +144 -5
  313. package/dist/types.d.ts.map +1 -1
  314. package/dist/types.js +2 -11
  315. package/dist/types.js.map +1 -1
  316. package/package.json +1 -3
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Latent-space communication — compress inter-agent messages to reduce
3
+ * token consumption in multi-agent review modes.
4
+ *
5
+ * Instead of passing full specialist text (~5K tokens) to synthesis,
6
+ * extracts structured findings + compact summary (~1.5K tokens).
7
+ * Zero extra LLM calls — pure extraction + template merge.
8
+ */
9
+ export interface StructuredFinding {
10
+ severity: 'critical' | 'major' | 'minor' | 'info';
11
+ description: string;
12
+ file?: string;
13
+ line?: number;
14
+ suggestion?: string;
15
+ }
16
+ export interface CompressedOutput {
17
+ agentName: string;
18
+ summary: string;
19
+ findings: StructuredFinding[];
20
+ tokenEstimate: number;
21
+ originalTokens: number;
22
+ }
23
+ export interface LatentMergeResult {
24
+ mergedPrompt: string;
25
+ totalTokensSaved: number;
26
+ agentCount: number;
27
+ }
28
+ export declare function estimateTokens(text: string): number;
29
+ export declare function compressAgentOutput(agentName: string, rawOutput: string, budgetTokens?: number): CompressedOutput;
30
+ export declare function mergeCompressed(outputs: CompressedOutput[]): LatentMergeResult;
31
+ //# sourceMappingURL=latent-comms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latent-comms.d.ts","sourceRoot":"","sources":["../src/latent-comms.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAoFD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CA0ClB;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CA4B9E"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Latent-space communication — compress inter-agent messages to reduce
3
+ * token consumption in multi-agent review modes.
4
+ *
5
+ * Instead of passing full specialist text (~5K tokens) to synthesis,
6
+ * extracts structured findings + compact summary (~1.5K tokens).
7
+ * Zero extra LLM calls — pure extraction + template merge.
8
+ */
9
+ // ── Token estimation ──
10
+ export function estimateTokens(text) {
11
+ return Math.floor(text.length / 4);
12
+ }
13
+ // ── Finding extraction ──
14
+ const SEVERITY_PATTERNS = [
15
+ { severity: 'critical', pattern: /\*\*(?:critical|security|sql injection|rce)/i },
16
+ { severity: 'major', pattern: /\*\*(?:major|missing|bug|error|vulnerability)/i },
17
+ { severity: 'minor', pattern: /\*\*(?:minor|nit|style|naming|hardcoded)/i },
18
+ ];
19
+ const FINDING_RE = /^[-*]\s+\*\*(.+?)\*\*(?:\s+in\s+`([^`]+?)(?::(\d+))?`)?\s*[—–-]\s*(.+)/;
20
+ const SUGGESTION_RE = /^\s+Suggestion:\s*(.+)/;
21
+ function parseFinding(line, nextLine) {
22
+ const match = FINDING_RE.exec(line);
23
+ if (!match)
24
+ return null;
25
+ const title = match[1]?.trim();
26
+ const file = match[2] ?? undefined;
27
+ const lineNum = match[3] ? parseInt(match[3], 10) : undefined;
28
+ const description = match[4]?.trim();
29
+ const suggestion = nextLine ? SUGGESTION_RE.exec(nextLine)?.[1]?.trim() : undefined;
30
+ // Determine severity from title
31
+ let severity = 'info';
32
+ for (const { severity: sev, pattern } of SEVERITY_PATTERNS) {
33
+ if (pattern.test(`**${title}`)) {
34
+ severity = sev;
35
+ break;
36
+ }
37
+ }
38
+ return {
39
+ severity,
40
+ description: `${title}: ${description}`,
41
+ file,
42
+ line: lineNum,
43
+ suggestion,
44
+ };
45
+ }
46
+ function extractFindings(text) {
47
+ const lines = text.split('\n');
48
+ const findings = [];
49
+ for (let i = 0; i < lines.length; i++) {
50
+ const finding = parseFinding(lines[i], lines[i + 1]);
51
+ if (finding) {
52
+ findings.push(finding);
53
+ }
54
+ }
55
+ return findings;
56
+ }
57
+ function extractSummary(text) {
58
+ // Look for explicit summary section
59
+ const summaryMatch = text.match(/###?\s*Summary\n([\s\S]*?)(?=\n###?\s|\n$|$)/i);
60
+ if (summaryMatch) {
61
+ return summaryMatch[1]?.trim();
62
+ }
63
+ // Fallback: first non-heading paragraph
64
+ const lines = text.split('\n');
65
+ for (const line of lines) {
66
+ const trimmed = line.trim();
67
+ if (trimmed &&
68
+ !trimmed.startsWith('#') &&
69
+ !trimmed.startsWith('-') &&
70
+ !trimmed.startsWith('*')) {
71
+ return trimmed.slice(0, 200);
72
+ }
73
+ }
74
+ return '';
75
+ }
76
+ // ── Compression ──
77
+ export function compressAgentOutput(agentName, rawOutput, budgetTokens) {
78
+ const originalTokens = estimateTokens(rawOutput);
79
+ if (!rawOutput.trim()) {
80
+ return {
81
+ agentName,
82
+ summary: '',
83
+ findings: [],
84
+ tokenEstimate: 0,
85
+ originalTokens: 0,
86
+ };
87
+ }
88
+ const findings = extractFindings(rawOutput);
89
+ const summary = extractSummary(rawOutput);
90
+ // Build compressed representation
91
+ let compressed = `[${agentName}] ${summary}`;
92
+ for (const f of findings) {
93
+ const loc = f.file ? ` (${f.file}${f.line ? `:${f.line}` : ''})` : '';
94
+ compressed += `\n- [${f.severity}]${loc} ${f.description}`;
95
+ if (f.suggestion) {
96
+ compressed += ` → ${f.suggestion}`;
97
+ }
98
+ }
99
+ let tokenEstimate = estimateTokens(compressed);
100
+ // Truncate if over budget
101
+ if (budgetTokens && tokenEstimate > budgetTokens) {
102
+ const charBudget = budgetTokens * 4;
103
+ compressed = compressed.slice(0, charBudget);
104
+ tokenEstimate = budgetTokens;
105
+ }
106
+ return {
107
+ agentName,
108
+ summary,
109
+ findings,
110
+ tokenEstimate,
111
+ originalTokens,
112
+ };
113
+ }
114
+ // ── Merge ──
115
+ export function mergeCompressed(outputs) {
116
+ if (outputs.length === 0) {
117
+ return { mergedPrompt: '', totalTokensSaved: 0, agentCount: 0 };
118
+ }
119
+ const sections = [];
120
+ let totalOriginal = 0;
121
+ for (const output of outputs) {
122
+ totalOriginal += output.originalTokens;
123
+ let section = `### ${output.agentName}\n${output.summary}`;
124
+ for (const f of output.findings) {
125
+ const loc = f.file ? ` (${f.file}${f.line ? `:${f.line}` : ''})` : '';
126
+ section += `\n- [${f.severity}]${loc} ${f.description}`;
127
+ }
128
+ sections.push(section);
129
+ }
130
+ const mergedPrompt = sections.join('\n\n');
131
+ const mergedTokens = estimateTokens(mergedPrompt);
132
+ const totalTokensSaved = totalOriginal - mergedTokens;
133
+ return {
134
+ mergedPrompt,
135
+ totalTokensSaved: Math.max(0, totalTokensSaved),
136
+ agentCount: outputs.length,
137
+ };
138
+ }
139
+ //# sourceMappingURL=latent-comms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latent-comms.js","sourceRoot":"","sources":["../src/latent-comms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * PageIndex Chunker for GHAGGA
3
+ *
4
+ * Chunks project memory by topics and extracts file references.
5
+ */
6
+ import type { ProjectPageChunk, CompactionCheck } from './types.js';
7
+ export declare const GHAGGA_CHUNK_CONFIG: {
8
+ maxTokensPerPage: number;
9
+ overlapTokens: number;
10
+ maxTopicLength: number;
11
+ };
12
+ export declare function estimateTokens(text: string): number;
13
+ /**
14
+ * Extract topics from content (headers, emphasized text, file refs)
15
+ */
16
+ export declare function extractTopics(content: string): string[];
17
+ /**
18
+ * Extract file references from content
19
+ */
20
+ export declare function extractFileRefs(content: string): string[];
21
+ /**
22
+ * Chunk project memory into pages
23
+ */
24
+ export declare function chunkProjectMemory(projectId: string, content: string, config?: {
25
+ maxTokensPerPage: number;
26
+ overlapTokens: number;
27
+ maxTopicLength: number;
28
+ }): Omit<ProjectPageChunk, 'id' | 'createdAt'>[];
29
+ /**
30
+ * Check if compaction is needed
31
+ */
32
+ export declare function shouldCompact(currentTokens: number, modelMaxTokens: number, safetyMargin?: number): CompactionCheck;
33
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/chunker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM;;;;CAAsB,GAC3B,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,CAoC9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,YAAY,SAAM,GACjB,eAAe,CAajB"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * PageIndex Chunker for GHAGGA
3
+ *
4
+ * Chunks project memory by topics and extracts file references.
5
+ */
6
+ export const GHAGGA_CHUNK_CONFIG = {
7
+ maxTokensPerPage: 1500,
8
+ overlapTokens: 200,
9
+ maxTopicLength: 50,
10
+ };
11
+ export function estimateTokens(text) {
12
+ return Math.ceil(text.length / 4);
13
+ }
14
+ /**
15
+ * Extract topics from content (headers, emphasized text, file refs)
16
+ */
17
+ export function extractTopics(content) {
18
+ const topics = [];
19
+ // Headers (### Topic)
20
+ const headers = content.match(/^#{1,3}\s+(.+)$/gm);
21
+ if (headers) {
22
+ headers.slice(0, 5).forEach(h => {
23
+ topics.push(h.replace(/^#+\s+/, '').slice(0, 50));
24
+ });
25
+ }
26
+ // Bold text (**topic**)
27
+ const bold = content.match(/\*\*(.+?)\*\*/g);
28
+ if (bold && topics.length < 10) {
29
+ bold.slice(0, 3).forEach(b => {
30
+ const topic = b.replace(/\*\*/g, '').slice(0, 50);
31
+ if (!topics.includes(topic))
32
+ topics.push(topic);
33
+ });
34
+ }
35
+ return topics.slice(0, 8);
36
+ }
37
+ /**
38
+ * Extract file references from content
39
+ */
40
+ export function extractFileRefs(content) {
41
+ const refs = [];
42
+ // File paths (src/... or **/*.ts)
43
+ const paths = content.match(/(?:src\/|apps\/|packages\/)[\w\/\-]+\.\w+/g);
44
+ if (paths) {
45
+ paths.slice(0, 10).forEach(p => {
46
+ if (!refs.includes(p))
47
+ refs.push(p);
48
+ });
49
+ }
50
+ // Glob patterns
51
+ const globs = content.match(/\*\*\/\*\.\w+/g);
52
+ if (globs) {
53
+ globs.slice(0, 5).forEach(g => {
54
+ if (!refs.includes(g))
55
+ refs.push(g);
56
+ });
57
+ }
58
+ return refs.slice(0, 15);
59
+ }
60
+ /**
61
+ * Chunk project memory into pages
62
+ */
63
+ export function chunkProjectMemory(projectId, content, config = GHAGGA_CHUNK_CONFIG) {
64
+ const maxChars = config.maxTokensPerPage * 4;
65
+ const overlapChars = config.overlapTokens * 4;
66
+ const chunks = [];
67
+ let pos = 0;
68
+ while (pos < content.length) {
69
+ let end = Math.min(pos + maxChars, content.length);
70
+ if (end < content.length) {
71
+ // Try to break at section boundary
72
+ const sectionBreak = content.lastIndexOf('\n\n## ', end);
73
+ if (sectionBreak > pos + maxChars * 0.5) {
74
+ end = sectionBreak + 1;
75
+ }
76
+ else {
77
+ // Try paragraph
78
+ const para = content.lastIndexOf('\n\n', end);
79
+ if (para > pos + maxChars * 0.7)
80
+ end = para + 2;
81
+ }
82
+ }
83
+ chunks.push(content.slice(pos, end).trim());
84
+ pos = Math.max(pos + 1, end - overlapChars);
85
+ }
86
+ // Create page chunks with metadata
87
+ return chunks.map((chunk, idx) => ({
88
+ projectId,
89
+ pageNum: idx + 1,
90
+ totalPages: chunks.length,
91
+ content: chunk,
92
+ topics: extractTopics(chunk),
93
+ fileRefs: extractFileRefs(chunk),
94
+ tokenCount: estimateTokens(chunk),
95
+ }));
96
+ }
97
+ /**
98
+ * Check if compaction is needed
99
+ */
100
+ export function shouldCompact(currentTokens, modelMaxTokens, safetyMargin = 0.3) {
101
+ const threshold = modelMaxTokens * (1 - safetyMargin);
102
+ const shouldCompact = currentTokens > threshold;
103
+ return {
104
+ currentTokens,
105
+ maxTokens: modelMaxTokens,
106
+ projectId: '',
107
+ shouldCompact,
108
+ safeToProceed: !shouldCompact,
109
+ suggestedAction: shouldCompact ? 'paginate' : 'none',
110
+ };
111
+ }
112
+ //# sourceMappingURL=chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/memory/pageindex/chunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * PageIndex Usage Example for GHAGGA
3
+ *
4
+ * Demonstrates how to use ProjectPageIndexService in review workflows.
5
+ */
6
+ import { ProjectPageIndexService } from './index.js';
7
+ export declare function exampleReviewWorkflow(pageIndex: ProjectPageIndexService, projectId: string, pr: {
8
+ title: string;
9
+ description: string;
10
+ files: string[];
11
+ }, modelMaxTokens?: number): Promise<{
12
+ context: string;
13
+ tokens: number;
14
+ pagesUsed: number;
15
+ safe: boolean;
16
+ }>;
17
+ export declare function exampleCreatePageIndex(pageIndex: ProjectPageIndexService, projectId: string, projectMemory: string): Promise<{
18
+ pages: number;
19
+ tokens: number;
20
+ }>;
21
+ export declare function exampleContextWindow(pageIndex: ProjectPageIndexService, projectId: string, targetPage: number): string;
22
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/example.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAiB,MAAM,YAAY,CAAC;AAGpE,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,uBAAuB,EAClC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAC3D,cAAc,GAAE,MAAa;;;;;GAmE9B;AAGD,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,uBAAuB,EAClC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM;;;GAUtB;AAGD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,uBAAuB,EAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,UA2BnB"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * PageIndex Usage Example for GHAGGA
3
+ *
4
+ * Demonstrates how to use ProjectPageIndexService in review workflows.
5
+ */
6
+ import { PageDirection } from './index.js';
7
+ // Example: Using PageIndex in a review workflow
8
+ export async function exampleReviewWorkflow(pageIndex, projectId, pr, modelMaxTokens = 4096 // Small model like llama-3.2-3b
9
+ ) {
10
+ // Step 1: Check if we need pagination
11
+ const compactionCheck = pageIndex.checkCompaction(projectId, modelMaxTokens);
12
+ if (compactionCheck.shouldCompact) {
13
+ console.log(`⚠️ Project memory ${compactionCheck.currentTokens} tokens exceeds safe limit for ${modelMaxTokens} model`);
14
+ console.log(`💡 Using PageIndex to paginate into manageable chunks`);
15
+ }
16
+ // Step 2: Find relevant pages based on PR context
17
+ console.log('🔍 Finding relevant pages for PR context...');
18
+ const relevantPages = pageIndex.findRelevantPages({
19
+ projectId,
20
+ prContext: {
21
+ title: pr.title,
22
+ description: pr.description,
23
+ files: pr.files,
24
+ },
25
+ maxPages: 3, // Only get top 3 most relevant pages
26
+ });
27
+ console.log(`📄 Found ${relevantPages.length} relevant pages`);
28
+ // Step 3: Build context from relevant pages
29
+ let context = '';
30
+ let totalTokens = 0;
31
+ for (const page of relevantPages) {
32
+ // Check if adding this page would exceed limit
33
+ if (totalTokens + page.tokenCount > modelMaxTokens * 0.6) {
34
+ console.log(`⚠️ Stopping at ${totalTokens} tokens to leave room for response`);
35
+ break;
36
+ }
37
+ context += `\n\n--- Page ${page.pageNum}/${page.totalPages} ---\n`;
38
+ context += `Topics: ${page.topics.join(', ')}\n`;
39
+ context += page.content;
40
+ totalTokens += page.tokenCount;
41
+ }
42
+ console.log(`📊 Total context: ${totalTokens} tokens from ${relevantPages.length} pages`);
43
+ console.log(`✅ Safe to proceed: ${totalTokens < modelMaxTokens * 0.7}`);
44
+ // Step 4: If we need more context, navigate to adjacent pages
45
+ if (relevantPages.length > 0) {
46
+ const lastPage = relevantPages[relevantPages.length - 1];
47
+ if (lastPage.pageNum < lastPage.totalPages) {
48
+ const nextPage = pageIndex.navigate({
49
+ projectId,
50
+ currentPageNum: lastPage.pageNum,
51
+ direction: PageDirection.NEXT,
52
+ });
53
+ if (nextPage) {
54
+ console.log(`➡️ Can navigate to page ${nextPage.pageNum} if needed`);
55
+ }
56
+ }
57
+ }
58
+ return {
59
+ context,
60
+ tokens: totalTokens,
61
+ pagesUsed: relevantPages.length,
62
+ safe: totalTokens < modelMaxTokens * 0.7,
63
+ };
64
+ }
65
+ // Example: Creating page index for large project
66
+ export async function exampleCreatePageIndex(pageIndex, projectId, projectMemory) {
67
+ console.log('📚 Creating PageIndex for large project memory...');
68
+ const result = await pageIndex.createPageIndex(projectId, projectMemory);
69
+ console.log(`✅ Created ${result.pages} pages (${result.tokens} tokens total)`);
70
+ console.log(`📄 Average ${Math.round(result.tokens / result.pages)} tokens per page`);
71
+ return result;
72
+ }
73
+ // Example: Reading with context window
74
+ export function exampleContextWindow(pageIndex, projectId, targetPage) {
75
+ console.log(`📖 Reading page ${targetPage} with context window...`);
76
+ const context = pageIndex.getContext({
77
+ projectId,
78
+ pageNum: targetPage,
79
+ windowSize: 1, // Get previous, current, and next page
80
+ });
81
+ console.log(`📄 Context window: ${context.previousPages.length} before, ${context.nextPages.length} after`);
82
+ console.log(`📊 Total in window: ${context.totalInContext} pages (${context.totalTokens} tokens)`);
83
+ // Build full context text
84
+ let fullContext = '';
85
+ for (const page of context.previousPages) {
86
+ fullContext += `\n[Prev Page ${page.pageNum}]\n${page.content.substring(0, 200)}...\n`;
87
+ }
88
+ fullContext += `\n[CURRENT PAGE ${context.currentPage.pageNum}]\n${context.currentPage.content}\n`;
89
+ for (const page of context.nextPages) {
90
+ fullContext += `\n[Next Page ${page.pageNum}]\n${page.content.substring(0, 200)}...\n`;
91
+ }
92
+ return fullContext;
93
+ }
94
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../src/memory/pageindex/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * PageIndex for GHAGGA Project Memory
3
+ *
4
+ * Exports all PageIndex components for navigable project memory.
5
+ */
6
+ export * from './types.js';
7
+ export * from './chunker.js';
8
+ export * from './service.js';
9
+ import { ProjectPageIndexService } from './service.js';
10
+ export { ProjectPageIndexService };
11
+ /**
12
+ * Quick factory function
13
+ */
14
+ export declare function createProjectPageIndex(db: any): ProjectPageIndexService;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,GAAG,2BAE7C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * PageIndex for GHAGGA Project Memory
3
+ *
4
+ * Exports all PageIndex components for navigable project memory.
5
+ */
6
+ export * from './types.js';
7
+ export * from './chunker.js';
8
+ export * from './service.js';
9
+ import { ProjectPageIndexService } from './service.js';
10
+ export { ProjectPageIndexService };
11
+ /**
12
+ * Quick factory function
13
+ */
14
+ export function createProjectPageIndex(db) {
15
+ return new ProjectPageIndexService(db);
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/pageindex/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAO;IAC5C,OAAO,IAAI,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * PageIndex Service for GHAGGA
3
+ *
4
+ * Manages paginated project memory using GHAGGA's sql.js database.
5
+ */
6
+ import type { Database } from 'fts5-sql-bundle';
7
+ import type { ProjectPageChunk, PageContextRequest, PageContextResponse, PageNavigationRequest, CompactionCheck, RelevantPageRequest } from './types.js';
8
+ export declare class ProjectPageIndexService {
9
+ private db;
10
+ constructor(db: Database);
11
+ private initSchema;
12
+ /**
13
+ * Create page index for project memory
14
+ */
15
+ createPageIndex(projectId: string, content: string): Promise<{
16
+ pages: number;
17
+ tokens: number;
18
+ }>;
19
+ /**
20
+ * Get a specific page
21
+ */
22
+ getPage(projectId: string, pageNum: number): ProjectPageChunk | null;
23
+ /**
24
+ * Get context window around a page
25
+ */
26
+ getContext(request: PageContextRequest): PageContextResponse;
27
+ /**
28
+ * Navigate to adjacent page
29
+ */
30
+ navigate(request: PageNavigationRequest): ProjectPageChunk | null;
31
+ /**
32
+ * Find pages relevant to PR context
33
+ */
34
+ findRelevantPages(request: RelevantPageRequest): ProjectPageChunk[];
35
+ /**
36
+ * Check if compaction is needed
37
+ */
38
+ checkCompaction(projectId: string, modelMaxTokens: number): CompactionCheck;
39
+ /**
40
+ * Get project stats
41
+ */
42
+ getProjectStats(projectId: string): {
43
+ pages: number;
44
+ tokens: number;
45
+ };
46
+ /**
47
+ * Delete project page index
48
+ */
49
+ deletePageIndex(projectId: string): void;
50
+ private rowToPageChunk;
51
+ private rowsToPageChunks;
52
+ }
53
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAcpB,qBAAa,uBAAuB;IAClC,OAAO,CAAC,EAAE,CAAqB;gBAEnB,EAAE,EAAE,QAAQ;IAKxB,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAwDrG;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAapE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB;IAiC5D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,IAAI;IAkBjE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,EAAE;IA4CnE;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,eAAe;IAO3E;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAoBrE;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOxC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;CAMzB"}