@revealui/ai 0.1.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 (397) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +112 -0
  3. package/README.md +314 -0
  4. package/dist/a2a/card.d.ts +26 -0
  5. package/dist/a2a/card.d.ts.map +1 -0
  6. package/dist/a2a/card.js +173 -0
  7. package/dist/a2a/handler.d.ts +26 -0
  8. package/dist/a2a/handler.d.ts.map +1 -0
  9. package/dist/a2a/handler.js +170 -0
  10. package/dist/a2a/index.d.ts +10 -0
  11. package/dist/a2a/index.d.ts.map +1 -0
  12. package/dist/a2a/index.js +9 -0
  13. package/dist/a2a/task-store.d.ts +42 -0
  14. package/dist/a2a/task-store.d.ts.map +1 -0
  15. package/dist/a2a/task-store.js +99 -0
  16. package/dist/audit/emitter.d.ts +34 -0
  17. package/dist/audit/emitter.d.ts.map +1 -0
  18. package/dist/audit/emitter.js +34 -0
  19. package/dist/audit/index.d.ts +44 -0
  20. package/dist/audit/index.d.ts.map +1 -0
  21. package/dist/audit/index.js +48 -0
  22. package/dist/audit/observer.d.ts +108 -0
  23. package/dist/audit/observer.d.ts.map +1 -0
  24. package/dist/audit/observer.js +271 -0
  25. package/dist/audit/policy.d.ts +70 -0
  26. package/dist/audit/policy.d.ts.map +1 -0
  27. package/dist/audit/policy.js +209 -0
  28. package/dist/audit/store.d.ts +42 -0
  29. package/dist/audit/store.d.ts.map +1 -0
  30. package/dist/audit/store.js +80 -0
  31. package/dist/audit/types.d.ts +169 -0
  32. package/dist/audit/types.d.ts.map +1 -0
  33. package/dist/audit/types.js +80 -0
  34. package/dist/client/hooks/index.d.ts +22 -0
  35. package/dist/client/hooks/index.d.ts.map +1 -0
  36. package/dist/client/hooks/index.js +21 -0
  37. package/dist/client/hooks/useAgentContext.d.ts +30 -0
  38. package/dist/client/hooks/useAgentContext.d.ts.map +1 -0
  39. package/dist/client/hooks/useAgentContext.js +161 -0
  40. package/dist/client/hooks/useAgentEvents.d.ts +126 -0
  41. package/dist/client/hooks/useAgentEvents.d.ts.map +1 -0
  42. package/dist/client/hooks/useAgentEvents.js +232 -0
  43. package/dist/client/hooks/useAgentStream.d.ts +44 -0
  44. package/dist/client/hooks/useAgentStream.d.ts.map +1 -0
  45. package/dist/client/hooks/useAgentStream.js +101 -0
  46. package/dist/client/hooks/useEpisodicMemory.d.ts +25 -0
  47. package/dist/client/hooks/useEpisodicMemory.d.ts.map +1 -0
  48. package/dist/client/hooks/useEpisodicMemory.js +174 -0
  49. package/dist/client/hooks/useWorkingMemory.d.ts +57 -0
  50. package/dist/client/hooks/useWorkingMemory.d.ts.map +1 -0
  51. package/dist/client/hooks/useWorkingMemory.js +276 -0
  52. package/dist/client/index.d.ts +14 -0
  53. package/dist/client/index.d.ts.map +1 -0
  54. package/dist/client/index.js +13 -0
  55. package/dist/embeddings/index.d.ts +51 -0
  56. package/dist/embeddings/index.d.ts.map +1 -0
  57. package/dist/embeddings/index.js +73 -0
  58. package/dist/index.d.ts +83 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +103 -0
  61. package/dist/inference/context-assembly.d.ts +27 -0
  62. package/dist/inference/context-assembly.d.ts.map +1 -0
  63. package/dist/inference/context-assembly.js +81 -0
  64. package/dist/inference/overflow-compressor.d.ts +17 -0
  65. package/dist/inference/overflow-compressor.d.ts.map +1 -0
  66. package/dist/inference/overflow-compressor.js +40 -0
  67. package/dist/inference/runRag.d.ts +35 -0
  68. package/dist/inference/runRag.d.ts.map +1 -0
  69. package/dist/inference/runRag.js +53 -0
  70. package/dist/ingestion/bm25.d.ts +29 -0
  71. package/dist/ingestion/bm25.d.ts.map +1 -0
  72. package/dist/ingestion/bm25.js +161 -0
  73. package/dist/ingestion/cms-indexer.d.ts +39 -0
  74. package/dist/ingestion/cms-indexer.d.ts.map +1 -0
  75. package/dist/ingestion/cms-indexer.js +74 -0
  76. package/dist/ingestion/file-parsers.d.ts +51 -0
  77. package/dist/ingestion/file-parsers.d.ts.map +1 -0
  78. package/dist/ingestion/file-parsers.js +247 -0
  79. package/dist/ingestion/hybrid-search.d.ts +22 -0
  80. package/dist/ingestion/hybrid-search.d.ts.map +1 -0
  81. package/dist/ingestion/hybrid-search.js +63 -0
  82. package/dist/ingestion/index.d.ts +9 -0
  83. package/dist/ingestion/index.d.ts.map +1 -0
  84. package/dist/ingestion/index.js +8 -0
  85. package/dist/ingestion/pipeline.d.ts +35 -0
  86. package/dist/ingestion/pipeline.d.ts.map +1 -0
  87. package/dist/ingestion/pipeline.js +114 -0
  88. package/dist/ingestion/rag-vector-service.d.ts +34 -0
  89. package/dist/ingestion/rag-vector-service.d.ts.map +1 -0
  90. package/dist/ingestion/rag-vector-service.js +98 -0
  91. package/dist/ingestion/reranker.d.ts +10 -0
  92. package/dist/ingestion/reranker.d.ts.map +1 -0
  93. package/dist/ingestion/reranker.js +41 -0
  94. package/dist/ingestion/text-splitter.d.ts +25 -0
  95. package/dist/ingestion/text-splitter.d.ts.map +1 -0
  96. package/dist/ingestion/text-splitter.js +119 -0
  97. package/dist/llm/cache-utils.d.ts +146 -0
  98. package/dist/llm/cache-utils.d.ts.map +1 -0
  99. package/dist/llm/cache-utils.js +204 -0
  100. package/dist/llm/client.d.ts +134 -0
  101. package/dist/llm/client.d.ts.map +1 -0
  102. package/dist/llm/client.js +497 -0
  103. package/dist/llm/key-validator.d.ts +25 -0
  104. package/dist/llm/key-validator.d.ts.map +1 -0
  105. package/dist/llm/key-validator.js +101 -0
  106. package/dist/llm/provider-health.d.ts +40 -0
  107. package/dist/llm/provider-health.d.ts.map +1 -0
  108. package/dist/llm/provider-health.js +97 -0
  109. package/dist/llm/providers/anthropic.d.ts +31 -0
  110. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  111. package/dist/llm/providers/anthropic.js +248 -0
  112. package/dist/llm/providers/base.d.ts +111 -0
  113. package/dist/llm/providers/base.d.ts.map +1 -0
  114. package/dist/llm/providers/base.js +6 -0
  115. package/dist/llm/providers/groq.d.ts +23 -0
  116. package/dist/llm/providers/groq.d.ts.map +1 -0
  117. package/dist/llm/providers/groq.js +27 -0
  118. package/dist/llm/providers/ollama.d.ts +27 -0
  119. package/dist/llm/providers/ollama.d.ts.map +1 -0
  120. package/dist/llm/providers/ollama.js +48 -0
  121. package/dist/llm/providers/openai.d.ts +19 -0
  122. package/dist/llm/providers/openai.d.ts.map +1 -0
  123. package/dist/llm/providers/openai.js +245 -0
  124. package/dist/llm/providers/vultr.d.ts +18 -0
  125. package/dist/llm/providers/vultr.d.ts.map +1 -0
  126. package/dist/llm/providers/vultr.js +168 -0
  127. package/dist/llm/response-cache.d.ts +166 -0
  128. package/dist/llm/response-cache.d.ts.map +1 -0
  129. package/dist/llm/response-cache.js +233 -0
  130. package/dist/llm/semantic-cache.d.ts +179 -0
  131. package/dist/llm/semantic-cache.d.ts.map +1 -0
  132. package/dist/llm/semantic-cache.js +306 -0
  133. package/dist/llm/server.d.ts +14 -0
  134. package/dist/llm/server.d.ts.map +1 -0
  135. package/dist/llm/server.js +15 -0
  136. package/dist/llm/token-counter.d.ts +48 -0
  137. package/dist/llm/token-counter.d.ts.map +1 -0
  138. package/dist/llm/token-counter.js +77 -0
  139. package/dist/llm/workspace-provider-config.d.ts +38 -0
  140. package/dist/llm/workspace-provider-config.d.ts.map +1 -0
  141. package/dist/llm/workspace-provider-config.js +47 -0
  142. package/dist/memory/agent/context-manager.d.ts +148 -0
  143. package/dist/memory/agent/context-manager.d.ts.map +1 -0
  144. package/dist/memory/agent/context-manager.js +284 -0
  145. package/dist/memory/agent/index.d.ts +7 -0
  146. package/dist/memory/agent/index.d.ts.map +1 -0
  147. package/dist/memory/agent/index.js +6 -0
  148. package/dist/memory/crdt/index.d.ts +13 -0
  149. package/dist/memory/crdt/index.d.ts.map +1 -0
  150. package/dist/memory/crdt/index.js +12 -0
  151. package/dist/memory/crdt/lww-register.d.ts +108 -0
  152. package/dist/memory/crdt/lww-register.d.ts.map +1 -0
  153. package/dist/memory/crdt/lww-register.js +169 -0
  154. package/dist/memory/crdt/or-set.d.ts +141 -0
  155. package/dist/memory/crdt/or-set.d.ts.map +1 -0
  156. package/dist/memory/crdt/or-set.js +291 -0
  157. package/dist/memory/crdt/pn-counter.d.ts +116 -0
  158. package/dist/memory/crdt/pn-counter.d.ts.map +1 -0
  159. package/dist/memory/crdt/pn-counter.js +174 -0
  160. package/dist/memory/crdt/vector-clock.d.ts +115 -0
  161. package/dist/memory/crdt/vector-clock.d.ts.map +1 -0
  162. package/dist/memory/crdt/vector-clock.js +179 -0
  163. package/dist/memory/errors/index.d.ts +56 -0
  164. package/dist/memory/errors/index.d.ts.map +1 -0
  165. package/dist/memory/errors/index.js +85 -0
  166. package/dist/memory/index.d.ts +21 -0
  167. package/dist/memory/index.d.ts.map +1 -0
  168. package/dist/memory/index.js +20 -0
  169. package/dist/memory/persistence/crdt-persistence.d.ts +85 -0
  170. package/dist/memory/persistence/crdt-persistence.d.ts.map +1 -0
  171. package/dist/memory/persistence/crdt-persistence.js +204 -0
  172. package/dist/memory/persistence/index.d.ts +7 -0
  173. package/dist/memory/persistence/index.d.ts.map +1 -0
  174. package/dist/memory/persistence/index.js +6 -0
  175. package/dist/memory/preferences/index.d.ts +7 -0
  176. package/dist/memory/preferences/index.d.ts.map +1 -0
  177. package/dist/memory/preferences/index.js +6 -0
  178. package/dist/memory/preferences/user-preferences-manager.d.ts +133 -0
  179. package/dist/memory/preferences/user-preferences-manager.d.ts.map +1 -0
  180. package/dist/memory/preferences/user-preferences-manager.js +342 -0
  181. package/dist/memory/services/index.d.ts +8 -0
  182. package/dist/memory/services/index.d.ts.map +1 -0
  183. package/dist/memory/services/index.js +6 -0
  184. package/dist/memory/services/node-id-service.d.ts +75 -0
  185. package/dist/memory/services/node-id-service.d.ts.map +1 -0
  186. package/dist/memory/services/node-id-service.js +190 -0
  187. package/dist/memory/stores/episodic-memory.d.ts +182 -0
  188. package/dist/memory/stores/episodic-memory.d.ts.map +1 -0
  189. package/dist/memory/stores/episodic-memory.js +378 -0
  190. package/dist/memory/stores/index.d.ts +16 -0
  191. package/dist/memory/stores/index.d.ts.map +1 -0
  192. package/dist/memory/stores/index.js +15 -0
  193. package/dist/memory/stores/procedural-memory.d.ts +89 -0
  194. package/dist/memory/stores/procedural-memory.d.ts.map +1 -0
  195. package/dist/memory/stores/procedural-memory.js +152 -0
  196. package/dist/memory/stores/semantic-memory.d.ts +92 -0
  197. package/dist/memory/stores/semantic-memory.d.ts.map +1 -0
  198. package/dist/memory/stores/semantic-memory.js +155 -0
  199. package/dist/memory/stores/working-memory.d.ts +225 -0
  200. package/dist/memory/stores/working-memory.d.ts.map +1 -0
  201. package/dist/memory/stores/working-memory.js +336 -0
  202. package/dist/memory/utils/deep-clone.d.ts +10 -0
  203. package/dist/memory/utils/deep-clone.d.ts.map +1 -0
  204. package/dist/memory/utils/deep-clone.js +9 -0
  205. package/dist/memory/utils/index.d.ts +8 -0
  206. package/dist/memory/utils/index.d.ts.map +1 -0
  207. package/dist/memory/utils/index.js +7 -0
  208. package/dist/memory/utils/logger.d.ts +21 -0
  209. package/dist/memory/utils/logger.d.ts.map +1 -0
  210. package/dist/memory/utils/logger.js +62 -0
  211. package/dist/memory/utils/sql-helpers.d.ts +97 -0
  212. package/dist/memory/utils/sql-helpers.d.ts.map +1 -0
  213. package/dist/memory/utils/sql-helpers.js +214 -0
  214. package/dist/memory/utils/validation.d.ts +62 -0
  215. package/dist/memory/utils/validation.d.ts.map +1 -0
  216. package/dist/memory/utils/validation.js +244 -0
  217. package/dist/memory/vector/index.d.ts +12 -0
  218. package/dist/memory/vector/index.d.ts.map +1 -0
  219. package/dist/memory/vector/index.js +14 -0
  220. package/dist/memory/vector/vector-memory-service.d.ts +88 -0
  221. package/dist/memory/vector/vector-memory-service.d.ts.map +1 -0
  222. package/dist/memory/vector/vector-memory-service.js +335 -0
  223. package/dist/observability/logger.d.ts +79 -0
  224. package/dist/observability/logger.d.ts.map +1 -0
  225. package/dist/observability/logger.js +165 -0
  226. package/dist/observability/metrics.d.ts +43 -0
  227. package/dist/observability/metrics.d.ts.map +1 -0
  228. package/dist/observability/metrics.js +197 -0
  229. package/dist/observability/query.d.ts +150 -0
  230. package/dist/observability/query.d.ts.map +1 -0
  231. package/dist/observability/query.js +339 -0
  232. package/dist/observability/types.d.ts +140 -0
  233. package/dist/observability/types.d.ts.map +1 -0
  234. package/dist/observability/types.js +6 -0
  235. package/dist/orchestration/agent.d.ts +98 -0
  236. package/dist/orchestration/agent.d.ts.map +1 -0
  237. package/dist/orchestration/agent.js +6 -0
  238. package/dist/orchestration/defaults.d.ts +21 -0
  239. package/dist/orchestration/defaults.d.ts.map +1 -0
  240. package/dist/orchestration/defaults.js +22 -0
  241. package/dist/orchestration/memory-integration.d.ts +58 -0
  242. package/dist/orchestration/memory-integration.d.ts.map +1 -0
  243. package/dist/orchestration/memory-integration.js +130 -0
  244. package/dist/orchestration/orchestrator.d.ts +67 -0
  245. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  246. package/dist/orchestration/orchestrator.js +174 -0
  247. package/dist/orchestration/runtime.d.ts +82 -0
  248. package/dist/orchestration/runtime.d.ts.map +1 -0
  249. package/dist/orchestration/runtime.js +251 -0
  250. package/dist/orchestration/streaming-runtime.d.ts +36 -0
  251. package/dist/orchestration/streaming-runtime.d.ts.map +1 -0
  252. package/dist/orchestration/streaming-runtime.js +175 -0
  253. package/dist/orchestration/ticket-agent.d.ts +70 -0
  254. package/dist/orchestration/ticket-agent.d.ts.map +1 -0
  255. package/dist/orchestration/ticket-agent.js +146 -0
  256. package/dist/skills/activation/index.d.ts +7 -0
  257. package/dist/skills/activation/index.d.ts.map +1 -0
  258. package/dist/skills/activation/index.js +6 -0
  259. package/dist/skills/activation/skill-activator.d.ts +68 -0
  260. package/dist/skills/activation/skill-activator.d.ts.map +1 -0
  261. package/dist/skills/activation/skill-activator.js +224 -0
  262. package/dist/skills/catalog/catalog-search.d.ts +55 -0
  263. package/dist/skills/catalog/catalog-search.d.ts.map +1 -0
  264. package/dist/skills/catalog/catalog-search.js +111 -0
  265. package/dist/skills/catalog/catalog-types.d.ts +81 -0
  266. package/dist/skills/catalog/catalog-types.d.ts.map +1 -0
  267. package/dist/skills/catalog/catalog-types.js +66 -0
  268. package/dist/skills/catalog/index.d.ts +9 -0
  269. package/dist/skills/catalog/index.d.ts.map +1 -0
  270. package/dist/skills/catalog/index.js +7 -0
  271. package/dist/skills/catalog/vercel-catalog.d.ts +42 -0
  272. package/dist/skills/catalog/vercel-catalog.d.ts.map +1 -0
  273. package/dist/skills/catalog/vercel-catalog.js +189 -0
  274. package/dist/skills/compat/index.d.ts +9 -0
  275. package/dist/skills/compat/index.d.ts.map +1 -0
  276. package/dist/skills/compat/index.js +8 -0
  277. package/dist/skills/compat/skill-enhancer.d.ts +37 -0
  278. package/dist/skills/compat/skill-enhancer.d.ts.map +1 -0
  279. package/dist/skills/compat/skill-enhancer.js +76 -0
  280. package/dist/skills/compat/tool-mapper.d.ts +61 -0
  281. package/dist/skills/compat/tool-mapper.d.ts.map +1 -0
  282. package/dist/skills/compat/tool-mapper.js +168 -0
  283. package/dist/skills/compat/vercel-compat.d.ts +33 -0
  284. package/dist/skills/compat/vercel-compat.d.ts.map +1 -0
  285. package/dist/skills/compat/vercel-compat.js +132 -0
  286. package/dist/skills/index.d.ts +40 -0
  287. package/dist/skills/index.d.ts.map +1 -0
  288. package/dist/skills/index.js +47 -0
  289. package/dist/skills/integration/agent-skill-provider.d.ts +94 -0
  290. package/dist/skills/integration/agent-skill-provider.d.ts.map +1 -0
  291. package/dist/skills/integration/agent-skill-provider.js +161 -0
  292. package/dist/skills/integration/index.d.ts +7 -0
  293. package/dist/skills/integration/index.d.ts.map +1 -0
  294. package/dist/skills/integration/index.js +6 -0
  295. package/dist/skills/loader/github-loader.d.ts +61 -0
  296. package/dist/skills/loader/github-loader.d.ts.map +1 -0
  297. package/dist/skills/loader/github-loader.js +176 -0
  298. package/dist/skills/loader/index.d.ts +10 -0
  299. package/dist/skills/loader/index.d.ts.map +1 -0
  300. package/dist/skills/loader/index.js +9 -0
  301. package/dist/skills/loader/local-loader.d.ts +56 -0
  302. package/dist/skills/loader/local-loader.d.ts.map +1 -0
  303. package/dist/skills/loader/local-loader.js +186 -0
  304. package/dist/skills/loader/vercel-loader.d.ts +64 -0
  305. package/dist/skills/loader/vercel-loader.d.ts.map +1 -0
  306. package/dist/skills/loader/vercel-loader.js +313 -0
  307. package/dist/skills/loader/vercel-types.d.ts +64 -0
  308. package/dist/skills/loader/vercel-types.d.ts.map +1 -0
  309. package/dist/skills/loader/vercel-types.js +55 -0
  310. package/dist/skills/parser/index.d.ts +7 -0
  311. package/dist/skills/parser/index.d.ts.map +1 -0
  312. package/dist/skills/parser/index.js +6 -0
  313. package/dist/skills/parser/skill-md-parser.d.ts +64 -0
  314. package/dist/skills/parser/skill-md-parser.d.ts.map +1 -0
  315. package/dist/skills/parser/skill-md-parser.js +242 -0
  316. package/dist/skills/registry/index.d.ts +7 -0
  317. package/dist/skills/registry/index.d.ts.map +1 -0
  318. package/dist/skills/registry/index.js +6 -0
  319. package/dist/skills/registry/skill-registry.d.ts +133 -0
  320. package/dist/skills/registry/skill-registry.d.ts.map +1 -0
  321. package/dist/skills/registry/skill-registry.js +373 -0
  322. package/dist/skills/types.d.ts +216 -0
  323. package/dist/skills/types.d.ts.map +1 -0
  324. package/dist/skills/types.js +176 -0
  325. package/dist/templates/agent-spec.d.ts +138 -0
  326. package/dist/templates/agent-spec.d.ts.map +1 -0
  327. package/dist/templates/agent-spec.js +138 -0
  328. package/dist/templates/index.d.ts +56 -0
  329. package/dist/templates/index.d.ts.map +1 -0
  330. package/dist/templates/index.js +58 -0
  331. package/dist/templates/prompt-spec.d.ts +140 -0
  332. package/dist/templates/prompt-spec.d.ts.map +1 -0
  333. package/dist/templates/prompt-spec.js +210 -0
  334. package/dist/templates/skill-spec.d.ts +106 -0
  335. package/dist/templates/skill-spec.d.ts.map +1 -0
  336. package/dist/templates/skill-spec.js +119 -0
  337. package/dist/tools/base.d.ts +74 -0
  338. package/dist/tools/base.d.ts.map +1 -0
  339. package/dist/tools/base.js +6 -0
  340. package/dist/tools/cms/collection-tools.d.ts +36 -0
  341. package/dist/tools/cms/collection-tools.d.ts.map +1 -0
  342. package/dist/tools/cms/collection-tools.js +178 -0
  343. package/dist/tools/cms/factory.d.ts +89 -0
  344. package/dist/tools/cms/factory.d.ts.map +1 -0
  345. package/dist/tools/cms/factory.js +462 -0
  346. package/dist/tools/cms/global-tools.d.ts +21 -0
  347. package/dist/tools/cms/global-tools.d.ts.map +1 -0
  348. package/dist/tools/cms/global-tools.js +92 -0
  349. package/dist/tools/cms/index.d.ts +11 -0
  350. package/dist/tools/cms/index.d.ts.map +1 -0
  351. package/dist/tools/cms/index.js +11 -0
  352. package/dist/tools/cms/media-tools.d.ts +31 -0
  353. package/dist/tools/cms/media-tools.d.ts.map +1 -0
  354. package/dist/tools/cms/media-tools.js +140 -0
  355. package/dist/tools/cms/user-tools.d.ts +31 -0
  356. package/dist/tools/cms/user-tools.d.ts.map +1 -0
  357. package/dist/tools/cms/user-tools.js +135 -0
  358. package/dist/tools/deduplicator.d.ts +19 -0
  359. package/dist/tools/deduplicator.d.ts.map +1 -0
  360. package/dist/tools/deduplicator.js +53 -0
  361. package/dist/tools/document-summarizer.d.ts +11 -0
  362. package/dist/tools/document-summarizer.d.ts.map +1 -0
  363. package/dist/tools/document-summarizer.js +82 -0
  364. package/dist/tools/mcp-adapter.d.ts +66 -0
  365. package/dist/tools/mcp-adapter.d.ts.map +1 -0
  366. package/dist/tools/mcp-adapter.js +152 -0
  367. package/dist/tools/memory/index.d.ts +3 -0
  368. package/dist/tools/memory/index.d.ts.map +1 -0
  369. package/dist/tools/memory/index.js +1 -0
  370. package/dist/tools/memory/store-memory.d.ts +39 -0
  371. package/dist/tools/memory/store-memory.d.ts.map +1 -0
  372. package/dist/tools/memory/store-memory.js +94 -0
  373. package/dist/tools/registry.d.ts +14 -0
  374. package/dist/tools/registry.d.ts.map +1 -0
  375. package/dist/tools/registry.js +48 -0
  376. package/dist/tools/ticket-tools.d.ts +31 -0
  377. package/dist/tools/ticket-tools.d.ts.map +1 -0
  378. package/dist/tools/ticket-tools.js +74 -0
  379. package/dist/tools/web/duck-duck-go.d.ts +52 -0
  380. package/dist/tools/web/duck-duck-go.d.ts.map +1 -0
  381. package/dist/tools/web/duck-duck-go.js +202 -0
  382. package/dist/tools/web/exa.d.ts +34 -0
  383. package/dist/tools/web/exa.d.ts.map +1 -0
  384. package/dist/tools/web/exa.js +80 -0
  385. package/dist/tools/web/index.d.ts +6 -0
  386. package/dist/tools/web/index.d.ts.map +1 -0
  387. package/dist/tools/web/index.js +4 -0
  388. package/dist/tools/web/scraper.d.ts +9 -0
  389. package/dist/tools/web/scraper.d.ts.map +1 -0
  390. package/dist/tools/web/scraper.js +118 -0
  391. package/dist/tools/web/tavily.d.ts +32 -0
  392. package/dist/tools/web/tavily.d.ts.map +1 -0
  393. package/dist/tools/web/tavily.js +73 -0
  394. package/dist/tools/web/types.d.ts +31 -0
  395. package/dist/tools/web/types.d.ts.map +1 -0
  396. package/dist/tools/web/types.js +9 -0
  397. package/package.json +143 -0
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Procedural Memory
3
+ *
4
+ * Stores and executes named workflows for AI agents.
5
+ * Workflows are sequences of typed steps that can be run
6
+ * sequentially or in parallel.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const mem = new ProceduralMemory()
11
+ *
12
+ * mem.register('onboard-user', [
13
+ * { id: 'welcome', type: 'action', label: 'Send welcome email',
14
+ * execute: async (ctx) => { ... } },
15
+ * { id: 'create-profile', type: 'action', label: 'Init profile',
16
+ * execute: async (ctx) => { ... } },
17
+ * ])
18
+ *
19
+ * const result = await mem.execute('onboard-user', { userId: 'u1' })
20
+ * ```
21
+ */
22
+ // =============================================================================
23
+ // ProceduralMemory
24
+ // =============================================================================
25
+ /**
26
+ * Procedural Memory stores named workflow definitions and executes them
27
+ * against a shared context object.
28
+ */
29
+ export class ProceduralMemory {
30
+ workflows = new Map();
31
+ /**
32
+ * Register a new workflow.
33
+ * If a workflow with the same name already exists it is overwritten.
34
+ */
35
+ register(name, steps, description) {
36
+ this.workflows.set(name, { name, description, steps, createdAt: Date.now() });
37
+ }
38
+ /**
39
+ * Unregister a workflow by name.
40
+ */
41
+ unregister(name) {
42
+ this.workflows.delete(name);
43
+ }
44
+ /**
45
+ * Check whether a workflow is registered.
46
+ */
47
+ has(name) {
48
+ return this.workflows.has(name);
49
+ }
50
+ /**
51
+ * List all registered workflow names.
52
+ */
53
+ listWorkflows() {
54
+ return Array.from(this.workflows.keys());
55
+ }
56
+ /**
57
+ * Get the definition for a registered workflow.
58
+ */
59
+ getDefinition(name) {
60
+ return this.workflows.get(name);
61
+ }
62
+ /**
63
+ * Execute a workflow by name.
64
+ *
65
+ * Steps marked `parallel: true` are executed concurrently with the
66
+ * immediately following step(s). All other steps run sequentially.
67
+ *
68
+ * @param name - Registered workflow name
69
+ * @param context - Initial context object passed to each step
70
+ * @throws {Error} If the workflow is not registered
71
+ */
72
+ async execute(name, context = {}) {
73
+ const workflow = this.workflows.get(name);
74
+ if (!workflow) {
75
+ throw new Error(`Workflow "${name}" is not registered`);
76
+ }
77
+ const stepResults = [];
78
+ const startTime = Date.now();
79
+ // Group steps into sequential "batches". Consecutive steps that have
80
+ // parallel:true are collected into one batch and run with Promise.all.
81
+ const batches = buildBatches(workflow.steps);
82
+ for (const batch of batches) {
83
+ if (batch.length === 1) {
84
+ // Sequential step
85
+ // biome-ignore lint/style/noNonNullAssertion: batch[0] is guaranteed by batch.length === 1 check above
86
+ const step = batch[0];
87
+ try {
88
+ const result = await step.execute(context);
89
+ stepResults.push({ id: step.id, status: 'ok', result });
90
+ }
91
+ catch (err) {
92
+ stepResults.push({
93
+ id: step.id,
94
+ status: 'error',
95
+ error: err instanceof Error ? err.message : String(err),
96
+ });
97
+ }
98
+ }
99
+ else {
100
+ // Parallel batch
101
+ const settled = await Promise.allSettled(batch.map((s) => s.execute(context)));
102
+ for (let i = 0; i < batch.length; i++) {
103
+ // biome-ignore lint/style/noNonNullAssertion: i is bounded by batch.length, so settled[i] and batch[i] are always defined
104
+ const outcome = settled[i];
105
+ // biome-ignore lint/style/noNonNullAssertion: i is bounded by batch.length, so batch[i] is always defined
106
+ const batchStep = batch[i];
107
+ if (outcome.status === 'fulfilled') {
108
+ const { value } = outcome;
109
+ stepResults.push({ id: batchStep.id, status: 'ok', result: value });
110
+ }
111
+ else {
112
+ const { reason } = outcome;
113
+ stepResults.push({
114
+ id: batchStep.id,
115
+ status: 'error',
116
+ error: reason instanceof Error ? reason.message : String(reason),
117
+ });
118
+ }
119
+ }
120
+ }
121
+ }
122
+ const success = stepResults.every((r) => r.status === 'ok');
123
+ return {
124
+ workflow: name,
125
+ success,
126
+ steps: stepResults,
127
+ durationMs: Date.now() - startTime,
128
+ };
129
+ }
130
+ }
131
+ // =============================================================================
132
+ // Helpers
133
+ // =============================================================================
134
+ /**
135
+ * Group steps into sequential batches.
136
+ * A step with `parallel: true` is placed in the same batch as the next step.
137
+ */
138
+ function buildBatches(steps) {
139
+ const batches = [];
140
+ let current = [];
141
+ for (const step of steps) {
142
+ current.push(step);
143
+ if (!step.parallel) {
144
+ batches.push(current);
145
+ current = [];
146
+ }
147
+ }
148
+ if (current.length > 0) {
149
+ batches.push(current);
150
+ }
151
+ return batches;
152
+ }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Semantic Memory
3
+ *
4
+ * Knowledge base with vector similarity search for AI agents.
5
+ * Stores content with optional embeddings and supports semantic
6
+ * retrieval via cosine similarity ranking.
7
+ *
8
+ * Designed to work standalone (in-memory) for testing and
9
+ * with a vector store (Supabase pgvector) in production.
10
+ */
11
+ export interface SemanticEntry {
12
+ key: string;
13
+ content: string;
14
+ embedding?: number[];
15
+ metadata?: Record<string, unknown>;
16
+ storedAt: number;
17
+ expiresAt?: number;
18
+ }
19
+ export interface SemanticSearchResult {
20
+ key: string;
21
+ content: string;
22
+ score: number;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export interface SemanticMemoryOptions {
26
+ /** Maximum number of entries to retain. Oldest are evicted first. */
27
+ maxEntries?: number;
28
+ /** Default TTL in milliseconds. Entries expire after this duration. */
29
+ ttlMs?: number;
30
+ }
31
+ /**
32
+ * Semantic Memory for knowledge-base storage and retrieval.
33
+ *
34
+ * Provides cosine-similarity search over stored entries.
35
+ * When embeddings are not provided, falls back to keyword matching.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const memory = new SemanticMemory({ maxEntries: 1000, ttlMs: 24 * 60 * 60 * 1000 })
40
+ *
41
+ * await memory.store('pref:theme', 'User prefers dark mode', [0.1, 0.9, 0.3])
42
+ *
43
+ * const results = await memory.search([0.1, 0.9, 0.3], 3)
44
+ * // results[0].content === 'User prefers dark mode'
45
+ *
46
+ * await memory.delete('pref:theme')
47
+ * ```
48
+ */
49
+ export declare class SemanticMemory {
50
+ private entries;
51
+ private readonly maxEntries;
52
+ private readonly ttlMs;
53
+ constructor(options?: SemanticMemoryOptions);
54
+ /**
55
+ * Store a content entry with an optional embedding vector.
56
+ *
57
+ * If the store is at capacity, the oldest entry is evicted first.
58
+ */
59
+ store(key: string, content: string, embedding?: number[], metadata?: Record<string, unknown>): Promise<void>;
60
+ /**
61
+ * Retrieve an entry by exact key.
62
+ */
63
+ get(key: string): Promise<SemanticEntry | null>;
64
+ /**
65
+ * Delete an entry by key.
66
+ */
67
+ delete(key: string): Promise<void>;
68
+ /**
69
+ * Search for the top-K most similar entries to a query embedding.
70
+ *
71
+ * Uses cosine similarity when both the query and entry have embeddings.
72
+ * Falls back to returning all non-expired entries ordered by recency when
73
+ * embeddings are absent.
74
+ *
75
+ * @param queryEmbedding - Query vector
76
+ * @param topK - Maximum number of results to return (default 5)
77
+ */
78
+ search(queryEmbedding: number[], topK?: number): Promise<SemanticSearchResult[]>;
79
+ /**
80
+ * Return all non-expired entries.
81
+ */
82
+ list(): SemanticEntry[];
83
+ /**
84
+ * Number of stored entries (excluding expired ones).
85
+ */
86
+ get size(): number;
87
+ /**
88
+ * Remove all expired entries from the store.
89
+ */
90
+ private evictExpired;
91
+ }
92
+ //# sourceMappingURL=semantic-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/semantic-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;gBAE9B,OAAO,GAAE,qBAA0B;IAK/C;;;;OAIG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAyBhB;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;;;;;OASG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAejF;;OAEG;IACH,IAAI,IAAI,aAAa,EAAE;IAKvB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Semantic Memory
3
+ *
4
+ * Knowledge base with vector similarity search for AI agents.
5
+ * Stores content with optional embeddings and supports semantic
6
+ * retrieval via cosine similarity ranking.
7
+ *
8
+ * Designed to work standalone (in-memory) for testing and
9
+ * with a vector store (Supabase pgvector) in production.
10
+ */
11
+ import { validateContext } from '../utils/validation.js';
12
+ // =============================================================================
13
+ // SemanticMemory
14
+ // =============================================================================
15
+ /**
16
+ * Semantic Memory for knowledge-base storage and retrieval.
17
+ *
18
+ * Provides cosine-similarity search over stored entries.
19
+ * When embeddings are not provided, falls back to keyword matching.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const memory = new SemanticMemory({ maxEntries: 1000, ttlMs: 24 * 60 * 60 * 1000 })
24
+ *
25
+ * await memory.store('pref:theme', 'User prefers dark mode', [0.1, 0.9, 0.3])
26
+ *
27
+ * const results = await memory.search([0.1, 0.9, 0.3], 3)
28
+ * // results[0].content === 'User prefers dark mode'
29
+ *
30
+ * await memory.delete('pref:theme')
31
+ * ```
32
+ */
33
+ export class SemanticMemory {
34
+ entries = new Map();
35
+ maxEntries;
36
+ ttlMs;
37
+ constructor(options = {}) {
38
+ this.maxEntries = options.maxEntries ?? 10_000;
39
+ this.ttlMs = options.ttlMs;
40
+ }
41
+ /**
42
+ * Store a content entry with an optional embedding vector.
43
+ *
44
+ * If the store is at capacity, the oldest entry is evicted first.
45
+ */
46
+ async store(key, content, embedding, metadata) {
47
+ if (metadata) {
48
+ validateContext(metadata);
49
+ }
50
+ // Evict oldest if at capacity (and not overwriting an existing key)
51
+ if (!this.entries.has(key) && this.entries.size >= this.maxEntries) {
52
+ const oldest = this.entries.keys().next().value;
53
+ if (oldest !== undefined) {
54
+ this.entries.delete(oldest);
55
+ }
56
+ }
57
+ const entry = {
58
+ key,
59
+ content,
60
+ embedding,
61
+ metadata,
62
+ storedAt: Date.now(),
63
+ expiresAt: this.ttlMs !== undefined ? Date.now() + this.ttlMs : undefined,
64
+ };
65
+ this.entries.set(key, entry);
66
+ }
67
+ /**
68
+ * Retrieve an entry by exact key.
69
+ */
70
+ async get(key) {
71
+ const entry = this.entries.get(key);
72
+ if (!entry)
73
+ return null;
74
+ if (entry.expiresAt !== undefined && entry.expiresAt < Date.now()) {
75
+ this.entries.delete(key);
76
+ return null;
77
+ }
78
+ return entry;
79
+ }
80
+ /**
81
+ * Delete an entry by key.
82
+ */
83
+ async delete(key) {
84
+ this.entries.delete(key);
85
+ }
86
+ /**
87
+ * Search for the top-K most similar entries to a query embedding.
88
+ *
89
+ * Uses cosine similarity when both the query and entry have embeddings.
90
+ * Falls back to returning all non-expired entries ordered by recency when
91
+ * embeddings are absent.
92
+ *
93
+ * @param queryEmbedding - Query vector
94
+ * @param topK - Maximum number of results to return (default 5)
95
+ */
96
+ async search(queryEmbedding, topK = 5) {
97
+ this.evictExpired();
98
+ const results = [];
99
+ for (const entry of this.entries.values()) {
100
+ const score = entry.embedding !== undefined ? cosineSimilarity(queryEmbedding, entry.embedding) : 0; // No embedding → score 0 (will appear last)
101
+ results.push({ key: entry.key, content: entry.content, score, metadata: entry.metadata });
102
+ }
103
+ return results.sort((a, b) => b.score - a.score).slice(0, topK);
104
+ }
105
+ /**
106
+ * Return all non-expired entries.
107
+ */
108
+ list() {
109
+ this.evictExpired();
110
+ return Array.from(this.entries.values());
111
+ }
112
+ /**
113
+ * Number of stored entries (excluding expired ones).
114
+ */
115
+ get size() {
116
+ this.evictExpired();
117
+ return this.entries.size;
118
+ }
119
+ /**
120
+ * Remove all expired entries from the store.
121
+ */
122
+ evictExpired() {
123
+ const now = Date.now();
124
+ for (const [key, entry] of this.entries.entries()) {
125
+ if (entry.expiresAt !== undefined && entry.expiresAt < now) {
126
+ this.entries.delete(key);
127
+ }
128
+ }
129
+ }
130
+ }
131
+ // =============================================================================
132
+ // Helpers
133
+ // =============================================================================
134
+ /**
135
+ * Cosine similarity between two equal-length vectors.
136
+ * Returns a value in [-1, 1]. Returns 0 for zero-magnitude vectors.
137
+ */
138
+ function cosineSimilarity(a, b) {
139
+ if (a.length !== b.length || a.length === 0)
140
+ return 0;
141
+ let dot = 0;
142
+ let magA = 0;
143
+ let magB = 0;
144
+ for (let i = 0; i < a.length; i++) {
145
+ // biome-ignore lint/style/noNonNullAssertion: i is bounded by a.length, and b has same length (checked above)
146
+ const ai = a[i];
147
+ // biome-ignore lint/style/noNonNullAssertion: i is bounded by a.length === b.length (checked above)
148
+ const bi = b[i];
149
+ dot += ai * bi;
150
+ magA += ai * ai;
151
+ magB += bi * bi;
152
+ }
153
+ const denom = Math.sqrt(magA) * Math.sqrt(magB);
154
+ return denom === 0 ? 0 : dot / denom;
155
+ }
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Working Memory
3
+ *
4
+ * Short-term, session-scoped memory for AI agents.
5
+ * Uses CRDTs for conflict-free state management across distributed nodes.
6
+ *
7
+ * - Context: LWWRegister for single-valued state (last writer wins)
8
+ * - Active Agents: ORSet for collection of active agent configurations
9
+ * - Session State: LWWRegister for session metadata
10
+ */
11
+ import type { AgentDefinition } from '@revealui/contracts/agents';
12
+ import { type LWWRegisterData } from '../crdt/lww-register.js';
13
+ import { type ORSetData } from '../crdt/or-set.js';
14
+ import type { CRDTPersistence } from '../persistence/crdt-persistence.js';
15
+ export interface SessionState {
16
+ status: 'active' | 'paused' | 'completed';
17
+ focus?: {
18
+ siteId?: string;
19
+ pageId?: string;
20
+ blockId?: string;
21
+ selection?: string[];
22
+ };
23
+ currentTask?: {
24
+ id: string;
25
+ description: string;
26
+ status: 'pending' | 'running' | 'completed' | 'failed';
27
+ progress?: number;
28
+ };
29
+ }
30
+ export interface WorkingMemoryData {
31
+ sessionId: string;
32
+ nodeId: string;
33
+ context: LWWRegisterData<Record<string, unknown>>;
34
+ sessionState: LWWRegisterData<SessionState>;
35
+ activeAgents: ORSetData<AgentDefinition>;
36
+ }
37
+ /**
38
+ * Working Memory for session-scoped agent state.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const memory = new WorkingMemory('session-123', 'node-abc')
43
+ * await memory.load()
44
+ *
45
+ * memory.setContext({ userId: 'user-1', theme: 'dark' })
46
+ * const agentTag = memory.addAgent(agentConfig)
47
+ * memory.updateSessionState({ status: 'active' })
48
+ *
49
+ * await memory.save()
50
+ * ```
51
+ */
52
+ export declare class WorkingMemory {
53
+ private context;
54
+ private sessionState;
55
+ private activeAgents;
56
+ private sessionId;
57
+ private nodeId;
58
+ private persistence?;
59
+ /**
60
+ * Creates a new WorkingMemory instance.
61
+ *
62
+ * @param sessionId - Unique session identifier
63
+ * @param nodeId - Unique node identifier (for CRDT operations)
64
+ * @param persistence - Optional persistence adapter
65
+ */
66
+ constructor(sessionId: string, nodeId: string, persistence?: CRDTPersistence);
67
+ /**
68
+ * Sets the entire context object.
69
+ *
70
+ * @param context - Context data to set
71
+ */
72
+ /**
73
+ * Sets the entire context object.
74
+ *
75
+ * **Performance Note**: This replaces the entire context. For partial updates,
76
+ * use `updateContext()` or `setContextValue()`.
77
+ *
78
+ * **Validation**: The context is validated by LWWRegister (which clones values),
79
+ * but for additional security, consider validating before calling this method.
80
+ *
81
+ * @param context - The complete context object
82
+ */
83
+ setContext(context: Record<string, unknown>): void;
84
+ /**
85
+ * Gets the current context.
86
+ *
87
+ * @returns Current context object
88
+ */
89
+ getContext(): Record<string, unknown>;
90
+ /**
91
+ * Updates context with partial data.
92
+ * Merges with existing context.
93
+ *
94
+ * @param updates - Partial context updates
95
+ */
96
+ updateContext(updates: Partial<Record<string, unknown>>): void;
97
+ /**
98
+ * Gets a specific context value.
99
+ *
100
+ * @param key - Context key
101
+ * @returns Context value or undefined
102
+ */
103
+ /**
104
+ * Gets a specific context value by key.
105
+ *
106
+ * **Immutability Guarantee**: Returns a deep clone of object/array values to prevent external mutations.
107
+ * Primitives (strings, numbers, booleans, null) are returned as-is.
108
+ *
109
+ * @param key - The context key to retrieve
110
+ * @returns The context value (cloned if object/array, direct reference if primitive)
111
+ */
112
+ getContextValue(key: string): unknown;
113
+ /**
114
+ * Sets a specific context value.
115
+ *
116
+ * **Performance Note**: This method clones the entire context object to update
117
+ * a single key. For multiple updates, use `updateContext()` instead.
118
+ *
119
+ * @param key - Context key
120
+ * @param value - Context value
121
+ */
122
+ setContextValue(key: string, value: unknown): void;
123
+ /**
124
+ * Adds an agent to the active agents set.
125
+ *
126
+ * @param agent - Agent configuration
127
+ * @returns Unique tag for this agent addition
128
+ */
129
+ addAgent(agent: AgentDefinition): string;
130
+ /**
131
+ * Removes an agent by tag.
132
+ *
133
+ * @param tag - Tag returned from addAgent
134
+ * @returns true if agent was removed
135
+ */
136
+ removeAgent(tag: string): boolean;
137
+ /**
138
+ * Removes an agent by ID (removes all instances).
139
+ *
140
+ * @param agentId - Agent ID to remove
141
+ * @returns Number of instances removed
142
+ */
143
+ removeAgentById(agentId: string): number;
144
+ /**
145
+ * Gets all active agents.
146
+ *
147
+ * @returns Array of active agent configurations
148
+ */
149
+ getActiveAgents(): AgentDefinition[];
150
+ /**
151
+ * Checks if an agent is active.
152
+ *
153
+ * @param agentId - Agent ID to check
154
+ * @returns true if agent is active
155
+ */
156
+ hasAgent(agentId: string): boolean;
157
+ /**
158
+ * Updates session state with partial data.
159
+ *
160
+ * @param state - Partial session state
161
+ */
162
+ updateSessionState(state: Partial<SessionState>): void;
163
+ /**
164
+ * Gets the current session state.
165
+ *
166
+ * @returns Current session state
167
+ */
168
+ getSessionState(): SessionState;
169
+ /**
170
+ * Merges another WorkingMemory into this one.
171
+ * Uses CRDT merge operations for conflict resolution.
172
+ *
173
+ * @param other - WorkingMemory to merge
174
+ * @returns New merged WorkingMemory
175
+ */
176
+ merge(other: WorkingMemory): WorkingMemory;
177
+ /**
178
+ * Loads state from database.
179
+ *
180
+ * @throws Error if persistence is not configured
181
+ */
182
+ load(): Promise<void>;
183
+ /**
184
+ * Saves state to database.
185
+ *
186
+ * @throws Error if persistence is not configured
187
+ */
188
+ save(): Promise<void>;
189
+ /**
190
+ * Serializes WorkingMemory to plain object.
191
+ *
192
+ * @returns Serialized data
193
+ */
194
+ toData(): WorkingMemoryData;
195
+ /**
196
+ * Deserializes WorkingMemory from plain object.
197
+ *
198
+ * @param data - Serialized data
199
+ * @param persistence - Optional persistence adapter
200
+ * @returns New WorkingMemory instance
201
+ */
202
+ static fromData(data: WorkingMemoryData, persistence?: CRDTPersistence): WorkingMemory;
203
+ /**
204
+ * Creates a copy of this WorkingMemory.
205
+ *
206
+ * @returns New WorkingMemory with same state
207
+ */
208
+ clone(): WorkingMemory;
209
+ /**
210
+ * Gets the session ID.
211
+ */
212
+ getSessionId(): string;
213
+ /**
214
+ * Gets the node ID.
215
+ */
216
+ getNodeId(): string;
217
+ /**
218
+ * Gets the context register's timestamp.
219
+ * Used for proper CRDT merge semantics.
220
+ *
221
+ * @returns Timestamp of the last context update
222
+ */
223
+ getContextTimestamp(): number;
224
+ }
225
+ //# sourceMappingURL=working-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/working-memory.ts"],"names":[],"mappings":"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"}