@theokit/sdk 4.53.1 → 4.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (694) hide show
  1. package/CHANGELOG.md +1184 -0
  2. package/README.md +9 -4
  3. package/dist/a2a/agent-mailbox.d.cts +27 -0
  4. package/dist/a2a/agent-mailbox.d.ts +27 -0
  5. package/dist/a2a/index.cjs +9 -4
  6. package/dist/a2a/index.cjs.map +1 -1
  7. package/dist/a2a/index.js +7 -2
  8. package/dist/a2a/index.js.map +1 -1
  9. package/dist/a2a/message-bus.d.cts +39 -0
  10. package/dist/a2a/message-bus.d.ts +39 -0
  11. package/dist/a2a/subagent.d.cts +68 -7
  12. package/dist/a2a/subagent.d.ts +68 -7
  13. package/dist/a2a/types.d.cts +26 -0
  14. package/dist/a2a/types.d.ts +26 -0
  15. package/dist/{agent-B9HXlwID.d.ts → agent-D3Xr_-6Z.d.cts} +245 -850
  16. package/dist/{agent-nLqeXKIX.d.cts → agent-DIu6FooJ.d.ts} +245 -850
  17. package/dist/agent-HDEVVUBS.js +52 -0
  18. package/dist/{agent-FFVV4U5N.js.map → agent-HDEVVUBS.js.map} +1 -1
  19. package/dist/agent-R2HOJFZJ.cjs +61 -0
  20. package/dist/{agent-YLAHVHEH.cjs.map → agent-R2HOJFZJ.cjs.map} +1 -1
  21. package/dist/agent-builder.d.ts +19 -0
  22. package/dist/agent-session-store-P6V3FINW.js +7 -0
  23. package/dist/{agent-session-store-TNCGL5RN.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
  24. package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
  25. package/dist/{agent-session-store-DUGBAX5V.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
  26. package/dist/agent.d.ts +9 -6
  27. package/dist/auth/index.cjs +52 -35
  28. package/dist/auth/index.cjs.map +1 -1
  29. package/dist/auth/index.js +26 -9
  30. package/dist/auth/index.js.map +1 -1
  31. package/dist/{batch-UPKN4SG6.js → batch-2TGJMNCJ.js} +14 -13
  32. package/dist/batch-2TGJMNCJ.js.map +1 -0
  33. package/dist/{batch-ZEFN5SO7.cjs → batch-ND32UKZS.cjs} +31 -30
  34. package/dist/batch-ND32UKZS.cjs.map +1 -0
  35. package/dist/{chunk-TTJ54H3E.cjs → chunk-2ADR2GSO.cjs} +8 -8
  36. package/dist/chunk-2ADR2GSO.cjs.map +1 -0
  37. package/dist/chunk-2BDH744Z.js +15 -0
  38. package/dist/chunk-2BDH744Z.js.map +1 -0
  39. package/dist/{chunk-VGPXHHF3.cjs → chunk-2C72DXQF.cjs} +63 -27
  40. package/dist/chunk-2C72DXQF.cjs.map +1 -0
  41. package/dist/{chunk-4Q4K4WB5.js → chunk-2D34UTDC.js} +20 -4
  42. package/dist/chunk-2D34UTDC.js.map +1 -0
  43. package/dist/{chunk-UFIXH26P.js → chunk-2QKTVKH3.js} +4 -4
  44. package/dist/{chunk-UFIXH26P.js.map → chunk-2QKTVKH3.js.map} +1 -1
  45. package/dist/{chunk-GBBDINFK.js → chunk-3E77SX4H.js} +4 -4
  46. package/dist/{chunk-GBBDINFK.js.map → chunk-3E77SX4H.js.map} +1 -1
  47. package/dist/{chunk-VYHJZVL5.cjs → chunk-3EE6LVWT.cjs} +2 -2
  48. package/dist/chunk-3EE6LVWT.cjs.map +1 -0
  49. package/dist/{chunk-5NBUH3NO.js → chunk-3OR54XG4.js} +2 -2
  50. package/dist/{chunk-C6Y6CWYD.cjs.map → chunk-3OR54XG4.js.map} +1 -1
  51. package/dist/{chunk-ZN2DGEY3.cjs → chunk-3YJNUKYN.cjs} +15 -15
  52. package/dist/{chunk-ZN2DGEY3.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
  53. package/dist/{chunk-POWRZSK4.js → chunk-44JAAH4X.js} +3 -3
  54. package/dist/{chunk-POWRZSK4.js.map → chunk-44JAAH4X.js.map} +1 -1
  55. package/dist/{chunk-SSDD676S.js → chunk-44MBDIHG.js} +4 -4
  56. package/dist/{chunk-SSDD676S.js.map → chunk-44MBDIHG.js.map} +1 -1
  57. package/dist/{chunk-OY7O3Q6R.js → chunk-4ERPXIVB.js} +5 -5
  58. package/dist/{chunk-OY7O3Q6R.js.map → chunk-4ERPXIVB.js.map} +1 -1
  59. package/dist/{chunk-3BK6YR5P.cjs → chunk-4I55V454.cjs} +4 -4
  60. package/dist/{chunk-3BK6YR5P.cjs.map → chunk-4I55V454.cjs.map} +1 -1
  61. package/dist/{chunk-B4YA6BRS.cjs → chunk-4O5TGQBW.cjs} +30 -7
  62. package/dist/chunk-4O5TGQBW.cjs.map +1 -0
  63. package/dist/{chunk-4JBHSLQO.cjs → chunk-4OTIXDMU.cjs} +2 -2
  64. package/dist/{chunk-4JBHSLQO.cjs.map → chunk-4OTIXDMU.cjs.map} +1 -1
  65. package/dist/{chunk-C6Y6CWYD.cjs → chunk-52NKC5HT.cjs} +2 -2
  66. package/dist/chunk-52NKC5HT.cjs.map +1 -0
  67. package/dist/{chunk-665SFFFR.cjs → chunk-53CBTBWO.cjs} +11 -11
  68. package/dist/{chunk-665SFFFR.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
  69. package/dist/{chunk-FFM3SJTQ.js → chunk-5JLFFPCH.js} +4 -4
  70. package/dist/{chunk-FFM3SJTQ.js.map → chunk-5JLFFPCH.js.map} +1 -1
  71. package/dist/{chunk-34XOCZJO.js → chunk-5PHVENFV.js} +3 -3
  72. package/dist/chunk-5PHVENFV.js.map +1 -0
  73. package/dist/{chunk-BDTVFIPB.cjs → chunk-5UOVYM3P.cjs} +36 -31
  74. package/dist/chunk-5UOVYM3P.cjs.map +1 -0
  75. package/dist/{chunk-VF7X6HDR.cjs → chunk-5USCYPPI.cjs} +15 -15
  76. package/dist/{chunk-VF7X6HDR.cjs.map → chunk-5USCYPPI.cjs.map} +1 -1
  77. package/dist/chunk-6HTXPPHK.cjs +18 -0
  78. package/dist/chunk-6HTXPPHK.cjs.map +1 -0
  79. package/dist/{chunk-D24WJWN2.js → chunk-AEOZTXVW.js} +3 -3
  80. package/dist/{chunk-D24WJWN2.js.map → chunk-AEOZTXVW.js.map} +1 -1
  81. package/dist/{chunk-DGOG5NXR.js → chunk-AG5JPQIY.js} +3 -3
  82. package/dist/{chunk-DGOG5NXR.js.map → chunk-AG5JPQIY.js.map} +1 -1
  83. package/dist/{chunk-BFYGJGC5.js → chunk-AQLGBKNT.js} +3 -3
  84. package/dist/chunk-AQLGBKNT.js.map +1 -0
  85. package/dist/{chunk-7W7ZWMLQ.js → chunk-AWO27VRZ.js} +3 -3
  86. package/dist/chunk-AWO27VRZ.js.map +1 -0
  87. package/dist/{chunk-VYCKUKPA.cjs → chunk-B2J4ZMZL.cjs} +3 -2
  88. package/dist/chunk-B2J4ZMZL.cjs.map +1 -0
  89. package/dist/{chunk-BERBYXFH.js → chunk-BMAZLQQ4.js} +3 -3
  90. package/dist/{chunk-BERBYXFH.js.map → chunk-BMAZLQQ4.js.map} +1 -1
  91. package/dist/{chunk-5YKNEMXR.cjs → chunk-BVZW2B5V.cjs} +4 -4
  92. package/dist/chunk-BVZW2B5V.cjs.map +1 -0
  93. package/dist/{chunk-MSFLYJDY.js → chunk-CQ2TQ32Y.js} +4 -4
  94. package/dist/chunk-CQ2TQ32Y.js.map +1 -0
  95. package/dist/{chunk-C5DEO6OI.cjs → chunk-CQGYNZ3K.cjs} +4 -4
  96. package/dist/{chunk-C5DEO6OI.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
  97. package/dist/{chunk-D75S2X6I.cjs → chunk-CTCGWIUD.cjs} +5 -5
  98. package/dist/{chunk-D75S2X6I.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
  99. package/dist/{chunk-NZL4BNFQ.js → chunk-CV7XMBHP.js} +4 -4
  100. package/dist/chunk-CV7XMBHP.js.map +1 -0
  101. package/dist/{chunk-SEL2ZQMT.js → chunk-DAPSQZT4.js} +15 -10
  102. package/dist/chunk-DAPSQZT4.js.map +1 -0
  103. package/dist/{chunk-SVO5WPZX.cjs → chunk-DQKERTND.cjs} +11 -11
  104. package/dist/{chunk-SVO5WPZX.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
  105. package/dist/{chunk-N5CR3TJZ.js → chunk-DZBSJX6J.js} +4 -4
  106. package/dist/{chunk-N5CR3TJZ.js.map → chunk-DZBSJX6J.js.map} +1 -1
  107. package/dist/{chunk-RAHSWE5C.cjs → chunk-EI2Q7SJ5.cjs} +12 -12
  108. package/dist/chunk-EI2Q7SJ5.cjs.map +1 -0
  109. package/dist/{chunk-UCFONJBG.js → chunk-EPSICJLZ.js} +2 -2
  110. package/dist/{chunk-UCFONJBG.js.map → chunk-EPSICJLZ.js.map} +1 -1
  111. package/dist/{chunk-3X6PM7DU.cjs → chunk-F3YZMOAU.cjs} +8 -8
  112. package/dist/{chunk-3X6PM7DU.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
  113. package/dist/{chunk-F77UENR6.cjs → chunk-F5WMX4EA.cjs} +586 -398
  114. package/dist/chunk-F5WMX4EA.cjs.map +1 -0
  115. package/dist/{chunk-HE4BIAOS.js → chunk-F7AQV62G.js} +5 -4
  116. package/dist/chunk-F7AQV62G.js.map +1 -0
  117. package/dist/{chunk-2RW7K6FN.cjs → chunk-GHX4P3V2.cjs} +2 -2
  118. package/dist/chunk-GHX4P3V2.cjs.map +1 -0
  119. package/dist/{chunk-B6HOIWQ6.js → chunk-GJ6RK75E.js} +5 -5
  120. package/dist/chunk-GJ6RK75E.js.map +1 -0
  121. package/dist/{chunk-FOXKFTVZ.cjs → chunk-GNT35C5U.cjs} +13 -13
  122. package/dist/chunk-GNT35C5U.cjs.map +1 -0
  123. package/dist/{chunk-4NAKHID5.js → chunk-GTKFV7O5.js} +2 -2
  124. package/dist/chunk-GTKFV7O5.js.map +1 -0
  125. package/dist/{chunk-ELKO4ZLR.cjs → chunk-GWC3HADL.cjs} +4 -4
  126. package/dist/{chunk-ELKO4ZLR.cjs.map → chunk-GWC3HADL.cjs.map} +1 -1
  127. package/dist/{chunk-OXNYIMZZ.js → chunk-H73MEMQB.js} +2 -2
  128. package/dist/chunk-H73MEMQB.js.map +1 -0
  129. package/dist/{chunk-E7FJOO4G.cjs → chunk-HJBMA5MB.cjs} +11 -11
  130. package/dist/{chunk-E7FJOO4G.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
  131. package/dist/{chunk-2FYEVT2B.cjs → chunk-HLPSLDGL.cjs} +275 -160
  132. package/dist/chunk-HLPSLDGL.cjs.map +1 -0
  133. package/dist/{chunk-VW6M4B3Z.cjs → chunk-HY57ULY2.cjs} +5 -5
  134. package/dist/{chunk-VW6M4B3Z.cjs.map → chunk-HY57ULY2.cjs.map} +1 -1
  135. package/dist/{chunk-CAH3G4IS.js → chunk-HY66GLM6.js} +2 -2
  136. package/dist/chunk-HY66GLM6.js.map +1 -0
  137. package/dist/{chunk-G3JWXOGY.js → chunk-I5BE5M5L.js} +310 -122
  138. package/dist/chunk-I5BE5M5L.js.map +1 -0
  139. package/dist/{chunk-C4H6PB5J.cjs → chunk-I6TGFUCO.cjs} +4 -4
  140. package/dist/{chunk-C4H6PB5J.cjs.map → chunk-I6TGFUCO.cjs.map} +1 -1
  141. package/dist/{chunk-U4UJHOSH.js → chunk-IDCKSLYH.js} +3 -3
  142. package/dist/{chunk-U4UJHOSH.js.map → chunk-IDCKSLYH.js.map} +1 -1
  143. package/dist/{chunk-WQ53UQL4.cjs → chunk-ILCGLTSA.cjs} +4 -4
  144. package/dist/{chunk-WQ53UQL4.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
  145. package/dist/{chunk-QBTVATSF.cjs → chunk-ITSSOVOB.cjs} +44 -47
  146. package/dist/chunk-ITSSOVOB.cjs.map +1 -0
  147. package/dist/{chunk-V6HWJQQV.js → chunk-IVNNSANC.js} +27 -30
  148. package/dist/chunk-IVNNSANC.js.map +1 -0
  149. package/dist/{chunk-SZHU7A5B.cjs → chunk-IWBGCBR6.cjs} +4 -4
  150. package/dist/{chunk-SZHU7A5B.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
  151. package/dist/{chunk-Q4RESANI.cjs → chunk-J24VJOH3.cjs} +20 -4
  152. package/dist/chunk-J24VJOH3.cjs.map +1 -0
  153. package/dist/{chunk-Y4AXQOT4.cjs → chunk-JHPGF3FP.cjs} +8 -8
  154. package/dist/{chunk-Y4AXQOT4.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
  155. package/dist/{chunk-BM6N4KHO.cjs → chunk-JTB5Q42C.cjs} +6 -22
  156. package/dist/chunk-JTB5Q42C.cjs.map +1 -0
  157. package/dist/{chunk-LPVIRJVF.cjs → chunk-K3FW2XZD.cjs} +9 -9
  158. package/dist/{chunk-LPVIRJVF.cjs.map → chunk-K3FW2XZD.cjs.map} +1 -1
  159. package/dist/{chunk-LS3LMQ23.js → chunk-MVAPK2BX.js} +162 -49
  160. package/dist/chunk-MVAPK2BX.js.map +1 -0
  161. package/dist/{chunk-XPR366DL.cjs → chunk-NGESVVJN.cjs} +17 -17
  162. package/dist/chunk-NGESVVJN.cjs.map +1 -0
  163. package/dist/{chunk-VUKQL3L2.cjs → chunk-NIRE5CNO.cjs} +20 -13
  164. package/dist/chunk-NIRE5CNO.cjs.map +1 -0
  165. package/dist/{chunk-VC5ABJXC.js → chunk-NLTVXLGT.js} +3 -3
  166. package/dist/{chunk-VC5ABJXC.js.map → chunk-NLTVXLGT.js.map} +1 -1
  167. package/dist/chunk-NUKRL3I6.cjs +23 -0
  168. package/dist/chunk-NUKRL3I6.cjs.map +1 -0
  169. package/dist/{chunk-R5YZACGK.js → chunk-OC4NTGMN.js} +3 -3
  170. package/dist/{chunk-R5YZACGK.js.map → chunk-OC4NTGMN.js.map} +1 -1
  171. package/dist/{chunk-GOVJO4YE.js → chunk-OHBIUXKM.js} +6 -6
  172. package/dist/chunk-OHBIUXKM.js.map +1 -0
  173. package/dist/{chunk-FPYT5WZP.cjs → chunk-P6A3M6VD.cjs} +10 -10
  174. package/dist/{chunk-FPYT5WZP.cjs.map → chunk-P6A3M6VD.cjs.map} +1 -1
  175. package/dist/{chunk-OKLYRPKL.cjs → chunk-Q47R5E2X.cjs} +8 -8
  176. package/dist/chunk-Q47R5E2X.cjs.map +1 -0
  177. package/dist/{chunk-HSQ5Q3I5.js → chunk-Q4CMI2LP.js} +12 -5
  178. package/dist/chunk-Q4CMI2LP.js.map +1 -0
  179. package/dist/{chunk-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
  180. package/dist/chunk-Q5EWJPRY.js.map +1 -0
  181. package/dist/{chunk-SK4QLUBK.js → chunk-QARJGQSA.js} +16 -7
  182. package/dist/chunk-QARJGQSA.js.map +1 -0
  183. package/dist/{chunk-CZ2GKKYL.cjs → chunk-QDED6YO6.cjs} +5 -5
  184. package/dist/{chunk-CZ2GKKYL.cjs.map → chunk-QDED6YO6.cjs.map} +1 -1
  185. package/dist/{chunk-VK7MAV65.cjs → chunk-QKLOP4VC.cjs} +2 -2
  186. package/dist/{chunk-VK7MAV65.cjs.map → chunk-QKLOP4VC.cjs.map} +1 -1
  187. package/dist/{chunk-FIOCJYLA.js → chunk-QRSUA2CV.js} +3 -3
  188. package/dist/{chunk-FIOCJYLA.js.map → chunk-QRSUA2CV.js.map} +1 -1
  189. package/dist/{chunk-ZT57WTUJ.cjs → chunk-R3UPQFKK.cjs} +21 -12
  190. package/dist/chunk-R3UPQFKK.cjs.map +1 -0
  191. package/dist/{chunk-X2FR4OIT.js → chunk-R7WIIPUR.js} +2 -2
  192. package/dist/chunk-R7WIIPUR.js.map +1 -0
  193. package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
  194. package/dist/chunk-RNB4APBZ.js.map +1 -0
  195. package/dist/{chunk-GD63JPGC.cjs → chunk-ROYPRJH4.cjs} +9 -9
  196. package/dist/{chunk-GD63JPGC.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
  197. package/dist/{chunk-V26QVGUG.js → chunk-RUDY2GTT.js} +59 -23
  198. package/dist/chunk-RUDY2GTT.js.map +1 -0
  199. package/dist/{chunk-JIQRXKTA.cjs → chunk-SKXBJ2NU.cjs} +7 -7
  200. package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
  201. package/dist/{chunk-XROIW6BH.js → chunk-SUKXXLWD.js} +6 -6
  202. package/dist/chunk-SUKXXLWD.js.map +1 -0
  203. package/dist/{chunk-LTSTGCL6.js → chunk-T73NA43R.js} +3 -3
  204. package/dist/{chunk-LTSTGCL6.js.map → chunk-T73NA43R.js.map} +1 -1
  205. package/dist/chunk-T7O6K6PX.js +20 -0
  206. package/dist/chunk-T7O6K6PX.js.map +1 -0
  207. package/dist/{chunk-5F5NWKPN.js → chunk-T7XEKOVW.js} +5 -20
  208. package/dist/chunk-T7XEKOVW.js.map +1 -0
  209. package/dist/{chunk-HAWE74GQ.cjs → chunk-U2AC6JUP.cjs} +8 -8
  210. package/dist/chunk-U2AC6JUP.cjs.map +1 -0
  211. package/dist/{chunk-3WVMJY7F.js → chunk-UC3HT2S4.js} +3 -3
  212. package/dist/{chunk-3WVMJY7F.js.map → chunk-UC3HT2S4.js.map} +1 -1
  213. package/dist/{chunk-PBZ7HMBP.js → chunk-UPRJR6IP.js} +4 -4
  214. package/dist/chunk-UPRJR6IP.js.map +1 -0
  215. package/dist/{chunk-3V7UJLQT.js → chunk-UQGQFBRL.js} +3 -3
  216. package/dist/chunk-UQGQFBRL.js.map +1 -0
  217. package/dist/{chunk-2D43RD5D.cjs → chunk-V2UUGUY4.cjs} +27 -27
  218. package/dist/chunk-V2UUGUY4.cjs.map +1 -0
  219. package/dist/{chunk-6AZDM6LK.js → chunk-VF7EWVDG.js} +3 -3
  220. package/dist/{chunk-6AZDM6LK.js.map → chunk-VF7EWVDG.js.map} +1 -1
  221. package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
  222. package/dist/chunk-VTYY7XL5.cjs.map +1 -0
  223. package/dist/{chunk-Y4I4EQFK.js → chunk-WKRSH2VR.js} +3 -3
  224. package/dist/{chunk-Y4I4EQFK.js.map → chunk-WKRSH2VR.js.map} +1 -1
  225. package/dist/{chunk-4QEC4CCS.js → chunk-WTMU7J4U.js} +2 -2
  226. package/dist/{chunk-4QEC4CCS.js.map → chunk-WTMU7J4U.js.map} +1 -1
  227. package/dist/{chunk-KSWHTR54.js → chunk-XN7NOENA.js} +6 -6
  228. package/dist/chunk-XN7NOENA.js.map +1 -0
  229. package/dist/{chunk-ADLLFY3H.cjs → chunk-XSX2UU6Y.cjs} +10 -9
  230. package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
  231. package/dist/{chunk-LD4MOBFX.js → chunk-XV4IZNV4.js} +9 -9
  232. package/dist/chunk-XV4IZNV4.js.map +1 -0
  233. package/dist/{chunk-EZ2YEF4F.cjs → chunk-XWL6O3SW.cjs} +4 -4
  234. package/dist/chunk-XWL6O3SW.cjs.map +1 -0
  235. package/dist/{chunk-PGP7IOJ2.js → chunk-YMA4S2WO.js} +4 -4
  236. package/dist/{chunk-PGP7IOJ2.js.map → chunk-YMA4S2WO.js.map} +1 -1
  237. package/dist/{chunk-OUOXM36O.cjs → chunk-YPJ5NH5N.cjs} +11 -11
  238. package/dist/chunk-YPJ5NH5N.cjs.map +1 -0
  239. package/dist/{chunk-YLQQX5W2.cjs → chunk-ZF2LDKQQ.cjs} +2 -2
  240. package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
  241. package/dist/{chunk-L5YO6PWL.cjs → chunk-ZNW6V4Y6.cjs} +2 -2
  242. package/dist/chunk-ZNW6V4Y6.cjs.map +1 -0
  243. package/dist/client/index.cjs.map +1 -1
  244. package/dist/client/index.js.map +1 -1
  245. package/dist/client/theokit-client.d.cts +36 -0
  246. package/dist/client/theokit-client.d.ts +36 -0
  247. package/dist/client/types.d.cts +30 -0
  248. package/dist/client/types.d.ts +30 -0
  249. package/dist/compact-session-FUJDVF7B.js +22 -0
  250. package/dist/{compact-session-4MNKNMO2.js.map → compact-session-FUJDVF7B.js.map} +1 -1
  251. package/dist/compact-session-LEWF554G.cjs +59 -0
  252. package/dist/{compact-session-EPFBQ46Z.cjs.map → compact-session-LEWF554G.cjs.map} +1 -1
  253. package/dist/compaction.cjs +17 -16
  254. package/dist/compaction.d.cts +13 -13
  255. package/dist/compaction.d.ts +13 -13
  256. package/dist/compaction.js +4 -3
  257. package/dist/concurrency.cjs +7 -6
  258. package/dist/concurrency.cjs.map +1 -1
  259. package/dist/concurrency.js +5 -4
  260. package/dist/concurrency.js.map +1 -1
  261. package/dist/context/index.cjs +7 -7
  262. package/dist/context/index.js +3 -3
  263. package/dist/context-FDOON2DB.js +6 -0
  264. package/dist/{context-ENXZNF6J.js.map → context-FDOON2DB.js.map} +1 -1
  265. package/dist/context-VMIE4BMD.cjs +23 -0
  266. package/dist/{context-7USNN6LP.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
  267. package/dist/cron-BcWmzWzT.d.cts +240 -0
  268. package/dist/cron-De6hzWCF.d.ts +240 -0
  269. package/dist/cron.cjs +43 -41
  270. package/dist/cron.d.cts +5 -3
  271. package/dist/cron.d.ts +5 -3
  272. package/dist/cron.js +42 -40
  273. package/dist/define-tool.d.ts +14 -6
  274. package/dist/{errors-BSoXcl3F.d.cts → errors-BgJH9PHi.d.cts} +39 -24
  275. package/dist/{errors-CHllybaU.d.ts → errors-C5fJUqLk.d.ts} +39 -24
  276. package/dist/errors.cjs +22 -21
  277. package/dist/errors.d.cts +2 -2
  278. package/dist/errors.d.ts +2 -2
  279. package/dist/errors.js +3 -2
  280. package/dist/eval.cjs +61 -58
  281. package/dist/eval.cjs.map +1 -1
  282. package/dist/eval.d.cts +38 -0
  283. package/dist/eval.d.ts +38 -0
  284. package/dist/eval.js +51 -48
  285. package/dist/eval.js.map +1 -1
  286. package/dist/event-bus.d.ts +16 -0
  287. package/dist/{executor-2Z6XJJJG.js → executor-BMEHFOXZ.js} +8 -7
  288. package/dist/executor-BMEHFOXZ.js.map +1 -0
  289. package/dist/{executor-2Z3LGG3I.cjs → executor-ZERJ3DGN.cjs} +25 -24
  290. package/dist/executor-ZERJ3DGN.cjs.map +1 -0
  291. package/dist/filesystem/index.cjs +8 -7
  292. package/dist/filesystem/index.cjs.map +1 -1
  293. package/dist/filesystem/index.js +4 -3
  294. package/dist/filesystem/index.js.map +1 -1
  295. package/dist/filesystem/local-filesystem.d.cts +18 -0
  296. package/dist/filesystem/local-filesystem.d.ts +18 -0
  297. package/dist/filesystem/types.d.cts +12 -0
  298. package/dist/filesystem/types.d.ts +12 -0
  299. package/dist/fs-session-store-3MOJQGP2.cjs +20 -0
  300. package/dist/{fs-session-store-VVY2AHWG.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
  301. package/dist/fs-session-store-IN7JTTXD.js +11 -0
  302. package/dist/{fs-session-store-R5FD3EN6.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
  303. package/dist/generate-object-N5MDZUJI.js +8 -0
  304. package/dist/{generate-object-WQRCXFD2.js.map → generate-object-N5MDZUJI.js.map} +1 -1
  305. package/dist/generate-object-PGSP5U7N.cjs +21 -0
  306. package/dist/{generate-object-AVXOJK2I.cjs.map → generate-object-PGSP5U7N.cjs.map} +1 -1
  307. package/dist/generate-object.d.ts +20 -0
  308. package/dist/index-manager-NG5YENWO.cjs +22 -0
  309. package/dist/{index-manager-VRU3A2YL.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
  310. package/dist/index-manager-ZMRJ6ZII.js +13 -0
  311. package/dist/{index-manager-WS7TVKUW.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
  312. package/dist/index.cjs +169 -155
  313. package/dist/index.cjs.map +1 -1
  314. package/dist/index.d.cts +702 -54
  315. package/dist/index.d.ts +702 -54
  316. package/dist/index.js +61 -58
  317. package/dist/index.js.map +1 -1
  318. package/dist/{inject-session-GMBMJVNZ.js → inject-session-BJMJH5BX.js} +9 -8
  319. package/dist/inject-session-BJMJH5BX.js.map +1 -0
  320. package/dist/inject-session-WQGGMCQY.cjs +29 -0
  321. package/dist/inject-session-WQGGMCQY.cjs.map +1 -0
  322. package/dist/internal/auth/auth-types.d.ts +83 -1
  323. package/dist/internal/auth/credential-store.d.ts +34 -6
  324. package/dist/internal/auth/oauth-device.d.ts +0 -1
  325. package/dist/internal/auth/resolve-credential.d.ts +40 -0
  326. package/dist/internal/budget/tracker/budget.d.ts +12 -14
  327. package/dist/internal/budget/usage-accumulator.d.ts +15 -0
  328. package/dist/internal/llm/anthropic-shared.d.ts +8 -4
  329. package/dist/internal/llm/model-identifier.d.ts +26 -0
  330. package/dist/internal/llm/openai.d.ts +8 -0
  331. package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
  332. package/dist/internal/llm/responses.d.ts +67 -1
  333. package/dist/internal/llm/router.d.ts +8 -0
  334. package/dist/internal/llm/types.d.ts +27 -1
  335. package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
  336. package/dist/internal/local-agent/real-local-run-tools.d.ts +23 -4
  337. package/dist/internal/mcp/oauth.d.ts +5 -0
  338. package/dist/internal/mcp/token-storage.d.ts +34 -0
  339. package/dist/internal/memory/adapters/index.cjs +12 -11
  340. package/dist/internal/memory/adapters/index.d.cts +3 -1
  341. package/dist/internal/memory/adapters/index.d.ts +3 -1
  342. package/dist/internal/memory/adapters/index.js +9 -8
  343. package/dist/internal/memory/adapters/openai-compatible.d.cts +45 -0
  344. package/dist/internal/memory/adapters/openai-compatible.d.ts +45 -0
  345. package/dist/internal/memory/embedding-cache.d.ts +42 -1
  346. package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
  347. package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -3
  348. package/dist/internal/memory/storage/markdown-store.d.ts +0 -5
  349. package/dist/internal/persistence/cwd-mutex.d.cts +34 -0
  350. package/dist/internal/persistence/cwd-mutex.d.ts +34 -0
  351. package/dist/internal/persistence/exclusive-create.d.cts +31 -0
  352. package/dist/internal/persistence/exclusive-create.d.ts +31 -0
  353. package/dist/internal/persistence/file-lock.d.cts +28 -0
  354. package/dist/internal/persistence/file-lock.d.ts +28 -0
  355. package/dist/internal/persistence/fs-session-store.d.cts +3 -0
  356. package/dist/internal/persistence/fs-session-store.d.ts +3 -0
  357. package/dist/internal/persistence/fts5-sanitize.d.cts +20 -0
  358. package/dist/internal/persistence/fts5-sanitize.d.ts +20 -0
  359. package/dist/internal/persistence/index.cjs +40 -39
  360. package/dist/internal/persistence/index.cjs.map +1 -1
  361. package/dist/internal/persistence/index.d.cts +6 -1
  362. package/dist/internal/persistence/index.d.ts +6 -1
  363. package/dist/internal/persistence/index.js +9 -8
  364. package/dist/internal/persistence/index.js.map +1 -1
  365. package/dist/internal/persistence/paths.d.cts +54 -1
  366. package/dist/internal/persistence/paths.d.ts +54 -1
  367. package/dist/internal/persistence/persistence-schema.d.cts +9 -1
  368. package/dist/internal/persistence/persistence-schema.d.ts +9 -1
  369. package/dist/internal/persistence/schema-version.d.cts +215 -1
  370. package/dist/internal/persistence/schema-version.d.ts +215 -1
  371. package/dist/internal/persistence/session-writer.d.cts +7 -7
  372. package/dist/internal/persistence/session-writer.d.ts +7 -7
  373. package/dist/internal/persistence/sqlite-cas.d.cts +37 -1
  374. package/dist/internal/persistence/sqlite-cas.d.ts +37 -1
  375. package/dist/internal/persistence/sqlite-open.d.cts +14 -0
  376. package/dist/internal/persistence/sqlite-open.d.ts +14 -0
  377. package/dist/internal/persistence/sqlite-wal.d.cts +45 -0
  378. package/dist/internal/persistence/sqlite-wal.d.ts +45 -0
  379. package/dist/internal/persistence/transcript-ops.d.cts +7 -1
  380. package/dist/internal/persistence/transcript-ops.d.ts +7 -1
  381. package/dist/internal/plugins/types.d.cts +1 -1
  382. package/dist/internal/plugins/types.d.ts +1 -1
  383. package/dist/internal/providers/builtin/openai-chatgpt.d.ts +12 -0
  384. package/dist/internal/providers/catalog-loader.d.ts +8 -0
  385. package/dist/internal/providers/catalog-schema.d.ts +55 -0
  386. package/dist/internal/providers/catalog-source-models-dev.d.ts +36 -0
  387. package/dist/internal/runtime/concurrency/delegation-depth.d.ts +27 -0
  388. package/dist/internal/runtime/concurrency/subagent-credentials.d.ts +33 -1
  389. package/dist/internal/runtime/context/context-discovery-runner.d.ts +44 -0
  390. package/dist/internal/runtime/context/context-discovery.d.ts +58 -0
  391. package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +70 -1
  392. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +15 -1
  393. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +15 -0
  394. package/dist/internal/runtime/registry/agent-registry-store.d.ts +12 -0
  395. package/dist/internal/runtime/registry/live-agent-registry.d.ts +37 -0
  396. package/dist/internal/scorers/llm-judge.d.ts +6 -1
  397. package/dist/internal/security/index.cjs +14 -13
  398. package/dist/internal/security/index.d.cts +4 -1
  399. package/dist/internal/security/index.d.ts +4 -1
  400. package/dist/internal/security/index.js +4 -3
  401. package/dist/internal/security/path-guard.d.cts +46 -0
  402. package/dist/internal/security/path-guard.d.ts +46 -0
  403. package/dist/internal/security/redact.d.cts +71 -0
  404. package/dist/internal/security/redact.d.ts +71 -0
  405. package/dist/internal/session/agent-session.d.ts +15 -4
  406. package/dist/internal/session/session-cache.d.ts +5 -0
  407. package/dist/internal/task/store.d.ts +91 -5
  408. package/dist/internal/telemetry/span-names.d.ts +0 -1
  409. package/dist/internal/telemetry/tracer.d.ts +14 -0
  410. package/dist/job-queue.d.ts +18 -0
  411. package/dist/judge-call-DWHAJATE.js +6 -0
  412. package/dist/{judge-call-MDIPTBJI.js.map → judge-call-DWHAJATE.js.map} +1 -1
  413. package/dist/judge-call-EGYRC2RE.cjs +23 -0
  414. package/dist/{judge-call-G5SGV2M2.cjs.map → judge-call-EGYRC2RE.cjs.map} +1 -1
  415. package/dist/mcp-auth.cjs +41 -25
  416. package/dist/mcp-auth.cjs.map +1 -1
  417. package/dist/mcp-auth.js +34 -18
  418. package/dist/mcp-auth.js.map +1 -1
  419. package/dist/models.cjs +42 -27
  420. package/dist/models.cjs.map +1 -1
  421. package/dist/models.js +25 -10
  422. package/dist/models.js.map +1 -1
  423. package/dist/oauth-transaction-store-BT4GLTLK.cjs +36 -0
  424. package/dist/{oauth-transaction-store-7CKHPQRN.cjs.map → oauth-transaction-store-BT4GLTLK.cjs.map} +1 -1
  425. package/dist/oauth-transaction-store-W52KVHQ4.js +3 -0
  426. package/dist/{oauth-transaction-store-W74I6EFD.js.map → oauth-transaction-store-W52KVHQ4.js.map} +1 -1
  427. package/dist/path-safety.cjs +11 -10
  428. package/dist/path-safety.js +4 -3
  429. package/dist/permission-engine.d.ts +55 -0
  430. package/dist/persistence.cjs +43 -42
  431. package/dist/persistence.cjs.map +1 -1
  432. package/dist/persistence.js +13 -12
  433. package/dist/persistence.js.map +1 -1
  434. package/dist/project.cjs +9 -8
  435. package/dist/project.cjs.map +1 -1
  436. package/dist/project.js +5 -4
  437. package/dist/project.js.map +1 -1
  438. package/dist/providers.cjs +23 -0
  439. package/dist/providers.cjs.map +1 -0
  440. package/dist/providers.d.cts +29 -0
  441. package/dist/providers.d.ts +29 -0
  442. package/dist/providers.js +10 -0
  443. package/dist/providers.js.map +1 -0
  444. package/dist/registry-VFKX7WOP.cjs +47 -0
  445. package/dist/{registry-63ASMXT4.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
  446. package/dist/registry-VFP3WWQP.js +10 -0
  447. package/dist/{registry-O7FJ2MPM.js.map → registry-VFP3WWQP.js.map} +1 -1
  448. package/dist/retry.cjs +5 -4
  449. package/dist/retry.js +4 -3
  450. package/dist/{run-C8FBAC8o.d.cts → run-BYSHf58D.d.cts} +185 -33
  451. package/dist/{run-C8FBAC8o.d.ts → run-BYSHf58D.d.ts} +185 -33
  452. package/dist/{run-to-completion-JDPIUKSH.js → run-to-completion-DRO77625.js} +3 -3
  453. package/dist/{run-to-completion-JDPIUKSH.js.map → run-to-completion-DRO77625.js.map} +1 -1
  454. package/dist/{run-to-completion-J73I6IY4.cjs → run-to-completion-X4OWM673.cjs} +13 -13
  455. package/dist/{run-to-completion-J73I6IY4.cjs.map → run-to-completion-X4OWM673.cjs.map} +1 -1
  456. package/dist/sandbox/bwrap.d.cts +27 -13
  457. package/dist/sandbox/bwrap.d.ts +27 -13
  458. package/dist/sandbox/index.cjs +20 -19
  459. package/dist/sandbox/index.cjs.map +1 -1
  460. package/dist/sandbox/index.js +5 -4
  461. package/dist/sandbox/index.js.map +1 -1
  462. package/dist/sandbox/linux-sandbox.d.cts +72 -0
  463. package/dist/sandbox/linux-sandbox.d.ts +72 -0
  464. package/dist/sandbox/local-sandbox.d.cts +41 -0
  465. package/dist/sandbox/local-sandbox.d.ts +41 -0
  466. package/dist/sandbox/seccomp.d.cts +6 -0
  467. package/dist/sandbox/seccomp.d.ts +6 -0
  468. package/dist/sandbox/types.d.cts +64 -0
  469. package/dist/sandbox/types.d.ts +64 -0
  470. package/dist/scorers.d.ts +38 -7
  471. package/dist/sdk-agent-D8qJVkuV.d.ts +860 -0
  472. package/dist/sdk-agent-DEoKhA8a.d.cts +860 -0
  473. package/dist/server/auth/errors.d.cts +1 -1
  474. package/dist/server/auth/errors.d.ts +1 -1
  475. package/dist/server/auth/index.cjs +29 -21
  476. package/dist/server/auth/index.cjs.map +1 -1
  477. package/dist/server/auth/index.d.cts +25 -15
  478. package/dist/server/auth/index.d.ts +25 -15
  479. package/dist/server/auth/index.js +15 -7
  480. package/dist/server/auth/index.js.map +1 -1
  481. package/dist/server/auth/oauth-transaction-store.d.cts +13 -1
  482. package/dist/server/auth/oauth-transaction-store.d.ts +13 -1
  483. package/dist/server/auth/orchestrator.d.cts +1 -1
  484. package/dist/server/auth/orchestrator.d.ts +1 -1
  485. package/dist/server/auth/types.d.cts +1 -1
  486. package/dist/server/auth/types.d.ts +1 -1
  487. package/dist/server/auth/validate-return-to.d.cts +21 -11
  488. package/dist/server/auth/validate-return-to.d.ts +21 -11
  489. package/dist/server/errors-envelope.cjs +15 -14
  490. package/dist/server/errors-envelope.cjs.map +1 -1
  491. package/dist/server/errors-envelope.d.cts +4 -4
  492. package/dist/server/errors-envelope.d.ts +4 -4
  493. package/dist/server/errors-envelope.js +4 -3
  494. package/dist/server/errors-envelope.js.map +1 -1
  495. package/dist/session-transcript-AKDYYGXQ.js +6 -0
  496. package/dist/{session-transcript-RAKEK76V.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
  497. package/dist/session-transcript-JXHFTB7G.cjs +51 -0
  498. package/dist/{session-transcript-DOM3UTXR.cjs.map → session-transcript-JXHFTB7G.cjs.map} +1 -1
  499. package/dist/skills.cjs +8 -7
  500. package/dist/skills.js +6 -5
  501. package/dist/stream-object-BUCF5PHO.cjs +21 -0
  502. package/dist/{stream-object-L3Q7PBMF.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
  503. package/dist/stream-object-L57K4OFS.js +8 -0
  504. package/dist/{stream-object-ZYXWS4B2.js.map → stream-object-L57K4OFS.js.map} +1 -1
  505. package/dist/{stream-to-completion-DFJ5T3BK.js → stream-to-completion-QV5HCL3J.js} +3 -3
  506. package/dist/{stream-to-completion-DFJ5T3BK.js.map → stream-to-completion-QV5HCL3J.js.map} +1 -1
  507. package/dist/{stream-to-completion-H2MHISSK.cjs → stream-to-completion-SRISU5AB.cjs} +10 -10
  508. package/dist/{stream-to-completion-H2MHISSK.cjs.map → stream-to-completion-SRISU5AB.cjs.map} +1 -1
  509. package/dist/subagents-loader-AZIXJ7D3.cjs +16 -0
  510. package/dist/{subagents-loader-VRW73QQT.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
  511. package/dist/subagents-loader-J54ESLDV.js +7 -0
  512. package/dist/{subagents-loader-I56GSKAQ.js.map → subagents-loader-J54ESLDV.js.map} +1 -1
  513. package/dist/subagents-loader.cjs +7 -6
  514. package/dist/subagents-loader.cjs.map +1 -1
  515. package/dist/subagents-loader.d.cts +3 -2
  516. package/dist/subagents-loader.d.ts +3 -2
  517. package/dist/subagents-loader.js +5 -4
  518. package/dist/subagents-loader.js.map +1 -1
  519. package/dist/subscription/define-subscription.d.cts +1 -1
  520. package/dist/subscription/define-subscription.d.ts +1 -1
  521. package/dist/subscription/index.cjs +22 -9
  522. package/dist/subscription/index.cjs.map +1 -1
  523. package/dist/subscription/index.d.cts +1 -1
  524. package/dist/subscription/index.d.ts +1 -1
  525. package/dist/subscription/index.js +21 -8
  526. package/dist/subscription/index.js.map +1 -1
  527. package/dist/subscription/internal/adapter-types.d.cts +1 -1
  528. package/dist/subscription/internal/adapter-types.d.ts +1 -1
  529. package/dist/subscription/internal/server-integration.d.cts +1 -1
  530. package/dist/subscription/internal/server-integration.d.ts +1 -1
  531. package/dist/subscription/internal/sse-encoder.d.cts +1 -1
  532. package/dist/subscription/internal/sse-encoder.d.ts +1 -1
  533. package/dist/subscription/internal/sse-parser.d.cts +1 -1
  534. package/dist/subscription/internal/sse-parser.d.ts +1 -1
  535. package/dist/subscription/internal/subscription-runtime.d.cts +1 -1
  536. package/dist/subscription/internal/subscription-runtime.d.ts +1 -1
  537. package/dist/subscription/internal/ws-adapter-node.d.cts +1 -1
  538. package/dist/subscription/internal/ws-adapter-node.d.ts +1 -1
  539. package/dist/subscription/theokit-subscribe.d.cts +14 -1
  540. package/dist/subscription/theokit-subscribe.d.ts +14 -1
  541. package/dist/subscription/types.d.cts +19 -1
  542. package/dist/subscription/types.d.ts +19 -1
  543. package/dist/task-store.cjs +8 -7
  544. package/dist/task-store.js +5 -4
  545. package/dist/types/agent-prims.d.ts +14 -0
  546. package/dist/types/agent.d.ts +92 -11
  547. package/dist/types/batch.d.ts +7 -1
  548. package/dist/types/conversation.d.ts +18 -5
  549. package/dist/types/goal-events.d.ts +4 -8
  550. package/dist/types/memory-adapter.d.ts +12 -1
  551. package/dist/types/plugin.d.ts +101 -0
  552. package/dist/types/provider-profile.d.ts +32 -0
  553. package/dist/types/run-events.d.ts +28 -1
  554. package/dist/types/run.d.ts +35 -23
  555. package/dist/types/sdk-agent.d.ts +14 -0
  556. package/dist/types/session-record.d.ts +18 -1
  557. package/dist/types/task.d.ts +15 -1
  558. package/dist/types/theokit.d.ts +10 -1
  559. package/dist/types/updates.d.ts +35 -4
  560. package/dist/types/workflow.d.ts +155 -0
  561. package/dist/workflow.cjs +29 -28
  562. package/dist/workflow.d.cts +666 -17
  563. package/dist/workflow.d.ts +666 -17
  564. package/dist/workflow.js +8 -7
  565. package/docs/error-codes.md +215 -0
  566. package/docs/harness-capability-map.md +1358 -0
  567. package/package.json +29 -16
  568. package/bin/init-claude.mjs +0 -68
  569. package/claude-template/AGENTS.md +0 -157
  570. package/claude-template/CLAUDE.md +0 -66
  571. package/claude-template/dot-claude/rules/theokit-conventions.md +0 -32
  572. package/claude-template/dot-claude/settings.json +0 -16
  573. package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +0 -209
  574. package/claude-template/dot-claude/skills/theokit-auth/SKILL.md +0 -102
  575. package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +0 -176
  576. package/claude-template/dot-claude/skills/theokit-client/SKILL.md +0 -58
  577. package/claude-template/dot-claude/skills/theokit-compaction/SKILL.md +0 -102
  578. package/claude-template/dot-claude/skills/theokit-concurrency/SKILL.md +0 -68
  579. package/claude-template/dot-claude/skills/theokit-config/SKILL.md +0 -139
  580. package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +0 -148
  581. package/claude-template/dot-claude/skills/theokit-di/SKILL.md +0 -233
  582. package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +0 -294
  583. package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +0 -172
  584. package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +0 -179
  585. package/claude-template/dot-claude/skills/theokit-filesystem/SKILL.md +0 -74
  586. package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +0 -209
  587. package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +0 -176
  588. package/claude-template/dot-claude/skills/theokit-messages/SKILL.md +0 -58
  589. package/claude-template/dot-claude/skills/theokit-models/SKILL.md +0 -79
  590. package/claude-template/dot-claude/skills/theokit-path-safety/SKILL.md +0 -60
  591. package/claude-template/dot-claude/skills/theokit-persistence/SKILL.md +0 -85
  592. package/claude-template/dot-claude/skills/theokit-project/SKILL.md +0 -55
  593. package/claude-template/dot-claude/skills/theokit-retry/SKILL.md +0 -50
  594. package/claude-template/dot-claude/skills/theokit-sandbox/SKILL.md +0 -93
  595. package/claude-template/dot-claude/skills/theokit-sanitize/SKILL.md +0 -66
  596. package/claude-template/dot-claude/skills/theokit-skills/SKILL.md +0 -68
  597. package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +0 -156
  598. package/claude-template/dot-claude/skills/theokit-subagents/SKILL.md +0 -109
  599. package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +0 -148
  600. package/claude-template/dot-claude/skills/theokit-task-store/SKILL.md +0 -75
  601. package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +0 -170
  602. package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +0 -218
  603. package/dist/agent-FFVV4U5N.js +0 -50
  604. package/dist/agent-YLAHVHEH.cjs +0 -59
  605. package/dist/agent-session-store-DUGBAX5V.cjs +0 -23
  606. package/dist/agent-session-store-TNCGL5RN.js +0 -6
  607. package/dist/batch-UPKN4SG6.js.map +0 -1
  608. package/dist/batch-ZEFN5SO7.cjs.map +0 -1
  609. package/dist/chunk-2D43RD5D.cjs.map +0 -1
  610. package/dist/chunk-2FYEVT2B.cjs.map +0 -1
  611. package/dist/chunk-2RW7K6FN.cjs.map +0 -1
  612. package/dist/chunk-2XLKLVVR.js.map +0 -1
  613. package/dist/chunk-34XOCZJO.js.map +0 -1
  614. package/dist/chunk-3V7UJLQT.js.map +0 -1
  615. package/dist/chunk-4NAKHID5.js.map +0 -1
  616. package/dist/chunk-4Q4K4WB5.js.map +0 -1
  617. package/dist/chunk-5F5NWKPN.js.map +0 -1
  618. package/dist/chunk-5NBUH3NO.js.map +0 -1
  619. package/dist/chunk-5YKNEMXR.cjs.map +0 -1
  620. package/dist/chunk-7W7ZWMLQ.js.map +0 -1
  621. package/dist/chunk-ADLLFY3H.cjs.map +0 -1
  622. package/dist/chunk-B4YA6BRS.cjs.map +0 -1
  623. package/dist/chunk-B6HOIWQ6.js.map +0 -1
  624. package/dist/chunk-BDTVFIPB.cjs.map +0 -1
  625. package/dist/chunk-BFYGJGC5.js.map +0 -1
  626. package/dist/chunk-BM6N4KHO.cjs.map +0 -1
  627. package/dist/chunk-CAH3G4IS.js.map +0 -1
  628. package/dist/chunk-EZ2YEF4F.cjs.map +0 -1
  629. package/dist/chunk-F77UENR6.cjs.map +0 -1
  630. package/dist/chunk-FOXKFTVZ.cjs.map +0 -1
  631. package/dist/chunk-G3JWXOGY.js.map +0 -1
  632. package/dist/chunk-GOVJO4YE.js.map +0 -1
  633. package/dist/chunk-HAWE74GQ.cjs.map +0 -1
  634. package/dist/chunk-HE4BIAOS.js.map +0 -1
  635. package/dist/chunk-HSQ5Q3I5.js.map +0 -1
  636. package/dist/chunk-JIQRXKTA.cjs.map +0 -1
  637. package/dist/chunk-KSWHTR54.js.map +0 -1
  638. package/dist/chunk-L5YO6PWL.cjs.map +0 -1
  639. package/dist/chunk-LD4MOBFX.js.map +0 -1
  640. package/dist/chunk-LS3LMQ23.js.map +0 -1
  641. package/dist/chunk-MSFLYJDY.js.map +0 -1
  642. package/dist/chunk-NZL4BNFQ.js.map +0 -1
  643. package/dist/chunk-OKLYRPKL.cjs.map +0 -1
  644. package/dist/chunk-OUOXM36O.cjs.map +0 -1
  645. package/dist/chunk-OXNYIMZZ.js.map +0 -1
  646. package/dist/chunk-PBZ7HMBP.js.map +0 -1
  647. package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
  648. package/dist/chunk-Q4RESANI.cjs.map +0 -1
  649. package/dist/chunk-QBTVATSF.cjs.map +0 -1
  650. package/dist/chunk-RAHSWE5C.cjs.map +0 -1
  651. package/dist/chunk-RP5HQVLD.js.map +0 -1
  652. package/dist/chunk-SEL2ZQMT.js.map +0 -1
  653. package/dist/chunk-SK4QLUBK.js.map +0 -1
  654. package/dist/chunk-TTJ54H3E.cjs.map +0 -1
  655. package/dist/chunk-V26QVGUG.js.map +0 -1
  656. package/dist/chunk-V6HWJQQV.js.map +0 -1
  657. package/dist/chunk-VGPXHHF3.cjs.map +0 -1
  658. package/dist/chunk-VUKQL3L2.cjs.map +0 -1
  659. package/dist/chunk-VYCKUKPA.cjs.map +0 -1
  660. package/dist/chunk-VYHJZVL5.cjs.map +0 -1
  661. package/dist/chunk-X2FR4OIT.js.map +0 -1
  662. package/dist/chunk-XPR366DL.cjs.map +0 -1
  663. package/dist/chunk-XROIW6BH.js.map +0 -1
  664. package/dist/chunk-YLQQX5W2.cjs.map +0 -1
  665. package/dist/chunk-ZT57WTUJ.cjs.map +0 -1
  666. package/dist/compact-session-4MNKNMO2.js +0 -21
  667. package/dist/compact-session-EPFBQ46Z.cjs +0 -58
  668. package/dist/context-7USNN6LP.cjs +0 -22
  669. package/dist/context-ENXZNF6J.js +0 -5
  670. package/dist/cron-BMjgFH-_.d.ts +0 -631
  671. package/dist/cron-DFDdCdMM.d.cts +0 -631
  672. package/dist/executor-2Z3LGG3I.cjs.map +0 -1
  673. package/dist/executor-2Z6XJJJG.js.map +0 -1
  674. package/dist/fs-session-store-R5FD3EN6.js +0 -10
  675. package/dist/fs-session-store-VVY2AHWG.cjs +0 -19
  676. package/dist/generate-object-AVXOJK2I.cjs +0 -20
  677. package/dist/generate-object-WQRCXFD2.js +0 -7
  678. package/dist/index-manager-VRU3A2YL.cjs +0 -21
  679. package/dist/index-manager-WS7TVKUW.js +0 -12
  680. package/dist/inject-session-AUQLBDRS.cjs +0 -28
  681. package/dist/inject-session-AUQLBDRS.cjs.map +0 -1
  682. package/dist/inject-session-GMBMJVNZ.js.map +0 -1
  683. package/dist/judge-call-G5SGV2M2.cjs +0 -22
  684. package/dist/judge-call-MDIPTBJI.js +0 -5
  685. package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
  686. package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
  687. package/dist/registry-63ASMXT4.cjs +0 -46
  688. package/dist/registry-O7FJ2MPM.js +0 -9
  689. package/dist/session-transcript-DOM3UTXR.cjs +0 -50
  690. package/dist/session-transcript-RAKEK76V.js +0 -5
  691. package/dist/stream-object-L3Q7PBMF.cjs +0 -20
  692. package/dist/stream-object-ZYXWS4B2.js +0 -7
  693. package/dist/subagents-loader-I56GSKAQ.js +0 -6
  694. package/dist/subagents-loader-VRW73QQT.cjs +0 -15
@@ -1,3 +1,37 @@
1
+ /**
2
+ * The OAuth tokens held for one MCP server. See ADR D41.
3
+ *
4
+ * Persisted per server name by `setTokens` and returned unchanged by `getTokens`. Where it lands
5
+ * depends on what is installed: `keytar` puts the serialized bundle in the OS keychain, and
6
+ * without it the bundle is written to a JSON file at mode 0600 inside a 0700 directory — in
7
+ * PLAINTEXT, keyed by server name alongside every other server's tokens. Nothing here encrypts it.
8
+ *
9
+ * `refreshToken` is the field that matters most and the field that is optional. When present it
10
+ * outlives `accessToken` and can mint new ones, so a leaked store is a persistent compromise of
11
+ * the account rather than a temporary one. When absent, an expired access token means re-running
12
+ * the authorization flow.
13
+ *
14
+ * `expiresAt` and `obtainedAt` are both epoch milliseconds and both describe the ACCESS token —
15
+ * when it stops working, and when this bundle was issued. Nothing records when the refresh token
16
+ * expires, so a refresh rejected because the grant itself lapsed is only discovered at the token
17
+ * endpoint.
18
+ *
19
+ * The value is not validated on read: whatever JSON was stored is cast to this shape, so a
20
+ * hand-edited or truncated store yields an object whose fields may be missing rather than an
21
+ * error.
22
+ *
23
+ * `scope` records what the token was granted, as the server returned it. It is stored for
24
+ * inspection; nothing in this module enforces it.
25
+ *
26
+ * @public — re-exported from `@theokit/sdk/mcp-auth`, and therefore under semver.
27
+ */
28
+ export interface OAuthTokens {
29
+ accessToken: string;
30
+ refreshToken?: string;
31
+ expiresAt: number;
32
+ scope?: string;
33
+ obtainedAt: number;
34
+ }
1
35
  /**
2
36
  * Persist tokens for `serverName`. Tries keychain first, falls back to file
3
37
  * with chmod 600 (POSIX). Idempotent.
@@ -1,29 +1,30 @@
1
1
  'use strict';
2
2
 
3
- var chunkRAHSWE5C_cjs = require('../../../chunk-RAHSWE5C.cjs');
4
- require('../../../chunk-SVO5WPZX.cjs');
5
- var chunk2RW7K6FN_cjs = require('../../../chunk-2RW7K6FN.cjs');
3
+ var chunkEI2Q7SJ5_cjs = require('../../../chunk-EI2Q7SJ5.cjs');
4
+ var chunkGHX4P3V2_cjs = require('../../../chunk-GHX4P3V2.cjs');
5
+ require('../../../chunk-DQKERTND.cjs');
6
6
  require('../../../chunk-MUUQ2WFJ.cjs');
7
- require('../../../chunk-WQ53UQL4.cjs');
8
- require('../../../chunk-C5DEO6OI.cjs');
9
- require('../../../chunk-ZT57WTUJ.cjs');
7
+ require('../../../chunk-R3UPQFKK.cjs');
10
8
  require('../../../chunk-VKJ7V7EB.cjs');
11
- require('../../../chunk-LPVIRJVF.cjs');
12
- require('../../../chunk-BM6N4KHO.cjs');
9
+ require('../../../chunk-ILCGLTSA.cjs');
10
+ require('../../../chunk-CQGYNZ3K.cjs');
11
+ require('../../../chunk-K3FW2XZD.cjs');
12
+ require('../../../chunk-JTB5Q42C.cjs');
13
+ require('../../../chunk-NUKRL3I6.cjs');
13
14
 
14
15
 
15
16
 
16
17
  Object.defineProperty(exports, "createOpenAiCompatibleRuntime", {
17
18
  enumerable: true,
18
- get: function () { return chunkRAHSWE5C_cjs.createOpenAiCompatibleRuntime; }
19
+ get: function () { return chunkEI2Q7SJ5_cjs.createOpenAiCompatibleRuntime; }
19
20
  });
20
21
  Object.defineProperty(exports, "LruEmbeddingCache", {
21
22
  enumerable: true,
22
- get: function () { return chunk2RW7K6FN_cjs.LruEmbeddingCache; }
23
+ get: function () { return chunkGHX4P3V2_cjs.LruEmbeddingCache; }
23
24
  });
24
25
  Object.defineProperty(exports, "globalEmbeddingCache", {
25
26
  enumerable: true,
26
- get: function () { return chunk2RW7K6FN_cjs.globalEmbeddingCache; }
27
+ get: function () { return chunkGHX4P3V2_cjs.globalEmbeddingCache; }
27
28
  });
28
29
  //# sourceMappingURL=index.cjs.map
29
30
  //# sourceMappingURL=index.cjs.map
@@ -11,6 +11,8 @@
11
11
  * `internal/persistence` and `internal/security` sub-paths that exist for the same reason: extracted
12
12
  * packages need primitives that are not part of the stable public contract.
13
13
  *
14
- * @internal — semver-exempt. Not part of the stable `@theokit/sdk` API.
14
+ * Semver-exempt: NOT part of the stable `@theokit/sdk` API. The sub-path IS declared in
15
+ * `package.json` `exports`, so the names below must survive into the published declarations.
15
16
  */
17
+ export { globalEmbeddingCache, LruEmbeddingCache } from "../embedding-cache.js";
16
18
  export { createOpenAiCompatibleRuntime, type EmbeddingDialect, type OpenAiCompatibleConfig, } from "./openai-compatible.js";
@@ -11,6 +11,8 @@
11
11
  * `internal/persistence` and `internal/security` sub-paths that exist for the same reason: extracted
12
12
  * packages need primitives that are not part of the stable public contract.
13
13
  *
14
- * @internal — semver-exempt. Not part of the stable `@theokit/sdk` API.
14
+ * Semver-exempt: NOT part of the stable `@theokit/sdk` API. The sub-path IS declared in
15
+ * `package.json` `exports`, so the names below must survive into the published declarations.
15
16
  */
17
+ export { globalEmbeddingCache, LruEmbeddingCache } from "../embedding-cache.js";
16
18
  export { createOpenAiCompatibleRuntime, type EmbeddingDialect, type OpenAiCompatibleConfig, } from "./openai-compatible.js";
@@ -1,12 +1,13 @@
1
- export { createOpenAiCompatibleRuntime } from '../../../chunk-KSWHTR54.js';
2
- import '../../../chunk-FFM3SJTQ.js';
3
- export { LruEmbeddingCache, globalEmbeddingCache } from '../../../chunk-OXNYIMZZ.js';
1
+ export { createOpenAiCompatibleRuntime } from '../../../chunk-XN7NOENA.js';
2
+ export { LruEmbeddingCache, globalEmbeddingCache } from '../../../chunk-H73MEMQB.js';
3
+ import '../../../chunk-5JLFFPCH.js';
4
4
  import '../../../chunk-FD2UT76F.js';
5
- import '../../../chunk-3WVMJY7F.js';
6
- import '../../../chunk-R5YZACGK.js';
7
- import '../../../chunk-SK4QLUBK.js';
5
+ import '../../../chunk-QARJGQSA.js';
8
6
  import '../../../chunk-RIAM53CP.js';
9
- import '../../../chunk-U4UJHOSH.js';
10
- import '../../../chunk-5F5NWKPN.js';
7
+ import '../../../chunk-UC3HT2S4.js';
8
+ import '../../../chunk-OC4NTGMN.js';
9
+ import '../../../chunk-IDCKSLYH.js';
10
+ import '../../../chunk-T7XEKOVW.js';
11
+ import '../../../chunk-T7O6K6PX.js';
11
12
  //# sourceMappingURL=index.js.map
12
13
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,18 @@
1
1
  import type { CreateAdapterOptions, EmbeddingRuntime } from "../embedding-adapter.js";
2
+ /**
3
+ * What one provider adapter tells {@link createOpenAiCompatibleRuntime} about
4
+ * its wire: where to POST, which environment variables carry the key and the
5
+ * base URL, which model to use by default, and how wide each model's vectors
6
+ * are.
7
+ *
8
+ * `id` is the provider id that ends up on errors and on
9
+ * `EmbeddingRuntime.id`, and is also the identity the SQLite vector index stores
10
+ * — changing it invalidates the vectors already on disk.
11
+ *
12
+ * `apiKeyEnv` is required, `baseUrlEnv` is not: a provider that declares no
13
+ * base-URL variable can only be redirected by passing `baseUrl` explicitly.
14
+ * Leave `dialect` unset for anything that speaks the OpenAI embedding wire.
15
+ */
2
16
  export interface OpenAiCompatibleConfig {
3
17
  id: string;
4
18
  defaultBaseUrl: string;
@@ -48,4 +62,35 @@ export interface EmbeddingDialect {
48
62
  /** Replaces reading vectors from `json.data[].embedding`. Return `undefined` when unparseable. */
49
63
  vectors?: (json: unknown) => number[][] | undefined;
50
64
  }
65
+ /**
66
+ * Build an {@link EmbeddingRuntime} for a provider that speaks the OpenAI
67
+ * embedding wire — or, through `cfg.dialect`, one that deviates from it in a
68
+ * known way. Every adapter in the memory catalog is a thin call to this.
69
+ *
70
+ * Resolution order for each setting is explicit option, then environment
71
+ * variable, then the config default. Two things are checked before any request
72
+ * is sent, so a misconfiguration fails at creation rather than at first search:
73
+ * a missing or empty key rejects with an `AuthenticationError` carrying
74
+ * `embedding_missing_api_key`, and a model absent from `dimensionByModel`
75
+ * rejects with a `ConfigurationError` carrying `embedding_unknown_model`. The
76
+ * second check exists because the vector index is created at a fixed width — an
77
+ * unknown dimension would surface much later as a vec0 mismatch.
78
+ *
79
+ * `{model}` in `embeddingsPath` is replaced with the URL-encoded model, which is
80
+ * how Azure addresses a deployment in the path. `embeddingsPath` replaces the
81
+ * default `/v1/embeddings` rather than being appended to it.
82
+ *
83
+ * The returned `embed` batches at 100 texts per request and runs at most 3
84
+ * requests concurrently, preserving input order. Whitespace-only inputs never
85
+ * reach the network and come back as an all-zero vector. Results are cached by
86
+ * model and text; the cache defaults to a process-wide LRU of 5000 entries, so
87
+ * pass `options.cache` when runtimes must not share entries.
88
+ *
89
+ * Failed requests retry up to twice on 429 and 5xx with a 50ms-per-attempt
90
+ * linear backoff. Anything else, and a retry budget that runs out, throws the
91
+ * typed error the OpenAI-compatible mapper builds from the status and body. A
92
+ * response that parses but carries no vectors throws a `NetworkError` with
93
+ * `embedding_invalid_response`. There is no request timeout here — cancellation
94
+ * is the caller's to impose.
95
+ */
51
96
  export declare function createOpenAiCompatibleRuntime(cfg: OpenAiCompatibleConfig, options: CreateAdapterOptions): Promise<EmbeddingRuntime>;
@@ -1,4 +1,18 @@
1
1
  import type { CreateAdapterOptions, EmbeddingRuntime } from "../embedding-adapter.js";
2
+ /**
3
+ * What one provider adapter tells {@link createOpenAiCompatibleRuntime} about
4
+ * its wire: where to POST, which environment variables carry the key and the
5
+ * base URL, which model to use by default, and how wide each model's vectors
6
+ * are.
7
+ *
8
+ * `id` is the provider id that ends up on errors and on
9
+ * `EmbeddingRuntime.id`, and is also the identity the SQLite vector index stores
10
+ * — changing it invalidates the vectors already on disk.
11
+ *
12
+ * `apiKeyEnv` is required, `baseUrlEnv` is not: a provider that declares no
13
+ * base-URL variable can only be redirected by passing `baseUrl` explicitly.
14
+ * Leave `dialect` unset for anything that speaks the OpenAI embedding wire.
15
+ */
2
16
  export interface OpenAiCompatibleConfig {
3
17
  id: string;
4
18
  defaultBaseUrl: string;
@@ -48,4 +62,35 @@ export interface EmbeddingDialect {
48
62
  /** Replaces reading vectors from `json.data[].embedding`. Return `undefined` when unparseable. */
49
63
  vectors?: (json: unknown) => number[][] | undefined;
50
64
  }
65
+ /**
66
+ * Build an {@link EmbeddingRuntime} for a provider that speaks the OpenAI
67
+ * embedding wire — or, through `cfg.dialect`, one that deviates from it in a
68
+ * known way. Every adapter in the memory catalog is a thin call to this.
69
+ *
70
+ * Resolution order for each setting is explicit option, then environment
71
+ * variable, then the config default. Two things are checked before any request
72
+ * is sent, so a misconfiguration fails at creation rather than at first search:
73
+ * a missing or empty key rejects with an `AuthenticationError` carrying
74
+ * `embedding_missing_api_key`, and a model absent from `dimensionByModel`
75
+ * rejects with a `ConfigurationError` carrying `embedding_unknown_model`. The
76
+ * second check exists because the vector index is created at a fixed width — an
77
+ * unknown dimension would surface much later as a vec0 mismatch.
78
+ *
79
+ * `{model}` in `embeddingsPath` is replaced with the URL-encoded model, which is
80
+ * how Azure addresses a deployment in the path. `embeddingsPath` replaces the
81
+ * default `/v1/embeddings` rather than being appended to it.
82
+ *
83
+ * The returned `embed` batches at 100 texts per request and runs at most 3
84
+ * requests concurrently, preserving input order. Whitespace-only inputs never
85
+ * reach the network and come back as an all-zero vector. Results are cached by
86
+ * model and text; the cache defaults to a process-wide LRU of 5000 entries, so
87
+ * pass `options.cache` when runtimes must not share entries.
88
+ *
89
+ * Failed requests retry up to twice on 429 and 5xx with a 50ms-per-attempt
90
+ * linear backoff. Anything else, and a retry budget that runs out, throws the
91
+ * typed error the OpenAI-compatible mapper builds from the status and body. A
92
+ * response that parses but carries no vectors throws a `NetworkError` with
93
+ * `embedding_invalid_response`. There is no request timeout here — cancellation
94
+ * is the caller's to impose.
95
+ */
51
96
  export declare function createOpenAiCompatibleRuntime(cfg: OpenAiCompatibleConfig, options: CreateAdapterOptions): Promise<EmbeddingRuntime>;
@@ -1 +1,42 @@
1
- export {};
1
+ import type { EmbeddingCache } from "./embedding-adapter.js";
2
+ /**
3
+ * Bounded in-memory LRU cache for embeddings, keyed by `sha256(text)` (or any
4
+ * stable key the caller chooses).
5
+ *
6
+ * Recency is tracked by Map insertion order: `get` re-inserts the hit so it becomes the newest,
7
+ * and `set` evicts the oldest key once `capacity` (default 5000) is reached. Nothing here bounds
8
+ * the size of a single VALUE, so capacity is a count of vectors, not a memory budget.
9
+ *
10
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/memory-adapters` sub-path, which the
11
+ * package declares in `exports` but does NOT cover with its semver contract.
12
+ */
13
+ export declare class LruEmbeddingCache implements EmbeddingCache {
14
+ private readonly capacity;
15
+ private readonly map;
16
+ constructor(capacity?: number);
17
+ get(key: string): number[] | undefined;
18
+ set(key: string, value: number[]): void;
19
+ size(): number;
20
+ }
21
+ /**
22
+ * T4.4 — Process-wide singleton embedding cache (DR4 finding #4).
23
+ *
24
+ * Pre-T4.4 each adapter / index-manager constructed its own
25
+ * `LruEmbeddingCache` — a consumer with 3 Memory.openIndex calls
26
+ * got 3 independent caches with no cross-index deduplication. The
27
+ * same text embedded identically across indexes re-computed the
28
+ * embedding each time.
29
+ *
30
+ * The singleton shares the cache process-wide so hit rate goes up
31
+ * dramatically. The LRU eviction (default 5000 entries) bounds
32
+ * memory usage even with the shared surface.
33
+ *
34
+ * Consumers who need isolation (e.g., multi-tenant with different
35
+ * embedding models) should construct their own `LruEmbeddingCache`
36
+ * and pass it explicitly — the singleton is the DEFAULT, not the
37
+ * only option.
38
+ *
39
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/memory-adapters` sub-path, which the
40
+ * package declares in `exports` but does NOT cover with its semver contract.
41
+ */
42
+ export declare const globalEmbeddingCache: EmbeddingCache;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Escapes a user query for a SQL `LIKE ... ESCAPE '\'` clause.
3
+ *
4
+ * The order of the three replacements is the whole correctness argument, so it is its own
5
+ * function rather than a chain inline at the call site.
6
+ *
7
+ * The previous version escaped `%` and `_` but not the escape character itself, which is the
8
+ * defect CodeQL reports as `js/incomplete-sanitization` (alerts #14, #15). Two things went wrong,
9
+ * and the second is the one that matters:
10
+ *
11
+ * "back\slash" -> "%back\slash%" the `\s` is an escape of `s`, which LIKE does not define
12
+ * "x\%y" -> "%x\\%y%" the inserted `\` is consumed escaping the user's `\`,
13
+ * leaving `%` UNESCAPED — a wildcard the caller did not
14
+ * write, matching anything between `x\` and `y`
15
+ *
16
+ * The second is wildcard injection: a search for a literal string silently becomes a scan. In a
17
+ * memory index that is both a wrong answer and a way to pull back rows the query never asked for.
18
+ *
19
+ * Escaping the backslash FIRST is what fixes it — afterwards every `\` in the string is one this
20
+ * function put there, so the later replacements cannot collide with a user-supplied one.
21
+ */
22
+ export declare function escapeLikePattern(query: string): string;
@@ -1,3 +1 @@
1
- import type { MemoryDb } from "./index-db.js";
2
- /** Check whether sqlite-vec is loaded by running a tiny version query. */
3
- export declare function isSqliteVecLoaded(db: MemoryDb): boolean;
1
+ export {};
@@ -6,11 +6,6 @@ export declare function notesDir(cwd: string): string;
6
6
  export declare function readFactsFromMarkdown(cwd: string): Promise<MemoryFact[]>;
7
7
  /** Append a fact to `MEMORY.md ## Facts`. Creates the section if missing. Atomic + serialized. */
8
8
  export declare function appendFactToMarkdown(cwd: string, fact: MemoryFact): Promise<void>;
9
- export interface NoteFile {
10
- slug: string;
11
- path: string;
12
- }
13
- export declare function listNotes(cwd: string): Promise<NoteFile[]>;
14
9
  /** Configuration-aware accessors honoring the existing MemoryConfig contract. */
15
10
  export declare function readFacts(cwd: string, config: MemoryConfig): Promise<MemoryFact[]>;
16
11
  export declare function appendFact(cwd: string, config: MemoryConfig, fact: MemoryFact): Promise<void>;
@@ -1 +1,35 @@
1
+ /**
2
+ * Run `fn` after every earlier `withCwdMutex` call for the same `key` has settled, and return
3
+ * what `fn` returns.
4
+ *
5
+ * Calls with the same key run strictly in the order they were made — FIFO, never concurrent.
6
+ * Calls with different keys never wait on each other. The key is an opaque string: two callers
7
+ * serialize against each other exactly when they pass equal keys, so a shared key IS the
8
+ * contract, and a mismatched one silently buys no protection at all.
9
+ *
10
+ * A rejection does not poison the queue. The next waiter runs whether the previous `fn` fulfilled
11
+ * or rejected, and the rejection is delivered only to the caller whose `fn` threw. This function
12
+ * neither retries nor swallows: the returned promise rejects with whatever `fn` rejected with.
13
+ *
14
+ * There is no timeout and no cancellation. An `fn` that never settles blocks that key for the
15
+ * lifetime of the process.
16
+ *
17
+ * **Scope — this is an in-process lock only.** State is a module-scoped Map, so it serializes
18
+ * callers that share one module instance and nothing else. Two processes, two worker threads, or
19
+ * two copies of the SDK resolved into the same tree do not see each other's queue. When the
20
+ * resource is a file that other processes can also write, use `withFileLock` from
21
+ * `./file-lock.ts` instead — it takes an OS-level lock and layers this mutex underneath, so it
22
+ * gives both guarantees. Reach for `withCwdMutex` directly when the shared state is in memory, or
23
+ * when the file is one only this process touches.
24
+ *
25
+ * Extracted packages (`@theokit/sdk-budget`, `@theokit/sdk-memory`) import this from
26
+ * `@theokit/sdk` rather than reimplementing it, precisely so the Map is the same one: a per-package
27
+ * copy would give each package its own queue and let their writes race.
28
+ *
29
+ * The Map is module-scoped, so nothing survives a process restart or a fresh module instance, and
30
+ * its entries are never removed — pass keys from a bounded set rather than from arbitrary input.
31
+ * Signature and semantics will not change before sdk-core v3.0.
32
+ *
33
+ * @public
34
+ */
1
35
  export declare function withCwdMutex<T>(key: string, fn: () => Promise<T>): Promise<T>;
@@ -1 +1,35 @@
1
+ /**
2
+ * Run `fn` after every earlier `withCwdMutex` call for the same `key` has settled, and return
3
+ * what `fn` returns.
4
+ *
5
+ * Calls with the same key run strictly in the order they were made — FIFO, never concurrent.
6
+ * Calls with different keys never wait on each other. The key is an opaque string: two callers
7
+ * serialize against each other exactly when they pass equal keys, so a shared key IS the
8
+ * contract, and a mismatched one silently buys no protection at all.
9
+ *
10
+ * A rejection does not poison the queue. The next waiter runs whether the previous `fn` fulfilled
11
+ * or rejected, and the rejection is delivered only to the caller whose `fn` threw. This function
12
+ * neither retries nor swallows: the returned promise rejects with whatever `fn` rejected with.
13
+ *
14
+ * There is no timeout and no cancellation. An `fn` that never settles blocks that key for the
15
+ * lifetime of the process.
16
+ *
17
+ * **Scope — this is an in-process lock only.** State is a module-scoped Map, so it serializes
18
+ * callers that share one module instance and nothing else. Two processes, two worker threads, or
19
+ * two copies of the SDK resolved into the same tree do not see each other's queue. When the
20
+ * resource is a file that other processes can also write, use `withFileLock` from
21
+ * `./file-lock.ts` instead — it takes an OS-level lock and layers this mutex underneath, so it
22
+ * gives both guarantees. Reach for `withCwdMutex` directly when the shared state is in memory, or
23
+ * when the file is one only this process touches.
24
+ *
25
+ * Extracted packages (`@theokit/sdk-budget`, `@theokit/sdk-memory`) import this from
26
+ * `@theokit/sdk` rather than reimplementing it, precisely so the Map is the same one: a per-package
27
+ * copy would give each package its own queue and let their writes race.
28
+ *
29
+ * The Map is module-scoped, so nothing survives a process restart or a fresh module instance, and
30
+ * its entries are never removed — pass keys from a bounded set rather than from arbitrary input.
31
+ * Signature and semantics will not change before sdk-core v3.0.
32
+ *
33
+ * @public
34
+ */
1
35
  export declare function withCwdMutex<T>(key: string, fn: () => Promise<T>): Promise<T>;
@@ -20,3 +20,34 @@ export interface CreateExclusiveOptions {
20
20
  /** Unix mode for the new file (default 0o600 — owner-only). */
21
21
  mode?: number;
22
22
  }
23
+ /**
24
+ * Create `path` holding `data`, but only if it does not exist yet. Returns `true` when this call
25
+ * created it, `false` when it was already there.
26
+ *
27
+ * The check and the create are one `open(path, "wx")` syscall, so of N processes racing to create
28
+ * the same path exactly one gets `true` — no window between testing and writing. The content is
29
+ * written after the create, so the `false` branch tells you the file exists, not that another
30
+ * writer has finished filling it.
31
+ *
32
+ * Only `EEXIST` becomes `false`. Every other error propagates: a missing parent directory is
33
+ * `ENOENT`, an unwritable one `EACCES`. This never creates directories.
34
+ *
35
+ * The file is created with mode 0600 unless `options.mode` says otherwise, and the mode is
36
+ * subject to the process umask. That default is deliberate — the callers are token files,
37
+ * lockfiles and PID files, and 0644 under a typical umask would make them world-readable.
38
+ *
39
+ * **Choosing between this and the locks.** `createExclusive` claims a NAME once and is the right
40
+ * tool for first-writer-wins: seeding a config, electing a single owner, writing a credential
41
+ * exactly once. It cannot guard repeated updates, because a file that already exists always loses.
42
+ * For read-modify-write on a path several writers touch, take a lock instead —
43
+ * {@link withFileLock} across processes, `withCwdMutex` when the writers are all in this one. For
44
+ * an in-place update guarded by a version column in SQLite, `casUpdate` is the equivalent
45
+ * primitive.
46
+ *
47
+ * Atomicity is the filesystem's `O_EXCL`, which NFS does not reliably honor; the SDK targets
48
+ * ext4, APFS and NTFS.
49
+ *
50
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/persistence` sub-path, which the package
51
+ * declares in `exports` but does NOT cover with its semver contract.
52
+ */
53
+ export declare function createExclusive(path: string, data: string | Uint8Array, options?: CreateExclusiveOptions): Promise<boolean>;
@@ -20,3 +20,34 @@ export interface CreateExclusiveOptions {
20
20
  /** Unix mode for the new file (default 0o600 — owner-only). */
21
21
  mode?: number;
22
22
  }
23
+ /**
24
+ * Create `path` holding `data`, but only if it does not exist yet. Returns `true` when this call
25
+ * created it, `false` when it was already there.
26
+ *
27
+ * The check and the create are one `open(path, "wx")` syscall, so of N processes racing to create
28
+ * the same path exactly one gets `true` — no window between testing and writing. The content is
29
+ * written after the create, so the `false` branch tells you the file exists, not that another
30
+ * writer has finished filling it.
31
+ *
32
+ * Only `EEXIST` becomes `false`. Every other error propagates: a missing parent directory is
33
+ * `ENOENT`, an unwritable one `EACCES`. This never creates directories.
34
+ *
35
+ * The file is created with mode 0600 unless `options.mode` says otherwise, and the mode is
36
+ * subject to the process umask. That default is deliberate — the callers are token files,
37
+ * lockfiles and PID files, and 0644 under a typical umask would make them world-readable.
38
+ *
39
+ * **Choosing between this and the locks.** `createExclusive` claims a NAME once and is the right
40
+ * tool for first-writer-wins: seeding a config, electing a single owner, writing a credential
41
+ * exactly once. It cannot guard repeated updates, because a file that already exists always loses.
42
+ * For read-modify-write on a path several writers touch, take a lock instead —
43
+ * {@link withFileLock} across processes, `withCwdMutex` when the writers are all in this one. For
44
+ * an in-place update guarded by a version column in SQLite, `casUpdate` is the equivalent
45
+ * primitive.
46
+ *
47
+ * Atomicity is the filesystem's `O_EXCL`, which NFS does not reliably honor; the SDK targets
48
+ * ext4, APFS and NTFS.
49
+ *
50
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/persistence` sub-path, which the package
51
+ * declares in `exports` but does NOT cover with its semver contract.
52
+ */
53
+ export declare function createExclusive(path: string, data: string | Uint8Array, options?: CreateExclusiveOptions): Promise<boolean>;
@@ -11,6 +11,34 @@
11
11
  *
12
12
  * @internal
13
13
  */
14
+ /**
15
+ * Retry and staleness tuning for `withFileLock`.
16
+ *
17
+ * Every field is optional and the defaults are applied per call, so `undefined` means the default
18
+ * rather than "no limit". They are handed to `proper-lockfile` and have NO effect on the fallback
19
+ * path: when that package is absent, `withFileLock` degrades to the in-process mutex, which
20
+ * queues indefinitely and never goes stale.
21
+ *
22
+ * `stale` (default 30000 ms) is how old a lock file must be before it is treated as abandoned by a
23
+ * dead process and broken. Setting it below the longest a legitimate holder can run is what turns
24
+ * a slow operation into two concurrent ones.
25
+ *
26
+ * `retries` (default 5) is the number of acquisition attempts AFTER the first, and `retryFactor`
27
+ * (default 1.5) the backoff multiplier between them. The per-attempt wait is clamped to
28
+ * 100–5000 ms, which the caller cannot change. Exhausting the retries rejects — it does not fall
29
+ * through to running `fn` unlocked.
30
+ *
31
+ * @public — re-exported from the semver-protected `@theokit/sdk/persistence` barrel, and (for
32
+ * back-compat) from the semver-exempt `@theokit/sdk/internal/persistence` alias.
33
+ */
34
+ export interface FileLockOptions {
35
+ /** Stale lock timeout in ms. Default 30_000 (30s). */
36
+ stale?: number;
37
+ /** Max retries on busy lock. Default 5. */
38
+ retries?: number;
39
+ /** Backoff factor between retries. Default 1.5. */
40
+ retryFactor?: number;
41
+ }
14
42
  /**
15
43
  * Run `fn` while holding an OS-level cross-process lock on `path`.
16
44
  *
@@ -11,6 +11,34 @@
11
11
  *
12
12
  * @internal
13
13
  */
14
+ /**
15
+ * Retry and staleness tuning for `withFileLock`.
16
+ *
17
+ * Every field is optional and the defaults are applied per call, so `undefined` means the default
18
+ * rather than "no limit". They are handed to `proper-lockfile` and have NO effect on the fallback
19
+ * path: when that package is absent, `withFileLock` degrades to the in-process mutex, which
20
+ * queues indefinitely and never goes stale.
21
+ *
22
+ * `stale` (default 30000 ms) is how old a lock file must be before it is treated as abandoned by a
23
+ * dead process and broken. Setting it below the longest a legitimate holder can run is what turns
24
+ * a slow operation into two concurrent ones.
25
+ *
26
+ * `retries` (default 5) is the number of acquisition attempts AFTER the first, and `retryFactor`
27
+ * (default 1.5) the backoff multiplier between them. The per-attempt wait is clamped to
28
+ * 100–5000 ms, which the caller cannot change. Exhausting the retries rejects — it does not fall
29
+ * through to running `fn` unlocked.
30
+ *
31
+ * @public — re-exported from the semver-protected `@theokit/sdk/persistence` barrel, and (for
32
+ * back-compat) from the semver-exempt `@theokit/sdk/internal/persistence` alias.
33
+ */
34
+ export interface FileLockOptions {
35
+ /** Stale lock timeout in ms. Default 30_000 (30s). */
36
+ stale?: number;
37
+ /** Max retries on busy lock. Default 5. */
38
+ retries?: number;
39
+ /** Backoff factor between retries. Default 1.5. */
40
+ retryFactor?: number;
41
+ }
14
42
  /**
15
43
  * Run `fn` while holding an OS-level cross-process lock on `path`.
16
44
  *
@@ -26,6 +26,9 @@ export interface FsSessionStoreOptions {
26
26
  /** The workspace cwd whose encoded form is the transcript project dir. */
27
27
  cwd: string;
28
28
  }
29
+ /**
30
+ * The default `SessionStore` — reads/append-writes the native `.jsonl` transcript.
31
+ */
29
32
  export declare class FsSessionStore implements SessionStore {
30
33
  #private;
31
34
  constructor(options: FsSessionStoreOptions);
@@ -26,6 +26,9 @@ export interface FsSessionStoreOptions {
26
26
  /** The workspace cwd whose encoded form is the transcript project dir. */
27
27
  cwd: string;
28
28
  }
29
+ /**
30
+ * The default `SessionStore` — reads/append-writes the native `.jsonl` transcript.
31
+ */
29
32
  export declare class FsSessionStore implements SessionStore {
30
33
  #private;
31
34
  constructor(options: FsSessionStoreOptions);
@@ -22,3 +22,23 @@
22
22
  *
23
23
  */
24
24
  export declare function sanitizeFts5Query(query: string): string;
25
+ /**
26
+ * Report whether `text` holds at least one Chinese, Japanese or Korean character.
27
+ *
28
+ * Iterates by code point, so surrogate pairs are handled correctly, and returns on the first hit.
29
+ * An empty string is `false`.
30
+ *
31
+ * Coverage is deliberately coarse: CJK Symbols and Punctuation, Hiragana, Katakana, Hangul
32
+ * Syllables, and CJK Unified Ideographs including Extension A. Everything beyond that — the
33
+ * higher ideograph extensions, Halfwidth and Fullwidth Forms, Hangul Jamo — reads as `false`, so
34
+ * a `false` is not proof that the text is CJK-free.
35
+ *
36
+ * The reason to ask is FTS5: the default tokenizer splits on whitespace, which CJK text does not
37
+ * use, so a matching query against it returns nothing rather than failing. A caller seeing `true`
38
+ * should short-circuit to an empty result or a LIKE fallback instead of running the search and
39
+ * reporting no matches.
40
+ *
41
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/persistence` sub-path, which the package
42
+ * declares in `exports` but does NOT cover with its semver contract.
43
+ */
44
+ export declare function containsCjk(text: string): boolean;
@@ -22,3 +22,23 @@
22
22
  *
23
23
  */
24
24
  export declare function sanitizeFts5Query(query: string): string;
25
+ /**
26
+ * Report whether `text` holds at least one Chinese, Japanese or Korean character.
27
+ *
28
+ * Iterates by code point, so surrogate pairs are handled correctly, and returns on the first hit.
29
+ * An empty string is `false`.
30
+ *
31
+ * Coverage is deliberately coarse: CJK Symbols and Punctuation, Hiragana, Katakana, Hangul
32
+ * Syllables, and CJK Unified Ideographs including Extension A. Everything beyond that — the
33
+ * higher ideograph extensions, Halfwidth and Fullwidth Forms, Hangul Jamo — reads as `false`, so
34
+ * a `false` is not proof that the text is CJK-free.
35
+ *
36
+ * The reason to ask is FTS5: the default tokenizer splits on whitespace, which CJK text does not
37
+ * use, so a matching query against it returns nothing rather than failing. A caller seeing `true`
38
+ * should short-circuit to an empty result or a LIKE fallback instead of running the search and
39
+ * reporting no matches.
40
+ *
41
+ * Semver-exempt: reachable via the `@theokit/sdk/internal/persistence` sub-path, which the package
42
+ * declares in `exports` but does NOT cover with its semver contract.
43
+ */
44
+ export declare function containsCjk(text: string): boolean;