@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
@@ -270,6 +270,17 @@ export interface MemorySettings {
270
270
  userId?: string;
271
271
  scope?: "agent" | "user" | "team";
272
272
  storePath?: string;
273
+ /**
274
+ * Where this agent's memory lives. Default `<cwd>/.theokit/memory`.
275
+ *
276
+ * Must be an absolute path or start with `~/` — a relative value is refused rather than
277
+ * resolved, because the two plausible bases put the store in two different places.
278
+ *
279
+ * Point it at `~/.claude/projects/<encoded-cwd>/memory` to WRITE where the Claude Code CLI
280
+ * reads. That store is READ unconditionally either way, so setting this is only needed to
281
+ * share the writes.
282
+ */
283
+ directory?: string;
273
284
  /**
274
285
  * Whether the SDK auto-injects recalled facts as a `<memory>` block in the
275
286
  * LLM system prompt. Default `true`.
@@ -66,6 +66,14 @@ export interface RecordSessionSummaryArgs {
66
66
  * compute the markdown file path.
67
67
  */
68
68
  readonly cwd: string;
69
+ /**
70
+ * The memory root the kernel resolved for this agent, from `memory.directory` or the default.
71
+ *
72
+ * Supplied by the kernel, never constructed by an implementor — which is why it is required
73
+ * rather than optional. An implementation that recomputed it from `cwd` would write the summary
74
+ * into a different directory than the one the rest of the subsystem uses (#463).
75
+ */
76
+ readonly memoryRoot: import("../internal/memory/storage/memory-root.js").MemoryRoot;
69
77
  /** Run id used as the filename key. */
70
78
  readonly runId: string;
71
79
  /** Agent identity for scope (foldering). */
package/dist/workflow.cjs CHANGED
@@ -1,101 +1,101 @@
1
1
  'use strict';
2
2
 
3
- var chunk6SBW4QR2_cjs = require('./chunk-6SBW4QR2.cjs');
4
- var chunkXWL6O3SW_cjs = require('./chunk-XWL6O3SW.cjs');
3
+ var chunkYML4ME27_cjs = require('./chunk-YML4ME27.cjs');
4
+ var chunkWNO3C3N2_cjs = require('./chunk-WNO3C3N2.cjs');
5
5
  require('./chunk-VTYY7XL5.cjs');
6
6
  require('./chunk-WJVHMTKB.cjs');
7
- require('./chunk-R3UPQFKK.cjs');
7
+ require('./chunk-V2BOS4WF.cjs');
8
8
  require('./chunk-VKJ7V7EB.cjs');
9
- require('./chunk-I6TGFUCO.cjs');
10
- require('./chunk-K3FW2XZD.cjs');
11
- require('./chunk-JTB5Q42C.cjs');
12
- require('./chunk-NUKRL3I6.cjs');
9
+ require('./chunk-UALX2J2Q.cjs');
10
+ require('./chunk-4ZHTIJNE.cjs');
11
+ require('./chunk-XL7Q7HB2.cjs');
12
+ require('./chunk-EG4QM7ZJ.cjs');
13
13
 
14
14
 
15
15
 
16
16
  Object.defineProperty(exports, "Workflow", {
17
17
  enumerable: true,
18
- get: function () { return chunk6SBW4QR2_cjs.Workflow; }
18
+ get: function () { return chunkYML4ME27_cjs.Workflow; }
19
19
  });
20
20
  Object.defineProperty(exports, "WorkflowBuilder", {
21
21
  enumerable: true,
22
- get: function () { return chunk6SBW4QR2_cjs.WorkflowBuilder; }
22
+ get: function () { return chunkYML4ME27_cjs.WorkflowBuilder; }
23
23
  });
24
24
  Object.defineProperty(exports, "WorkflowToolError", {
25
25
  enumerable: true,
26
- get: function () { return chunk6SBW4QR2_cjs.WorkflowToolError; }
26
+ get: function () { return chunkYML4ME27_cjs.WorkflowToolError; }
27
27
  });
28
28
  Object.defineProperty(exports, "agentStep", {
29
29
  enumerable: true,
30
- get: function () { return chunk6SBW4QR2_cjs.agentStep; }
30
+ get: function () { return chunkYML4ME27_cjs.agentStep; }
31
31
  });
32
32
  Object.defineProperty(exports, "cloneWorkflow", {
33
33
  enumerable: true,
34
- get: function () { return chunk6SBW4QR2_cjs.cloneWorkflow; }
34
+ get: function () { return chunkYML4ME27_cjs.cloneWorkflow; }
35
35
  });
36
36
  Object.defineProperty(exports, "fn", {
37
37
  enumerable: true,
38
- get: function () { return chunk6SBW4QR2_cjs.fn; }
38
+ get: function () { return chunkYML4ME27_cjs.fn; }
39
39
  });
40
40
  Object.defineProperty(exports, "workflowAsTool", {
41
41
  enumerable: true,
42
- get: function () { return chunk6SBW4QR2_cjs.workflowAsTool; }
42
+ get: function () { return chunkYML4ME27_cjs.workflowAsTool; }
43
43
  });
44
44
  Object.defineProperty(exports, "workflowStep", {
45
45
  enumerable: true,
46
- get: function () { return chunk6SBW4QR2_cjs.workflowStep; }
46
+ get: function () { return chunkYML4ME27_cjs.workflowStep; }
47
47
  });
48
48
  Object.defineProperty(exports, "WorkflowAlreadyRunningError", {
49
49
  enumerable: true,
50
- get: function () { return chunkXWL6O3SW_cjs.WorkflowAlreadyRunningError; }
50
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowAlreadyRunningError; }
51
51
  });
52
52
  Object.defineProperty(exports, "WorkflowCompensateNotImplementedError", {
53
53
  enumerable: true,
54
- get: function () { return chunkXWL6O3SW_cjs.WorkflowCompensateNotImplementedError; }
54
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowCompensateNotImplementedError; }
55
55
  });
56
56
  Object.defineProperty(exports, "WorkflowDuplicateStepIdError", {
57
57
  enumerable: true,
58
- get: function () { return chunkXWL6O3SW_cjs.WorkflowDuplicateStepIdError; }
58
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowDuplicateStepIdError; }
59
59
  });
