@psiclawops/hypermem 0.9.1 → 0.9.3

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 (921) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/INSTALL.md +11 -2
  3. package/README.md +24 -24
  4. package/dist/adaptive-lifecycle.d.ts +81 -0
  5. package/dist/adaptive-lifecycle.d.ts.map +1 -0
  6. package/dist/adaptive-lifecycle.js +190 -0
  7. package/dist/background-indexer.d.ts +161 -0
  8. package/dist/background-indexer.d.ts.map +1 -0
  9. package/dist/background-indexer.js +1263 -0
  10. package/dist/budget-policy.d.ts +22 -0
  11. package/dist/budget-policy.d.ts.map +1 -0
  12. package/dist/budget-policy.js +32 -0
  13. package/dist/cache.d.ts +148 -0
  14. package/dist/cache.d.ts.map +1 -0
  15. package/dist/cache.js +571 -0
  16. package/dist/compaction-fence.d.ts +97 -0
  17. package/dist/compaction-fence.d.ts.map +1 -0
  18. package/dist/compaction-fence.js +174 -0
  19. package/dist/composition-snapshot-integrity.d.ts +36 -0
  20. package/dist/composition-snapshot-integrity.d.ts.map +1 -0
  21. package/dist/composition-snapshot-integrity.js +131 -0
  22. package/dist/composition-snapshot-runtime.d.ts +59 -0
  23. package/dist/composition-snapshot-runtime.d.ts.map +1 -0
  24. package/dist/composition-snapshot-runtime.js +250 -0
  25. package/dist/composition-snapshot-store.d.ts +44 -0
  26. package/dist/composition-snapshot-store.d.ts.map +1 -0
  27. package/dist/composition-snapshot-store.js +117 -0
  28. package/dist/compositor.d.ts +518 -0
  29. package/dist/compositor.d.ts.map +1 -0
  30. package/dist/compositor.js +4280 -0
  31. package/dist/content-type-classifier.d.ts +41 -0
  32. package/dist/content-type-classifier.d.ts.map +1 -0
  33. package/dist/content-type-classifier.js +181 -0
  34. package/dist/context-backfill.d.ts +46 -0
  35. package/dist/context-backfill.d.ts.map +1 -0
  36. package/dist/context-backfill.js +113 -0
  37. package/dist/context-store.d.ts +131 -0
  38. package/dist/context-store.d.ts.map +1 -0
  39. package/dist/context-store.js +279 -0
  40. package/dist/contradiction-audit-store.d.ts +54 -0
  41. package/dist/contradiction-audit-store.d.ts.map +1 -0
  42. package/dist/contradiction-audit-store.js +88 -0
  43. package/dist/contradiction-detector.d.ts +78 -0
  44. package/dist/contradiction-detector.d.ts.map +1 -0
  45. package/dist/contradiction-detector.js +362 -0
  46. package/dist/contradiction-resolution-policy.d.ts +21 -0
  47. package/dist/contradiction-resolution-policy.d.ts.map +1 -0
  48. package/dist/contradiction-resolution-policy.js +17 -0
  49. package/dist/cross-agent.d.ts +74 -0
  50. package/dist/cross-agent.d.ts.map +1 -0
  51. package/dist/cross-agent.js +271 -0
  52. package/dist/db.d.ts +131 -0
  53. package/dist/db.d.ts.map +1 -0
  54. package/dist/db.js +410 -0
  55. package/dist/degradation.d.ts +102 -0
  56. package/dist/degradation.d.ts.map +1 -0
  57. package/dist/degradation.js +141 -0
  58. package/dist/desired-state-store.d.ts +100 -0
  59. package/dist/desired-state-store.d.ts.map +1 -0
  60. package/dist/desired-state-store.js +222 -0
  61. package/dist/doc-chunk-store.d.ts +159 -0
  62. package/dist/doc-chunk-store.d.ts.map +1 -0
  63. package/dist/doc-chunk-store.js +441 -0
  64. package/dist/doc-chunker.d.ts +99 -0
  65. package/dist/doc-chunker.d.ts.map +1 -0
  66. package/dist/doc-chunker.js +324 -0
  67. package/dist/dreaming-promoter.d.ts +124 -0
  68. package/dist/dreaming-promoter.d.ts.map +1 -0
  69. package/dist/dreaming-promoter.js +447 -0
  70. package/dist/episode-store.d.ts +49 -0
  71. package/dist/episode-store.d.ts.map +1 -0
  72. package/dist/episode-store.js +135 -0
  73. package/dist/expertise-store.d.ts +129 -0
  74. package/dist/expertise-store.d.ts.map +1 -0
  75. package/dist/expertise-store.js +342 -0
  76. package/dist/fact-store.d.ts +90 -0
  77. package/dist/fact-store.d.ts.map +1 -0
  78. package/dist/fact-store.js +283 -0
  79. package/dist/fleet-store.d.ts +144 -0
  80. package/dist/fleet-store.d.ts.map +1 -0
  81. package/dist/fleet-store.js +276 -0
  82. package/dist/fos-mod.d.ts +178 -0
  83. package/dist/fos-mod.d.ts.map +1 -0
  84. package/dist/fos-mod.js +416 -0
  85. package/dist/hybrid-retrieval.d.ts +102 -0
  86. package/dist/hybrid-retrieval.d.ts.map +1 -0
  87. package/dist/hybrid-retrieval.js +429 -0
  88. package/dist/image-eviction.d.ts +49 -0
  89. package/dist/image-eviction.d.ts.map +1 -0
  90. package/dist/image-eviction.js +251 -0
  91. package/dist/index.d.ts +735 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +1542 -0
  94. package/dist/keystone-scorer.d.ts +51 -0
  95. package/dist/keystone-scorer.d.ts.map +1 -0
  96. package/dist/keystone-scorer.js +52 -0
  97. package/dist/knowledge-graph.d.ts +110 -0
  98. package/dist/knowledge-graph.d.ts.map +1 -0
  99. package/dist/knowledge-graph.js +305 -0
  100. package/dist/knowledge-lint.d.ts +31 -0
  101. package/dist/knowledge-lint.d.ts.map +1 -0
  102. package/dist/knowledge-lint.js +155 -0
  103. package/dist/knowledge-store.d.ts +75 -0
  104. package/dist/knowledge-store.d.ts.map +1 -0
  105. package/dist/knowledge-store.js +270 -0
  106. package/dist/library-schema.d.ts +31 -0
  107. package/dist/library-schema.d.ts.map +1 -0
  108. package/dist/library-schema.js +1357 -0
  109. package/dist/message-store.d.ts +181 -0
  110. package/dist/message-store.d.ts.map +1 -0
  111. package/dist/message-store.js +577 -0
  112. package/dist/metrics-dashboard.d.ts +131 -0
  113. package/dist/metrics-dashboard.d.ts.map +1 -0
  114. package/dist/metrics-dashboard.js +298 -0
  115. package/dist/obsidian-exporter.d.ts +57 -0
  116. package/dist/obsidian-exporter.d.ts.map +1 -0
  117. package/dist/obsidian-exporter.js +274 -0
  118. package/dist/obsidian-watcher.d.ts +147 -0
  119. package/dist/obsidian-watcher.d.ts.map +1 -0
  120. package/dist/obsidian-watcher.js +403 -0
  121. package/dist/open-domain.d.ts +46 -0
  122. package/dist/open-domain.d.ts.map +1 -0
  123. package/dist/open-domain.js +125 -0
  124. package/dist/preference-store.d.ts +54 -0
  125. package/dist/preference-store.d.ts.map +1 -0
  126. package/dist/preference-store.js +109 -0
  127. package/dist/preservation-gate.d.ts +82 -0
  128. package/dist/preservation-gate.d.ts.map +1 -0
  129. package/dist/preservation-gate.js +150 -0
  130. package/dist/proactive-pass.d.ts +63 -0
  131. package/dist/proactive-pass.d.ts.map +1 -0
  132. package/dist/proactive-pass.js +293 -0
  133. package/dist/profiles.d.ts +46 -0
  134. package/dist/profiles.d.ts.map +1 -0
  135. package/dist/profiles.js +262 -0
  136. package/dist/provider-translator.d.ts +50 -0
  137. package/dist/provider-translator.d.ts.map +1 -0
  138. package/dist/provider-translator.js +403 -0
  139. package/dist/rate-limiter.d.ts +76 -0
  140. package/dist/rate-limiter.d.ts.map +1 -0
  141. package/dist/rate-limiter.js +179 -0
  142. package/dist/repair-tool-pairs.d.ts +38 -0
  143. package/dist/repair-tool-pairs.d.ts.map +1 -0
  144. package/dist/repair-tool-pairs.js +209 -0
  145. package/dist/replay-recovery.d.ts +29 -0
  146. package/dist/replay-recovery.d.ts.map +1 -0
  147. package/dist/replay-recovery.js +82 -0
  148. package/dist/reranker.d.ts +95 -0
  149. package/dist/reranker.d.ts.map +1 -0
  150. package/dist/reranker.js +308 -0
  151. package/dist/retrieval-policy.d.ts +51 -0
  152. package/dist/retrieval-policy.d.ts.map +1 -0
  153. package/dist/retrieval-policy.js +77 -0
  154. package/dist/schema.d.ts +15 -0
  155. package/dist/schema.d.ts.map +1 -0
  156. package/dist/schema.js +327 -0
  157. package/dist/secret-scanner.d.ts +51 -0
  158. package/dist/secret-scanner.d.ts.map +1 -0
  159. package/dist/secret-scanner.js +248 -0
  160. package/dist/seed.d.ts +108 -0
  161. package/dist/seed.d.ts.map +1 -0
  162. package/dist/seed.js +179 -0
  163. package/dist/session-flusher.d.ts +53 -0
  164. package/dist/session-flusher.d.ts.map +1 -0
  165. package/dist/session-flusher.js +69 -0
  166. package/dist/session-topic-map.d.ts +41 -0
  167. package/dist/session-topic-map.d.ts.map +1 -0
  168. package/dist/session-topic-map.js +77 -0
  169. package/dist/spawn-context.d.ts +54 -0
  170. package/dist/spawn-context.d.ts.map +1 -0
  171. package/dist/spawn-context.js +159 -0
  172. package/dist/system-store.d.ts +73 -0
  173. package/dist/system-store.d.ts.map +1 -0
  174. package/dist/system-store.js +182 -0
  175. package/dist/temporal-store.d.ts +81 -0
  176. package/dist/temporal-store.d.ts.map +1 -0
  177. package/dist/temporal-store.js +149 -0
  178. package/dist/tool-artifact-store.d.ts +98 -0
  179. package/dist/tool-artifact-store.d.ts.map +1 -0
  180. package/dist/tool-artifact-store.js +244 -0
  181. package/dist/topic-detector.d.ts +35 -0
  182. package/dist/topic-detector.d.ts.map +1 -0
  183. package/dist/topic-detector.js +249 -0
  184. package/dist/topic-store.d.ts +51 -0
  185. package/dist/topic-store.d.ts.map +1 -0
  186. package/dist/topic-store.js +175 -0
  187. package/dist/topic-synthesizer.d.ts +71 -0
  188. package/dist/topic-synthesizer.d.ts.map +1 -0
  189. package/dist/topic-synthesizer.js +426 -0
  190. package/dist/trigger-registry.d.ts +63 -0
  191. package/dist/trigger-registry.d.ts.map +1 -0
  192. package/dist/trigger-registry.js +171 -0
  193. package/dist/types.d.ts +1085 -0
  194. package/dist/types.d.ts.map +1 -0
  195. package/dist/types.js +9 -0
  196. package/dist/vector-store.d.ts +180 -0
  197. package/dist/vector-store.d.ts.map +1 -0
  198. package/dist/vector-store.js +1041 -0
  199. package/dist/version.d.ts +34 -0
  200. package/dist/version.d.ts.map +1 -0
  201. package/dist/version.js +44 -0
  202. package/dist/wiki-page-emitter.d.ts +65 -0
  203. package/dist/wiki-page-emitter.d.ts.map +1 -0
  204. package/dist/wiki-page-emitter.js +258 -0
  205. package/dist/work-store.d.ts +112 -0
  206. package/dist/work-store.d.ts.map +1 -0
  207. package/dist/work-store.js +273 -0
  208. package/docs/MEMORY_MD_AUTHORING.md +3 -3
  209. package/docs/ROADMAP.md +2 -2
  210. package/install.sh +34 -0
  211. package/memory-plugin/dist/index.d.ts +24 -0
  212. package/memory-plugin/dist/index.js +378 -0
  213. package/memory-plugin/package.json +4 -2
  214. package/node_modules/sqlite-vec/README.md +1 -0
  215. package/node_modules/sqlite-vec/index.cjs +46 -0
  216. package/node_modules/sqlite-vec/index.d.ts +17 -0
  217. package/node_modules/sqlite-vec/index.mjs +47 -0
  218. package/node_modules/sqlite-vec/package.json +1 -0
  219. package/node_modules/sqlite-vec-linux-x64/README.md +1 -0
  220. package/node_modules/sqlite-vec-linux-x64/package.json +1 -0
  221. package/node_modules/sqlite-vec-linux-x64/vec0.so +0 -0
  222. package/node_modules/zod/LICENSE +21 -0
  223. package/node_modules/zod/README.md +208 -0
  224. package/node_modules/zod/index.cjs +33 -0
  225. package/node_modules/zod/index.d.cts +4 -0
  226. package/node_modules/zod/index.d.ts +4 -0
  227. package/node_modules/zod/index.js +4 -0
  228. package/node_modules/zod/locales/index.cjs +17 -0
  229. package/node_modules/zod/locales/index.d.cts +1 -0
  230. package/node_modules/zod/locales/index.d.ts +1 -0
  231. package/node_modules/zod/locales/index.js +1 -0
  232. package/node_modules/zod/locales/package.json +6 -0
  233. package/node_modules/zod/mini/index.cjs +32 -0
  234. package/node_modules/zod/mini/index.d.cts +3 -0
  235. package/node_modules/zod/mini/index.d.ts +3 -0
  236. package/node_modules/zod/mini/index.js +3 -0
  237. package/node_modules/zod/mini/package.json +6 -0
  238. package/node_modules/zod/package.json +135 -0
  239. package/node_modules/zod/src/index.ts +4 -0
  240. package/node_modules/zod/src/locales/index.ts +1 -0
  241. package/node_modules/zod/src/mini/index.ts +3 -0
  242. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  243. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  244. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  245. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  246. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  247. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  248. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  249. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  250. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  251. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  252. package/node_modules/zod/src/v3/errors.ts +13 -0
  253. package/node_modules/zod/src/v3/external.ts +6 -0
  254. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  255. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  256. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  257. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  258. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  259. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  260. package/node_modules/zod/src/v3/index.ts +4 -0
  261. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  262. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  263. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  264. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  265. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  266. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  267. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  268. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  269. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  270. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  271. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  272. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  273. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  274. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  275. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  276. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  277. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  278. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  279. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  280. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  281. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  282. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  283. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  284. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  285. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  286. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  287. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  288. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  289. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  290. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  291. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  292. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  293. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  294. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  295. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  296. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  297. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  298. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  299. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  300. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  301. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  302. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  303. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  304. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  305. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  306. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  307. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  308. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  309. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  310. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  311. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  312. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  313. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  314. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  315. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  316. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  317. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  318. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  319. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  320. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  321. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  322. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  323. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  324. package/node_modules/zod/src/v3/types.ts +5138 -0
  325. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  326. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  327. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  328. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  329. package/node_modules/zod/src/v4/classic/external.ts +51 -0
  330. package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  331. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  332. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  333. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  334. package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  335. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  336. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  337. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  338. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  339. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  340. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  341. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  342. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  343. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  344. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  345. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  346. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  347. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  348. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  349. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  350. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  351. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  352. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  353. package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  354. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  355. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  356. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  357. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  358. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  359. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  360. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  361. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  362. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  363. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  364. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  365. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  366. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  367. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  368. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  369. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  370. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  371. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  372. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  373. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  374. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  375. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  376. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  377. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  378. package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  379. package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  380. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  381. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  382. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  383. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  384. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  385. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  386. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  387. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  388. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  389. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  390. package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
  391. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  392. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  393. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  394. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  395. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  396. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  397. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  398. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  399. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  400. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  401. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
  402. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  403. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  404. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  405. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  406. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  407. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  408. package/node_modules/zod/src/v4/core/api.ts +1798 -0
  409. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  410. package/node_modules/zod/src/v4/core/config.ts +15 -0
  411. package/node_modules/zod/src/v4/core/core.ts +138 -0
  412. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  413. package/node_modules/zod/src/v4/core/errors.ts +448 -0
  414. package/node_modules/zod/src/v4/core/index.ts +16 -0
  415. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  416. package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  417. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  418. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  419. package/node_modules/zod/src/v4/core/regexes.ts +183 -0
  420. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  421. package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
  422. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  423. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  424. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  425. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  426. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  427. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  428. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  429. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  430. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  431. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  432. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  433. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  434. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  435. package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  436. package/node_modules/zod/src/v4/core/util.ts +966 -0
  437. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  438. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  439. package/node_modules/zod/src/v4/index.ts +4 -0
  440. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  441. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  442. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  443. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  444. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  445. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  446. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  447. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  448. package/node_modules/zod/src/v4/locales/en.ts +119 -0
  449. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  450. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  451. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  452. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  453. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  454. package/node_modules/zod/src/v4/locales/fr.ts +116 -0
  455. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  456. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  457. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  458. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  459. package/node_modules/zod/src/v4/locales/index.ts +49 -0
  460. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  461. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  462. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  463. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  464. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  465. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  466. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  467. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  468. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  469. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  470. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  471. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  472. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  473. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  474. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  475. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  476. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  477. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  478. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  479. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  480. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  481. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  482. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  483. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  484. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  485. package/node_modules/zod/src/v4/locales/uz.ts +116 -0
  486. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  487. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  488. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  489. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  490. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  491. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  492. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  493. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  494. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  495. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  496. package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  497. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  498. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  499. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  500. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  501. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  502. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  503. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  504. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  505. package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  506. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  507. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  508. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  509. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  510. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  511. package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  512. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  513. package/node_modules/zod/v3/ZodError.cjs +138 -0
  514. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  515. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  516. package/node_modules/zod/v3/ZodError.js +133 -0
  517. package/node_modules/zod/v3/errors.cjs +17 -0
  518. package/node_modules/zod/v3/errors.d.cts +5 -0
  519. package/node_modules/zod/v3/errors.d.ts +5 -0
  520. package/node_modules/zod/v3/errors.js +9 -0
  521. package/node_modules/zod/v3/external.cjs +22 -0
  522. package/node_modules/zod/v3/external.d.cts +6 -0
  523. package/node_modules/zod/v3/external.d.ts +6 -0
  524. package/node_modules/zod/v3/external.js +6 -0
  525. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  526. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  527. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  528. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  529. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  530. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  531. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  532. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  533. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  534. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  535. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  536. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  537. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  538. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  539. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  540. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  541. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  542. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  543. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  544. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  545. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  546. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  547. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  548. package/node_modules/zod/v3/helpers/util.js +133 -0
  549. package/node_modules/zod/v3/index.cjs +33 -0
  550. package/node_modules/zod/v3/index.d.cts +4 -0
  551. package/node_modules/zod/v3/index.d.ts +4 -0
  552. package/node_modules/zod/v3/index.js +4 -0
  553. package/node_modules/zod/v3/locales/en.cjs +112 -0
  554. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  555. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  556. package/node_modules/zod/v3/locales/en.js +109 -0
  557. package/node_modules/zod/v3/package.json +6 -0
  558. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  559. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  560. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  561. package/node_modules/zod/v3/standard-schema.js +1 -0
  562. package/node_modules/zod/v3/types.cjs +3777 -0
  563. package/node_modules/zod/v3/types.d.cts +1034 -0
  564. package/node_modules/zod/v3/types.d.ts +1034 -0
  565. package/node_modules/zod/v3/types.js +3695 -0
  566. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  567. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  568. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  569. package/node_modules/zod/v4/classic/checks.js +1 -0
  570. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  571. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  572. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  573. package/node_modules/zod/v4/classic/coerce.js +17 -0
  574. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  575. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  576. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  577. package/node_modules/zod/v4/classic/compat.js +31 -0
  578. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  579. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  580. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  581. package/node_modules/zod/v4/classic/errors.js +48 -0
  582. package/node_modules/zod/v4/classic/external.cjs +73 -0
  583. package/node_modules/zod/v4/classic/external.d.cts +15 -0
  584. package/node_modules/zod/v4/classic/external.d.ts +15 -0
  585. package/node_modules/zod/v4/classic/external.js +20 -0
  586. package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  587. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  588. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  589. package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  590. package/node_modules/zod/v4/classic/index.cjs +33 -0
  591. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  592. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  593. package/node_modules/zod/v4/classic/index.js +4 -0
  594. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  595. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  596. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  597. package/node_modules/zod/v4/classic/iso.js +30 -0
  598. package/node_modules/zod/v4/classic/package.json +6 -0
  599. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  600. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  601. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  602. package/node_modules/zod/v4/classic/parse.js +15 -0
  603. package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  604. package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  605. package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  606. package/node_modules/zod/v4/classic/schemas.js +1157 -0
  607. package/node_modules/zod/v4/core/api.cjs +1222 -0
  608. package/node_modules/zod/v4/core/api.d.cts +304 -0
  609. package/node_modules/zod/v4/core/api.d.ts +304 -0
  610. package/node_modules/zod/v4/core/api.js +1082 -0
  611. package/node_modules/zod/v4/core/checks.cjs +601 -0
  612. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  613. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  614. package/node_modules/zod/v4/core/checks.js +575 -0
  615. package/node_modules/zod/v4/core/core.cjs +83 -0
  616. package/node_modules/zod/v4/core/core.d.cts +70 -0
  617. package/node_modules/zod/v4/core/core.d.ts +70 -0
  618. package/node_modules/zod/v4/core/core.js +76 -0
  619. package/node_modules/zod/v4/core/doc.cjs +39 -0
  620. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  621. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  622. package/node_modules/zod/v4/core/doc.js +35 -0
  623. package/node_modules/zod/v4/core/errors.cjs +213 -0
  624. package/node_modules/zod/v4/core/errors.d.cts +220 -0
  625. package/node_modules/zod/v4/core/errors.d.ts +220 -0
  626. package/node_modules/zod/v4/core/errors.js +182 -0
  627. package/node_modules/zod/v4/core/index.cjs +47 -0
  628. package/node_modules/zod/v4/core/index.d.cts +16 -0
  629. package/node_modules/zod/v4/core/index.d.ts +16 -0
  630. package/node_modules/zod/v4/core/index.js +16 -0
  631. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  632. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  633. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  634. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  635. package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  636. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  637. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  638. package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  639. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  640. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  641. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  642. package/node_modules/zod/v4/core/json-schema.js +1 -0
  643. package/node_modules/zod/v4/core/package.json +6 -0
  644. package/node_modules/zod/v4/core/parse.cjs +131 -0
  645. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  646. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  647. package/node_modules/zod/v4/core/parse.js +93 -0
  648. package/node_modules/zod/v4/core/regexes.cjs +166 -0
  649. package/node_modules/zod/v4/core/regexes.d.cts +79 -0
  650. package/node_modules/zod/v4/core/regexes.d.ts +79 -0
  651. package/node_modules/zod/v4/core/regexes.js +133 -0
  652. package/node_modules/zod/v4/core/registries.cjs +56 -0
  653. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  654. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  655. package/node_modules/zod/v4/core/registries.js +51 -0
  656. package/node_modules/zod/v4/core/schemas.cjs +2124 -0
  657. package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  658. package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  659. package/node_modules/zod/v4/core/schemas.js +2093 -0
  660. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  661. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  662. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  663. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  664. package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  665. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  666. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  667. package/node_modules/zod/v4/core/to-json-schema.js +437 -0
  668. package/node_modules/zod/v4/core/util.cjs +710 -0
  669. package/node_modules/zod/v4/core/util.d.cts +199 -0
  670. package/node_modules/zod/v4/core/util.d.ts +199 -0
  671. package/node_modules/zod/v4/core/util.js +651 -0
  672. package/node_modules/zod/v4/core/versions.cjs +8 -0
  673. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  674. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  675. package/node_modules/zod/v4/core/versions.js +5 -0
  676. package/node_modules/zod/v4/index.cjs +22 -0
  677. package/node_modules/zod/v4/index.d.cts +3 -0
  678. package/node_modules/zod/v4/index.d.ts +3 -0
  679. package/node_modules/zod/v4/index.js +3 -0
  680. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  681. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  682. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  683. package/node_modules/zod/v4/locales/ar.js +106 -0
  684. package/node_modules/zod/v4/locales/az.cjs +132 -0
  685. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  686. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  687. package/node_modules/zod/v4/locales/az.js +105 -0
  688. package/node_modules/zod/v4/locales/be.cjs +183 -0
  689. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  690. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  691. package/node_modules/zod/v4/locales/be.js +156 -0
  692. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  693. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  694. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  695. package/node_modules/zod/v4/locales/bg.js +120 -0
  696. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  697. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  698. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  699. package/node_modules/zod/v4/locales/ca.js +107 -0
  700. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  701. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  702. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  703. package/node_modules/zod/v4/locales/cs.js +111 -0
  704. package/node_modules/zod/v4/locales/da.cjs +142 -0
  705. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  706. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  707. package/node_modules/zod/v4/locales/da.js +115 -0
  708. package/node_modules/zod/v4/locales/de.cjs +135 -0
  709. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  710. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  711. package/node_modules/zod/v4/locales/de.js +108 -0
  712. package/node_modules/zod/v4/locales/en.cjs +136 -0
  713. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  714. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  715. package/node_modules/zod/v4/locales/en.js +109 -0
  716. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  717. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  718. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  719. package/node_modules/zod/v4/locales/eo.js +109 -0
  720. package/node_modules/zod/v4/locales/es.cjs +159 -0
  721. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  722. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  723. package/node_modules/zod/v4/locales/es.js +132 -0
  724. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  725. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  726. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  727. package/node_modules/zod/v4/locales/fa.js +114 -0
  728. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  729. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  730. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  731. package/node_modules/zod/v4/locales/fi.js +112 -0
  732. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  733. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  734. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  735. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  736. package/node_modules/zod/v4/locales/fr.cjs +135 -0
  737. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  738. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  739. package/node_modules/zod/v4/locales/fr.js +108 -0
  740. package/node_modules/zod/v4/locales/he.cjs +241 -0
  741. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  742. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  743. package/node_modules/zod/v4/locales/he.js +214 -0
  744. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  745. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  746. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  747. package/node_modules/zod/v4/locales/hu.js +108 -0
  748. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  749. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  750. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  751. package/node_modules/zod/v4/locales/hy.js +147 -0
  752. package/node_modules/zod/v4/locales/id.cjs +133 -0
  753. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  754. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  755. package/node_modules/zod/v4/locales/id.js +106 -0
  756. package/node_modules/zod/v4/locales/index.cjs +104 -0
  757. package/node_modules/zod/v4/locales/index.d.cts +49 -0
  758. package/node_modules/zod/v4/locales/index.d.ts +49 -0
  759. package/node_modules/zod/v4/locales/index.js +49 -0
  760. package/node_modules/zod/v4/locales/is.cjs +136 -0
  761. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  762. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  763. package/node_modules/zod/v4/locales/is.js +109 -0
  764. package/node_modules/zod/v4/locales/it.cjs +135 -0
  765. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  766. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  767. package/node_modules/zod/v4/locales/it.js +108 -0
  768. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  769. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  770. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  771. package/node_modules/zod/v4/locales/ja.js +107 -0
  772. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  773. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  774. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  775. package/node_modules/zod/v4/locales/ka.js +112 -0
  776. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  777. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  778. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  779. package/node_modules/zod/v4/locales/kh.js +5 -0
  780. package/node_modules/zod/v4/locales/km.cjs +137 -0
  781. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  782. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  783. package/node_modules/zod/v4/locales/km.js +110 -0
  784. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  785. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  786. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  787. package/node_modules/zod/v4/locales/ko.js +111 -0
  788. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  789. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  790. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  791. package/node_modules/zod/v4/locales/lt.js +203 -0
  792. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  793. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  794. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  795. package/node_modules/zod/v4/locales/mk.js +109 -0
  796. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  797. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  798. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  799. package/node_modules/zod/v4/locales/ms.js +107 -0
  800. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  801. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  802. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  803. package/node_modules/zod/v4/locales/nl.js +110 -0
  804. package/node_modules/zod/v4/locales/no.cjs +135 -0
  805. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  806. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  807. package/node_modules/zod/v4/locales/no.js +108 -0
  808. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  809. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  810. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  811. package/node_modules/zod/v4/locales/ota.js +109 -0
  812. package/node_modules/zod/v4/locales/package.json +6 -0
  813. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  814. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  815. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  816. package/node_modules/zod/v4/locales/pl.js +109 -0
  817. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  818. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  819. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  820. package/node_modules/zod/v4/locales/ps.js +114 -0
  821. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  822. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  823. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  824. package/node_modules/zod/v4/locales/pt.js +108 -0
  825. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  826. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  827. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  828. package/node_modules/zod/v4/locales/ru.js +156 -0
  829. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  830. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  831. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  832. package/node_modules/zod/v4/locales/sl.js +109 -0
  833. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  834. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  835. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  836. package/node_modules/zod/v4/locales/sv.js +110 -0
  837. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  838. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  839. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  840. package/node_modules/zod/v4/locales/ta.js +110 -0
  841. package/node_modules/zod/v4/locales/th.cjs +137 -0
  842. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  843. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  844. package/node_modules/zod/v4/locales/th.js +110 -0
  845. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  846. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  847. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  848. package/node_modules/zod/v4/locales/tr.js +105 -0
  849. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  850. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  851. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  852. package/node_modules/zod/v4/locales/ua.js +5 -0
  853. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  854. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  855. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  856. package/node_modules/zod/v4/locales/uk.js +108 -0
  857. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  858. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  859. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  860. package/node_modules/zod/v4/locales/ur.js +110 -0
  861. package/node_modules/zod/v4/locales/uz.cjs +136 -0
  862. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  863. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  864. package/node_modules/zod/v4/locales/uz.js +109 -0
  865. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  866. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  867. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  868. package/node_modules/zod/v4/locales/vi.js +108 -0
  869. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  870. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  871. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  872. package/node_modules/zod/v4/locales/yo.js +107 -0
  873. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  874. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  875. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  876. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  877. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  878. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  879. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  880. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  881. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  882. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  883. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  884. package/node_modules/zod/v4/mini/checks.js +1 -0
  885. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  886. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  887. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  888. package/node_modules/zod/v4/mini/coerce.js +22 -0
  889. package/node_modules/zod/v4/mini/external.cjs +63 -0
  890. package/node_modules/zod/v4/mini/external.d.cts +12 -0
  891. package/node_modules/zod/v4/mini/external.d.ts +12 -0
  892. package/node_modules/zod/v4/mini/external.js +14 -0
  893. package/node_modules/zod/v4/mini/index.cjs +32 -0
  894. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  895. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  896. package/node_modules/zod/v4/mini/index.js +3 -0
  897. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  898. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  899. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  900. package/node_modules/zod/v4/mini/iso.js +34 -0
  901. package/node_modules/zod/v4/mini/package.json +6 -0
  902. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  903. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  904. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  905. package/node_modules/zod/v4/mini/parse.js +1 -0
  906. package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  907. package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  908. package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  909. package/node_modules/zod/v4/mini/schemas.js +925 -0
  910. package/node_modules/zod/v4/package.json +6 -0
  911. package/node_modules/zod/v4-mini/index.cjs +32 -0
  912. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  913. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  914. package/node_modules/zod/v4-mini/index.js +3 -0
  915. package/node_modules/zod/v4-mini/package.json +6 -0
  916. package/package.json +5 -2
  917. package/plugin/dist/index.d.ts +208 -0
  918. package/plugin/dist/index.d.ts.map +1 -0
  919. package/plugin/dist/index.js +3474 -0
  920. package/plugin/dist/index.js.map +1 -0
  921. package/plugin/package.json +4 -2
