@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,34 +1,36 @@
1
- import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-GOVJO4YE.js';
2
- import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-PGP7IOJ2.js';
1
+ import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-OHBIUXKM.js';
2
+ import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-DAPSQZT4.js';
3
+ import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-YMA4S2WO.js';
3
4
  import { extractCodePlugins } from './chunk-2SFBB54R.js';
4
- import { submit, emitRunEvent } from './chunk-XROIW6BH.js';
5
- import { FsSessionStore } from './chunk-B6HOIWQ6.js';
6
- import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, shouldUseRealLocalRuntime, CircuitBreaker, buildDefaultSummarizer, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-LS3LMQ23.js';
7
- import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-SEL2ZQMT.js';
5
+ import { submit, emitRunEvent } from './chunk-SUKXXLWD.js';
6
+ import { createOpenAiCompatibleRuntime } from './chunk-XN7NOENA.js';
7
+ import { FsSessionStore } from './chunk-GJ6RK75E.js';
8
+ import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, CircuitBreaker, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, warnProviderPrecedenceOnce, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-MVAPK2BX.js';
8
9
  import { resolveChildEnv } from './chunk-HKCKOAIO.js';
9
- import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-34XOCZJO.js';
10
- import { readVersionedJson, getTheokitHome, writeVersionedJson } from './chunk-PBZ7HMBP.js';
11
- import { createOpenAiCompatibleRuntime } from './chunk-KSWHTR54.js';
10
+ import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-5PHVENFV.js';
11
+ import { readVersionedJson, getTheokitHome, writeVersionedJson } from './chunk-UPRJR6IP.js';
12
+ import { toJsonSchema } from './chunk-4VPXM6UU.js';
12
13
  import { sanitizeToolInput } from './chunk-U54XCYG3.js';
13
- import { withInheritedSubAgentCredentials, subAgentToolsFromDefinitions } from './chunk-RP5HQVLD.js';
14
+ import { withInheritedSubAgentCredentials, subAgentToolsFromDefinitions } from './chunk-RNB4APBZ.js';
14
15
  import { setAgentFacade } from './chunk-6X6ID4MO.js';
16
+ import { escapeBlockBody, buildSkillsBlock, discoverSkills, stripSkillFrontmatter } from './chunk-4ERPXIVB.js';
15
17
  import { withToolWhitelist, checkToolWhitelist } from './chunk-7AD3ZTZL.js';
16
- import { mapWithConcurrency } from './chunk-3WVMJY7F.js';
17
- import { expandTilde, defaultBaseDir } from './chunk-N5CR3TJZ.js';
18
- import { withFileLock } from './chunk-NZL4BNFQ.js';
19
- import { withCwdMutex } from './chunk-2XLKLVVR.js';
20
- import { toJsonSchema } from './chunk-4VPXM6UU.js';
21
- import { atomicWriteJson } from './chunk-6AZDM6LK.js';
22
- import { loadSubagents } from './chunk-UFIXH26P.js';
23
- import { resolveEffectiveContextWindow, CONTEXT_WINDOW_FLOOR, CONTEXT_WINDOW_MARGIN } from './chunk-HE4BIAOS.js';
24
- import { parseModelId } from './chunk-X2FR4OIT.js';
25
- import { getCatalogModelInfo, registerBuiltins, getProviderProfile, registerProvider, isPatchedModelKey } from './chunk-HSQ5Q3I5.js';
26
- import { escapeBlockBody, buildSkillsBlock, discoverSkills, stripSkillFrontmatter } from './chunk-OY7O3Q6R.js';
27
- import { validateArtifactPath, PathTraversalError, safePathJoin } from './chunk-SK4QLUBK.js';
18
+ import { validateArtifactPath, PathTraversalError, safePathJoin } from './chunk-QARJGQSA.js';
28
19
  import { insideRoot, atOrInsideRoot } from './chunk-RIAM53CP.js';
29
- import { readWorkspaceDir, parseSimpleYaml } from './chunk-DGOG5NXR.js';
30
- import { AgentRunError, coerceToKnownAgentRunErrorCode, UnknownAgentError, ConfigurationError, AuthenticationError, UnsupportedRunOperationError, AgentDisposedError, NetworkError, TheokitAgentError } from './chunk-U4UJHOSH.js';
31
- import { diag, resolveApiKey, redactSecrets } from './chunk-5F5NWKPN.js';
20
+ import { mapWithConcurrency } from './chunk-UC3HT2S4.js';
21
+ import { expandTilde, defaultBaseDir } from './chunk-DZBSJX6J.js';
22
+ import { withFileLock } from './chunk-CV7XMBHP.js';
23
+ import { withCwdMutex } from './chunk-Q5EWJPRY.js';
24
+ import { atomicWriteJson } from './chunk-VF7EWVDG.js';
25
+ import { loadSubagents } from './chunk-2QKTVKH3.js';
26
+ import { readWorkspaceDir, parseSimpleYaml } from './chunk-AG5JPQIY.js';
27
+ import { resolveEffectiveContextWindow, CONTEXT_WINDOW_FLOOR, CONTEXT_WINDOW_MARGIN } from './chunk-F7AQV62G.js';
28
+ import { parseModelId } from './chunk-R7WIIPUR.js';
29
+ import { getProviderProfile } from './chunk-2BDH744Z.js';
30
+ import { getCatalogModelInfo, registerBuiltins, getProviderProfile as getProviderProfile$1, registerProvider, isPatchedModelKey } from './chunk-Q4CMI2LP.js';
31
+ import { AgentRunError, coerceToKnownAgentRunErrorCode, UnknownAgentError, ConfigurationError, AuthenticationError, AgentDisposedError, UnsupportedRunOperationError, NetworkError, TheokitAgentError } from './chunk-IDCKSLYH.js';
32
+ import { resolveApiKey, API_KEY_ENV_VAR, redactSecrets } from './chunk-T7XEKOVW.js';
33
+ import { diag } from './chunk-T7O6K6PX.js';
32
34
  import { stat, mkdir, readFile, readdir, access, unlink } from 'fs/promises';
33
35
  import { randomUUID, createHash } from 'crypto';
34
36
  import { join, dirname, resolve, isAbsolute } from 'path';