60
60
  Object.defineProperty(exports, "WorkflowInputError", {
61
61
  enumerable: true,
62
- get: function () { return chunkXWL6O3SW_cjs.WorkflowInputError; }
62
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowInputError; }
63
63
  });
64
64
  Object.defineProperty(exports, "WorkflowMaxIterationsExceededError", {
65
65
  enumerable: true,
66
- get: function () { return chunkXWL6O3SW_cjs.WorkflowMaxIterationsExceededError; }
66
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowMaxIterationsExceededError; }
67
67
  });
68
68
  Object.defineProperty(exports, "WorkflowNestedError", {
69
69
  enumerable: true,
70
- get: function () { return chunkXWL6O3SW_cjs.WorkflowNestedError; }
70
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowNestedError; }
71
71
  });
72
72
  Object.defineProperty(exports, "WorkflowNotSerializableError", {
73
73
  enumerable: true,
74
- get: function () { return chunkXWL6O3SW_cjs.WorkflowNotSerializableError; }
74
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowNotSerializableError; }
75
75
  });
76
76
  Object.defineProperty(exports, "WorkflowOutputError", {
77
77
  enumerable: true,
78
- get: function () { return chunkXWL6O3SW_cjs.WorkflowOutputError; }
78
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowOutputError; }
79
79
  });
80
80
  Object.defineProperty(exports, "WorkflowParallelError", {
81
81
  enumerable: true,
82
- get: function () { return chunkXWL6O3SW_cjs.WorkflowParallelError; }
82
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowParallelError; }
83
83
  });
84
84
  Object.defineProperty(exports, "WorkflowResumeStepNotFoundError", {
85
85
  enumerable: true,
86
- get: function () { return chunkXWL6O3SW_cjs.WorkflowResumeStepNotFoundError; }
86
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowResumeStepNotFoundError; }
87
87
  });
88
88
  Object.defineProperty(exports, "WorkflowSnapshotNotFoundError", {
89
89
  enumerable: true,
90
- get: function () { return chunkXWL6O3SW_cjs.WorkflowSnapshotNotFoundError; }
90
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowSnapshotNotFoundError; }
91
91
  });
92
92
  Object.defineProperty(exports, "WorkflowStateError", {
93
93
  enumerable: true,
94
- get: function () { return chunkXWL6O3SW_cjs.WorkflowStateError; }
94
+ get: function () { return chunkWNO3C3N2_cjs.WorkflowStateError; }
95
95
  });
96
96
  Object.defineProperty(exports, "__resetSnapshotStoresForTests", {
97
97
  enumerable: true,
98
- get: function () { return chunkXWL6O3SW_cjs.__resetSnapshotStoresForTests; }
98
+ get: function () { return chunkWNO3C3N2_cjs.__resetSnapshotStoresForTests; }
99
99
  });
100
100
  //# sourceMappingURL=workflow.cjs.map
101
101
  //# sourceMappingURL=workflow.cjs.map
package/dist/workflow.js CHANGED
@@ -1,12 +1,12 @@
1
- export { Workflow, WorkflowBuilder, WorkflowToolError, agentStep, cloneWorkflow, fn, workflowAsTool, workflowStep } from './chunk-FUL2I7G5.js';
2
- export { WorkflowAlreadyRunningError, WorkflowCompensateNotImplementedError, WorkflowDuplicateStepIdError, WorkflowInputError, WorkflowMaxIterationsExceededError, WorkflowNestedError, WorkflowNotSerializableError, WorkflowOutputError, WorkflowParallelError, WorkflowResumeStepNotFoundError, WorkflowSnapshotNotFoundError, WorkflowStateError, __resetSnapshotStoresForTests } from './chunk-AQLGBKNT.js';
1
+ export { Workflow, WorkflowBuilder, WorkflowToolError, agentStep, cloneWorkflow, fn, workflowAsTool, workflowStep } from './chunk-OSEG74VJ.js';
2
+ export { WorkflowAlreadyRunningError, WorkflowCompensateNotImplementedError, WorkflowDuplicateStepIdError, WorkflowInputError, WorkflowMaxIterationsExceededError, WorkflowNestedError, WorkflowNotSerializableError, WorkflowOutputError, WorkflowParallelError, WorkflowResumeStepNotFoundError, WorkflowSnapshotNotFoundError, WorkflowStateError, __resetSnapshotStoresForTests } from './chunk-BZRFXJHA.js';
3
3
  import './chunk-HY66GLM6.js';
4
4
  import './chunk-4VPXM6UU.js';
5
- import './chunk-QARJGQSA.js';
5
+ import './chunk-HS7AVXTF.js';
6
6
  import './chunk-RIAM53CP.js';
7
- import './chunk-VF7EWVDG.js';
8
- import './chunk-IDCKSLYH.js';
9
- import './chunk-T7XEKOVW.js';
10
- import './chunk-T7O6K6PX.js';
7
+ import './chunk-2GUYQR5P.js';
8
+ import './chunk-ZZMZWBR6.js';
9
+ import './chunk-D4CUGAKZ.js';
10
+ import './chunk-XEQ3TM66.js';
11
11
  //# sourceMappingURL=workflow.js.map
12
12
  //# sourceMappingURL=workflow.js.map
@@ -6,7 +6,7 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
6
6
 
7
7
  **Transport codes vs the rest.** `ErrorCode` in `errors.ts` is the small canonical union a provider failure maps onto — the codes marked *transport* below. Everything else is raised by a specific subsystem at a specific place, and a `catch` that only handles the union will meet them anyway.
8
8
 
9
- 205 distinct code(s).
9
+ 206 distinct code(s).
10
10
 
11
11
  | Code | Kind | Raised by | Sites |
12
12
  |---|---|---|---|
@@ -53,7 +53,7 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
53
53
  | `cron_no_target` | domain | ConfigurationError | `packages/sdk/src/cron.ts:220` +1 |
54
54
  | `cron_workflow_message` | domain | ConfigurationError | `packages/sdk/src/cron.ts:226` |
