@laserdata/laser-sdk 0.5.3 → 0.6.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 (356) hide show
  1. package/README.md +105 -79
  2. package/dist/agent/agdx.d.ts +8 -3
  3. package/dist/agent/agdx.d.ts.map +1 -1
  4. package/dist/agent/agdx.js +39 -22
  5. package/dist/agent/agdx.js.map +1 -1
  6. package/dist/agent/builder.d.ts +25 -15
  7. package/dist/agent/builder.d.ts.map +1 -1
  8. package/dist/agent/builder.js +103 -59
  9. package/dist/agent/builder.js.map +1 -1
  10. package/dist/agent/context.d.ts +3 -6
  11. package/dist/agent/context.d.ts.map +1 -1
  12. package/dist/agent/context.js +17 -9
  13. package/dist/agent/context.js.map +1 -1
  14. package/dist/agent/contract.d.ts +2 -2
  15. package/dist/agent/contract.d.ts.map +1 -1
  16. package/dist/agent/contract.js +10 -6
  17. package/dist/agent/contract.js.map +1 -1
  18. package/dist/agent/memory-handler.d.ts +25 -0
  19. package/dist/agent/memory-handler.d.ts.map +1 -0
  20. package/dist/agent/memory-handler.js +43 -0
  21. package/dist/agent/memory-handler.js.map +1 -0
  22. package/dist/agent/registry.d.ts +3 -10
  23. package/dist/agent/registry.d.ts.map +1 -1
  24. package/dist/agent/registry.js +22 -19
  25. package/dist/agent/registry.js.map +1 -1
  26. package/dist/agent/reliable-consumer.d.ts +19 -9
  27. package/dist/agent/reliable-consumer.d.ts.map +1 -1
  28. package/dist/agent/reliable-consumer.js +193 -54
  29. package/dist/agent/reliable-consumer.js.map +1 -1
  30. package/dist/agent/replies.d.ts +6 -0
  31. package/dist/agent/replies.d.ts.map +1 -1
  32. package/dist/agent/replies.js +55 -4
  33. package/dist/agent/replies.js.map +1 -1
  34. package/dist/agent/router.d.ts +1 -1
  35. package/dist/agent/router.d.ts.map +1 -1
  36. package/dist/agent/router.js +5 -19
  37. package/dist/agent/router.js.map +1 -1
  38. package/dist/agent/scope.d.ts +7 -3
  39. package/dist/agent/scope.d.ts.map +1 -1
  40. package/dist/agent/scope.js +11 -1
  41. package/dist/agent/scope.js.map +1 -1
  42. package/dist/agent/timer.d.ts +6 -0
  43. package/dist/agent/timer.d.ts.map +1 -0
  44. package/dist/agent/timer.js +21 -0
  45. package/dist/agent/timer.js.map +1 -0
  46. package/dist/agent/workflow.d.ts +16 -19
  47. package/dist/agent/workflow.d.ts.map +1 -1
  48. package/dist/agent/workflow.js +17 -6
  49. package/dist/agent/workflow.js.map +1 -1
  50. package/dist/blob.d.ts +2 -3
  51. package/dist/blob.d.ts.map +1 -1
  52. package/dist/blob.js.map +1 -1
  53. package/dist/bridges/a2a.d.ts +34 -23
  54. package/dist/bridges/a2a.d.ts.map +1 -1
  55. package/dist/bridges/a2a.js +29 -19
  56. package/dist/bridges/a2a.js.map +1 -1
  57. package/dist/bridges/hops.d.ts +1 -1
  58. package/dist/bridges/hops.d.ts.map +1 -1
  59. package/dist/bridges/hops.js +1 -1
  60. package/dist/bridges/hops.js.map +1 -1
  61. package/dist/bridges/mcp.d.ts +27 -7
  62. package/dist/bridges/mcp.d.ts.map +1 -1
  63. package/dist/bridges/mcp.js +24 -9
  64. package/dist/bridges/mcp.js.map +1 -1
  65. package/dist/client/bytes.d.ts +5 -0
  66. package/dist/client/bytes.d.ts.map +1 -1
  67. package/dist/client/bytes.js +15 -0
  68. package/dist/client/bytes.js.map +1 -1
  69. package/dist/client/capabilities.d.ts +25 -13
  70. package/dist/client/capabilities.d.ts.map +1 -1
  71. package/dist/client/capabilities.js +145 -123
  72. package/dist/client/capabilities.js.map +1 -1
  73. package/dist/client/error-classify.d.ts +57 -0
  74. package/dist/client/error-classify.d.ts.map +1 -0
  75. package/dist/client/error-classify.js +347 -0
  76. package/dist/client/error-classify.js.map +1 -0
  77. package/dist/client/errors.d.ts +113 -40
  78. package/dist/client/errors.d.ts.map +1 -1
  79. package/dist/client/errors.js +191 -53
  80. package/dist/client/errors.js.map +1 -1
  81. package/dist/client/internals.d.ts +1 -0
  82. package/dist/client/internals.d.ts.map +1 -1
  83. package/dist/client/internals.js +1 -0
  84. package/dist/client/internals.js.map +1 -1
  85. package/dist/client/laser.d.ts +62 -46
  86. package/dist/client/laser.d.ts.map +1 -1
  87. package/dist/client/laser.js +206 -120
  88. package/dist/client/laser.js.map +1 -1
  89. package/dist/client/managed.d.ts +3 -0
  90. package/dist/client/managed.d.ts.map +1 -1
  91. package/dist/client/managed.js +70 -3
  92. package/dist/client/managed.js.map +1 -1
  93. package/dist/context-scope.d.ts +25 -9
  94. package/dist/context-scope.d.ts.map +1 -1
  95. package/dist/context-scope.js +36 -9
  96. package/dist/context-scope.js.map +1 -1
  97. package/dist/context.d.ts +33 -16
  98. package/dist/context.d.ts.map +1 -1
  99. package/dist/context.js +174 -95
  100. package/dist/context.js.map +1 -1
  101. package/dist/conversation-state.d.ts +1 -1
  102. package/dist/conversation-state.d.ts.map +1 -1
  103. package/dist/conversation-state.js +35 -16
  104. package/dist/conversation-state.js.map +1 -1
  105. package/dist/govern.d.ts +24 -5
  106. package/dist/govern.d.ts.map +1 -1
  107. package/dist/govern.js +116 -28
  108. package/dist/govern.js.map +1 -1
  109. package/dist/iggy/apache-iggy.d.ts +59 -56
  110. package/dist/iggy/apache-iggy.d.ts.map +1 -1
  111. package/dist/iggy/apache-iggy.js +300 -137
  112. package/dist/iggy/apache-iggy.js.map +1 -1
  113. package/dist/index.d.ts +97 -65
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +49 -30
  116. package/dist/index.js.map +1 -1
  117. package/dist/intent.d.ts +16 -2
  118. package/dist/intent.d.ts.map +1 -1
  119. package/dist/intent.js +50 -18
  120. package/dist/intent.js.map +1 -1
  121. package/dist/managed/coordination.d.ts +82 -0
  122. package/dist/managed/coordination.d.ts.map +1 -0
  123. package/dist/managed/coordination.js +367 -0
  124. package/dist/managed/coordination.js.map +1 -0
  125. package/dist/managed/destinations.d.ts +4 -3
  126. package/dist/managed/destinations.d.ts.map +1 -1
  127. package/dist/managed/destinations.js +29 -13
  128. package/dist/managed/destinations.js.map +1 -1
  129. package/dist/managed/filters.d.ts +5 -5
  130. package/dist/managed/filters.d.ts.map +1 -1
  131. package/dist/managed/filters.js +39 -22
  132. package/dist/managed/filters.js.map +1 -1
  133. package/dist/managed/forks.d.ts +8 -11
  134. package/dist/managed/forks.d.ts.map +1 -1
  135. package/dist/managed/forks.js +33 -13
  136. package/dist/managed/forks.js.map +1 -1
  137. package/dist/managed/graph.d.ts +1 -4
  138. package/dist/managed/graph.d.ts.map +1 -1
  139. package/dist/managed/graph.js +5 -3
  140. package/dist/managed/graph.js.map +1 -1
  141. package/dist/managed/kv.d.ts +26 -14
  142. package/dist/managed/kv.d.ts.map +1 -1
  143. package/dist/managed/kv.js +88 -61
  144. package/dist/managed/kv.js.map +1 -1
  145. package/dist/managed/projections.d.ts +5 -8
  146. package/dist/managed/projections.d.ts.map +1 -1
  147. package/dist/managed/projections.js +22 -2
  148. package/dist/managed/projections.js.map +1 -1
  149. package/dist/managed/query.d.ts +20 -6
  150. package/dist/managed/query.d.ts.map +1 -1
  151. package/dist/managed/query.js +97 -24
  152. package/dist/managed/query.js.map +1 -1
  153. package/dist/managed/runs.d.ts +2 -4
  154. package/dist/managed/runs.d.ts.map +1 -1
  155. package/dist/managed/runs.js +9 -1
  156. package/dist/managed/runs.js.map +1 -1
  157. package/dist/managed/watch.d.ts +2 -4
  158. package/dist/managed/watch.d.ts.map +1 -1
  159. package/dist/managed/watch.js +9 -1
  160. package/dist/managed/watch.js.map +1 -1
  161. package/dist/memory/handle.d.ts +75 -22
  162. package/dist/memory/handle.d.ts.map +1 -1
  163. package/dist/memory/handle.js +232 -58
  164. package/dist/memory/handle.js.map +1 -1
  165. package/dist/memory/log-memory.d.ts +24 -12
  166. package/dist/memory/log-memory.d.ts.map +1 -1
  167. package/dist/memory/log-memory.js +214 -100
  168. package/dist/memory/log-memory.js.map +1 -1
  169. package/dist/memory/topic.d.ts +2 -2
  170. package/dist/memory/topic.d.ts.map +1 -1
  171. package/dist/memory/topic.js +7 -5
  172. package/dist/memory/topic.js.map +1 -1
  173. package/dist/memory/types.d.ts +41 -5
  174. package/dist/memory/types.d.ts.map +1 -1
  175. package/dist/memory/types.js +44 -18
  176. package/dist/memory/types.js.map +1 -1
  177. package/dist/memory/vector-memory.d.ts +8 -6
  178. package/dist/memory/vector-memory.d.ts.map +1 -1
  179. package/dist/memory/vector-memory.js +65 -34
  180. package/dist/memory/vector-memory.js.map +1 -1
  181. package/dist/memory.d.ts +6 -5
  182. package/dist/memory.d.ts.map +1 -1
  183. package/dist/memory.js +4 -4
  184. package/dist/memory.js.map +1 -1
  185. package/dist/provenance/agent-topic.d.ts +3 -1
  186. package/dist/provenance/agent-topic.d.ts.map +1 -1
  187. package/dist/provenance/agent-topic.js +3 -1
  188. package/dist/provenance/agent-topic.js.map +1 -1
  189. package/dist/provenance/provenance.d.ts +3 -3
  190. package/dist/provenance/provenance.d.ts.map +1 -1
  191. package/dist/provenance/provenance.js +30 -18
  192. package/dist/provenance/provenance.js.map +1 -1
  193. package/dist/runtime/clock.d.ts +3 -0
  194. package/dist/runtime/clock.d.ts.map +1 -1
  195. package/dist/runtime/clock.js +16 -3
  196. package/dist/runtime/clock.js.map +1 -1
  197. package/dist/schema-codecs.d.ts +7 -3
  198. package/dist/schema-codecs.d.ts.map +1 -1
  199. package/dist/schema-codecs.js +80 -12
  200. package/dist/schema-codecs.js.map +1 -1
  201. package/dist/session.d.ts +27 -18
  202. package/dist/session.d.ts.map +1 -1
  203. package/dist/session.js +95 -37
  204. package/dist/session.js.map +1 -1
  205. package/dist/signing.d.ts +11 -5
  206. package/dist/signing.d.ts.map +1 -1
  207. package/dist/signing.js +64 -21
  208. package/dist/signing.js.map +1 -1
  209. package/dist/snapshot.d.ts +10 -2
  210. package/dist/snapshot.d.ts.map +1 -1
  211. package/dist/snapshot.js +62 -28
  212. package/dist/snapshot.js.map +1 -1
  213. package/dist/state-store.d.ts +1 -1
  214. package/dist/state-store.d.ts.map +1 -1
  215. package/dist/state-store.js.map +1 -1
  216. package/dist/stream/batching.d.ts +81 -0
  217. package/dist/stream/batching.d.ts.map +1 -0
  218. package/dist/stream/batching.js +210 -0
  219. package/dist/stream/batching.js.map +1 -0
  220. package/dist/stream/bson.d.ts +3 -0
  221. package/dist/stream/bson.d.ts.map +1 -0
  222. package/dist/stream/bson.js +245 -0
  223. package/dist/stream/bson.js.map +1 -0
  224. package/dist/stream/codecs.d.ts +58 -6
  225. package/dist/stream/codecs.d.ts.map +1 -1
  226. package/dist/stream/codecs.js +143 -59
  227. package/dist/stream/codecs.js.map +1 -1
  228. package/dist/stream/consumer-group.d.ts +13 -10
  229. package/dist/stream/consumer-group.d.ts.map +1 -1
  230. package/dist/stream/consumer-group.js +91 -31
  231. package/dist/stream/consumer-group.js.map +1 -1
  232. package/dist/stream/consumer-start.d.ts +17 -0
  233. package/dist/stream/consumer-start.d.ts.map +1 -0
  234. package/dist/stream/consumer-start.js +2 -0
  235. package/dist/stream/consumer-start.js.map +1 -0
  236. package/dist/stream/consumer.d.ts +166 -24
  237. package/dist/stream/consumer.d.ts.map +1 -1
  238. package/dist/stream/consumer.js +451 -68
  239. package/dist/stream/consumer.js.map +1 -1
  240. package/dist/stream/cursor.d.ts +5 -12
  241. package/dist/stream/cursor.d.ts.map +1 -1
  242. package/dist/stream/cursor.js +34 -8
  243. package/dist/stream/cursor.js.map +1 -1
  244. package/dist/stream/header-value.d.ts +61 -15
  245. package/dist/stream/header-value.d.ts.map +1 -1
  246. package/dist/stream/header-value.js.map +1 -1
  247. package/dist/stream/message.d.ts +17 -0
  248. package/dist/stream/message.d.ts.map +1 -0
  249. package/dist/stream/message.js +9 -0
  250. package/dist/stream/message.js.map +1 -0
  251. package/dist/stream/producer.d.ts +127 -11
  252. package/dist/stream/producer.d.ts.map +1 -1
  253. package/dist/stream/producer.js +401 -36
  254. package/dist/stream/producer.js.map +1 -1
  255. package/dist/stream/publish.d.ts +6 -15
  256. package/dist/stream/publish.d.ts.map +1 -1
  257. package/dist/stream/publish.js +18 -28
  258. package/dist/stream/publish.js.map +1 -1
  259. package/dist/stream/record.d.ts +4 -6
  260. package/dist/stream/record.d.ts.map +1 -1
  261. package/dist/stream/record.js +4 -3
  262. package/dist/stream/record.js.map +1 -1
  263. package/dist/stream/routing.d.ts +12 -0
  264. package/dist/stream/routing.d.ts.map +1 -1
  265. package/dist/stream/routing.js +6 -1
  266. package/dist/stream/routing.js.map +1 -1
  267. package/dist/stream/stream.d.ts +1 -4
  268. package/dist/stream/stream.d.ts.map +1 -1
  269. package/dist/stream/stream.js +5 -1
  270. package/dist/stream/stream.js.map +1 -1
  271. package/dist/stream/topic.d.ts +22 -23
  272. package/dist/stream/topic.d.ts.map +1 -1
  273. package/dist/stream/topic.js +90 -30
  274. package/dist/stream/topic.js.map +1 -1
  275. package/dist/stream/typed-topic.d.ts +9 -13
  276. package/dist/stream/typed-topic.d.ts.map +1 -1
  277. package/dist/stream/typed-topic.js +25 -10
  278. package/dist/stream/typed-topic.js.map +1 -1
  279. package/dist/swarm.d.ts +0 -1
  280. package/dist/swarm.d.ts.map +1 -1
  281. package/dist/swarm.js +1 -0
  282. package/dist/swarm.js.map +1 -1
  283. package/dist/testing.d.ts +3 -3
  284. package/dist/testing.d.ts.map +1 -1
  285. package/dist/testing.js +3 -3
  286. package/dist/testing.js.map +1 -1
  287. package/dist/types/ids.d.ts +17 -2
  288. package/dist/types/ids.d.ts.map +1 -1
  289. package/dist/types/ids.js +34 -14
  290. package/dist/types/ids.js.map +1 -1
  291. package/dist/wire/agent.d.ts +22 -0
  292. package/dist/wire/agent.d.ts.map +1 -1
  293. package/dist/wire/agent.js +80 -25
  294. package/dist/wire/agent.js.map +1 -1
  295. package/dist/wire/authz.d.ts +35 -1
  296. package/dist/wire/authz.d.ts.map +1 -1
  297. package/dist/wire/authz.js +45 -15
  298. package/dist/wire/authz.js.map +1 -1
  299. package/dist/wire/cbor.d.ts.map +1 -1
  300. package/dist/wire/cbor.js +13 -2
  301. package/dist/wire/cbor.js.map +1 -1
  302. package/dist/wire/checkpoint.d.ts +17 -12
  303. package/dist/wire/checkpoint.d.ts.map +1 -1
  304. package/dist/wire/checkpoint.js +28 -3
  305. package/dist/wire/checkpoint.js.map +1 -1
  306. package/dist/wire/control.d.ts +82 -0
  307. package/dist/wire/control.d.ts.map +1 -1
  308. package/dist/wire/control.js +219 -0
  309. package/dist/wire/control.js.map +1 -1
  310. package/dist/wire/filter-eval.d.ts +41 -7
  311. package/dist/wire/filter-eval.d.ts.map +1 -1
  312. package/dist/wire/filter-eval.js +26 -28
  313. package/dist/wire/filter-eval.js.map +1 -1
  314. package/dist/wire/filter.d.ts +51 -17
  315. package/dist/wire/filter.d.ts.map +1 -1
  316. package/dist/wire/filter.js +99 -10
  317. package/dist/wire/filter.js.map +1 -1
  318. package/dist/wire/fork.d.ts +14 -1
  319. package/dist/wire/fork.d.ts.map +1 -1
  320. package/dist/wire/fork.js +19 -8
  321. package/dist/wire/fork.js.map +1 -1
  322. package/dist/wire/graph.d.ts +3 -0
  323. package/dist/wire/graph.d.ts.map +1 -1
  324. package/dist/wire/graph.js +18 -4
  325. package/dist/wire/graph.js.map +1 -1
  326. package/dist/wire/hello.d.ts +4 -1
  327. package/dist/wire/hello.d.ts.map +1 -1
  328. package/dist/wire/hello.js +13 -3
  329. package/dist/wire/hello.js.map +1 -1
  330. package/dist/wire/index.d.ts +4 -1
  331. package/dist/wire/index.d.ts.map +1 -1
  332. package/dist/wire/index.js +4 -1
  333. package/dist/wire/index.js.map +1 -1
  334. package/dist/wire/kv.d.ts +37 -2
  335. package/dist/wire/kv.d.ts.map +1 -1
  336. package/dist/wire/kv.js +36 -18
  337. package/dist/wire/kv.js.map +1 -1
  338. package/dist/wire/query.d.ts +6 -0
  339. package/dist/wire/query.d.ts.map +1 -1
  340. package/dist/wire/query.js +38 -12
  341. package/dist/wire/query.js.map +1 -1
  342. package/dist/wire/schema.d.ts +29 -6
  343. package/dist/wire/schema.d.ts.map +1 -1
  344. package/dist/wire/schema.js +61 -26
  345. package/dist/wire/schema.js.map +1 -1
  346. package/dist/wire/snapshot.js +1 -1
  347. package/dist/wire/snapshot.js.map +1 -1
  348. package/dist/wire/value.d.ts +10 -2
  349. package/dist/wire/value.d.ts.map +1 -1
  350. package/dist/wire/value.js +29 -3
  351. package/dist/wire/value.js.map +1 -1
  352. package/package.json +2 -3
  353. package/dist/stream/polling-strategy.d.ts +0 -14
  354. package/dist/stream/polling-strategy.d.ts.map +0 -1
  355. package/dist/stream/polling-strategy.js +0 -2
  356. package/dist/stream/polling-strategy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