@@ -0,0 +1,44 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ import { type SnapshotIntegrityVerification, type SnapshotSlotsRecord } from './composition-snapshot-integrity.js';
3
+ export interface CompositionSnapshotRecord {
4
+ id: number;
5
+ contextId: number;
6
+ headMessageId: number | null;
7
+ schemaVersion: number;
8
+ capturedAt: string;
9
+ model: string;
10
+ contextWindow: number;
11
+ totalTokens: number;
12
+ fillPct: number;
13
+ snapshotKind: string;
14
+ repairDepth: number;
15
+ slotsJson: string;
16
+ slotsIntegrityHash: string;
17
+ createdAt: string;
18
+ }
19
+ export interface InsertCompositionSnapshotInput {
20
+ contextId: number;
21
+ headMessageId?: number | null;
22
+ schemaVersion?: number;
23
+ capturedAt?: string;
24
+ model: string;
25
+ contextWindow: number;
26
+ totalTokens: number;
27
+ fillPct: number;
28
+ snapshotKind?: string;
29
+ repairDepth?: number;
30
+ slots: SnapshotSlotsRecord | string;
31
+ createdAt?: string;
32
+ }
33
+ export interface LatestValidCompositionSnapshot {
34
+ snapshot: CompositionSnapshotRecord;
35
+ verification: SnapshotIntegrityVerification;
36
+ fallbackUsed: boolean;
37
+ }
38
+ export declare const MAX_WARM_RESTORE_REPAIR_DEPTH = 1;
39
+ export declare function insertCompositionSnapshot(db: DatabaseSync, input: InsertCompositionSnapshotInput): CompositionSnapshotRecord;
40
+ export declare function listCompositionSnapshots(db: DatabaseSync, contextId: number, limit?: number): CompositionSnapshotRecord[];
41
+ export declare function getCompositionSnapshot(db: DatabaseSync, snapshotId: number): CompositionSnapshotRecord | null;
42
+ export declare function verifyCompositionSnapshot(snapshot: CompositionSnapshotRecord): SnapshotIntegrityVerification;
43
+ export declare function getLatestValidCompositionSnapshot(db: DatabaseSync, contextId: number): LatestValidCompositionSnapshot | null;
44
+ //# sourceMappingURL=composition-snapshot-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition-snapshot-store.d.ts","sourceRoot":"","sources":["../src/composition-snapshot-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAOL,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,YAAY,EAAE,6BAA6B,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,6BAA6B,IAAI,CAAC;AA4C/C,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,8BAA8B,GACpC,yBAAyB,CA4D3B;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAI,GACR,yBAAyB,EAAE,CAU7B;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,UAAU,EAAE,MAAM,GACjB,yBAAyB,GAAG,IAAI,CAIlC;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,yBAAyB,GAClC,6BAA6B,CAE/B;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,MAAM,GAChB,8BAA8B,GAAG,IAAI,CAevC"}
@@ -0,0 +1,117 @@
1
+ import { attachInlineIntegrityHash, canonicalizeSnapshotJson, computeSlotsIntegrityHash, isInlineSnapshotSlotPayload, parseSnapshotSlotsJson, verifySnapshotSlotsIntegrity, } from './composition-snapshot-integrity.js';
2
+ export const MAX_WARM_RESTORE_REPAIR_DEPTH = 1;
3
+ function nowIso() {
4
+ return new Date().toISOString();
5
+ }
6
+ function parseSnapshotRow(row) {
7
+ return {
8
+ id: row.id,
9
+ contextId: row.context_id,
10
+ headMessageId: row.head_message_id ?? null,
11
+ schemaVersion: row.schema_version,
12
+ capturedAt: row.captured_at,
13
+ model: row.model,
14
+ contextWindow: row.context_window,
15
+ totalTokens: row.total_tokens,
16
+ fillPct: row.fill_pct,
17
+ snapshotKind: row.snapshot_kind,
18
+ repairDepth: row.repair_depth,
19
+ slotsJson: row.slots_json,
20
+ slotsIntegrityHash: row.slots_integrity_hash,
21
+ createdAt: row.created_at,
22
+ };
23
+ }
24
+ function normalizeSlots(slots) {
25
+ const parsed = typeof slots === 'string' ? parseSnapshotSlotsJson(slots) : parseSnapshotSlotsJson(canonicalizeSnapshotJson(slots));
26
+ const normalized = {};
27
+ for (const [slotKey, slotValue] of Object.entries(parsed)) {
28
+ normalized[slotKey] = isInlineSnapshotSlotPayload(slotValue)
29
+ ? attachInlineIntegrityHash(slotValue)
30
+ : slotValue;
31
+ }
32
+ return normalized;
33
+ }
34
+ function normalizeRepairDepth(repairDepth) {
35
+ const normalized = repairDepth ?? 0;
36
+ if (!Number.isInteger(normalized) || normalized < 0 || normalized > MAX_WARM_RESTORE_REPAIR_DEPTH) {
37
+ throw new Error(`composition snapshot repair_depth must be an integer between 0 and ${MAX_WARM_RESTORE_REPAIR_DEPTH}`);
38
+ }
39
+ return normalized;
40
+ }
41
+ export function insertCompositionSnapshot(db, input) {
42
+ const capturedAt = input.capturedAt ?? nowIso();
43
+ const createdAt = input.createdAt ?? capturedAt;
44
+ const repairDepth = normalizeRepairDepth(input.repairDepth);
45
+ const normalizedSlots = normalizeSlots(input.slots);
46
+ const slotsJson = canonicalizeSnapshotJson(normalizedSlots);
47
+ const slotsIntegrityHash = computeSlotsIntegrityHash(normalizedSlots);
48
+ const result = db.prepare(`
49
+ INSERT INTO composition_snapshots (
50
+ context_id,
51
+ head_message_id,
52
+ schema_version,
53
+ captured_at,
54
+ model,
55
+ context_window,
56
+ total_tokens,
57
+ fill_pct,
58
+ snapshot_kind,
59
+ repair_depth,
60
+ slots_json,
61
+ slots_integrity_hash,
62
+ created_at
63
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
64
+ `).run(input.contextId, input.headMessageId ?? null, input.schemaVersion ?? 1, capturedAt, input.model, input.contextWindow, input.totalTokens, input.fillPct, input.snapshotKind ?? 'full', repairDepth, slotsJson, slotsIntegrityHash, createdAt);
65
+ db.prepare(`
66
+ DELETE FROM composition_snapshots
67
+ WHERE context_id = ?
68
+ AND id NOT IN (
69
+ SELECT id
70
+ FROM composition_snapshots
71
+ WHERE context_id = ?
72
+ ORDER BY captured_at DESC, id DESC
73
+ LIMIT 2
74
+ )
75
+ `).run(input.contextId, input.contextId);
76
+ const row = db.prepare('SELECT * FROM composition_snapshots WHERE id = ?')
77
+ .get(Number(result.lastInsertRowid));
78
+ if (!row) {
79
+ throw new Error('Failed to read back inserted composition snapshot');
80
+ }
81
+ return parseSnapshotRow(row);
82
+ }
83
+ export function listCompositionSnapshots(db, contextId, limit = 2) {
84
+ const rows = db.prepare(`
85
+ SELECT *
86
+ FROM composition_snapshots
87
+ WHERE context_id = ?
88
+ ORDER BY captured_at DESC, id DESC
89
+ LIMIT ?
90
+ `).all(contextId, limit);
91
+ return rows.map(parseSnapshotRow);
92
+ }
93
+ export function getCompositionSnapshot(db, snapshotId) {
94
+ const row = db.prepare('SELECT * FROM composition_snapshots WHERE id = ?')
95
+ .get(snapshotId);
96
+ return row ? parseSnapshotRow(row) : null;
97
+ }
98
+ export function verifyCompositionSnapshot(snapshot) {
99
+ return verifySnapshotSlotsIntegrity(snapshot.slotsJson, snapshot.slotsIntegrityHash);
100
+ }
101
+ export function getLatestValidCompositionSnapshot(db, contextId) {
102
+ const candidates = listCompositionSnapshots(db, contextId, 2)
103
+ .filter(snapshot => snapshot.repairDepth < MAX_WARM_RESTORE_REPAIR_DEPTH);
104
+ for (let i = 0; i < candidates.length; i++) {
105
+ const snapshot = candidates[i];
106
+ const verification = verifyCompositionSnapshot(snapshot);
107
+ if (verification.ok) {
108
+ return {
109
+ snapshot,
110
+ verification,
111
+ fallbackUsed: i > 0,
112
+ };
113
+ }
114
+ }
115
+ return null;
116
+ }
117
+ //# sourceMappingURL=composition-snapshot-store.js.map
@@ -0,0 +1,518 @@
1
+ /**
2
+ * hypermem Compositor
3
+ *
4
+ * Assembles context for LLM calls by orchestrating all four memory layers:
5
+ * L1 Redis — hot session working memory (system, identity, recent msgs)
6
+ * L2 Messages — conversation history from messages.db
7
+ * L3 Vectors — semantic search across all indexed content
8
+ * L4 Library — structured knowledge (facts, preferences, knowledge, episodes)
9
+ *
10
+ * Token-budgeted: never exceeds the budget, prioritizes by configured order.
11
+ * Provider-neutral internally, translates at the output boundary.
12
+ */
13
+ import type { DatabaseSync } from 'node:sqlite';
14
+ import type { ComposeRequest, ComposeResult, NeutralMessage, CompositorConfig } from './types.js';
15
+ import { CollectionTrigger } from './trigger-registry.js';
16
+ import { CacheLayer } from './cache.js';
17
+ type AnyCache = CacheLayer;
18
+ import { VectorStore } from './vector-store.js';
19
+ import { type OrgRegistry } from './cross-agent.js';
20
+ import { type AdaptiveLifecyclePolicy } from './adaptive-lifecycle.js';
21
+ import { type DegradationReason } from './degradation.js';
22
+ /**
23
+ * Files that OpenClaw's contextInjection injects into the system prompt.
24
+ * HyperMem must not re-inject these via doc chunk retrieval to avoid duplication.
25
+ * Exported so plugin and other consumers can share the same dedup set.
26
+ */
27
+ export declare const OPENCLAW_BOOTSTRAP_FILES: Set<string>;
28
+ /**
29
+ * B4: Compute model-aware lane budget fractions.
30
+ *
31
+ * Resolves the effective historyFraction and memoryFraction for a compose pass
32
+ * given the model and its effective budget. Uses the MECW catalog to blend
33
+ * away from fixed fractions when the budget approaches the MECW ceiling,
34
+ * so the compositor allocates proportionally for what the model can actually use.
35
+ *
36
+ * Returns:
37
+ * historyFraction — fraction of effective budget to give history
38
+ * memoryFraction — fraction of effective budget to give memory pool
39
+ * mecwProfile — which MECW entry matched (undefined = no match / full window)
40
+ * mecwApplied — true when MECW adjustment changed the fractions
41
+ * mecwBlend — 0..1 blend factor (0 = below floor, 1 = at/above ceiling)
42
+ */
43
+ export declare function resolveModelLaneBudgets(model: string | undefined, effectiveBudget: number, configHistoryFraction: number, configMemoryFraction: number): {
44
+ historyFraction: number;
45
+ memoryFraction: number;
46
+ mecwProfile: string | undefined;
47
+ mecwApplied: boolean;
48
+ mecwBlend: number;
49
+ };
50
+ /** Session classification labels — used for adaptive depth selection. */
51
+ export type SessionType = 'plain-chat' | 'tool-heavy';
52
+ /**
53
+ * Classify a session based on the ratio of tool messages in the recent sample.
54
+ * 'tool-heavy': >= 20% of sampled messages carry tool calls or tool results.
55
+ * 'plain-chat': below that threshold (text-only or occasional tool use).
56
+ *
57
+ * The 20% threshold is intentionally conservative: most tool-heavy agents
58
+ * have tool messages on every assistant turn, so the ratio quickly exceeds
59
+ * the threshold without false-positive risk for light tool users.
60
+ */
61
+ export declare function classifySessionType(messages: NeutralMessage[]): SessionType;
62
+ /**
63
+ * Estimate the average token cost per message from a recent message sample.
64
+ * Uses the same estimateMessageTokens heuristic as the compositor budget walk
65
+ * so the returned depth is directly comparable to the historyFillCap check.
66
+ *
67
+ * Returns a conservative floor (100 tokens) when the sample is empty to avoid
68
+ * returning Infinity when historyBudget is divided by density.
69
+ */
70
+ export declare function estimateObservedMsgDensity(messages: NeutralMessage[]): number;
71
+ /**
72
+ * Compute an adaptive history depth that pre-fits the session type.
73
+ *
74
+ * For plain-chat sessions: divides historyBudget by observed density to get a
75
+ * depth that fills the budget without overflow, bounded by the default maximum.
76
+ * Recall quality is preserved because the density estimate is honest for
77
+ * text-only turns.
78
+ *
79
+ * For tool-heavy sessions: applies a post-gradient compression factor
80
+ * (TOOL_GRADIENT_DENSITY_FACTOR = 0.30) to the observed pre-gradient density.
81
+ * This accounts for the gradient transform collapsing large tool payloads to
82
+ * prose stubs before the budget-fit walk runs. A tighter depth is chosen so
83
+ * the gradient-compressed messages fit inside historyFillCap without triggering
84
+ * a rescue trim.
85
+ *
86
+ * A 0.85 safety margin is applied to both paths so estimates that are
87
+ * slightly off don't cause immediate overflow on the first warm compose.
88
+ *
89
+ * Min/max bounds ensure the compositor always sees a meaningful window:
90
+ * - plain-chat min: 20 messages (enough for short recent context)
91
+ * - tool-heavy min: 15 messages (recent tool context + a few prior turns)
92
+ * - shared max: config.maxHistoryMessages (never exceed the DB fetch ceiling)
93
+ */
94
+ export declare function computeAdaptiveHistoryDepth(sessionType: SessionType, observedDensity: number, historyBudgetTokens: number, maxHistoryMessages: number): number;
95
+ /**
96
+ * Canonical pressure labels shared across compose and compaction paths.
97
+ * Use these constants when setting the `pressureSource` field so all consumers
98
+ * can filter logs with a stable string without guessing spellings.
99
+ */
100
+ export declare const PRESSURE_SOURCE: {
101
+ /** Compose path: pressure derived from (budget - remaining) after full slot assembly. */
102
+ readonly COMPOSE_POST_ASSEMBLY: "compose:post-assembly";
103
+ /** Compose path: pressure measured immediately before semantic recall runs. */
104
+ readonly COMPOSE_PRE_RECALL: "compose:pre-recall";
105
+ /** Compaction path: pressure from Redis token estimate / effectiveBudget. */
106
+ readonly COMPACT_REDIS_ESTIMATE: "compact:redis-estimate";
107
+ /** Compaction path: pressure from runtime-reported currentTokenCount / effectiveBudget. */
108
+ readonly COMPACT_RUNTIME_TOTAL: "compact:runtime-total";
109
+ /** Tool-loop assemble path: pressure from in-memory working message array / effectiveBudget. */
110
+ readonly TOOLLOOP_RUNTIME_ARRAY: "toolloop:runtime-array";
111
+ };
112
+ export type PressureSourceLabel = typeof PRESSURE_SOURCE[keyof typeof PRESSURE_SOURCE];
113
+ /**
114
+ * Compute a unified pressure fraction so compose and compaction paths report
115
+ * the same numeric concept without drift.
116
+ *
117
+ * Always clamps to [0, Infinity) — callers get the raw fraction so they can
118
+ * decide their own thresholds without us hardcoding them here.
119
+ *
120
+ * @param usedTokens Tokens consumed (numerator).
121
+ * @param budgetTokens Effective budget (denominator). Must be > 0.
122
+ * @param source Label from PRESSURE_SOURCE for telemetry (metadata only).
123
+ * @returns { fraction, pct, source } where fraction = usedTokens / budgetTokens,
124
+ * pct = Math.round(fraction * 100), source = canonical label.
125
+ */
126
+ export declare function computeUnifiedPressure(usedTokens: number, budgetTokens: number, source: string): {
127
+ fraction: number;
128
+ pct: number;
129
+ source: string;
130
+ };
131
+ /**
132
+ * 0.9.0: adaptive lifecycle scales semantic-recall breadth in compose.
133
+ *
134
+ * Base fractions match the historical compositor constants so that a steady
135
+ * (multiplier=1.0) call reproduces prior behavior exactly. Candidate limit is
136
+ * clamped so even a critical-pressure pass keeps a usable retrieval window
137
+ * and a /new surge does not blow up hybrid search cost.
138
+ */
139
+ export declare const RECALL_BREADTH_BASE: Readonly<{
140
+ mainBudgetFraction: 0.12;
141
+ fallbackBudgetFraction: 0.1;
142
+ candidateLimit: 10;
143
+ candidateLimitMin: 6;
144
+ candidateLimitMax: 16;
145
+ }>;
146
+ export interface ScaledRecallBreadth {
147
+ mainBudgetTokens: number;
148
+ fallbackBudgetTokens: number;
149
+ candidateLimit: number;
150
+ multiplier: number;
151
+ }
152
+ /**
153
+ * Apply the adaptive lifecycle smartRecallMultiplier to recall breadth.
154
+ * Pure helper — does not read state or mutate anything. Steady multiplier=1
155
+ * preserves the historical (0.12, 0.10, limit=10) recall envelope.
156
+ */
157
+ export declare function scaleRecallBreadth(remainingTokens: number, multiplier: number): ScaledRecallBreadth;
158
+ export { CollectionTrigger, DEFAULT_TRIGGERS, matchTriggers } from './trigger-registry.js';
159
+ export { getTurnAge, applyToolGradient, appendToolSummary, truncateWithHeadTail, applyTierPayloadCap, evictLargeToolResults };
160
+ interface NeutralMessageCluster<T extends NeutralMessage> {
161
+ messages: T[];
162
+ tokenCost: number;
163
+ }
164
+ /**
165
+ * Adaptive eviction ordering for the compose-window cluster-drop pass.
166
+ *
167
+ * Pure helper: derives drop priority from `policy.evictionPlan` (which is
168
+ * itself derived from `policy.band`) and an optional `activeTopicId`. Does
169
+ * not read state, mutate clusters, or introduce a parallel pressure brain.
170
+ *
171
+ * Returns:
172
+ * - `protectedIndices`: clusters never selected for topic-aware drop
173
+ * (system prefix, dynamicBoundary, the latest user-role cluster). The
174
+ * existing oldest-first sweep can still drop them as a last resort,
175
+ * same as before this helper.
176
+ * - `topicAwareDropOrder`: cluster indices (oldest→newest) to drop
177
+ * before the oldest-first sweep when the band promotes topic-aware
178
+ * drop. Tool-call/result clusters are excluded so they remain atomic
179
+ * and ballast reduction (applyToolGradient/evictLargeToolResults/
180
+ * resolveOversizedArtifacts) handles them upstream.
181
+ * - `preferTopicAwareDrop`: mirrors `policy.evictionPlan.preferTopicAwareDrop`.
182
+ */
183
+ export type AdaptiveEvictionBypassReason = 'no-active-topic' | 'no-stamped-clusters' | 'band-not-topic-aware' | 'within-budget' | 'no-eligible-inactive-topic-clusters';
184
+ export interface AdaptiveEvictionTelemetry {
185
+ topicAwareEligibleClusters: number;
186
+ topicAwareDroppedClusters: number;
187
+ protectedClusters: number;
188
+ topicIdCoveragePct: number;
189
+ bypassReason?: AdaptiveEvictionBypassReason;
190
+ }
191
+ export interface AdaptiveEvictionOrdering {
192
+ preferTopicAwareDrop: boolean;
193
+ topicAwareDropOrder: number[];
194
+ protectedIndices: ReadonlySet<number>;
195
+ telemetry: AdaptiveEvictionTelemetry;
196
+ }
197
+ export declare function orderClustersForAdaptiveEviction<T extends NeutralMessage>(clusters: NeutralMessageCluster<T>[], policy: AdaptiveLifecyclePolicy, opts?: {
198
+ activeTopicId?: string;
199
+ }): AdaptiveEvictionOrdering;
200
+ /**
201
+ * Public reshape helper: apply tool gradient then trim to fit within a token budget.
202
+ *
203
+ * Used by the plugin's budget-downshift pass to pre-process a Redis history window
204
+ * after a model switch to a smaller context window, before the full compose pipeline
205
+ * runs. Trims from oldest to newest until estimated token cost fits within
206
+ * tokenBudget * 0.65 (using the standard char/4 heuristic).
207
+ *
208
+ * @param messages NeutralMessage array from the Redis hot window
209
+ * @param tokenBudget Effective token budget for this session
210
+ * @returns Trimmed message array ready for setWindow()
211
+ */
212
+ export declare function applyToolGradientToWindow(messages: NeutralMessage[], tokenBudget: number, totalWindowTokens?: number): NeutralMessage[];
213
+ /**
214
+ * Canonical history must remain lossless for tool turns.
215
+ *
216
+ * If a window contains any structured tool calls or tool results, the caller
217
+ * should treat applyToolGradientToWindow() as a view-only transform for the
218
+ * current compose pass and avoid writing the reshaped messages back into the
219
+ * canonical cache/history store.
220
+ */
221
+ export declare function canPersistReshapedHistory(messages: NeutralMessage[]): boolean;
222
+ declare function truncateWithHeadTail(content: string, maxChars: number, maxTailChars?: number): string;
223
+ declare function appendToolSummary(textContent: string | null, summary: string): string;
224
+ declare function getTurnAge(messages: NeutralMessage[], index: number): number;
225
+ declare function applyTierPayloadCap(msg: NeutralMessage, perResultCap: number, perTurnCap?: number, usedSoFar?: number, maxTailChars?: number): {
226
+ msg: NeutralMessage;
227
+ usedChars: number;
228
+ };
229
+ declare function evictLargeToolResults<T extends NeutralMessage>(messages: T[]): T[];
230
+ export declare function resolveArtifactOversizeThreshold(effectiveBudget: number): number;
231
+ /**
232
+ * C2: Degrade an oversized doc chunk to a canonical ArtifactRef string.
233
+ *
234
+ * When a retrieved chunk's content exceeds the oversize threshold (in tokens),
235
+ * replace it with a fetchable canonical reference instead of injecting raw content.
236
+ * This preserves headroom in the lane instead of filling it with a large payload.
237
+ *
238
+ * Returns:
239
+ * - `null` → content is within the threshold; caller should inject as-is.
240
+ * - `string` → canonical artifact reference; caller should inject this instead of raw content.
241
+ *
242
+ * The sizeTokens reported in the reference is the ACTUAL estimated size so downstream
243
+ * tooling can make informed decisions about whether to fetch.
244
+ */
245
+ export declare function degradeOversizedDocChunk(chunkId: string, sourcePath: string, content: string, thresholdTokens: number): string | null;
246
+ /**
247
+ * C2: Resolve oversized artifacts in a history message array.
248
+ *
249
+ * Scans the message array and replaces user/assistant messages whose text content
250
+ * exceeds the model-aware artifact oversize threshold with canonical ArtifactRef
251
+ * strings. System messages, tool-call messages, and tool-result messages are always
252
+ * passed through unchanged.
253
+ *
254
+ * @param messages — neutral message array (already-assembled history window)
255
+ * @param effectiveBudget — effective model budget from B4 (drives the threshold)
256
+ * @returns { messages, refCount, tokensSaved }
257
+ */
258
+ export declare function resolveOversizedArtifacts<T extends NeutralMessage>(messages: T[], effectiveBudget: number): {
259
+ messages: T[];
260
+ refCount: number;
261
+ tokensSaved: number;
262
+ };
263
+ /**
264
+ * Result of a single tool-chain ejection pass.
265
+ * Returned by resolveToolChainEjections so callers can accumulate telemetry.
266
+ */
267
+ export interface ToolChainEjectionResult<T extends NeutralMessage> {
268
+ /** The transformed message array (may contain stubs in place of results). */
269
+ messages: T[];
270
+ /** Number of tool-result messages fully co-ejected (removed from the array). */
271
+ coEjections: number;
272
+ /** Number of tool-result payloads replaced with a canonical stub string. */
273
+ stubReplacements: number;
274
+ }
275
+ /**
276
+ * C1: Centralized tool-chain dependency ejection.
277
+ *
278
+ * Given a set of tool-use message indices that are being ejected from the
279
+ * context window, this function ensures that no orphaned tool-results survive:
280
+ *
281
+ * - For each ejected assistant message carrying toolCalls, collect the set
282
+ * of call IDs being removed.
283
+ * - Walk the remaining messages: if a message's toolResults reference any
284
+ * of those ejected IDs:
285
+ * a) If the message carries ONLY tool-results and no other text, co-eject
286
+ * it (remove it entirely). This is the zero-cost path.
287
+ * b) If the message also carries text content, replace only the dependent
288
+ * toolResults entries with canonical ToolChainStub strings so the
289
+ * message is not silently mutilated.
290
+ *
291
+ * The caller is responsible for removing the ejected messages by index BEFORE
292
+ * or AFTER calling this function; this function operates on the full array and
293
+ * marks the ejected indices for removal, returning the cleaned result.
294
+ *
295
+ * @param messages Full message array (order preserved)
296
+ * @param ejectIndices Set of indices into `messages` that are being ejected
297
+ * (these are the tool-use / assistant messages being removed).
298
+ * @param reason DegradationReason to embed in any canonical stubs.
299
+ * @returns Cleaned message array + telemetry counters.
300
+ */
301
+ export declare function resolveToolChainEjections<T extends NeutralMessage>(messages: T[], ejectIndices: Set<number>, reason?: DegradationReason): ToolChainEjectionResult<T>;
302
+ /**
303
+ * Apply gradient tool treatment to a message array.
304
+ *
305
+ * Tiers are based on turn age, where turn age is the number of newer user
306
+ * messages after the current message.
307
+ */
308
+ declare function applyToolGradient<T extends NeutralMessage>(messages: T[], opts?: {
309
+ totalWindowTokens?: number;
310
+ }): T[];
311
+ export interface CompositorDeps {
312
+ cache: AnyCache;
313
+ vectorStore?: VectorStore | null;
314
+ libraryDb?: DatabaseSync | null;
315
+ /** Custom trigger registry; defaults to DEFAULT_TRIGGERS if not provided */
316
+ triggerRegistry?: CollectionTrigger[];
317
+ /**
318
+ * Optional reranker applied to fused hybridSearch results. Null disables
319
+ * reranking; hybridSearch still runs and returns the RRF-ordered list.
320
+ */
321
+ reranker?: import('./reranker.js').RerankerProvider | null;
322
+ /** Min fused-candidate count before the reranker is invoked. Default: 2. */
323
+ rerankerMinCandidates?: number;
324
+ /** Max docs sent to reranker (bounds provider cost). Default: all fused. */
325
+ rerankerMaxDocuments?: number;
326
+ /** Top-K passed to reranker. Default: slice length. */
327
+ rerankerTopK?: number;
328
+ }
329
+ export declare class Compositor {
330
+ private readonly config;
331
+ private readonly cache;
332
+ private vectorStore;
333
+ private readonly libraryDb;
334
+ private readonly triggerRegistry;
335
+ private reranker;
336
+ private readonly rerankerMinCandidates;
337
+ private readonly rerankerMaxDocuments;
338
+ private readonly rerankerTopK;
339
+ /** Cached org registry loaded from fleet_agents at construction time. */
340
+ private _orgRegistry;
341
+ constructor(deps: CompositorDeps, config?: Partial<CompositorConfig>);
342
+ /**
343
+ * Set or replace the vector store after construction.
344
+ * Called by hypermem.create() once sqlite-vec is confirmed available.
345
+ */
346
+ setVectorStore(vs: VectorStore): void;
347
+ /**
348
+ * Set or replace the reranker after construction.
349
+ * Called by hypermem.create() once the reranker config has been resolved.
350
+ */
351
+ setReranker(rr: import('./reranker.js').RerankerProvider | null): void;
352
+ /**
353
+ * Hot-reload the org registry from the fleet_agents table.
354
+ * Call after fleet membership changes (new agent, org restructure)
355
+ * to pick up the latest without a full restart.
356
+ * Falls back to the current cached registry if the DB is unavailable.
357
+ */
358
+ refreshOrgRegistry(): OrgRegistry;
359
+ /**
360
+ * Return the currently cached org registry.
361
+ */
362
+ get orgRegistry(): OrgRegistry;
363
+ /**
364
+ * Sprint 2.1: Hydrate tool-artifact stubs in the active turn.
365
+ *
366
+ * The active turn is the contiguous trailing block of tool-bearing messages
367
+ * at the tail of the assembled window (positional, NOT turn_id-based):
368
+ * - Walk backward from the last message
369
+ * - Collect tool-bearing messages (toolCalls != null OR toolResults != null)
370
+ * - Plus the bounding user message that opened the turn
371
+ * - Stop at the first plain message once at least one tool message was found
372
+ *
373
+ * For every toolResult stub with an `artifact=<id>` pointer, look up the
374
+ * full payload in ToolArtifactStore and replace the stub content in-place.
375
+ * Uses a single batched `WHERE id IN (...)` lookup (no N+1 queries).
376
+ * Touches `last_used_at` on every hydrated artifact in a single batch.
377
+ *
378
+ * Failure mode: if a lookup returns null (artifact missing), leave the stub
379
+ * unchanged and increment hydrationMisses.
380
+ *
381
+ * Returns diagnostics counters.
382
+ */
383
+ private hydrateActiveTurnArtifacts;
384
+ /**
385
+ * Compose a complete message array for sending to an LLM.
386
+ *
387
+ * Orchestrates all four memory layers:
388
+ * 1. System prompt + identity (never truncated)
389
+ * 2. Conversation history (L1 Redis → L2 messages.db)
390
+ * 3. Active facts from library (L4)
391
+ * 4. Knowledge entries relevant to conversation (L4)
392
+ * 5. User preferences (L4)
393
+ * 6. Semantic recall via vector search (L3)
394
+ * 7. Cross-session context (L2)
395
+ *
396
+ * Each slot respects the remaining token budget.
397
+ */
398
+ compose(request: ComposeRequest, db: DatabaseSync, libraryDb?: DatabaseSync): Promise<ComposeResult>;
399
+ /**
400
+ * Warm a session from SQLite into Redis.
401
+ * Called on session start or Redis cache miss.
402
+ */
403
+ warmSession(agentId: string, sessionKey: string, db: DatabaseSync, opts?: {
404
+ systemPrompt?: string;
405
+ identity?: string;
406
+ libraryDb?: DatabaseSync;
407
+ /** Model string for budget resolution. If omitted, falls back to defaultTokenBudget. */
408
+ model?: string;
409
+ }): Promise<void>;
410
+ refreshRedisGradient(agentId: string, sessionKey: string, db: DatabaseSync, tokenBudget?: number, historyDepth?: number, trimSoftTarget?: number): Promise<void>;
411
+ /**
412
+ * Get slot content: try Redis first, fall back to SQLite.
413
+ */
414
+ private getSlotContent;
415
+ /**
416
+ * Get conversation history: try Redis first, fall back to SQLite.
417
+ *
418
+ * When topicId is provided (P3.4), the SQLite path filters to messages
419
+ * matching that topic OR with topic_id IS NULL (Option B transition safety).
420
+ * The Redis path is unaffected — Redis doesn't index by topic, so topic
421
+ * filtering only applies to the SQLite fallback.
422
+ */
423
+ private getHistory;
424
+ /**
425
+ * Build facts content from library DB.
426
+ */
427
+ /**
428
+ * Build facts content from library DB.
429
+ * Applies filterByScope (W1) to enforce retrieval access control.
430
+ * Returns [content, factCount, scopeFilteredCount] or null if DB unavailable.
431
+ */
432
+ private buildFactsFromDb;
433
+ private buildFactSectionsFromDb;
434
+ /**
435
+ * Build knowledge content from library DB.
436
+ * Prioritizes high-confidence, non-superseded entries.
437
+ */
438
+ private buildKnowledgeFromDb;
439
+ /**
440
+ * Build wiki page context for the active topic.
441
+ * Queries the knowledge table for a synthesized topic page and returns it
442
+ * wrapped with a header. Capped at 600 tokens.
443
+ */
444
+ private buildWikiPageContext;
445
+ /**
446
+ * Build preferences content from library DB.
447
+ * Shows user/operator preferences relevant to this agent.
448
+ */
449
+ private buildPreferencesFromDb;
450
+ /**
451
+ * Build semantic recall content using hybrid FTS5+KNN retrieval.
452
+ *
453
+ * Uses Reciprocal Rank Fusion to merge keyword and vector results.
454
+ * Gracefully degrades: FTS5-only when no vector store, KNN-only
455
+ * when FTS query is empty (all stop words), both when available.
456
+ *
457
+ * @param precomputedEmbedding — optional pre-computed embedding for the query.
458
+ * When provided, the Ollama call inside VectorStore.search() is skipped.
459
+ */
460
+ private buildSemanticRecall;
461
+ /**
462
+ * Format a hybrid search result for injection into context.
463
+ * Shows retrieval source(s) and relevance score.
464
+ */
465
+ private formatHybridResult;
466
+ /**
467
+ * Format a vector-only search result (legacy fallback).
468
+ */
469
+ private formatVectorResult;
470
+ /**
471
+ * Build cross-session context by finding recent activity
472
+ * in other sessions for this agent.
473
+ */
474
+ private buildCrossSessionContext;
475
+ /**
476
+ * Extract the last user message text from the composed messages.
477
+ */
478
+ private getLastUserMessage;
479
+ /**
480
+ * Truncate text to approximately fit within a token budget.
481
+ * Truncates at line boundaries when possible.
482
+ */
483
+ private truncateToTokens;
484
+ /**
485
+ * Query and score keystone candidates from before the current history window.
486
+ *
487
+ * Trims the oldest messages from includedHistory to free a keystone budget,
488
+ * then queries the DB for older messages scored by episode significance,
489
+ * FTS5 relevance, and recency.
490
+ *
491
+ * Returns null if keystones cannot be injected (no cutoff ID found,
492
+ * no candidates, or all errors).
493
+ */
494
+ private buildKeystones;
495
+ /**
496
+ * Pull high-signal messages from OTHER topics in this session when their
497
+ * content is semantically relevant to the current active topic.
498
+ *
499
+ * Heuristic-only: no model calls. Token overlap between the current topic
500
+ * name + last 3 user messages and candidate message content.
501
+ *
502
+ * @param agentId - The agent's ID
503
+ * @param sessionKey - Current session key
504
+ * @param activeTopic - The current active topic (id + name)
505
+ * @param currentMessages - Recently included history messages for query extraction
506
+ * @param db - The messages database
507
+ * @param maxKeystones - Max cross-topic keystones to return (default 3)
508
+ * @returns Scored keystones sorted by score DESC, deduplicated by message id
509
+ */
510
+ private getKeystonesByTopic;
511
+ /**
512
+ * Extract lowercase key terms from a topic name and the last 3 user messages.
513
+ * Terms are: tokens with ≥4 characters (skip short stop words).
514
+ * Returns a Set for O(1) lookup.
515
+ */
516
+ private extractQueryTerms;
517
+ }
518
+ //# sourceMappingURL=compositor.d.ts.map