55
55
  | `duplicate_tool_name` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/validation/validate-agent-options.ts:201` |
56
- | `embedding_dimension_mismatch` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:142` +1 |
56
+ | `embedding_dimension_mismatch` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:146` +1 |
57
57
  | `embedding_invalid_response` | domain | NetworkError | `packages/sdk/src/internal/memory/adapters/openai-compatible.ts:370` |
58
58
  | `embedding_missing_api_key` | domain | AuthenticationError | `packages/sdk/src/internal/memory/adapters/openai-compatible.ts:129` |
59
59
  | `embedding_unknown_model` | domain | ConfigurationError | `packages/sdk/src/internal/memory/adapters/openai-compatible.ts:141` |
@@ -88,7 +88,8 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
88
88
  | `invalid_input` | domain | MemoryAdapterError | `packages/memory-honcho/src/adapter.ts:98` +9 |
89
89
  | `invalid_max_iterations` | domain | ConfigurationError | `packages/sdk/src/internal/local-agent/real-local-run.ts:215` |
90
90
  | `invalid_memory_backend` | domain | ConfigurationError | `packages/sdk/src/internal/memory/index-manager-dispatch.ts:24` +1 |
91
- | `invalid_memory_kind` | domain | ConfigurationError | `packages/sdk/src/internal/memory/storage/markdown-store.ts:233` |
91
+ | `invalid_memory_directory` | domain | ConfigurationError | `packages/sdk/src/internal/memory/storage/memory-root.ts:105` |
92
+ | `invalid_memory_kind` | domain | ConfigurationError | `packages/sdk/src/internal/memory/storage/markdown-store.ts:206` |
92
93
  | `invalid_model_selection` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/model-selection.ts:21` |
93
94
  | `invalid_request` | transport | — | `packages/sdk/src/internal/error-mappers/vertex.ts:52` +1 |
94
95
  | `invalid_retry_config` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/retry/with-retry.ts:67` |
@@ -97,7 +98,7 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
97
98
  | `invalid_timezone` | domain | ConfigurationError | `packages/sdk/src/internal/cron/validate.ts:134` |
98
99
  | `iteration_limit_reached` | domain | — | `packages/sdk/src/internal/agent-loop/loop.ts:149` |
99
100
  | `judge_credential` | domain | — | `packages/sdk/src/internal/judge/judge-call.ts:72` +1 |
100
- | `lance_backend_unavailable` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:102` +3 |
101
+ | `lance_backend_unavailable` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:105` +3 |
101
102
  | `lance_requires_embedding` | domain | ConfigurationError | `packages/sdk/src/internal/memory/index-manager-dispatch.ts:39` +1 |
102
103
  | `live_session_protected` | domain | — | `packages/sdk/src/internal/persistence/transcript-ops.ts:39` +1 |
103
104
  | `local_provider_http_error` | domain | ConfigurationError | `packages/sdk/src/internal/catalog/local-models.ts:61` |
@@ -112,11 +113,11 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
112
113
  | `mcp_not_init` | domain | ConfigurationError | `packages/sdk/src/internal/mcp/client.ts:251` +2 |
113
114
  | `mcp_timeout` | domain | NetworkError | `packages/sdk/src/internal/mcp/client.ts:71` |
114
115
  | `memory_context_missing_user_id` | domain | ConfigurationError | `packages/sdk/src/internal/local-agent/local-agent-memory-direct.ts:128` |
115
- | `memory_path_escapes_root` | domain | ConfigurationError | `packages/sdk/src/internal/memory/tools.ts:109` +1 |
116
+ | `memory_path_escapes_root` | domain | ConfigurationError | `packages/sdk/src/internal/memory/tools.ts:115` +1 |
116
117
  | `memory_path_traversal` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/validation/validate-agent-options.ts:280` |
117
- | `memory_threat_rejected` | domain | ConfigurationError | `packages/sdk/src/internal/memory/storage/markdown-store.ts:250` |
118
- | `memory_tool_bad_args` | domain | ConfigurationError | `packages/sdk/src/internal/memory/tools.ts:132` +1 |
119
- | `migration_destination_exists` | domain | ConfigurationError | `packages/sdk/src/internal/memory/migrate-sqlite-to-lance.ts:114` +1 |
118
+ | `memory_threat_rejected` | domain | ConfigurationError | `packages/sdk/src/internal/memory/storage/markdown-store.ts:223` |
119
+ | `memory_tool_bad_args` | domain | ConfigurationError | `packages/sdk/src/internal/memory/tools.ts:138` +1 |
120
+ | `migration_destination_exists` | domain | ConfigurationError | `packages/sdk/src/internal/memory/migrate-sqlite-to-lance.ts:127` +1 |
120
121
  | `missing_api_key` | domain | AuthenticationError, ConfigurationError | `packages/sdk/src/agent-helpers.ts:217` +2 |
121
122
  | `missing_frontmatter` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/skills/skill-frontmatter.ts:66` |
122
123
  | `missing_model` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/validation/validate-agent-options.ts:35` |
