@theokit/sdk 4.62.0 → 4.63.1

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 (379) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/dist/a2a/index.cjs +2 -2
  3. package/dist/a2a/index.js +1 -1
  4. package/dist/{agent-DIu6FooJ.d.ts → agent-BFno7Sfn.d.ts} +36 -21
  5. package/dist/agent-WK7MKIMH.cjs +66 -0
  6. package/dist/{agent-VYPUO4UB.cjs.map → agent-WK7MKIMH.cjs.map} +1 -1
  7. package/dist/{agent-D3Xr_-6Z.d.cts → agent-X0DKA943.d.cts} +36 -21
  8. package/dist/agent-YWMBM7LX.js +57 -0
  9. package/dist/{agent-NVBFTY5H.js.map → agent-YWMBM7LX.js.map} +1 -1
  10. package/dist/agent-session-store-6EL5NPA4.cjs +24 -0
  11. package/dist/{agent-session-store-WAKLOKWK.cjs.map → agent-session-store-6EL5NPA4.cjs.map} +1 -1
  12. package/dist/agent-session-store-OPGRB4XM.js +7 -0
  13. package/dist/{agent-session-store-G2BMUZQV.js.map → agent-session-store-OPGRB4XM.js.map} +1 -1
  14. package/dist/auth/index.cjs +18 -18
  15. package/dist/auth/index.js +6 -6
  16. package/dist/{batch-ND32UKZS.cjs → batch-BXYTW2DP.cjs} +27 -27
  17. package/dist/{batch-ND32UKZS.cjs.map → batch-BXYTW2DP.cjs.map} +1 -1
  18. package/dist/{batch-2TGJMNCJ.js → batch-L4ZXS46M.js} +10 -10
  19. package/dist/{batch-2TGJMNCJ.js.map → batch-L4ZXS46M.js.map} +1 -1
  20. package/dist/{chunk-VF7EWVDG.js → chunk-2GUYQR5P.js} +3 -3
  21. package/dist/{chunk-VF7EWVDG.js.map → chunk-2GUYQR5P.js.map} +1 -1
  22. package/dist/{chunk-J2UROOIG.cjs → chunk-2HVF2WJY.cjs} +8 -8
  23. package/dist/{chunk-J2UROOIG.cjs.map → chunk-2HVF2WJY.cjs.map} +1 -1
  24. package/dist/{chunk-44MBDIHG.js → chunk-2QDYBS2A.js} +3 -3
  25. package/dist/{chunk-44MBDIHG.js.map → chunk-2QDYBS2A.js.map} +1 -1
  26. package/dist/{chunk-NGESVVJN.cjs → chunk-3FFAEAUJ.cjs} +17 -17
  27. package/dist/{chunk-NGESVVJN.cjs.map → chunk-3FFAEAUJ.cjs.map} +1 -1
  28. package/dist/{chunk-GWC3HADL.cjs → chunk-3NSS2OIZ.cjs} +4 -4
  29. package/dist/{chunk-GWC3HADL.cjs.map → chunk-3NSS2OIZ.cjs.map} +1 -1
  30. package/dist/{chunk-CV7XMBHP.js → chunk-3O42QOMJ.js} +3 -3
  31. package/dist/{chunk-CV7XMBHP.js.map → chunk-3O42QOMJ.js.map} +1 -1
  32. package/dist/{chunk-IWBGCBR6.cjs → chunk-4CLOXP6H.cjs} +4 -4
  33. package/dist/{chunk-IWBGCBR6.cjs.map → chunk-4CLOXP6H.cjs.map} +1 -1
  34. package/dist/{chunk-YEXA3PGR.js → chunk-4FFBAUFS.js} +5 -5
  35. package/dist/{chunk-YEXA3PGR.js.map → chunk-4FFBAUFS.js.map} +1 -1
  36. package/dist/{chunk-HY57ULY2.cjs → chunk-4PYZ5AX3.cjs} +5 -5
  37. package/dist/{chunk-HY57ULY2.cjs.map → chunk-4PYZ5AX3.cjs.map} +1 -1
  38. package/dist/{chunk-OC4NTGMN.js → chunk-4QZSA2HJ.js} +3 -3
  39. package/dist/{chunk-OC4NTGMN.js.map → chunk-4QZSA2HJ.js.map} +1 -1
  40. package/dist/{chunk-K3FW2XZD.cjs → chunk-4ZHTIJNE.cjs} +9 -9
  41. package/dist/{chunk-K3FW2XZD.cjs.map → chunk-4ZHTIJNE.cjs.map} +1 -1
  42. package/dist/{chunk-BUIK7GUA.cjs → chunk-5HEG4CQH.cjs} +8 -8
  43. package/dist/{chunk-BUIK7GUA.cjs.map → chunk-5HEG4CQH.cjs.map} +1 -1
  44. package/dist/{chunk-SKXBJ2NU.cjs → chunk-5VB22SYX.cjs} +7 -54
  45. package/dist/chunk-5VB22SYX.cjs.map +1 -0
  46. package/dist/{chunk-5USCYPPI.cjs → chunk-6HKGLTJI.cjs} +8 -8
  47. package/dist/{chunk-5USCYPPI.cjs.map → chunk-6HKGLTJI.cjs.map} +1 -1
  48. package/dist/chunk-6RKUO7AW.cjs +864 -0
  49. package/dist/chunk-6RKUO7AW.cjs.map +1 -0
  50. package/dist/{chunk-5JLFFPCH.js → chunk-7YGCPMGB.js} +4 -4
  51. package/dist/{chunk-5JLFFPCH.js.map → chunk-7YGCPMGB.js.map} +1 -1
  52. package/dist/{chunk-SUKXXLWD.js → chunk-A46SWMIF.js} +6 -6
  53. package/dist/{chunk-SUKXXLWD.js.map → chunk-A46SWMIF.js.map} +1 -1
  54. package/dist/{chunk-F7AQV62G.js → chunk-A4JVILQU.js} +5 -5
  55. package/dist/{chunk-F7AQV62G.js.map → chunk-A4JVILQU.js.map} +1 -1
  56. package/dist/chunk-A4RAL2ER.cjs +51 -0
  57. package/dist/chunk-A4RAL2ER.cjs.map +1 -0
  58. package/dist/{chunk-44JAAH4X.js → chunk-B3IMEBOA.js} +3 -3
  59. package/dist/{chunk-44JAAH4X.js.map → chunk-B3IMEBOA.js.map} +1 -1
  60. package/dist/{chunk-QDED6YO6.cjs → chunk-B4EOJWOY.cjs} +5 -5
  61. package/dist/{chunk-QDED6YO6.cjs.map → chunk-B4EOJWOY.cjs.map} +1 -1
  62. package/dist/{chunk-YJDH3CKG.js → chunk-BP46RJ5X.js} +5 -5
  63. package/dist/{chunk-YJDH3CKG.js.map → chunk-BP46RJ5X.js.map} +1 -1
  64. package/dist/{chunk-QRSUA2CV.js → chunk-BU4KFWXF.js} +3 -3
  65. package/dist/{chunk-QRSUA2CV.js.map → chunk-BU4KFWXF.js.map} +1 -1
  66. package/dist/{chunk-IBYRA5PM.js → chunk-BVJJ3DRV.js} +6 -6
  67. package/dist/{chunk-IBYRA5PM.js.map → chunk-BVJJ3DRV.js.map} +1 -1
  68. package/dist/{chunk-AQLGBKNT.js → chunk-BZRFXJHA.js} +3 -3
  69. package/dist/{chunk-AQLGBKNT.js.map → chunk-BZRFXJHA.js.map} +1 -1
  70. package/dist/{chunk-UQGQFBRL.js → chunk-C3NT3PVE.js} +3 -3
  71. package/dist/{chunk-UQGQFBRL.js.map → chunk-C3NT3PVE.js.map} +1 -1
  72. package/dist/{chunk-UC3HT2S4.js → chunk-C72AZW7J.js} +3 -3
  73. package/dist/{chunk-UC3HT2S4.js.map → chunk-C72AZW7J.js.map} +1 -1
  74. package/dist/{chunk-WNTAPVU5.cjs → chunk-CQBXOJ6U.cjs} +13 -13
  75. package/dist/{chunk-WNTAPVU5.cjs.map → chunk-CQBXOJ6U.cjs.map} +1 -1
  76. package/dist/{chunk-T7XEKOVW.js → chunk-D4CUGAKZ.js} +3 -3
  77. package/dist/{chunk-T7XEKOVW.js.map → chunk-D4CUGAKZ.js.map} +1 -1
  78. package/dist/chunk-DKD3MH6A.js +194 -0
  79. package/dist/chunk-DKD3MH6A.js.map +1 -0
  80. package/dist/{chunk-YXGAW7BB.js → chunk-DN2PACRI.js} +10 -10
  81. package/dist/{chunk-YXGAW7BB.js.map → chunk-DN2PACRI.js.map} +1 -1
  82. package/dist/{chunk-XSX2UU6Y.cjs → chunk-DXGZ2NUG.cjs} +10 -10
  83. package/dist/{chunk-XSX2UU6Y.cjs.map → chunk-DXGZ2NUG.cjs.map} +1 -1
  84. package/dist/{chunk-NUKRL3I6.cjs → chunk-EG4QM7ZJ.cjs} +18 -2
  85. package/dist/chunk-EG4QM7ZJ.cjs.map +1 -0
  86. package/dist/chunk-GEEXBYFL.js +831 -0
  87. package/dist/chunk-GEEXBYFL.js.map +1 -0
  88. package/dist/chunk-GKEFRLU7.cjs +21 -0
  89. package/dist/chunk-GKEFRLU7.cjs.map +1 -0
  90. package/dist/{chunk-NIRE5CNO.cjs → chunk-HCZD23VS.cjs} +13 -13
  91. package/dist/{chunk-NIRE5CNO.cjs.map → chunk-HCZD23VS.cjs.map} +1 -1
  92. package/dist/chunk-HOXVQ5FR.cjs +201 -0
  93. package/dist/chunk-HOXVQ5FR.cjs.map +1 -0
  94. package/dist/{chunk-QARJGQSA.js → chunk-HS7AVXTF.js} +3 -3
  95. package/dist/{chunk-QARJGQSA.js.map → chunk-HS7AVXTF.js.map} +1 -1
  96. package/dist/{chunk-4I55V454.cjs → chunk-I6HGWHPU.cjs} +4 -4
  97. package/dist/{chunk-4I55V454.cjs.map → chunk-I6HGWHPU.cjs.map} +1 -1
  98. package/dist/{chunk-T73NA43R.js → chunk-IPYYKCRC.js} +3 -3
  99. package/dist/{chunk-T73NA43R.js.map → chunk-IPYYKCRC.js.map} +1 -1
  100. package/dist/{chunk-6OBIWHDR.cjs → chunk-ITYQ6VBP.cjs} +24 -365
  101. package/dist/chunk-ITYQ6VBP.cjs.map +1 -0
  102. package/dist/chunk-JPBKYL3B.cjs +18 -0
  103. package/dist/{chunk-6HTXPPHK.cjs.map → chunk-JPBKYL3B.cjs.map} +1 -1
  104. package/dist/{chunk-MZ2FGBLZ.js → chunk-K5OJUYSZ.js} +4 -4
  105. package/dist/{chunk-MZ2FGBLZ.js.map → chunk-K5OJUYSZ.js.map} +1 -1
  106. package/dist/{chunk-SKOCYA55.js → chunk-KIH6IZ43.js} +90 -88
  107. package/dist/chunk-KIH6IZ43.js.map +1 -0
  108. package/dist/{chunk-EI2Q7SJ5.cjs → chunk-KQ7TS7WW.cjs} +10 -10
  109. package/dist/{chunk-EI2Q7SJ5.cjs.map → chunk-KQ7TS7WW.cjs.map} +1 -1
  110. package/dist/{chunk-RUDY2GTT.js → chunk-KQRW2GPZ.js} +5 -5
  111. package/dist/{chunk-RUDY2GTT.js.map → chunk-KQRW2GPZ.js.map} +1 -1
  112. package/dist/{chunk-P5LCASTC.cjs → chunk-KYAJINUI.cjs} +125 -125
  113. package/dist/{chunk-P5LCASTC.cjs.map → chunk-KYAJINUI.cjs.map} +1 -1
  114. package/dist/{chunk-CQ2TQ32Y.js → chunk-LWGSI6M3.js} +5 -50
  115. package/dist/chunk-LWGSI6M3.js.map +1 -0
  116. package/dist/{chunk-ZHPWGIUX.js → chunk-LXI4XZEC.js} +5 -5
  117. package/dist/{chunk-ZHPWGIUX.js.map → chunk-LXI4XZEC.js.map} +1 -1
  118. package/dist/{chunk-AG5JPQIY.js → chunk-LXQ6HKPS.js} +3 -3
  119. package/dist/{chunk-AG5JPQIY.js.map → chunk-LXQ6HKPS.js.map} +1 -1
  120. package/dist/{chunk-ROYPRJH4.cjs → chunk-LYRDF5TQ.cjs} +9 -9
  121. package/dist/{chunk-ROYPRJH4.cjs.map → chunk-LYRDF5TQ.cjs.map} +1 -1
  122. package/dist/{chunk-G24KZRSA.js → chunk-N2U4AZGB.js} +3 -3
  123. package/dist/{chunk-G24KZRSA.js.map → chunk-N2U4AZGB.js.map} +1 -1
  124. package/dist/{chunk-4ERPXIVB.js → chunk-O73J46PV.js} +5 -5
  125. package/dist/{chunk-4ERPXIVB.js.map → chunk-O73J46PV.js.map} +1 -1
  126. package/dist/{chunk-F3YZMOAU.cjs → chunk-O7DK5PBJ.cjs} +4 -4
  127. package/dist/{chunk-F3YZMOAU.cjs.map → chunk-O7DK5PBJ.cjs.map} +1 -1
  128. package/dist/{chunk-Z4BCLVTI.cjs → chunk-O7LZFG6O.cjs} +5 -5
  129. package/dist/{chunk-Z4BCLVTI.cjs.map → chunk-O7LZFG6O.cjs.map} +1 -1
  130. package/dist/{chunk-3YJNUKYN.cjs → chunk-OHLDPWTA.cjs} +15 -15
  131. package/dist/{chunk-3YJNUKYN.cjs.map → chunk-OHLDPWTA.cjs.map} +1 -1
  132. package/dist/{chunk-FUL2I7G5.js → chunk-OSEG74VJ.js} +8 -8
  133. package/dist/{chunk-FUL2I7G5.js.map → chunk-OSEG74VJ.js.map} +1 -1
  134. package/dist/{chunk-UCBJBJ27.js → chunk-PUAEFLYK.js} +4 -4
  135. package/dist/{chunk-UCBJBJ27.js.map → chunk-PUAEFLYK.js.map} +1 -1
  136. package/dist/{chunk-CWHTMNNK.cjs → chunk-Q7LPTOD6.cjs} +24 -24
  137. package/dist/{chunk-CWHTMNNK.cjs.map → chunk-Q7LPTOD6.cjs.map} +1 -1
  138. package/dist/{chunk-2C72DXQF.cjs → chunk-RFMBZPOW.cjs} +9 -9
  139. package/dist/{chunk-2C72DXQF.cjs.map → chunk-RFMBZPOW.cjs.map} +1 -1
  140. package/dist/{chunk-NLTVXLGT.js → chunk-RFXWMRFC.js} +3 -3
  141. package/dist/{chunk-NLTVXLGT.js.map → chunk-RFXWMRFC.js.map} +1 -1
  142. package/dist/{chunk-2DG7KW4L.cjs → chunk-RMWTPV3M.cjs} +8 -8
  143. package/dist/{chunk-2DG7KW4L.cjs.map → chunk-RMWTPV3M.cjs.map} +1 -1
  144. package/dist/{chunk-P6A3M6VD.cjs → chunk-SZVR77EJ.cjs} +10 -10
  145. package/dist/{chunk-P6A3M6VD.cjs.map → chunk-SZVR77EJ.cjs.map} +1 -1
  146. package/dist/{chunk-3E77SX4H.js → chunk-TAZVKYWJ.js} +3 -3
  147. package/dist/{chunk-3E77SX4H.js.map → chunk-TAZVKYWJ.js.map} +1 -1
  148. package/dist/{chunk-WKRSH2VR.js → chunk-U6IFHFWK.js} +3 -3
  149. package/dist/{chunk-WKRSH2VR.js.map → chunk-U6IFHFWK.js.map} +1 -1
  150. package/dist/{chunk-I6TGFUCO.cjs → chunk-UALX2J2Q.cjs} +4 -4
  151. package/dist/{chunk-I6TGFUCO.cjs.map → chunk-UALX2J2Q.cjs.map} +1 -1
  152. package/dist/{chunk-XN7NOENA.js → chunk-UBDMVMBZ.js} +5 -5
  153. package/dist/{chunk-XN7NOENA.js.map → chunk-UBDMVMBZ.js.map} +1 -1
  154. package/dist/{chunk-QEKI3YKI.js → chunk-UEXIJTLC.js} +14 -349
  155. package/dist/chunk-UEXIJTLC.js.map +1 -0
  156. package/dist/{chunk-DQKERTND.cjs → chunk-UGT7GK7I.cjs} +11 -11
  157. package/dist/{chunk-DQKERTND.cjs.map → chunk-UGT7GK7I.cjs.map} +1 -1
  158. package/dist/{chunk-FKMUFNQE.js → chunk-UMP6OJIM.js} +4 -4
  159. package/dist/{chunk-FKMUFNQE.js.map → chunk-UMP6OJIM.js.map} +1 -1
  160. package/dist/{chunk-AEOZTXVW.js → chunk-UNYXQ4M5.js} +3 -3
  161. package/dist/{chunk-AEOZTXVW.js.map → chunk-UNYXQ4M5.js.map} +1 -1
  162. package/dist/{chunk-2BDH744Z.js → chunk-UTSRIDKZ.js} +3 -3
  163. package/dist/{chunk-2BDH744Z.js.map → chunk-UTSRIDKZ.js.map} +1 -1
  164. package/dist/{chunk-2ADR2GSO.cjs → chunk-UU36SHFY.cjs} +5 -5
  165. package/dist/{chunk-2ADR2GSO.cjs.map → chunk-UU36SHFY.cjs.map} +1 -1
  166. package/dist/{chunk-R3UPQFKK.cjs → chunk-V2BOS4WF.cjs} +9 -9
  167. package/dist/{chunk-R3UPQFKK.cjs.map → chunk-V2BOS4WF.cjs.map} +1 -1
  168. package/dist/chunk-WE22OXQA.js +48 -0
  169. package/dist/chunk-WE22OXQA.js.map +1 -0
  170. package/dist/{chunk-Q4CMI2LP.js → chunk-WLQNMXQE.js} +5 -5
  171. package/dist/{chunk-Q4CMI2LP.js.map → chunk-WLQNMXQE.js.map} +1 -1
  172. package/dist/{chunk-XWL6O3SW.cjs → chunk-WNO3C3N2.cjs} +4 -4
  173. package/dist/{chunk-XWL6O3SW.cjs.map → chunk-WNO3C3N2.cjs.map} +1 -1
  174. package/dist/{chunk-T7O6K6PX.js → chunk-XEQ3TM66.js} +18 -3
  175. package/dist/chunk-XEQ3TM66.js.map +1 -0
  176. package/dist/{chunk-BVZW2B5V.cjs → chunk-XJCXEKMD.cjs} +4 -4
  177. package/dist/{chunk-BVZW2B5V.cjs.map → chunk-XJCXEKMD.cjs.map} +1 -1
  178. package/dist/{chunk-JTB5Q42C.cjs → chunk-XL7Q7HB2.cjs} +4 -4
  179. package/dist/{chunk-JTB5Q42C.cjs.map → chunk-XL7Q7HB2.cjs.map} +1 -1
  180. package/dist/chunk-XO4SOZN6.js +19 -0
  181. package/dist/chunk-XO4SOZN6.js.map +1 -0
  182. package/dist/{chunk-CQGYNZ3K.cjs → chunk-XWTLIGO3.cjs} +4 -4
  183. package/dist/{chunk-CQGYNZ3K.cjs.map → chunk-XWTLIGO3.cjs.map} +1 -1
  184. package/dist/{chunk-6SBW4QR2.cjs → chunk-YML4ME27.cjs} +11 -11
  185. package/dist/{chunk-6SBW4QR2.cjs.map → chunk-YML4ME27.cjs.map} +1 -1
  186. package/dist/{chunk-P6H23T43.cjs → chunk-ZCIRZE37.cjs} +11 -11
  187. package/dist/{chunk-P6H23T43.cjs.map → chunk-ZCIRZE37.cjs.map} +1 -1
  188. package/dist/{chunk-QI7WE46I.cjs → chunk-ZLQSWSJ2.cjs} +11 -11
  189. package/dist/{chunk-QI7WE46I.cjs.map → chunk-ZLQSWSJ2.cjs.map} +1 -1
  190. package/dist/{chunk-AH6WD7JR.cjs → chunk-ZMRD5DZQ.cjs} +362 -360
  191. package/dist/chunk-ZMRD5DZQ.cjs.map +1 -0
  192. package/dist/{chunk-ILCGLTSA.cjs → chunk-ZSWPZ23K.cjs} +4 -4
  193. package/dist/{chunk-ILCGLTSA.cjs.map → chunk-ZSWPZ23K.cjs.map} +1 -1
  194. package/dist/{chunk-IDCKSLYH.js → chunk-ZZMZWBR6.js} +3 -3
  195. package/dist/{chunk-IDCKSLYH.js.map → chunk-ZZMZWBR6.js.map} +1 -1
  196. package/dist/compact-session-QV57KR66.cjs +59 -0
  197. package/dist/{compact-session-GJXJD73F.cjs.map → compact-session-QV57KR66.cjs.map} +1 -1
  198. package/dist/compact-session-RIGOWC4Y.js +22 -0
  199. package/dist/{compact-session-TSMQOIHO.js.map → compact-session-RIGOWC4Y.js.map} +1 -1
  200. package/dist/compaction.cjs +17 -17
  201. package/dist/compaction.js +4 -4
  202. package/dist/concurrency.cjs +7 -7
  203. package/dist/concurrency.js +5 -5
  204. package/dist/context-AGQ3DIZU.cjs +24 -0
  205. package/dist/{context-LCKNH2XI.cjs.map → context-AGQ3DIZU.cjs.map} +1 -1
  206. package/dist/context-GQRFBCLP.js +7 -0
  207. package/dist/{context-MZSKGKYR.js.map → context-GQRFBCLP.js.map} +1 -1
  208. package/dist/{cron-BcWmzWzT.d.cts → cron-BuiRPrvt.d.cts} +1 -1
  209. package/dist/{cron-De6hzWCF.d.ts → cron-C2SIi31n.d.ts} +1 -1
  210. package/dist/cron.cjs +37 -35
  211. package/dist/cron.d.cts +2 -2
  212. package/dist/cron.d.ts +2 -2
  213. package/dist/cron.js +36 -34
  214. package/dist/errors.cjs +22 -22
  215. package/dist/errors.js +3 -3
  216. package/dist/eval.cjs +42 -40
  217. package/dist/eval.cjs.map +1 -1
  218. package/dist/eval.js +36 -34
  219. package/dist/eval.js.map +1 -1
  220. package/dist/{executor-ZERJ3DGN.cjs → executor-6CYCA7MI.cjs} +25 -25
  221. package/dist/{executor-ZERJ3DGN.cjs.map → executor-6CYCA7MI.cjs.map} +1 -1
  222. package/dist/{executor-BMEHFOXZ.js → executor-QSEC3MRH.js} +8 -8
  223. package/dist/{executor-BMEHFOXZ.js.map → executor-QSEC3MRH.js.map} +1 -1
  224. package/dist/filesystem/index.cjs +8 -8
  225. package/dist/filesystem/index.js +4 -4
  226. package/dist/fs-session-store-4PIHT5UX.cjs +20 -0
  227. package/dist/{fs-session-store-XZ7ZTB3A.cjs.map → fs-session-store-4PIHT5UX.cjs.map} +1 -1
  228. package/dist/fs-session-store-NM6YSTE2.js +11 -0
  229. package/dist/{fs-session-store-4BHGIWRE.js.map → fs-session-store-NM6YSTE2.js.map} +1 -1
  230. package/dist/generate-object-GUNAUVBX.js +8 -0
  231. package/dist/{generate-object-N5MDZUJI.js.map → generate-object-GUNAUVBX.js.map} +1 -1
  232. package/dist/generate-object-R7HTMW7F.cjs +21 -0
  233. package/dist/{generate-object-PGSP5U7N.cjs.map → generate-object-R7HTMW7F.cjs.map} +1 -1
  234. package/dist/index-manager-RBDHP3PM.js +17 -0
  235. package/dist/{index-manager-AHAYJ33H.js.map → index-manager-RBDHP3PM.js.map} +1 -1
  236. package/dist/index-manager-UZBF22BJ.cjs +26 -0
  237. package/dist/{index-manager-RHPFVFSC.cjs.map → index-manager-UZBF22BJ.cjs.map} +1 -1
  238. package/dist/index.cjs +146 -319
  239. package/dist/index.cjs.map +1 -1
  240. package/dist/index.d.cts +8 -3
  241. package/dist/index.d.ts +8 -3
  242. package/dist/index.js +62 -235
  243. package/dist/index.js.map +1 -1
  244. package/dist/{inject-session-ZCQUB3IT.js → inject-session-DAR7OUCW.js} +8 -8
  245. package/dist/{inject-session-ZCQUB3IT.js.map → inject-session-DAR7OUCW.js.map} +1 -1
  246. package/dist/{inject-session-PPSO2IDD.cjs → inject-session-WQKMC3GR.cjs} +10 -10
  247. package/dist/{inject-session-PPSO2IDD.cjs.map → inject-session-WQKMC3GR.cjs.map} +1 -1
  248. package/dist/internal/memory/active-memory.d.ts +8 -1
  249. package/dist/internal/memory/adapters/index.cjs +9 -9
  250. package/dist/internal/memory/adapters/index.js +8 -8
  251. package/dist/internal/memory/dreaming/diary.d.ts +39 -2
  252. package/dist/internal/memory/index-db.d.ts +44 -1
  253. package/dist/internal/memory/index-manager-contract.d.ts +10 -0
  254. package/dist/internal/memory/index-manager-helpers.d.ts +20 -1
  255. package/dist/internal/memory/index-manager.d.ts +1 -1
  256. package/dist/internal/memory/lance-index.d.ts +15 -1
  257. package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +43 -0
  258. package/dist/internal/memory/storage/index.cjs +101 -18
  259. package/dist/internal/memory/storage/index.d.cts +11 -1
  260. package/dist/internal/memory/storage/index.d.ts +11 -1
  261. package/dist/internal/memory/storage/index.js +10 -7
  262. package/dist/internal/memory/storage/markdown-store.d.cts +13 -42
  263. package/dist/internal/memory/storage/markdown-store.d.ts +13 -42
  264. package/dist/internal/memory/storage/memory-root.d.cts +93 -0
  265. package/dist/internal/memory/storage/memory-root.d.ts +93 -0
  266. package/dist/internal/memory/storage/session-loader.d.cts +35 -1
  267. package/dist/internal/memory/storage/session-loader.d.ts +35 -1
  268. package/dist/internal/memory/storage/session-summary-writer.d.cts +50 -2
  269. package/dist/internal/memory/storage/session-summary-writer.d.ts +50 -2
  270. package/dist/internal/memory/storage/transcript-store.d.cts +38 -1
  271. package/dist/internal/memory/storage/transcript-store.d.ts +38 -1
  272. package/dist/internal/memory/storage/wiki-loader.d.cts +27 -2
  273. package/dist/internal/memory/storage/wiki-loader.d.ts +27 -2
  274. package/dist/internal/memory/tools.d.ts +8 -1
  275. package/dist/internal/memory/types.d.ts +5 -0
  276. package/dist/internal/persistence/index.cjs +29 -28
  277. package/dist/internal/persistence/index.cjs.map +1 -1
  278. package/dist/internal/persistence/index.js +8 -7
  279. package/dist/internal/persistence/index.js.map +1 -1
  280. package/dist/internal/persistence/session-dir.d.cts +0 -15
  281. package/dist/internal/persistence/session-dir.d.ts +0 -15
  282. package/dist/internal/runtime/memory/memory-store.d.ts +2 -2
  283. package/dist/internal/security/index.cjs +14 -14
  284. package/dist/internal/security/index.js +4 -4
  285. package/dist/judge-call-LAHMBJ57.cjs +23 -0
  286. package/dist/{judge-call-EGYRC2RE.cjs.map → judge-call-LAHMBJ57.cjs.map} +1 -1
  287. package/dist/judge-call-LVXABPS3.js +6 -0
  288. package/dist/{judge-call-DWHAJATE.js.map → judge-call-LVXABPS3.js.map} +1 -1
  289. package/dist/mcp-auth.cjs +15 -15
  290. package/dist/mcp-auth.js +5 -5
  291. package/dist/models.cjs +22 -22
  292. package/dist/models.js +7 -7
  293. package/dist/path-safety.cjs +11 -11
  294. package/dist/path-safety.js +4 -4
  295. package/dist/persistence.cjs +33 -32
  296. package/dist/persistence.cjs.map +1 -1
  297. package/dist/persistence.js +10 -9
  298. package/dist/persistence.js.map +1 -1
  299. package/dist/project.cjs +6 -6
  300. package/dist/project.js +4 -4
  301. package/dist/providers.cjs +9 -9
  302. package/dist/providers.js +7 -7
  303. package/dist/registry-75W33OGL.js +10 -0
  304. package/dist/{registry-VFP3WWQP.js.map → registry-75W33OGL.js.map} +1 -1
  305. package/dist/registry-V7BDQ6QB.cjs +47 -0
  306. package/dist/{registry-VFKX7WOP.cjs.map → registry-V7BDQ6QB.cjs.map} +1 -1
  307. package/dist/retry.cjs +5 -5
  308. package/dist/retry.js +4 -4
  309. package/dist/sandbox/index.cjs +7 -7
  310. package/dist/sandbox/index.js +3 -3
  311. package/dist/server/errors-envelope.cjs +15 -15
  312. package/dist/server/errors-envelope.js +4 -4
  313. package/dist/session-transcript-6WNITKRE.cjs +63 -0
  314. package/dist/{session-transcript-HF5GEU5M.cjs.map → session-transcript-6WNITKRE.cjs.map} +1 -1
  315. package/dist/session-transcript-XAEKW6P7.js +6 -0
  316. package/dist/{session-transcript-P462ZRHX.js.map → session-transcript-XAEKW6P7.js.map} +1 -1
  317. package/dist/skills.cjs +8 -8
  318. package/dist/skills.js +6 -6
  319. package/dist/stream-object-UF4QRQRU.js +8 -0
  320. package/dist/{stream-object-L57K4OFS.js.map → stream-object-UF4QRQRU.js.map} +1 -1
  321. package/dist/stream-object-ZJTQNKY3.cjs +21 -0
  322. package/dist/{stream-object-BUCF5PHO.cjs.map → stream-object-ZJTQNKY3.cjs.map} +1 -1
  323. package/dist/subagents-loader-CRT5LLL3.js +8 -0
  324. package/dist/{subagents-loader-6ATCDEKN.js.map → subagents-loader-CRT5LLL3.js.map} +1 -1
  325. package/dist/subagents-loader-YEUFFPAL.cjs +17 -0
  326. package/dist/{subagents-loader-X5QKODCL.cjs.map → subagents-loader-YEUFFPAL.cjs.map} +1 -1
  327. package/dist/subagents-loader.cjs +7 -7
  328. package/dist/subagents-loader.d.cts +1 -1
  329. package/dist/subagents-loader.d.ts +1 -1
  330. package/dist/subagents-loader.js +5 -5
  331. package/dist/subscription/index.cjs +4 -4
  332. package/dist/subscription/index.js +3 -3
  333. package/dist/task-store.cjs +8 -8
  334. package/dist/task-store.js +5 -5
  335. package/dist/types/agent.d.ts +11 -0
  336. package/dist/types/memory-provider.d.ts +8 -0
  337. package/dist/workflow.cjs +28 -28
  338. package/dist/workflow.js +7 -7
  339. package/docs/error-codes.md +10 -9
  340. package/docs/harness-capability-map.md +57 -17
  341. package/docs/memory-decisions.md +44 -7
  342. package/package.json +1 -1
  343. package/dist/agent-NVBFTY5H.js +0 -55
  344. package/dist/agent-VYPUO4UB.cjs +0 -64
  345. package/dist/agent-session-store-G2BMUZQV.js +0 -7
  346. package/dist/agent-session-store-WAKLOKWK.cjs +0 -24
  347. package/dist/chunk-2UCFUSPW.cjs +0 -468
  348. package/dist/chunk-2UCFUSPW.cjs.map +0 -1
  349. package/dist/chunk-6HTXPPHK.cjs +0 -18
  350. package/dist/chunk-6OBIWHDR.cjs.map +0 -1
  351. package/dist/chunk-AH6WD7JR.cjs.map +0 -1
  352. package/dist/chunk-CQ2TQ32Y.js.map +0 -1
  353. package/dist/chunk-NUKRL3I6.cjs.map +0 -1
  354. package/dist/chunk-QEKI3YKI.js.map +0 -1
  355. package/dist/chunk-SKOCYA55.js.map +0 -1
  356. package/dist/chunk-SKXBJ2NU.cjs.map +0 -1
  357. package/dist/chunk-T7O6K6PX.js.map +0 -1
  358. package/dist/chunk-WCLDJSMY.js +0 -456
  359. package/dist/chunk-WCLDJSMY.js.map +0 -1
  360. package/dist/compact-session-GJXJD73F.cjs +0 -59
  361. package/dist/compact-session-TSMQOIHO.js +0 -22
  362. package/dist/context-LCKNH2XI.cjs +0 -24
  363. package/dist/context-MZSKGKYR.js +0 -7
  364. package/dist/fs-session-store-4BHGIWRE.js +0 -11
  365. package/dist/fs-session-store-XZ7ZTB3A.cjs +0 -20
  366. package/dist/generate-object-N5MDZUJI.js +0 -8
  367. package/dist/generate-object-PGSP5U7N.cjs +0 -21
  368. package/dist/index-manager-AHAYJ33H.js +0 -16
  369. package/dist/index-manager-RHPFVFSC.cjs +0 -25
  370. package/dist/judge-call-DWHAJATE.js +0 -6
  371. package/dist/judge-call-EGYRC2RE.cjs +0 -23
  372. package/dist/registry-VFKX7WOP.cjs +0 -47
  373. package/dist/registry-VFP3WWQP.js +0 -10
  374. package/dist/session-transcript-HF5GEU5M.cjs +0 -63
  375. package/dist/session-transcript-P462ZRHX.js +0 -6
  376. package/dist/stream-object-BUCF5PHO.cjs +0 -21
  377. package/dist/stream-object-L57K4OFS.js +0 -8
  378. package/dist/subagents-loader-6ATCDEKN.js +0 -8
  379. package/dist/subagents-loader-X5QKODCL.cjs +0 -17