@@ -1,108 +1,222 @@
1
+ import { InvalidError, UnsupportedError } from "../client/errors.js";
2
+ import { ConversationId } from "../types/ids.js";
1
3
  import { LogMemory } from "./log-memory.js";
2
4
  import { Lifetime, MemoryId, MemoryKind, RecallStrategy, toContextBlock } from "./types.js";
3
- import { VectorMemory } from "./vector-memory.js";
5
+ import { VectorMemory, WITH_EMBEDDER } from "./vector-memory.js";
6
+ // How many items one consolidation pass recalls and operates over.
7
+ const CONSOLIDATION_WINDOW = 10_000;
4
8
  export const MemoryBackend = { Auto: "auto", Log: "log", Vector: "vector" };
5
9
  export class MemoryHandle {
6
- backend;
7
- constructor(backend) {
8
- this.backend = backend;
10
+ store;
11
+ constructor(store) {
12
+ this.store = store;
9
13
  }
14
+ /** @internal */
15
+ static create(store) {
16
+ return new MemoryHandle(store);
17
+ }
18
+ /** Which backend this handle resolved to: `log` for the durable stream
19
+ * model, `vector` for the in-process similarity index, `custom` for a
20
+ * caller-supplied backend. A reranked handle reports its inner backend. */
21
+ get backend() {
22
+ return backendKindOf(this.store);
23
+ }
24
+ /** @internal */
10
25
  static log(laser, namespace) {
11
26
  return new MemoryHandle(new LogMemory(laser, namespace));
12
27
  }
13
- /** Opens durable memory on a caller-named topic. */
28
+ /** @internal */
14
29
  static logTopic(laser, topic, stream) {
15
30
  return new MemoryHandle(new LogMemory(laser, topic, topic, stream));
16
31
  }
32
+ /** A standalone in-process vector handle over `embedder`, with no `Laser`
33
+ * and no governance. */
17
34
  static vector(embedder) {
18
35
  return new MemoryHandle(new VectorMemory(embedder));
19
36
  }
37
+ /** @internal */
20
38
  static governedVector(laser, embedder) {
21
39
  return new MemoryHandle(VectorMemory.governed(laser, embedder));
22
40
  }
41
+ /** @internal */
23
42
  static custom(memory) {
24
- return new MemoryHandle(memory);
43
+ const append = memory.append?.bind(memory);
44
+ return new MemoryHandle({
45
+ ...(append === undefined ? {} : { append }),
46
+ remember: (scope, payload) => memory.remember(scope, payload),
47
+ recall: (scope, query) => memory.recall(scope, query),
48
+ improve: (scope, feedback) => memory.improve(scope, feedback),
49
+ forget: (scope, id) => memory.forget(scope, id)
50
+ });
25
51
  }
26
52
  remember(scopeOrPayload, payload) {
27
53
  if (scopeOrPayload instanceof Uint8Array)
28
- return new RememberBuilder(this, scopeOrPayload);
29
- return this.backend.remember(scopeOrPayload, required(payload));
54
+ return RememberBuilder.create(this, scopeOrPayload);
55
+ return this.store.remember(scopeOrPayload, required(payload));
30
56
  }
31
57
  recall(scope, query) {
32
58
  if (scope === undefined)
33
- return new RecallBuilder(this);
34
- return this.backend.recall(scope, query ?? {});
59
+ return RecallBuilder.create(this);
60
+ if (scope instanceof ConversationId)
61
+ return RecallBuilder.create(this, scope);
62
+ return this.store.recall(scope, query ?? {});
35
63
  }
36
64
  /** Recall by folding the memory topic in process instead of reading the
37
65
  * managed view. The log backend folds, the vector backend is already in
38
66
  * process, and a reranked backend folds its inner backend then reranks. */
39
67
  recallFolded(scope, query) {
40
- return recallFoldedOn(this.backend, scope, query);
68
+ return recallFoldedOn(this.store, scope, query);
41
69
  }
70
+ /** Records `feedback` on the item it targets. The built-in backends address
71
+ * the item by id alone, and `scope` only stamps the feedback record's
72
+ * provenance. */
42
73
  improve(scope, feedback) {
43
- return this.backend.improve(scope, feedback);
74
+ return this.store.improve(scope, feedback);
44
75
  }
76
+ /** Forgets the item `id`. The built-in backends address the item by id
77
+ * alone, so an item remembered under another scope is forgotten too, and
78
+ * `scope` only stamps the tombstone's provenance. */
45
79
  forget(scope, id) {
46
- return this.backend.forget(scope, id);
80
+ return this.store.forget(scope, id);
47
81
  }
48
82
  async context(scope, query = {}) {
49
- return toContextBlock(await this.backend.recall(scope, query), query.tokenBudget);
50
- }
51
- async consolidate(scope, maxItems) {
52
- const items = await this.backend.recall(scope, {
53
- limit: 10_000,
54
- strategy: RecallStrategy.Recent
55
- });
56
- const stale = items.slice(Math.max(0, maxItems));
57
- for (const item of stale)
58
- await this.backend.forget(scope, item.id);
59
- return { scanned: items.length, kept: items.length - stale.length, forgotten: stale.length };
83
+ return toContextBlock(await this.store.recall(scope, query), query.tokenBudget);
84
+ }
85
+ /** One consolidation pass over `scope`: keeps the newest `maxItems` and
86
+ * forgets the rest. With a `summarizer`, the `message` items are first folded
87
+ * into one durable summary per conversation, stored under `scope` narrowed
88
+ * to that conversation, and `pruneSummarized` forgets the folded items. */
89
+ async consolidate(scope, maxItems, options = {}) {
90
+ if (!Number.isSafeInteger(maxItems) || maxItems < 0)
91
+ throw new InvalidError("consolidation maxItems must be a non-negative safe integer");
92
+ const items = await this.store.recall(scope, { limit: CONSOLIDATION_WINDOW });
93
+ let remaining = items;
94
+ let summarized = 0;
95
+ let pruned = 0;
96
+ if (options.summarizer !== undefined) {
97
+ const sessions = items.filter((item) => item.kind === MemoryKind.Message);
98
+ if (sessions.length > 0) {
99
+ // One summary per conversation, so each stays recallable in the
100
+ // conversation it distills.
101
+ for (const [conversation, turns] of byConversation(sessions)) {
102
+ const summary = await options.summarizer.summarize(turns.map((item) => item.payload.slice()));
103
+ await appendOn(this.store, { ...scope, conversation, lifetime: Lifetime.Durable }, MemoryId.new(), MemoryKind.Summary, summary);
104
+ }
105
+ summarized = sessions.length;
106
+ if (options.pruneSummarized === true) {
107
+ for (const item of sessions) {
108
+ try {
109
+ await this.store.forget(scope, item.id);
110
+ pruned += 1;
111
+ }
112
+ catch {
113
+ // Failed forgets stay outside the successful prune count.
114
+ }
115
+ }
116
+ remaining = items.filter((item) => item.kind !== MemoryKind.Message);
117
+ }
118
+ }
119
+ }
120
+ const oldestFirst = [...remaining].sort((left, right) => left.id.asU128() < right.id.asU128() ? -1 : left.id.asU128() > right.id.asU128() ? 1 : 0);
121
+ for (const item of oldestFirst.slice(0, Math.max(0, oldestFirst.length - maxItems))) {
122
+ try {
123
+ await this.store.forget(scope, item.id);
124
+ pruned += 1;
125
+ }
126
+ catch {
127
+ // Failed forgets stay outside the successful prune count.
128
+ }
129
+ }
130
+ return { summarized, reweighted: 0, pruned, derived: 0 };
60
131
  }
61
132
  reranker(reranker) {
62
- return new MemoryHandle(new RerankedMemory(this.backend, reranker));
63
- }
133
+ return new MemoryHandle(new RerankedMemory(this.store, reranker));
134
+ }
135
+ /** Registers the embedding seam for similarity recall. It configures the
136
+ * in-process vector index, so a vector handle starts a fresh index over
137
+ * `embedder` with the same governance. The durable log model recalls by
138
+ * recency and a custom backend owns its retrieval, so both are returned
139
+ * unchanged. */
140
+ embedder(embedder) {
141
+ const store = withEmbedder(this.store, embedder);
142
+ return store === this.store ? this : new MemoryHandle(store);
143
+ }
144
+ /** @internal */
64
145
  logBackend() {
65
- return this.backend instanceof LogMemory ? this.backend : undefined;
146
+ return namedMemoryOf(this.store);
147
+ }
148
+ /** Writes named point state under your own `key`. Every write is a durable
149
+ * event on the memory topic. Only the log-backed handle has a key space, so
150
+ * the vector handle refuses with `UnsupportedError`. */
151
+ set(key, payload) {
152
+ return this.namedMemory("set").setNamed(key, payload);
153
+ }
154
+ /** Point-reads the named item written by `set`, from the managed key-value
155
+ * view, or `undefined`. */
156
+ fetch(key) {
157
+ return this.namedMemory("fetch").fetchNamed(key);
158
+ }
159
+ /** Point-reads the named item by folding the memory topic in process. */
160
+ fetchFolded(key) {
161
+ return this.namedMemory("fetchFolded").fetchNamedFolded(key);
162
+ }
163
+ /** Merge-patches the named item (RFC 7386 over a JSON value): fields in
164
+ * `patch` overwrite, `null` removes. */
165
+ update(key, patch) {
166
+ return this.namedMemory("update").updateNamed(key, patch);
167
+ }
168
+ /** Deletes the named item. Removing an absent key is fine. */
169
+ remove(key) {
170
+ return this.namedMemory("remove").forgetNamed(key);
171
+ }
172
+ namedMemory(verb) {
173
+ const memory = namedMemoryOf(this.store);
174
+ if (memory === undefined) {
175
+ throw new UnsupportedError(`${verb}(key) is the named-item altitude and needs the durable memory handle`, { cause: { surface: "memory" } });
176
+ }
177
+ return memory;
66
178
  }
67
179
  append(scope, id, kind, payload) {
68
- if (this.backend instanceof VectorMemory || this.backend instanceof LogMemory) {
69
- return this.backend.append(scope, id, kind, payload);
70
- }
71
- return this.backend.remember(scope, payload);
180
+ return appendOn(this.store, scope, id, kind, payload);
72
181
  }
73
182
  }