@@ -167,7 +168,7 @@ Branch on `code`, never on the message: messages carry context (an id, a path, a
167
168
  | `schema_invalid` | domain | ConfigurationError | `packages/sdk/src/internal/runtime/skills/skill-frontmatter.ts:77` +3 |
168
169
  | `server_error` | transport | buildErrorMetadata | `packages/sdk/src/internal/error-mappers/ollama.ts:92` +2 |
169
170
  | `session_busy` | domain | — | `packages/sdk/src/internal/persistence/session-writer.ts:56` +1 |
170
- | `sql_injection_blocked` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:252` +3 |
171
+ | `sql_injection_blocked` | domain | ConfigurationError | `packages/sdk/src/internal/memory/lance-index.ts:256` +3 |
171
172
  | `sqlite_driver_unavailable` | domain | ConfigurationError | `packages/sdk/src/internal/persistence/sqlite-open.ts:192` |
172
173
  | `sqlite_vec_unavailable` | domain | ConfigurationError | `packages/sdk/src/internal/memory/sqlite-vec-loader.ts:23` +1 |
173
174
  | `squad_process_unsupported` | domain | ConfigurationError | `packages/sdk/src/squad.ts:117` |
@@ -4,7 +4,7 @@ Every public symbol the TheoKit workspace publishes, and the exact specifier to
4
4
 
5
5
  A symbol listed under two specifiers is reachable from both, but that does NOT make the two interchangeable: a class emitted separately into a subpath entry is a distinct nominal type from the one in the root bundle, so passing one where the other is expected fails on a private field. When a symbol appears twice, import it and everything it is passed to from the SAME specifier.
6
6
 
7
- 1137 export(s) across 46 entry point(s).
7
+ 1177 export(s) across 46 entry point(s).
8
8
 
9
9
  ## `@theokit/acp`
10
10
 
@@ -526,9 +526,10 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
526
526
  | `ActiveMemoryResult` | interface | Result of one recall attempt. |
527
527
  | `ActiveMemoryStatus` | type | Outcome of one recall attempt. |
528
528
  | `ActiveMemoryTranscript` | interface | Optional on-disk persistence for Active Memory recall transcripts (ADR D6). |
529
- | `appendDiaryEntry` | function | Append one entry to the dream diary, creating the file with a `# Dream Diary` header when it does not exist yet. |
529
+ | `appendDiaryEntry` | function | Append one sweep's entry to `<memory root>/dream-diary.md`, creating the file with its header when this is the first sweep. |
530
530
  | `appendFact` | function | Record a fact, honouring the `enabled` gate on {@link MemoryConfig } : when memory is disabled the call resolves without touching disk. |
531
531
  | `appendFactToMarkdown` | function | Write a fact as its own memory file and point the `MEMORY.md` index at it. |
532
+ | `asMemoryRoot` | function | Treat a directory as a memory root without resolving one. |
532
533
  | `assertValidBackend` | function | EC-1: runtime guard for `opts.backend`. |
533
534
  | `azureOpenAiMemoryEmbeddingProviderAdapter` | const | Azure OpenAI embeddings. |
534
535
  | `buildErrorMetadata` | function | Build an `ErrorMetadata` object with all optional fields included conditionally (no `undefined` keys in the output). |
@@ -542,6 +543,7 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
542
543
  | `Cluster` | interface | A group of facts the REM phase judged related. |
543
544
  | `ClusterResult` | interface | What {@link remPhase } produced. |
544
545
  | `cohereMemoryEmbeddingProviderAdapter` | const | Cohere embeddings. |
546
+ | `collectMarkdownFiles` | function | Every markdown file the memory corpus holds: the index, the per-memory files, `notes/`, `wiki/` and `sessions/`, each tagged with the bucket `memory_search`'s `corpus` filters on. |
545
547
  | `CreateAdapterOptions` | interface | Per-call overrides handed to {@link MemoryEmbeddingProviderAdapter.create } . |
546
548
  | `createCategorizedMemory` | function | Create a typed categorized memory store over the closed `categories` taxonomy. |
547
549
  | `CreateCategorizedMemoryOptions` | interface | Options for {@link createCategorizedMemory } . |
@@ -564,11 +566,12 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
564
566
  | `DEFAULT_OPENAI_EMBEDDING_MODEL` | const | OpenAI embedding adapter (ADR D3) — built on the shared OpenAI-compatible factory. |
565
567
  | `DEFAULT_OPENROUTER_EMBEDDING_MODEL` | const | OpenRouter embedding adapter — routes through OpenRouter's `POST /api/v1/embeddings` endpoint (OpenAI-compatible request/response shape). |
566
568
  | `DEFAULT_VOYAGE_EMBEDDING_MODEL` | const | Voyage AI embedding adapter — `POST /v1/embeddings` at `https://api.voyageai.com` with the OpenAI-compatible `{ model, input }` request shape. |
567
- | `defaultIndexPath` | function | Where the SQLite index lives when the caller does not name a path: `<cwd>/.theokit/memory/.index/memory.sqlite`. |
569
+ | `defaultIndexPath` | function | `<index root>/.index/memory.sqlite`. |
568
570
  | `DiaryEntry` | interface | Dream-diary append (ADR D7). |
569
- | `diaryPath` | function | Path to the dream diary, `<memory root>/dream-diary.md`. |
570
- | `discoverSessionFiles` | function | List the session summaries under `sessions/`, with each path expressed relative to the memory root so the index can store a stable `sessions/<id>.md`. |
571
- | `discoverWikiFiles` | function | List the `.md` files directly under `wiki/`, with each path expressed relative to the memory root so the index can store a stable `wiki/<name>.md`. |
571
+ | `diaryPath` | function | `<memory root>/dream-diary.md`. |
572
+ | `DiscoveredFile` | interface | One markdown file the corpus walk found, with the source bucket the indexer tags it with. |
573
+ | `discoverSessionFiles` | function | Every session summary under `<memory root>/sessions`, as `{ absolutePath, relPath }` records. |
574
+ | `discoverWikiFiles` | function | Every wiki supplement under `<memory root>/wiki`, as `{ absolutePath, relPath }` records. |
572
575
  | `DreamingOptions` | interface | Dreaming sweep orchestrator (ADR D7 of memory-system-peer-project-parity). |
573
576
  | `DreamingResult` | interface | What one sweep did. |
574
577
  | `dropVectorIndex` | function | Drop the `embeddings` table, discarding every stored vector. |
@@ -579,9 +582,10 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
579
582
  | `EmbeddingRuntime` | interface | A live embedding provider, bound to one model. |
580
583
  | `EmbeddingRuntimeStats` | interface | Counters accumulated by a runtime since it was created. |
581
584
  | `embedMissingChunks` | function | Embed every chunk that doesn't yet have a vector. |
582
- | `entryHash` | function | A sha256 over the five counts of an entry, as a hex string. |
585
+ | `entryHash` | function | A stable hash of one entry's counts, so two sweeps that did the same work read as the same work. |
583
586
  | `geminiMemoryEmbeddingProviderAdapter` | const | Google Gemini embeddings through Google's OpenAI-compatible surface at `/v1beta/openai/embeddings`. |
584
587
  | `identityMatches` | function | Compare two embedding identities field by field. |
588
+ | `indexBudgetWarning` | function | What to say about an index that the interop partner will truncate, or `undefined` when there is nothing true to say. |
585
589
  | `IndexManager` | class | The default memory index: SQLite for storage, FTS5 for text matching, and sqlite-vec for vectors when an embedding runtime is supplied. |
586
590
  | `IndexStatus` | interface | A snapshot of index health. |
587
591
  | `isLanceAvailable` | function | Test helper for {@link LanceIndex } : indicates whether the Lance module is loadable in the current environment. |
@@ -592,30 +596,33 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
592
596
  | `LanceMemoryAdapter` | class | Presents a `LanceIndex` as a {@link MemoryIndex } , so a consumer written against the SQLite index runs unchanged on `backend: "lance"`. |
593
597
  | `LanceSearchHit` | interface | One Lance search result. |
594
598
  | `LanceSearchOptions` | interface | Filters for `LanceIndex.search`. |
595
- | `lanceStoragePath` | function | Test helper: re-export the storage path computation. |
599
+ | `lanceStoragePath` | function | `<memory root>/lance`. |
596
600
  | `legacyMemoryJsonPath` | function | Resolve the legacy JSON memory path used pre-ADR-D8 (kept for migration helpers + tests). |
597
601
  | `lightPhase` | function | Light phase — drop facts whose embedding is too similar to one already kept. |
598
602
  | `listNotes` | function | List the `.md` files directly under `notes/`. |
599
603
  | `loadSqliteVecExtension` | function | Load the `sqlite-vec` extension into an opened SQLite connection. |
600
604
  | `mapOpenAICompatibleError` | function | Turn a failed OpenAI-shaped HTTP response into the typed error the SDK throws. |
601
605
  | `MEMORY_EMBEDDING_ADAPTERS` | const | Memory embedding adapter catalog, indexed by provider id. |
606
+ | `MEMORY_INDEX_MAX_BYTES` | const | The byte limit the Claude Code CLI applies when it loads a `MEMORY.md`, whichever it reaches first. |
607
+ | `MEMORY_INDEX_MAX_LINES` | const | The line limit the Claude Code CLI applies when it loads a `MEMORY.md`. |
602
608
  | `MemoryBackend` | type | Vector backend selector. |
603
609
  | `MemoryChunk` | interface | A semantically meaningful slice of a markdown memory file, produced by `chunkMarkdown`. |
604
610
  | `MemoryConfig` | interface | Per-agent memory configuration. |
605
611
  | `MemoryDb` | interface | Thin wrapper around the SQLite driver. |
606
- | `memoryDir` | function | The memory root for a workspace: `<cwd>/.theokit/memory`. |
607
612
  | `MemoryEmbeddingProviderAdapter` | interface | Memory embedding provider adapter contract (ADR D3 of memory-system-peer-project-parity). |
608
613
  | `MemoryFact` | interface | One remembered statement. |
609
614
  | `MemoryFileEntry` | interface | Lightweight reference to a markdown file in the memory corpus. |
610
615
  | `MemoryGetToolOptions` | interface | Options for {@link createMemoryGetTool } . |
611
616
  | `MemoryIndex` | interface | The four operations both backends implement, and the type every consumer should hold. |
617
+ | `MemoryLocationConfig` | type | Only `directory` is read; the full config is accepted so callers pass what they already hold. |
612
618
  | `memoryMdPath` | function | Path to `MEMORY.md`, the index that points at the per-memory files — and, in stores written before #389, the flat `## Facts` list itself. |
613
619
  | `MemoryReadResult` | interface | Result of `reader.readFile`. |
620
+ | `memoryReadRoots` | function | Every directory a read must cover, deduplicated and in precedence order. |
621
+ | `MemoryRoot` | type | A path that {@link resolveMemoryRoot } produced — the only thing the subsystem's path helpers accept. |
614
622
  | `MemorySearchHit` | interface | Memory index manager contract — leaf types shared by `index-manager.ts` (orchestrator), `index-manager-dispatch.ts` (backend dispatch), `lance-memory-adapter.ts` (Lance backend), and `memory-index.... |
615
623
  | `MemorySearchToolOptions` | interface | Options for {@link createMemorySearchTool } . |
616
624
  | `MemoryTool` | interface | A memory tool ready to hand to the agent loop: the JSON-serialisable description an LLM sees, plus the `execute` that runs it. |
617
625
  | `MemoryToolJson` | interface | Memory tools (`memory_search` + `memory_get`) — ADR D5 of memory-system-peer-project-parity. |
618
- | `memoryWriteDir` | function | Where a NEW fact should be written. |
619
626
  | `META_KEY_DIMENSION` | const | `meta` table key holding the vector width the `embeddings` vec0 table was created with. |
620
627
  | `META_KEY_MODEL` | const | `meta` table key holding the embedding model id the vectors were produced with. |
621
628
  | `META_KEY_PROVIDER_ID` | const | `meta` table key holding the id of the embedding provider that produced the vectors currently on disk (for example `openai`, `ollama`). |
@@ -639,8 +646,10 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
639
646
  | `packVector` | function | Pack a Float32Array into a Buffer suitable for sqlite-vec BLOB binding. |
640
647
  | `parseRetryAfter` | function | Parse `retry-after` header in numeric-seconds form. |
641
648
  | `parseSearchOptions` | function | Common search-options parser used by both `IndexManager.search` and `LanceMemoryAdapter.search`. |
642
- | `persistActiveMemoryTranscript` | function | Write one recall transcript to `<memory root>/transcripts/active-memory/<runId>.json`, creating the parent directories and replacing the file atomically. |
649
+ | `persistActiveMemoryTranscript` | function | Write one active-memory recall transcript under `<memory root>/transcripts/active-memory`. |
643
650
  | `PRAGMA_STATEMENTS` | const | Non-WAL pragmas. |
651
+ | `projectMemoryDir` | function | The project store: `<cwd>/.theokit/memory`. |
652
+ | `readAllSqliteFacts` | function | Read all facts from the SQLite memory index. |
644
653
  | `readEmbeddingIdentity` | function | Read the embedding identity recorded in the `meta` table. |
645
654
  | `readFacts` | function | Every memory in the store, honouring the `enabled` gate on {@link MemoryConfig } : when memory is disabled the call resolves to `[]` without touching disk. |
646
655
  | `readFactsFromMarkdown` | function | Every memory in the store: the per-memory files, plus any legacy `## Facts` bullets still in `MEMORY.md`. |
@@ -648,17 +657,19 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
648
657
  | `readMemoryFileBounded` | function | Read a bounded slice of a text file and report what was left behind. |
649
658
  | `redactSecrets` | function | Canonical credential-redaction primitive (ADR D68). |
650
659
  | `remPhase` | function | REM phase — single-link agglomerative clustering by cosine similarity. |
651
- | `renderDiaryEntry` | function | Render one entry as the markdown block {@link appendDiaryEntry } writes: an h2 heading carrying the ISO timestamp, then a bullet list of the counts, prefixed by the first eight hex characters of {@... |
660
+ | `renderDiaryEntry` | function | One diary entry as the markdown that gets appended: a timestamp heading, the short entry hash, and the counts the sweep produced. |
652
661
  | `resetMigrationStateForTests` | function | Test-only — reset the in-process migration flag map. |
662
+ | `resolveMemoryRoot` | function | The memory root for this agent: `memory.directory` when set, the project store otherwise. |
653
663
  | `runActiveMemory` | function | Run one blocking recall before the system prompt is assembled, and report what happened. |
654
664
  | `RunActiveMemoryArgs` | interface | Everything {@link runActiveMemory } needs for one attempt. |
655
665
  | `runDreamingSweep` | function | Run one consolidation sweep over `MEMORY.md`: drop near-duplicate facts, cluster what is left, write a consolidated note under `notes/`, and append a diary entry. |
656
666
  | `SCHEMA_STATEMENTS` | const | SQLite schema for the memory index. |
657
667
  | `SearchOptions` | interface | Search tuning. |
658
668
  | `SessionFile` | interface | Session summary discovery (ADR D20). |
659
- | `sessionsDir` | function | Path to `<memory root>/sessions`, where one markdown summary per finished run is written. |
669
+ | `sessionsDir` | function | `<memory root>/sessions`. |
660
670
  | `SessionSummaryInput` | interface | Per-run session summary writer (ADR D20). |
661
- | `sessionSummaryPath` | function | Path of the summary file for a run. |
671
+ | `sessionSummaryPath` | function | The file one run's summary occupies: `<memory root>/sessions/<safe-id>.md`. |
672
+ | `SqliteFactRow` | interface | One row of the SQLite memory index, as the Lance migration reads it: the chunk plus the tenant columns the target table needs. |
662
673
  | `SyncResult` | interface | What one `sync()` did. |
663
674
  | `TenantContext` | interface | T4.9 — Tenant isolation context for cache key derivation. |
664
675
  | `truncateRaw` | function | Truncate raw response body to ~2KB and redact known credential patterns so it can ride inside `ErrorMetadata.raw` without ballooning logs OR leaking tokens. |
@@ -667,7 +678,7 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
667
678
  | `VectorHitRow` | interface | One row of a vec0 KNN result: the chunk id and its raw distance from the query vector. |
668
679
  | `vectorSearch` | function | Run a k-nearest-neighbour query against the `embeddings` table and return the matches ordered by ascending distance (closest first). |
669
680
  | `voyageMemoryEmbeddingProviderAdapter` | const | Voyage AI embeddings, over the standard OpenAI wire. |
670
- | `wikiDir` | function | Path to `<memory root>/wiki`, the read-only supplement directory. |
681
+ | `wikiDir` | function | `<memory root>/wiki`. |
671
682
  | `WikiFile` | interface | Wiki supplement discovery (ADR Phase 10 of memory-system-peer-project-parity). |
672
683
  | `writeEmbeddingIdentity` | function | Record the embedding identity in the `meta` table, upserting each of the three keys. |
673
684
  | `writeSessionSummary` | function | Write a session summary file. |
@@ -1009,15 +1020,44 @@ A symbol listed under two specifiers is reachable from both, but that does NOT m
1009
1020
 
1010
1021
  | Symbol | Kind | Summary |
1011
1022
  |---|---|---|
1023
+ | `ActiveMemoryTranscript` | interface | Optional on-disk persistence for Active Memory recall transcripts (ADR D6). |
1024
+ | `appendDiaryEntry` | function | Append one sweep's entry to `<memory root>/dream-diary.md`, creating the file with its header when this is the first sweep. |
1012
1025
  | `appendFact` | function | Record a fact, honouring the `enabled` gate on {@link MemoryConfig } : when memory is disabled the call resolves without touching disk. |
1013
1026
  | `appendFactToMarkdown` | function | Write a fact as its own memory file and point the `MEMORY.md` index at it. |
1027
+ | `asMemoryRoot` | function | Treat a directory as a memory root without resolving one. |
1014
1028
  | `claudeProjectMemoryDir` | function | Where the Claude Code CLI keeps THIS project's memories. |
1015
- | `memoryDir` | function | The memory root for a workspace: `<cwd>/.theokit/memory`. |
1029
+ | `collectMarkdownFiles` | function | Every markdown file the memory corpus holds: the index, the per-memory files, `notes/`, `wiki/` and `sessions/`, each tagged with the bucket `memory_search`'s `corpus` filters on. |
1030
+ | `defaultIndexPath` | function | `<index root>/.index/memory.sqlite`. |
1031
+ | `DiaryEntry` | interface | Dream-diary append (ADR D7). |
1032
+ | `diaryPath` | function | `<memory root>/dream-diary.md`. |
1033
+ | `DiscoveredFile` | interface | One markdown file the corpus walk found, with the source bucket the indexer tags it with. |
1034
+ | `discoverSessionFiles` | function | Every session summary under `<memory root>/sessions`, as `{ absolutePath, relPath }` records. |
1035
+ | `discoverWikiFiles` | function | Every wiki supplement under `<memory root>/wiki`, as `{ absolutePath, relPath }` records. |
1036
+ | `entryHash` | function | A stable hash of one entry's counts, so two sweeps that did the same work read as the same work. |
1037
+ | `indexBudgetWarning` | function | What to say about an index that the interop partner will truncate, or `undefined` when there is nothing true to say. |
1038
+ | `lanceStoragePath` | function | `<memory root>/lance`. |
1039
+ | `MEMORY_INDEX_MAX_BYTES` | const | The byte limit the Claude Code CLI applies when it loads a `MEMORY.md`, whichever it reaches first. |
1040
+ | `MEMORY_INDEX_MAX_LINES` | const | The line limit the Claude Code CLI applies when it loads a `MEMORY.md`. |
1041
+ | `MemoryLocationConfig` | type | Only `directory` is read; the full config is accepted so callers pass what they already hold. |
1016
1042
  | `memoryMdPath` | function | Path to `MEMORY.md`, the index that points at the per-memory files — and, in stores written before #389, the flat `## Facts` list itself. |
1017
- | `memoryWriteDir` | function | Where a NEW fact should be written. |
1043
+ | `memoryReadRoots` | function | Every directory a read must cover, deduplicated and in precedence order. |
1044
+ | `MemoryRoot` | type | A path that {@link resolveMemoryRoot } produced — the only thing the subsystem's path helpers accept. |
1018
1045
  | `notesDir` | function | Path to `<memory root>/notes`, where per-topic notes and the consolidated notes a dreaming sweep writes live. |
1046
+ | `persistActiveMemoryTranscript` | function | Write one active-memory recall transcript under `<memory root>/transcripts/active-memory`. |
1047
+ | `projectMemoryDir` | function | The project store: `<cwd>/.theokit/memory`. |
1048
+ | `readAllSqliteFacts` | function | Read all facts from the SQLite memory index. |
1019
1049
  | `readFacts` | function | Every memory in the store, honouring the `enabled` gate on {@link MemoryConfig } : when memory is disabled the call resolves to `[]` without touching disk. |
1020
1050
  | `readFactsFromMarkdown` | function | Every memory in the store: the per-memory files, plus any legacy `## Facts` bullets still in `MEMORY.md`. |
1051
+ | `renderDiaryEntry` | function | One diary entry as the markdown that gets appended: a timestamp heading, the short entry hash, and the counts the sweep produced. |
1052
+ | `resolveMemoryRoot` | function | The memory root for this agent: `memory.directory` when set, the project store otherwise. |
1053
+ | `SessionFile` | interface | Session summary discovery (ADR D20). |
1054
+ | `sessionsDir` | function | `<memory root>/sessions`. |
1055
+ | `SessionSummaryInput` | interface | Per-run session summary writer (ADR D20). |
1056
+ | `sessionSummaryPath` | function | The file one run's summary occupies: `<memory root>/sessions/<safe-id>.md`. |
1057
+ | `SqliteFactRow` | interface | One row of the SQLite memory index, as the Lance migration reads it: the chunk plus the tenant columns the target table needs. |
1058
+ | `wikiDir` | function | `<memory root>/wiki`. |
1059
+ | `WikiFile` | interface | Wiki supplement discovery (ADR Phase 10 of memory-system-peer-project-parity). |
1060
+ | `writeSessionSummary` | function | Write a session summary file. |
1021
1061
 
1022
1062
  ## `@theokit/sdk/internal/persistence`
1023
1063
 
@@ -18,10 +18,10 @@ decision the next refactor deletes.
18
18
  .theokit/memory/.index/memory.sqlite on the first send, when memory is enabled
19
19
  ```
20
20
 
21
- **Why it looks wrong.** With `local.sessionDir` set, memory *facts* are written to
22
- `<sessionDir>/projects/<encoded-cwd>/memory/` — where the CLI reads them. So a project that never
23
- adopted this SDK ends up with a `.theokit/` directory anyway, which reads like the "write where the
24
- CLI reads" promise leaking.
21
+ **Why it looks wrong.** With `memory.directory` pointed at the CLI's store, memory *facts* are
22
+ written to `<claudeHome>/projects/<encoded-cwd>/memory/` — where the CLI reads them. So a project
23
+ that never adopted this SDK ends up with a `.theokit/` directory anyway, which reads like the
24
+ "write where the CLI reads" promise leaking.
25
25
 
26
26
  **Why it is right.** What lands in `.theokit/` is this SDK's own state, and neither piece has a
27
27
  Claude Code shape to be written in:
@@ -178,8 +178,9 @@ entries, ~3.2 KB per entry. Feeding the largest — 66 entries, 275 KB on disk
178
178
  turn's system prompt**, before the user has said anything. Nine more stores are already past the
179
179
  point where the injection exceeds a session budget.
180
180
 
181
- Two things make this worse than a size problem. The CLI's store is read **whether or not
182
- `local.sessionDir` is set**, so a consumer who never opted into CLI interop still gets it. And the
181
+ Two things make this worse than a size problem. The CLI's store is read **unconditionally**
182
+ `memory.directory` decides where writes go, never what the read covers so a consumer who never
183
+ opted into CLI interop still gets it. And the
183
184
  cost is invisible: nothing errors, the window just fills, and the tokens are not attributed to
184
185
  memory. An earlier version of this document said "at 64 entries it does not hurt" — that was an
185
186
  assumption, and measuring it is what disproved it.
@@ -189,6 +190,42 @@ nothing — the data for a staleness signal is on disk today, unused.
189
190
 
190
191
  ---
191
192
 
193
+ ## One resolver, one root (#463)
194
+
195
+ **What happens.** `memory.directory` — absolute, or `~/`-prefixed — is the only thing that decides
196
+ where this agent's memory lives. Everything under the root follows it: `MEMORY.md`, the per-memory
197
+ files, `notes/`, `sessions/`, `wiki/`, `transcripts/`, `dream-diary.md` and `.index/memory.sqlite`.
198
+
199
+ **What it replaced.** The location used to be a side effect of `local.sessionDir`, the option that
200
+ names the *transcript* home, on the reasoning that a consumer who set it had already opted into CLI
201
+ interop. One option answered two questions — and of the fourteen places that computed a memory
202
+ path, exactly one heard the second answer. `appendFact` relocated; the indexer, the `memory_get`
203
+ path guard, `MEMORY.md`, `sessions/` and the index database did not. A relocated fact was written,
204
+ never indexed, unreadable by the tool whose job is reading memory, and shadowed by a second
205
+ `MEMORY.md` in the store it had left.
206
+
207
+ **Why the root is a branded type.** `MemoryRoot` is `string` with a brand, produced only by
208
+ `resolveMemoryRoot`. A cwd and a root are both strings, so without the brand the thirteen path
209
+ helpers would go on accepting either, and the next helper added has the same even chance of taking
210
+ the wrong one that produced this defect. The brand makes "every path derives from one resolution" a
211
+ compiler rule instead of a convention.
212
+
213
+ **The gap that remains, stated rather than hidden.** `IndexManager.open()` is a public entry point
214
+ that takes a `cwd`, so its `memoryRoot` is optional and falls back to the default. Inside an agent
215
+ the root is resolved once and handed to both the index and the read tool; a consumer opening the
216
+ index by hand against a non-default directory has to pass it.
217
+
218
+ **A relative `directory` is refused, not resolved.** The two plausible bases — the workspace and the
219
+ process cwd — put the store in two different places, and picking one silently is how a store ends up
220
+ split across both. `ConfigurationError` with code `invalid_memory_directory`.
221
+
222
+ **How to check it still holds:** `tests/memory-root.test.ts`, in particular
223
+ `test_the_indexer_scans_the_configured_directory_so_the_fact_is_searchable` and
224
+ `test_the_project_store_gets_no_second_index_pointing_at_files_it_does_not_have` — the two halves
225
+ that were broken.
226
+
227
+ ---
228
+
192
229
  ## Known gaps, recorded so they are not rediscovered
193
230
 
194
231
  Each row says what would close it, not only that it is open — the two invite very different work.
@@ -196,7 +233,7 @@ Each row says what would close it, not only that it is open — the two invite v
196
233
  | gap | where | what would close it |
197
234
  |---|---|---|
198
235
  | ~~The default recall path has no selection at all~~ — **closed** in `721a311f` | `local-agent-send.ts:257-272` | Closed: lexical relevance + recency, capped. Measured end to end against the real model — a 67-entry store went from ~66K to **13,606 tokens on the wire**, and the answering fact is recalled whether it is the oldest or the newest entry. |
199
- | The CLI's store is read whether or not `local.sessionDir` is set | `markdown-store.ts:114` — `claudeProjectMemoryDir(cwd)` is an unconditional read root | A decision, not a fix: it is deliberate (*write one, read all*, so a consumer's existing memories are never orphaned) and it means a consumer who never opted into CLI interop still receives what the CLI accumulated in that project. Cheap while the cap holds; revisit if the cap is ever removed. |
236
+ | The CLI's store is read whether or not the consumer opted in | `storage/memory-root.ts` — `claudeProjectMemoryDir(cwd)` is an unconditional entry in `memoryReadRoots` | A decision, not a fix: it is deliberate (*write one, read all*, so a consumer's existing memories are never orphaned) and it means a consumer who never opted into CLI interop still receives what the CLI accumulated in that project. Cheap while the cap holds; revisit if the cap is ever removed. |
200
237
  | No retention of any kind — no TTL, prune, or decay | searched `ttl\|prune\|expire\|retention` across both packages: zero | A per-kind TTL plus a prune step in the sweep. Needs the kind vocabulary to mean something first (§ 2), which is why this orders before widening it. |
201
238
  | Quarantine marks but does not constrain | `memory-file.ts:96`, `memory-provider.ts:48` | Implemented: three states, and `[unconfirmed]` on entries the store counted once. **Measured against the real model and it does not close the hole** — a planted memory alone is acted on 5/5, and beside a corroborated contradiction it is still asserted ~62% of runs (n=32). Marking influences the model; it does not constrain it. The guarantee is not available at this layer: blocking an uncorroborated entry would break the promise that a fact written once is recallable next session. |
202
239
  | A planted memory can make the agent ACT | measured: `RELEASE_OVERRIDE.txt` created in 2 of 6 runs | Register the permission layer — `PermissionPlugin.create(new PermissionEngine(…))` — which blocks it every time. This is the half that IS closable at the tool boundary; the informational half above is not. Any deployment where the memory directory is writable by anything other than this agent needs it. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theokit/sdk",
3
- "version": "4.62.0",
3
+ "version": "4.63.1",
4
4
  "description": "TypeScript SDK for the Theo agent harness — same surface, local or cloud.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/usetheokit/theokit-sdk#readme",
@@ -1,55 +0,0 @@
1
- export { Agent } from './chunk-SKOCYA55.js';
2
- import './chunk-SUKXXLWD.js';
3
- import './chunk-YEXA3PGR.js';
4
- import './chunk-K2BQQ445.js';
5
- import './chunk-QEKI3YKI.js';
6
- import './chunk-MZ2FGBLZ.js';
7
- import './chunk-2SFBB54R.js';
8
- import './chunk-XN7NOENA.js';
9
- import './chunk-H73MEMQB.js';
10
- import './chunk-WCLDJSMY.js';
11
- import './chunk-YJDH3CKG.js';
12
- import './chunk-YXGAW7BB.js';
13
- import './chunk-3E77SX4H.js';
14
- import './chunk-WTMU7J4U.js';
15
- import './chunk-5JLFFPCH.js';
16
- import './chunk-G24KZRSA.js';
17
- import './chunk-HKCKOAIO.js';
18
- import './chunk-SAVIWMZB.js';
19
- import './chunk-KVNWIAO4.js';
20
- import './chunk-UCBJBJ27.js';
21
- import './chunk-FD2UT76F.js';
22
- import './chunk-4VPXM6UU.js';
23
- import './chunk-U54XCYG3.js';
24
- import './chunk-NAF4L3T6.js';
25
- import './chunk-RNB4APBZ.js';
26
- import './chunk-6X6ID4MO.js';
27
- import './chunk-4ERPXIVB.js';
28
- import './chunk-WFC26L6Y.js';
29
- import './chunk-7AD3ZTZL.js';
30
- import './chunk-QARJGQSA.js';
31
- import './chunk-RIAM53CP.js';
32
- import './chunk-UC3HT2S4.js';
33
- import './chunk-OC4NTGMN.js';
34
- import './chunk-44JAAH4X.js';
35
- import './chunk-FKMUFNQE.js';
36
- import './chunk-CQ2TQ32Y.js';
37
- import './chunk-CV7XMBHP.js';
38
- import './chunk-Q5EWJPRY.js';
39
- import './chunk-RUDY2GTT.js';
40
- import './chunk-VF7EWVDG.js';
41
- import './chunk-ZHPWGIUX.js';
42
- import './chunk-UFLD2HEV.js';
43
- import './chunk-AG5JPQIY.js';
44
- import './chunk-F7AQV62G.js';
45
- import './chunk-R7WIIPUR.js';
46
- import './chunk-2BDH744Z.js';
47
- import './chunk-Q4CMI2LP.js';
48
- import './chunk-44MBDIHG.js';
49
- import './chunk-UQGQFBRL.js';
50
- import './chunk-3OR54XG4.js';
51
- import './chunk-IDCKSLYH.js';
52
- import './chunk-T7XEKOVW.js';
53
- import './chunk-T7O6K6PX.js';
54
- //# sourceMappingURL=agent-NVBFTY5H.js.map
55
- //# sourceMappingURL=agent-NVBFTY5H.js.map