@theokit/sdk 4.53.0 → 4.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/CHANGELOG.md +1096 -8
  2. package/LICENSE +2 -2
  3. package/README.md +14 -9
  4. package/bin/theokit-migrate-config.mjs +11 -2
  5. package/dist/a2a/agent-mailbox.d.cts +27 -0
  6. package/dist/a2a/agent-mailbox.d.ts +27 -0
  7. package/dist/a2a/index.cjs +9 -4
  8. package/dist/a2a/index.cjs.map +1 -1
  9. package/dist/a2a/index.js +7 -2
  10. package/dist/a2a/index.js.map +1 -1
  11. package/dist/a2a/message-bus.d.cts +39 -0
  12. package/dist/a2a/message-bus.d.ts +39 -0
  13. package/dist/a2a/subagent.d.cts +68 -7
  14. package/dist/a2a/subagent.d.ts +68 -7
  15. package/dist/a2a/types.d.cts +26 -0
  16. package/dist/a2a/types.d.ts +26 -0
  17. package/dist/{agent-BiCINq25.d.ts → agent-CIUgz7cN.d.cts} +211 -858
  18. package/dist/{agent-Zta1kvGH.d.cts → agent-DSec-E0c.d.ts} +211 -858
  19. package/dist/agent-NOEGF4GI.cjs +61 -0
  20. package/dist/{agent-JX5SBYDE.cjs.map → agent-NOEGF4GI.cjs.map} +1 -1
  21. package/dist/agent-VGD5WL4N.js +52 -0
  22. package/dist/{agent-ZAGG6ZBS.js.map → agent-VGD5WL4N.js.map} +1 -1
  23. package/dist/agent-builder.d.ts +19 -0
  24. package/dist/agent-session-store-P6V3FINW.js +7 -0
  25. package/dist/{agent-session-store-JMU7ASDB.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
  26. package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
  27. package/dist/{agent-session-store-EPX2WQI4.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
  28. package/dist/agent.d.ts +25 -7
  29. package/dist/auth/index.cjs +53 -36
  30. package/dist/auth/index.cjs.map +1 -1
  31. package/dist/auth/index.d.cts +1 -1
  32. package/dist/auth/index.d.ts +1 -1
  33. package/dist/auth/index.js +27 -10
  34. package/dist/auth/index.js.map +1 -1
  35. package/dist/{batch-NLIS4QTW.js → batch-2TGJMNCJ.js} +14 -13
  36. package/dist/batch-2TGJMNCJ.js.map +1 -0
  37. package/dist/{batch-WQ3AJCDV.cjs → batch-ND32UKZS.cjs} +31 -30
  38. package/dist/batch-ND32UKZS.cjs.map +1 -0
  39. package/dist/{chunk-TR4V2LHV.cjs → chunk-2ADR2GSO.cjs} +8 -8
  40. package/dist/chunk-2ADR2GSO.cjs.map +1 -0
  41. package/dist/{chunk-7HQVDLFI.cjs → chunk-2C72DXQF.cjs} +65 -27
  42. package/dist/chunk-2C72DXQF.cjs.map +1 -0
  43. package/dist/{chunk-DEZ75ET5.js → chunk-2D34UTDC.js} +21 -5
  44. package/dist/chunk-2D34UTDC.js.map +1 -0
  45. package/dist/{chunk-XGYI2KQH.js → chunk-2QKTVKH3.js} +4 -4
  46. package/dist/{chunk-XGYI2KQH.js.map → chunk-2QKTVKH3.js.map} +1 -1
  47. package/dist/{chunk-BBZYXVLZ.cjs → chunk-2ZPEDVLM.cjs} +2 -2
  48. package/dist/chunk-2ZPEDVLM.cjs.map +1 -0
  49. package/dist/{chunk-DHVNJYTO.js → chunk-3E77SX4H.js} +4 -4
  50. package/dist/{chunk-DHVNJYTO.js.map → chunk-3E77SX4H.js.map} +1 -1
  51. package/dist/{chunk-VYHJZVL5.cjs → chunk-3EE6LVWT.cjs} +2 -2
  52. package/dist/chunk-3EE6LVWT.cjs.map +1 -0
  53. package/dist/chunk-3KGLRRFC.cjs +18 -0
  54. package/dist/chunk-3KGLRRFC.cjs.map +1 -0
  55. package/dist/{chunk-5NBUH3NO.js → chunk-3OR54XG4.js} +2 -2
  56. package/dist/{chunk-C6Y6CWYD.cjs.map → chunk-3OR54XG4.js.map} +1 -1
  57. package/dist/{chunk-FUASIT3E.cjs → chunk-3YJNUKYN.cjs} +15 -15
  58. package/dist/{chunk-FUASIT3E.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
  59. package/dist/{chunk-R7TKOQMJ.js → chunk-44JAAH4X.js} +3 -3
  60. package/dist/chunk-44JAAH4X.js.map +1 -0
  61. package/dist/{chunk-XRI6DXPZ.js → chunk-44MBDIHG.js} +4 -4
  62. package/dist/chunk-44MBDIHG.js.map +1 -0
  63. package/dist/{chunk-BXVSBYGW.js → chunk-4ERPXIVB.js} +5 -5
  64. package/dist/{chunk-BXVSBYGW.js.map → chunk-4ERPXIVB.js.map} +1 -1
  65. package/dist/{chunk-T6QUCG7L.cjs → chunk-4I55V454.cjs} +4 -4
  66. package/dist/chunk-4I55V454.cjs.map +1 -0
  67. package/dist/{chunk-B4YA6BRS.cjs → chunk-4O5TGQBW.cjs} +30 -7
  68. package/dist/chunk-4O5TGQBW.cjs.map +1 -0
  69. package/dist/{chunk-4JBHSLQO.cjs → chunk-4OTIXDMU.cjs} +2 -2
  70. package/dist/{chunk-4JBHSLQO.cjs.map → chunk-4OTIXDMU.cjs.map} +1 -1
  71. package/dist/{chunk-C6Y6CWYD.cjs → chunk-52NKC5HT.cjs} +2 -2
  72. package/dist/chunk-52NKC5HT.cjs.map +1 -0
  73. package/dist/{chunk-3YYDHUNH.cjs → chunk-53CBTBWO.cjs} +11 -11
  74. package/dist/{chunk-3YYDHUNH.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
  75. package/dist/{chunk-2QMK627M.cjs → chunk-5BJV5UPY.cjs} +27 -27
  76. package/dist/chunk-5BJV5UPY.cjs.map +1 -0
  77. package/dist/{chunk-OZXPA3ME.js → chunk-5JLFFPCH.js} +4 -4
  78. package/dist/{chunk-OZXPA3ME.js.map → chunk-5JLFFPCH.js.map} +1 -1
  79. package/dist/{chunk-34XOCZJO.js → chunk-5PHVENFV.js} +3 -3
  80. package/dist/chunk-5PHVENFV.js.map +1 -0
  81. package/dist/{chunk-EQMLJ52C.cjs → chunk-5UOVYM3P.cjs} +36 -31
  82. package/dist/chunk-5UOVYM3P.cjs.map +1 -0
  83. package/dist/{chunk-33L2NVTJ.cjs → chunk-5USCYPPI.cjs} +15 -15
  84. package/dist/chunk-5USCYPPI.cjs.map +1 -0
  85. package/dist/{chunk-I732VEDW.js → chunk-AEOZTXVW.js} +3 -3
  86. package/dist/{chunk-I732VEDW.js.map → chunk-AEOZTXVW.js.map} +1 -1
  87. package/dist/{chunk-5XXUYU3M.js → chunk-AG5JPQIY.js} +3 -3
  88. package/dist/{chunk-5XXUYU3M.js.map → chunk-AG5JPQIY.js.map} +1 -1
  89. package/dist/{chunk-3SHW7XKK.js → chunk-AGSBJD2L.js} +27 -29
  90. package/dist/chunk-AGSBJD2L.js.map +1 -0
  91. package/dist/{chunk-KZBB4YKU.js → chunk-AQLGBKNT.js} +3 -3
  92. package/dist/chunk-AQLGBKNT.js.map +1 -0
  93. package/dist/{chunk-7W7ZWMLQ.js → chunk-AWO27VRZ.js} +3 -3
  94. package/dist/chunk-AWO27VRZ.js.map +1 -0
  95. package/dist/{chunk-VYCKUKPA.cjs → chunk-B2J4ZMZL.cjs} +3 -2
  96. package/dist/chunk-B2J4ZMZL.cjs.map +1 -0
  97. package/dist/{chunk-UJ3SXRZZ.js → chunk-BMAZLQQ4.js} +3 -3
  98. package/dist/{chunk-UJ3SXRZZ.js.map → chunk-BMAZLQQ4.js.map} +1 -1
  99. package/dist/{chunk-NUEL6RCZ.cjs → chunk-BVZW2B5V.cjs} +4 -4
  100. package/dist/chunk-BVZW2B5V.cjs.map +1 -0
  101. package/dist/{chunk-W4FV7JBH.js → chunk-CQ2TQ32Y.js} +4 -4
  102. package/dist/chunk-CQ2TQ32Y.js.map +1 -0
  103. package/dist/{chunk-NFATC6ZF.cjs → chunk-CQGYNZ3K.cjs} +4 -4
  104. package/dist/{chunk-NFATC6ZF.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
  105. package/dist/{chunk-3R4ZCQAZ.cjs → chunk-CTCGWIUD.cjs} +5 -5
  106. package/dist/{chunk-3R4ZCQAZ.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
  107. package/dist/{chunk-HTK54K2J.js → chunk-CV7XMBHP.js} +4 -4
  108. package/dist/chunk-CV7XMBHP.js.map +1 -0
  109. package/dist/{chunk-NOS7PTKP.js → chunk-DAPSQZT4.js} +15 -10
  110. package/dist/chunk-DAPSQZT4.js.map +1 -0
  111. package/dist/{chunk-E3OCRJU6.cjs → chunk-DQKERTND.cjs} +11 -11
  112. package/dist/{chunk-E3OCRJU6.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
  113. package/dist/{chunk-I5OTK2RP.js → chunk-DUIF54UP.js} +6 -6
  114. package/dist/chunk-DUIF54UP.js.map +1 -0
  115. package/dist/{chunk-C4EU627W.js → chunk-DZBSJX6J.js} +4 -4
  116. package/dist/{chunk-C4EU627W.js.map → chunk-DZBSJX6J.js.map} +1 -1
  117. package/dist/{chunk-ADVZIC43.cjs → chunk-EI2Q7SJ5.cjs} +12 -12
  118. package/dist/chunk-EI2Q7SJ5.cjs.map +1 -0
  119. package/dist/{chunk-UCFONJBG.js → chunk-EPSICJLZ.js} +2 -2
  120. package/dist/{chunk-UCFONJBG.js.map → chunk-EPSICJLZ.js.map} +1 -1
  121. package/dist/{chunk-RAACTJ7C.cjs → chunk-F3YZMOAU.cjs} +8 -8
  122. package/dist/{chunk-RAACTJ7C.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
  123. package/dist/{chunk-KIX45IKP.js → chunk-F7AQV62G.js} +5 -4
  124. package/dist/chunk-F7AQV62G.js.map +1 -0
  125. package/dist/{chunk-2YWWPCGX.js → chunk-FXEUP75G.js} +10 -12
  126. package/dist/chunk-FXEUP75G.js.map +1 -0
  127. package/dist/{chunk-2RW7K6FN.cjs → chunk-GHX4P3V2.cjs} +2 -2
  128. package/dist/chunk-GHX4P3V2.cjs.map +1 -0
  129. package/dist/{chunk-634YVZLU.js → chunk-GJ6RK75E.js} +5 -5
  130. package/dist/chunk-GJ6RK75E.js.map +1 -0
  131. package/dist/{chunk-Z5U2JGEK.cjs → chunk-GNT35C5U.cjs} +13 -13
  132. package/dist/chunk-GNT35C5U.cjs.map +1 -0
  133. package/dist/{chunk-4NAKHID5.js → chunk-GTKFV7O5.js} +2 -2
  134. package/dist/chunk-GTKFV7O5.js.map +1 -0
  135. package/dist/{chunk-BWGXYOBZ.cjs → chunk-GWC3HADL.cjs} +4 -4
  136. package/dist/{chunk-BWGXYOBZ.cjs.map → chunk-GWC3HADL.cjs.map} +1 -1
  137. package/dist/{chunk-OXNYIMZZ.js → chunk-H73MEMQB.js} +2 -2
  138. package/dist/chunk-H73MEMQB.js.map +1 -0
  139. package/dist/{chunk-RTLUZKDL.cjs → chunk-HJBMA5MB.cjs} +11 -11
  140. package/dist/{chunk-RTLUZKDL.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
  141. package/dist/{chunk-AM2CNBKE.js → chunk-HKCKOAIO.js} +2 -2
  142. package/dist/chunk-HKCKOAIO.js.map +1 -0
  143. package/dist/{chunk-PVBANCWU.cjs → chunk-HY57ULY2.cjs} +5 -5
  144. package/dist/{chunk-PVBANCWU.cjs.map → chunk-HY57ULY2.cjs.map} +1 -1
  145. package/dist/{chunk-CAH3G4IS.js → chunk-HY66GLM6.js} +2 -2
  146. package/dist/chunk-HY66GLM6.js.map +1 -0
  147. package/dist/{chunk-2CFEET3Y.cjs → chunk-I6TGFUCO.cjs} +4 -4
  148. package/dist/chunk-I6TGFUCO.cjs.map +1 -0
  149. package/dist/{chunk-HI4ZW62S.js → chunk-IDCKSLYH.js} +4 -4
  150. package/dist/chunk-IDCKSLYH.js.map +1 -0
  151. package/dist/{chunk-KNZU4YO5.cjs → chunk-ILCGLTSA.cjs} +4 -4
  152. package/dist/{chunk-KNZU4YO5.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
  153. package/dist/{chunk-44IISBRZ.cjs → chunk-IWBGCBR6.cjs} +4 -4
  154. package/dist/{chunk-44IISBRZ.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
  155. package/dist/{chunk-R3CKCRK3.cjs → chunk-J24VJOH3.cjs} +22 -6
  156. package/dist/chunk-J24VJOH3.cjs.map +1 -0
  157. package/dist/{chunk-ECPL5RV6.cjs → chunk-JHPGF3FP.cjs} +8 -8
  158. package/dist/{chunk-ECPL5RV6.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
  159. package/dist/{chunk-SXSPMRSV.cjs → chunk-JTB5Q42C.cjs} +21 -19
  160. package/dist/chunk-JTB5Q42C.cjs.map +1 -0
  161. package/dist/{chunk-2YGIBOUH.cjs → chunk-K3FW2XZD.cjs} +9 -9
  162. package/dist/chunk-K3FW2XZD.cjs.map +1 -0
  163. package/dist/{chunk-6DCTL32L.cjs → chunk-NGESVVJN.cjs} +17 -17
  164. package/dist/chunk-NGESVVJN.cjs.map +1 -0
  165. package/dist/{chunk-MV4TOCUK.js → chunk-NLTVXLGT.js} +3 -3
  166. package/dist/{chunk-MV4TOCUK.js.map → chunk-NLTVXLGT.js.map} +1 -1
  167. package/dist/chunk-NUKRL3I6.cjs +23 -0
  168. package/dist/chunk-NUKRL3I6.cjs.map +1 -0
  169. package/dist/{chunk-ZSJPRPN7.js → chunk-OC4NTGMN.js} +3 -3
  170. package/dist/{chunk-ZSJPRPN7.js.map → chunk-OC4NTGMN.js.map} +1 -1
  171. package/dist/{chunk-K42QGAKM.cjs → chunk-P6A3M6VD.cjs} +10 -10
  172. package/dist/{chunk-K42QGAKM.cjs.map → chunk-P6A3M6VD.cjs.map} +1 -1
  173. package/dist/{chunk-OKLYRPKL.cjs → chunk-Q47R5E2X.cjs} +8 -8
  174. package/dist/chunk-Q47R5E2X.cjs.map +1 -0
  175. package/dist/{chunk-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
  176. package/dist/chunk-Q5EWJPRY.js.map +1 -0
  177. package/dist/{chunk-XWCTBGYK.js → chunk-QARJGQSA.js} +16 -7
  178. package/dist/chunk-QARJGQSA.js.map +1 -0
  179. package/dist/{chunk-EUBGGYPH.cjs → chunk-QDED6YO6.cjs} +5 -5
  180. package/dist/{chunk-EUBGGYPH.cjs.map → chunk-QDED6YO6.cjs.map} +1 -1
  181. package/dist/{chunk-VK7MAV65.cjs → chunk-QKLOP4VC.cjs} +2 -2
  182. package/dist/{chunk-VK7MAV65.cjs.map → chunk-QKLOP4VC.cjs.map} +1 -1
  183. package/dist/{chunk-PLUCC4N5.js → chunk-QRSUA2CV.js} +3 -3
  184. package/dist/{chunk-PLUCC4N5.js.map → chunk-QRSUA2CV.js.map} +1 -1
  185. package/dist/{chunk-YTO5BRBD.cjs → chunk-R3UPQFKK.cjs} +21 -12
  186. package/dist/chunk-R3UPQFKK.cjs.map +1 -0
  187. package/dist/{chunk-X2FR4OIT.js → chunk-R7WIIPUR.js} +2 -2
  188. package/dist/chunk-R7WIIPUR.js.map +1 -0
  189. package/dist/{chunk-BC5EUG7R.cjs → chunk-RM7Y65IG.cjs} +18 -20
  190. package/dist/chunk-RM7Y65IG.cjs.map +1 -0
  191. package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
  192. package/dist/chunk-RNB4APBZ.js.map +1 -0
  193. package/dist/{chunk-V45L2OYP.cjs → chunk-ROYPRJH4.cjs} +9 -9
  194. package/dist/{chunk-V45L2OYP.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
  195. package/dist/{chunk-JJZ4NIAG.js → chunk-RUDY2GTT.js} +61 -24
  196. package/dist/chunk-RUDY2GTT.js.map +1 -0
  197. package/dist/{chunk-QLAWEGTZ.cjs → chunk-SKXBJ2NU.cjs} +7 -7
  198. package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
  199. package/dist/chunk-SSQZA3DZ.js +15 -0
  200. package/dist/chunk-SSQZA3DZ.js.map +1 -0
  201. package/dist/{chunk-7TB5U7RK.js → chunk-SUKXXLWD.js} +6 -6
  202. package/dist/chunk-SUKXXLWD.js.map +1 -0
  203. package/dist/{chunk-N43XLTHZ.js → chunk-T73NA43R.js} +3 -3
  204. package/dist/{chunk-N43XLTHZ.js.map → chunk-T73NA43R.js.map} +1 -1
  205. package/dist/chunk-T7O6K6PX.js +20 -0
  206. package/dist/chunk-T7O6K6PX.js.map +1 -0
  207. package/dist/{chunk-4X3SBHPK.js → chunk-T7XEKOVW.js} +18 -17
  208. package/dist/chunk-T7XEKOVW.js.map +1 -0
  209. package/dist/{chunk-NZOR3N4E.js → chunk-TPTZA6NI.js} +293 -126
  210. package/dist/chunk-TPTZA6NI.js.map +1 -0
  211. package/dist/{chunk-QN5N3ZVT.cjs → chunk-TTHBHAJI.cjs} +44 -46
  212. package/dist/chunk-TTHBHAJI.cjs.map +1 -0
  213. package/dist/{chunk-CZHPR2G7.cjs → chunk-U2AC6JUP.cjs} +8 -8
  214. package/dist/chunk-U2AC6JUP.cjs.map +1 -0
  215. package/dist/{chunk-ITQ4NO4P.js → chunk-UC3HT2S4.js} +3 -3
  216. package/dist/{chunk-ITQ4NO4P.js.map → chunk-UC3HT2S4.js.map} +1 -1
  217. package/dist/{chunk-2VFZQEDW.cjs → chunk-UFAO4T7Z.cjs} +565 -399
  218. package/dist/chunk-UFAO4T7Z.cjs.map +1 -0
  219. package/dist/{chunk-DM6Y5B2G.cjs → chunk-UNDROG5N.cjs} +201 -154
  220. package/dist/chunk-UNDROG5N.cjs.map +1 -0
  221. package/dist/{chunk-L7EGRCKJ.js → chunk-UPRJR6IP.js} +4 -4
  222. package/dist/chunk-UPRJR6IP.js.map +1 -0
  223. package/dist/{chunk-23VZBRDQ.js → chunk-UQGQFBRL.js} +3 -3
  224. package/dist/chunk-UQGQFBRL.js.map +1 -0
  225. package/dist/{chunk-2Y5NO2SY.js → chunk-VDEWG5TV.js} +88 -43
  226. package/dist/chunk-VDEWG5TV.js.map +1 -0
  227. package/dist/{chunk-CHVSMEKM.js → chunk-VF7EWVDG.js} +3 -3
  228. package/dist/chunk-VF7EWVDG.js.map +1 -0
  229. package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
  230. package/dist/chunk-VTYY7XL5.cjs.map +1 -0
  231. package/dist/{chunk-E6T264NS.js → chunk-WKRSH2VR.js} +3 -3
  232. package/dist/{chunk-E6T264NS.js.map → chunk-WKRSH2VR.js.map} +1 -1
  233. package/dist/{chunk-4QEC4CCS.js → chunk-WTMU7J4U.js} +2 -2
  234. package/dist/{chunk-4QEC4CCS.js.map → chunk-WTMU7J4U.js.map} +1 -1
  235. package/dist/{chunk-EFXJ5C7X.js → chunk-XN7NOENA.js} +6 -6
  236. package/dist/chunk-XN7NOENA.js.map +1 -0
  237. package/dist/{chunk-AMYY3JHQ.cjs → chunk-XSX2UU6Y.cjs} +10 -9
  238. package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
  239. package/dist/{chunk-6PTCKXD3.js → chunk-XV4IZNV4.js} +9 -9
  240. package/dist/chunk-XV4IZNV4.js.map +1 -0
  241. package/dist/{chunk-FBZMSLDC.cjs → chunk-XWL6O3SW.cjs} +4 -4
  242. package/dist/chunk-XWL6O3SW.cjs.map +1 -0
  243. package/dist/{chunk-OIBHY6JQ.js → chunk-YMA4S2WO.js} +4 -4
  244. package/dist/{chunk-OIBHY6JQ.js.map → chunk-YMA4S2WO.js.map} +1 -1
  245. package/dist/{chunk-T5ZWI3MC.cjs → chunk-YPJ5NH5N.cjs} +11 -11
  246. package/dist/chunk-YPJ5NH5N.cjs.map +1 -0
  247. package/dist/{chunk-YLQQX5W2.cjs → chunk-ZF2LDKQQ.cjs} +2 -2
  248. package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
  249. package/dist/{chunk-L5YO6PWL.cjs → chunk-ZNW6V4Y6.cjs} +2 -2
  250. package/dist/chunk-ZNW6V4Y6.cjs.map +1 -0
  251. package/dist/client/index.cjs.map +1 -1
  252. package/dist/client/index.js.map +1 -1
  253. package/dist/client/theokit-client.d.cts +36 -0
  254. package/dist/client/theokit-client.d.ts +36 -0
  255. package/dist/client/types.d.cts +30 -0
  256. package/dist/client/types.d.ts +30 -0
  257. package/dist/compact-session-K5LXTBPJ.js +22 -0
  258. package/dist/{compact-session-EJ36VH5I.js.map → compact-session-K5LXTBPJ.js.map} +1 -1
  259. package/dist/compact-session-YCT6JMBX.cjs +59 -0
  260. package/dist/{compact-session-6GKIS4SD.cjs.map → compact-session-YCT6JMBX.cjs.map} +1 -1
  261. package/dist/compaction.cjs +17 -16
  262. package/dist/compaction.d.cts +13 -13
  263. package/dist/compaction.d.ts +13 -13
  264. package/dist/compaction.js +4 -3
  265. package/dist/concurrency.cjs +7 -6
  266. package/dist/concurrency.cjs.map +1 -1
  267. package/dist/concurrency.js +5 -4
  268. package/dist/concurrency.js.map +1 -1
  269. package/dist/context/index.cjs +7 -7
  270. package/dist/context/index.js +3 -3
  271. package/dist/context-FDOON2DB.js +6 -0
  272. package/dist/{context-DCECDKWN.js.map → context-FDOON2DB.js.map} +1 -1
  273. package/dist/context-VMIE4BMD.cjs +23 -0
  274. package/dist/{context-4HGPCOH6.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
  275. package/dist/cron-CRwy2JBF.d.ts +240 -0
  276. package/dist/cron-DxxeQ-sK.d.cts +240 -0
  277. package/dist/cron.cjs +44 -42
  278. package/dist/cron.d.cts +5 -3
  279. package/dist/cron.d.ts +5 -3
  280. package/dist/cron.js +43 -41
  281. package/dist/define-tool.d.ts +14 -6
  282. package/dist/{errors-CHllybaU.d.ts → errors-BgJH9PHi.d.cts} +39 -24
  283. package/dist/{errors-BSoXcl3F.d.cts → errors-C5fJUqLk.d.ts} +39 -24
  284. package/dist/errors.cjs +22 -21
  285. package/dist/errors.d.cts +2 -2
  286. package/dist/errors.d.ts +2 -2
  287. package/dist/errors.js +3 -2
  288. package/dist/eval.cjs +62 -59
  289. package/dist/eval.cjs.map +1 -1
  290. package/dist/eval.d.cts +38 -0
  291. package/dist/eval.d.ts +38 -0
  292. package/dist/eval.js +52 -49
  293. package/dist/eval.js.map +1 -1
  294. package/dist/event-bus.d.ts +16 -0
  295. package/dist/{executor-3CGPLVJL.js → executor-BMEHFOXZ.js} +8 -7
  296. package/dist/executor-BMEHFOXZ.js.map +1 -0
  297. package/dist/{executor-4SW7QGZ4.cjs → executor-ZERJ3DGN.cjs} +25 -24
  298. package/dist/executor-ZERJ3DGN.cjs.map +1 -0
  299. package/dist/filesystem/index.cjs +8 -7
  300. package/dist/filesystem/index.cjs.map +1 -1
  301. package/dist/filesystem/index.js +4 -3
  302. package/dist/filesystem/index.js.map +1 -1
  303. package/dist/filesystem/local-filesystem.d.cts +18 -0
  304. package/dist/filesystem/local-filesystem.d.ts +18 -0
  305. package/dist/filesystem/types.d.cts +12 -0
  306. package/dist/filesystem/types.d.ts +12 -0
  307. package/dist/fs-session-store-3MOJQGP2.cjs +20 -0
  308. package/dist/{fs-session-store-VXXDIBGM.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
  309. package/dist/fs-session-store-IN7JTTXD.js +11 -0
  310. package/dist/{fs-session-store-LIKYT24K.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
  311. package/dist/generate-object-N5MDZUJI.js +8 -0
  312. package/dist/{generate-object-TVQCW2IZ.js.map → generate-object-N5MDZUJI.js.map} +1 -1
  313. package/dist/generate-object-PGSP5U7N.cjs +21 -0
  314. package/dist/{generate-object-E465DX5I.cjs.map → generate-object-PGSP5U7N.cjs.map} +1 -1
  315. package/dist/generate-object.d.ts +20 -0
  316. package/dist/index-manager-NG5YENWO.cjs +22 -0
  317. package/dist/{index-manager-HGGL4DD5.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
  318. package/dist/index-manager-ZMRJ6ZII.js +13 -0
  319. package/dist/{index-manager-EA6FGIQG.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
  320. package/dist/index.cjs +176 -154
  321. package/dist/index.cjs.map +1 -1
  322. package/dist/index.d.cts +761 -57
  323. package/dist/index.d.ts +761 -57
  324. package/dist/index.js +62 -59
  325. package/dist/index.js.map +1 -1
  326. package/dist/{inject-session-HO7FYVCX.js → inject-session-DDR6X6PC.js} +9 -8
  327. package/dist/inject-session-DDR6X6PC.js.map +1 -0
  328. package/dist/inject-session-XLO3KTBM.cjs +29 -0
  329. package/dist/inject-session-XLO3KTBM.cjs.map +1 -0
  330. package/dist/internal/auth/auth-types.d.ts +84 -2
  331. package/dist/internal/auth/credential-store.d.ts +34 -6
  332. package/dist/internal/auth/oauth-device.d.ts +2 -3
  333. package/dist/internal/auth/resolve-credential.d.ts +40 -0
  334. package/dist/internal/budget/tracker/budget.d.ts +12 -14
  335. package/dist/internal/budget/usage-accumulator.d.ts +15 -0
  336. package/dist/internal/llm/anthropic-shared.d.ts +8 -4
  337. package/dist/internal/llm/model-identifier.d.ts +26 -0
  338. package/dist/internal/llm/openai.d.ts +8 -0
  339. package/dist/internal/llm/router.d.ts +8 -0
  340. package/dist/internal/llm/types.d.ts +12 -1
  341. package/dist/internal/local-agent/mcp-pool.d.ts +2 -4
  342. package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
  343. package/dist/internal/local-agent/real-local-run-tools.d.ts +8 -0
  344. package/dist/internal/mcp/oauth.d.ts +19 -1
  345. package/dist/internal/mcp/token-storage.d.ts +52 -1
  346. package/dist/internal/memory/adapters/index.cjs +12 -11
  347. package/dist/internal/memory/adapters/index.d.cts +3 -1
  348. package/dist/internal/memory/adapters/index.d.ts +3 -1
  349. package/dist/internal/memory/adapters/index.js +9 -8
  350. package/dist/internal/memory/adapters/openai-compatible.d.cts +45 -0
  351. package/dist/internal/memory/adapters/openai-compatible.d.ts +45 -0
  352. package/dist/internal/memory/embedding-cache.d.ts +42 -1
  353. package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
  354. package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -3
  355. package/dist/internal/memory/storage/markdown-store.d.ts +0 -5
  356. package/dist/internal/persistence/atomic-write.d.cts +93 -0
  357. package/dist/internal/persistence/atomic-write.d.ts +93 -0
  358. package/dist/internal/persistence/cwd-mutex.d.cts +34 -0
  359. package/dist/internal/persistence/cwd-mutex.d.ts +34 -0
  360. package/dist/internal/persistence/exclusive-create.d.cts +31 -0
  361. package/dist/internal/persistence/exclusive-create.d.ts +31 -0
  362. package/dist/internal/persistence/file-lock.d.cts +41 -1
  363. package/dist/internal/persistence/file-lock.d.ts +41 -1
  364. package/dist/internal/persistence/fs-session-store.d.cts +3 -0
  365. package/dist/internal/persistence/fs-session-store.d.ts +3 -0
  366. package/dist/internal/persistence/fts5-sanitize.d.cts +29 -1
  367. package/dist/internal/persistence/fts5-sanitize.d.ts +29 -1
  368. package/dist/internal/persistence/index.cjs +40 -39
  369. package/dist/internal/persistence/index.cjs.map +1 -1
  370. package/dist/internal/persistence/index.d.cts +6 -1
  371. package/dist/internal/persistence/index.d.ts +6 -1
  372. package/dist/internal/persistence/index.js +9 -8
  373. package/dist/internal/persistence/index.js.map +1 -1
  374. package/dist/internal/persistence/paths.d.cts +54 -1
  375. package/dist/internal/persistence/paths.d.ts +54 -1
  376. package/dist/internal/persistence/persistence-schema.d.cts +9 -1
  377. package/dist/internal/persistence/persistence-schema.d.ts +9 -1
  378. package/dist/internal/persistence/schema-version.d.cts +215 -1
  379. package/dist/internal/persistence/schema-version.d.ts +215 -1
  380. package/dist/internal/persistence/session-dir.d.cts +1 -0
  381. package/dist/internal/persistence/session-dir.d.ts +1 -0
  382. package/dist/internal/persistence/session-writer.d.cts +20 -7
  383. package/dist/internal/persistence/session-writer.d.ts +20 -7
  384. package/dist/internal/persistence/sqlite-cas.d.cts +37 -1
  385. package/dist/internal/persistence/sqlite-cas.d.ts +37 -1
  386. package/dist/internal/persistence/sqlite-open.d.cts +14 -0
  387. package/dist/internal/persistence/sqlite-open.d.ts +14 -0
  388. package/dist/internal/persistence/sqlite-wal.d.cts +53 -0
  389. package/dist/internal/persistence/sqlite-wal.d.ts +53 -0
  390. package/dist/internal/persistence/transcript-ops.d.cts +7 -1
  391. package/dist/internal/persistence/transcript-ops.d.ts +7 -1
  392. package/dist/internal/plugins/types.d.cts +1 -1
  393. package/dist/internal/plugins/types.d.ts +1 -1
  394. package/dist/internal/providers/builtin/cerebras.d.ts +2 -2
  395. package/dist/internal/providers/builtin/deepinfra.d.ts +1 -1
  396. package/dist/internal/providers/builtin/openai-chatgpt.d.ts +12 -0
  397. package/dist/internal/providers/catalog-loader.d.ts +8 -0
  398. package/dist/internal/providers/catalog-schema.d.ts +55 -0
  399. package/dist/internal/providers/catalog-source-models-dev.d.ts +37 -1
  400. package/dist/internal/runtime/concurrency/delegation-depth.d.ts +27 -0
  401. package/dist/internal/runtime/concurrency/subagent-credentials.d.ts +33 -1
  402. package/dist/internal/runtime/context/context-discovery-runner.d.ts +44 -0
  403. package/dist/internal/runtime/context/context-discovery.d.ts +58 -0
  404. package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +70 -1
  405. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +15 -1
  406. package/dist/internal/runtime/lifecycle/env-policy.d.ts +1 -3
  407. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +15 -0
  408. package/dist/internal/runtime/registry/agent-registry-store.d.ts +12 -0
  409. package/dist/internal/runtime/registry/live-agent-registry.d.ts +37 -0
  410. package/dist/internal/scorers/llm-judge.d.ts +6 -1
  411. package/dist/internal/security/index.cjs +14 -13
  412. package/dist/internal/security/index.d.cts +4 -1
  413. package/dist/internal/security/index.d.ts +4 -1
  414. package/dist/internal/security/index.js +4 -3
  415. package/dist/internal/security/path-guard.d.cts +107 -0
  416. package/dist/internal/security/path-guard.d.ts +107 -0
  417. package/dist/internal/security/redact.d.cts +71 -0
  418. package/dist/internal/security/redact.d.ts +71 -0
  419. package/dist/internal/session/agent-session.d.ts +15 -4
  420. package/dist/internal/session/compact-session.d.ts +2 -2
  421. package/dist/internal/session/session-cache.d.ts +5 -0
  422. package/dist/internal/task/store.d.ts +91 -5
  423. package/dist/internal/telemetry/span-names.d.ts +0 -1
  424. package/dist/internal/telemetry/tracer.d.ts +38 -0
  425. package/dist/job-queue.d.ts +18 -0
  426. package/dist/judge-call-DWHAJATE.js +6 -0
  427. package/dist/{judge-call-QMKGC2ZK.js.map → judge-call-DWHAJATE.js.map} +1 -1
  428. package/dist/judge-call-EGYRC2RE.cjs +23 -0
  429. package/dist/{judge-call-GVIJWQVE.cjs.map → judge-call-EGYRC2RE.cjs.map} +1 -1
  430. package/dist/mcp-auth.cjs +41 -25
  431. package/dist/mcp-auth.cjs.map +1 -1
  432. package/dist/mcp-auth.js +34 -18
  433. package/dist/mcp-auth.js.map +1 -1
  434. package/dist/models.cjs +43 -28
  435. package/dist/models.cjs.map +1 -1
  436. package/dist/models.js +26 -11
  437. package/dist/models.js.map +1 -1
  438. package/dist/oauth-transaction-store-BT4GLTLK.cjs +36 -0
  439. package/dist/{oauth-transaction-store-7CKHPQRN.cjs.map → oauth-transaction-store-BT4GLTLK.cjs.map} +1 -1
  440. package/dist/oauth-transaction-store-W52KVHQ4.js +3 -0
  441. package/dist/{oauth-transaction-store-W74I6EFD.js.map → oauth-transaction-store-W52KVHQ4.js.map} +1 -1
  442. package/dist/path-safety.cjs +11 -10
  443. package/dist/path-safety.js +4 -3
  444. package/dist/permission-engine.d.ts +55 -0
  445. package/dist/persistence.cjs +43 -42
  446. package/dist/persistence.cjs.map +1 -1
  447. package/dist/persistence.js +13 -12
  448. package/dist/persistence.js.map +1 -1
  449. package/dist/project.cjs +9 -8
  450. package/dist/project.cjs.map +1 -1
  451. package/dist/project.js +5 -4
  452. package/dist/project.js.map +1 -1
  453. package/dist/providers.cjs +23 -0
  454. package/dist/providers.cjs.map +1 -0
  455. package/dist/providers.d.cts +29 -0
  456. package/dist/providers.d.ts +29 -0
  457. package/dist/providers.js +10 -0
  458. package/dist/providers.js.map +1 -0
  459. package/dist/registry-VFKX7WOP.cjs +47 -0
  460. package/dist/{registry-UBY26R4I.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
  461. package/dist/registry-VFP3WWQP.js +10 -0
  462. package/dist/{registry-GC7BQMSV.js.map → registry-VFP3WWQP.js.map} +1 -1
  463. package/dist/retry.cjs +5 -4
  464. package/dist/retry.js +4 -3
  465. package/dist/{run-C8FBAC8o.d.ts → run-BYSHf58D.d.cts} +185 -33
  466. package/dist/{run-C8FBAC8o.d.cts → run-BYSHf58D.d.ts} +185 -33
  467. package/dist/{run-to-completion-JDPIUKSH.js → run-to-completion-DRO77625.js} +3 -3
  468. package/dist/{run-to-completion-JDPIUKSH.js.map → run-to-completion-DRO77625.js.map} +1 -1
  469. package/dist/{run-to-completion-J73I6IY4.cjs → run-to-completion-X4OWM673.cjs} +13 -13
  470. package/dist/{run-to-completion-J73I6IY4.cjs.map → run-to-completion-X4OWM673.cjs.map} +1 -1
  471. package/dist/sandbox/bwrap.d.cts +27 -14
  472. package/dist/sandbox/bwrap.d.ts +27 -14
  473. package/dist/sandbox/index.cjs +21 -20
  474. package/dist/sandbox/index.cjs.map +1 -1
  475. package/dist/sandbox/index.js +6 -5
  476. package/dist/sandbox/index.js.map +1 -1
  477. package/dist/sandbox/linux-sandbox.d.cts +72 -0
  478. package/dist/sandbox/linux-sandbox.d.ts +72 -0
  479. package/dist/sandbox/local-sandbox.d.cts +41 -0
  480. package/dist/sandbox/local-sandbox.d.ts +41 -0
  481. package/dist/sandbox/seccomp.d.cts +6 -0
  482. package/dist/sandbox/seccomp.d.ts +6 -0
  483. package/dist/sandbox/types.d.cts +64 -0
  484. package/dist/sandbox/types.d.ts +64 -0
  485. package/dist/scorers.d.ts +38 -7
  486. package/dist/sdk-agent-D8qJVkuV.d.ts +860 -0
  487. package/dist/sdk-agent-DEoKhA8a.d.cts +860 -0
  488. package/dist/server/auth/errors.d.cts +1 -1
  489. package/dist/server/auth/errors.d.ts +1 -1
  490. package/dist/server/auth/index.cjs +29 -21
  491. package/dist/server/auth/index.cjs.map +1 -1
  492. package/dist/server/auth/index.d.cts +25 -15
  493. package/dist/server/auth/index.d.ts +25 -15
  494. package/dist/server/auth/index.js +15 -7
  495. package/dist/server/auth/index.js.map +1 -1
  496. package/dist/server/auth/oauth-transaction-store.d.cts +13 -1
  497. package/dist/server/auth/oauth-transaction-store.d.ts +13 -1
  498. package/dist/server/auth/orchestrator.d.cts +1 -1
  499. package/dist/server/auth/orchestrator.d.ts +1 -1
  500. package/dist/server/auth/types.d.cts +1 -1
  501. package/dist/server/auth/types.d.ts +1 -1
  502. package/dist/server/auth/validate-return-to.d.cts +21 -11
  503. package/dist/server/auth/validate-return-to.d.ts +21 -11
  504. package/dist/server/errors-envelope.cjs +15 -14
  505. package/dist/server/errors-envelope.cjs.map +1 -1
  506. package/dist/server/errors-envelope.d.cts +4 -4
  507. package/dist/server/errors-envelope.d.ts +4 -4
  508. package/dist/server/errors-envelope.js +4 -3
  509. package/dist/server/errors-envelope.js.map +1 -1
  510. package/dist/session-transcript-AKDYYGXQ.js +6 -0
  511. package/dist/{session-transcript-SKIRBEJE.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
  512. package/dist/session-transcript-JXHFTB7G.cjs +51 -0
  513. package/dist/{session-transcript-TNAJ4O3M.cjs.map → session-transcript-JXHFTB7G.cjs.map} +1 -1
  514. package/dist/skills.cjs +8 -7
  515. package/dist/skills.js +6 -5
  516. package/dist/stream-object-BUCF5PHO.cjs +21 -0
  517. package/dist/{stream-object-T4DAMNVB.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
  518. package/dist/stream-object-L57K4OFS.js +8 -0
  519. package/dist/{stream-object-QMNR3YFF.js.map → stream-object-L57K4OFS.js.map} +1 -1
  520. package/dist/{stream-to-completion-DFJ5T3BK.js → stream-to-completion-QV5HCL3J.js} +3 -3
  521. package/dist/{stream-to-completion-DFJ5T3BK.js.map → stream-to-completion-QV5HCL3J.js.map} +1 -1
  522. package/dist/{stream-to-completion-H2MHISSK.cjs → stream-to-completion-SRISU5AB.cjs} +10 -10
  523. package/dist/{stream-to-completion-H2MHISSK.cjs.map → stream-to-completion-SRISU5AB.cjs.map} +1 -1
  524. package/dist/subagents-loader-AZIXJ7D3.cjs +16 -0
  525. package/dist/{subagents-loader-3CXBQWWY.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
  526. package/dist/subagents-loader-J54ESLDV.js +7 -0
  527. package/dist/{subagents-loader-WN2SB6PV.js.map → subagents-loader-J54ESLDV.js.map} +1 -1
  528. package/dist/subagents-loader.cjs +7 -6
  529. package/dist/subagents-loader.cjs.map +1 -1
  530. package/dist/subagents-loader.d.cts +3 -2
  531. package/dist/subagents-loader.d.ts +3 -2
  532. package/dist/subagents-loader.js +5 -4
  533. package/dist/subagents-loader.js.map +1 -1
  534. package/dist/subscription/define-subscription.d.cts +1 -1
  535. package/dist/subscription/define-subscription.d.ts +1 -1
  536. package/dist/subscription/index.cjs +22 -9
  537. package/dist/subscription/index.cjs.map +1 -1
  538. package/dist/subscription/index.d.cts +1 -1
  539. package/dist/subscription/index.d.ts +1 -1
  540. package/dist/subscription/index.js +21 -8
  541. package/dist/subscription/index.js.map +1 -1
  542. package/dist/subscription/internal/adapter-types.d.cts +1 -1
  543. package/dist/subscription/internal/adapter-types.d.ts +1 -1
  544. package/dist/subscription/internal/server-integration.d.cts +1 -1
  545. package/dist/subscription/internal/server-integration.d.ts +1 -1
  546. package/dist/subscription/internal/sse-encoder.d.cts +1 -1
  547. package/dist/subscription/internal/sse-encoder.d.ts +1 -1
  548. package/dist/subscription/internal/sse-parser.d.cts +1 -1
  549. package/dist/subscription/internal/sse-parser.d.ts +1 -1
  550. package/dist/subscription/internal/subscription-runtime.d.cts +1 -1
  551. package/dist/subscription/internal/subscription-runtime.d.ts +1 -1
  552. package/dist/subscription/internal/ws-adapter-node.d.cts +1 -1
  553. package/dist/subscription/internal/ws-adapter-node.d.ts +1 -1
  554. package/dist/subscription/theokit-subscribe.d.cts +14 -1
  555. package/dist/subscription/theokit-subscribe.d.ts +14 -1
  556. package/dist/subscription/types.d.cts +19 -1
  557. package/dist/subscription/types.d.ts +19 -1
  558. package/dist/task-store.cjs +8 -7
  559. package/dist/task-store.js +5 -4
  560. package/dist/types/agent-prims.d.ts +14 -0
  561. package/dist/types/agent.d.ts +69 -17
  562. package/dist/types/batch.d.ts +7 -1
  563. package/dist/types/conversation.d.ts +18 -5
  564. package/dist/types/goal-events.d.ts +4 -8
  565. package/dist/types/memory-adapter.d.ts +12 -1
  566. package/dist/types/plugin.d.ts +101 -0
  567. package/dist/types/provider-profile.d.ts +21 -2
  568. package/dist/types/run-events.d.ts +28 -1
  569. package/dist/types/run.d.ts +35 -23
  570. package/dist/types/sdk-agent.d.ts +14 -0
  571. package/dist/types/session-record.d.ts +18 -1
  572. package/dist/types/task.d.ts +15 -1
  573. package/dist/types/theokit.d.ts +10 -1
  574. package/dist/types/updates.d.ts +35 -4
  575. package/dist/types/workflow.d.ts +155 -0
  576. package/dist/workflow.cjs +29 -28
  577. package/dist/workflow.d.cts +666 -17
  578. package/dist/workflow.d.ts +666 -17
  579. package/dist/workflow.js +8 -7
  580. package/docs/error-codes.md +208 -172
  581. package/docs/harness-capability-map.md +1357 -304
  582. package/package.json +21 -8
  583. package/bin/init-claude.mjs +0 -68
  584. package/claude-template/AGENTS.md +0 -157
  585. package/claude-template/CLAUDE.md +0 -66
  586. package/claude-template/dot-claude/rules/theokit-conventions.md +0 -32
  587. package/claude-template/dot-claude/settings.json +0 -16
  588. package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +0 -209
  589. package/claude-template/dot-claude/skills/theokit-auth/SKILL.md +0 -102
  590. package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +0 -176
  591. package/claude-template/dot-claude/skills/theokit-client/SKILL.md +0 -58
  592. package/claude-template/dot-claude/skills/theokit-compaction/SKILL.md +0 -102
  593. package/claude-template/dot-claude/skills/theokit-concurrency/SKILL.md +0 -68
  594. package/claude-template/dot-claude/skills/theokit-config/SKILL.md +0 -139
  595. package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +0 -148
  596. package/claude-template/dot-claude/skills/theokit-di/SKILL.md +0 -233
  597. package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +0 -294
  598. package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +0 -172
  599. package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +0 -179
  600. package/claude-template/dot-claude/skills/theokit-filesystem/SKILL.md +0 -74
  601. package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +0 -209
  602. package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +0 -176
  603. package/claude-template/dot-claude/skills/theokit-messages/SKILL.md +0 -58
  604. package/claude-template/dot-claude/skills/theokit-models/SKILL.md +0 -79
  605. package/claude-template/dot-claude/skills/theokit-path-safety/SKILL.md +0 -60
  606. package/claude-template/dot-claude/skills/theokit-persistence/SKILL.md +0 -85
  607. package/claude-template/dot-claude/skills/theokit-project/SKILL.md +0 -55
  608. package/claude-template/dot-claude/skills/theokit-retry/SKILL.md +0 -50
  609. package/claude-template/dot-claude/skills/theokit-sandbox/SKILL.md +0 -93
  610. package/claude-template/dot-claude/skills/theokit-sanitize/SKILL.md +0 -66
  611. package/claude-template/dot-claude/skills/theokit-skills/SKILL.md +0 -68
  612. package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +0 -156
  613. package/claude-template/dot-claude/skills/theokit-subagents/SKILL.md +0 -109
  614. package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +0 -148
  615. package/claude-template/dot-claude/skills/theokit-task-store/SKILL.md +0 -75
  616. package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +0 -170
  617. package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +0 -218
  618. package/dist/agent-JX5SBYDE.cjs +0 -59
  619. package/dist/agent-ZAGG6ZBS.js +0 -50
  620. package/dist/agent-session-store-EPX2WQI4.cjs +0 -23
  621. package/dist/agent-session-store-JMU7ASDB.js +0 -6
  622. package/dist/batch-NLIS4QTW.js.map +0 -1
  623. package/dist/batch-WQ3AJCDV.cjs.map +0 -1
  624. package/dist/chunk-23VZBRDQ.js.map +0 -1
  625. package/dist/chunk-2CFEET3Y.cjs.map +0 -1
  626. package/dist/chunk-2QMK627M.cjs.map +0 -1
  627. package/dist/chunk-2RW7K6FN.cjs.map +0 -1
  628. package/dist/chunk-2VFZQEDW.cjs.map +0 -1
  629. package/dist/chunk-2XLKLVVR.js.map +0 -1
  630. package/dist/chunk-2Y5NO2SY.js.map +0 -1
  631. package/dist/chunk-2YGIBOUH.cjs.map +0 -1
  632. package/dist/chunk-2YWWPCGX.js.map +0 -1
  633. package/dist/chunk-33L2NVTJ.cjs.map +0 -1
  634. package/dist/chunk-34XOCZJO.js.map +0 -1
  635. package/dist/chunk-3SHW7XKK.js.map +0 -1
  636. package/dist/chunk-4NAKHID5.js.map +0 -1
  637. package/dist/chunk-4X3SBHPK.js.map +0 -1
  638. package/dist/chunk-5NBUH3NO.js.map +0 -1
  639. package/dist/chunk-634YVZLU.js.map +0 -1
  640. package/dist/chunk-6DCTL32L.cjs.map +0 -1
  641. package/dist/chunk-6PTCKXD3.js.map +0 -1
  642. package/dist/chunk-7HQVDLFI.cjs.map +0 -1
  643. package/dist/chunk-7TB5U7RK.js.map +0 -1
  644. package/dist/chunk-7W7ZWMLQ.js.map +0 -1
  645. package/dist/chunk-ADVZIC43.cjs.map +0 -1
  646. package/dist/chunk-AM2CNBKE.js.map +0 -1
  647. package/dist/chunk-AMYY3JHQ.cjs.map +0 -1
  648. package/dist/chunk-B4YA6BRS.cjs.map +0 -1
  649. package/dist/chunk-BBZYXVLZ.cjs.map +0 -1
  650. package/dist/chunk-BC5EUG7R.cjs.map +0 -1
  651. package/dist/chunk-CAH3G4IS.js.map +0 -1
  652. package/dist/chunk-CHVSMEKM.js.map +0 -1
  653. package/dist/chunk-CZHPR2G7.cjs.map +0 -1
  654. package/dist/chunk-DEZ75ET5.js.map +0 -1
  655. package/dist/chunk-DM6Y5B2G.cjs.map +0 -1
  656. package/dist/chunk-EFXJ5C7X.js.map +0 -1
  657. package/dist/chunk-EQMLJ52C.cjs.map +0 -1
  658. package/dist/chunk-FBZMSLDC.cjs.map +0 -1
  659. package/dist/chunk-HI4ZW62S.js.map +0 -1
  660. package/dist/chunk-HTK54K2J.js.map +0 -1
  661. package/dist/chunk-I5OTK2RP.js.map +0 -1
  662. package/dist/chunk-JJZ4NIAG.js.map +0 -1
  663. package/dist/chunk-KIX45IKP.js.map +0 -1
  664. package/dist/chunk-KZBB4YKU.js.map +0 -1
  665. package/dist/chunk-L5YO6PWL.cjs.map +0 -1
  666. package/dist/chunk-L7EGRCKJ.js.map +0 -1
  667. package/dist/chunk-NOS7PTKP.js.map +0 -1
  668. package/dist/chunk-NUEL6RCZ.cjs.map +0 -1
  669. package/dist/chunk-NZOR3N4E.js.map +0 -1
  670. package/dist/chunk-OKLYRPKL.cjs.map +0 -1
  671. package/dist/chunk-OXNYIMZZ.js.map +0 -1
  672. package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
  673. package/dist/chunk-QLAWEGTZ.cjs.map +0 -1
  674. package/dist/chunk-QN5N3ZVT.cjs.map +0 -1
  675. package/dist/chunk-R3CKCRK3.cjs.map +0 -1
  676. package/dist/chunk-R7TKOQMJ.js.map +0 -1
  677. package/dist/chunk-RP5HQVLD.js.map +0 -1
  678. package/dist/chunk-SXSPMRSV.cjs.map +0 -1
  679. package/dist/chunk-T5ZWI3MC.cjs.map +0 -1
  680. package/dist/chunk-T6QUCG7L.cjs.map +0 -1
  681. package/dist/chunk-TR4V2LHV.cjs.map +0 -1
  682. package/dist/chunk-VYCKUKPA.cjs.map +0 -1
  683. package/dist/chunk-VYHJZVL5.cjs.map +0 -1
  684. package/dist/chunk-W4FV7JBH.js.map +0 -1
  685. package/dist/chunk-X2FR4OIT.js.map +0 -1
  686. package/dist/chunk-XRI6DXPZ.js.map +0 -1
  687. package/dist/chunk-XWCTBGYK.js.map +0 -1
  688. package/dist/chunk-YLQQX5W2.cjs.map +0 -1
  689. package/dist/chunk-YTO5BRBD.cjs.map +0 -1
  690. package/dist/chunk-Z5U2JGEK.cjs.map +0 -1
  691. package/dist/compact-session-6GKIS4SD.cjs +0 -58
  692. package/dist/compact-session-EJ36VH5I.js +0 -21
  693. package/dist/context-4HGPCOH6.cjs +0 -22
  694. package/dist/context-DCECDKWN.js +0 -5
  695. package/dist/cron-DgHJnMAK.d.cts +0 -631
  696. package/dist/cron-DyWQsEG6.d.ts +0 -631
  697. package/dist/executor-3CGPLVJL.js.map +0 -1
  698. package/dist/executor-4SW7QGZ4.cjs.map +0 -1
  699. package/dist/fs-session-store-LIKYT24K.js +0 -10
  700. package/dist/fs-session-store-VXXDIBGM.cjs +0 -19
  701. package/dist/generate-object-E465DX5I.cjs +0 -20
  702. package/dist/generate-object-TVQCW2IZ.js +0 -7
  703. package/dist/index-manager-EA6FGIQG.js +0 -12
  704. package/dist/index-manager-HGGL4DD5.cjs +0 -21
  705. package/dist/inject-session-67SF65FC.cjs +0 -28
  706. package/dist/inject-session-67SF65FC.cjs.map +0 -1
  707. package/dist/inject-session-HO7FYVCX.js.map +0 -1
  708. package/dist/judge-call-GVIJWQVE.cjs +0 -22
  709. package/dist/judge-call-QMKGC2ZK.js +0 -5
  710. package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
  711. package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
  712. package/dist/registry-GC7BQMSV.js +0 -9
  713. package/dist/registry-UBY26R4I.cjs +0 -46
  714. package/dist/session-transcript-SKIRBEJE.js +0 -5
  715. package/dist/session-transcript-TNAJ4O3M.cjs +0 -50
  716. package/dist/stream-object-QMNR3YFF.js +0 -7
  717. package/dist/stream-object-T4DAMNVB.cjs +0 -20
  718. package/dist/subagents-loader-3CXBQWWY.cjs +0 -15
  719. package/dist/subagents-loader-WN2SB6PV.js +0 -6
@@ -1,34 +1,36 @@
1
- import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-I5OTK2RP.js';
2
- import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-OIBHY6JQ.js';
1
+ import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-DUIF54UP.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-7TB5U7RK.js';
5
- import { FsSessionStore } from './chunk-634YVZLU.js';
6
- import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, shouldUseRealLocalRuntime, CircuitBreaker, buildDefaultSummarizer, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-2Y5NO2SY.js';
7
- import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-NOS7PTKP.js';
8
- import { resolveChildEnv } from './chunk-AM2CNBKE.js';
9
- import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-34XOCZJO.js';
10
- import { readVersionedJson, getTheokitHome, writeVersionedJson } from './chunk-L7EGRCKJ.js';
11
- import { createOpenAiCompatibleRuntime } from './chunk-EFXJ5C7X.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-VDEWG5TV.js';
9
+ import { resolveChildEnv } from './chunk-HKCKOAIO.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-ITQ4NO4P.js';
17
- import { defaultBaseDir, expandTilde } from './chunk-C4EU627W.js';
18
- import { withFileLock } from './chunk-HTK54K2J.js';
19
- import { withCwdMutex } from './chunk-2XLKLVVR.js';
20
- import { toJsonSchema } from './chunk-4VPXM6UU.js';
21
- import { atomicWriteJson } from './chunk-CHVSMEKM.js';
22
- import { loadSubagents } from './chunk-XGYI2KQH.js';
23
- import { resolveEffectiveContextWindow, CONTEXT_WINDOW_FLOOR, CONTEXT_WINDOW_MARGIN } from './chunk-KIX45IKP.js';
24
- import { parseModelId } from './chunk-X2FR4OIT.js';
25
- import { getCatalogModelInfo, registerBuiltins, getProviderProfile, registerProvider, isPatchedModelKey } from './chunk-2YWWPCGX.js';
26
- import { escapeBlockBody, buildSkillsBlock, discoverSkills, stripSkillFrontmatter } from './chunk-BXVSBYGW.js';
27
- import { validateArtifactPath, PathTraversalError, safePathJoin } from './chunk-XWCTBGYK.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-5XXUYU3M.js';
30
- import { AgentRunError, coerceToKnownAgentRunErrorCode, UnknownAgentError, ConfigurationError, AuthenticationError, UnsupportedRunOperationError, AgentDisposedError, NetworkError, TheokitAgentError } from './chunk-HI4ZW62S.js';
31
- import { diag, redactSecrets } from './chunk-4X3SBHPK.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-SSQZA3DZ.js';
30
+ import { getCatalogModelInfo, registerBuiltins, getProviderProfile as getProviderProfile$1, registerProvider, isPatchedModelKey } from './chunk-FXEUP75G.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-TVQCW2IZ.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();
@@ -277,19 +279,6 @@ function structurableAnswerOrThrow(result, GenerateObjectError) {
277
279
  }
278
280
  return answer;
279
281
  }
280
-
281
- // src/internal/env.ts
282
- var API_KEY_ENV_VAR = "THEOKIT_API_KEY";
283
- function resolveApiKey(explicit) {
284
- if (explicit !== void 0 && explicit.length > 0) {
285
- return explicit;
286
- }
287
- const fromEnv = process.env[API_KEY_ENV_VAR];
288
- if (fromEnv !== void 0 && fromEnv.length > 0) {
289
- return fromEnv;
290
- }
291
- return void 0;
292
- }
293
282
  var PREFIX = {
294
283
  localAgent: "agent-",
295
284
  cloudAgent: "bc-",
@@ -568,10 +557,11 @@ function registerAgent(agent) {
568
557
  function getRegisteredAgent(agentId) {
569
558
  return agents.get(agentId);
570
559
  }
571
- function listRegisteredAgents(runtime, cwd) {
560
+ function listRegisteredAgents(runtime, cwd, includeArchived = false) {
572
561
  let out = Array.from(agents.values());
573
562
  if (runtime !== void 0) out = out.filter((agent) => agent.runtime === runtime);
574
563
  if (cwd !== void 0) out = out.filter((agent) => resolveRegistryCwd(agent) === cwd);
564
+ if (!includeArchived) out = out.filter((agent) => !agent.archived);
575
565
  return out;
576
566
  }
577
567
  function updateRegisteredAgent(agentId, update) {
@@ -1721,7 +1711,7 @@ var RealCloudRun = class extends FixtureRunBase {
1721
1711
  }
1722
1712
  if (eventName === "result") {
1723
1713
  const update = {
1724
- finalStatus: parsed.status ?? "finished"
1714
+ finalStatus: parsed.status === void 0 ? "finished" : toRunStatus(parsed.status)
1725
1715
  };
1726
1716
  if (typeof parsed.result === "string") update.finalText = parsed.result;
1727
1717
  return update;
@@ -1733,7 +1723,7 @@ var RealCloudRun = class extends FixtureRunBase {
1733
1723
  type: "status",
1734
1724
  agent_id: this.agentId,
1735
1725
  run_id: this.id,
1736
- status
1726
+ status: toWireStatus(status)
1737
1727
  };
1738
1728
  }
1739
1729
  buildAssistantEvent(text) {
@@ -1755,6 +1745,43 @@ var RealCloudRun = class extends FixtureRunBase {
1755
1745
  this.transitionTo("error");
1756
1746
  }
1757
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
+ }
1758
1785
  function safeParse(data2) {
1759
1786
  try {
1760
1787
  return JSON.parse(data2);
@@ -1820,6 +1847,7 @@ var CloudAgent = class {
1820
1847
  );
1821
1848
  }
1822
1849
  async send(message, options = {}) {
1850
+ if (this.disposed) throw new AgentDisposedError(this.agentId);
1823
1851
  if (options.tools !== void 0 && options.tools.length > 0) {
1824
1852
  throw new ConfigurationError(
1825
1853
  "Custom inline tools are local-only in SDK v1.0 \u2014 cloud agents cannot serialize handler functions",
@@ -2073,6 +2101,25 @@ function isStdioCommandConfig(config) {
2073
2101
  function isLocalPath(command) {
2074
2102
  return command.startsWith("/") || command.startsWith("~/") || command.startsWith("./") || command.startsWith("../");
2075
2103
  }
2104
+
2105
+ // src/internal/persistence/session-dir.ts
2106
+ function resolveSessionDir(local) {
2107
+ if (local?.sessionDir !== void 0) {
2108
+ if (local.baseDir !== void 0) {
2109
+ diag(
2110
+ "[theokit-sdk] local.sessionDir and local.baseDir are both set; using sessionDir. baseDir is the deprecated name for the same option (#301)."
2111
+ );
2112
+ }
2113
+ return expandTilde(local.sessionDir);
2114
+ }
2115
+ if (local?.baseDir !== void 0) {
2116
+ diag(
2117
+ "[theokit-sdk] local.baseDir is deprecated; rename it to local.sessionDir (#301). It is the directory for session transcripts, not the working directory \u2014 that is local.cwd."
2118
+ );
2119
+ return expandTilde(local.baseDir);
2120
+ }
2121
+ return defaultBaseDir();
2122
+ }
2076
2123
  var SCHEMA_VERSION2 = 1;
2077
2124
  var FILE_NAME = "personality.json";
2078
2125
  function emptyState() {
@@ -3450,6 +3497,9 @@ var langsmithAdapter = {
3450
3497
 
3451
3498
  // src/internal/telemetry/adapters/posthog.ts
3452
3499
  var registeredHere6 = false;
3500
+ function presentEnv(value) {
3501
+ return value !== void 0 && value.trim().length > 0 ? value : void 0;
3502
+ }
3453
3503
  var posthogAdapter = {
3454
3504
  moduleName: "posthog-node",
3455
3505
  displayName: "PostHog",
@@ -3459,12 +3509,12 @@ var posthogAdapter = {
3459
3509
  const ph = safeRequire("posthog-node");
3460
3510
  const otel = safeRequire("@opentelemetry/api");
3461
3511
  if (ph === void 0 || otel === void 0) return;
3462
- const key = process.env.POSTHOG_API_KEY ?? process.env.POSTHOG_PROJECT_API_KEY;
3512
+ const key = presentEnv(process.env.POSTHOG_API_KEY) ?? presentEnv(process.env.POSTHOG_PROJECT_API_KEY);
3463
3513
  if (typeof key !== "string" || key.length === 0) {
3464
3514
  return;
3465
3515
  }
3466
3516
  const client = new ph.PostHog(key, {
3467
- host: process.env.POSTHOG_HOST ?? "https://us.i.posthog.com"
3517
+ host: presentEnv(process.env.POSTHOG_HOST) ?? "https://us.i.posthog.com"
3468
3518
  });
3469
3519
  const provider = otel.trace.getTracerProvider();
3470
3520
  if (provider.addSpanProcessor === void 0) return;
@@ -3742,10 +3792,11 @@ var ProvidersManagerImpl = class {
3742
3792
  routes() {
3743
3793
  const resolved = [];
3744
3794
  const modelProvider = providerFromModel(this.model);
3795
+ const modelId = this.model?.id;
3745
3796
  const seen = /* @__PURE__ */ new Set();
3746
3797
  if (this.providers?.routes !== void 0) {
3747
3798
  for (const route of this.providers.routes) {
3748
- const resolvedRoute = resolveRoute(route, modelProvider, this.plugins);
3799
+ const resolvedRoute = resolveRoute(route, modelProvider, modelId, this.plugins);
3749
3800
  if (!seen.has(route.capability)) {
3750
3801
  seen.add(route.capability);
3751
3802
  resolved.push(resolvedRoute);
@@ -3761,9 +3812,9 @@ function providerFromModel(model) {
3761
3812
  if (id.includes(":")) return id.split(":")[0];
3762
3813
  return void 0;
3763
3814
  }
3764
- function resolveRoute(route, modelProvider, plugins) {
3815
+ function resolveRoute(route, modelProvider, modelId, plugins) {
3765
3816
  if (route.capability === "chat" && modelProvider === route.provider) {
3766
- const modelName = extractModelName(modelProvider, route);
3817
+ const modelName = extractModelName(modelProvider, modelId, route);
3767
3818
  const base = {
3768
3819
  capability: route.capability,
3769
3820
  provider: route.provider,
@@ -3785,13 +3836,11 @@ function resolveRoute(route, modelProvider, plugins) {
3785
3836
  reason: "explicit-route"
3786
3837
  };
3787
3838
  }
3788
- function extractModelName(prefix, route) {
3839
+ function extractModelName(prefix, modelId, route) {
3789
3840
  if (route.model !== void 0) return route.model;
3790
- return prefix === route.provider ? defaultModelForProvider(prefix) : void 0;
3791
- }
3792
- function defaultModelForProvider(provider) {
3793
- if (provider === "anthropic") return "claude-3-7-sonnet";
3794
- return void 0;
3841
+ if (prefix !== route.provider || modelId === void 0) return void 0;
3842
+ const name = modelId.slice(modelId.indexOf(":") + 1);
3843
+ return name.length > 0 ? name : void 0;
3795
3844
  }
3796
3845
  var MAX_MD_FILE_BYTES = 1048576;
3797
3846
  async function loadMarkdownEntities(opts) {
@@ -4109,7 +4158,6 @@ async function loadSources(config, cwd) {
4109
4158
  continue;
4110
4159
  }
4111
4160
  try {
4112
- await stat(absolute);
4113
4161
  const content = await readFile(absolute, "utf8");
4114
4162
  const tokens = tokenizeContent(content);
4115
4163
  results.push({ ...source, status: "included", tokens });
@@ -4224,6 +4272,21 @@ var PluginsManager = class {
4224
4272
  });
4225
4273
  }
4226
4274
  }
4275
+ /**
4276
+ * B-107 measured this guard as unreachable and it was REMOVED on 2026-08-20. The pre-push gate
4277
+ * caught the regression the same hour: `tests/contract/plugins.contract.test.ts:69` drives
4278
+ * `Agent.create` with `cloud` plus `plugins.paths` and requires a `ConfigurationError`.
4279
+ *
4280
+ * The measurement that said "unreachable" was a `tsc` probe returning TS2353 — `plugins.paths` is
4281
+ * not in the declared `AgentOptions`. That proves the option is undeclarable in TypeScript; it
4282
+ * does NOT prove the value cannot arrive. The contract test casts through a `ProposedAgentOptions`
4283
+ * shape it declares itself, which is exactly what a JavaScript caller, a JSON config or an `as`
4284
+ * cast does. Runtime boundary validation exists for values types cannot stop
4285
+ * (`rules/architecture.md` § 1) — so "the type system forbids it" is never on its own a reason to
4286
+ * delete a boundary check.
4287
+ *
4288
+ * Do not remove this again without making `tests/contract/plugins.contract.test.ts` go red first.
4289
+ */
4227
4290
  assertCloudRules() {
4228
4291
  if (!this.cloud) return;
4229
4292
  if (this.localPaths !== void 0 && this.localPaths.length > 0) {
@@ -4871,7 +4934,13 @@ async function initLoopContext(inputs) {
4871
4934
  }
4872
4935
  async function safeListTools(client, serverName, sink) {
4873
4936
  try {
4874
- return await client.listTools();
4937
+ const listed = await client.listTools();
4938
+ emitRunEvent(sink, {
4939
+ type: "mcp_server_ready",
4940
+ serverName: serverName ?? "unknown",
4941
+ tools: listed.map((tool) => tool.name)
4942
+ });
4943
+ return listed;
4875
4944
  } catch (cause) {
4876
4945
  const message = cause instanceof Error ? cause.message : String(cause);
4877
4946
  const server = serverName ?? "unknown";
@@ -5023,13 +5092,12 @@ async function streamLlmTurn(inputs, ctx) {
5023
5092
  };
5024
5093
  }
5025
5094
  async function collectLlmEvents(generator, inputs, ctx) {
5026
- let accumulatedText = "";
5027
5095
  let errored = false;
5028
5096
  let finishValue;
5029
5097
  let thinking;
5098
+ const partial = { text: "" };
5030
5099
  try {
5031
- const result = await runCollectorLoop(generator, inputs, ctx);
5032
- accumulatedText = result.accumulatedText;
5100
+ const result = await runCollectorLoop(generator, inputs, ctx, partial);
5033
5101
  errored = result.errored;
5034
5102
  finishValue = result.finishValue;
5035
5103
  thinking = result.thinking;
@@ -5039,10 +5107,12 @@ async function collectLlmEvents(generator, inputs, ctx) {
5039
5107
  ctx.events.push(buildAssistantEvent(inputs, "[aborted]"));
5040
5108
  } else {
5041
5109
  registerLoopError(ctx, cause);
5042
- ctx.finalText = "";
5110
+ ctx.finalText = partial.text;
5111
+ if (partial.text !== "") ctx.events.push(buildAssistantEvent(inputs, partial.text));
5043
5112
  }
5044
5113
  errored = true;
5045
5114
  }
5115
+ const accumulatedText = partial.text;
5046
5116
  return {
5047
5117
  accumulatedText,
5048
5118
  errored,
@@ -5073,8 +5143,7 @@ async function consumeStreamEvent(inputs, reasoning, event) {
5073
5143
  }
5074
5144
  return "";
5075
5145
  }
5076
- async function runCollectorLoop(generator, inputs, ctx) {
5077
- let accumulatedText = "";
5146
+ async function runCollectorLoop(generator, inputs, ctx, partial) {
5078
5147
  const reasoning = { text: "", startedAt: void 0, signature: void 0 };
5079
5148
  let errored = false;
5080
5149
  let finishValue;
@@ -5088,16 +5157,16 @@ async function runCollectorLoop(generator, inputs, ctx) {
5088
5157
  }
5089
5158
  if (next.value.type === "error") {
5090
5159
  registerLoopError(ctx, next.value);
5091
- ctx.finalText = "";
5160
+ ctx.finalText = partial.text;
5092
5161
  errored = true;
5093
5162
  break;
5094
5163
  }
5095
- accumulatedText += await consumeStreamEvent(inputs, reasoning, next.value);
5164
+ partial.text += await consumeStreamEvent(inputs, reasoning, next.value);
5096
5165
  }
5097
5166
  } finally {
5098
5167
  thinking = await finalizeReasoning(inputs, ctx, reasoning);
5099
5168
  }
5100
- return { accumulatedText, errored, finishValue, ...thinking !== void 0 ? { thinking } : {} };
5169
+ return { errored, finishValue, ...thinking !== void 0 ? { thinking } : {} };
5101
5170
  }
5102
5171
  async function consumeReasoningDelta(inputs, reasoning, delta) {
5103
5172
  if (delta.signature !== void 0) reasoning.signature = delta.signature;
@@ -5919,7 +5988,7 @@ function stripDateSuffix(model) {
5919
5988
  return model.replace(/-\d{4}-?\d{2}-?\d{2}$/, "");
5920
5989
  }
5921
5990
  function normalizeAnthropicDots(model) {
5922
- return model.replace(/(\d+)\.(\d+)/g, "$1-$2");
5991
+ return model.replace(/(?<=\d)\.(?=\d)/g, "-");
5923
5992
  }
5924
5993
  function stripOpenRouterPrefix(modelId) {
5925
5994
  return modelId.startsWith("openrouter/") ? modelId.slice("openrouter/".length) : modelId;
@@ -6172,6 +6241,12 @@ async function runAgentLoop(inputs) {
6172
6241
  }
6173
6242
  if (budget.shouldContinue() === false && ctx.finalStatus === "finished" && ctx.finalText === "") {
6174
6243
  ctx.finalStatus = "error";
6244
+ if (ctx.error === void 0) {
6245
+ ctx.error = {
6246
+ 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.`,
6247
+ code: "iteration_limit_reached"
6248
+ };
6249
+ }
6175
6250
  }
6176
6251
  sendSpan?.setAttribute("status", ctx.finalStatus);
6177
6252
  if (ctx.stoppedByDoomLoop === true) sendSpan?.setAttribute("stoppedByDoomLoop", true);
@@ -6735,12 +6810,6 @@ var HttpMcpClient = class extends BaseMcpClient {
6735
6810
  ...this.config.headers ?? {}
6736
6811
  };
6737
6812
  }
6738
- /**
6739
- * Capture the session on the FIRST response that carries it (the `initialize`).
6740
- *
6741
- * Never overwritten by a later one: a server that re-issues mid-session would otherwise split
6742
- * the session in two, and the second half would not see the first half's state.
6743
- */
6744
6813
  /**
6745
6814
  * Read one JSON-RPC response, in either encoding the server may choose.
6746
6815
  *
@@ -6766,6 +6835,12 @@ var HttpMcpClient = class extends BaseMcpClient {
6766
6835
  code: "mcp_http_error"
6767
6836
  });
6768
6837
  }
6838
+ /**
6839
+ * Capture the session on the FIRST response that carries it (the `initialize`).
6840
+ *
6841
+ * Never overwritten by a later one: a server that re-issues mid-session would otherwise split
6842
+ * the session in two, and the second half would not see the first half's state.
6843
+ */
6769
6844
  captureSession(response) {
6770
6845
  if (this.sessionId !== void 0) return;
6771
6846
  const issued = response.headers.get("mcp-session-id");
@@ -7012,9 +7087,10 @@ function resolveRunProvider(options) {
7012
7087
  `);
7013
7088
  }
7014
7089
  const parsedModel = parseModelId(options.model?.id);
7015
- const modelInferredProvider = parsedModel.provider !== void 0 && getProviderProfile(parsedModel.provider) !== void 0 ? parsedModel.provider : void 0;
7090
+ const modelInferredProvider = parsedModel.provider !== void 0 && getProviderProfile$1(parsedModel.provider) !== void 0 ? parsedModel.provider : void 0;
7016
7091
  const keyInferredProvider = inferProviderFromApiKey(options.agentOptions.apiKey);
7017
7092
  const primary = options.agentOptions.providers?.routes?.[0]?.provider ?? keyInferredProvider ?? modelInferredProvider ?? detectPrimaryProvider();
7093
+ warnProviderPrecedenceOnce(modelInferredProvider, primary);
7018
7094
  const effectiveModelId = modelInferredProvider !== void 0 && modelInferredProvider === primary ? parsedModel.name : options.model?.id ?? "claude-sonnet-4-6";
7019
7095
  return { primary, effectiveModelId };
7020
7096
  }
@@ -7043,8 +7119,10 @@ function buildLoopInputs(options, runId, userText, userImages) {
7043
7119
  const credentialPoolStrategy = options.agentOptions.providers?.credentialPoolStrategy;
7044
7120
  const extractToolCallsFromContent = options.agentOptions.providers?.routes?.[0]?.extractToolCallsFromContent;
7045
7121
  const rateLimitSink = options.sendOptions.onRunEvent;
7122
+ const modelBaseUrl = options.model?.url;
7046
7123
  const chain = resolveProviderChain({
7047
7124
  primary,
7125
+ ...modelBaseUrl !== void 0 ? { baseUrl: modelBaseUrl } : {},
7048
7126
  ...fallback !== void 0 ? { fallback } : {},
7049
7127
  ...apiKeys !== void 0 ? { apiKeys } : {},
7050
7128
  ...credentialPoolStrategy !== void 0 ? { credentialPoolStrategy } : {},
@@ -8448,22 +8526,33 @@ var LocalAgentMemory = class {
8448
8526
  };
8449
8527
 
8450
8528
  // src/internal/local-agent/local-agent-memory-direct.ts
8529
+ async function createAvailableAdapters(entries, workspaceCwd) {
8530
+ const available = [];
8531
+ for (const entry of entries) {
8532
+ const instance = await entry.createProvider(workspaceCwd);
8533
+ if (instance.isAvailable() === false) {
8534
+ diag(
8535
+ `[theokit-sdk] memory adapter "${instance.id}" reports itself unavailable (plugin "${entry.pluginName}") \u2014 skipping it. Check its credentials.
8536
+ `
8537
+ );
8538
+ continue;
8539
+ }
8540
+ available.push(instance);
8541
+ }
8542
+ return available;
8543
+ }
8451
8544
  function buildAgentMemory(pluginManager, workspaceCwd, defaultContext) {
8452
8545
  let resolved;
8453
8546
  async function ensure() {
8454
8547
  if (resolved !== void 0) return resolved;
8455
8548
  const entries = pluginManager.aggregated.memoryProviders;
8456
- const created = [];
8457
- for (const entry of entries) {
8458
- const instance = await entry.createProvider(workspaceCwd);
8459
- created.push(instance);
8460
- }
8549
+ const created = await createAvailableAdapters(entries, workspaceCwd);
8461
8550
  for (const adapter of created) {
8462
8551
  if (adapter.initialize !== void 0) {
8463
8552
  await adapter.initialize();
8464
8553
  }
8465
8554
  }
8466
- resolved = { adapters: created, initialized: true };
8555
+ resolved = { adapters: created, initialized: true, registered: entries.length };
8467
8556
  return resolved;
8468
8557
  }
8469
8558
  function mergeContext(partial) {
@@ -8487,7 +8576,7 @@ function buildAgentMemory(pluginManager, workspaceCwd, defaultContext) {
8487
8576
  const r = await ensure();
8488
8577
  if (r.adapters.length === 0) {
8489
8578
  throw new ConfigurationError(
8490
- "No memory adapter registered. Pass a memory plugin in AgentOptions.plugins (e.g. supermemoryMemory({...})).",
8579
+ 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.`,
8491
8580
  { code: "no_memory_adapter" }
8492
8581
  );
8493
8582
  }
@@ -8791,7 +8880,7 @@ function localAgentRunUntil(agent, goal, options) {
8791
8880
  async function* wrap() {
8792
8881
  const { runUntilImpl } = await import('./run-until-HEQOUVU6.js');
8793
8882
  const buildDeps = async () => {
8794
- const { judgeCallImpl } = await import('./judge-call-QMKGC2ZK.js');
8883
+ const { judgeCallImpl } = await import('./judge-call-DWHAJATE.js');
8795
8884
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
8796
8885
  const create = getAgentFacade().create;
8797
8886
  return {
@@ -8812,19 +8901,19 @@ function localAgentRunUntil(agent, goal, options) {
8812
8901
  }
8813
8902
  function localAgentRunToCompletion(agent, message, options) {
8814
8903
  async function run() {
8815
- const { runToCompletionImpl } = await import('./run-to-completion-JDPIUKSH.js');
8904
+ const { runToCompletionImpl } = await import('./run-to-completion-DRO77625.js');
8816
8905
  return runToCompletionImpl({ send: (m, o) => agent.send(m, o) }, message, options);
8817
8906
  }
8818
8907
  return run();
8819
8908
  }
8820
8909
  async function* localAgentStreamToCompletion(agent, message, options) {
8821
- const { streamToCompletionImpl } = await import('./stream-to-completion-DFJ5T3BK.js');
8910
+ const { streamToCompletionImpl } = await import('./stream-to-completion-QV5HCL3J.js');
8822
8911
  return yield* streamToCompletionImpl({ send: (m, o) => agent.send(m, o) }, message, options);
8823
8912
  }
8824
8913
  async function localAgentFork(parent, options) {
8825
8914
  const { forkAgentImpl } = await import('./fork-agent-RSV4E3EA.js');
8826
8915
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
8827
- const { withPersonalityContext } = await import('./context-DCECDKWN.js');
8916
+ const { withPersonalityContext } = await import('./context-FDOON2DB.js');
8828
8917
  const create = getAgentFacade().create;
8829
8918
  return withPersonalityContext(
8830
8919
  { slug: parent.personalitySlugSnapshot, isFork: true },
@@ -9074,6 +9163,15 @@ ${recalled}
9074
9163
  ${args.userText}`;
9075
9164
  return typeof args.original === "string" ? wrapped : { ...args.original, text: wrapped };
9076
9165
  }
9166
+ async function runCalledATool(run) {
9167
+ try {
9168
+ for await (const event of run.stream()) {
9169
+ if (event.type === "tool_call") return true;
9170
+ }
9171
+ } catch {
9172
+ }
9173
+ return false;
9174
+ }
9077
9175
  function wrapRunWithPostReplyHook(args) {
9078
9176
  const handlers = args.pluginManager.hooksFor("post_assistant_reply");
9079
9177
  if (handlers.length === 0) return args.run;
@@ -9085,6 +9183,12 @@ function wrapRunWithPostReplyHook(args) {
9085
9183
  reply: replyText,
9086
9184
  agentId: args.agentId,
9087
9185
  runId: result.id,
9186
+ // #358 — whether this reply is safely replayable. A consumer (the semantic cache) must not
9187
+ // re-serve an answer produced by a tool call, and had nothing to key on. The run knows:
9188
+ // `stream()` replays its buffered events after `wait()` (ADR 0006), so a `tool_call` among
9189
+ // them is the signal. Computed here, inside a path that only runs when a hook is registered
9190
+ // and is already fire-and-forget, so it never lands on the caller's critical path.
9191
+ usedTools: await runCalledATool(args.run),
9088
9192
  ...args.options.memoryContext !== void 0 ? { memoryContext: args.options.memoryContext } : {}
9089
9193
  };
9090
9194
  void args.pluginManager.runPostAssistantReplyHooks(ctx);
@@ -9205,7 +9309,7 @@ async function executeSendLocked(inputs, message, options) {
9205
9309
  function buildCompletionCheckDeps() {
9206
9310
  return {
9207
9311
  judge: async (ctx, opts) => {
9208
- const { judgeCallImpl } = await import('./judge-call-QMKGC2ZK.js');
9312
+ const { judgeCallImpl } = await import('./judge-call-DWHAJATE.js');
9209
9313
  const { getAgentFacade } = await import('./agent-factory-registry-ZVTABLEY.js');
9210
9314
  return judgeCallImpl(ctx, opts, { create: getAgentFacade().create });
9211
9315
  }
@@ -9257,8 +9361,9 @@ var LocalAgent = class {
9257
9361
  options;
9258
9362
  workspaceCwd;
9259
9363
  /**
9260
- * SE40 — base dir for the native Claude-shaped session transcript. Default
9261
- * `~/.theokit`; set `local.baseDir: "~/.claude"` for Claude Code CLI interop.
9364
+ * Directory for the native Claude-shaped session transcript. Default
9365
+ * `~/.theokit`; set `local.sessionDir: "~/.claude"` for Claude Code CLI interop.
9366
+ * (`local.baseDir` is the deprecated name for the same option — #301.)
9262
9367
  */
9263
9368
  transcriptBaseDir;
9264
9369
  /**
@@ -9308,7 +9413,7 @@ var LocalAgent = class {
9308
9413
  this.model = normalizeModel(options.model);
9309
9414
  this.options = options;
9310
9415
  this.workspaceCwd = resolveCwd(options.local?.cwd);
9311
- this.transcriptBaseDir = resolveBaseDir(options.local?.baseDir);
9416
+ this.transcriptBaseDir = resolveSessionDir(options.local);
9312
9417
  this.sessionStore = options.local?.sessionStore ?? new FsSessionStore({ baseDir: this.transcriptBaseDir, cwd: this.workspaceCwd });
9313
9418
  this.settingSourcesIncludeProject = includesSetting(options, "project");
9314
9419
  this.settingSourcesIncludePlugins = includesSetting(options, "plugins");
@@ -9611,9 +9716,6 @@ var LocalAgent = class {
9611
9716
  function resolveCwd(cwd) {
9612
9717
  return (Array.isArray(cwd) ? cwd[0] : cwd) ?? process.cwd();
9613
9718
  }
9614
- function resolveBaseDir(baseDir) {
9615
- return baseDir === void 0 ? defaultBaseDir() : expandTilde(baseDir);
9616
- }
9617
9719
  function includesSetting(options, source) {
9618
9720
  const sources = options.local?.settingSources;
9619
9721
  return sources !== void 0 && (sources.includes(source) || sources.includes("all"));
@@ -9687,27 +9789,37 @@ async function maybeInjectHandoffTools(options) {
9687
9789
  tools: [...existingTools, ...handoffTools]
9688
9790
  };
9689
9791
  }
9792
+ function keyWillFlowToProvider(apiKey, provider) {
9793
+ if (isFixtureApiKey(apiKey)) return false;
9794
+ if (getConfiguredBaseUrl() !== void 0) return false;
9795
+ if (provider === void 0) return false;
9796
+ const profile = getProviderProfile(provider);
9797
+ if (profile === void 0) return false;
9798
+ return profile.authType !== "none";
9799
+ }
9800
+ function missingApiKeyMessage() {
9801
+ const present = presentProviderCredentialEnvVars();
9802
+ const base = `Missing API key \u2014 set ${API_KEY_ENV_VAR}, or pass \`apiKey\` to Agent.create()`;
9803
+ if (present.length === 0) return `${base}.`;
9804
+ 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]}, ... })\`.`;
9805
+ }
9690
9806
  async function createLocalAgent(options) {
9691
9807
  const apiKey = resolveApiKey(options.apiKey);
9692
9808
  if (apiKey === void 0) {
9693
- throw new AuthenticationError("Missing API key", { code: "missing_api_key" });
9809
+ throw new AuthenticationError(missingApiKeyMessage(), { code: "missing_api_key" });
9694
9810
  }
9695
- const willFlowToProvider = !isFixtureApiKey(apiKey) && !shouldUseRealLocalRuntime(apiKey);
9811
+ const provider = providerFromModelId(normalizeModel(options.model)?.id);
9812
+ const willFlowToProvider = keyWillFlowToProvider(apiKey, provider);
9696
9813
  const shape = validateApiKeyShape(apiKey, {
9697
9814
  strict: willFlowToProvider,
9698
9815
  // `options.model` is already normalized by `runCreateUnderSpan`; `normalizeModel`
9699
9816
  // here is the idempotent narrowing of the widened public type (`{id}` passes
9700
9817
  // through by reference) — cleaner than an `as` cast.
9701
- ...willFlowToProvider ? { provider: providerFromModelId(normalizeModel(options.model)?.id) } : {}
9818
+ ...willFlowToProvider ? { provider } : {}
9702
9819
  });
9703
9820
  if (shape.malformed) {
9704
9821
  throw new AuthenticationError(shape.message, { code: "malformed_api_key" });
9705
9822
  }
9706
- if (!isFixtureApiKey(apiKey) && getConfiguredBaseUrl() === void 0 && !shouldUseRealLocalRuntime(apiKey)) {
9707
- throw new AuthenticationError("Invalid API key", {
9708
- code: "authentication_error"
9709
- });
9710
- }
9711
9823
  const agent = new LocalAgent(options);
9712
9824
  await agent.initialize();
9713
9825
  return agent;
@@ -9828,10 +9940,10 @@ async function setAgentName(agentId, name) {
9828
9940
  updateRegisteredAgent(agentId, { name });
9829
9941
  await flushRegistrySaves();
9830
9942
  }
9831
- async function getRegisteredAgentOrThrow(agentId) {
9943
+ async function getRegisteredAgentOrThrow(agentId, cwd = process.cwd()) {
9832
9944
  let agent = getRegisteredAgent(agentId);
9833
9945
  if (agent === void 0) {
9834
- await hydrateRegistryFromDisk(process.cwd());
9946
+ await hydrateRegistryFromDisk(cwd);
9835
9947
  agent = getRegisteredAgent(agentId);
9836
9948
  }
9837
9949
  if (agent === void 0) {
@@ -9839,6 +9951,22 @@ async function getRegisteredAgentOrThrow(agentId) {
9839
9951
  }
9840
9952
  return agent;
9841
9953
  }
9954
+ function paginateByKey(all, keyOf, limit, cursor, sortByKey) {
9955
+ if (limit === void 0) return { items: [...all] };
9956
+ const ordered = sortByKey ? [...all].sort((a, b) => {
9957
+ const ka = keyOf(a);
9958
+ const kb = keyOf(b);
9959
+ return ka < kb ? -1 : ka > kb ? 1 : 0;
9960
+ }) : [...all];
9961
+ const startIndex = cursor === void 0 ? 0 : ordered.findIndex((item) => keyOf(item) === cursor) + 1;
9962
+ const page = ordered.slice(startIndex, startIndex + limit);
9963
+ const hasMore = startIndex + limit < ordered.length;
9964
+ const last = page[page.length - 1];
9965
+ return {
9966
+ items: page,
9967
+ ...hasMore && last !== void 0 ? { nextCursor: keyOf(last) } : {}
9968
+ };
9969
+ }
9842
9970
 
9843
9971
  // src/agent.ts
9844
9972
  var streamObjectImport;
@@ -9892,7 +10020,22 @@ var Agent = class _Agent {
9892
10020
  }
9893
10021
  }
9894
10022
  /**
9895
- * One-shot prompt: create an agent, send a single message, wait, dispose.
10023
+ * One-shot prompt: create an agent, send a single message, wait, **dispose**.
10024
+ *
10025
+ * `Agent.prompt` is STATIC and owns the agent's whole lifecycle. To send to an
10026
+ * agent you already hold, use the instance method — `agent.send(message)` —
10027
+ * which keeps the conversation and does not dispose anything:
10028
+ *
10029
+ * ```ts
10030
+ * const agent = await Agent.create({ ... });
10031
+ * const run = await agent.send("first"); // NOT agent.prompt(...)
10032
+ * const run2 = await agent.send("follow-up"); // full context retained
10033
+ * ```
10034
+ *
10035
+ * There is no `agent.prompt()` (#302). The natural sentence for the second
10036
+ * operation is "prompt the agent", so it is the method people reach for; the
10037
+ * two differ in whether the agent survives the call, which is why they do not
10038
+ * share a name.
9896
10039
  *
9897
10040
  * When `options.throwOnError === true`, rejects with `AgentRunError` if
9898
10041
  * the run terminates with `status: 'error'` (instead of resolving with the
@@ -9963,7 +10106,7 @@ var Agent = class _Agent {
9963
10106
  * @public
9964
10107
  */
9965
10108
  static async generateObject(options) {
9966
- const { generateObjectImpl } = await import('./generate-object-TVQCW2IZ.js');
10109
+ const { generateObjectImpl } = await import('./generate-object-N5MDZUJI.js');
9967
10110
  return generateObjectImpl(options, {
9968
10111
  create: (opts) => _Agent.create(opts),
9969
10112
  delete: (agentId) => _Agent.delete(agentId)
@@ -9987,7 +10130,7 @@ var Agent = class _Agent {
9987
10130
  delete: (agentId) => _Agent.delete(agentId)
9988
10131
  };
9989
10132
  async function* wrapper() {
9990
- streamObjectImport ??= import('./stream-object-QMNR3YFF.js');
10133
+ streamObjectImport ??= import('./stream-object-L57K4OFS.js');
9991
10134
  const { streamObjectImpl } = await streamObjectImport;
9992
10135
  yield* streamObjectImpl(options, deps);
9993
10136
  }
@@ -10011,7 +10154,7 @@ var Agent = class _Agent {
10011
10154
  * @public
10012
10155
  */
10013
10156
  static async batch(prompts, options) {
10014
- const { batchImpl } = await import('./batch-NLIS4QTW.js');
10157
+ const { batchImpl } = await import('./batch-2TGJMNCJ.js');
10015
10158
  return batchImpl(prompts, options, { create: (opts) => _Agent.create(opts) });
10016
10159
  }
10017
10160
  /**
@@ -10055,34 +10198,57 @@ var Agent = class _Agent {
10055
10198
  return fresh;
10056
10199
  }
10057
10200
  /**
10058
- * List agents (local or cloud). M107 — `cwd` is READ now, not ignored;
10059
- * `limit`/`cursor` still are not (see `tests/agent-list-cwd.test.ts`).
10201
+ * List agents (local or cloud). M107 — `cwd` is READ, not ignored. B-115 (2026-08-19) —
10202
+ * `includeArchived` and `limit`/`cursor` are READ too now; see `ListAgentsOptions`'s doc for the
10203
+ * pagination contract and why the unlimited (no `limit`) case is unaffected.
10060
10204
  *
10061
10205
  * @public
10062
10206
  */
10063
10207
  static async list(options = {}) {
10064
10208
  const cwd = ("cwd" in options ? options.cwd : void 0) ?? process.cwd();
10065
10209
  await hydrateRegistryFromDisk(cwd);
10066
- const items = listRegisteredAgents(options.runtime, cwd).map((agent) => toAgentInfo(agent));
10067
- return { items };
10210
+ const includeArchived = "includeArchived" in options ? options.includeArchived ?? false : false;
10211
+ const agents2 = listRegisteredAgents(options.runtime, cwd, includeArchived);
10212
+ const { items, nextCursor } = paginateByKey(
10213
+ agents2,
10214
+ (agent) => agent.agentId,
10215
+ options.limit,
10216
+ options.cursor,
10217
+ /* sortByKey */
10218
+ true
10219
+ );
10220
+ return {
10221
+ items: items.map((agent) => toAgentInfo(agent)),
10222
+ ...nextCursor !== void 0 ? { nextCursor } : {}
10223
+ };
10068
10224
  }
10069
10225
  /**
10070
- * Get metadata for a single agent.
10226
+ * Get metadata for a single agent. B-115 (2026-08-19) — `cwd` is READ now (see
10227
+ * `GetAgentOptions`'s doc); it used to be accepted and silently ignored.
10071
10228
  *
10072
10229
  * @public
10073
10230
  */
10074
- static async get(agentId, _options = {}) {
10075
- const agent = await getRegisteredAgentOrThrow(agentId);
10231
+ static async get(agentId, options = {}) {
10232
+ const agent = await getRegisteredAgentOrThrow(agentId, options.cwd);
10076
10233
  return toAgentInfo(agent);
10077
10234
  }
10078
10235
  /**
10079
- * List runs for an agent.
10236
+ * List runs for an agent. B-115 (2026-08-19) — `cwd` and `limit`/`cursor` are READ now (see
10237
+ * `ListRunsOptions`'s doc); they used to be accepted and silently ignored.
10080
10238
  *
10081
10239
  * @public
10082
10240
  */
10083
- static async listRuns(agentId, _options = {}) {
10084
- await getRegisteredAgentOrThrow(agentId);
10085
- return { items: listRunsByAgent(agentId) };
10241
+ static async listRuns(agentId, options = {}) {
10242
+ await getRegisteredAgentOrThrow(agentId, options.cwd);
10243
+ const { items, nextCursor } = paginateByKey(
10244
+ listRunsByAgent(agentId),
10245
+ (run) => run.id,
10246
+ options.limit,
10247
+ options.cursor,
10248
+ /* sortByKey */
10249
+ false
10250
+ );
10251
+ return { items, ...nextCursor !== void 0 ? { nextCursor } : {} };
10086
10252
  }
10087
10253
  /**
10088
10254
  * Get a single run.
@@ -10149,7 +10315,7 @@ var Agent = class _Agent {
10149
10315
  `No local agent "${agentId}" registered \u2014 compact targets local sessions.`
10150
10316
  );
10151
10317
  }
10152
- const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-EJ36VH5I.js');
10318
+ const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-K5LXTBPJ.js');
10153
10319
  const { cwd, model, store } = await openLocalStore(reg);
10154
10320
  return enqueueSessionWrite(
10155
10321
  cwd,
@@ -10185,7 +10351,7 @@ var Agent = class _Agent {
10185
10351
  `No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
10186
10352
  );
10187
10353
  }
10188
- const { injectSessionTurn } = await import('./inject-session-HO7FYVCX.js');
10354
+ const { injectSessionTurn } = await import('./inject-session-DDR6X6PC.js');
10189
10355
  const { cwd, model, store } = await openLocalStore(reg);
10190
10356
  await injectSessionTurn({
10191
10357
  store,
@@ -10224,7 +10390,7 @@ var Agent = class _Agent {
10224
10390
  `No local agent "${agentId}" registered \u2014 transcript targets local sessions.`
10225
10391
  );
10226
10392
  }
10227
- const { readSessionMessages } = await import('./agent-session-store-JMU7ASDB.js');
10393
+ const { readSessionMessages } = await import('./agent-session-store-P6V3FINW.js');
10228
10394
  const { store } = await openLocalStore(reg);
10229
10395
  return readSessionMessages(store, agentId);
10230
10396
  }
@@ -10245,7 +10411,7 @@ var Agent = class _Agent {
10245
10411
  */
10246
10412
  static async describe(agentId) {
10247
10413
  const agent = await getRegisteredAgentOrThrow(agentId);
10248
- const { loadSubagents: loadSubagents2 } = await import('./subagents-loader-WN2SB6PV.js');
10414
+ const { loadSubagents: loadSubagents2 } = await import('./subagents-loader-J54ESLDV.js');
10249
10415
  const settingSources = agent.options.local?.settingSources;
10250
10416
  const subagents = await loadSubagents2(
10251
10417
  agent.cwd ?? process.cwd(),
@@ -10312,12 +10478,13 @@ async function openLocalStore(reg) {
10312
10478
  const cwd = reg.cwd ?? process.cwd();
10313
10479
  const optModel = reg.options.model;
10314
10480
  const model = reg.model?.id ?? (typeof optModel === "string" ? optModel : optModel?.id) ?? "unknown";
10315
- const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-LIKYT24K.js');
10316
- const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-SKIRBEJE.js');
10317
- const baseDir = reg.options.local?.baseDir !== void 0 ? expandTilde2(reg.options.local.baseDir) : defaultBaseDir2();
10481
+ const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-IN7JTTXD.js');
10482
+ const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-AKDYYGXQ.js');
10483
+ const configuredSessionDir = reg.options.local?.sessionDir ?? reg.options.local?.baseDir;
10484
+ const baseDir = configuredSessionDir !== void 0 ? expandTilde2(configuredSessionDir) : defaultBaseDir2();
10318
10485
  return { cwd, model, store: new FsSessionStore2({ baseDir, cwd }) };
10319
10486
  }
10320
10487
 
10321
- export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, openRouterMemoryEmbeddingProviderAdapter, resolveApiKey };
10322
- //# sourceMappingURL=chunk-NZOR3N4E.js.map
10323
- //# sourceMappingURL=chunk-NZOR3N4E.js.map
10488
+ export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, openRouterMemoryEmbeddingProviderAdapter };
10489
+ //# sourceMappingURL=chunk-TPTZA6NI.js.map
10490
+ //# sourceMappingURL=chunk-TPTZA6NI.js.map