@theokit/sdk 4.53.0 → 4.54.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 (719) hide show
  1. package/CHANGELOG.md +1096 -8
  2. package/LICENSE +2 -2
  3. package/README.md +14 -9
  4. package/bin/theokit-migrate-config.mjs +11 -2
  5. package/dist/a2a/agent-mailbox.d.cts +27 -0
  6. package/dist/a2a/agent-mailbox.d.ts +27 -0
  7. package/dist/a2a/index.cjs +9 -4
  8. package/dist/a2a/index.cjs.map +1 -1
  9. package/dist/a2a/index.js +7 -2
  10. package/dist/a2a/index.js.map +1 -1
  11. package/dist/a2a/message-bus.d.cts +39 -0
  12. package/dist/a2a/message-bus.d.ts +39 -0
  13. package/dist/a2a/subagent.d.cts +68 -7
  14. package/dist/a2a/subagent.d.ts +68 -7
  15. package/dist/a2a/types.d.cts +26 -0
  16. package/dist/a2a/types.d.ts +26 -0
  17. package/dist/{agent-BiCINq25.d.ts → agent-CIUgz7cN.d.cts} +211 -858
  18. package/dist/{agent-Zta1kvGH.d.cts → agent-DSec-E0c.d.ts} +211 -858
  19. package/dist/agent-NOEGF4GI.cjs +61 -0
  20. package/dist/{agent-JX5SBYDE.cjs.map → agent-NOEGF4GI.cjs.map} +1 -1
  21. package/dist/agent-VGD5WL4N.js +52 -0
  22. package/dist/{agent-ZAGG6ZBS.js.map → agent-VGD5WL4N.js.map} +1 -1
  23. package/dist/agent-builder.d.ts +19 -0
  24. package/dist/agent-session-store-P6V3FINW.js +7 -0
  25. package/dist/{agent-session-store-JMU7ASDB.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
  26. package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
  27. package/dist/{agent-session-store-EPX2WQI4.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
  28. package/dist/agent.d.ts +25 -7
  29. package/dist/auth/index.cjs +53 -36
  30. package/dist/auth/index.cjs.map +1 -1
  31. package/dist/auth/index.d.cts +1 -1
  32. package/dist/auth/index.d.ts +1 -1
  33. package/dist/auth/index.js +27 -10
  34. package/dist/auth/index.js.map +1 -1
  35. package/dist/{batch-NLIS4QTW.js → batch-2TGJMNCJ.js} +14 -13
  36. package/dist/batch-2TGJMNCJ.js.map +1 -0
  37. package/dist/{batch-WQ3AJCDV.cjs → batch-ND32UKZS.cjs} +31 -30
  38. package/dist/batch-ND32UKZS.cjs.map +1 -0
  39. package/dist/{chunk-TR4V2LHV.cjs → chunk-2ADR2GSO.cjs} +8 -8
  40. package/dist/chunk-2ADR2GSO.cjs.map +1 -0
  41. package/dist/{chunk-7HQVDLFI.cjs → chunk-2C72DXQF.cjs} +65 -27
  42. package/dist/chunk-2C72DXQF.cjs.map +1 -0
  43. package/dist/{chunk-DEZ75ET5.js → chunk-2D34UTDC.js} +21 -5
  44. package/dist/chunk-2D34UTDC.js.map +1 -0
  45. package/dist/{chunk-XGYI2KQH.js → chunk-2QKTVKH3.js} +4 -4
  46. package/dist/{chunk-XGYI2KQH.js.map → chunk-2QKTVKH3.js.map} +1 -1
  47. package/dist/{chunk-BBZYXVLZ.cjs → chunk-2ZPEDVLM.cjs} +2 -2
  48. package/dist/chunk-2ZPEDVLM.cjs.map +1 -0
  49. package/dist/{chunk-DHVNJYTO.js → chunk-3E77SX4H.js} +4 -4
  50. package/dist/{chunk-DHVNJYTO.js.map → chunk-3E77SX4H.js.map} +1 -1
  51. package/dist/{chunk-VYHJZVL5.cjs → chunk-3EE6LVWT.cjs} +2 -2
  52. package/dist/chunk-3EE6LVWT.cjs.map +1 -0
  53. package/dist/chunk-3KGLRRFC.cjs +18 -0
  54. package/dist/chunk-3KGLRRFC.cjs.map +1 -0
  55. package/dist/{chunk-5NBUH3NO.js → chunk-3OR54XG4.js} +2 -2
  56. package/dist/{chunk-C6Y6CWYD.cjs.map → chunk-3OR54XG4.js.map} +1 -1
  57. package/dist/{chunk-FUASIT3E.cjs → chunk-3YJNUKYN.cjs} +15 -15
  58. package/dist/{chunk-FUASIT3E.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
  59. package/dist/{chunk-R7TKOQMJ.js → chunk-44JAAH4X.js} +3 -3
  60. package/dist/chunk-44JAAH4X.js.map +1 -0
  61. package/dist/{chunk-XRI6DXPZ.js → chunk-44MBDIHG.js} +4 -4
  62. package/dist/chunk-44MBDIHG.js.map +1 -0
  63. package/dist/{chunk-BXVSBYGW.js → chunk-4ERPXIVB.js} +5 -5
  64. package/dist/{chunk-BXVSBYGW.js.map → chunk-4ERPXIVB.js.map} +1 -1
  65. package/dist/{chunk-T6QUCG7L.cjs → chunk-4I55V454.cjs} +4 -4
  66. package/dist/chunk-4I55V454.cjs.map +1 -0
  67. package/dist/{chunk-B4YA6BRS.cjs → chunk-4O5TGQBW.cjs} +30 -7
  68. package/dist/chunk-4O5TGQBW.cjs.map +1 -0
  69. package/dist/{chunk-4JBHSLQO.cjs → chunk-4OTIXDMU.cjs} +2 -2
  70. package/dist/{chunk-4JBHSLQO.cjs.map → chunk-4OTIXDMU.cjs.map} +1 -1
  71. package/dist/{chunk-C6Y6CWYD.cjs → chunk-52NKC5HT.cjs} +2 -2
  72. package/dist/chunk-52NKC5HT.cjs.map +1 -0
  73. package/dist/{chunk-3YYDHUNH.cjs → chunk-53CBTBWO.cjs} +11 -11
  74. package/dist/{chunk-3YYDHUNH.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
  75. package/dist/{chunk-2QMK627M.cjs → chunk-5BJV5UPY.cjs} +27 -27
  76. package/dist/chunk-5BJV5UPY.cjs.map +1 -0
  77. package/dist/{chunk-OZXPA3ME.js → chunk-5JLFFPCH.js} +4 -4
  78. package/dist/{chunk-OZXPA3ME.js.map → chunk-5JLFFPCH.js.map} +1 -1
  79. package/dist/{chunk-34XOCZJO.js → chunk-5PHVENFV.js} +3 -3
  80. package/dist/chunk-5PHVENFV.js.map +1 -0
  81. package/dist/{chunk-EQMLJ52C.cjs → chunk-5UOVYM3P.cjs} +36 -31
  82. package/dist/chunk-5UOVYM3P.cjs.map +1 -0
  83. package/dist/{chunk-33L2NVTJ.cjs → chunk-5USCYPPI.cjs} +15 -15
  84. package/dist/chunk-5USCYPPI.cjs.map +1 -0
  85. package/dist/{chunk-I732VEDW.js → chunk-AEOZTXVW.js} +3 -3
  86. package/dist/{chunk-I732VEDW.js.map → chunk-AEOZTXVW.js.map} +1 -1
  87. package/dist/{chunk-5XXUYU3M.js → chunk-AG5JPQIY.js} +3 -3
  88. package/dist/{chunk-5XXUYU3M.js.map → chunk-AG5JPQIY.js.map} +1 -1
  89. package/dist/{chunk-3SHW7XKK.js → chunk-AGSBJD2L.js} +27 -29
  90. package/dist/chunk-AGSBJD2L.js.map +1 -0
  91. package/dist/{chunk-KZBB4YKU.js → chunk-AQLGBKNT.js} +3 -3
  92. package/dist/chunk-AQLGBKNT.js.map +1 -0
  93. package/dist/{chunk-7W7ZWMLQ.js → chunk-AWO27VRZ.js} +3 -3
  94. package/dist/chunk-AWO27VRZ.js.map +1 -0
  95. package/dist/{chunk-VYCKUKPA.cjs → chunk-B2J4ZMZL.cjs} +3 -2
  96. package/dist/chunk-B2J4ZMZL.cjs.map +1 -0
  97. package/dist/{chunk-UJ3SXRZZ.js → chunk-BMAZLQQ4.js} +3 -3
  98. package/dist/{chunk-UJ3SXRZZ.js.map → chunk-BMAZLQQ4.js.map} +1 -1
  99. package/dist/{chunk-NUEL6RCZ.cjs → chunk-BVZW2B5V.cjs} +4 -4
  100. package/dist/chunk-BVZW2B5V.cjs.map +1 -0
  101. package/dist/{chunk-W4FV7JBH.js → chunk-CQ2TQ32Y.js} +4 -4
  102. package/dist/chunk-CQ2TQ32Y.js.map +1 -0
  103. package/dist/{chunk-NFATC6ZF.cjs → chunk-CQGYNZ3K.cjs} +4 -4
  104. package/dist/{chunk-NFATC6ZF.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
  105. package/dist/{chunk-3R4ZCQAZ.cjs → chunk-CTCGWIUD.cjs} +5 -5
  106. package/dist/{chunk-3R4ZCQAZ.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
  107. package/dist/{chunk-HTK54K2J.js → chunk-CV7XMBHP.js} +4 -4
  108. package/dist/chunk-CV7XMBHP.js.map +1 -0
  109. package/dist/{chunk-NOS7PTKP.js → chunk-DAPSQZT4.js} +15 -10
  110. package/dist/chunk-DAPSQZT4.js.map +1 -0
  111. package/dist/{chunk-E3OCRJU6.cjs → chunk-DQKERTND.cjs} +11 -11
  112. package/dist/{chunk-E3OCRJU6.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
  113. package/dist/{chunk-I5OTK2RP.js → chunk-DUIF54UP.js} +6 -6
  114. package/dist/chunk-DUIF54UP.js.map +1 -0
  115. package/dist/{chunk-C4EU627W.js → chunk-DZBSJX6J.js} +4 -4
  116. package/dist/{chunk-C4EU627W.js.map → chunk-DZBSJX6J.js.map} +1 -1
  117. package/dist/{chunk-ADVZIC43.cjs → chunk-EI2Q7SJ5.cjs} +12 -12
  118. package/dist/chunk-EI2Q7SJ5.cjs.map +1 -0
  119. package/dist/{chunk-UCFONJBG.js → chunk-EPSICJLZ.js} +2 -2
  120. package/dist/{chunk-UCFONJBG.js.map → chunk-EPSICJLZ.js.map} +1 -1
  121. package/dist/{chunk-RAACTJ7C.cjs → chunk-F3YZMOAU.cjs} +8 -8
  122. package/dist/{chunk-RAACTJ7C.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
  123. package/dist/{chunk-KIX45IKP.js → chunk-F7AQV62G.js} +5 -4
  124. package/dist/chunk-F7AQV62G.js.map +1 -0
  125. package/dist/{chunk-2YWWPCGX.js → chunk-FXEUP75G.js} +10 -12
  126. package/dist/chunk-FXEUP75G.js.map +1 -0
  127. package/dist/{chunk-2RW7K6FN.cjs → chunk-GHX4P3V2.cjs} +2 -2
  128. package/dist/chunk-GHX4P3V2.cjs.map +1 -0
  129. package/dist/{chunk-634YVZLU.js → chunk-GJ6RK75E.js} +5 -5
  130. package/dist/chunk-GJ6RK75E.js.map +1 -0
  131. package/dist/{chunk-Z5U2JGEK.cjs → chunk-GNT35C5U.cjs} +13 -13
  132. package/dist/chunk-GNT35C5U.cjs.map +1 -0
  133. package/dist/{chunk-4NAKHID5.js → chunk-GTKFV7O5.js} +2 -2
  134. package/dist/chunk-GTKFV7O5.js.map +1 -0
  135. package/dist/{chunk-BWGXYOBZ.cjs → chunk-GWC3HADL.cjs} +4 -4
  136. package/dist/{chunk-BWGXYOBZ.cjs.map → chunk-GWC3HADL.cjs.map} +1 -1
  137. package/dist/{chunk-OXNYIMZZ.js → chunk-H73MEMQB.js} +2 -2
  138. package/dist/chunk-H73MEMQB.js.map +1 -0
  139. package/dist/{chunk-RTLUZKDL.cjs → chunk-HJBMA5MB.cjs} +11 -11
  140. package/dist/{chunk-RTLUZKDL.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
  141. package/dist/{chunk-AM2CNBKE.js → chunk-HKCKOAIO.js} +2 -2
  142. package/dist/chunk-HKCKOAIO.js.map +1 -0
  143. package/dist/{chunk-PVBANCWU.cjs → chunk-HY57ULY2.cjs} +5 -5
  144. package/dist/{chunk-PVBANCWU.cjs.map → chunk-HY57ULY2.cjs.map} +1 -1
  145. package/dist/{chunk-CAH3G4IS.js → chunk-HY66GLM6.js} +2 -2
  146. package/dist/chunk-HY66GLM6.js.map +1 -0
  147. package/dist/{chunk-2CFEET3Y.cjs → chunk-I6TGFUCO.cjs} +4 -4
  148. package/dist/chunk-I6TGFUCO.cjs.map +1 -0
  149. package/dist/{chunk-HI4ZW62S.js → chunk-IDCKSLYH.js} +4 -4
  150. package/dist/chunk-IDCKSLYH.js.map +1 -0
  151. package/dist/{chunk-KNZU4YO5.cjs → chunk-ILCGLTSA.cjs} +4 -4
  152. package/dist/{chunk-KNZU4YO5.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
  153. package/dist/{chunk-44IISBRZ.cjs → chunk-IWBGCBR6.cjs} +4 -4
  154. package/dist/{chunk-44IISBRZ.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
  155. package/dist/{chunk-R3CKCRK3.cjs → chunk-J24VJOH3.cjs} +22 -6
  156. package/dist/chunk-J24VJOH3.cjs.map +1 -0
  157. package/dist/{chunk-ECPL5RV6.cjs → chunk-JHPGF3FP.cjs} +8 -8
  158. package/dist/{chunk-ECPL5RV6.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
  159. package/dist/{chunk-SXSPMRSV.cjs → chunk-JTB5Q42C.cjs} +21 -19
  160. package/dist/chunk-JTB5Q42C.cjs.map +1 -0
  161. package/dist/{chunk-2YGIBOUH.cjs → chunk-K3FW2XZD.cjs} +9 -9
  162. package/dist/chunk-K3FW2XZD.cjs.map +1 -0
  163. package/dist/{chunk-6DCTL32L.cjs → chunk-NGESVVJN.cjs} +17 -17
  164. package/dist/chunk-NGESVVJN.cjs.map +1 -0
  165. package/dist/{chunk-MV4TOCUK.js → chunk-NLTVXLGT.js} +3 -3
  166. package/dist/{chunk-MV4TOCUK.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-ZSJPRPN7.js → chunk-OC4NTGMN.js} +3 -3
  170. package/dist/{chunk-ZSJPRPN7.js.map → chunk-OC4NTGMN.js.map} +1 -1
  171. package/dist/{chunk-K42QGAKM.cjs → chunk-P6A3M6VD.cjs} +10 -10
  172. package/dist/{chunk-K42QGAKM.cjs.map → chunk-P6A3M6VD.cjs.map} +1 -1
  173. package/dist/{chunk-OKLYRPKL.cjs → chunk-Q47R5E2X.cjs} +8 -8
  174. package/dist/chunk-Q47R5E2X.cjs.map +1 -0
  175. package/dist/{chunk-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
  176. package/dist/chunk-Q5EWJPRY.js.map +1 -0
  177. package/dist/{chunk-XWCTBGYK.js → chunk-QARJGQSA.js} +16 -7
  178. package/dist/chunk-QARJGQSA.js.map +1 -0
  179. package/dist/{chunk-EUBGGYPH.cjs → chunk-QDED6YO6.cjs} +5 -5
  180. package/dist/{chunk-EUBGGYPH.cjs.map → chunk-QDED6YO6.cjs.map} +1 -1
  181. package/dist/{chunk-VK7MAV65.cjs → chunk-QKLOP4VC.cjs} +2 -2
  182. package/dist/{chunk-VK7MAV65.cjs.map → chunk-QKLOP4VC.cjs.map} +1 -1
  183. package/dist/{chunk-PLUCC4N5.js → chunk-QRSUA2CV.js} +3 -3
  184. package/dist/{chunk-PLUCC4N5.js.map → chunk-QRSUA2CV.js.map} +1 -1
  185. package/dist/{chunk-YTO5BRBD.cjs → chunk-R3UPQFKK.cjs} +21 -12
  186. package/dist/chunk-R3UPQFKK.cjs.map +1 -0
  187. package/dist/{chunk-X2FR4OIT.js → chunk-R7WIIPUR.js} +2 -2
  188. package/dist/chunk-R7WIIPUR.js.map +1 -0
  189. package/dist/{chunk-BC5EUG7R.cjs → chunk-RM7Y65IG.cjs} +18 -20
  190. package/dist/chunk-RM7Y65IG.cjs.map +1 -0
  191. package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
  192. package/dist/chunk-RNB4APBZ.js.map +1 -0
  193. package/dist/{chunk-V45L2OYP.cjs → chunk-ROYPRJH4.cjs} +9 -9
  194. package/dist/{chunk-V45L2OYP.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
  195. package/dist/{chunk-JJZ4NIAG.js → chunk-RUDY2GTT.js} +61 -24
  196. package/dist/chunk-RUDY2GTT.js.map +1 -0
  197. package/dist/{chunk-QLAWEGTZ.cjs → chunk-SKXBJ2NU.cjs} +7 -7
  198. package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
  199. package/dist/chunk-SSQZA3DZ.js +15 -0
  200. package/dist/chunk-SSQZA3DZ.js.map +1 -0
  201. package/dist/{chunk-7TB5U7RK.js → chunk-SUKXXLWD.js} +6 -6
  202. package/dist/chunk-SUKXXLWD.js.map +1 -0
  203. package/dist/{chunk-N43XLTHZ.js → chunk-T73NA43R.js} +3 -3
  204. package/dist/{chunk-N43XLTHZ.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-4X3SBHPK.js → chunk-T7XEKOVW.js} +18 -17
  208. package/dist/chunk-T7XEKOVW.js.map +1 -0
  209. package/dist/{chunk-NZOR3N4E.js → chunk-TPTZA6NI.js} +293 -126
  210. package/dist/chunk-TPTZA6NI.js.map +1 -0
  211. package/dist/{chunk-QN5N3ZVT.cjs → chunk-TTHBHAJI.cjs} +44 -46
  212. package/dist/chunk-TTHBHAJI.cjs.map +1 -0
  213. package/dist/{chunk-CZHPR2G7.cjs → chunk-U2AC6JUP.cjs} +8 -8
  214. package/dist/chunk-U2AC6JUP.cjs.map +1 -0
  215. package/dist/{chunk-ITQ4NO4P.js → chunk-UC3HT2S4.js} +3 -3
  216. package/dist/{chunk-ITQ4NO4P.js.map → chunk-UC3HT2S4.js.map} +1 -1
  217. package/dist/{chunk-2VFZQEDW.cjs → chunk-UFAO4T7Z.cjs} +565 -399
  218. package/dist/chunk-UFAO4T7Z.cjs.map +1 -0
  219. package/dist/{chunk-DM6Y5B2G.cjs → chunk-UNDROG5N.cjs} +201 -154
  220. package/dist/chunk-UNDROG5N.cjs.map +1 -0
  221. package/dist/{chunk-L7EGRCKJ.js → chunk-UPRJR6IP.js} +4 -4
  222. package/dist/chunk-UPRJR6IP.js.map +1 -0
  223. package/dist/{chunk-23VZBRDQ.js → chunk-UQGQFBRL.js} +3 -3
  224. package/dist/chunk-UQGQFBRL.js.map +1 -0
  225. package/dist/{chunk-2Y5NO2SY.js → chunk-VDEWG5TV.js} +88 -43
  226. package/dist/chunk-VDEWG5TV.js.map +1 -0
  227. package/dist/{chunk-CHVSMEKM.js → chunk-VF7EWVDG.js} +3 -3
  228. package/dist/chunk-VF7EWVDG.js.map +1 -0
  229. package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
  230. package/dist/chunk-VTYY7XL5.cjs.map +1 -0
  231. package/dist/{chunk-E6T264NS.js → chunk-WKRSH2VR.js} +3 -3
  232. package/dist/{chunk-E6T264NS.js.map → chunk-WKRSH2VR.js.map} +1 -1
  233. package/dist/{chunk-4QEC4CCS.js → chunk-WTMU7J4U.js} +2 -2
  234. package/dist/{chunk-4QEC4CCS.js.map → chunk-WTMU7J4U.js.map} +1 -1
  235. package/dist/{chunk-EFXJ5C7X.js → chunk-XN7NOENA.js} +6 -6
  236. package/dist/chunk-XN7NOENA.js.map +1 -0
  237. package/dist/{chunk-AMYY3JHQ.cjs → chunk-XSX2UU6Y.cjs} +10 -9
  238. package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
  239. package/dist/{chunk-6PTCKXD3.js → chunk-XV4IZNV4.js} +9 -9
  240. package/dist/chunk-XV4IZNV4.js.map +1 -0
  241. package/dist/{chunk-FBZMSLDC.cjs → chunk-XWL6O3SW.cjs} +4 -4
  242. package/dist/chunk-XWL6O3SW.cjs.map +1 -0
  243. package/dist/{chunk-OIBHY6JQ.js → chunk-YMA4S2WO.js} +4 -4
  244. package/dist/{chunk-OIBHY6JQ.js.map → chunk-YMA4S2WO.js.map} +1 -1
  245. package/dist/{chunk-T5ZWI3MC.cjs → chunk-YPJ5NH5N.cjs} +11 -11
  246. package/dist/chunk-YPJ5NH5N.cjs.map +1 -0
  247. package/dist/{chunk-YLQQX5W2.cjs → chunk-ZF2LDKQQ.cjs} +2 -2
  248. package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
  249. package/dist/{chunk-L5YO6PWL.cjs → chunk-ZNW6V4Y6.cjs} +2 -2
  250. package/dist/chunk-ZNW6V4Y6.cjs.map +1 -0
  251. package/dist/client/index.cjs.map +1 -1
  252. package/dist/client/index.js.map +1 -1
  253. package/dist/client/theokit-client.d.cts +36 -0
  254. package/dist/client/theokit-client.d.ts +36 -0
  255. package/dist/client/types.d.cts +30 -0
  256. package/dist/client/types.d.ts +30 -0
  257. package/dist/compact-session-K5LXTBPJ.js +22 -0
  258. package/dist/{compact-session-EJ36VH5I.js.map → compact-session-K5LXTBPJ.js.map} +1 -1
  259. package/dist/compact-session-YCT6JMBX.cjs +59 -0
  260. package/dist/{compact-session-6GKIS4SD.cjs.map → compact-session-YCT6JMBX.cjs.map} +1 -1
  261. package/dist/compaction.cjs +17 -16
  262. package/dist/compaction.d.cts +13 -13
  263. package/dist/compaction.d.ts +13 -13
  264. package/dist/compaction.js +4 -3
  265. package/dist/concurrency.cjs +7 -6
  266. package/dist/concurrency.cjs.map +1 -1
  267. package/dist/concurrency.js +5 -4
  268. package/dist/concurrency.js.map +1 -1
  269. package/dist/context/index.cjs +7 -7
  270. package/dist/context/index.js +3 -3
  271. package/dist/context-FDOON2DB.js +6 -0
  272. package/dist/{context-DCECDKWN.js.map → context-FDOON2DB.js.map} +1 -1
  273. package/dist/context-VMIE4BMD.cjs +23 -0
  274. package/dist/{context-4HGPCOH6.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
  275. package/dist/cron-CRwy2JBF.d.ts +240 -0
  276. package/dist/cron-DxxeQ-sK.d.cts +240 -0
  277. package/dist/cron.cjs +44 -42
  278. package/dist/cron.d.cts +5 -3
  279. package/dist/cron.d.ts +5 -3
  280. package/dist/cron.js +43 -41
  281. package/dist/define-tool.d.ts +14 -6
  282. package/dist/{errors-CHllybaU.d.ts → errors-BgJH9PHi.d.cts} +39 -24
  283. package/dist/{errors-BSoXcl3F.d.cts → errors-C5fJUqLk.d.ts} +39 -24
  284. package/dist/errors.cjs +22 -21
  285. package/dist/errors.d.cts +2 -2
  286. package/dist/errors.d.ts +2 -2
  287. package/dist/errors.js +3 -2
  288. package/dist/eval.cjs +62 -59
  289. package/dist/eval.cjs.map +1 -1
  290. package/dist/eval.d.cts +38 -0
  291. package/dist/eval.d.ts +38 -0
  292. package/dist/eval.js +52 -49
  293. package/dist/eval.js.map +1 -1
  294. package/dist/event-bus.d.ts +16 -0
  295. package/dist/{executor-3CGPLVJL.js → executor-BMEHFOXZ.js} +8 -7
  296. package/dist/executor-BMEHFOXZ.js.map +1 -0
  297. package/dist/{executor-4SW7QGZ4.cjs → executor-ZERJ3DGN.cjs} +25 -24
  298. package/dist/executor-ZERJ3DGN.cjs.map +1 -0
  299. package/dist/filesystem/index.cjs +8 -7
  300. package/dist/filesystem/index.cjs.map +1 -1
  301. package/dist/filesystem/index.js +4 -3
  302. package/dist/filesystem/index.js.map +1 -1
  303. package/dist/filesystem/local-filesystem.d.cts +18 -0
  304. package/dist/filesystem/local-filesystem.d.ts +18 -0
  305. package/dist/filesystem/types.d.cts +12 -0
  306. package/dist/filesystem/types.d.ts +12 -0
  307. package/dist/fs-session-store-3MOJQGP2.cjs +20 -0
  308. package/dist/{fs-session-store-VXXDIBGM.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
  309. package/dist/fs-session-store-IN7JTTXD.js +11 -0
  310. package/dist/{fs-session-store-LIKYT24K.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
  311. package/dist/generate-object-N5MDZUJI.js +8 -0
  312. package/dist/{generate-object-TVQCW2IZ.js.map → generate-object-N5MDZUJI.js.map} +1 -1
  313. package/dist/generate-object-PGSP5U7N.cjs +21 -0
  314. package/dist/{generate-object-E465DX5I.cjs.map → generate-object-PGSP5U7N.cjs.map} +1 -1
  315. package/dist/generate-object.d.ts +20 -0
  316. package/dist/index-manager-NG5YENWO.cjs +22 -0
  317. package/dist/{index-manager-HGGL4DD5.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
  318. package/dist/index-manager-ZMRJ6ZII.js +13 -0
  319. package/dist/{index-manager-EA6FGIQG.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
  320. package/dist/index.cjs +176 -154
  321. package/dist/index.cjs.map +1 -1
  322. package/dist/index.d.cts +761 -57
  323. package/dist/index.d.ts +761 -57
  324. package/dist/index.js +62 -59
  325. package/dist/index.js.map +1 -1
  326. package/dist/{inject-session-HO7FYVCX.js → inject-session-DDR6X6PC.js} +9 -8
  327. package/dist/inject-session-DDR6X6PC.js.map +1 -0
  328. package/dist/inject-session-XLO3KTBM.cjs +29 -0
  329. package/dist/inject-session-XLO3KTBM.cjs.map +1 -0
  330. package/dist/internal/auth/auth-types.d.ts +84 -2
  331. package/dist/internal/auth/credential-store.d.ts +34 -6
  332. package/dist/internal/auth/oauth-device.d.ts +2 -3
  333. package/dist/internal/auth/resolve-credential.d.ts +40 -0
  334. package/dist/internal/budget/tracker/budget.d.ts +12 -14
  335. package/dist/internal/budget/usage-accumulator.d.ts +15 -0
  336. package/dist/internal/llm/anthropic-shared.d.ts +8 -4
  337. package/dist/internal/llm/model-identifier.d.ts +26 -0
  338. package/dist/internal/llm/openai.d.ts +8 -0
  339. package/dist/internal/llm/router.d.ts +8 -0
  340. package/dist/internal/llm/types.d.ts +12 -1
  341. package/dist/internal/local-agent/mcp-pool.d.ts +2 -4
  342. package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
  343. package/dist/internal/local-agent/real-local-run-tools.d.ts +8 -0
  344. package/dist/internal/mcp/oauth.d.ts +19 -1
  345. package/dist/internal/mcp/token-storage.d.ts +52 -1
  346. package/dist/internal/memory/adapters/index.cjs +12 -11
  347. package/dist/internal/memory/adapters/index.d.cts +3 -1
  348. package/dist/internal/memory/adapters/index.d.ts +3 -1
  349. package/dist/internal/memory/adapters/index.js +9 -8
  350. package/dist/internal/memory/adapters/openai-compatible.d.cts +45 -0
  351. package/dist/internal/memory/adapters/openai-compatible.d.ts +45 -0
  352. package/dist/internal/memory/embedding-cache.d.ts +42 -1
  353. package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
  354. package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -3
  355. package/dist/internal/memory/storage/markdown-store.d.ts +0 -5
  356. package/dist/internal/persistence/atomic-write.d.cts +93 -0
  357. package/dist/internal/persistence/atomic-write.d.ts +93 -0
  358. package/dist/internal/persistence/cwd-mutex.d.cts +34 -0
  359. package/dist/internal/persistence/cwd-mutex.d.ts +34 -0
  360. package/dist/internal/persistence/exclusive-create.d.cts +31 -0
  361. package/dist/internal/persistence/exclusive-create.d.ts +31 -0
  362. package/dist/internal/persistence/file-lock.d.cts +41 -1
  363. package/dist/internal/persistence/file-lock.d.ts +41 -1
  364. package/dist/internal/persistence/fs-session-store.d.cts +3 -0
  365. package/dist/internal/persistence/fs-session-store.d.ts +3 -0
  366. package/dist/internal/persistence/fts5-sanitize.d.cts +29 -1
  367. package/dist/internal/persistence/fts5-sanitize.d.ts +29 -1
  368. package/dist/internal/persistence/index.cjs +40 -39
  369. package/dist/internal/persistence/index.cjs.map +1 -1
  370. package/dist/internal/persistence/index.d.cts +6 -1
  371. package/dist/internal/persistence/index.d.ts +6 -1
  372. package/dist/internal/persistence/index.js +9 -8
  373. package/dist/internal/persistence/index.js.map +1 -1
  374. package/dist/internal/persistence/paths.d.cts +54 -1
  375. package/dist/internal/persistence/paths.d.ts +54 -1
  376. package/dist/internal/persistence/persistence-schema.d.cts +9 -1
  377. package/dist/internal/persistence/persistence-schema.d.ts +9 -1
  378. package/dist/internal/persistence/schema-version.d.cts +215 -1
  379. package/dist/internal/persistence/schema-version.d.ts +215 -1
  380. package/dist/internal/persistence/session-dir.d.cts +1 -0
  381. package/dist/internal/persistence/session-dir.d.ts +1 -0
  382. package/dist/internal/persistence/session-writer.d.cts +20 -7
  383. package/dist/internal/persistence/session-writer.d.ts +20 -7
  384. package/dist/internal/persistence/sqlite-cas.d.cts +37 -1
  385. package/dist/internal/persistence/sqlite-cas.d.ts +37 -1
  386. package/dist/internal/persistence/sqlite-open.d.cts +14 -0
  387. package/dist/internal/persistence/sqlite-open.d.ts +14 -0
  388. package/dist/internal/persistence/sqlite-wal.d.cts +53 -0
  389. package/dist/internal/persistence/sqlite-wal.d.ts +53 -0
  390. package/dist/internal/persistence/transcript-ops.d.cts +7 -1
  391. package/dist/internal/persistence/transcript-ops.d.ts +7 -1
  392. package/dist/internal/plugins/types.d.cts +1 -1
  393. package/dist/internal/plugins/types.d.ts +1 -1
  394. package/dist/internal/providers/builtin/cerebras.d.ts +2 -2
  395. package/dist/internal/providers/builtin/deepinfra.d.ts +1 -1
  396. package/dist/internal/providers/builtin/openai-chatgpt.d.ts +12 -0
  397. package/dist/internal/providers/catalog-loader.d.ts +8 -0
  398. package/dist/internal/providers/catalog-schema.d.ts +55 -0
  399. package/dist/internal/providers/catalog-source-models-dev.d.ts +37 -1
  400. package/dist/internal/runtime/concurrency/delegation-depth.d.ts +27 -0
  401. package/dist/internal/runtime/concurrency/subagent-credentials.d.ts +33 -1
  402. package/dist/internal/runtime/context/context-discovery-runner.d.ts +44 -0
  403. package/dist/internal/runtime/context/context-discovery.d.ts +58 -0
  404. package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +70 -1
  405. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +15 -1
  406. package/dist/internal/runtime/lifecycle/env-policy.d.ts +1 -3
  407. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +15 -0
  408. package/dist/internal/runtime/registry/agent-registry-store.d.ts +12 -0
  409. package/dist/internal/runtime/registry/live-agent-registry.d.ts +37 -0
  410. package/dist/internal/scorers/llm-judge.d.ts +6 -1
  411. package/dist/internal/security/index.cjs +14 -13
  412. package/dist/internal/security/index.d.cts +4 -1
  413. package/dist/internal/security/index.d.ts +4 -1
  414. package/dist/internal/security/index.js +4 -3
  415. package/dist/internal/security/path-guard.d.cts +107 -0
  416. package/dist/internal/security/path-guard.d.ts +107 -0
  417. package/dist/internal/security/redact.d.cts +71 -0
  418. package/dist/internal/security/redact.d.ts +71 -0
  419. package/dist/internal/session/agent-session.d.ts +15 -4
  420. package/dist/internal/session/compact-session.d.ts +2 -2
  421. package/dist/internal/session/session-cache.d.ts +5 -0
  422. package/dist/internal/task/store.d.ts +91 -5
  423. package/dist/internal/telemetry/span-names.d.ts +0 -1
  424. package/dist/internal/telemetry/tracer.d.ts +38 -0
  425. package/dist/job-queue.d.ts +18 -0
  426. package/dist/judge-call-DWHAJATE.js +6 -0
  427. package/dist/{judge-call-QMKGC2ZK.js.map → judge-call-DWHAJATE.js.map} +1 -1
  428. package/dist/judge-call-EGYRC2RE.cjs +23 -0
  429. package/dist/{judge-call-GVIJWQVE.cjs.map → judge-call-EGYRC2RE.cjs.map} +1 -1
  430. package/dist/mcp-auth.cjs +41 -25
  431. package/dist/mcp-auth.cjs.map +1 -1
  432. package/dist/mcp-auth.js +34 -18
  433. package/dist/mcp-auth.js.map +1 -1
  434. package/dist/models.cjs +43 -28
  435. package/dist/models.cjs.map +1 -1
  436. package/dist/models.js +26 -11
  437. package/dist/models.js.map +1 -1
  438. package/dist/oauth-transaction-store-BT4GLTLK.cjs +36 -0
  439. package/dist/{oauth-transaction-store-7CKHPQRN.cjs.map → oauth-transaction-store-BT4GLTLK.cjs.map} +1 -1
  440. package/dist/oauth-transaction-store-W52KVHQ4.js +3 -0
  441. package/dist/{oauth-transaction-store-W74I6EFD.js.map → oauth-transaction-store-W52KVHQ4.js.map} +1 -1
  442. package/dist/path-safety.cjs +11 -10
  443. package/dist/path-safety.js +4 -3
  444. package/dist/permission-engine.d.ts +55 -0
  445. package/dist/persistence.cjs +43 -42
  446. package/dist/persistence.cjs.map +1 -1
  447. package/dist/persistence.js +13 -12
  448. package/dist/persistence.js.map +1 -1
  449. package/dist/project.cjs +9 -8
  450. package/dist/project.cjs.map +1 -1
  451. package/dist/project.js +5 -4
  452. package/dist/project.js.map +1 -1
  453. package/dist/providers.cjs +23 -0
  454. package/dist/providers.cjs.map +1 -0
  455. package/dist/providers.d.cts +29 -0
  456. package/dist/providers.d.ts +29 -0
  457. package/dist/providers.js +10 -0
  458. package/dist/providers.js.map +1 -0
  459. package/dist/registry-VFKX7WOP.cjs +47 -0
  460. package/dist/{registry-UBY26R4I.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
  461. package/dist/registry-VFP3WWQP.js +10 -0
  462. package/dist/{registry-GC7BQMSV.js.map → registry-VFP3WWQP.js.map} +1 -1
  463. package/dist/retry.cjs +5 -4
  464. package/dist/retry.js +4 -3
  465. package/dist/{run-C8FBAC8o.d.ts → run-BYSHf58D.d.cts} +185 -33
  466. package/dist/{run-C8FBAC8o.d.cts → run-BYSHf58D.d.ts} +185 -33
  467. package/dist/{run-to-completion-JDPIUKSH.js → run-to-completion-DRO77625.js} +3 -3
  468. package/dist/{run-to-completion-JDPIUKSH.js.map → run-to-completion-DRO77625.js.map} +1 -1
  469. package/dist/{run-to-completion-J73I6IY4.cjs → run-to-completion-X4OWM673.cjs} +13 -13
  470. package/dist/{run-to-completion-J73I6IY4.cjs.map → run-to-completion-X4OWM673.cjs.map} +1 -1
  471. package/dist/sandbox/bwrap.d.cts +27 -14
  472. package/dist/sandbox/bwrap.d.ts +27 -14
  473. package/dist/sandbox/index.cjs +21 -20
  474. package/dist/sandbox/index.cjs.map +1 -1
  475. package/dist/sandbox/index.js +6 -5
  476. package/dist/sandbox/index.js.map +1 -1
  477. package/dist/sandbox/linux-sandbox.d.cts +72 -0
  478. package/dist/sandbox/linux-sandbox.d.ts +72 -0
  479. package/dist/sandbox/local-sandbox.d.cts +41 -0
  480. package/dist/sandbox/local-sandbox.d.ts +41 -0
  481. package/dist/sandbox/seccomp.d.cts +6 -0
  482. package/dist/sandbox/seccomp.d.ts +6 -0
  483. package/dist/sandbox/types.d.cts +64 -0
  484. package/dist/sandbox/types.d.ts +64 -0
  485. package/dist/scorers.d.ts +38 -7
  486. package/dist/sdk-agent-D8qJVkuV.d.ts +860 -0
  487. package/dist/sdk-agent-DEoKhA8a.d.cts +860 -0
  488. package/dist/server/auth/errors.d.cts +1 -1
  489. package/dist/server/auth/errors.d.ts +1 -1
  490. package/dist/server/auth/index.cjs +29 -21
  491. package/dist/server/auth/index.cjs.map +1 -1
  492. package/dist/server/auth/index.d.cts +25 -15
  493. package/dist/server/auth/index.d.ts +25 -15
  494. package/dist/server/auth/index.js +15 -7
  495. package/dist/server/auth/index.js.map +1 -1
  496. package/dist/server/auth/oauth-transaction-store.d.cts +13 -1
  497. package/dist/server/auth/oauth-transaction-store.d.ts +13 -1
  498. package/dist/server/auth/orchestrator.d.cts +1 -1
  499. package/dist/server/auth/orchestrator.d.ts +1 -1
  500. package/dist/server/auth/types.d.cts +1 -1
  501. package/dist/server/auth/types.d.ts +1 -1
  502. package/dist/server/auth/validate-return-to.d.cts +21 -11
  503. package/dist/server/auth/validate-return-to.d.ts +21 -11
  504. package/dist/server/errors-envelope.cjs +15 -14
  505. package/dist/server/errors-envelope.cjs.map +1 -1
  506. package/dist/server/errors-envelope.d.cts +4 -4
  507. package/dist/server/errors-envelope.d.ts +4 -4
  508. package/dist/server/errors-envelope.js +4 -3
  509. package/dist/server/errors-envelope.js.map +1 -1
  510. package/dist/session-transcript-AKDYYGXQ.js +6 -0
  511. package/dist/{session-transcript-SKIRBEJE.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
  512. package/dist/session-transcript-JXHFTB7G.cjs +51 -0
  513. package/dist/{session-transcript-TNAJ4O3M.cjs.map → session-transcript-JXHFTB7G.cjs.map} +1 -1
  514. package/dist/skills.cjs +8 -7
  515. package/dist/skills.js +6 -5
  516. package/dist/stream-object-BUCF5PHO.cjs +21 -0
  517. package/dist/{stream-object-T4DAMNVB.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
  518. package/dist/stream-object-L57K4OFS.js +8 -0
  519. package/dist/{stream-object-QMNR3YFF.js.map → stream-object-L57K4OFS.js.map} +1 -1
  520. package/dist/{stream-to-completion-DFJ5T3BK.js → stream-to-completion-QV5HCL3J.js} +3 -3
  521. package/dist/{stream-to-completion-DFJ5T3BK.js.map → stream-to-completion-QV5HCL3J.js.map} +1 -1
  522. package/dist/{stream-to-completion-H2MHISSK.cjs → stream-to-completion-SRISU5AB.cjs} +10 -10
  523. package/dist/{stream-to-completion-H2MHISSK.cjs.map → stream-to-completion-SRISU5AB.cjs.map} +1 -1
  524. package/dist/subagents-loader-AZIXJ7D3.cjs +16 -0
  525. package/dist/{subagents-loader-3CXBQWWY.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
  526. package/dist/subagents-loader-J54ESLDV.js +7 -0
  527. package/dist/{subagents-loader-WN2SB6PV.js.map → subagents-loader-J54ESLDV.js.map} +1 -1
  528. package/dist/subagents-loader.cjs +7 -6
  529. package/dist/subagents-loader.cjs.map +1 -1
  530. package/dist/subagents-loader.d.cts +3 -2
  531. package/dist/subagents-loader.d.ts +3 -2
  532. package/dist/subagents-loader.js +5 -4
  533. package/dist/subagents-loader.js.map +1 -1
  534. package/dist/subscription/define-subscription.d.cts +1 -1
  535. package/dist/subscription/define-subscription.d.ts +1 -1
  536. package/dist/subscription/index.cjs +22 -9
  537. package/dist/subscription/index.cjs.map +1 -1
  538. package/dist/subscription/index.d.cts +1 -1
  539. package/dist/subscription/index.d.ts +1 -1
  540. package/dist/subscription/index.js +21 -8
  541. package/dist/subscription/index.js.map +1 -1
  542. package/dist/subscription/internal/adapter-types.d.cts +1 -1
  543. package/dist/subscription/internal/adapter-types.d.ts +1 -1
  544. package/dist/subscription/internal/server-integration.d.cts +1 -1
  545. package/dist/subscription/internal/server-integration.d.ts +1 -1
  546. package/dist/subscription/internal/sse-encoder.d.cts +1 -1
  547. package/dist/subscription/internal/sse-encoder.d.ts +1 -1
  548. package/dist/subscription/internal/sse-parser.d.cts +1 -1
  549. package/dist/subscription/internal/sse-parser.d.ts +1 -1
  550. package/dist/subscription/internal/subscription-runtime.d.cts +1 -1
  551. package/dist/subscription/internal/subscription-runtime.d.ts +1 -1
  552. package/dist/subscription/internal/ws-adapter-node.d.cts +1 -1
  553. package/dist/subscription/internal/ws-adapter-node.d.ts +1 -1
  554. package/dist/subscription/theokit-subscribe.d.cts +14 -1
  555. package/dist/subscription/theokit-subscribe.d.ts +14 -1
  556. package/dist/subscription/types.d.cts +19 -1
  557. package/dist/subscription/types.d.ts +19 -1
  558. package/dist/task-store.cjs +8 -7
  559. package/dist/task-store.js +5 -4
  560. package/dist/types/agent-prims.d.ts +14 -0
  561. package/dist/types/agent.d.ts +69 -17
  562. package/dist/types/batch.d.ts +7 -1
  563. package/dist/types/conversation.d.ts +18 -5
  564. package/dist/types/goal-events.d.ts +4 -8
  565. package/dist/types/memory-adapter.d.ts +12 -1
  566. package/dist/types/plugin.d.ts +101 -0
  567. package/dist/types/provider-profile.d.ts +21 -2
  568. package/dist/types/run-events.d.ts +28 -1
  569. package/dist/types/run.d.ts +35 -23
  570. package/dist/types/sdk-agent.d.ts +14 -0
  571. package/dist/types/session-record.d.ts +18 -1
  572. package/dist/types/task.d.ts +15 -1
  573. package/dist/types/theokit.d.ts +10 -1
  574. package/dist/types/updates.d.ts +35 -4
  575. package/dist/types/workflow.d.ts +155 -0
  576. package/dist/workflow.cjs +29 -28
  577. package/dist/workflow.d.cts +666 -17
  578. package/dist/workflow.d.ts +666 -17
  579. package/dist/workflow.js +8 -7
  580. package/docs/error-codes.md +208 -172
  581. package/docs/harness-capability-map.md +1357 -304
  582. package/package.json +21 -8
  583. package/bin/init-claude.mjs +0 -68
  584. package/claude-template/AGENTS.md +0 -157
  585. package/claude-template/CLAUDE.md +0 -66
  586. package/claude-template/dot-claude/rules/theokit-conventions.md +0 -32
  587. package/claude-template/dot-claude/settings.json +0 -16
  588. package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +0 -209
  589. package/claude-template/dot-claude/skills/theokit-auth/SKILL.md +0 -102
  590. package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +0 -176
  591. package/claude-template/dot-claude/skills/theokit-client/SKILL.md +0 -58
  592. package/claude-template/dot-claude/skills/theokit-compaction/SKILL.md +0 -102
  593. package/claude-template/dot-claude/skills/theokit-concurrency/SKILL.md +0 -68
  594. package/claude-template/dot-claude/skills/theokit-config/SKILL.md +0 -139
  595. package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +0 -148
  596. package/claude-template/dot-claude/skills/theokit-di/SKILL.md +0 -233
  597. package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +0 -294
  598. package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +0 -172
  599. package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +0 -179
  600. package/claude-template/dot-claude/skills/theokit-filesystem/SKILL.md +0 -74
  601. package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +0 -209
  602. package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +0 -176
  603. package/claude-template/dot-claude/skills/theokit-messages/SKILL.md +0 -58
  604. package/claude-template/dot-claude/skills/theokit-models/SKILL.md +0 -79
  605. package/claude-template/dot-claude/skills/theokit-path-safety/SKILL.md +0 -60
  606. package/claude-template/dot-claude/skills/theokit-persistence/SKILL.md +0 -85
  607. package/claude-template/dot-claude/skills/theokit-project/SKILL.md +0 -55
  608. package/claude-template/dot-claude/skills/theokit-retry/SKILL.md +0 -50
  609. package/claude-template/dot-claude/skills/theokit-sandbox/SKILL.md +0 -93
  610. package/claude-template/dot-claude/skills/theokit-sanitize/SKILL.md +0 -66
  611. package/claude-template/dot-claude/skills/theokit-skills/SKILL.md +0 -68
  612. package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +0 -156
  613. package/claude-template/dot-claude/skills/theokit-subagents/SKILL.md +0 -109
  614. package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +0 -148
  615. package/claude-template/dot-claude/skills/theokit-task-store/SKILL.md +0 -75
  616. package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +0 -170
  617. package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +0 -218
  618. package/dist/agent-JX5SBYDE.cjs +0 -59
  619. package/dist/agent-ZAGG6ZBS.js +0 -50
  620. package/dist/agent-session-store-EPX2WQI4.cjs +0 -23
  621. package/dist/agent-session-store-JMU7ASDB.js +0 -6
  622. package/dist/batch-NLIS4QTW.js.map +0 -1
  623. package/dist/batch-WQ3AJCDV.cjs.map +0 -1
  624. package/dist/chunk-23VZBRDQ.js.map +0 -1
  625. package/dist/chunk-2CFEET3Y.cjs.map +0 -1
  626. package/dist/chunk-2QMK627M.cjs.map +0 -1
  627. package/dist/chunk-2RW7K6FN.cjs.map +0 -1
  628. package/dist/chunk-2VFZQEDW.cjs.map +0 -1
  629. package/dist/chunk-2XLKLVVR.js.map +0 -1
  630. package/dist/chunk-2Y5NO2SY.js.map +0 -1
  631. package/dist/chunk-2YGIBOUH.cjs.map +0 -1
  632. package/dist/chunk-2YWWPCGX.js.map +0 -1
  633. package/dist/chunk-33L2NVTJ.cjs.map +0 -1
  634. package/dist/chunk-34XOCZJO.js.map +0 -1
  635. package/dist/chunk-3SHW7XKK.js.map +0 -1
  636. package/dist/chunk-4NAKHID5.js.map +0 -1
  637. package/dist/chunk-4X3SBHPK.js.map +0 -1
  638. package/dist/chunk-5NBUH3NO.js.map +0 -1
  639. package/dist/chunk-634YVZLU.js.map +0 -1
  640. package/dist/chunk-6DCTL32L.cjs.map +0 -1
  641. package/dist/chunk-6PTCKXD3.js.map +0 -1
  642. package/dist/chunk-7HQVDLFI.cjs.map +0 -1
  643. package/dist/chunk-7TB5U7RK.js.map +0 -1
  644. package/dist/chunk-7W7ZWMLQ.js.map +0 -1
  645. package/dist/chunk-ADVZIC43.cjs.map +0 -1
  646. package/dist/chunk-AM2CNBKE.js.map +0 -1
  647. package/dist/chunk-AMYY3JHQ.cjs.map +0 -1
  648. package/dist/chunk-B4YA6BRS.cjs.map +0 -1
  649. package/dist/chunk-BBZYXVLZ.cjs.map +0 -1
  650. package/dist/chunk-BC5EUG7R.cjs.map +0 -1
  651. package/dist/chunk-CAH3G4IS.js.map +0 -1
  652. package/dist/chunk-CHVSMEKM.js.map +0 -1
  653. package/dist/chunk-CZHPR2G7.cjs.map +0 -1
  654. package/dist/chunk-DEZ75ET5.js.map +0 -1
  655. package/dist/chunk-DM6Y5B2G.cjs.map +0 -1
  656. package/dist/chunk-EFXJ5C7X.js.map +0 -1
  657. package/dist/chunk-EQMLJ52C.cjs.map +0 -1
  658. package/dist/chunk-FBZMSLDC.cjs.map +0 -1
  659. package/dist/chunk-HI4ZW62S.js.map +0 -1
  660. package/dist/chunk-HTK54K2J.js.map +0 -1
  661. package/dist/chunk-I5OTK2RP.js.map +0 -1
  662. package/dist/chunk-JJZ4NIAG.js.map +0 -1
  663. package/dist/chunk-KIX45IKP.js.map +0 -1
  664. package/dist/chunk-KZBB4YKU.js.map +0 -1
  665. package/dist/chunk-L5YO6PWL.cjs.map +0 -1
  666. package/dist/chunk-L7EGRCKJ.js.map +0 -1
  667. package/dist/chunk-NOS7PTKP.js.map +0 -1
  668. package/dist/chunk-NUEL6RCZ.cjs.map +0 -1
  669. package/dist/chunk-NZOR3N4E.js.map +0 -1
  670. package/dist/chunk-OKLYRPKL.cjs.map +0 -1
  671. package/dist/chunk-OXNYIMZZ.js.map +0 -1
  672. package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
  673. package/dist/chunk-QLAWEGTZ.cjs.map +0 -1
  674. package/dist/chunk-QN5N3ZVT.cjs.map +0 -1
  675. package/dist/chunk-R3CKCRK3.cjs.map +0 -1
  676. package/dist/chunk-R7TKOQMJ.js.map +0 -1
  677. package/dist/chunk-RP5HQVLD.js.map +0 -1
  678. package/dist/chunk-SXSPMRSV.cjs.map +0 -1
  679. package/dist/chunk-T5ZWI3MC.cjs.map +0 -1
  680. package/dist/chunk-T6QUCG7L.cjs.map +0 -1
  681. package/dist/chunk-TR4V2LHV.cjs.map +0 -1
  682. package/dist/chunk-VYCKUKPA.cjs.map +0 -1
  683. package/dist/chunk-VYHJZVL5.cjs.map +0 -1
  684. package/dist/chunk-W4FV7JBH.js.map +0 -1
  685. package/dist/chunk-X2FR4OIT.js.map +0 -1
  686. package/dist/chunk-XRI6DXPZ.js.map +0 -1
  687. package/dist/chunk-XWCTBGYK.js.map +0 -1
  688. package/dist/chunk-YLQQX5W2.cjs.map +0 -1
  689. package/dist/chunk-YTO5BRBD.cjs.map +0 -1
  690. package/dist/chunk-Z5U2JGEK.cjs.map +0 -1
  691. package/dist/compact-session-6GKIS4SD.cjs +0 -58
  692. package/dist/compact-session-EJ36VH5I.js +0 -21
  693. package/dist/context-4HGPCOH6.cjs +0 -22
  694. package/dist/context-DCECDKWN.js +0 -5
  695. package/dist/cron-DgHJnMAK.d.cts +0 -631
  696. package/dist/cron-DyWQsEG6.d.ts +0 -631
  697. package/dist/executor-3CGPLVJL.js.map +0 -1
  698. package/dist/executor-4SW7QGZ4.cjs.map +0 -1
  699. package/dist/fs-session-store-LIKYT24K.js +0 -10
  700. package/dist/fs-session-store-VXXDIBGM.cjs +0 -19
  701. package/dist/generate-object-E465DX5I.cjs +0 -20
  702. package/dist/generate-object-TVQCW2IZ.js +0 -7
  703. package/dist/index-manager-EA6FGIQG.js +0 -12
  704. package/dist/index-manager-HGGL4DD5.cjs +0 -21
  705. package/dist/inject-session-67SF65FC.cjs +0 -28
  706. package/dist/inject-session-67SF65FC.cjs.map +0 -1
  707. package/dist/inject-session-HO7FYVCX.js.map +0 -1
  708. package/dist/judge-call-GVIJWQVE.cjs +0 -22
  709. package/dist/judge-call-QMKGC2ZK.js +0 -5
  710. package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
  711. package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
  712. package/dist/registry-GC7BQMSV.js +0 -9
  713. package/dist/registry-UBY26R4I.cjs +0 -46
  714. package/dist/session-transcript-SKIRBEJE.js +0 -5
  715. package/dist/session-transcript-TNAJ4O3M.cjs +0 -50
  716. package/dist/stream-object-QMNR3YFF.js +0 -7
  717. package/dist/stream-object-T4DAMNVB.cjs +0 -20
  718. package/dist/subagents-loader-3CXBQWWY.cjs +0 -15
  719. package/dist/subagents-loader-WN2SB6PV.js +0 -6
@@ -1,29 +1,30 @@
1
1
  'use strict';
2
2
 
3
- var chunkADVZIC43_cjs = require('../../../chunk-ADVZIC43.cjs');
4
- require('../../../chunk-E3OCRJU6.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-KNZU4YO5.cjs');
8
- require('../../../chunk-NFATC6ZF.cjs');
9
- require('../../../chunk-YTO5BRBD.cjs');
7
+ require('../../../chunk-R3UPQFKK.cjs');
10
8
  require('../../../chunk-VKJ7V7EB.cjs');
11
- require('../../../chunk-2YGIBOUH.cjs');
12
- require('../../../chunk-SXSPMRSV.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 chunkADVZIC43_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-EFXJ5C7X.js';
2
- import '../../../chunk-OZXPA3ME.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-ITQ4NO4P.js';
6
- import '../../../chunk-ZSJPRPN7.js';
7
- import '../../../chunk-XWCTBGYK.js';
5
+ import '../../../chunk-QARJGQSA.js';
8
6
  import '../../../chunk-RIAM53CP.js';
9
- import '../../../chunk-HI4ZW62S.js';
10
- import '../../../chunk-4X3SBHPK.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,3 +1,27 @@
1
+ /**
2
+ * M107 — temp-file creation control, shared by `replaceFileAtomic`,
3
+ * `atomicWriteJson` e `atomicWriteText`.
4
+ *
5
+ * Both fields are OPTIONAL and the default is byte-identical to the behavior
6
+ * before M107. See `replaceFileAtomic` for why the mode reassertion
7
+ * is conditional.
8
+ *
9
+ */
10
+ export interface AtomicWriteFileOptions {
11
+ /**
12
+ * Permission bits of the created file. Default: `0o600`, the previous fixed
13
+ * literal — filtered by the `umask`, as it always was. When provided, the mode is
14
+ * reasserted on the descriptor, so the `umask` cannot silently
15
+ * clearing bits the caller asked for.
16
+ */
17
+ mode?: number;
18
+ /**
19
+ * Create the temp file with `wx` (exclusive creation) instead of `w`. Default:
20
+ * `false` — the previous flag. With `true`, a pre-existing temp file becomes
21
+ * `EEXIST` instead of being truncated.
22
+ */
23
+ exclusive?: boolean;
24
+ }
1
25
  /**
2
26
  * U-9 — the file a leftover temp was replacing, or `undefined` if this is not one of ours.
3
27
  *
@@ -12,3 +36,72 @@
12
36
  * deleting them.
13
37
  */
14
38
  export declare function atomicWriteTempTarget(name: string): string | undefined;
39
+ /**
40
+ * Atomic file replacement: write content to a per-call unique tmp path,
41
+ * fsync, then rename over the target. Crash mid-write leaves either the old
42
+ * file intact or the new file complete — never a half-written file.
43
+ *
44
+ * The tmp suffix is `<pid>.<rand>.tmp` so parallel processes (and concurrent
45
+ * burst writes within one process) never collide on the same tmp path — a
46
+ * race that would manifest as `ENOENT` on `rename` after the rival process
47
+ * already moved its tmp into place.
48
+ *
49
+ * Mirrors peer-project's `replaceFileAtomic` from
50
+ * `reference/peer-project/packages/memory-host-sdk/src/host/fs-utils.ts` with
51
+ * the multi-writer robustness fix.
52
+ *
53
+ * ## M107 — `options` is optional, and the default is byte-identical
54
+ *
55
+ * The third parameter is additive: every earlier caller still compiles and
56
+ * writing exactly the same bytes, with the same mode, to the same path.
57
+ *
58
+ * The mode reassertion (`handle.chmod`) is **conditional on `mode !== undefined`**,
59
+ * and that is not cosmetic. `open`'s mode argument is filtered by the `umask`,
60
+ * which only CLEARS bits — measured in this codebase before the change:
61
+ *
62
+ * ```
63
+ * umask 0o002 -> 0o600 umask 0o022 -> 0o600 umask 0o200 -> 0o400
64
+ * ```
65
+ *
66
+ * An unconditional `chmod` would take the third case from `0o400` to `0o600` — a
67
+ * an on-disk change for every caller that asked for nothing, including external
68
+ * consumers. When the caller DOES ask for a mode, however, letting the `umask` decide
69
+ * silently is the defect this parameter exists to close; hence the reassertion.
70
+ *
71
+ * It goes on the DESCRIPTOR, before the `rename`, never after: chmod-ing the final
72
+ * final one would leave a window where it carries the `umask`'s mode — a known anti-pattern.
73
+ * The chosen shape passes the mode as an `open` argument.
74
+ *
75
+ */
76
+ export declare function replaceFileAtomic(filePath: string, content: string, options?: AtomicWriteFileOptions): Promise<void>;
77
+ /**
78
+ * Options for `atomicWriteJson`.
79
+ *
80
+ */
81
+ export interface AtomicWriteJsonOptions extends AtomicWriteFileOptions {
82
+ /** Indent passed to `JSON.stringify`. Default: 2. */
83
+ indent?: number;
84
+ /** Whether to append a trailing newline (POSIX convention). Default: true. */
85
+ trailingNewline?: boolean;
86
+ }
87
+ /**
88
+ * Typed JSON atomic write helper.
89
+ *
90
+ * Serializes `data` to JSON, then delegates to `replaceFileAtomic`. The
91
+ * parent directory is auto-created (recursive `mkdir`) to make this helper
92
+ * safe for callers who haven't ensured the directory exists (EC-4 in the
93
+ * persistence-state-hardening plan).
94
+ *
95
+ * Throws `TypeError` on circular refs or `undefined` data (propagates from
96
+ * `JSON.stringify`).
97
+ *
98
+ */
99
+ export declare function atomicWriteJson<T>(filePath: string, data: T, options?: AtomicWriteJsonOptions): Promise<void>;
100
+ /**
101
+ * Atomic text write. Same crash-safety guarantees as `replaceFileAtomic` +
102
+ * auto-mkdir of the parent directory. Used by `theokit-migrate-config`
103
+ * (T4.1, EC-2 MUST FIX) so a crash mid-migration leaves previous MD files
104
+ * intact rather than corrupting them.
105
+ *
106
+ */
107
+ export declare function atomicWriteText(filePath: string, content: string): Promise<void>;
@@ -1,3 +1,27 @@
1
+ /**
2
+ * M107 — temp-file creation control, shared by `replaceFileAtomic`,
3
+ * `atomicWriteJson` e `atomicWriteText`.
4
+ *
5
+ * Both fields are OPTIONAL and the default is byte-identical to the behavior
6
+ * before M107. See `replaceFileAtomic` for why the mode reassertion
7
+ * is conditional.
8
+ *
9
+ */
10
+ export interface AtomicWriteFileOptions {
11
+ /**
12
+ * Permission bits of the created file. Default: `0o600`, the previous fixed
13
+ * literal — filtered by the `umask`, as it always was. When provided, the mode is
14
+ * reasserted on the descriptor, so the `umask` cannot silently
15
+ * clearing bits the caller asked for.
16
+ */
17
+ mode?: number;
18
+ /**
19
+ * Create the temp file with `wx` (exclusive creation) instead of `w`. Default:
20
+ * `false` — the previous flag. With `true`, a pre-existing temp file becomes
21
+ * `EEXIST` instead of being truncated.
22
+ */
23
+ exclusive?: boolean;
24
+ }
1
25
  /**
2
26
  * U-9 — the file a leftover temp was replacing, or `undefined` if this is not one of ours.
3
27
  *
@@ -12,3 +36,72 @@
12
36
  * deleting them.
13
37
  */
14
38
  export declare function atomicWriteTempTarget(name: string): string | undefined;
39
+ /**
40
+ * Atomic file replacement: write content to a per-call unique tmp path,
41
+ * fsync, then rename over the target. Crash mid-write leaves either the old
42
+ * file intact or the new file complete — never a half-written file.
43
+ *
44
+ * The tmp suffix is `<pid>.<rand>.tmp` so parallel processes (and concurrent
45
+ * burst writes within one process) never collide on the same tmp path — a
46
+ * race that would manifest as `ENOENT` on `rename` after the rival process
47
+ * already moved its tmp into place.
48
+ *
49
+ * Mirrors peer-project's `replaceFileAtomic` from
50
+ * `reference/peer-project/packages/memory-host-sdk/src/host/fs-utils.ts` with
51
+ * the multi-writer robustness fix.
52
+ *
53
+ * ## M107 — `options` is optional, and the default is byte-identical
54
+ *
55
+ * The third parameter is additive: every earlier caller still compiles and
56
+ * writing exactly the same bytes, with the same mode, to the same path.
57
+ *
58
+ * The mode reassertion (`handle.chmod`) is **conditional on `mode !== undefined`**,
59
+ * and that is not cosmetic. `open`'s mode argument is filtered by the `umask`,
60
+ * which only CLEARS bits — measured in this codebase before the change:
61
+ *
62
+ * ```
63
+ * umask 0o002 -> 0o600 umask 0o022 -> 0o600 umask 0o200 -> 0o400
64
+ * ```
65
+ *
66
+ * An unconditional `chmod` would take the third case from `0o400` to `0o600` — a
67
+ * an on-disk change for every caller that asked for nothing, including external
68
+ * consumers. When the caller DOES ask for a mode, however, letting the `umask` decide
69
+ * silently is the defect this parameter exists to close; hence the reassertion.
70
+ *
71
+ * It goes on the DESCRIPTOR, before the `rename`, never after: chmod-ing the final
72
+ * final one would leave a window where it carries the `umask`'s mode — a known anti-pattern.
73
+ * The chosen shape passes the mode as an `open` argument.
74
+ *
75
+ */
76
+ export declare function replaceFileAtomic(filePath: string, content: string, options?: AtomicWriteFileOptions): Promise<void>;
77
+ /**
78
+ * Options for `atomicWriteJson`.
79
+ *
80
+ */
81
+ export interface AtomicWriteJsonOptions extends AtomicWriteFileOptions {
82
+ /** Indent passed to `JSON.stringify`. Default: 2. */
83
+ indent?: number;
84
+ /** Whether to append a trailing newline (POSIX convention). Default: true. */
85
+ trailingNewline?: boolean;
86
+ }
87
+ /**
88
+ * Typed JSON atomic write helper.
89
+ *
90
+ * Serializes `data` to JSON, then delegates to `replaceFileAtomic`. The
91
+ * parent directory is auto-created (recursive `mkdir`) to make this helper
92
+ * safe for callers who haven't ensured the directory exists (EC-4 in the
93
+ * persistence-state-hardening plan).
94
+ *
95
+ * Throws `TypeError` on circular refs or `undefined` data (propagates from
96
+ * `JSON.stringify`).
97
+ *
98
+ */
99
+ export declare function atomicWriteJson<T>(filePath: string, data: T, options?: AtomicWriteJsonOptions): Promise<void>;
100
+ /**
101
+ * Atomic text write. Same crash-safety guarantees as `replaceFileAtomic` +
102
+ * auto-mkdir of the parent directory. Used by `theokit-migrate-config`
103
+ * (T4.1, EC-2 MUST FIX) so a crash mid-migration leaves previous MD files
104
+ * intact rather than corrupting them.
105
+ *
106
+ */
107
+ export declare function atomicWriteText(filePath: string, content: string): 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>;