@framers/agentos 0.1.100 → 0.1.102

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 (190) hide show
  1. package/README.md +16 -0
  2. package/dist/api/agency.d.ts.map +1 -1
  3. package/dist/api/agency.js +3 -1
  4. package/dist/api/agency.js.map +1 -1
  5. package/dist/api/strategies/graph.d.ts +14 -0
  6. package/dist/api/strategies/graph.d.ts.map +1 -0
  7. package/dist/api/strategies/graph.js +205 -0
  8. package/dist/api/strategies/graph.js.map +1 -0
  9. package/dist/api/strategies/index.d.ts +1 -0
  10. package/dist/api/strategies/index.d.ts.map +1 -1
  11. package/dist/api/strategies/index.js +4 -0
  12. package/dist/api/strategies/index.js.map +1 -1
  13. package/dist/api/types.d.ts +9 -1
  14. package/dist/api/types.d.ts.map +1 -1
  15. package/dist/api/types.js.map +1 -1
  16. package/dist/memory/config.d.ts +39 -0
  17. package/dist/memory/config.d.ts.map +1 -1
  18. package/dist/memory/config.js.map +1 -1
  19. package/dist/memory/consolidation/ConsolidationLoop.d.ts +177 -0
  20. package/dist/memory/consolidation/ConsolidationLoop.d.ts.map +1 -0
  21. package/dist/memory/consolidation/ConsolidationLoop.js +517 -0
  22. package/dist/memory/consolidation/ConsolidationLoop.js.map +1 -0
  23. package/dist/memory/consolidation/ConsolidationPipeline.d.ts.map +1 -1
  24. package/dist/memory/consolidation/ConsolidationPipeline.js +7 -0
  25. package/dist/memory/consolidation/ConsolidationPipeline.js.map +1 -1
  26. package/dist/memory/consolidation/index.d.ts +8 -0
  27. package/dist/memory/consolidation/index.d.ts.map +1 -0
  28. package/dist/memory/consolidation/index.js +7 -0
  29. package/dist/memory/consolidation/index.js.map +1 -0
  30. package/dist/memory/decay/DecayModel.d.ts +33 -0
  31. package/dist/memory/decay/DecayModel.d.ts.map +1 -1
  32. package/dist/memory/decay/DecayModel.js +31 -0
  33. package/dist/memory/decay/DecayModel.js.map +1 -1
  34. package/dist/memory/facade/Memory.d.ts +228 -0
  35. package/dist/memory/facade/Memory.d.ts.map +1 -0
  36. package/dist/memory/facade/Memory.js +823 -0
  37. package/dist/memory/facade/Memory.js.map +1 -0
  38. package/dist/memory/facade/index.d.ts +13 -0
  39. package/dist/memory/facade/index.d.ts.map +1 -0
  40. package/dist/memory/facade/index.js +11 -0
  41. package/dist/memory/facade/index.js.map +1 -0
  42. package/dist/memory/facade/types.d.ts +606 -0
  43. package/dist/memory/facade/types.d.ts.map +1 -0
  44. package/dist/memory/facade/types.js +11 -0
  45. package/dist/memory/facade/types.js.map +1 -0
  46. package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts +132 -0
  47. package/dist/memory/feedback/RetrievalFeedbackSignal.d.ts.map +1 -0
  48. package/dist/memory/feedback/RetrievalFeedbackSignal.js +178 -0
  49. package/dist/memory/feedback/RetrievalFeedbackSignal.js.map +1 -0
  50. package/dist/memory/feedback/index.d.ts +13 -0
  51. package/dist/memory/feedback/index.d.ts.map +1 -0
  52. package/dist/memory/feedback/index.js +12 -0
  53. package/dist/memory/feedback/index.js.map +1 -0
  54. package/dist/memory/index.d.ts +22 -0
  55. package/dist/memory/index.d.ts.map +1 -1
  56. package/dist/memory/index.js +24 -0
  57. package/dist/memory/index.js.map +1 -1
  58. package/dist/memory/ingestion/ChunkingEngine.d.ts +143 -0
  59. package/dist/memory/ingestion/ChunkingEngine.d.ts.map +1 -0
  60. package/dist/memory/ingestion/ChunkingEngine.js +508 -0
  61. package/dist/memory/ingestion/ChunkingEngine.js.map +1 -0
  62. package/dist/memory/ingestion/DoclingLoader.d.ts +44 -0
  63. package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -0
  64. package/dist/memory/ingestion/DoclingLoader.js +228 -0
  65. package/dist/memory/ingestion/DoclingLoader.js.map +1 -0
  66. package/dist/memory/ingestion/DocxLoader.d.ts +37 -0
  67. package/dist/memory/ingestion/DocxLoader.d.ts.map +1 -0
  68. package/dist/memory/ingestion/DocxLoader.js +111 -0
  69. package/dist/memory/ingestion/DocxLoader.js.map +1 -0
  70. package/dist/memory/ingestion/FolderScanner.d.ts +116 -0
  71. package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -0
  72. package/dist/memory/ingestion/FolderScanner.js +127 -0
  73. package/dist/memory/ingestion/FolderScanner.js.map +1 -0
  74. package/dist/memory/ingestion/HtmlLoader.d.ts +49 -0
  75. package/dist/memory/ingestion/HtmlLoader.d.ts.map +1 -0
  76. package/dist/memory/ingestion/HtmlLoader.js +202 -0
  77. package/dist/memory/ingestion/HtmlLoader.js.map +1 -0
  78. package/dist/memory/ingestion/IDocumentLoader.d.ts +63 -0
  79. package/dist/memory/ingestion/IDocumentLoader.d.ts.map +1 -0
  80. package/dist/memory/ingestion/IDocumentLoader.js +11 -0
  81. package/dist/memory/ingestion/IDocumentLoader.js.map +1 -0
  82. package/dist/memory/ingestion/LoaderRegistry.d.ts +140 -0
  83. package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -0
  84. package/dist/memory/ingestion/LoaderRegistry.js +229 -0
  85. package/dist/memory/ingestion/LoaderRegistry.js.map +1 -0
  86. package/dist/memory/ingestion/MarkdownLoader.d.ts +50 -0
  87. package/dist/memory/ingestion/MarkdownLoader.d.ts.map +1 -0
  88. package/dist/memory/ingestion/MarkdownLoader.js +169 -0
  89. package/dist/memory/ingestion/MarkdownLoader.js.map +1 -0
  90. package/dist/memory/ingestion/MultimodalAggregator.d.ts +88 -0
  91. package/dist/memory/ingestion/MultimodalAggregator.d.ts.map +1 -0
  92. package/dist/memory/ingestion/MultimodalAggregator.js +96 -0
  93. package/dist/memory/ingestion/MultimodalAggregator.js.map +1 -0
  94. package/dist/memory/ingestion/OcrPdfLoader.d.ts +41 -0
  95. package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -0
  96. package/dist/memory/ingestion/OcrPdfLoader.js +149 -0
  97. package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -0
  98. package/dist/memory/ingestion/PdfLoader.d.ts +78 -0
  99. package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -0
  100. package/dist/memory/ingestion/PdfLoader.js +179 -0
  101. package/dist/memory/ingestion/PdfLoader.js.map +1 -0
  102. package/dist/memory/ingestion/TextLoader.d.ts +66 -0
  103. package/dist/memory/ingestion/TextLoader.d.ts.map +1 -0
  104. package/dist/memory/ingestion/TextLoader.js +207 -0
  105. package/dist/memory/ingestion/TextLoader.js.map +1 -0
  106. package/dist/memory/ingestion/UrlLoader.d.ts +95 -0
  107. package/dist/memory/ingestion/UrlLoader.d.ts.map +1 -0
  108. package/dist/memory/ingestion/UrlLoader.js +174 -0
  109. package/dist/memory/ingestion/UrlLoader.js.map +1 -0
  110. package/dist/memory/io/ChatGptImporter.d.ts +85 -0
  111. package/dist/memory/io/ChatGptImporter.d.ts.map +1 -0
  112. package/dist/memory/io/ChatGptImporter.js +231 -0
  113. package/dist/memory/io/ChatGptImporter.js.map +1 -0
  114. package/dist/memory/io/JsonExporter.d.ts +67 -0
  115. package/dist/memory/io/JsonExporter.d.ts.map +1 -0
  116. package/dist/memory/io/JsonExporter.js +132 -0
  117. package/dist/memory/io/JsonExporter.js.map +1 -0
  118. package/dist/memory/io/JsonImporter.d.ts +84 -0
  119. package/dist/memory/io/JsonImporter.d.ts.map +1 -0
  120. package/dist/memory/io/JsonImporter.js +234 -0
  121. package/dist/memory/io/JsonImporter.js.map +1 -0
  122. package/dist/memory/io/MarkdownExporter.d.ts +95 -0
  123. package/dist/memory/io/MarkdownExporter.d.ts.map +1 -0
  124. package/dist/memory/io/MarkdownExporter.js +130 -0
  125. package/dist/memory/io/MarkdownExporter.js.map +1 -0
  126. package/dist/memory/io/MarkdownImporter.d.ts +84 -0
  127. package/dist/memory/io/MarkdownImporter.d.ts.map +1 -0
  128. package/dist/memory/io/MarkdownImporter.js +166 -0
  129. package/dist/memory/io/MarkdownImporter.js.map +1 -0
  130. package/dist/memory/io/ObsidianExporter.d.ts +80 -0
  131. package/dist/memory/io/ObsidianExporter.d.ts.map +1 -0
  132. package/dist/memory/io/ObsidianExporter.js +127 -0
  133. package/dist/memory/io/ObsidianExporter.js.map +1 -0
  134. package/dist/memory/io/ObsidianImporter.d.ts +93 -0
  135. package/dist/memory/io/ObsidianImporter.d.ts.map +1 -0
  136. package/dist/memory/io/ObsidianImporter.js +221 -0
  137. package/dist/memory/io/ObsidianImporter.js.map +1 -0
  138. package/dist/memory/io/SqliteExporter.d.ts +47 -0
  139. package/dist/memory/io/SqliteExporter.d.ts.map +1 -0
  140. package/dist/memory/io/SqliteExporter.js +56 -0
  141. package/dist/memory/io/SqliteExporter.js.map +1 -0
  142. package/dist/memory/io/SqliteImporter.d.ts +82 -0
  143. package/dist/memory/io/SqliteImporter.d.ts.map +1 -0
  144. package/dist/memory/io/SqliteImporter.js +232 -0
  145. package/dist/memory/io/SqliteImporter.js.map +1 -0
  146. package/dist/memory/io/index.d.ts +31 -0
  147. package/dist/memory/io/index.d.ts.map +1 -0
  148. package/dist/memory/io/index.js +31 -0
  149. package/dist/memory/io/index.js.map +1 -0
  150. package/dist/memory/store/SqliteBrain.d.ts +125 -0
  151. package/dist/memory/store/SqliteBrain.d.ts.map +1 -0
  152. package/dist/memory/store/SqliteBrain.js +407 -0
  153. package/dist/memory/store/SqliteBrain.js.map +1 -0
  154. package/dist/memory/store/SqliteKnowledgeGraph.d.ts +259 -0
  155. package/dist/memory/store/SqliteKnowledgeGraph.d.ts.map +1 -0
  156. package/dist/memory/store/SqliteKnowledgeGraph.js +1062 -0
  157. package/dist/memory/store/SqliteKnowledgeGraph.js.map +1 -0
  158. package/dist/memory/store/SqliteMemoryGraph.d.ts +251 -0
  159. package/dist/memory/store/SqliteMemoryGraph.d.ts.map +1 -0
  160. package/dist/memory/store/SqliteMemoryGraph.js +637 -0
  161. package/dist/memory/store/SqliteMemoryGraph.js.map +1 -0
  162. package/dist/memory/tools/MemoryAddTool.d.ts +98 -0
  163. package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -0
  164. package/dist/memory/tools/MemoryAddTool.js +131 -0
  165. package/dist/memory/tools/MemoryAddTool.js.map +1 -0
  166. package/dist/memory/tools/MemoryDeleteTool.d.ts +83 -0
  167. package/dist/memory/tools/MemoryDeleteTool.d.ts.map +1 -0
  168. package/dist/memory/tools/MemoryDeleteTool.js +96 -0
  169. package/dist/memory/tools/MemoryDeleteTool.js.map +1 -0
  170. package/dist/memory/tools/MemoryMergeTool.d.ts +95 -0
  171. package/dist/memory/tools/MemoryMergeTool.d.ts.map +1 -0
  172. package/dist/memory/tools/MemoryMergeTool.js +164 -0
  173. package/dist/memory/tools/MemoryMergeTool.js.map +1 -0
  174. package/dist/memory/tools/MemoryReflectTool.d.ts +86 -0
  175. package/dist/memory/tools/MemoryReflectTool.d.ts.map +1 -0
  176. package/dist/memory/tools/MemoryReflectTool.js +102 -0
  177. package/dist/memory/tools/MemoryReflectTool.js.map +1 -0
  178. package/dist/memory/tools/MemorySearchTool.d.ts +117 -0
  179. package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -0
  180. package/dist/memory/tools/MemorySearchTool.js +162 -0
  181. package/dist/memory/tools/MemorySearchTool.js.map +1 -0
  182. package/dist/memory/tools/MemoryUpdateTool.d.ts +92 -0
  183. package/dist/memory/tools/MemoryUpdateTool.d.ts.map +1 -0
  184. package/dist/memory/tools/MemoryUpdateTool.js +125 -0
  185. package/dist/memory/tools/MemoryUpdateTool.js.map +1 -0
  186. package/dist/memory/tools/index.d.ts +32 -0
  187. package/dist/memory/tools/index.d.ts.map +1 -0
  188. package/dist/memory/tools/index.js +26 -0
  189. package/dist/memory/tools/index.js.map +1 -0
  190. package/package.json +6 -1