@@ -223,7 +225,7 @@ async function agentGenerate(agent, agentModel, agentApiKey, agentLocal, input,
223
225
  const { output, maxRetries, errorStrategy, ...sendOptions } = options;
224
226
  const run = await agent.send(input, sendOptions);
225
227
  const result = await run.wait();
226
- const { generateObjectImpl, GenerateObjectError } = await import('./generate-object-WQRCXFD2.js');
228
+ const { generateObjectImpl, GenerateObjectError } = await import('./generate-object-N5MDZUJI.js');
227
229
  const answer = structurableAnswerOrThrow(result, GenerateObjectError);
228
230
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
229
231
  const facade = getAgentFacade();
@@ -555,10 +557,11 @@ function registerAgent(agent) {
555
557
  function getRegisteredAgent(agentId) {
556
558
  return agents.get(agentId);
557
559
  }
558
- function listRegisteredAgents(runtime, cwd) {
560
+ function listRegisteredAgents(runtime, cwd, includeArchived = false) {
559
561
  let out = Array.from(agents.values());
560
562
  if (runtime !== void 0) out = out.filter((agent) => agent.runtime === runtime);
561
563
  if (cwd !== void 0) out = out.filter((agent) => resolveRegistryCwd(agent) === cwd);
564
+ if (!includeArchived) out = out.filter((agent) => !agent.archived);
562
565
  return out;
563
566
  }
564
567
  function updateRegisteredAgent(agentId, update) {
@@ -1708,7 +1711,7 @@ var RealCloudRun = class extends FixtureRunBase {
1708
1711
  }
1709
1712
  if (eventName === "result") {
1710
1713
  const update = {
1711
- finalStatus: parsed.status ?? "finished"
1714
+ finalStatus: parsed.status === void 0 ? "finished" : toRunStatus(parsed.status)
1712
1715
  };
1713
1716
  if (typeof parsed.result === "string") update.finalText = parsed.result;
1714
1717
  return update;
@@ -1720,7 +1723,7 @@ var RealCloudRun = class extends FixtureRunBase {
1720
1723
  type: "status",
1721
1724
  agent_id: this.agentId,
1722
1725
  run_id: this.id,
1723
- status
1726
+ status: toWireStatus(status)
1724
1727
  };
1725
1728
  }
1726
1729
  buildAssistantEvent(text) {
@@ -1742,6 +1745,43 @@ var RealCloudRun = class extends FixtureRunBase {
1742
1745
  this.transitionTo("error");
1743
1746
  }
1744
1747
  };
1748
+ var SERVER_STATUS_TO_RUN_STATUS = {
1749
+ creating: "running",
1750
+ running: "running",
1751
+ finished: "finished",
1752
+ error: "error",
1753
+ cancelled: "cancelled",
1754
+ expired: "error"
1755
+ };
1756
+ var WIRE_STATUSES = [
1757
+ "CREATING",
1758
+ "RUNNING",
1759
+ "FINISHED",
1760
+ "ERROR",
1761
+ "CANCELLED",
1762
+ "EXPIRED"
1763
+ ];
1764
+ function toWireStatus(token) {
1765
+ if (typeof token === "string") {
1766
+ const upper = token.toUpperCase();
1767
+ const match = WIRE_STATUSES.find((candidate) => candidate === upper);
1768
+ if (match !== void 0) return match;
1769
+ }
1770
+ throw new NetworkError(
1771
+ `Cloud Run stream reported an unrecognised status ${JSON.stringify(token)}; expected one of ${WIRE_STATUSES.join(", ")} (case-insensitive)`,
1772
+ { code: "cloud_run_unknown_status" }
1773
+ );
1774
+ }
1775
+ function toRunStatus(token) {
1776
+ if (typeof token === "string") {
1777
+ const mapped = SERVER_STATUS_TO_RUN_STATUS[token.toLowerCase()];
1778
+ if (mapped !== void 0) return mapped;
1779
+ }
1780
+ throw new NetworkError(
1781
+ `Cloud Run stream reported an unrecognised status ${JSON.stringify(token)}; expected one of ${Object.keys(SERVER_STATUS_TO_RUN_STATUS).join(", ")} (case-insensitive)`,
1782
+ { code: "cloud_run_unknown_status" }
1783
+ );
1784
+ }
1745
1785
  function safeParse(data2) {
1746
1786
  try {
1747
1787
  return JSON.parse(data2);
@@ -1807,6 +1847,7 @@ var CloudAgent = class {
1807
1847
  );
1808
1848
  }
1809
1849
  async send(message, options = {}) {
1850
+ if (this.disposed) throw new AgentDisposedError(this.agentId);
1810
1851
  if (options.tools !== void 0 && options.tools.length > 0) {
1811
1852
  throw new ConfigurationError(
1812
1853
  "Custom inline tools are local-only in SDK v1.0 \u2014 cloud agents cannot serialize handler functions",
@@ -2653,6 +2694,9 @@ function buildContextBudgetEvent(model, resolved) {
2653
2694
  }
2654
2695
 
2655
2696
  // src/internal/runtime/lifecycle/post-run-lifecycle.ts
2697
+ function sessionTranscriptAllowed(memory) {
2698
+ return memory?.enabled !== false;
2699
+ }
2656
2700
  function resolveWindowForRun(model, contextWindow) {
2657
2701
  const override = contextWindow !== void 0 && contextWindow > 0 ? contextWindow : void 0;
2658
2702
  return resolveEffectiveContextWindow({
@@ -2728,7 +2772,7 @@ async function runPostRunLifecycle(inputs) {
2728
2772
  },
2729
2773
  onRunEvent !== void 0 ? () => emitRunEvent(onRunEvent, { type: "compact_boundary", trigger: "auto" }) : void 0
2730
2774
  );
2731
- if (result.status === "finished" && result.result !== void 0) {
2775
+ if (result.status === "finished" && result.result !== void 0 && sessionTranscriptAllowed(inputs.memory)) {
2732
2776
  const summaryArgs = {
2733
2777
  cwd: workspaceCwd,
2734
2778
  runId: result.id,
@@ -3248,11 +3292,17 @@ function validateSubagents(agents2) {
3248
3292
  }
3249
3293
  }
3250
3294
  var TOOL_NAME_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;
3251
- var RESERVED_TOOL_NAMES = /* @__PURE__ */ new Set(["shell", "memory_search", "memory_get"]);
3252
- function validateToolCatalog(tools) {
3295
+ var BUILTIN_TOOL_NAMES = ["shell", "memory_search", "memory_get"];
3296
+ var RESERVED_TOOL_NAMES = new Set(BUILTIN_TOOL_NAMES);
3297
+ function reservedNamesFor(withheld) {
3298
+ if (withheld === void 0 || withheld.length === 0) return RESERVED_TOOL_NAMES;
3299
+ return new Set(BUILTIN_TOOL_NAMES.filter((name) => !withheld.includes(name)));
3300
+ }
3301
+ function validateToolCatalog(tools, withheldBuiltins) {
3302
+ const reserved = reservedNamesFor(withheldBuiltins);
3253
3303
  const seen = /* @__PURE__ */ new Set();
3254
3304
  for (const tool of tools) {
3255
- validateSingleTool(tool);
3305
+ validateSingleTool(tool, reserved);
3256
3306
  if (seen.has(tool.name)) {
3257
3307
  throw new ConfigurationError(`Duplicate custom tool name "${tool.name}"`, {
3258
3308
  code: "duplicate_tool_name"
@@ -3270,10 +3320,10 @@ function validateCustomTools(options) {
3270
3320
  { code: "cloud_custom_tools_rejected" }
3271
3321
  );
3272
3322
  }
3273
- validateToolCatalog(tools);
3323
+ validateToolCatalog(tools, options.withheldBuiltinTools);
3274
3324
  }
3275
- function validateSingleTool(tool) {
3276
- validateToolName(tool);
3325
+ function validateSingleTool(tool, reserved) {
3326
+ validateToolName(tool, reserved);
3277
3327
  validateToolDescription(tool);
3278
3328
  validateToolSchema(tool);
3279
3329
  if (typeof tool.handler !== "function") {
@@ -3282,7 +3332,7 @@ function validateSingleTool(tool) {
3282
3332
  });
3283
3333
  }
3284
3334
  }
3285
- function validateToolName(tool) {
3335
+ function validateToolName(tool, reserved) {
3286
3336
  if (typeof tool.name !== "string" || tool.name.length === 0) {
3287
3337
  throw new ConfigurationError("Custom tool requires a non-empty name", {
3288
3338
  code: "tool_missing_name"
@@ -3294,7 +3344,7 @@ function validateToolName(tool) {
3294
3344
  { code: "tool_invalid_name" }
3295
3345
  );
3296
3346
  }
3297
- if (RESERVED_TOOL_NAMES.has(tool.name) || tool.name.startsWith("mcp_")) {
3347
+ if (reserved.has(tool.name) || tool.name.startsWith("mcp_")) {
3298
3348
  throw new ConfigurationError(
3299
3349
  `Custom tool name "${tool.name}" collides with a reserved SDK tool name`,
3300
3350
  { code: "tool_reserved_name" }
@@ -3456,6 +3506,9 @@ var langsmithAdapter = {
3456
3506
 
3457
3507
  // src/internal/telemetry/adapters/posthog.ts
3458
3508
  var registeredHere6 = false;
3509
+ function presentEnv(value) {
3510
+ return value !== void 0 && value.trim().length > 0 ? value : void 0;
3511
+ }
3459
3512
  var posthogAdapter = {
3460
3513
  moduleName: "posthog-node",
3461
3514
  displayName: "PostHog",
@@ -3465,12 +3518,12 @@ var posthogAdapter = {
3465
3518
  const ph = safeRequire("posthog-node");
3466
3519
  const otel = safeRequire("@opentelemetry/api");
3467
3520
  if (ph === void 0 || otel === void 0) return;
3468
- const key = process.env.POSTHOG_API_KEY ?? process.env.POSTHOG_PROJECT_API_KEY;
3521
+ const key = presentEnv(process.env.POSTHOG_API_KEY) ?? presentEnv(process.env.POSTHOG_PROJECT_API_KEY);
3469
3522
  if (typeof key !== "string" || key.length === 0) {
3470
3523
  return;
3471
3524
  }
3472
3525
  const client = new ph.PostHog(key, {
3473
- host: process.env.POSTHOG_HOST ?? "https://us.i.posthog.com"
3526
+ host: presentEnv(process.env.POSTHOG_HOST) ?? "https://us.i.posthog.com"
3474
3527
  });
3475
3528
  const provider = otel.trace.getTracerProvider();
3476
3529
  if (provider.addSpanProcessor === void 0) return;
@@ -3748,10 +3801,11 @@ var ProvidersManagerImpl = class {
3748
3801
  routes() {
3749
3802
  const resolved = [];
3750
3803
  const modelProvider = providerFromModel(this.model);
3804
+ const modelId = this.model?.id;
3751
3805
  const seen = /* @__PURE__ */ new Set();
3752
3806
  if (this.providers?.routes !== void 0) {
3753
3807
  for (const route of this.providers.routes) {
3754
- const resolvedRoute = resolveRoute(route, modelProvider, this.plugins);
3808
+ const resolvedRoute = resolveRoute(route, modelProvider, modelId, this.plugins);
3755
3809
  if (!seen.has(route.capability)) {
3756
3810
  seen.add(route.capability);
3757
3811
  resolved.push(resolvedRoute);
@@ -3767,9 +3821,9 @@ function providerFromModel(model) {
3767
3821
  if (id.includes(":")) return id.split(":")[0];
3768
3822
  return void 0;
3769
3823
  }
3770
- function resolveRoute(route, modelProvider, plugins) {
3824
+ function resolveRoute(route, modelProvider, modelId, plugins) {
3771
3825
  if (route.capability === "chat" && modelProvider === route.provider) {
3772
- const modelName = extractModelName(modelProvider, route);
3826
+ const modelName = extractModelName(modelProvider, modelId, route);
3773
3827
  const base = {
3774
3828
  capability: route.capability,
3775
3829
  provider: route.provider,
@@ -3791,13 +3845,11 @@ function resolveRoute(route, modelProvider, plugins) {
3791
3845
  reason: "explicit-route"
3792
3846
  };
3793
3847
  }
3794
- function extractModelName(prefix, route) {
3848
+ function extractModelName(prefix, modelId, route) {
3795
3849
  if (route.model !== void 0) return route.model;
3796
- return prefix === route.provider ? defaultModelForProvider(prefix) : void 0;
3797
- }
3798
- function defaultModelForProvider(provider) {
3799
- if (provider === "anthropic") return "claude-3-7-sonnet";
3800
- return void 0;
3850
+ if (prefix !== route.provider || modelId === void 0) return void 0;
3851
+ const name = modelId.slice(modelId.indexOf(":") + 1);
3852
+ return name.length > 0 ? name : void 0;
3801
3853
  }
3802
3854
  var MAX_MD_FILE_BYTES = 1048576;
3803
3855
  async function loadMarkdownEntities(opts) {
@@ -4115,7 +4167,6 @@ async function loadSources(config, cwd) {
4115
4167
  continue;
4116
4168
  }
4117
4169
  try {
4118
- await stat(absolute);
4119
4170
  const content = await readFile(absolute, "utf8");
4120
4171
  const tokens = tokenizeContent(content);
4121
4172
  results.push({ ...source, status: "included", tokens });
@@ -4230,6 +4281,21 @@ var PluginsManager = class {
4230
4281
  });
4231
4282
  }
4232
4283
  }
4284
+ /**
4285
+ * B-107 measured this guard as unreachable and it was REMOVED on 2026-08-20. The pre-push gate
4286
+ * caught the regression the same hour: `tests/contract/plugins.contract.test.ts:69` drives
4287
+ * `Agent.create` with `cloud` plus `plugins.paths` and requires a `ConfigurationError`.
4288
+ *
4289
+ * The measurement that said "unreachable" was a `tsc` probe returning TS2353 — `plugins.paths` is
4290
+ * not in the declared `AgentOptions`. That proves the option is undeclarable in TypeScript; it
4291
+ * does NOT prove the value cannot arrive. The contract test casts through a `ProposedAgentOptions`
4292
+ * shape it declares itself, which is exactly what a JavaScript caller, a JSON config or an `as`
4293
+ * cast does. Runtime boundary validation exists for values types cannot stop
4294
+ * (`rules/architecture.md` § 1) — so "the type system forbids it" is never on its own a reason to
4295
+ * delete a boundary check.
4296
+ *
4297
+ * Do not remove this again without making `tests/contract/plugins.contract.test.ts` go red first.
4298
+ */
4233
4299
  assertCloudRules() {
4234
4300
  if (!this.cloud) return;
4235
4301
  if (this.localPaths !== void 0 && this.localPaths.length > 0) {
@@ -4791,8 +4857,10 @@ async function initLoopContext(inputs) {
4791
4857
  memoryProviderHandle = void 0;
4792
4858
  }
4793
4859
  }
4794
- const tools = await collectTools(inputs.mcp, inputs.runEventSink);
4860
+ const withheld = new Set(inputs.withheldBuiltinTools ?? []);
4861
+ const tools = await collectTools(inputs.mcp, withheld, inputs.runEventSink);
4795
4862
  for (const memTool of inputs.memoryTools ?? []) {
4863
+ if (withheld.has(memTool.name)) continue;
4796
4864
  tools.push({
4797
4865
  name: memTool.name,
4798
4866
  description: memTool.description,
@@ -4818,6 +4886,7 @@ async function initLoopContext(inputs) {
4818
4886
  providerTools = [];
4819
4887
  }
4820
4888
  for (const providerTool of providerTools) {
4889
+ if (withheld.has(providerTool.name)) continue;
4821
4890
  tools.push({
4822
4891
  name: providerTool.name,
4823
4892
  description: providerTool.description,
@@ -4877,7 +4946,13 @@ async function initLoopContext(inputs) {
4877
4946
  }
4878
4947
  async function safeListTools(client, serverName, sink) {
4879
4948
  try {
4880
- return await client.listTools();
4949
+ const listed = await client.listTools();
4950
+ emitRunEvent(sink, {
4951
+ type: "mcp_server_ready",
4952
+ serverName: serverName ?? "unknown",
4953
+ tools: listed.map((tool) => tool.name)
4954
+ });
4955
+ return listed;
4881
4956
  } catch (cause) {
4882
4957
  const message = cause instanceof Error ? cause.message : String(cause);
4883
4958
  const server = serverName ?? "unknown";
@@ -4887,8 +4962,9 @@ async function safeListTools(client, serverName, sink) {
4887
4962
  return [];
4888
4963
  }
4889
4964
  }
4890
- async function collectTools(mcp, sink) {
4891
- const tools = [
4965
+ function shellToolDescriptor(withheld) {
4966
+ if (withheld.has("shell")) return [];
4967
+ return [
4892
4968
  {
4893
4969
  name: "shell",
4894
4970
  description: "Run a shell command in the workspace and return stdout/stderr.",
@@ -4900,6 +4976,9 @@ async function collectTools(mcp, sink) {
4900
4976
  origin: "shell"
4901
4977
  }
4902
4978
  ];
4979
+ }
4980
+ async function collectTools(mcp, withheld, sink) {
4981
+ const tools = shellToolDescriptor(withheld);
4903
4982
  for (const [serverName, client] of mcp.entries()) {
4904
4983
  const mcpTools = await safeListTools(client, serverName, sink);
4905
4984
  for (const tool of mcpTools) {
@@ -4918,6 +4997,13 @@ async function collectTools(mcp, sink) {
4918
4997
  function sanitize(name) {
4919
4998
  return name.replace(/[^a-zA-Z0-9-]+/g, "_").replace(/^[_-]+|[_-]+$/g, "");
4920
4999
  }
5000
+ var KEY_PREFIX = "theokit-";
5001
+ var KEY_HEX_LENGTH = 32;
5002
+ function derivePromptCacheKey(sessionId) {
5003
+ if (sessionId === void 0 || sessionId.trim().length === 0) return void 0;
5004
+ const digest = createHash("sha256").update(sessionId, "utf8").digest("hex");
5005
+ return `${KEY_PREFIX}${digest.slice(0, KEY_HEX_LENGTH)}`;
5006
+ }
4921
5007
 
4922
5008
  // src/internal/tool-dispatch/strip-think.ts
4923
5009
  var THINK_PATTERN = /<think>[\s\S]*?<\/think>\s*/g;
@@ -4989,6 +5075,16 @@ async function streamLlmTurn(inputs, ctx) {
4989
5075
  // Step-cap force-close: forward the per-run tool gate (`"none"` on a ceiling round forces a
4990
5076
  // text close even though tools are advertised). Absent ⇒ provider default (auto).
4991
5077
  ...inputs.toolChoice !== void 0 ? { toolChoice: inputs.toolChoice } : {},
5078
+ // usetheokit/theokit-sdk#383 — the prompt-cache key, derived HERE and from `inputs.agentId`
5079
+ // because this is the one place that sees the session identity on every round. `agentId` is
5080
+ // the run's session identity (`Agent.getOrCreate(sessionId)`), so the derived key is identical
5081
+ // on round 1 and round 12 of a turn, identical on turn 2 of the same session, and different
5082
+ // for a different session. Deriving it per round from a stable input is what makes it a cache
5083
+ // key; minting one anywhere that runs more than once per session would not be.
5084
+ ...(() => {
5085
+ const key = derivePromptCacheKey(inputs.agentId);
5086
+ return key !== void 0 ? { promptCacheKey: key } : {};
5087
+ })(),
4992
5088
  messages: ctx.messages,
4993
5089
  tools: ctx.tools.map(toLlmTool)
4994
5090
  },
@@ -5029,13 +5125,12 @@ async function streamLlmTurn(inputs, ctx) {
5029
5125
  };
5030
5126
  }
5031
5127
  async function collectLlmEvents(generator, inputs, ctx) {
5032
- let accumulatedText = "";
5033
5128
  let errored = false;
5034
5129
  let finishValue;
5035
5130
  let thinking;
5131
+ const partial = { text: "" };
5036
5132
  try {
5037
- const result = await runCollectorLoop(generator, inputs, ctx);
5038
- accumulatedText = result.accumulatedText;
5133
+ const result = await runCollectorLoop(generator, inputs, ctx, partial);
5039
5134
  errored = result.errored;
5040
5135
  finishValue = result.finishValue;
5041
5136
  thinking = result.thinking;
@@ -5045,10 +5140,12 @@ async function collectLlmEvents(generator, inputs, ctx) {
5045
5140
  ctx.events.push(buildAssistantEvent(inputs, "[aborted]"));
5046
5141
  } else {
5047
5142
  registerLoopError(ctx, cause);
5048
- ctx.finalText = "";
5143
+ ctx.finalText = partial.text;
5144
+ if (partial.text !== "") ctx.events.push(buildAssistantEvent(inputs, partial.text));
5049
5145
  }
5050
5146
  errored = true;
5051
5147
  }
5148
+ const accumulatedText = partial.text;
5052
5149
  return {
5053
5150
  accumulatedText,
5054
5151
  errored,
@@ -5079,8 +5176,7 @@ async function consumeStreamEvent(inputs, reasoning, event) {
5079
5176
  }
5080
5177
  return "";
5081
5178
  }
5082
- async function runCollectorLoop(generator, inputs, ctx) {
5083
- let accumulatedText = "";
5179
+ async function runCollectorLoop(generator, inputs, ctx, partial) {
5084
5180
  const reasoning = { text: "", startedAt: void 0, signature: void 0 };
5085
5181
  let errored = false;
5086
5182
  let finishValue;
@@ -5094,16 +5190,16 @@ async function runCollectorLoop(generator, inputs, ctx) {
5094
5190
  }
5095
5191
  if (next.value.type === "error") {
5096
5192
  registerLoopError(ctx, next.value);
5097
- ctx.finalText = "";
5193
+ ctx.finalText = partial.text;
5098
5194
  errored = true;
5099
5195
  break;
5100
5196
  }
5101
- accumulatedText += await consumeStreamEvent(inputs, reasoning, next.value);
5197
+ partial.text += await consumeStreamEvent(inputs, reasoning, next.value);
5102
5198
  }
5103
5199
  } finally {
5104
5200
  thinking = await finalizeReasoning(inputs, ctx, reasoning);
5105
5201
  }
5106
- return { accumulatedText, errored, finishValue, ...thinking !== void 0 ? { thinking } : {} };
5202
+ return { errored, finishValue, ...thinking !== void 0 ? { thinking } : {} };
5107
5203
  }
5108
5204
  async function consumeReasoningDelta(inputs, reasoning, delta) {
5109
5205
  if (delta.signature !== void 0) reasoning.signature = delta.signature;
@@ -5925,7 +6021,7 @@ function stripDateSuffix(model) {
5925
6021
  return model.replace(/-\d{4}-?\d{2}-?\d{2}$/, "");
5926
6022
  }
5927
6023
  function normalizeAnthropicDots(model) {
5928
- return model.replace(/(\d+)\.(\d+)/g, "$1-$2");
6024
+ return model.replace(/(?<=\d)\.(?=\d)/g, "-");
5929
6025
  }
5930
6026
  function stripOpenRouterPrefix(modelId) {
5931
6027
  return modelId.startsWith("openrouter/") ? modelId.slice("openrouter/".length) : modelId;
@@ -6178,6 +6274,12 @@ async function runAgentLoop(inputs) {
6178
6274
  }
6179
6275
  if (budget.shouldContinue() === false && ctx.finalStatus === "finished" && ctx.finalText === "") {
6180
6276
  ctx.finalStatus = "error";
6277
+ if (ctx.error === void 0) {
6278
+ ctx.error = {
6279
+ message: `Run stopped after ${budget.total} iteration(s) without producing a reply \u2014 the model was still calling tools when the budget ran out. Raise \`SendOptions.maxIterations\` (default 8), or inspect \`RunResult.stoppedAtIterationLimit\` to continue the run.`,
6280
+ code: "iteration_limit_reached"
6281
+ };
6282
+ }
6181
6283
  }
6182
6284
  sendSpan?.setAttribute("status", ctx.finalStatus);
6183
6285
  if (ctx.stoppedByDoomLoop === true) sendSpan?.setAttribute("stoppedByDoomLoop", true);
@@ -6741,12 +6843,6 @@ var HttpMcpClient = class extends BaseMcpClient {
6741
6843
  ...this.config.headers ?? {}
6742
6844
  };
6743
6845
  }
6744
- /**
6745
- * Capture the session on the FIRST response that carries it (the `initialize`).
6746
- *
6747
- * Never overwritten by a later one: a server that re-issues mid-session would otherwise split
6748
- * the session in two, and the second half would not see the first half's state.
6749
- */
6750
6846
  /**
6751
6847
  * Read one JSON-RPC response, in either encoding the server may choose.
6752
6848
  *
@@ -6772,6 +6868,12 @@ var HttpMcpClient = class extends BaseMcpClient {
6772
6868
  code: "mcp_http_error"
6773
6869
  });
6774
6870
  }
6871
+ /**
6872
+ * Capture the session on the FIRST response that carries it (the `initialize`).
6873
+ *
6874
+ * Never overwritten by a later one: a server that re-issues mid-session would otherwise split
6875
+ * the session in two, and the second half would not see the first half's state.
6876
+ */
6775
6877
  captureSession(response) {
6776
6878
  if (this.sessionId !== void 0) return;
6777
6879
  const issued = response.headers.get("mcp-session-id");
@@ -6953,14 +7055,20 @@ function resolveInheritedCredentials(agentOptions) {
6953
7055
  ...parentSandbox !== void 0 ? { sandbox: parentSandbox } : {}
6954
7056
  };
6955
7057
  }
6956
- function buildCustomToolsInput(agentOptions, sendOptions, pluginManager, personalityToolWhitelist, agentId, personalityName, subagents, effectiveModel) {
7058
+ function withheldBuiltinsInput(agentOptions) {
7059
+ const withheld = agentOptions.withheldBuiltinTools;
7060
+ if (withheld === void 0 || withheld.length === 0) return {};
7061
+ return { withheldBuiltinTools: withheld };
7062
+ }
7063
+ function buildRunToolCatalogInput(agentOptions, sendOptions, pluginManager, personalityToolWhitelist, agentId, personalityName, subagents, effectiveModel) {
7064
+ const builtins = withheldBuiltinsInput(agentOptions);
6957
7065
  const baseTools = sendOptions?.tools ?? agentOptions.tools ?? [];
6958
7066
  const agentsForTools = subagents !== void 0 && Object.keys(subagents).length > 0 ? subagents : agentOptions.agents;
6959
7067
  const subagentTools = declarativeSubagentTools(agentsForTools, baseTools);
6960
7068
  const pluginTools = pluginManager?.aggregated.tools ?? [];
6961
7069
  const reasoningTools = reasoningActive(agentOptions.reasoning, effectiveModel) ? [createThinkTool()] : [];
6962
7070
  if (baseTools.length === 0 && subagentTools.length === 0 && pluginTools.length === 0 && reasoningTools.length === 0) {
6963
- return {};
7071
+ return builtins;
6964
7072
  }
6965
7073
  const allTools = [...baseTools, ...subagentTools, ...pluginTools, ...reasoningTools];
6966
7074
  const merged = allTools.map((tool) => ({
@@ -6973,8 +7081,8 @@ function buildCustomToolsInput(agentOptions, sendOptions, pluginManager, persona
6973
7081
  agentId,
6974
7082
  personalityName
6975
7083
  });
6976
- if (customTools.length === 0 && personalityToolWhitelist === void 0) return {};
6977
- return { customTools };
7084
+ if (customTools.length === 0 && personalityToolWhitelist === void 0) return builtins;
7085
+ return { customTools, ...builtins };
6978
7086
  }
6979
7087
 
6980
7088
  // src/internal/local-agent/real-local-run.ts
@@ -7018,9 +7126,10 @@ function resolveRunProvider(options) {
7018
7126
  `);
7019
7127
  }
7020
7128
  const parsedModel = parseModelId(options.model?.id);
7021
- const modelInferredProvider = parsedModel.provider !== void 0 && getProviderProfile(parsedModel.provider) !== void 0 ? parsedModel.provider : void 0;
7129
+ const modelInferredProvider = parsedModel.provider !== void 0 && getProviderProfile$1(parsedModel.provider) !== void 0 ? parsedModel.provider : void 0;
7022
7130
  const keyInferredProvider = inferProviderFromApiKey(options.agentOptions.apiKey);
7023
7131
  const primary = options.agentOptions.providers?.routes?.[0]?.provider ?? keyInferredProvider ?? modelInferredProvider ?? detectPrimaryProvider();
7132
+ warnProviderPrecedenceOnce(modelInferredProvider, primary);
7024
7133
  const effectiveModelId = modelInferredProvider !== void 0 && modelInferredProvider === primary ? parsedModel.name : options.model?.id ?? "claude-sonnet-4-6";
7025
7134
  return { primary, effectiveModelId };
7026
7135
  }
@@ -7049,8 +7158,10 @@ function buildLoopInputs(options, runId, userText, userImages) {
7049
7158
  const credentialPoolStrategy = options.agentOptions.providers?.credentialPoolStrategy;
7050
7159
  const extractToolCallsFromContent = options.agentOptions.providers?.routes?.[0]?.extractToolCallsFromContent;
7051
7160
  const rateLimitSink = options.sendOptions.onRunEvent;
7161
+ const modelBaseUrl = options.model?.url;
7052
7162
  const chain = resolveProviderChain({
7053
7163
  primary,
7164
+ ...modelBaseUrl !== void 0 ? { baseUrl: modelBaseUrl } : {},
7054
7165
  ...fallback !== void 0 ? { fallback } : {},
7055
7166
  ...apiKeys !== void 0 ? { apiKeys } : {},
7056
7167
  ...credentialPoolStrategy !== void 0 ? { credentialPoolStrategy } : {},
@@ -7087,7 +7198,7 @@ function buildLoopInputs(options, runId, userText, userImages) {
7087
7198
  } : {},
7088
7199
  ...options.priorMessages !== void 0 ? { priorMessages: options.priorMessages } : {},
7089
7200
  ...options.memoryTools !== void 0 && options.memoryTools.length > 0 ? { memoryTools: options.memoryTools } : {},
7090
- ...buildCustomToolsInput(
7201
+ ...buildRunToolCatalogInput(
7091
7202
  options.agentOptions,
7092
7203
  options.sendOptions,
7093
7204
  options.pluginManager,
@@ -8454,22 +8565,33 @@ var LocalAgentMemory = class {
8454
8565
  };
8455
8566
 
8456
8567
  // src/internal/local-agent/local-agent-memory-direct.ts
8568
+ async function createAvailableAdapters(entries, workspaceCwd) {
8569
+ const available = [];
8570
+ for (const entry of entries) {
8571
+ const instance = await entry.createProvider(workspaceCwd);
8572
+ if (instance.isAvailable() === false) {
8573
+ diag(
8574
+ `[theokit-sdk] memory adapter "${instance.id}" reports itself unavailable (plugin "${entry.pluginName}") \u2014 skipping it. Check its credentials.
8575
+ `
8576
+ );
8577
+ continue;
8578
+ }
8579
+ available.push(instance);
8580
+ }
8581
+ return available;
8582
+ }
8457
8583
  function buildAgentMemory(pluginManager, workspaceCwd, defaultContext) {
8458
8584
  let resolved;
8459
8585
  async function ensure() {
8460
8586
  if (resolved !== void 0) return resolved;
8461
8587
  const entries = pluginManager.aggregated.memoryProviders;
8462
- const created = [];
8463
- for (const entry of entries) {
8464
- const instance = await entry.createProvider(workspaceCwd);
8465
- created.push(instance);
8466
- }
8588
+ const created = await createAvailableAdapters(entries, workspaceCwd);
8467
8589
  for (const adapter of created) {
8468
8590
  if (adapter.initialize !== void 0) {
8469
8591
  await adapter.initialize();
8470
8592
  }
8471
8593
  }
8472
- resolved = { adapters: created, initialized: true };
8594
+ resolved = { adapters: created, initialized: true, registered: entries.length };
8473
8595
  return resolved;
8474
8596
  }
8475
8597
  function mergeContext(partial) {
@@ -8493,7 +8615,7 @@ function buildAgentMemory(pluginManager, workspaceCwd, defaultContext) {
8493
8615
  const r = await ensure();
8494
8616
  if (r.adapters.length === 0) {
8495
8617
  throw new ConfigurationError(
8496
- "No memory adapter registered. Pass a memory plugin in AgentOptions.plugins (e.g. supermemoryMemory({...})).",
8618
+ r.registered === 0 ? "No memory adapter registered. Pass a memory plugin in AgentOptions.plugins (e.g. supermemoryMemory({...}))." : `All ${r.registered} registered memory adapter(s) reported themselves unavailable \u2014 see the warnings naming each one. Check their credentials.`,
8497
8619
  { code: "no_memory_adapter" }
8498
8620
  );
8499
8621
  }
@@ -8797,7 +8919,7 @@ function localAgentRunUntil(agent, goal, options) {
8797
8919
  async function* wrap() {
8798
8920
  const { runUntilImpl } = await import('./run-until-HEQOUVU6.js');
8799
8921
  const buildDeps = async () => {
8800
- const { judgeCallImpl } = await import('./judge-call-MDIPTBJI.js');
8922
+ const { judgeCallImpl } = await import('./judge-call-DWHAJATE.js');
8801
8923
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
8802
8924
  const create = getAgentFacade().create;
8803
8925
  return {
@@ -8818,19 +8940,19 @@ function localAgentRunUntil(agent, goal, options) {
8818
8940
  }
8819
8941
  function localAgentRunToCompletion(agent, message, options) {
8820
8942
  async function run() {
8821
- const { runToCompletionImpl } = await import('./run-to-completion-JDPIUKSH.js');
8943
+ const { runToCompletionImpl } = await import('./run-to-completion-DRO77625.js');
8822
8944
  return runToCompletionImpl({ send: (m, o) => agent.send(m, o) }, message, options);
8823
8945
  }
8824
8946
  return run();
8825
8947
  }
8826
8948
  async function* localAgentStreamToCompletion(agent, message, options) {
8827
- const { streamToCompletionImpl } = await import('./stream-to-completion-DFJ5T3BK.js');
8949
+ const { streamToCompletionImpl } = await import('./stream-to-completion-QV5HCL3J.js');
8828
8950
  return yield* streamToCompletionImpl({ send: (m, o) => agent.send(m, o) }, message, options);
8829
8951
  }
8830
8952
  async function localAgentFork(parent, options) {
8831
8953
  const { forkAgentImpl } = await import('./fork-agent-RSV4E3EA.js');
8832
8954
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
8833
- const { withPersonalityContext } = await import('./context-ENXZNF6J.js');
8955
+ const { withPersonalityContext } = await import('./context-FDOON2DB.js');
8834
8956
  const create = getAgentFacade().create;
8835
8957
  return withPersonalityContext(
8836
8958
  { slug: parent.personalitySlugSnapshot, isFork: true },
@@ -9080,6 +9202,15 @@ ${recalled}
9080
9202
  ${args.userText}`;
9081
9203
  return typeof args.original === "string" ? wrapped : { ...args.original, text: wrapped };
9082
9204
  }
9205
+ async function runCalledATool(run) {
9206
+ try {
9207
+ for await (const event of run.stream()) {
9208
+ if (event.type === "tool_call") return true;
9209
+ }
9210
+ } catch {
9211
+ }
9212
+ return false;
9213
+ }
9083
9214
  function wrapRunWithPostReplyHook(args) {
9084
9215
  const handlers = args.pluginManager.hooksFor("post_assistant_reply");
9085
9216
  if (handlers.length === 0) return args.run;
@@ -9091,6 +9222,12 @@ function wrapRunWithPostReplyHook(args) {
9091
9222
  reply: replyText,
9092
9223
  agentId: args.agentId,
9093
9224
  runId: result.id,
9225
+ // #358 — whether this reply is safely replayable. A consumer (the semantic cache) must not
9226
+ // re-serve an answer produced by a tool call, and had nothing to key on. The run knows:
9227
+ // `stream()` replays its buffered events after `wait()` (ADR 0006), so a `tool_call` among
9228
+ // them is the signal. Computed here, inside a path that only runs when a hook is registered
9229
+ // and is already fire-and-forget, so it never lands on the caller's critical path.
9230
+ usedTools: await runCalledATool(args.run),
9094
9231
  ...args.options.memoryContext !== void 0 ? { memoryContext: args.options.memoryContext } : {}
9095
9232
  };
9096
9233
  void args.pluginManager.runPostAssistantReplyHooks(ctx);
@@ -9211,7 +9348,7 @@ async function executeSendLocked(inputs, message, options) {
9211
9348
  function buildCompletionCheckDeps() {
9212
9349
  return {
9213
9350
  judge: async (ctx, opts) => {
9214
- const { judgeCallImpl } = await import('./judge-call-MDIPTBJI.js');
9351
+ const { judgeCallImpl } = await import('./judge-call-DWHAJATE.js');
9215
9352
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
9216
9353
  return judgeCallImpl(ctx, opts, { create: getAgentFacade().create });
9217
9354
  }
@@ -9388,7 +9525,7 @@ var LocalAgent = class {
9388
9525
  }
9389
9526
  async send(message, options = {}) {
9390
9527
  if (options.tools !== void 0 && options.tools.length > 0) {
9391
- validateToolCatalog(options.tools);
9528
+ validateToolCatalog(options.tools, this.options.withheldBuiltinTools);
9392
9529
  }
9393
9530
  const sendSpan = this._telemetry.startSpan(SPAN_NAMES.AGENT_SEND, {
9394
9531
  agentId: this.agentId,
@@ -9446,6 +9583,8 @@ var LocalAgent = class {
9446
9583
  ...options.onRunEvent !== void 0 ? { onRunEvent: options.onRunEvent } : {},
9447
9584
  hooksExecutor: this.hooksExecutor,
9448
9585
  memoryGlue: this.memoryGlue,
9586
+ // usetheokit/theokit-sdk#382 — the transcript write reads this and nothing else.
9587
+ memory: this.options.memory,
9449
9588
  ...postRunProvider !== void 0 ? { memoryProvider: postRunProvider } : {}
9450
9589
  });
9451
9590
  } finally {
@@ -9691,27 +9830,37 @@ async function maybeInjectHandoffTools(options) {
9691
9830
  tools: [...existingTools, ...handoffTools]
9692
9831
  };
9693
9832
  }
9833
+ function keyWillFlowToProvider(apiKey, provider) {
9834
+ if (isFixtureApiKey(apiKey)) return false;
9835
+ if (getConfiguredBaseUrl() !== void 0) return false;
9836
+ if (provider === void 0) return false;
9837
+ const profile = getProviderProfile(provider);
9838
+ if (profile === void 0) return false;
9839
+ return profile.authType !== "none";
9840
+ }
9841
+ function missingApiKeyMessage() {
9842
+ const present = presentProviderCredentialEnvVars();
9843
+ const base = `Missing API key \u2014 set ${API_KEY_ENV_VAR}, or pass \`apiKey\` to Agent.create()`;
9844
+ if (present.length === 0) return `${base}.`;
9845
+ return `${base}. ${present.join(" and ")} ${present.length === 1 ? "is" : "are"} set, but a provider credential is not read from the environment automatically \u2014 pass it explicitly, e.g. \`Agent.create({ apiKey: process.env.${present[0]}, ... })\`.`;
9846
+ }
9694
9847
  async function createLocalAgent(options) {
9695
9848
  const apiKey = resolveApiKey(options.apiKey);
9696
9849
  if (apiKey === void 0) {
9697
- throw new AuthenticationError("Missing API key", { code: "missing_api_key" });
9850
+ throw new AuthenticationError(missingApiKeyMessage(), { code: "missing_api_key" });
9698
9851
  }
9699
- const willFlowToProvider = !isFixtureApiKey(apiKey) && !shouldUseRealLocalRuntime(apiKey);
9852
+ const provider = providerFromModelId(normalizeModel(options.model)?.id);
9853
+ const willFlowToProvider = keyWillFlowToProvider(apiKey, provider);
9700
9854
  const shape = validateApiKeyShape(apiKey, {
9701
9855
  strict: willFlowToProvider,
9702
9856
  // `options.model` is already normalized by `runCreateUnderSpan`; `normalizeModel`
9703
9857
  // here is the idempotent narrowing of the widened public type (`{id}` passes
9704
9858
  // through by reference) — cleaner than an `as` cast.
9705
- ...willFlowToProvider ? { provider: providerFromModelId(normalizeModel(options.model)?.id) } : {}
9859
+ ...willFlowToProvider ? { provider } : {}
9706
9860
  });
9707
9861
  if (shape.malformed) {
9708
9862
  throw new AuthenticationError(shape.message, { code: "malformed_api_key" });
9709
9863
  }
9710
- if (!isFixtureApiKey(apiKey) && getConfiguredBaseUrl() === void 0 && !shouldUseRealLocalRuntime(apiKey)) {
9711
- throw new AuthenticationError("Invalid API key", {
9712
- code: "authentication_error"
9713
- });
9714
- }
9715
9864
  const agent = new LocalAgent(options);
9716
9865
  await agent.initialize();
9717
9866
  return agent;
@@ -9832,10 +9981,10 @@ async function setAgentName(agentId, name) {
9832
9981
  updateRegisteredAgent(agentId, { name });
9833
9982
  await flushRegistrySaves();
9834
9983
  }
9835
- async function getRegisteredAgentOrThrow(agentId) {
9984
+ async function getRegisteredAgentOrThrow(agentId, cwd = process.cwd()) {
9836
9985
  let agent = getRegisteredAgent(agentId);
9837
9986
  if (agent === void 0) {
9838
- await hydrateRegistryFromDisk(process.cwd());
9987
+ await hydrateRegistryFromDisk(cwd);
9839
9988
  agent = getRegisteredAgent(agentId);
9840
9989
  }
9841
9990
  if (agent === void 0) {
@@ -9843,6 +9992,22 @@ async function getRegisteredAgentOrThrow(agentId) {
9843
9992
  }
9844
9993
  return agent;
9845
9994
  }
9995
+ function paginateByKey(all, keyOf, limit, cursor, sortByKey) {
9996
+ if (limit === void 0) return { items: [...all] };
9997
+ const ordered = sortByKey ? [...all].sort((a, b) => {
9998
+ const ka = keyOf(a);
9999
+ const kb = keyOf(b);
10000
+ return ka < kb ? -1 : ka > kb ? 1 : 0;
10001
+ }) : [...all];
10002
+ const startIndex = cursor === void 0 ? 0 : ordered.findIndex((item) => keyOf(item) === cursor) + 1;
10003
+ const page = ordered.slice(startIndex, startIndex + limit);
10004
+ const hasMore = startIndex + limit < ordered.length;
10005
+ const last = page[page.length - 1];
10006
+ return {
10007
+ items: page,
10008
+ ...hasMore && last !== void 0 ? { nextCursor: keyOf(last) } : {}
10009
+ };
10010
+ }
9846
10011
 
9847
10012
  // src/agent.ts
9848
10013
  var streamObjectImport;
@@ -9982,7 +10147,7 @@ var Agent = class _Agent {
9982
10147
  * @public
9983
10148
  */
9984
10149
  static async generateObject(options) {
9985
- const { generateObjectImpl } = await import('./generate-object-WQRCXFD2.js');
10150
+ const { generateObjectImpl } = await import('./generate-object-N5MDZUJI.js');
9986
10151
  return generateObjectImpl(options, {
9987
10152
  create: (opts) => _Agent.create(opts),
9988
10153
  delete: (agentId) => _Agent.delete(agentId)
@@ -10006,7 +10171,7 @@ var Agent = class _Agent {
10006
10171
  delete: (agentId) => _Agent.delete(agentId)
10007
10172
  };
10008
10173
  async function* wrapper() {
10009
- streamObjectImport ??= import('./stream-object-ZYXWS4B2.js');
10174
+ streamObjectImport ??= import('./stream-object-L57K4OFS.js');
10010
10175
  const { streamObjectImpl } = await streamObjectImport;
10011
10176
  yield* streamObjectImpl(options, deps);
10012
10177
  }
@@ -10030,7 +10195,7 @@ var Agent = class _Agent {
10030
10195
  * @public
10031
10196
  */
10032
10197
  static async batch(prompts, options) {
10033
- const { batchImpl } = await import('./batch-UPKN4SG6.js');
10198
+ const { batchImpl } = await import('./batch-2TGJMNCJ.js');
10034
10199
  return batchImpl(prompts, options, { create: (opts) => _Agent.create(opts) });
10035
10200
  }
10036
10201
  /**
@@ -10074,34 +10239,57 @@ var Agent = class _Agent {
10074
10239
  return fresh;
10075
10240
  }
10076
10241
  /**
10077
- * List agents (local or cloud). M107 — `cwd` is READ now, not ignored;
10078
- * `limit`/`cursor` still are not (see `tests/agent-list-cwd.test.ts`).
10242
+ * List agents (local or cloud). M107 — `cwd` is READ, not ignored. B-115 (2026-08-19) —
10243
+ * `includeArchived` and `limit`/`cursor` are READ too now; see `ListAgentsOptions`'s doc for the
10244
+ * pagination contract and why the unlimited (no `limit`) case is unaffected.
10079
10245
  *
10080
10246
  * @public
10081
10247
  */
10082
10248
  static async list(options = {}) {
10083
10249
  const cwd = ("cwd" in options ? options.cwd : void 0) ?? process.cwd();
10084
10250
  await hydrateRegistryFromDisk(cwd);
10085
- const items = listRegisteredAgents(options.runtime, cwd).map((agent) => toAgentInfo(agent));
10086
- return { items };
10251
+ const includeArchived = "includeArchived" in options ? options.includeArchived ?? false : false;
10252
+ const agents2 = listRegisteredAgents(options.runtime, cwd, includeArchived);
10253
+ const { items, nextCursor } = paginateByKey(
10254
+ agents2,
10255
+ (agent) => agent.agentId,
10256
+ options.limit,
10257
+ options.cursor,
10258
+ /* sortByKey */
10259
+ true
10260
+ );
10261
+ return {
10262
+ items: items.map((agent) => toAgentInfo(agent)),
10263
+ ...nextCursor !== void 0 ? { nextCursor } : {}
10264
+ };
10087
10265
  }
10088
10266
  /**
10089
- * Get metadata for a single agent.
10267
+ * Get metadata for a single agent. B-115 (2026-08-19) — `cwd` is READ now (see
10268
+ * `GetAgentOptions`'s doc); it used to be accepted and silently ignored.
10090
10269
  *
10091
10270
  * @public
10092
10271
  */
10093
- static async get(agentId, _options = {}) {
10094
- const agent = await getRegisteredAgentOrThrow(agentId);
10272
+ static async get(agentId, options = {}) {
10273
+ const agent = await getRegisteredAgentOrThrow(agentId, options.cwd);
10095
10274
  return toAgentInfo(agent);
10096
10275
  }
10097
10276
  /**
10098
- * List runs for an agent.
10277
+ * List runs for an agent. B-115 (2026-08-19) — `cwd` and `limit`/`cursor` are READ now (see
10278
+ * `ListRunsOptions`'s doc); they used to be accepted and silently ignored.
10099
10279
  *
10100
10280
  * @public
10101
10281
  */
10102
- static async listRuns(agentId, _options = {}) {
10103
- await getRegisteredAgentOrThrow(agentId);
10104
- return { items: listRunsByAgent(agentId) };
10282
+ static async listRuns(agentId, options = {}) {
10283
+ await getRegisteredAgentOrThrow(agentId, options.cwd);
10284
+ const { items, nextCursor } = paginateByKey(
10285
+ listRunsByAgent(agentId),
10286
+ (run) => run.id,
10287
+ options.limit,
10288
+ options.cursor,
10289
+ /* sortByKey */
10290
+ false
10291
+ );
10292
+ return { items, ...nextCursor !== void 0 ? { nextCursor } : {} };
10105
10293
  }
10106
10294
  /**
10107
10295
  * Get a single run.
@@ -10168,7 +10356,7 @@ var Agent = class _Agent {
10168
10356
  `No local agent "${agentId}" registered \u2014 compact targets local sessions.`
10169
10357
  );
10170
10358
  }
10171
- const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-4MNKNMO2.js');
10359
+ const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-FUJDVF7B.js');
10172
10360
  const { cwd, model, store } = await openLocalStore(reg);
10173
10361
  return enqueueSessionWrite(
10174
10362
  cwd,
@@ -10204,7 +10392,7 @@ var Agent = class _Agent {
10204
10392
  `No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
10205
10393
  );
10206
10394
  }
10207
- const { injectSessionTurn } = await import('./inject-session-GMBMJVNZ.js');
10395
+ const { injectSessionTurn } = await import('./inject-session-BJMJH5BX.js');
10208
10396
  const { cwd, model, store } = await openLocalStore(reg);
10209
10397
  await injectSessionTurn({
10210
10398
  store,
@@ -10243,7 +10431,7 @@ var Agent = class _Agent {
10243
10431
  `No local agent "${agentId}" registered \u2014 transcript targets local sessions.`
10244
10432
  );
10245
10433
  }
10246
- const { readSessionMessages } = await import('./agent-session-store-TNCGL5RN.js');
10434
+ const { readSessionMessages } = await import('./agent-session-store-P6V3FINW.js');
10247
10435
  const { store } = await openLocalStore(reg);
10248
10436
  return readSessionMessages(store, agentId);
10249
10437
  }
@@ -10264,7 +10452,7 @@ var Agent = class _Agent {
10264
10452
  */
10265
10453
  static async describe(agentId) {
10266
10454
  const agent = await getRegisteredAgentOrThrow(agentId);
10267
- const { loadSubagents: loadSubagents2 } = await import('./subagents-loader-I56GSKAQ.js');
10455
+ const { loadSubagents: loadSubagents2 } = await import('./subagents-loader-J54ESLDV.js');
10268
10456
  const settingSources = agent.options.local?.settingSources;
10269
10457
  const subagents = await loadSubagents2(
10270
10458
  agent.cwd ?? process.cwd(),
@@ -10279,7 +10467,7 @@ var Agent = class _Agent {
10279
10467
  //
10280
10468
  // Honest limit, stated because the alternative is an implied claim: `tools` is still the
10281
10469
  // DECLARED catalog. Plugin tools and the reasoning `think` tool are assembled per run by
10282
- // `buildCustomToolsInput`, so they are not knowable from the registry alone. Documented on
10470
+ // `buildRunToolCatalogInput`, so they are not knowable from the registry alone. Documented on
10283
10471
  // `AgentDescription.tools`.
10284
10472
  tools: (agent.options.tools ?? []).map((tool) => ({
10285
10473
  name: tool.name,
@@ -10331,13 +10519,13 @@ async function openLocalStore(reg) {
10331
10519
  const cwd = reg.cwd ?? process.cwd();
10332
10520
  const optModel = reg.options.model;
10333
10521
  const model = reg.model?.id ?? (typeof optModel === "string" ? optModel : optModel?.id) ?? "unknown";
10334
- const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-R5FD3EN6.js');
10335
- const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-RAKEK76V.js');
10522
+ const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-IN7JTTXD.js');
10523
+ const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-AKDYYGXQ.js');
10336
10524
  const configuredSessionDir = reg.options.local?.sessionDir ?? reg.options.local?.baseDir;
10337
10525
  const baseDir = configuredSessionDir !== void 0 ? expandTilde2(configuredSessionDir) : defaultBaseDir2();
10338
10526
  return { cwd, model, store: new FsSessionStore2({ baseDir, cwd }) };
10339
10527
  }
10340
10528
 
10341
10529
  export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, openRouterMemoryEmbeddingProviderAdapter };
10342
- //# sourceMappingURL=chunk-G3JWXOGY.js.map
10343
- //# sourceMappingURL=chunk-G3JWXOGY.js.map
10530
+ //# sourceMappingURL=chunk-I5BE5M5L.js.map
10531
+ //# sourceMappingURL=chunk-I5BE5M5L.js.map