74
183
  export class RememberBuilder {
75
184
  handle;
76
185
  payload;
77
- scope = {};
186
+ memoryScope = {};
78
187
  memoryKind = MemoryKind.Fact;
79
188
  deduplicate = false;
80
189
  constructor(handle, payload) {
81
190
  this.handle = handle;
82
191
  this.payload = payload;
83
192
  }
84
- conversation(conversation) {
85
- this.scope = { ...this.scope, conversation };
193
+ /** @internal */
194
+ static create(handle, payload) {
195
+ return new RememberBuilder(handle, payload);
196
+ }
197
+ /** Scopes the item to a conversation. */
198
+ scope(conversation) {
199
+ this.memoryScope = { ...this.memoryScope, conversation };
86
200
  return this;
87
201
  }
88
202
  user(user) {
89
- this.scope = { ...this.scope, user };
203
+ this.memoryScope = { ...this.memoryScope, user };
90
204
  return this;
91
205
  }
92
206
  agent(agent) {
93
- this.scope = { ...this.scope, agent };
207
+ this.memoryScope = { ...this.memoryScope, agent };
94
208
  return this;
95
209
  }
96
210
  application(application) {
97
- this.scope = { ...this.scope, application };
211
+ this.memoryScope = { ...this.memoryScope, app: application };
98
212
  return this;
99
213
  }
100
214
  stream(stream) {
101
- this.scope = { ...this.scope, stream };
215
+ this.memoryScope = { ...this.memoryScope, stream };
102
216
  return this;
103
217
  }
104
218
  durable() {
105
- this.scope = { ...this.scope, lifetime: Lifetime.Durable };
219
+ this.memoryScope = { ...this.memoryScope, lifetime: Lifetime.Durable };
106
220
  return this;
107
221
  }
108
222
  kind(kind) {
@@ -115,9 +229,9 @@ export class RememberBuilder {
115
229
  }
116
230
  send() {
117
231
  const id = this.deduplicate
118
- ? MemoryId.content(this.scope, this.memoryKind, this.payload)
232
+ ? MemoryId.content(this.memoryScope, this.memoryKind, this.payload)
119
233
  : MemoryId.new();
120
- return this.handle.append(this.scope, id, this.memoryKind, this.payload);
234
+ return this.handle.append(this.memoryScope, id, this.memoryKind, this.payload);
121
235
  }
122
236
  }
123
237
  export class RecallBuilder {
@@ -125,12 +239,14 @@ export class RecallBuilder {
125
239
  scope = {};
126
240
  query = {};
127
241
  foldInProcess = false;
128
- constructor(handle) {
242
+ constructor(handle, conversation) {
129
243
  this.handle = handle;
244
+ if (conversation !== undefined)
245
+ this.scope = { conversation };
130
246
  }
131
- conversation(conversation) {
132
- this.scope = { ...this.scope, conversation };
133
- return this;
247
+ /** @internal */
248
+ static create(handle, conversation) {
249
+ return new RecallBuilder(handle, conversation);
134
250
  }
135
251
  user(user) {
136
252
  this.scope = { ...this.scope, user };
@@ -141,7 +257,7 @@ export class RecallBuilder {
141
257
  return this;
142
258
  }
143
259
  application(application) {
144
- this.scope = { ...this.scope, application };
260
+ this.scope = { ...this.scope, app: application };
145
261
  return this;
146
262
  }
147
263
  stream(stream) {
@@ -172,10 +288,6 @@ export class RecallBuilder {
172
288
  this.query = { ...this.query, limit };
173
289
  return this;
174
290
  }
175
- tokenBudget(tokenBudget) {
176
- this.query = { ...this.query, tokenBudget };
177
- return this;
178
- }
179
291
  /** Fold the memory topic in process instead of reading the managed key-value
180
292
  * view, for a deployment that materializes no read view. */
181
293
  folded() {
@@ -187,8 +299,10 @@ export class RecallBuilder {
187
299
  ? this.handle.recallFolded(this.scope, this.query)
188
300
  : this.handle.recall(this.scope, this.query);
189
301
  }
190
- async block() {
191
- return toContextBlock(await this.fetch(), this.query.tokenBudget);
302
+ /** Runs the recall and renders the items as one prompt-ready block under
303
+ * `tokenBudget` estimated tokens when given. */
304
+ async block(tokenBudget) {
305
+ return toContextBlock(await this.fetch(), tokenBudget);
192
306
  }
193
307
  }
194
308
  // The fold dispatch, mirroring Rust's `recall_folded`: the log backend folds its
@@ -197,24 +311,71 @@ export class RecallBuilder {
197
311
  async function recallFoldedOn(backend, scope, query) {
198
312
  if (backend instanceof LogMemory)
199
313
  return backend.recallFolded(scope, query);
200
- if (backend instanceof RerankedMemory)
201
- return backend.recallFolded(scope, query);
314
+ if (backend instanceof RerankedMemory) {
315
+ const { inner, reranker } = backend[RERANKED]();
316
+ const items = await recallFoldedOn(inner, scope, query);
317
+ return query.semantic === undefined ? items : reranker.rerank(query.semantic, items);
318
+ }
202
319
  return backend.recall(scope, query);
203
320
  }
204
- class RerankedMemory {
321
+ function appendOn(memory, scope, id, kind, payload) {
322
+ if (memory instanceof VectorMemory || memory instanceof LogMemory)
323
+ return memory.append(scope, id, kind, payload);
324
+ if (memory instanceof RerankedMemory)
325
+ return memory.append(scope, id, kind, payload);
326
+ return memory.append?.(scope, id, kind, payload) ?? memory.remember(scope, payload);
327
+ }
328
+ // Groups summarized turns by conversation, in the order each conversation first
329
+ // appears in the recall, keeping each group's recall order.
330
+ function byConversation(items) {
331
+ const groups = new Map();
332
+ for (const item of items) {
333
+ const conversation = item.provenance.conversationId;
334
+ const group = groups.get(conversation.toString());
335
+ if (group === undefined)
336
+ groups.set(conversation.toString(), [conversation, [item]]);
337
+ else
338
+ group[1].push(item);
339
+ }
340
+ return [...groups.values()];
341
+ }
342
+ function namedMemoryOf(memory) {
343
+ if (memory instanceof LogMemory)
344
+ return memory;
345
+ return memory instanceof RerankedMemory ? namedMemoryOf(memory[RERANKED]().inner) : undefined;
346
+ }
347
+ function backendKindOf(memory) {
348
+ if (memory instanceof LogMemory)
349
+ return "log";
350
+ if (memory instanceof VectorMemory)
351
+ return "vector";
352
+ if (memory instanceof RerankedMemory)
353
+ return backendKindOf(memory[RERANKED]().inner);
354
+ return "custom";
355
+ }
356
+ // The wrapped backend and the rerank stage, read by the handle's fold, append,
357
+ // and backend dispatch.
358
+ const RERANKED = Symbol("laser.internal.reranked");
359
+ /** Wraps any {@link Memory} with a {@link Reranker} second stage: `recall` runs
360
+ * the inner backend's retrieval, then reorders the candidates through the
361
+ * reranker when the query carries a `semantic` string. `remember`, `append`,
362
+ * `improve`, and `forget` delegate unchanged. */
363
+ export class RerankedMemory {
205
364
  inner;
206
365
  reranker;
207
366
  constructor(inner, reranker) {
208
367
  this.inner = inner;
209
368
  this.reranker = reranker;
210
369
  }
211
- async recallFolded(scope, query) {
212
- const items = await recallFoldedOn(this.inner, scope, query);
213
- return query.semantic === undefined ? items : this.reranker.rerank(query.semantic, items);
370
+ [RERANKED]() {
371
+ return { inner: this.inner, reranker: this.reranker };
214
372
  }
215
373
  remember(scope, payload) {
216
374
  return this.inner.remember(scope, payload);
217
375
  }
376
+ append(scope, id, kind, payload) {
377
+ return appendOn(this.inner, scope, id, kind, payload);
378
+ }
218
379
  async recall(scope, query) {
219
380
  const items = await this.inner.recall(scope, query);
220
381
  return query.semantic === undefined ? items : this.reranker.rerank(query.semantic, items);
@@ -226,6 +387,19 @@ class RerankedMemory {
226
387
  return this.inner.forget(scope, id);
227
388
  }
228
389
  }
390
+ // The embedder dispatch, mirroring Rust: a vector backend rebuilds over the new
391
+ // embedder, a reranked backend reconfigures its inner backend, and the log and
392
+ // custom backends ignore it.
393
+ function withEmbedder(memory, embedder) {
394
+ if (memory instanceof VectorMemory)
395
+ return memory[WITH_EMBEDDER](embedder);
396
+ if (memory instanceof RerankedMemory) {
397
+ const { inner, reranker } = memory[RERANKED]();
398
+ const configured = withEmbedder(inner, embedder);
399
+ return configured === inner ? memory : new RerankedMemory(configured, reranker);
400
+ }
401
+ return memory;
402
+ }
229
403
  function required(payload) {
230
404
  if (payload === undefined)
231
405
  throw new TypeError("memory payload is required");
@@ -1 +1 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,15 @@ import type { Laser } from "../client/laser.js";
2
2
  import { MemoryId, MemoryKind, type Feedback, type Memory, type MemoryItem, type MemoryQuery, type MemoryScope } from "./types.js";
3
3
  export declare class LogMemory implements Memory {
4
4
  private readonly laser;
5
- readonly namespace: string;
6
- readonly topic: string;
7
- readonly stream: string | undefined;
8
5
  private readonly items;
9
6
  private readonly forgotten;
7
+ private readonly feedback;
10
8
  private readonly named;
11
9
  private readonly offsets;
12
- private sequence;
13
- constructor(laser: Laser, namespace: string, topic?: string, stream?: string | undefined);
10
+ private readonly fold;
11
+ /** A log-backed memory on `topic` (the audit topic by default). The named
12
+ * items key on `namespace`, which defaults to the topic's name. */
13
+ constructor(laser: Laser, namespace?: string, topic?: string, stream?: string | undefined);
14
14
  remember(scope: MemoryScope, payload: Uint8Array): Promise<MemoryId>;
15
15
  append(scope: MemoryScope, id: MemoryId, kind: MemoryKind, payload: Uint8Array): Promise<MemoryId>;
16
16
  /** Reads the managed key-value view the deployment materializes from the
@@ -18,19 +18,31 @@ export declare class LogMemory implements Memory {
18
18
  * opt-in {@link LogMemory.recallFolded}, never the default, matching Rust and Python. */
19
19
  recall(scope: MemoryScope, query: MemoryQuery): Promise<readonly MemoryItem[]>;
20
20
  /** Recall by folding the memory topic in process, the opt-in path for a small
21
- * deployment with no materialized read view. */
21
+ * deployment with no materialized read view. Items come newest first.
22
+ * Feedback reorders every strategy except `Recent`, and its signal carries
23
+ * `RecallStrategy.Auto`. */
22
24
  recallFolded(scope: MemoryScope, query: MemoryQuery): Promise<readonly MemoryItem[]>;
23
25
  improve(scope: MemoryScope, feedback: Feedback): Promise<MemoryId>;
24
26
  forget(scope: MemoryScope, id: MemoryId): Promise<void>;
25
- set(key: string, payload: Uint8Array): Promise<void>;
27
+ /** Writes named point state: a keyed item on the topic, reflected in the
28
+ * fold for read-your-writes. */
29
+ setNamed(key: string, payload: Uint8Array): Promise<void>;
26
30
  /** Reads named point state from the managed key-value view, like {@link LogMemory.recall}.
27
- * Folding the topic is the opt-in {@link LogMemory.fetchFolded}. */
28
- fetch(key: string): Promise<Uint8Array | undefined>;
29
- fetchFolded(key: string): Promise<Uint8Array | undefined>;
30
- update(key: string, patch: Uint8Array): Promise<void>;
31
- remove(key: string): Promise<void>;
31
+ * Folding the topic is the opt-in {@link LogMemory.fetchNamedFolded}. */
32
+ fetchNamed(key: string): Promise<Uint8Array | undefined>;
33
+ /** Reads named point state by folding the topic in process. */
34
+ fetchNamedFolded(key: string): Promise<Uint8Array | undefined>;
35
+ /** Merge-patches the named item (RFC 7386). A patch or a stored value that
36
+ * is not JSON throws `CodecError`. */
37
+ updateNamed(key: string, patch: Uint8Array): Promise<void>;
38
+ /** Deletes named point state with a keyed tombstone. */
39
+ forgetNamed(key: string): Promise<void>;
32
40
  private publish;
41
+ private target;
42
+ private govern;
43
+ private send;
33
44
  private catchUp;
45
+ private drain;
34
46
  private absorb;
35
47
  private namedKey;
36
48
  private requireStream;
@@ -1 +1 @@
1
- {"version":3,"file":"log-memory.d.ts","sourceRoot":"","sources":["../../src/memory/log-memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAW/C,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AASnB,qBAAa,SAAU,YAAW,MAAM;IAQpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAVrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAI;IAEpB,YACmB,KAAK,EAAE,KAAK,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAyB,EAChC,MAAM,GAAE,MAAM,GAAG,SAA+B,EACvD;IAEE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEzE;IAEK,MAAM,CACV,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,QAAQ,CAAC,CAQnB;IAED;;6FAEyF;IACnF,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAmBnF;IAED;oDACgD;IAC1C,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAczF;IAEK,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQvE;IAEK,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAEK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CASzD;IAED;wEACoE;IAC9D,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAExD;IAEK,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAG9D;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1D;IAEK,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvC;YAEa,OAAO;YAoCP,OAAO;IAqCrB,OAAO,CAAC,MAAM;IAyDd,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"log-memory.d.ts","sourceRoot":"","sources":["../../src/memory/log-memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAiB/C,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAiBnB,qBAAa,SAAU,YAAW,MAAM;IAoBpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAnBxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAG9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IASnC;uEACmE;IACnE,YACmB,KAAK,EAAE,KAAK,EAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,GAAE,MAAyB,EAChC,MAAM,GAAE,MAAM,GAAG,SAA+B,EAKjD;IAEK,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEzE;IAEK,MAAM,CACV,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,QAAQ,CAAC,CAUnB;IAED;;6FAEyF;IACnF,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CA4CnF;IAED;;;gCAG4B;IACtB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAwBzF;IAEK,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQvE;IAEK,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAED;oCACgC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;IAED;6EACyE;IACnE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE7D;IAED,+DAA+D;IACzD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAGnE;IAED;0CACsC;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;IAED,wDAAwD;IAClD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5C;YAEa,OAAO;IAUrB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;YAYA,IAAI;IAsBlB,OAAO,CAAC,OAAO;YAID,KAAK;IA+CnB,OAAO,CAAC,MAAM;IAyDd,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,aAAa;CAMtB"}