@@ -0,0 +1,864 @@
1
+ 'use strict';
2
+
3
+ var chunkKRD3GQAA_cjs = require('./chunk-KRD3GQAA.cjs');
4
+ var chunkV2BOS4WF_cjs = require('./chunk-V2BOS4WF.cjs');
5
+ var chunk5HEG4CQH_cjs = require('./chunk-5HEG4CQH.cjs');
6
+ var chunk5VB22SYX_cjs = require('./chunk-5VB22SYX.cjs');
7
+ var chunkZF2LDKQQ_cjs = require('./chunk-ZF2LDKQQ.cjs');
8
+ var chunkUALX2J2Q_cjs = require('./chunk-UALX2J2Q.cjs');
9
+ var chunk4ZHTIJNE_cjs = require('./chunk-4ZHTIJNE.cjs');
10
+ var chunkXL7Q7HB2_cjs = require('./chunk-XL7Q7HB2.cjs');
11
+ var chunkEG4QM7ZJ_cjs = require('./chunk-EG4QM7ZJ.cjs');
12
+ var os = require('os');
13
+ var path = require('path');
14
+ var promises = require('fs/promises');
15
+ var fs = require('fs');
16
+ var module$1 = require('module');
17
+ var crypto = require('crypto');
18
+
19
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
20
+ var DEFAULT_SUBPATH = [".theokit", "memory"];
21
+ function asMemoryRoot(dir) {
22
+ return dir;
23
+ }
24
+ function projectMemoryDir(cwd) {
25
+ return path.join(cwd, ...DEFAULT_SUBPATH);
26
+ }
27
+ function claudeProjectMemoryDir(cwd) {
28
+ const home = process.env.CLAUDE_CONFIG_DIR?.trim();
29
+ const root = home !== void 0 && home.length > 0 ? home : path.join(os.homedir(), ".claude");
30
+ return path.join(root, "projects", chunk5HEG4CQH_cjs.encodeProjectDir(cwd), "memory");
31
+ }
32
+ function resolveMemoryRoot(cwd, config) {
33
+ const declared = config?.directory;
34
+ if (declared === void 0) return projectMemoryDir(cwd);
35
+ const trimmed = declared.trim();
36
+ if (trimmed.startsWith("~/")) return path.join(os.homedir(), trimmed.slice(2));
37
+ if (trimmed.length === 0 || !path.isAbsolute(trimmed)) {
38
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
39
+ `memory.directory must be an absolute path or start with "~/". Received: ${JSON.stringify(declared)}`,
40
+ { code: "invalid_memory_directory" }
41
+ );
42
+ }
43
+ return trimmed;
44
+ }
45
+ var MEMORY_INDEX_MAX_LINES = 200;
46
+ var MEMORY_INDEX_MAX_BYTES = 25 * 1024;
47
+ function indexBudgetWarning(index, root) {
48
+ if (root !== claudeProjectMemoryDirFor(root)) return void 0;
49
+ const lines = index.split("\n").length;
50
+ const bytes = Buffer.byteLength(index, "utf8");
51
+ const over = [];
52
+ if (lines > MEMORY_INDEX_MAX_LINES) over.push(`${lines} lines (limit ${MEMORY_INDEX_MAX_LINES})`);
53
+ if (bytes > MEMORY_INDEX_MAX_BYTES) {
54
+ over.push(`${Math.round(bytes / 1024)} KB (limit ${MEMORY_INDEX_MAX_BYTES / 1024} KB)`);
55
+ }
56
+ if (over.length === 0) return void 0;
57
+ return `MEMORY.md at ${root} is ${over.join(" and ")}. The Claude Code CLI loads only the first ${MEMORY_INDEX_MAX_LINES} lines / ${MEMORY_INDEX_MAX_BYTES / 1024} KB of an index and drops the rest without saying so, which is where this store is written. Shorten the entries or move detail into the per-memory files. Recall through this SDK is unaffected \u2014 it reads the files, not the index.`;
58
+ }
59
+ function claudeProjectMemoryDirFor(root) {
60
+ const home = process.env.CLAUDE_CONFIG_DIR?.trim();
61
+ const claudeHome = home !== void 0 && home.length > 0 ? home : path.join(os.homedir(), ".claude");
62
+ const prefix = path.join(claudeHome, "projects");
63
+ const isUnderProjects = root.startsWith(`${prefix}${path.sep}`);
64
+ return isUnderProjects && root.endsWith(`${path.sep}memory`) ? root : "";
65
+ }
66
+ function memoryReadRoots(cwd, config) {
67
+ return [
68
+ .../* @__PURE__ */ new Set([
69
+ resolveMemoryRoot(cwd, config),
70
+ projectMemoryDir(cwd),
71
+ claudeProjectMemoryDir(cwd)
72
+ ])
73
+ ];
74
+ }
75
+ var MEMORY_KINDS = ["user", "feedback", "project", "reference"];
76
+ function legacyMemoryJsonPath(cwd, config) {
77
+ if (config.storePath !== void 0) {
78
+ return path.resolve(cwd, config.storePath);
79
+ }
80
+ const namespace = chunkV2BOS4WF_cjs.sanitizeIdentifier(config.namespace ?? "default");
81
+ const scope = chunkV2BOS4WF_cjs.sanitizeIdentifier(config.scope ?? "agent", { maxLen: 16 });
82
+ const userId = chunkV2BOS4WF_cjs.sanitizeIdentifier(config.userId ?? "default");
83
+ return chunkV2BOS4WF_cjs.safePathJoin(cwd, ".theokit", "memory", namespace, `${scope}-${userId}.json`);
84
+ }
85
+
86
+ // src/internal/memory/storage/memory-file.ts
87
+ var SAFE_SLUG = /^[a-z0-9][a-z0-9_-]*$/;
88
+ var MAX_SLUG_LENGTH = 64;
89
+ var TARGET_SLUG_LENGTH = 32;
90
+ var TITLE_MAX_LENGTH = 40;
91
+ var TITLE_MAX_WORDS = 4;
92
+ var SLUG_STOPWORDS = /* @__PURE__ */ new Set([
93
+ "the",
94
+ "a",
95
+ "an",
96
+ "and",
97
+ "or",
98
+ "but",
99
+ "is",
100
+ "are",
101
+ "was",
102
+ "were",
103
+ "be",
104
+ "been",
105
+ "being",
106
+ "for",
107
+ "of",
108
+ "to",
109
+ "in",
110
+ "on",
111
+ "at",
112
+ "by",
113
+ "with",
114
+ "from",
115
+ "as",
116
+ "that",
117
+ "this",
118
+ "these",
119
+ "those",
120
+ "it",
121
+ "its",
122
+ "he",
123
+ "she",
124
+ "they",
125
+ "we",
126
+ "you",
127
+ "i",
128
+ "do",
129
+ "does",
130
+ "did",
131
+ "has",
132
+ "have",
133
+ "had",
134
+ "will",
135
+ "would",
136
+ "can",
137
+ "could",
138
+ "should",
139
+ "must",
140
+ "not",
141
+ "no",
142
+ "over",
143
+ "under",
144
+ "into",
145
+ "onto",
146
+ "than",
147
+ "then",
148
+ "when",
149
+ "where",
150
+ "which",
151
+ "who",
152
+ "why",
153
+ "how",
154
+ "all",
155
+ "any",
156
+ "each",
157
+ "more",
158
+ "most",
159
+ "other",
160
+ "some",
161
+ "such",
162
+ "only",
163
+ "own",
164
+ "same",
165
+ "so",
166
+ "too",
167
+ "very",
168
+ "just",
169
+ "also",
170
+ "about",
171
+ "after",
172
+ "before",
173
+ "between",
174
+ "during",
175
+ "up",
176
+ "down",
177
+ "out",
178
+ "off",
179
+ "again",
180
+ "once",
181
+ "here",
182
+ "there",
183
+ "if",
184
+ "because",
185
+ "while"
186
+ ]);
187
+ function topicWords(text) {
188
+ return text.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, "").split(/[^a-z0-9]+/).filter((w) => w.length >= 2 && !SLUG_STOPWORDS.has(w));
189
+ }
190
+ function slugForFact(text) {
191
+ const words = topicWords(text);
192
+ let slug = "";
193
+ for (const w of words) {
194
+ const next = slug.length === 0 ? w : `${slug}-${w}`;
195
+ if (next.length > TARGET_SLUG_LENGTH && slug.length > 0) break;
196
+ if (next.length > MAX_SLUG_LENGTH) break;
197
+ slug = next;
198
+ }
199
+ if (slug.length === 0) {
200
+ slug = text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, MAX_SLUG_LENGTH).replace(/-+$/, "");
201
+ }
202
+ return SAFE_SLUG.test(slug) ? slug : chunkV2BOS4WF_cjs.safeFilenameForId(text);
203
+ }
204
+ function titleForFact(text) {
205
+ const words = topicWords(text);
206
+ if (words.length === 0) return text.trim().slice(0, TITLE_MAX_LENGTH);
207
+ let title = "";
208
+ let used = 0;
209
+ for (const w of words) {
210
+ if (used >= TITLE_MAX_WORDS) break;
211
+ const next = title.length === 0 ? w : `${title} ${w}`;
212
+ if (next.length > TITLE_MAX_LENGTH && title.length > 0) break;
213
+ title = next;
214
+ used += 1;
215
+ }
216
+ if (title.length === 0) title = words[0];
217
+ return title.charAt(0).toUpperCase() + title.slice(1);
218
+ }
219
+ function readMetadata(raw) {
220
+ const metadata = raw ?? {};
221
+ const rawKind = metadata.type;
222
+ const kind = typeof rawKind === "string" && MEMORY_KINDS.includes(rawKind) ? rawKind : void 0;
223
+ const modified = typeof metadata.modified === "string" ? metadata.modified : void 0;
224
+ const observations = readObservationCount(metadata.observations);
225
+ return {
226
+ ...kind !== void 0 ? { kind } : {},
227
+ ...modified !== void 0 ? { modified } : {},
228
+ ...observations !== void 0 ? { observations } : {}
229
+ };
230
+ }
231
+ function readObservationCount(raw) {
232
+ if (typeof raw !== "number") return void 0;
233
+ if (!Number.isInteger(raw) || raw <= 0) return void 0;
234
+ return raw;
235
+ }
236
+ function renderMemoryFile(fields) {
237
+ const metadata = [" node_type: memory"];
238
+ if (fields.kind !== void 0) metadata.push(` type: ${fields.kind}`);
239
+ if (fields.modified !== void 0) metadata.push(` modified: ${fields.modified}`);
240
+ if (fields.observations !== void 0) {
241
+ metadata.push(` observations: ${fields.observations}`);
242
+ }
243
+ return [
244
+ "---",
245
+ `name: ${fields.name}`,
246
+ `description: ${JSON.stringify(fields.description)}`,
247
+ "metadata:",
248
+ ...metadata,
249
+ "---",
250
+ "",
251
+ fields.body,
252
+ ""
253
+ ].join("\n");
254
+ }
255
+ function parseMemoryFile(raw) {
256
+ const { yaml, body } = chunkKRD3GQAA_cjs.splitFrontmatter(raw);
257
+ if (yaml === void 0) return void 0;
258
+ let fields;
259
+ try {
260
+ fields = chunkKRD3GQAA_cjs.parseSimpleYaml(yaml);
261
+ } catch {
262
+ return void 0;
263
+ }
264
+ const name = fields.name;
265
+ const description = fields.description;
266
+ if (typeof name !== "string" || typeof description !== "string") return void 0;
267
+ return {
268
+ name,
269
+ description,
270
+ ...readMetadata(fields.metadata),
271
+ body: body.trim()
272
+ };
273
+ }
274
+
275
+ // src/internal/memory/storage/threat-scan.ts
276
+ var INVISIBLE_CLASS = "\\u200B-\\u200F\\u202A-\\u202E\\u2066-\\u2069\\uFEFF";
277
+ var THREAT_PATTERNS = [
278
+ {
279
+ id: "invisible_unicode",
280
+ // Text that renders as one thing to a reviewer and another to a parser is the whole
281
+ // technique.
282
+ test: new RegExp(`[${INVISIBLE_CLASS}]`, "u"),
283
+ why: "contains invisible or bidirectional control characters"
284
+ },
285
+ {
286
+ id: "instruction_override",
287
+ // The framing that tries to make recalled text outrank the system prompt. A memory entry
288
+ // states what was learned; it never addresses the model's instructions.
289
+ test: /\b(?:ignore|disregard|forget|override)\s+(?:all\s+|any\s+|the\s+|your\s+|previous\s+|prior\s+|earlier\s+|above\s+)*(?:instruction|prompt|rule|directive|guideline|system\s+prompt)/i,
290
+ why: "addresses the model's instructions instead of stating what was learned"
291
+ },
292
+ {
293
+ id: "role_reassignment",
294
+ test: /\b(?:you\s+are\s+now|from\s+now\s+on\s+you\s+(?:are|will|must)|new\s+system\s+prompt|act\s+as\s+(?:if\s+you\s+are\s+)?(?:an?\s+)?(?:unrestricted|jailbroken|developer\s+mode))/i,
295
+ why: "attempts to reassign the agent's role"
296
+ },
297
+ // A `pipe_to_shell` pattern (`curl … | sh`) was written here and REMOVED after measurement.
298
+ // It fired on 1 of 797 real memory files, and the hit was legitimate: a note documenting the
299
+ // product's own install command in a table. Fetch-and-execute in a hostile entry and in an
300
+ // install instruction are textually identical, so the pattern cannot be narrowed — only
301
+ // traded. Rejecting the write would mean the first person to save install docs to memory
302
+ // gets a hard failure, which buys nothing: an entry the agent READS is not an entry the
303
+ // agent RUNS, and execution is gated at the tool boundary, where it belongs. Left out on
304
+ // purpose, so nobody re-adds it without repeating the measurement.
305
+ {
306
+ id: "encoded_payload",
307
+ // A base64 run this long is not prose. Short tokens are left alone precisely so that hashes,
308
+ // commit SHAs and identifiers keep working.
309
+ test: /[A-Za-z0-9+/]{256,}={0,2}/,
310
+ why: "carries a long encoded payload rather than readable text"
311
+ }
312
+ ];
313
+ var EXCERPT_RADIUS = 40;
314
+ var EXCERPT_SCRUB = new RegExp(`[\\u0000-\\u001F${INVISIBLE_CLASS}]`, "gu");
315
+ function scanForThreats(text) {
316
+ for (const pattern of THREAT_PATTERNS) {
317
+ const m = pattern.test.exec(text);
318
+ if (m === null) continue;
319
+ const at = m.index;
320
+ const start = Math.max(0, at - EXCERPT_RADIUS);
321
+ const end = Math.min(text.length, at + m[0].length + EXCERPT_RADIUS);
322
+ const window = text.slice(start, end).replace(EXCERPT_SCRUB, "\u2423");
323
+ return {
324
+ id: pattern.id,
325
+ why: pattern.why,
326
+ excerpt: `${start > 0 ? "\u2026" : ""}${window}${end < text.length ? "\u2026" : ""}`
327
+ };
328
+ }
329
+ return void 0;
330
+ }
331
+ THREAT_PATTERNS.map((p) => p.id);
332
+
333
+ // src/internal/memory/storage/markdown-store.ts
334
+ var MEMORY_MD_HEADER = "# Memory Index\n";
335
+ var FACTS_HEADING = "## Facts";
336
+ var MAX_NAME_VARIANTS = 50;
337
+ function memoryMdPath(root) {
338
+ return path.join(root, "MEMORY.md");
339
+ }
340
+ function notesDir(root) {
341
+ return path.join(root, "notes");
342
+ }
343
+ function byNaturalName(a, b) {
344
+ const split = (f) => {
345
+ const stem = f.replace(/\.md$/, "");
346
+ const m = /^(.*?)-(\d+)$/.exec(stem);
347
+ return m === null ? [stem, 0] : [m[1], Number(m[2])];
348
+ };
349
+ const [baseA, nA] = split(a);
350
+ const [baseB, nB] = split(b);
351
+ return baseA === baseB ? nA - nB : baseA.localeCompare(baseB);
352
+ }
353
+ async function readFactsFromMarkdown(cwd, config) {
354
+ const facts = [];
355
+ const roots = memoryReadRoots(cwd, config);
356
+ for (const dir of roots) facts.push(...await readMemoryFilesIn(dir));
357
+ for (const dir of roots) facts.push(...await readLegacyFactsSectionIn(dir));
358
+ return facts;
359
+ }
360
+ async function readMemoryFilesIn(dir) {
361
+ let entries;
362
+ try {
363
+ entries = await promises.readdir(dir);
364
+ } catch {
365
+ return [];
366
+ }
367
+ const facts = [];
368
+ for (const entry of entries.sort(byNaturalName)) {
369
+ const fact = await readMemoryFileIn(dir, entry);
370
+ if (fact !== void 0) facts.push(fact);
371
+ }
372
+ facts.sort((a, b) => (a.modified ?? "").localeCompare(b.modified ?? ""));
373
+ return facts;
374
+ }
375
+ async function readLegacyFactsSectionIn(dir) {
376
+ try {
377
+ return parseFactsSection(await promises.readFile(path.join(dir, "MEMORY.md"), "utf8"));
378
+ } catch {
379
+ return [];
380
+ }
381
+ }
382
+ async function readMemoryFileIn(dir, entry) {
383
+ if (!entry.endsWith(".md") || entry === "MEMORY.md") return void 0;
384
+ let raw;
385
+ try {
386
+ raw = await promises.readFile(path.join(dir, entry), "utf8");
387
+ } catch {
388
+ return void 0;
389
+ }
390
+ const parsed = parseMemoryFile(raw);
391
+ if (parsed === void 0) return void 0;
392
+ const body = parsed.body.trim();
393
+ return {
394
+ text: body.length > 0 ? body : parsed.description,
395
+ ...parsed.kind !== void 0 ? { kind: parsed.kind } : {},
396
+ ...parsed.modified !== void 0 ? { modified: parsed.modified } : {},
397
+ ...parsed.observations !== void 0 ? { observations: parsed.observations } : {}
398
+ };
399
+ }
400
+ function assertWritable(fact, text) {
401
+ if (fact.kind !== void 0 && !MEMORY_KINDS.includes(fact.kind)) {
402
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
403
+ `Unknown memory fact kind "${fact.kind}". Expected one of: ${MEMORY_KINDS.join(", ")}.`,
404
+ { code: "invalid_memory_kind" }
405
+ );
406
+ }
407
+ const threat = scanForThreats(text);
408
+ if (threat !== void 0) {
409
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
410
+ `Refusing to write a memory entry that ${threat.why}: ${threat.excerpt}`,
411
+ { code: "memory_threat_rejected" }
412
+ );
413
+ }
414
+ }
415
+ function appendFactToMarkdown(cwd, fact, targetDir = projectMemoryDir(cwd)) {
416
+ return chunkZF2LDKQQ_cjs.withCwdMutex(targetDir, async () => {
417
+ const text = chunkXL7Q7HB2_cjs.redactSecrets(fact.text);
418
+ assertWritable(fact, text);
419
+ const title = fact.title?.trim() ?? titleForFact(text);
420
+ const base = fact.title !== void 0 ? slugForFact(fact.title) : slugForFact(text);
421
+ await promises.mkdir(targetDir, { recursive: true });
422
+ const name = await resolveName(targetDir, base, text);
423
+ const description = fact.description?.trim() ?? text;
424
+ const observations = await nextObservationCount(targetDir, name, text);
425
+ await chunkUALX2J2Q_cjs.replaceFileAtomic(
426
+ path.join(targetDir, `${name}.md`),
427
+ renderMemoryFile({
428
+ name,
429
+ description,
430
+ ...fact.kind !== void 0 ? { kind: fact.kind } : {},
431
+ modified: (/* @__PURE__ */ new Date()).toISOString(),
432
+ observations,
433
+ body: text
434
+ })
435
+ );
436
+ const index = await nextIndex(targetDir, description, name, title);
437
+ await chunkUALX2J2Q_cjs.replaceFileAtomic(path.join(targetDir, "MEMORY.md"), index);
438
+ const warning = indexBudgetWarning(index, targetDir);
439
+ if (warning !== void 0) chunkEG4QM7ZJ_cjs.diag(`[theokit-sdk] ${warning}
440
+ `);
441
+ });
442
+ }
443
+ async function resolveName(dir, base, text) {
444
+ const wanted = normalizeFactText(text);
445
+ for (let i = 1; i <= MAX_NAME_VARIANTS; i += 1) {
446
+ const candidate = i === 1 ? base : `${base}-${i}`;
447
+ let existing;
448
+ try {
449
+ existing = await promises.readFile(path.join(dir, `${candidate}.md`), "utf8");
450
+ } catch {
451
+ return candidate;
452
+ }
453
+ const parsed = parseMemoryFile(existing);
454
+ if (parsed === void 0) return candidate;
455
+ if (normalizeFactText(parsed.body) === wanted) return candidate;
456
+ }
457
+ return slugForFact(text) === base ? chunkV2BOS4WF_cjs.safeFilenameForId(text) : slugForFact(text);
458
+ }
459
+ async function nextObservationCount(dir, name, text) {
460
+ let existing;
461
+ try {
462
+ existing = await promises.readFile(path.join(dir, `${name}.md`), "utf8");
463
+ } catch {
464
+ return 1;
465
+ }
466
+ const parsed = parseMemoryFile(existing);
467
+ if (parsed === void 0) return 1;
468
+ const sameFact = normalizeFactText(parsed.body) === normalizeFactText(text);
469
+ if (!sameFact) return 1;
470
+ return (parsed.observations ?? 1) + 1;
471
+ }
472
+ function normalizeFactText(text) {
473
+ return text.trim().toLowerCase().replace(/\s+/g, " ").replace(/[.!?]+$/, "");
474
+ }
475
+ async function nextIndex(dir, text, name, title) {
476
+ let existing = "";
477
+ try {
478
+ existing = await promises.readFile(path.join(dir, "MEMORY.md"), "utf8");
479
+ } catch {
480
+ existing = "";
481
+ }
482
+ const hook = text.replace(/\s+/g, " ").trim();
483
+ const entry = hook.length > 0 && hook !== title ? `- [${title}](${name}.md) \u2014 ${hook}` : `- [${title}](${name}.md)`;
484
+ const kept = existing.split("\n").filter((line) => !line.startsWith(`- [`) || !line.includes(`](${name}.md)`));
485
+ const body = kept.join("\n").trimEnd();
486
+ const head = body.length > 0 ? body : MEMORY_MD_HEADER;
487
+ return `${head}
488
+ ${entry}
489
+ `;
490
+ }
491
+ var INDEX_ENTRY = /^\[[^\]]*\]\([^)]+\.md\)(?:\s+—\s.*)?$/;
492
+ function parseFactsSection(raw) {
493
+ const idx = raw.indexOf(FACTS_HEADING);
494
+ if (idx === -1) return [];
495
+ const tail = raw.slice(idx + FACTS_HEADING.length);
496
+ const nextHeading = tail.search(/\n#{1,2}\s/);
497
+ const block = nextHeading === -1 ? tail : tail.slice(0, nextHeading);
498
+ return block.split("\n").map((line) => line.trim()).filter((line) => line.startsWith("- ")).map((line) => line.slice(2).trim()).filter((body) => !INDEX_ENTRY.test(body)).map((body) => ({ text: body }));
499
+ }
500
+ async function readFacts(cwd, config) {
501
+ if (!config.enabled) return [];
502
+ return readFactsFromMarkdown(cwd, config);
503
+ }
504
+ async function appendFact(cwd, config, fact) {
505
+ if (!config.enabled) return;
506
+ await appendFactToMarkdown(cwd, fact, resolveMemoryRoot(cwd, config));
507
+ }
508
+ var MAX_TURN_CHARS = 2e3;
509
+ function sessionsDir(root) {
510
+ return path.join(root, "sessions");
511
+ }
512
+ function sessionSummaryPath(root, runId) {
513
+ return path.join(sessionsDir(root), `${chunkV2BOS4WF_cjs.safeFilenameForId(runId, { maxLen: 128 })}.md`);
514
+ }
515
+ function truncate(text) {
516
+ if (text.length <= MAX_TURN_CHARS) return text;
517
+ return `${text.slice(0, MAX_TURN_CHARS)}\u2026`;
518
+ }
519
+ async function writeSessionSummary(input) {
520
+ if (input.status !== "finished") return;
521
+ const path = sessionSummaryPath(input.memoryRoot, input.runId);
522
+ await promises.mkdir(sessionsDir(input.memoryRoot), { recursive: true });
523
+ const safeUser = chunkXL7Q7HB2_cjs.redactSecrets(truncate(input.userText));
524
+ const safeAssistant = chunkXL7Q7HB2_cjs.redactSecrets(truncate(input.assistantText));
525
+ const iso = new Date(input.at).toISOString();
526
+ const body = [
527
+ "---",
528
+ `runId: ${input.runId}`,
529
+ `agentId: ${input.agentId}`,
530
+ `at: ${iso}`,
531
+ `status: ${input.status}`,
532
+ "---",
533
+ "",
534
+ "## User",
535
+ "",
536
+ safeUser,
537
+ "",
538
+ "## Assistant",
539
+ "",
540
+ safeAssistant,
541
+ ""
542
+ ].join("\n");
543
+ await chunkUALX2J2Q_cjs.replaceFileAtomic(path, body);
544
+ }
545
+
546
+ // src/internal/memory/index-schema.ts
547
+ var SCHEMA_STATEMENTS = [
548
+ `CREATE TABLE IF NOT EXISTS files (
549
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
550
+ path TEXT UNIQUE NOT NULL,
551
+ rel_path TEXT NOT NULL,
552
+ mtime INTEGER NOT NULL,
553
+ hash TEXT NOT NULL,
554
+ source TEXT NOT NULL DEFAULT 'memory'
555
+ )`,
556
+ `CREATE TABLE IF NOT EXISTS chunks (
557
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
558
+ file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE,
559
+ start_line INTEGER NOT NULL,
560
+ end_line INTEGER NOT NULL,
561
+ text TEXT NOT NULL,
562
+ hash TEXT NOT NULL,
563
+ session_key TEXT
564
+ )`,
565
+ `CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(
566
+ text,
567
+ content='chunks',
568
+ content_rowid='id'
569
+ )`,
570
+ `CREATE TRIGGER IF NOT EXISTS chunks_fts_insert AFTER INSERT ON chunks BEGIN
571
+ INSERT INTO chunks_fts(rowid, text) VALUES (new.id, new.text);
572
+ END`,
573
+ `CREATE TRIGGER IF NOT EXISTS chunks_fts_delete AFTER DELETE ON chunks BEGIN
574
+ INSERT INTO chunks_fts(chunks_fts, rowid, text) VALUES ('delete', old.id, old.text);
575
+ END`,
576
+ `CREATE TABLE IF NOT EXISTS meta (
577
+ key TEXT PRIMARY KEY,
578
+ value TEXT
579
+ )`,
580
+ `CREATE INDEX IF NOT EXISTS idx_chunks_file_id ON chunks(file_id)`
581
+ ];
582
+ var PRAGMA_STATEMENTS = [
583
+ "PRAGMA synchronous=NORMAL",
584
+ "PRAGMA foreign_keys=ON"
585
+ ];
586
+
587
+ // src/internal/memory/index-db.ts
588
+ async function openMemoryDb(opts) {
589
+ return chunk5VB22SYX_cjs.openSqliteResilient({
590
+ filePath: opts.filePath,
591
+ label: "memory-index",
592
+ recoverCorrupt: opts.recoverCorrupt,
593
+ onOpen: (db) => {
594
+ for (const pragma of PRAGMA_STATEMENTS) db.exec(pragma);
595
+ for (const stmt of SCHEMA_STATEMENTS) db.exec(stmt);
596
+ }
597
+ });
598
+ }
599
+ function defaultIndexPath(root) {
600
+ return path.join(root, ".index", "memory.sqlite");
601
+ }
602
+ function requireLance() {
603
+ try {
604
+ const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-6RKUO7AW.cjs', document.baseURI).href)));
605
+ return r("@lancedb/lancedb");
606
+ } catch (cause) {
607
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
608
+ 'Lance backend selected but `@lancedb/lancedb` is not installed. Install with: `pnpm add @lancedb/lancedb`. SQLite remains available as the default (omit `backend: "lance"`).',
609
+ { code: "lance_backend_unavailable", cause }
610
+ );
611
+ }
612
+ }
613
+ var LanceIndex = class _LanceIndex {
614
+ constructor(table, embedding, embeddingDim) {
615
+ this.table = table;
616
+ this.embedding = embedding;
617
+ this.embeddingDim = embeddingDim;
618
+ }
619
+ table;
620
+ embedding;
621
+ embeddingDim;
622
+ static async open(opts) {
623
+ const lance = requireLance();
624
+ const storagePath = opts.storagePath ?? lanceStoragePath(opts.memoryRoot ?? resolveMemoryRoot(opts.cwd));
625
+ fs.mkdirSync(storagePath, { recursive: true });
626
+ const conn = await lance.connect(storagePath);
627
+ const dim = opts.embedding.dimension;
628
+ const tableName = "facts";
629
+ const existing = await conn.tableNames();
630
+ let table;
631
+ if (existing.includes(tableName)) {
632
+ table = await conn.openTable(tableName);
633
+ const schema = await table.schema();
634
+ const embField = schema.fields.find((f) => f.name === "embedding");
635
+ const existingDim = embField?.type?.listSize ?? embField?.type?.fixedSize;
636
+ if (typeof existingDim === "number" && existingDim !== dim) {
637
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
638
+ `Embedding dimension mismatch in Lance index: storage has ${existingDim}-dim vectors, current provider yields ${dim}-dim. Run \`theokit-migrate-memory\` after switching providers, or use a different storagePath.`,
639
+ { code: "embedding_dimension_mismatch" }
640
+ );
641
+ }
642
+ } else {
643
+ const bootstrap = {
644
+ id: "__bootstrap__",
645
+ text: "",
646
+ source: "memory",
647
+ embedding: new Array(dim).fill(0),
648
+ namespace: "__bootstrap__",
649
+ scope: "__bootstrap__",
650
+ user_id: "__bootstrap__",
651
+ timestamp: 0
652
+ };
653
+ table = await conn.createTable(tableName, [bootstrap]);
654
+ await table.delete("namespace = '__bootstrap__'");
655
+ }
656
+ return new _LanceIndex(table, opts.embedding, dim);
657
+ }
658
+ async addFacts(facts) {
659
+ if (facts.length === 0) return;
660
+ const texts = facts.map((f) => f.text);
661
+ const embeddings = await this.embedding.embed(texts);
662
+ const rows = facts.map((f, i) => ({
663
+ ...f,
664
+ embedding: embeddings[i] ?? new Array(this.embeddingDim).fill(0)
665
+ }));
666
+ await this.table.add(rows);
667
+ }
668
+ /**
669
+ * Search facts by semantic similarity. EC-1: filters use Lance's
670
+ * structured object filter — NEVER string interpolation.
671
+ */
672
+ async search(query, opts) {
673
+ const [embedding] = await this.embedding.embed([query]);
674
+ if (embedding === void 0) return [];
675
+ const predicates = [`namespace = '${escapeSqlValue(opts.namespace)}'`];
676
+ if (opts.scope !== void 0) {
677
+ predicates.push(`scope = '${escapeSqlValue(opts.scope)}'`);
678
+ }
679
+ let q = this.table.search(embedding).where(predicates.join(" AND "));
680
+ if (opts.limit !== void 0) q = q.limit(opts.limit);
681
+ const results = await q.toArray();
682
+ return results.filter((r) => opts.sources === void 0 || opts.sources.includes(r.source)).map((r) => ({
683
+ id: r.id,
684
+ text: r.text,
685
+ source: r.source,
686
+ namespace: r.namespace,
687
+ scope: r.scope,
688
+ userId: r.user_id,
689
+ // Lower _distance = better match; normalize to 0..1 (1=best).
690
+ score: 1 / (1 + (r._distance ?? 1))
691
+ }));
692
+ }
693
+ async countFacts(namespace) {
694
+ return this.table.countRows();
695
+ }
696
+ async removeFacts(ids) {
697
+ if (ids.length === 0) return;
698
+ const escaped = ids.map((id) => `'${id.replace(/'/g, "''")}'`).join(", ");
699
+ await this.table.delete(`id IN (${escaped})`);
700
+ }
701
+ async close() {
702
+ }
703
+ };
704
+ function escapeSqlValue(value) {
705
+ for (let i = 0; i < value.length; i++) {
706
+ const code = value.charCodeAt(i);
707
+ if (code === 0 || code >= 1 && code <= 31 || code === 127) {
708
+ throw new chunk4ZHTIJNE_cjs.ConfigurationError(
709
+ `SQL filter value contains control character at position ${i} (0x${code.toString(16)}). This may indicate an injection attempt.`,
710
+ { code: "sql_injection_blocked" }
711
+ );
712
+ }
713
+ }
714
+ return value.replace(/\\/g, "\\\\").replace(/'/g, "''");
715
+ }
716
+ function lanceStoragePath(root) {
717
+ return path.join(root, "lance");
718
+ }
719
+ async function discoverSessionFiles(root) {
720
+ let entries;
721
+ try {
722
+ entries = await promises.readdir(sessionsDir(root));
723
+ } catch {
724
+ return [];
725
+ }
726
+ return entries.filter((entry) => entry.endsWith(".md")).map((entry) => {
727
+ const absolutePath = path.join(sessionsDir(root), entry);
728
+ return {
729
+ absolutePath,
730
+ relPath: relativeToRoot(root, absolutePath)
731
+ };
732
+ });
733
+ }
734
+ function relativeToRoot(root, absolutePath) {
735
+ if (absolutePath.startsWith(`${root}/`)) return absolutePath.slice(root.length + 1);
736
+ return absolutePath;
737
+ }
738
+ function wikiDir(root) {
739
+ return path.join(root, "wiki");
740
+ }
741
+ async function discoverWikiFiles(root) {
742
+ let entries;
743
+ try {
744
+ entries = await promises.readdir(wikiDir(root));
745
+ } catch {
746
+ return [];
747
+ }
748
+ return entries.filter((entry) => entry.endsWith(".md")).map((entry) => ({
749
+ absolutePath: path.join(wikiDir(root), entry),
750
+ relPath: path.join("wiki", entry)
751
+ })).map((file) => ({
752
+ absolutePath: file.absolutePath,
753
+ relPath: relativeToRoot2(root, file.absolutePath)
754
+ }));
755
+ }
756
+ function relativeToRoot2(root, absolutePath) {
757
+ if (absolutePath.startsWith(`${root}/`)) return absolutePath.slice(root.length + 1);
758
+ return absolutePath;
759
+ }
760
+ function resolveWeights(options) {
761
+ const vectorWeight = options.vectorWeight ?? 0.6;
762
+ const textWeight = options.textWeight ?? 0.4;
763
+ const total = vectorWeight + textWeight || 1;
764
+ return { vectorWeight, textWeight, total };
765
+ }
766
+ function blendScores(hit, vectorScore, weights) {
767
+ const score = (vectorScore * weights.vectorWeight + hit.textScore * weights.textWeight) / weights.total;
768
+ return {
769
+ path: hit.path,
770
+ startLine: hit.startLine,
771
+ endLine: hit.endLine,
772
+ score,
773
+ textScore: hit.textScore,
774
+ snippet: hit.snippet,
775
+ source: hit.source,
776
+ citation: hit.citation,
777
+ ...vectorScore > 0 ? { vectorScore } : {}
778
+ };
779
+ }
780
+ async function markdownFilesIn(dir, root, skip = []) {
781
+ let entries;
782
+ try {
783
+ entries = await promises.readdir(dir);
784
+ } catch {
785
+ return [];
786
+ }
787
+ return entries.filter((entry) => entry.endsWith(".md") && !skip.includes(entry)).map((entry) => ({
788
+ absolutePath: path.join(dir, entry),
789
+ relPath: path.relative(root, path.join(dir, entry)),
790
+ source: "memory"
791
+ }));
792
+ }
793
+ async function collectMarkdownFiles(root) {
794
+ const results = [];
795
+ try {
796
+ await promises.stat(memoryMdPath(root));
797
+ results.push({
798
+ absolutePath: memoryMdPath(root),
799
+ relPath: path.relative(root, memoryMdPath(root)),
800
+ source: "memory"
801
+ });
802
+ } catch {
803
+ }
804
+ results.push(...await markdownFilesIn(root, root, ["MEMORY.md"]));
805
+ results.push(...await markdownFilesIn(notesDir(root), root));
806
+ const wikiFiles = await discoverWikiFiles(root);
807
+ for (const wiki of wikiFiles) {
808
+ results.push({
809
+ absolutePath: wiki.absolutePath,
810
+ relPath: wiki.relPath,
811
+ source: "wiki"
812
+ });
813
+ }
814
+ const sessionFiles = await discoverSessionFiles(root);
815
+ for (const session of sessionFiles) {
816
+ results.push({
817
+ absolutePath: session.absolutePath,
818
+ relPath: session.relPath,
819
+ source: "sessions"
820
+ });
821
+ }
822
+ return results;
823
+ }
824
+ function sha256(text) {
825
+ return crypto.createHash("sha256").update(text).digest("hex");
826
+ }
827
+ function truncateSnippet(text) {
828
+ const max = 500;
829
+ return text.length <= max ? text : `${text.slice(0, max)}\u2026`;
830
+ }
831
+
832
+ exports.LanceIndex = LanceIndex;
833
+ exports.MEMORY_INDEX_MAX_BYTES = MEMORY_INDEX_MAX_BYTES;
834
+ exports.MEMORY_INDEX_MAX_LINES = MEMORY_INDEX_MAX_LINES;
835
+ exports.MEMORY_KINDS = MEMORY_KINDS;
836
+ exports.appendFact = appendFact;
837
+ exports.appendFactToMarkdown = appendFactToMarkdown;
838
+ exports.asMemoryRoot = asMemoryRoot;
839
+ exports.blendScores = blendScores;
840
+ exports.claudeProjectMemoryDir = claudeProjectMemoryDir;
841
+ exports.collectMarkdownFiles = collectMarkdownFiles;
842
+ exports.defaultIndexPath = defaultIndexPath;
843
+ exports.discoverSessionFiles = discoverSessionFiles;
844
+ exports.discoverWikiFiles = discoverWikiFiles;
845
+ exports.indexBudgetWarning = indexBudgetWarning;
846
+ exports.lanceStoragePath = lanceStoragePath;
847
+ exports.legacyMemoryJsonPath = legacyMemoryJsonPath;
848
+ exports.memoryMdPath = memoryMdPath;
849
+ exports.memoryReadRoots = memoryReadRoots;
850
+ exports.notesDir = notesDir;
851
+ exports.openMemoryDb = openMemoryDb;
852
+ exports.projectMemoryDir = projectMemoryDir;
853
+ exports.readFacts = readFacts;
854
+ exports.readFactsFromMarkdown = readFactsFromMarkdown;
855
+ exports.resolveMemoryRoot = resolveMemoryRoot;
856
+ exports.resolveWeights = resolveWeights;
857
+ exports.sessionSummaryPath = sessionSummaryPath;
858
+ exports.sessionsDir = sessionsDir;
859
+ exports.sha256 = sha256;
860
+ exports.truncateSnippet = truncateSnippet;
861
+ exports.wikiDir = wikiDir;
862
+ exports.writeSessionSummary = writeSessionSummary;
863
+ //# sourceMappingURL=chunk-6RKUO7AW.cjs.map
864
+ //# sourceMappingURL=chunk-6RKUO7AW.cjs.map