@@ -0,0 +1,177 @@
1
+ /**
2
+ * @fileoverview ConsolidationLoop — self-improving background memory maintenance.
3
+ *
4
+ * Runs 6 ordered consolidation steps that mirror the brain's offline
5
+ * slow-wave-sleep consolidation process:
6
+ *
7
+ * 1. **Prune** — soft-delete traces whose Ebbinghaus strength has decayed
8
+ * below the configurable `pruneThreshold`.
9
+ * 2. **Merge** — deduplicate near-identical traces. Uses embedding cosine
10
+ * similarity when available, falls back to exact content-hash comparison.
11
+ * 3. **Strengthen** — read retrieval-feedback co-usage signals and record
12
+ * Hebbian co-activation edges in the memory graph.
13
+ * 4. **Derive** — (requires LLM) detect clusters of related memories and
14
+ * synthesise higher-level insight traces from them.
15
+ * 5. **Compact** — promote old, high-retrieval episodic traces to semantic
16
+ * type (lightweight episodic-to-semantic migration).
17
+ * 6. **Re-index** — rebuild the FTS5 index and log the consolidation run
18
+ * to the `consolidation_log` table.
19
+ *
20
+ * A simple boolean mutex prevents concurrent runs. If `run()` is called
21
+ * while a cycle is already in progress, it returns immediately with zero
22
+ * counts.
23
+ *
24
+ * @module agentos/memory/consolidation/ConsolidationLoop
25
+ */
26
+ import type { ConsolidationResult, ExtendedConsolidationConfig } from '../facade/types.js';
27
+ import type { SqliteBrain } from '../store/SqliteBrain.js';
28
+ import type { IMemoryGraph } from '../graph/IMemoryGraph.js';
29
+ /**
30
+ * Self-improving background consolidation loop with 6 ordered steps:
31
+ * prune, merge, strengthen, derive, compact, re-index.
32
+ *
33
+ * All database operations use the synchronous `better-sqlite3` API through
34
+ * the shared {@link SqliteBrain} connection. The `run()` method is async
35
+ * to accommodate the LLM-backed derive step.
36
+ */
37
+ export declare class ConsolidationLoop {
38
+ private readonly brain;
39
+ private readonly memoryGraph;
40
+ private readonly options?;
41
+ /**
42
+ * Simple mutex flag. When `true`, a consolidation cycle is in progress
43
+ * and any concurrent `run()` call returns immediately with zero counts.
44
+ */
45
+ private _running;
46
+ /**
47
+ * @param brain - The agent's SQLite brain database connection.
48
+ * @param memoryGraph - The memory association graph for co-activation and clustering.
49
+ * @param options - Optional LLM invoker and embedding function for
50
+ * derive and merge steps respectively.
51
+ */
52
+ constructor(brain: SqliteBrain, memoryGraph: IMemoryGraph, options?: {
53
+ /** LLM function for deriving insights from memory clusters. */
54
+ llmInvoker?: (prompt: string) => Promise<string>;
55
+ /** Embedding function for computing trace similarity. */
56
+ embedFn?: (texts: string[]) => Promise<number[][]>;
57
+ } | undefined);
58
+ /**
59
+ * Run one full consolidation cycle.
60
+ *
61
+ * The mutex prevents concurrent runs — if `_running` is already true,
62
+ * returns immediately with a zero-count result.
63
+ *
64
+ * @param config - Optional overrides for consolidation thresholds.
65
+ * @returns Consolidation statistics (pruned, merged, derived, compacted, durationMs).
66
+ */
67
+ run(config?: Partial<ExtendedConsolidationConfig>): Promise<ConsolidationResult>;
68
+ /**
69
+ * Whether consolidation is currently running.
70
+ * Useful for callers to check before scheduling a new run.
71
+ */
72
+ get isRunning(): boolean;
73
+ /**
74
+ * Query all non-deleted traces and soft-delete those whose current
75
+ * Ebbinghaus strength has decayed below `threshold`.
76
+ *
77
+ * @param threshold - Minimum strength to survive pruning.
78
+ * @returns Number of traces pruned.
79
+ */
80
+ private _prune;
81
+ /**
82
+ * Find and merge trace pairs with very similar content.
83
+ *
84
+ * When an embedding function is available, cosine similarity is used.
85
+ * Otherwise falls back to exact content hash comparison (SHA-256).
86
+ *
87
+ * Merge semantics:
88
+ * - The trace with more retrievals survives; the other is soft-deleted.
89
+ * - Tags are unioned (JSON arrays merged, deduplicated).
90
+ * - Emotional vectors are averaged.
91
+ * - The survivor takes the maximum strength of the pair.
92
+ *
93
+ * @param threshold - Cosine similarity above which two traces are merged.
94
+ * @returns Number of traces merged (deleted).
95
+ */
96
+ private _merge;
97
+ /**
98
+ * Merge two traces: keep the one with more retrievals, soft-delete the other.
99
+ * Union tags, average emotions, take max strength.
100
+ *
101
+ * @param a - First trace row.
102
+ * @param b - Second trace row.
103
+ * @param deletedIds - Set tracking which IDs have been soft-deleted this cycle.
104
+ */
105
+ private _mergeTracePair;
106
+ /**
107
+ * Query the `retrieval_feedback` table for traces that were co-used
108
+ * (same query string, both with signal = 'used') and record Hebbian
109
+ * co-activation edges in the memory graph.
110
+ *
111
+ * @returns Number of co-activation pairs strengthened.
112
+ */
113
+ private _strengthen;
114
+ /**
115
+ * Detect memory clusters and use the LLM to derive higher-level insights.
116
+ *
117
+ * Skips entirely if no `llmInvoker` was provided. For each of the top-N
118
+ * clusters (by size), collects member trace contents and sends them to the
119
+ * LLM with a concise instruction prompt.
120
+ *
121
+ * @param minClusterSize - Minimum cluster size for `detectClusters()`.
122
+ * @param maxDerived - Maximum number of insights to create this cycle.
123
+ * @returns Number of insight traces created.
124
+ */
125
+ private _derive;
126
+ /**
127
+ * Find episodic traces older than 7 days with high retrieval count and
128
+ * promote them to semantic type.
129
+ *
130
+ * This is a lightweight version of compaction — full LLM-based summarization
131
+ * via the CompactionEngine is deferred. For now, the trace type is simply
132
+ * changed to 'semantic' and the timestamp is logged.
133
+ *
134
+ * @returns Number of traces compacted.
135
+ */
136
+ private _compact;
137
+ /**
138
+ * Rebuild the FTS5 index to reflect any content changes from the cycle,
139
+ * and write a summary row to the `consolidation_log` table.
140
+ *
141
+ * @param pruned - Number of traces pruned.
142
+ * @param merged - Number of traces merged.
143
+ * @param derived - Number of insights derived (includes strengthened edges).
144
+ * @param compacted - Number of traces compacted.
145
+ * @param durationMs - Total cycle duration in milliseconds.
146
+ */
147
+ private _reindex;
148
+ /**
149
+ * Convert a raw `TraceRow` into a minimal `MemoryTrace`-compatible shape
150
+ * that `computeCurrentStrength()` can consume.
151
+ *
152
+ * Only the fields required by the Ebbinghaus formula are populated:
153
+ * `encodingStrength`, `stability` (derived from strength as a proxy),
154
+ * and `lastAccessedAt`.
155
+ *
156
+ * @param row - Raw SQLite row from `memory_traces`.
157
+ * @returns A minimal MemoryTrace object.
158
+ */
159
+ private _rowToMinimalTrace;
160
+ /**
161
+ * Compute cosine similarity between two embedding vectors.
162
+ *
163
+ * @param a - First vector.
164
+ * @param b - Second vector.
165
+ * @returns Cosine similarity in [-1, 1].
166
+ */
167
+ private _cosineSimilarity;
168
+ /**
169
+ * Average two emotion objects by computing the mean of all shared numeric keys.
170
+ *
171
+ * @param a - First emotion record.
172
+ * @param b - Second emotion record.
173
+ * @returns Averaged emotion record.
174
+ */
175
+ private _averageEmotions;
176
+ }
177
+ //# sourceMappingURL=ConsolidationLoop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidationLoop.d.ts","sourceRoot":"","sources":["../../../src/memory/consolidation/ConsolidationLoop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAyD7D;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAc1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAf3B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;OAKG;gBAEgB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,YAAY,EACzB,OAAO,CAAC,EAAE;QACzB,+DAA+D;QAC/D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,yDAAyD;QACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACpD,YAAA;IAOH;;;;;;;;OAQG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwCtF;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAMD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAgCd;;;;;;;;;;;;;;OAcG;YACW,MAAM;IAmDpB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;;;;OAMG;YACW,WAAW;IA+CzB;;;;;;;;;;OAUG;YACW,OAAO;IAuErB;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IA+BhB;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IA4BhB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAezB"}