@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
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkAH6WD7JR_cjs = require('./chunk-AH6WD7JR.cjs');
4
- require('./chunk-NGESVVJN.cjs');
5
- require('./chunk-2DG7KW4L.cjs');
6
- require('./chunk-BUUUWQMB.cjs');
7
- require('./chunk-6OBIWHDR.cjs');
8
- require('./chunk-P6H23T43.cjs');
9
- require('./chunk-BV2MWEMV.cjs');
10
- require('./chunk-EI2Q7SJ5.cjs');
11
- require('./chunk-GHX4P3V2.cjs');
12
- require('./chunk-2UCFUSPW.cjs');
13
- require('./chunk-QI7WE46I.cjs');
14
- require('./chunk-P5LCASTC.cjs');
15
- require('./chunk-F3YZMOAU.cjs');
16
- require('./chunk-4OTIXDMU.cjs');
17
- require('./chunk-DQKERTND.cjs');
18
- require('./chunk-Z4BCLVTI.cjs');
19
- require('./chunk-2ZPEDVLM.cjs');
20
- require('./chunk-7BG5UH3T.cjs');
21
- require('./chunk-KRD3GQAA.cjs');
22
- require('./chunk-J2UROOIG.cjs');
23
- require('./chunk-MUUQ2WFJ.cjs');
24
- require('./chunk-WJVHMTKB.cjs');
25
- require('./chunk-6JSIEDKL.cjs');
26
- require('./chunk-FRITRLZQ.cjs');
27
- require('./chunk-4O5TGQBW.cjs');
28
- require('./chunk-NINIJCHU.cjs');
29
- require('./chunk-3YJNUKYN.cjs');
30
- require('./chunk-LKFET5A3.cjs');
31
- require('./chunk-VJ26EKGJ.cjs');
32
- require('./chunk-R3UPQFKK.cjs');
33
- require('./chunk-VKJ7V7EB.cjs');
34
- require('./chunk-ILCGLTSA.cjs');
35
- require('./chunk-CQGYNZ3K.cjs');
36
- require('./chunk-4I55V454.cjs');
37
- require('./chunk-BUIK7GUA.cjs');
38
- require('./chunk-SKXBJ2NU.cjs');
39
- require('./chunk-2ADR2GSO.cjs');
40
- require('./chunk-ZF2LDKQQ.cjs');
41
- require('./chunk-2C72DXQF.cjs');
42
- require('./chunk-I6TGFUCO.cjs');
43
- require('./chunk-WNTAPVU5.cjs');
44
- require('./chunk-AQO3NSRG.cjs');
45
- require('./chunk-IWBGCBR6.cjs');
46
- require('./chunk-XSX2UU6Y.cjs');
47
- require('./chunk-3EE6LVWT.cjs');
48
- require('./chunk-6HTXPPHK.cjs');
49
- require('./chunk-NIRE5CNO.cjs');
50
- require('./chunk-5USCYPPI.cjs');
51
- require('./chunk-BVZW2B5V.cjs');
52
- require('./chunk-52NKC5HT.cjs');
53
- require('./chunk-K3FW2XZD.cjs');
54
- require('./chunk-JTB5Q42C.cjs');
55
- require('./chunk-NUKRL3I6.cjs');
56
-
57
-
58
-
59
- Object.defineProperty(exports, "Agent", {
60
- enumerable: true,
61
- get: function () { return chunkAH6WD7JR_cjs.Agent; }
62
- });
63
- //# sourceMappingURL=agent-VYPUO4UB.cjs.map
64
- //# sourceMappingURL=agent-VYPUO4UB.cjs.map
@@ -1,7 +0,0 @@
1
- export { appendCompactBoundaryRecord, persistTurn, readSessionMessages } from './chunk-G24KZRSA.js';
2
- import './chunk-FKMUFNQE.js';
3
- import './chunk-VF7EWVDG.js';
4
- import './chunk-T7XEKOVW.js';
5
- import './chunk-T7O6K6PX.js';
6
- //# sourceMappingURL=agent-session-store-G2BMUZQV.js.map
7
- //# sourceMappingURL=agent-session-store-G2BMUZQV.js.map
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkZ4BCLVTI_cjs = require('./chunk-Z4BCLVTI.cjs');
4
- require('./chunk-BUIK7GUA.cjs');
5
- require('./chunk-I6TGFUCO.cjs');
6
- require('./chunk-JTB5Q42C.cjs');
7
- require('./chunk-NUKRL3I6.cjs');
8
-
9
-
10
-
11
- Object.defineProperty(exports, "appendCompactBoundaryRecord", {
12
- enumerable: true,
13
- get: function () { return chunkZ4BCLVTI_cjs.appendCompactBoundaryRecord; }
14
- });
15
- Object.defineProperty(exports, "persistTurn", {
16
- enumerable: true,
17
- get: function () { return chunkZ4BCLVTI_cjs.persistTurn; }
18
- });
19
- Object.defineProperty(exports, "readSessionMessages", {
20
- enumerable: true,
21
- get: function () { return chunkZ4BCLVTI_cjs.readSessionMessages; }
22
- });
23
- //# sourceMappingURL=agent-session-store-WAKLOKWK.cjs.map
24
- //# sourceMappingURL=agent-session-store-WAKLOKWK.cjs.map
@@ -1,468 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkKRD3GQAA_cjs = require('./chunk-KRD3GQAA.cjs');
4
- var chunkR3UPQFKK_cjs = require('./chunk-R3UPQFKK.cjs');
5
- var chunkBUIK7GUA_cjs = require('./chunk-BUIK7GUA.cjs');
6
- var chunkZF2LDKQQ_cjs = require('./chunk-ZF2LDKQQ.cjs');
7
- var chunkI6TGFUCO_cjs = require('./chunk-I6TGFUCO.cjs');
8
- var chunkK3FW2XZD_cjs = require('./chunk-K3FW2XZD.cjs');
9
- var chunkJTB5Q42C_cjs = require('./chunk-JTB5Q42C.cjs');
10
- var promises = require('fs/promises');
11
- var os = require('os');
12
- var path = require('path');
13
-
14
- var MEMORY_KINDS = ["user", "feedback", "project", "reference"];
15
- function legacyMemoryJsonPath(cwd, config) {
16
- if (config.storePath !== void 0) {
17
- return path.resolve(cwd, config.storePath);
18
- }
19
- const namespace = chunkR3UPQFKK_cjs.sanitizeIdentifier(config.namespace ?? "default");
20
- const scope = chunkR3UPQFKK_cjs.sanitizeIdentifier(config.scope ?? "agent", { maxLen: 16 });
21
- const userId = chunkR3UPQFKK_cjs.sanitizeIdentifier(config.userId ?? "default");
22
- return chunkR3UPQFKK_cjs.safePathJoin(cwd, ".theokit", "memory", namespace, `${scope}-${userId}.json`);
23
- }
24
-
25
- // src/internal/memory/storage/memory-file.ts
26
- var SAFE_SLUG = /^[a-z0-9][a-z0-9_-]*$/;
27
- var MAX_SLUG_LENGTH = 64;
28
- var TARGET_SLUG_LENGTH = 32;
29
- var TITLE_MAX_LENGTH = 40;
30
- var TITLE_MAX_WORDS = 4;
31
- var SLUG_STOPWORDS = /* @__PURE__ */ new Set([
32
- "the",
33
- "a",
34
- "an",
35
- "and",
36
- "or",
37
- "but",
38
- "is",
39
- "are",
40
- "was",
41
- "were",
42
- "be",
43
- "been",
44
- "being",
45
- "for",
46
- "of",
47
- "to",
48
- "in",
49
- "on",
50
- "at",
51
- "by",
52
- "with",
53
- "from",
54
- "as",
55
- "that",
56
- "this",
57
- "these",
58
- "those",
59
- "it",
60
- "its",
61
- "he",
62
- "she",
63
- "they",
64
- "we",
65
- "you",
66
- "i",
67
- "do",
68
- "does",
69
- "did",
70
- "has",
71
- "have",
72
- "had",
73
- "will",
74
- "would",
75
- "can",
76
- "could",
77
- "should",
78
- "must",
79
- "not",
80
- "no",
81
- "over",
82
- "under",
83
- "into",
84
- "onto",
85
- "than",
86
- "then",
87
- "when",
88
- "where",
89
- "which",
90
- "who",
91
- "why",
92
- "how",
93
- "all",
94
- "any",
95
- "each",
96
- "more",
97
- "most",
98
- "other",
99
- "some",
100
- "such",
101
- "only",
102
- "own",
103
- "same",
104
- "so",
105
- "too",
106
- "very",
107
- "just",
108
- "also",
109
- "about",
110
- "after",
111
- "before",
112
- "between",
113
- "during",
114
- "up",
115
- "down",
116
- "out",
117
- "off",
118
- "again",
119
- "once",
120
- "here",
121
- "there",
122
- "if",
123
- "because",
124
- "while"
125
- ]);
126
- function topicWords(text) {
127
- return text.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, "").split(/[^a-z0-9]+/).filter((w) => w.length >= 2 && !SLUG_STOPWORDS.has(w));
128
- }
129
- function slugForFact(text) {
130
- const words = topicWords(text);
131
- let slug = "";
132
- for (const w of words) {
133
- const next = slug.length === 0 ? w : `${slug}-${w}`;
134
- if (next.length > TARGET_SLUG_LENGTH && slug.length > 0) break;
135
- if (next.length > MAX_SLUG_LENGTH) break;
136
- slug = next;
137
- }
138
- if (slug.length === 0) {
139
- slug = text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, MAX_SLUG_LENGTH).replace(/-+$/, "");
140
- }
141
- return SAFE_SLUG.test(slug) ? slug : chunkR3UPQFKK_cjs.safeFilenameForId(text);
142
- }
143
- function titleForFact(text) {
144
- const words = topicWords(text);
145
- if (words.length === 0) return text.trim().slice(0, TITLE_MAX_LENGTH);
146
- let title = "";
147
- let used = 0;
148
- for (const w of words) {
149
- if (used >= TITLE_MAX_WORDS) break;
150
- const next = title.length === 0 ? w : `${title} ${w}`;
151
- if (next.length > TITLE_MAX_LENGTH && title.length > 0) break;
152
- title = next;
153
- used += 1;
154
- }
155
- if (title.length === 0) title = words[0];
156
- return title.charAt(0).toUpperCase() + title.slice(1);
157
- }
158
- function readMetadata(raw) {
159
- const metadata = raw ?? {};
160
- const rawKind = metadata.type;
161
- const kind = typeof rawKind === "string" && MEMORY_KINDS.includes(rawKind) ? rawKind : void 0;
162
- const modified = typeof metadata.modified === "string" ? metadata.modified : void 0;
163
- const observations = readObservationCount(metadata.observations);
164
- return {
165
- ...kind !== void 0 ? { kind } : {},
166
- ...modified !== void 0 ? { modified } : {},
167
- ...observations !== void 0 ? { observations } : {}
168
- };
169
- }
170
- function readObservationCount(raw) {
171
- if (typeof raw !== "number") return void 0;
172
- if (!Number.isInteger(raw) || raw <= 0) return void 0;
173
- return raw;
174
- }
175
- function renderMemoryFile(fields) {
176
- const metadata = [" node_type: memory"];
177
- if (fields.kind !== void 0) metadata.push(` type: ${fields.kind}`);
178
- if (fields.modified !== void 0) metadata.push(` modified: ${fields.modified}`);
179
- if (fields.observations !== void 0) {
180
- metadata.push(` observations: ${fields.observations}`);
181
- }
182
- return [
183
- "---",
184
- `name: ${fields.name}`,
185
- `description: ${JSON.stringify(fields.description)}`,
186
- "metadata:",
187
- ...metadata,
188
- "---",
189
- "",
190
- fields.body,
191
- ""
192
- ].join("\n");
193
- }
194
- function parseMemoryFile(raw) {
195
- const { yaml, body } = chunkKRD3GQAA_cjs.splitFrontmatter(raw);
196
- if (yaml === void 0) return void 0;
197
- let fields;
198
- try {
199
- fields = chunkKRD3GQAA_cjs.parseSimpleYaml(yaml);
200
- } catch {
201
- return void 0;
202
- }
203
- const name = fields.name;
204
- const description = fields.description;
205
- if (typeof name !== "string" || typeof description !== "string") return void 0;
206
- return {
207
- name,
208
- description,
209
- ...readMetadata(fields.metadata),
210
- body: body.trim()
211
- };
212
- }
213
-
214
- // src/internal/memory/storage/threat-scan.ts
215
- var INVISIBLE_CLASS = "\\u200B-\\u200F\\u202A-\\u202E\\u2066-\\u2069\\uFEFF";
216
- var THREAT_PATTERNS = [
217
- {
218
- id: "invisible_unicode",
219
- // Text that renders as one thing to a reviewer and another to a parser is the whole
220
- // technique.
221
- test: new RegExp(`[${INVISIBLE_CLASS}]`, "u"),
222
- why: "contains invisible or bidirectional control characters"
223
- },
224
- {
225
- id: "instruction_override",
226
- // The framing that tries to make recalled text outrank the system prompt. A memory entry
227
- // states what was learned; it never addresses the model's instructions.
228
- 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,
229
- why: "addresses the model's instructions instead of stating what was learned"
230
- },
231
- {
232
- id: "role_reassignment",
233
- 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,
234
- why: "attempts to reassign the agent's role"
235
- },
236
- // A `pipe_to_shell` pattern (`curl … | sh`) was written here and REMOVED after measurement.
237
- // It fired on 1 of 797 real memory files, and the hit was legitimate: a note documenting the
238
- // product's own install command in a table. Fetch-and-execute in a hostile entry and in an
239
- // install instruction are textually identical, so the pattern cannot be narrowed — only
240
- // traded. Rejecting the write would mean the first person to save install docs to memory
241
- // gets a hard failure, which buys nothing: an entry the agent READS is not an entry the
242
- // agent RUNS, and execution is gated at the tool boundary, where it belongs. Left out on
243
- // purpose, so nobody re-adds it without repeating the measurement.
244
- {
245
- id: "encoded_payload",
246
- // A base64 run this long is not prose. Short tokens are left alone precisely so that hashes,
247
- // commit SHAs and identifiers keep working.
248
- test: /[A-Za-z0-9+/]{256,}={0,2}/,
249
- why: "carries a long encoded payload rather than readable text"
250
- }
251
- ];
252
- var EXCERPT_RADIUS = 40;
253
- var EXCERPT_SCRUB = new RegExp(`[\\u0000-\\u001F${INVISIBLE_CLASS}]`, "gu");
254
- function scanForThreats(text) {
255
- for (const pattern of THREAT_PATTERNS) {
256
- const m = pattern.test.exec(text);
257
- if (m === null) continue;
258
- const at = m.index;
259
- const start = Math.max(0, at - EXCERPT_RADIUS);
260
- const end = Math.min(text.length, at + m[0].length + EXCERPT_RADIUS);
261
- const window = text.slice(start, end).replace(EXCERPT_SCRUB, "\u2423");
262
- return {
263
- id: pattern.id,
264
- why: pattern.why,
265
- excerpt: `${start > 0 ? "\u2026" : ""}${window}${end < text.length ? "\u2026" : ""}`
266
- };
267
- }
268
- return void 0;
269
- }
270
- THREAT_PATTERNS.map((p) => p.id);
271
-
272
- // src/internal/memory/storage/markdown-store.ts
273
- var MEMORY_MD_HEADER = "# Memory Index\n";
274
- var FACTS_HEADING = "## Facts";
275
- var MAX_NAME_VARIANTS = 50;
276
- function memoryDir(cwd) {
277
- return path.join(cwd, ".theokit", "memory");
278
- }
279
- function memoryWriteDir(cwd, sessionDir) {
280
- if (sessionDir === void 0 || sessionDir.trim().length === 0) return memoryDir(cwd);
281
- return path.join(sessionDir, "projects", chunkBUIK7GUA_cjs.encodeProjectDir(cwd), "memory");
282
- }
283
- function claudeProjectMemoryDir(cwd) {
284
- const home = process.env.CLAUDE_CONFIG_DIR?.trim();
285
- const root = home !== void 0 && home.length > 0 ? home : path.join(os.homedir(), ".claude");
286
- return path.join(root, "projects", chunkBUIK7GUA_cjs.encodeProjectDir(cwd), "memory");
287
- }
288
- function memoryMdPath(cwd) {
289
- return path.join(memoryDir(cwd), "MEMORY.md");
290
- }
291
- function notesDir(cwd) {
292
- return path.join(memoryDir(cwd), "notes");
293
- }
294
- function byNaturalName(a, b) {
295
- const split = (f) => {
296
- const stem = f.replace(/\.md$/, "");
297
- const m = /^(.*?)-(\d+)$/.exec(stem);
298
- return m === null ? [stem, 0] : [m[1], Number(m[2])];
299
- };
300
- const [baseA, nA] = split(a);
301
- const [baseB, nB] = split(b);
302
- return baseA === baseB ? nA - nB : baseA.localeCompare(baseB);
303
- }
304
- async function readFactsFromMarkdown(cwd, sessionDir) {
305
- const facts = [];
306
- const roots = [
307
- .../* @__PURE__ */ new Set([memoryDir(cwd), memoryWriteDir(cwd, sessionDir), claudeProjectMemoryDir(cwd)])
308
- ];
309
- for (const dir of roots) {
310
- let entries;
311
- try {
312
- entries = await promises.readdir(dir);
313
- } catch {
314
- continue;
315
- }
316
- const inDir = [];
317
- for (const entry of entries.sort(byNaturalName)) {
318
- const fact = await readMemoryFileIn(dir, entry);
319
- if (fact !== void 0) inDir.push(fact);
320
- }
321
- inDir.sort((a, b) => (a.modified ?? "").localeCompare(b.modified ?? ""));
322
- facts.push(...inDir);
323
- }
324
- try {
325
- facts.push(...parseFactsSection(await promises.readFile(memoryMdPath(cwd), "utf8")));
326
- } catch {
327
- }
328
- return facts;
329
- }
330
- async function readMemoryFileIn(dir, entry) {
331
- if (!entry.endsWith(".md") || entry === "MEMORY.md") return void 0;
332
- let raw;
333
- try {
334
- raw = await promises.readFile(path.join(dir, entry), "utf8");
335
- } catch {
336
- return void 0;
337
- }
338
- const parsed = parseMemoryFile(raw);
339
- if (parsed === void 0) return void 0;
340
- const body = parsed.body.trim();
341
- return {
342
- text: body.length > 0 ? body : parsed.description,
343
- ...parsed.kind !== void 0 ? { kind: parsed.kind } : {},
344
- ...parsed.modified !== void 0 ? { modified: parsed.modified } : {},
345
- ...parsed.observations !== void 0 ? { observations: parsed.observations } : {}
346
- };
347
- }
348
- function assertWritable(fact, text) {
349
- if (fact.kind !== void 0 && !MEMORY_KINDS.includes(fact.kind)) {
350
- throw new chunkK3FW2XZD_cjs.ConfigurationError(
351
- `Unknown memory fact kind "${fact.kind}". Expected one of: ${MEMORY_KINDS.join(", ")}.`,
352
- { code: "invalid_memory_kind" }
353
- );
354
- }
355
- const threat = scanForThreats(text);
356
- if (threat !== void 0) {
357
- throw new chunkK3FW2XZD_cjs.ConfigurationError(
358
- `Refusing to write a memory entry that ${threat.why}: ${threat.excerpt}`,
359
- { code: "memory_threat_rejected" }
360
- );
361
- }
362
- }
363
- function appendFactToMarkdown(cwd, fact, targetDir = memoryDir(cwd)) {
364
- return chunkZF2LDKQQ_cjs.withCwdMutex(targetDir, async () => {
365
- const text = chunkJTB5Q42C_cjs.redactSecrets(fact.text);
366
- assertWritable(fact, text);
367
- const title = fact.title?.trim() ?? titleForFact(text);
368
- const base = fact.title !== void 0 ? slugForFact(fact.title) : slugForFact(text);
369
- await promises.mkdir(targetDir, { recursive: true });
370
- const name = await resolveName(targetDir, base, text);
371
- const description = fact.description?.trim() ?? text;
372
- const observations = await nextObservationCount(targetDir, name, text);
373
- await chunkI6TGFUCO_cjs.replaceFileAtomic(
374
- path.join(targetDir, `${name}.md`),
375
- renderMemoryFile({
376
- name,
377
- description,
378
- ...fact.kind !== void 0 ? { kind: fact.kind } : {},
379
- modified: (/* @__PURE__ */ new Date()).toISOString(),
380
- observations,
381
- body: text
382
- })
383
- );
384
- await chunkI6TGFUCO_cjs.replaceFileAtomic(
385
- path.join(targetDir, "MEMORY.md"),
386
- await nextIndex(targetDir, description, name, title)
387
- );
388
- });
389
- }
390
- async function resolveName(dir, base, text) {
391
- const wanted = normalizeFactText(text);
392
- for (let i = 1; i <= MAX_NAME_VARIANTS; i += 1) {
393
- const candidate = i === 1 ? base : `${base}-${i}`;
394
- let existing;
395
- try {
396
- existing = await promises.readFile(path.join(dir, `${candidate}.md`), "utf8");
397
- } catch {
398
- return candidate;
399
- }
400
- const parsed = parseMemoryFile(existing);
401
- if (parsed === void 0) return candidate;
402
- if (normalizeFactText(parsed.body) === wanted) return candidate;
403
- }
404
- return slugForFact(text) === base ? chunkR3UPQFKK_cjs.safeFilenameForId(text) : slugForFact(text);
405
- }
406
- async function nextObservationCount(dir, name, text) {
407
- let existing;
408
- try {
409
- existing = await promises.readFile(path.join(dir, `${name}.md`), "utf8");
410
- } catch {
411
- return 1;
412
- }
413
- const parsed = parseMemoryFile(existing);
414
- if (parsed === void 0) return 1;
415
- const sameFact = normalizeFactText(parsed.body) === normalizeFactText(text);
416
- if (!sameFact) return 1;
417
- return (parsed.observations ?? 1) + 1;
418
- }
419
- function normalizeFactText(text) {
420
- return text.trim().toLowerCase().replace(/\s+/g, " ").replace(/[.!?]+$/, "");
421
- }
422
- async function nextIndex(dir, text, name, title) {
423
- let existing = "";
424
- try {
425
- existing = await promises.readFile(path.join(dir, "MEMORY.md"), "utf8");
426
- } catch {
427
- existing = "";
428
- }
429
- const hook = text.replace(/\s+/g, " ").trim();
430
- const entry = hook.length > 0 && hook !== title ? `- [${title}](${name}.md) \u2014 ${hook}` : `- [${title}](${name}.md)`;
431
- const kept = existing.split("\n").filter((line) => !line.startsWith(`- [`) || !line.includes(`](${name}.md)`));
432
- const body = kept.join("\n").trimEnd();
433
- const head = body.length > 0 ? body : MEMORY_MD_HEADER;
434
- return `${head}
435
- ${entry}
436
- `;
437
- }
438
- var INDEX_ENTRY = /^\[[^\]]*\]\([^)]+\.md\)(?:\s+—\s.*)?$/;
439
- function parseFactsSection(raw) {
440
- const idx = raw.indexOf(FACTS_HEADING);
441
- if (idx === -1) return [];
442
- const tail = raw.slice(idx + FACTS_HEADING.length);
443
- const nextHeading = tail.search(/\n#{1,2}\s/);
444
- const block = nextHeading === -1 ? tail : tail.slice(0, nextHeading);
445
- 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 }));
446
- }
447
- async function readFacts(cwd, config, memoryHome) {
448
- if (!config.enabled) return [];
449
- return readFactsFromMarkdown(cwd, memoryHome);
450
- }
451
- async function appendFact(cwd, config, fact, memoryHome) {
452
- if (!config.enabled) return;
453
- await appendFactToMarkdown(cwd, fact, memoryWriteDir(cwd, memoryHome));
454
- }
455
-
456
- exports.MEMORY_KINDS = MEMORY_KINDS;
457
- exports.appendFact = appendFact;
458
- exports.appendFactToMarkdown = appendFactToMarkdown;
459
- exports.claudeProjectMemoryDir = claudeProjectMemoryDir;
460
- exports.legacyMemoryJsonPath = legacyMemoryJsonPath;
461
- exports.memoryDir = memoryDir;
462
- exports.memoryMdPath = memoryMdPath;
463
- exports.memoryWriteDir = memoryWriteDir;
464
- exports.notesDir = notesDir;
465
- exports.readFacts = readFacts;
466
- exports.readFactsFromMarkdown = readFactsFromMarkdown;
467
- //# sourceMappingURL=chunk-2UCFUSPW.cjs.map
468
- //# sourceMappingURL=chunk-2UCFUSPW.cjs.map