@theokit/sdk 4.63.3 → 5.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (788) hide show
  1. package/CHANGELOG.md +729 -0
  2. package/dist/a2a/index.cjs +29 -13
  3. package/dist/a2a/index.cjs.map +1 -1
  4. package/dist/a2a/index.d.cts +1 -1
  5. package/dist/a2a/index.d.ts +1 -1
  6. package/dist/a2a/index.js +26 -11
  7. package/dist/a2a/index.js.map +1 -1
  8. package/dist/a2a/message-bus.d.cts +26 -3
  9. package/dist/a2a/message-bus.d.ts +26 -3
  10. package/dist/a2a/subagent.d.cts +8 -3
  11. package/dist/a2a/subagent.d.ts +8 -3
  12. package/dist/agent-2E7DI47Y.cjs +67 -0
  13. package/dist/{agent-PVINJTUR.cjs.map → agent-2E7DI47Y.cjs.map} +1 -1
  14. package/dist/{agent-BFno7Sfn.d.ts → agent-CdYJfKr6.d.ts} +205 -36
  15. package/dist/{agent-X0DKA943.d.cts → agent-CgNzshyV.d.cts} +205 -36
  16. package/dist/agent-XMKRP27S.js +58 -0
  17. package/dist/{agent-3JK7VXNN.js.map → agent-XMKRP27S.js.map} +1 -1
  18. package/dist/agent-session-store-AFML3AXC.js +6 -0
  19. package/dist/{agent-session-store-OPGRB4XM.js.map → agent-session-store-AFML3AXC.js.map} +1 -1
  20. package/dist/agent-session-store-MTSIY3MH.cjs +23 -0
  21. package/dist/{agent-session-store-6EL5NPA4.cjs.map → agent-session-store-MTSIY3MH.cjs.map} +1 -1
  22. package/dist/agent.d.ts +1 -1
  23. package/dist/auth/index.cjs +33 -34
  24. package/dist/auth/index.cjs.map +1 -1
  25. package/dist/auth/index.d.cts +1 -1
  26. package/dist/auth/index.d.ts +1 -1
  27. package/dist/auth/index.js +6 -7
  28. package/dist/auth/index.js.map +1 -1
  29. package/dist/{batch-BXYTW2DP.cjs → batch-I6T6MXZO.cjs} +58 -40
  30. package/dist/batch-I6T6MXZO.cjs.map +1 -0
  31. package/dist/{batch-L4ZXS46M.js → batch-US4F6WPK.js} +42 -24
  32. package/dist/batch-US4F6WPK.js.map +1 -0
  33. package/dist/chunk-24MGQDK3.js +31 -0
  34. package/dist/chunk-24MGQDK3.js.map +1 -0
  35. package/dist/{chunk-UGT7GK7I.cjs → chunk-24SYBZPL.cjs} +36 -18
  36. package/dist/chunk-24SYBZPL.cjs.map +1 -0
  37. package/dist/{chunk-KYAJINUI.cjs → chunk-2HPNT6HH.cjs} +581 -401
  38. package/dist/chunk-2HPNT6HH.cjs.map +1 -0
  39. package/dist/{chunk-VLVVJLDH.cjs → chunk-2NE7DTOK.cjs} +234 -193
  40. package/dist/chunk-2NE7DTOK.cjs.map +1 -0
  41. package/dist/{chunk-N2U4AZGB.js → chunk-2WXHA33T.js} +3 -3
  42. package/dist/chunk-2WXHA33T.js.map +1 -0
  43. package/dist/chunk-2XC6KDJM.js +22 -0
  44. package/dist/chunk-2XC6KDJM.js.map +1 -0
  45. package/dist/{chunk-L3MTL4NA.js → chunk-2ZLVT7H3.js} +223 -182
  46. package/dist/chunk-2ZLVT7H3.js.map +1 -0
  47. package/dist/{chunk-2GUYQR5P.js → chunk-3JHIFQ4I.js} +39 -13
  48. package/dist/chunk-3JHIFQ4I.js.map +1 -0
  49. package/dist/{chunk-BU4KFWXF.js → chunk-44I6UYVH.js} +8 -17
  50. package/dist/chunk-44I6UYVH.js.map +1 -0
  51. package/dist/{chunk-UNYXQ4M5.js → chunk-47TF32NQ.js} +10 -5
  52. package/dist/chunk-47TF32NQ.js.map +1 -0
  53. package/dist/{chunk-WNO3C3N2.cjs → chunk-4A3SKJ53.cjs} +56 -27
  54. package/dist/chunk-4A3SKJ53.cjs.map +1 -0
  55. package/dist/{chunk-YML4ME27.cjs → chunk-4HS6FFGL.cjs} +55 -46
  56. package/dist/chunk-4HS6FFGL.cjs.map +1 -0
  57. package/dist/{chunk-C72AZW7J.js → chunk-4MMWFSCD.js} +4 -4
  58. package/dist/chunk-4MMWFSCD.js.map +1 -0
  59. package/dist/{chunk-6HKGLTJI.cjs → chunk-4NLCWGH7.cjs} +15 -15
  60. package/dist/chunk-4NLCWGH7.cjs.map +1 -0
  61. package/dist/{chunk-UBDMVMBZ.js → chunk-55GB6JYQ.js} +33 -22
  62. package/dist/chunk-55GB6JYQ.js.map +1 -0
  63. package/dist/{chunk-U6IFHFWK.js → chunk-5WKQDIGO.js} +8 -17
  64. package/dist/chunk-5WKQDIGO.js.map +1 -0
  65. package/dist/{chunk-GPKAF7SG.js → chunk-6HIACV34.js} +91 -92
  66. package/dist/chunk-6HIACV34.js.map +1 -0
  67. package/dist/{chunk-XL7Q7HB2.cjs → chunk-6LHQPOMI.cjs} +39 -6
  68. package/dist/chunk-6LHQPOMI.cjs.map +1 -0
  69. package/dist/{chunk-A4JVILQU.js → chunk-6M2OIS4Y.js} +7 -7
  70. package/dist/chunk-6M2OIS4Y.js.map +1 -0
  71. package/dist/{chunk-LWGSI6M3.js → chunk-6PWOWXMC.js} +4 -4
  72. package/dist/{chunk-LWGSI6M3.js.map → chunk-6PWOWXMC.js.map} +1 -1
  73. package/dist/{chunk-RNB4APBZ.js → chunk-6WAKKTBO.js} +9 -5
  74. package/dist/chunk-6WAKKTBO.js.map +1 -0
  75. package/dist/{chunk-V2BOS4WF.cjs → chunk-7A6535RA.cjs} +11 -11
  76. package/dist/chunk-7A6535RA.cjs.map +1 -0
  77. package/dist/{chunk-ZLQSWSJ2.cjs → chunk-7FDKWDA2.cjs} +11 -11
  78. package/dist/{chunk-ZLQSWSJ2.cjs.map → chunk-7FDKWDA2.cjs.map} +1 -1
  79. package/dist/{chunk-4VPXM6UU.js → chunk-7I5Z3UBJ.js} +3 -3
  80. package/dist/{chunk-4VPXM6UU.js.map → chunk-7I5Z3UBJ.js.map} +1 -1
  81. package/dist/{chunk-B4EOJWOY.cjs → chunk-7JJ3A6AT.cjs} +13 -7
  82. package/dist/chunk-7JJ3A6AT.cjs.map +1 -0
  83. package/dist/{chunk-ZWRG4NWT.cjs → chunk-7ZK4DJD7.cjs} +108 -109
  84. package/dist/chunk-7ZK4DJD7.cjs.map +1 -0
  85. package/dist/{chunk-WJVHMTKB.cjs → chunk-AA27GEYS.cjs} +3 -3
  86. package/dist/{chunk-WJVHMTKB.cjs.map → chunk-AA27GEYS.cjs.map} +1 -1
  87. package/dist/{chunk-BP46RJ5X.js → chunk-AAEZSPTC.js} +5 -5
  88. package/dist/{chunk-BP46RJ5X.js.map → chunk-AAEZSPTC.js.map} +1 -1
  89. package/dist/chunk-AGACYRJ2.js +11 -0
  90. package/dist/chunk-AGACYRJ2.js.map +1 -0
  91. package/dist/{chunk-ZZMZWBR6.js → chunk-ALUN2B4W.js} +81 -58
  92. package/dist/chunk-ALUN2B4W.js.map +1 -0
  93. package/dist/chunk-ANMJJD6D.cjs +18 -0
  94. package/dist/chunk-ANMJJD6D.cjs.map +1 -0
  95. package/dist/{chunk-DXGZ2NUG.cjs → chunk-ATT276RD.cjs} +12 -11
  96. package/dist/chunk-ATT276RD.cjs.map +1 -0
  97. package/dist/{chunk-4FFBAUFS.js → chunk-AWINL3ZC.js} +6 -6
  98. package/dist/chunk-AWINL3ZC.js.map +1 -0
  99. package/dist/{chunk-UU36SHFY.cjs → chunk-BJUJT5ED.cjs} +9 -8
  100. package/dist/chunk-BJUJT5ED.cjs.map +1 -0
  101. package/dist/chunk-CEILSTWB.cjs +109 -0
  102. package/dist/chunk-CEILSTWB.cjs.map +1 -0
  103. package/dist/{chunk-D4CUGAKZ.js → chunk-CZJ6Q7CW.js} +36 -6
  104. package/dist/chunk-CZJ6Q7CW.js.map +1 -0
  105. package/dist/{chunk-KQ7TS7WW.cjs → chunk-D6POWE7E.cjs} +37 -26
  106. package/dist/chunk-D6POWE7E.cjs.map +1 -0
  107. package/dist/{chunk-AWO27VRZ.js → chunk-DMRT67Y6.js} +6 -5
  108. package/dist/chunk-DMRT67Y6.js.map +1 -0
  109. package/dist/{chunk-5VB22SYX.cjs → chunk-DQZU7JK6.cjs} +7 -7
  110. package/dist/{chunk-5VB22SYX.cjs.map → chunk-DQZU7JK6.cjs.map} +1 -1
  111. package/dist/{chunk-3NSS2OIZ.cjs → chunk-DRL7URI4.cjs} +6 -6
  112. package/dist/{chunk-3NSS2OIZ.cjs.map → chunk-DRL7URI4.cjs.map} +1 -1
  113. package/dist/{chunk-RFXWMRFC.js → chunk-EFMFILPG.js} +14 -6
  114. package/dist/chunk-EFMFILPG.js.map +1 -0
  115. package/dist/{chunk-HS7AVXTF.js → chunk-EH6XD3FY.js} +4 -4
  116. package/dist/chunk-EH6XD3FY.js.map +1 -0
  117. package/dist/{chunk-KQRW2GPZ.js → chunk-EIQFAOFD.js} +6 -6
  118. package/dist/chunk-EIQFAOFD.js.map +1 -0
  119. package/dist/{chunk-XJCXEKMD.cjs → chunk-EXTRW7GW.cjs} +4 -4
  120. package/dist/chunk-EXTRW7GW.cjs.map +1 -0
  121. package/dist/{chunk-U54XCYG3.js → chunk-FJWQP6EE.js} +12 -6
  122. package/dist/chunk-FJWQP6EE.js.map +1 -0
  123. package/dist/{chunk-O7DK5PBJ.cjs → chunk-FUSDYC2B.cjs} +26 -42
  124. package/dist/chunk-FUSDYC2B.cjs.map +1 -0
  125. package/dist/{chunk-CQBXOJ6U.cjs → chunk-G4ZGYKJG.cjs} +21 -21
  126. package/dist/chunk-G4ZGYKJG.cjs.map +1 -0
  127. package/dist/{chunk-4QZSA2HJ.js → chunk-G7BLGBRN.js} +4 -4
  128. package/dist/chunk-G7BLGBRN.js.map +1 -0
  129. package/dist/{chunk-BZRFXJHA.js → chunk-GBCVPKHE.js} +55 -26
  130. package/dist/chunk-GBCVPKHE.js.map +1 -0
  131. package/dist/{chunk-5HEG4CQH.cjs → chunk-GZV6AVRL.cjs} +8 -8
  132. package/dist/{chunk-5HEG4CQH.cjs.map → chunk-GZV6AVRL.cjs.map} +1 -1
  133. package/dist/{chunk-RFMBZPOW.cjs → chunk-HCT4HPCL.cjs} +10 -10
  134. package/dist/chunk-HCT4HPCL.cjs.map +1 -0
  135. package/dist/{chunk-OSEG74VJ.js → chunk-HFEJE7AC.js} +52 -43
  136. package/dist/chunk-HFEJE7AC.js.map +1 -0
  137. package/dist/{chunk-52NKC5HT.cjs → chunk-HUFSABUZ.cjs} +12 -8
  138. package/dist/chunk-HUFSABUZ.cjs.map +1 -0
  139. package/dist/{chunk-4CLOXP6H.cjs → chunk-HW7SEELD.cjs} +4 -4
  140. package/dist/{chunk-4CLOXP6H.cjs.map → chunk-HW7SEELD.cjs.map} +1 -1
  141. package/dist/{chunk-ZCIRZE37.cjs → chunk-HWSALKOR.cjs} +26 -17
  142. package/dist/chunk-HWSALKOR.cjs.map +1 -0
  143. package/dist/{chunk-ZSWPZ23K.cjs → chunk-I2PWY7VM.cjs} +5 -5
  144. package/dist/chunk-I2PWY7VM.cjs.map +1 -0
  145. package/dist/{chunk-VJ26EKGJ.cjs → chunk-IJ7M6GOG.cjs} +3 -3
  146. package/dist/chunk-IJ7M6GOG.cjs.map +1 -0
  147. package/dist/{chunk-K5OJUYSZ.js → chunk-IJM7UGS5.js} +19 -10
  148. package/dist/chunk-IJM7UGS5.js.map +1 -0
  149. package/dist/{chunk-SAVIWMZB.js → chunk-ILGZ2ZZV.js} +3 -3
  150. package/dist/chunk-ILGZ2ZZV.js.map +1 -0
  151. package/dist/{chunk-4ZHTIJNE.cjs → chunk-J7J7J2GN.cjs} +87 -63
  152. package/dist/chunk-J7J7J2GN.cjs.map +1 -0
  153. package/dist/{chunk-UALX2J2Q.cjs → chunk-JLRLCBJ4.cjs} +38 -11
  154. package/dist/chunk-JLRLCBJ4.cjs.map +1 -0
  155. package/dist/{chunk-2QDYBS2A.js → chunk-JMDDYA22.js} +4 -4
  156. package/dist/chunk-JMDDYA22.js.map +1 -0
  157. package/dist/{chunk-LXQ6HKPS.js → chunk-JNAA4G4H.js} +3 -3
  158. package/dist/{chunk-LXQ6HKPS.js.map → chunk-JNAA4G4H.js.map} +1 -1
  159. package/dist/{chunk-UMP6OJIM.js → chunk-JOFVLOFY.js} +4 -4
  160. package/dist/{chunk-UMP6OJIM.js.map → chunk-JOFVLOFY.js.map} +1 -1
  161. package/dist/chunk-JTZ74HFD.js +100 -0
  162. package/dist/chunk-JTZ74HFD.js.map +1 -0
  163. package/dist/{chunk-A46SWMIF.js → chunk-K2VMFZQ5.js} +7 -7
  164. package/dist/chunk-K2VMFZQ5.js.map +1 -0
  165. package/dist/{chunk-DN2PACRI.js → chunk-K3NH62DG.js} +461 -282
  166. package/dist/chunk-K3NH62DG.js.map +1 -0
  167. package/dist/{chunk-XWTLIGO3.cjs → chunk-KTTHHYEW.cjs} +5 -5
  168. package/dist/chunk-KTTHHYEW.cjs.map +1 -0
  169. package/dist/{chunk-3FFAEAUJ.cjs → chunk-KVSAY6NZ.cjs} +18 -18
  170. package/dist/chunk-KVSAY6NZ.cjs.map +1 -0
  171. package/dist/{chunk-IAHZCGBE.cjs → chunk-LHSWHYF3.cjs} +120 -146
  172. package/dist/chunk-LHSWHYF3.cjs.map +1 -0
  173. package/dist/{chunk-25BD2R5G.js → chunk-NCGWJ3HS.js} +1991 -1854
  174. package/dist/chunk-NCGWJ3HS.js.map +1 -0
  175. package/dist/{chunk-3OR54XG4.js → chunk-NJWYQWDL.js} +12 -8
  176. package/dist/chunk-NJWYQWDL.js.map +1 -0
  177. package/dist/chunk-NVXXWAU7.cjs +13 -0
  178. package/dist/chunk-NVXXWAU7.cjs.map +1 -0
  179. package/dist/{chunk-2D34UTDC.js → chunk-O6USDERH.js} +31 -11
  180. package/dist/chunk-O6USDERH.js.map +1 -0
  181. package/dist/{chunk-XO4SOZN6.js → chunk-OR6XIWLB.js} +4 -4
  182. package/dist/{chunk-XO4SOZN6.js.map → chunk-OR6XIWLB.js.map} +1 -1
  183. package/dist/{chunk-4PYZ5AX3.cjs → chunk-PRZ3BES7.cjs} +16 -8
  184. package/dist/chunk-PRZ3BES7.cjs.map +1 -0
  185. package/dist/{chunk-HCZD23VS.cjs → chunk-QC55H6RJ.cjs} +65 -39
  186. package/dist/chunk-QC55H6RJ.cjs.map +1 -0
  187. package/dist/{chunk-4O5TGQBW.cjs → chunk-QME6FDFG.cjs} +9 -5
  188. package/dist/chunk-QME6FDFG.cjs.map +1 -0
  189. package/dist/chunk-QOGNZMHD.cjs +34 -0
  190. package/dist/chunk-QOGNZMHD.cjs.map +1 -0
  191. package/dist/{chunk-B2J4ZMZL.cjs → chunk-QWD3CZWE.cjs} +6 -5
  192. package/dist/chunk-QWD3CZWE.cjs.map +1 -0
  193. package/dist/{chunk-SZVR77EJ.cjs → chunk-QWD4RDZ3.cjs} +15 -24
  194. package/dist/chunk-QWD4RDZ3.cjs.map +1 -0
  195. package/dist/{chunk-7BG5UH3T.cjs → chunk-RHZ6HP23.cjs} +4 -4
  196. package/dist/chunk-RHZ6HP23.cjs.map +1 -0
  197. package/dist/{chunk-2HVF2WJY.cjs → chunk-RQMCOFAI.cjs} +8 -8
  198. package/dist/{chunk-2HVF2WJY.cjs.map → chunk-RQMCOFAI.cjs.map} +1 -1
  199. package/dist/{chunk-VKJ7V7EB.cjs → chunk-SA6K24NB.cjs} +3 -3
  200. package/dist/chunk-SA6K24NB.cjs.map +1 -0
  201. package/dist/{chunk-7AD3ZTZL.js → chunk-SAGRF4IB.js} +3 -3
  202. package/dist/chunk-SAGRF4IB.js.map +1 -0
  203. package/dist/{chunk-PUAEFLYK.js → chunk-SVQIW5RJ.js} +4 -4
  204. package/dist/{chunk-PUAEFLYK.js.map → chunk-SVQIW5RJ.js.map} +1 -1
  205. package/dist/{chunk-3O42QOMJ.js → chunk-TA3K7SBK.js} +7 -6
  206. package/dist/chunk-TA3K7SBK.js.map +1 -0
  207. package/dist/{chunk-LYRDF5TQ.cjs → chunk-TFG5IBZS.cjs} +14 -23
  208. package/dist/chunk-TFG5IBZS.cjs.map +1 -0
  209. package/dist/{chunk-GKEFRLU7.cjs → chunk-TMKTSYDS.cjs} +6 -6
  210. package/dist/{chunk-GKEFRLU7.cjs.map → chunk-TMKTSYDS.cjs.map} +1 -1
  211. package/dist/{chunk-J24VJOH3.cjs → chunk-UADQJBHR.cjs} +31 -11
  212. package/dist/chunk-UADQJBHR.cjs.map +1 -0
  213. package/dist/{chunk-TAZVKYWJ.js → chunk-UBR5PWD7.js} +26 -40
  214. package/dist/chunk-UBR5PWD7.js.map +1 -0
  215. package/dist/{chunk-IPYYKCRC.js → chunk-UFPUHJWS.js} +5 -5
  216. package/dist/{chunk-IPYYKCRC.js.map → chunk-UFPUHJWS.js.map} +1 -1
  217. package/dist/{chunk-OHLDPWTA.cjs → chunk-UGRS7ZA7.cjs} +15 -15
  218. package/dist/{chunk-OHLDPWTA.cjs.map → chunk-UGRS7ZA7.cjs.map} +1 -1
  219. package/dist/{chunk-RIAM53CP.js → chunk-UKMBRMGT.js} +3 -3
  220. package/dist/chunk-UKMBRMGT.js.map +1 -0
  221. package/dist/{chunk-L4BDVXIM.js → chunk-UNK4HNJH.js} +97 -123
  222. package/dist/chunk-UNK4HNJH.js.map +1 -0
  223. package/dist/{chunk-C3NT3PVE.js → chunk-V22DZIXO.js} +3 -3
  224. package/dist/chunk-V22DZIXO.js.map +1 -0
  225. package/dist/{chunk-OFRFZRQ4.cjs → chunk-V6ZY4AX6.cjs} +24 -14
  226. package/dist/chunk-V6ZY4AX6.cjs.map +1 -0
  227. package/dist/{chunk-B3IMEBOA.js → chunk-VE6DFSKU.js} +3 -3
  228. package/dist/{chunk-B3IMEBOA.js.map → chunk-VE6DFSKU.js.map} +1 -1
  229. package/dist/{chunk-WLQNMXQE.js → chunk-VWUXIVEI.js} +53 -26
  230. package/dist/chunk-VWUXIVEI.js.map +1 -0
  231. package/dist/{chunk-ACDLHN3W.js → chunk-WJXOICRC.js} +16 -6
  232. package/dist/chunk-WJXOICRC.js.map +1 -0
  233. package/dist/{chunk-JJ3OVRUM.cjs → chunk-WMH2MSOP.cjs} +2250 -2113
  234. package/dist/chunk-WMH2MSOP.cjs.map +1 -0
  235. package/dist/{chunk-7YGCPMGB.js → chunk-XB4GI5RZ.js} +27 -12
  236. package/dist/chunk-XB4GI5RZ.js.map +1 -0
  237. package/dist/{chunk-LXI4XZEC.js → chunk-XCCGNU3D.js} +13 -13
  238. package/dist/chunk-XCCGNU3D.js.map +1 -0
  239. package/dist/{chunk-O73J46PV.js → chunk-XDANGA2C.js} +5 -5
  240. package/dist/{chunk-O73J46PV.js.map → chunk-XDANGA2C.js.map} +1 -1
  241. package/dist/{chunk-UTSRIDKZ.js → chunk-XYFGKVZ7.js} +3 -3
  242. package/dist/chunk-XYFGKVZ7.js.map +1 -0
  243. package/dist/{chunk-RMWTPV3M.cjs → chunk-Y2KYR2ED.cjs} +27 -27
  244. package/dist/chunk-Y2KYR2ED.cjs.map +1 -0
  245. package/dist/{chunk-O7LZFG6O.cjs → chunk-YIFFF23U.cjs} +5 -5
  246. package/dist/chunk-YIFFF23U.cjs.map +1 -0
  247. package/dist/{chunk-4OTIXDMU.cjs → chunk-YJNYDJ2T.cjs} +12 -4
  248. package/dist/chunk-YJNYDJ2T.cjs.map +1 -0
  249. package/dist/{chunk-6JSIEDKL.cjs → chunk-YSTXFWQE.cjs} +13 -7
  250. package/dist/chunk-YSTXFWQE.cjs.map +1 -0
  251. package/dist/{chunk-I6HGWHPU.cjs → chunk-Z3NTRKIC.cjs} +4 -4
  252. package/dist/{chunk-I6HGWHPU.cjs.map → chunk-Z3NTRKIC.cjs.map} +1 -1
  253. package/dist/compact-session-BHTPCIHA.cjs +61 -0
  254. package/dist/{compact-session-QV57KR66.cjs.map → compact-session-BHTPCIHA.cjs.map} +1 -1
  255. package/dist/compact-session-W4WLJTHA.js +24 -0
  256. package/dist/{compact-session-RIGOWC4Y.js.map → compact-session-W4WLJTHA.js.map} +1 -1
  257. package/dist/compaction.cjs +20 -17
  258. package/dist/compaction.d.cts +15 -1
  259. package/dist/compaction.d.ts +15 -1
  260. package/dist/compaction.js +3 -4
  261. package/dist/concurrency.cjs +6 -7
  262. package/dist/concurrency.cjs.map +1 -1
  263. package/dist/concurrency.d.cts +6 -3
  264. package/dist/concurrency.d.ts +6 -3
  265. package/dist/concurrency.js +4 -5
  266. package/dist/concurrency.js.map +1 -1
  267. package/dist/context/index.cjs +6 -6
  268. package/dist/context/index.js +3 -3
  269. package/dist/context-74SBFD27.cjs +23 -0
  270. package/dist/{context-AGQ3DIZU.cjs.map → context-74SBFD27.cjs.map} +1 -1
  271. package/dist/context-NZ2AC6S7.js +6 -0
  272. package/dist/{context-GQRFBCLP.js.map → context-NZ2AC6S7.js.map} +1 -1
  273. package/dist/create-skill.d.ts +4 -1
  274. package/dist/{cron-BuiRPrvt.d.cts → cron-Bw6mSgD4.d.cts} +8 -2
  275. package/dist/{cron-C2SIi31n.d.ts → cron-DJv9oXSZ.d.ts} +8 -2
  276. package/dist/cron.cjs +46 -45
  277. package/dist/cron.d.cts +5 -4
  278. package/dist/cron.d.ts +5 -4
  279. package/dist/cron.js +45 -44
  280. package/dist/{errors-BgJH9PHi.d.cts → errors-CLOAyuiv.d.ts} +133 -95
  281. package/dist/{errors-C5fJUqLk.d.ts → errors-DrDEgyz1.d.cts} +133 -95
  282. package/dist/errors-base-B5g01neU.d.cts +75 -0
  283. package/dist/errors-base-B5g01neU.d.ts +75 -0
  284. package/dist/errors-base.d.ts +73 -0
  285. package/dist/errors.cjs +25 -22
  286. package/dist/errors.d.cts +3 -2
  287. package/dist/errors.d.ts +3 -2
  288. package/dist/errors.js +2 -3
  289. package/dist/eval.cjs +74 -78
  290. package/dist/eval.cjs.map +1 -1
  291. package/dist/eval.js +64 -68
  292. package/dist/eval.js.map +1 -1
  293. package/dist/{executor-6CYCA7MI.cjs → executor-XQAOQOHD.cjs} +60 -54
  294. package/dist/executor-XQAOQOHD.cjs.map +1 -0
  295. package/dist/{executor-QSEC3MRH.js → executor-ZNDQDX6Q.js} +43 -37
  296. package/dist/executor-ZNDQDX6Q.js.map +1 -0
  297. package/dist/filesystem/index.cjs +24 -26
  298. package/dist/filesystem/index.cjs.map +1 -1
  299. package/dist/filesystem/index.js +20 -22
  300. package/dist/filesystem/index.js.map +1 -1
  301. package/dist/filesystem/types.d.cts +11 -5
  302. package/dist/filesystem/types.d.ts +11 -5
  303. package/dist/{fork-agent-RSV4E3EA.js → fork-agent-S2EPIML7.js} +3 -3
  304. package/dist/fork-agent-S2EPIML7.js.map +1 -0
  305. package/dist/{fork-agent-Y2IK2RYU.cjs → fork-agent-WAEQI2DL.cjs} +4 -4
  306. package/dist/fork-agent-WAEQI2DL.cjs.map +1 -0
  307. package/dist/fs-session-store-77JU46UZ.js +10 -0
  308. package/dist/{fs-session-store-NM6YSTE2.js.map → fs-session-store-77JU46UZ.js.map} +1 -1
  309. package/dist/fs-session-store-E4U3P56L.cjs +19 -0
  310. package/dist/{fs-session-store-4PIHT5UX.cjs.map → fs-session-store-E4U3P56L.cjs.map} +1 -1
  311. package/dist/generate-object-BXV7BZRP.js +7 -0
  312. package/dist/{generate-object-GUNAUVBX.js.map → generate-object-BXV7BZRP.js.map} +1 -1
  313. package/dist/generate-object-YBI2TDJ3.cjs +20 -0
  314. package/dist/{generate-object-R7HTMW7F.cjs.map → generate-object-YBI2TDJ3.cjs.map} +1 -1
  315. package/dist/generate-object.d.ts +2 -4
  316. package/dist/index-manager-DXR2RSFI.cjs +26 -0
  317. package/dist/{index-manager-2SRX45WJ.cjs.map → index-manager-DXR2RSFI.cjs.map} +1 -1
  318. package/dist/index-manager-QH6OXEV5.js +17 -0
  319. package/dist/{index-manager-SP4ISSDX.js.map → index-manager-QH6OXEV5.js.map} +1 -1
  320. package/dist/index.cjs +234 -194
  321. package/dist/index.cjs.map +1 -1
  322. package/dist/index.d.cts +243 -41
  323. package/dist/index.d.ts +243 -41
  324. package/dist/index.js +140 -102
  325. package/dist/index.js.map +1 -1
  326. package/dist/{inject-session-DAR7OUCW.js → inject-session-SUM6TDJF.js} +9 -9
  327. package/dist/{inject-session-DAR7OUCW.js.map → inject-session-SUM6TDJF.js.map} +1 -1
  328. package/dist/inject-session-W6A46J3E.cjs +29 -0
  329. package/dist/{inject-session-WQKMC3GR.cjs.map → inject-session-W6A46J3E.cjs.map} +1 -1
  330. package/dist/interactive/index.cjs +12 -6
  331. package/dist/interactive/index.cjs.map +1 -1
  332. package/dist/interactive/index.js +12 -6
  333. package/dist/interactive/index.js.map +1 -1
  334. package/dist/interactive/types.d.cts +14 -4
  335. package/dist/interactive/types.d.ts +14 -4
  336. package/dist/internal/agent-loop/loop-context-init.d.ts +1 -1
  337. package/dist/internal/agent-loop/loop-finalize.d.ts +25 -0
  338. package/dist/internal/agent-loop/loop.d.ts +1 -1
  339. package/dist/internal/agent-loop/message-builders.d.ts +1 -1
  340. package/dist/internal/agent-loop/replay-messages.d.ts +41 -0
  341. package/dist/internal/agent-loop/tool-dispatch.d.ts +2 -2
  342. package/dist/internal/agent-loop/usage-and-cost.d.ts +1 -1
  343. package/dist/internal/auth/credential-availability.d.ts +61 -0
  344. package/dist/internal/auth/credential-store.d.ts +1 -1
  345. package/dist/internal/auth/oauth-device.d.ts +1 -1
  346. package/dist/internal/auth/oauth-engine.d.ts +1 -1
  347. package/dist/internal/auth/resolve-credential.d.ts +1 -1
  348. package/dist/internal/base-url.d.ts +14 -0
  349. package/dist/internal/cloud-agent/cloud-config-serializer.d.ts +1 -1
  350. package/dist/internal/{runtime/concurrency → concurrency}/subagent-credentials.d.ts +2 -2
  351. package/dist/internal/emit-run-event.d.ts +16 -0
  352. package/dist/internal/error-mappers/shared.d.ts +14 -1
  353. package/dist/internal/eval/assert.d.ts +2 -1
  354. package/dist/internal/eval/single-flight.d.ts +2 -1
  355. package/dist/internal/global-singleton.d.ts +6 -3
  356. package/dist/internal/llm/responses.d.ts +10 -0
  357. package/dist/internal/local-agent/local-agent-bootstrap.d.ts +5 -3
  358. package/dist/internal/local-agent/local-agent-capabilities.d.ts +38 -0
  359. package/dist/internal/local-agent/local-agent-dispatch.d.ts +2 -2
  360. package/dist/internal/local-agent/local-agent-memory-provider.d.ts +1 -1
  361. package/dist/internal/local-agent/local-agent-personality-extensions.d.ts +25 -1
  362. package/dist/internal/local-agent/local-agent-send.d.ts +42 -1
  363. package/dist/internal/local-agent/local-option-keys.d.ts +2 -0
  364. package/dist/internal/local-agent/real-local-run-mcp.d.ts +26 -0
  365. package/dist/internal/local-agent/real-local-run-options.d.ts +26 -0
  366. package/dist/internal/local-agent/real-local-run-tools.d.ts +21 -4
  367. package/dist/internal/local-agent/real-local-run.d.ts +2 -2
  368. package/dist/internal/mcp/handshake-timeout.d.ts +53 -0
  369. package/dist/internal/memory/active-memory.d.ts +1 -1
  370. package/dist/internal/memory/adapters/index.cjs +10 -10
  371. package/dist/internal/memory/adapters/index.js +9 -9
  372. package/dist/internal/memory/adapters/openai-embedding.d.cts +10 -0
  373. package/dist/internal/memory/adapters/openai-embedding.d.ts +10 -0
  374. package/dist/internal/memory/corpus-sync.d.ts +23 -0
  375. package/dist/internal/memory/index-db.d.ts +15 -1
  376. package/dist/internal/memory/index-manager-contract.d.ts +12 -0
  377. package/dist/internal/memory/index-manager.d.ts +4 -10
  378. package/dist/internal/memory/index-repository.d.ts +58 -0
  379. package/dist/internal/memory/lance-memory-adapter.d.ts +16 -14
  380. package/dist/internal/memory/memory-index.d.ts +15 -0
  381. package/dist/internal/memory/sdk-memory-peer-loader.d.ts +54 -1
  382. package/dist/internal/memory/storage/index.cjs +39 -40
  383. package/dist/internal/memory/storage/index.js +10 -11
  384. package/dist/internal/memory/storage/memory-root.d.cts +2 -3
  385. package/dist/internal/memory/storage/memory-root.d.ts +2 -3
  386. package/dist/internal/persistence/atomic-write.d.cts +4 -4
  387. package/dist/internal/persistence/atomic-write.d.ts +4 -4
  388. package/dist/internal/persistence/index.cjs +24 -25
  389. package/dist/internal/persistence/index.cjs.map +1 -1
  390. package/dist/internal/persistence/index.js +7 -8
  391. package/dist/internal/persistence/index.js.map +1 -1
  392. package/dist/internal/persistence/jsonl.d.cts +3 -1
  393. package/dist/internal/persistence/jsonl.d.ts +3 -1
  394. package/dist/internal/persistence/paths.d.cts +2 -2
  395. package/dist/internal/persistence/paths.d.ts +2 -2
  396. package/dist/internal/persistence/transcript-ops.d.cts +11 -2
  397. package/dist/internal/persistence/transcript-ops.d.ts +11 -2
  398. package/dist/internal/plugins/context.d.cts +0 -10
  399. package/dist/internal/plugins/context.d.ts +0 -10
  400. package/dist/internal/plugins/types.d.cts +1 -1
  401. package/dist/internal/plugins/types.d.ts +1 -1
  402. package/dist/internal/providers/catalog-schema.d.ts +94 -0
  403. package/dist/internal/providers/catalog-source-models-dev.d.ts +11 -0
  404. package/dist/internal/runtime/compat/foreign-config-sources.d.ts +86 -0
  405. package/dist/internal/runtime/compression/compression-model-registry.d.ts +1 -1
  406. package/dist/internal/runtime/compression/compression-summarizer.d.ts +5 -1
  407. package/dist/internal/runtime/fixtures/fixture-events.d.ts +1 -1
  408. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +8 -14
  409. package/dist/internal/runtime/fixtures/fixture-run-base.d.ts +1 -1
  410. package/dist/internal/runtime/fixtures/fixture-scripts.d.ts +2 -2
  411. package/dist/internal/runtime/hooks/hooks-executor.d.ts +14 -1
  412. package/dist/internal/runtime/hooks/hooks-source.d.ts +9 -0
  413. package/dist/internal/runtime/lifecycle/wrap-completion-check-run.d.ts +1 -1
  414. package/dist/internal/runtime/{memory → memory-glue}/memory-provider.d.ts +1 -1
  415. package/dist/internal/runtime/{plugins → plugin-loader}/plugin-bundles.d.ts +3 -1
  416. package/dist/internal/runtime/processors/wrap-output-run.d.ts +1 -1
  417. package/dist/internal/runtime/registry/live-agent-registry.d.ts +9 -1
  418. package/dist/internal/runtime/system-prompt/local-assembly.d.ts +2 -1
  419. package/dist/internal/scorers/llm-judge.d.ts +12 -0
  420. package/dist/internal/security/index.cjs +14 -15
  421. package/dist/internal/security/index.d.cts +6 -1
  422. package/dist/internal/security/index.d.ts +6 -1
  423. package/dist/internal/security/index.js +4 -5
  424. package/dist/internal/security/path-containment.d.ts +24 -0
  425. package/dist/internal/session/agent-session-store.d.ts +1 -1
  426. package/dist/internal/session/agent-session.d.ts +1 -1
  427. package/dist/internal/session/index.d.ts +1 -1
  428. package/dist/internal/session/session-cache.d.ts +9 -3
  429. package/dist/internal/task/registry.d.ts +1 -1
  430. package/dist/internal/task/store.d.ts +1 -1
  431. package/dist/internal/task/subscribe.d.ts +1 -1
  432. package/dist/internal/task/task-id.d.ts +22 -0
  433. package/dist/internal/telemetry/adapter-registry.d.ts +12 -2
  434. package/dist/internal/telemetry/adapters/braintrust.d.ts +6 -1
  435. package/dist/internal/telemetry/adapters/langsmith.d.ts +6 -1
  436. package/dist/internal/workflow/executor.d.ts +2 -1
  437. package/dist/internal/workflow/snapshot-store.d.ts +1 -1
  438. package/dist/internal/workflow/step-branch.d.ts +2 -2
  439. package/dist/internal/workflow/step-dowhile.d.ts +2 -2
  440. package/dist/internal/workflow/step-execution.d.ts +25 -0
  441. package/dist/internal/workflow/step-foreach.d.ts +2 -2
  442. package/dist/internal/workflow/step-parallel.d.ts +2 -2
  443. package/dist/judge-call-6MVARKU2.js +5 -0
  444. package/dist/{judge-call-LVXABPS3.js.map → judge-call-6MVARKU2.js.map} +1 -1
  445. package/dist/judge-call-I3P4D5QR.cjs +22 -0
  446. package/dist/{judge-call-LAHMBJ57.cjs.map → judge-call-I3P4D5QR.cjs.map} +1 -1
  447. package/dist/mcp-auth.cjs +14 -15
  448. package/dist/mcp-auth.cjs.map +1 -1
  449. package/dist/mcp-auth.d.cts +2 -0
  450. package/dist/mcp-auth.d.ts +2 -0
  451. package/dist/mcp-auth.js +4 -5
  452. package/dist/mcp-auth.js.map +1 -1
  453. package/dist/models.cjs +52 -42
  454. package/dist/models.cjs.map +1 -1
  455. package/dist/models.js +39 -29
  456. package/dist/models.js.map +1 -1
  457. package/dist/oauth-transaction-store-5RIR6D5C.js +5 -0
  458. package/dist/{oauth-transaction-store-W52KVHQ4.js.map → oauth-transaction-store-5RIR6D5C.js.map} +1 -1
  459. package/dist/oauth-transaction-store-SXIE57OD.cjs +38 -0
  460. package/dist/{oauth-transaction-store-BT4GLTLK.cjs.map → oauth-transaction-store-SXIE57OD.cjs.map} +1 -1
  461. package/dist/path-safety.cjs +11 -12
  462. package/dist/path-safety.d.cts +2 -0
  463. package/dist/path-safety.d.ts +2 -0
  464. package/dist/path-safety.js +4 -5
  465. package/dist/permission-engine.d.ts +10 -17
  466. package/dist/persistence.cjs +31 -31
  467. package/dist/persistence.cjs.map +1 -1
  468. package/dist/persistence.d.cts +9 -1
  469. package/dist/persistence.d.ts +9 -1
  470. package/dist/persistence.js +12 -13
  471. package/dist/persistence.js.map +1 -1
  472. package/dist/project.cjs +5 -6
  473. package/dist/project.cjs.map +1 -1
  474. package/dist/project.js +3 -4
  475. package/dist/project.js.map +1 -1
  476. package/dist/providers.cjs +10 -10
  477. package/dist/providers.d.cts +2 -0
  478. package/dist/providers.d.ts +2 -0
  479. package/dist/providers.js +8 -8
  480. package/dist/registry-BZQFYRTL.cjs +46 -0
  481. package/dist/{registry-V7BDQ6QB.cjs.map → registry-BZQFYRTL.cjs.map} +1 -1
  482. package/dist/registry-DMWCJKRF.js +9 -0
  483. package/dist/{registry-75W33OGL.js.map → registry-DMWCJKRF.js.map} +1 -1
  484. package/dist/retry.cjs +4 -5
  485. package/dist/retry.d.cts +20 -5
  486. package/dist/retry.d.ts +20 -5
  487. package/dist/retry.js +3 -4
  488. package/dist/{run-BYSHf58D.d.cts → run-CTAdRU3U.d.cts} +120 -152
  489. package/dist/{run-BYSHf58D.d.ts → run-CTAdRU3U.d.ts} +120 -152
  490. package/dist/{run-until-HEQOUVU6.js → run-until-6D6TQ4JN.js} +27 -59
  491. package/dist/run-until-6D6TQ4JN.js.map +1 -0
  492. package/dist/{run-until-U2B5FJJI.cjs → run-until-DG2KXWB2.cjs} +27 -59
  493. package/dist/run-until-DG2KXWB2.cjs.map +1 -0
  494. package/dist/sandbox/bwrap.d.cts +11 -1
  495. package/dist/sandbox/bwrap.d.ts +11 -1
  496. package/dist/sandbox/index.cjs +26 -30
  497. package/dist/sandbox/index.cjs.map +1 -1
  498. package/dist/sandbox/index.d.cts +8 -1
  499. package/dist/sandbox/index.d.ts +8 -1
  500. package/dist/sandbox/index.js +10 -14
  501. package/dist/sandbox/index.js.map +1 -1
  502. package/dist/sandbox/linux-sandbox.d.cts +20 -4
  503. package/dist/sandbox/linux-sandbox.d.ts +20 -4
  504. package/dist/sandbox/types.d.cts +18 -2
  505. package/dist/sandbox/types.d.ts +18 -2
  506. package/dist/sanitize/index.cjs +2 -2
  507. package/dist/sanitize/index.js +1 -1
  508. package/dist/sanitize/types.d.cts +15 -2
  509. package/dist/sanitize/types.d.ts +15 -2
  510. package/dist/{sdk-agent-D8qJVkuV.d.ts → sdk-agent-Dxjb0IfM.d.cts} +169 -116
  511. package/dist/{sdk-agent-DEoKhA8a.d.cts → sdk-agent-ldzpyAaF.d.ts} +169 -116
  512. package/dist/server/auth/errors.d.cts +4 -3
  513. package/dist/server/auth/errors.d.ts +4 -3
  514. package/dist/server/auth/index.cjs +28 -28
  515. package/dist/server/auth/index.cjs.map +1 -1
  516. package/dist/server/auth/index.d.cts +28 -5
  517. package/dist/server/auth/index.d.ts +28 -5
  518. package/dist/server/auth/index.js +13 -13
  519. package/dist/server/auth/index.js.map +1 -1
  520. package/dist/server/auth/oauth-transaction-store.d.cts +2 -1
  521. package/dist/server/auth/oauth-transaction-store.d.ts +2 -1
  522. package/dist/server/auth/orchestrator.d.cts +4 -1
  523. package/dist/server/auth/orchestrator.d.ts +4 -1
  524. package/dist/server/auth/types.d.cts +18 -0
  525. package/dist/server/auth/types.d.ts +18 -0
  526. package/dist/server/errors-envelope.cjs +14 -15
  527. package/dist/server/errors-envelope.cjs.map +1 -1
  528. package/dist/server/errors-envelope.d.cts +3 -3
  529. package/dist/server/errors-envelope.d.ts +3 -3
  530. package/dist/server/errors-envelope.js +3 -4
  531. package/dist/server/errors-envelope.js.map +1 -1
  532. package/dist/session-transcript-LGHSNVY5.cjs +62 -0
  533. package/dist/{session-transcript-6WNITKRE.cjs.map → session-transcript-LGHSNVY5.cjs.map} +1 -1
  534. package/dist/session-transcript-VTBTCGQX.js +5 -0
  535. package/dist/{session-transcript-XAEKW6P7.js.map → session-transcript-VTBTCGQX.js.map} +1 -1
  536. package/dist/skills.cjs +8 -9
  537. package/dist/skills.js +6 -7
  538. package/dist/stream-object-HBFMIZLD.js +7 -0
  539. package/dist/{stream-object-UF4QRQRU.js.map → stream-object-HBFMIZLD.js.map} +1 -1
  540. package/dist/stream-object-QSKHISDJ.cjs +20 -0
  541. package/dist/{stream-object-ZJTQNKY3.cjs.map → stream-object-QSKHISDJ.cjs.map} +1 -1
  542. package/dist/stream-object.d.ts +2 -4
  543. package/dist/subagents-loader-LSKM2UIK.js +7 -0
  544. package/dist/{subagents-loader-CRT5LLL3.js.map → subagents-loader-LSKM2UIK.js.map} +1 -1
  545. package/dist/subagents-loader-YWFE7KYE.cjs +16 -0
  546. package/dist/{subagents-loader-YEUFFPAL.cjs.map → subagents-loader-YWFE7KYE.cjs.map} +1 -1
  547. package/dist/subagents-loader.cjs +7 -8
  548. package/dist/subagents-loader.cjs.map +1 -1
  549. package/dist/subagents-loader.d.cts +5 -3
  550. package/dist/subagents-loader.d.ts +5 -3
  551. package/dist/subagents-loader.js +5 -6
  552. package/dist/subagents-loader.js.map +1 -1
  553. package/dist/subagents.cjs +2 -2
  554. package/dist/subagents.cjs.map +1 -1
  555. package/dist/subagents.js +1 -1
  556. package/dist/subagents.js.map +1 -1
  557. package/dist/subscription/define-subscription.d.cts +4 -1
  558. package/dist/subscription/define-subscription.d.ts +4 -1
  559. package/dist/subscription/index.cjs +4 -5
  560. package/dist/subscription/index.cjs.map +1 -1
  561. package/dist/subscription/index.d.cts +2 -0
  562. package/dist/subscription/index.d.ts +2 -0
  563. package/dist/subscription/index.js +3 -4
  564. package/dist/subscription/index.js.map +1 -1
  565. package/dist/subscription/internal/server-integration.d.cts +5 -0
  566. package/dist/subscription/internal/server-integration.d.ts +5 -0
  567. package/dist/subscription/internal/subscription-runtime.d.cts +13 -1
  568. package/dist/subscription/internal/subscription-runtime.d.ts +13 -1
  569. package/dist/task-errors.d.ts +58 -0
  570. package/dist/task-store.cjs +7 -8
  571. package/dist/task-store.d.cts +2 -0
  572. package/dist/task-store.d.ts +2 -0
  573. package/dist/task-store.js +4 -5
  574. package/dist/types/agent-prims.d.ts +21 -0
  575. package/dist/types/agent.d.ts +63 -15
  576. package/dist/types/batch.d.ts +3 -0
  577. package/dist/types/budget-tracker.d.ts +3 -0
  578. package/dist/types/budget.d.ts +12 -3
  579. package/dist/types/content-blocks.d.ts +3 -0
  580. package/dist/types/context.d.ts +3 -0
  581. package/dist/types/conversation.d.ts +5 -0
  582. package/dist/types/cron.d.ts +5 -0
  583. package/dist/types/env-policy.d.ts +3 -0
  584. package/dist/types/eval.d.ts +3 -0
  585. package/dist/types/fork.d.ts +3 -0
  586. package/dist/types/goal-events.d.ts +3 -0
  587. package/dist/types/mcp.d.ts +5 -0
  588. package/dist/types/memory-adapter.d.ts +3 -0
  589. package/dist/types/memory-provider.d.ts +44 -5
  590. package/dist/types/messages-base.d.ts +4 -0
  591. package/dist/types/messages.d.ts +5 -0
  592. package/dist/types/plugin.d.ts +32 -4
  593. package/dist/types/processors.d.ts +3 -0
  594. package/dist/types/provider-profile.d.ts +3 -0
  595. package/dist/types/providers.d.ts +3 -0
  596. package/dist/types/run-events.d.ts +36 -9
  597. package/dist/types/run.d.ts +29 -2
  598. package/dist/types/sdk-agent.d.ts +43 -0
  599. package/dist/types/session-message.d.ts +3 -0
  600. package/dist/types/session-record.d.ts +3 -0
  601. package/dist/types/session-store.d.ts +45 -0
  602. package/dist/types/task.d.ts +3 -11
  603. package/dist/types/theokit.d.ts +3 -0
  604. package/dist/types/trajectory.d.ts +3 -0
  605. package/dist/types/updates.d.ts +5 -0
  606. package/dist/types/usage.d.ts +4 -1
  607. package/dist/types/workflow.d.ts +13 -135
  608. package/dist/workflow-as-tool.d.ts +66 -0
  609. package/dist/workflow-errors.d.ts +164 -0
  610. package/dist/workflow.cjs +29 -30
  611. package/dist/workflow.d.cts +135 -74
  612. package/dist/workflow.d.ts +135 -74
  613. package/dist/workflow.js +8 -9
  614. package/docs/adr/README.md +2604 -0
  615. package/docs/error-codes.md +137 -103
  616. package/docs/harness-capability-map.md +30 -20
  617. package/docs/memory-decisions.md +1 -1
  618. package/package.json +3 -7
  619. package/bin/theokit-migrate-config.mjs +0 -278
  620. package/bin/theokit-migrate-memory.mjs +0 -116
  621. package/dist/agent-3JK7VXNN.js +0 -57
  622. package/dist/agent-PVINJTUR.cjs +0 -66
  623. package/dist/agent-session-store-6EL5NPA4.cjs +0 -24
  624. package/dist/agent-session-store-OPGRB4XM.js +0 -7
  625. package/dist/batch-BXYTW2DP.cjs.map +0 -1
  626. package/dist/batch-L4ZXS46M.js.map +0 -1
  627. package/dist/chunk-25BD2R5G.js.map +0 -1
  628. package/dist/chunk-2D34UTDC.js.map +0 -1
  629. package/dist/chunk-2GUYQR5P.js.map +0 -1
  630. package/dist/chunk-2QDYBS2A.js.map +0 -1
  631. package/dist/chunk-3FFAEAUJ.cjs.map +0 -1
  632. package/dist/chunk-3O42QOMJ.js.map +0 -1
  633. package/dist/chunk-3OR54XG4.js.map +0 -1
  634. package/dist/chunk-4FFBAUFS.js.map +0 -1
  635. package/dist/chunk-4O5TGQBW.cjs.map +0 -1
  636. package/dist/chunk-4OTIXDMU.cjs.map +0 -1
  637. package/dist/chunk-4PYZ5AX3.cjs.map +0 -1
  638. package/dist/chunk-4QZSA2HJ.js.map +0 -1
  639. package/dist/chunk-4ZHTIJNE.cjs.map +0 -1
  640. package/dist/chunk-52NKC5HT.cjs.map +0 -1
  641. package/dist/chunk-6HKGLTJI.cjs.map +0 -1
  642. package/dist/chunk-6JSIEDKL.cjs.map +0 -1
  643. package/dist/chunk-7AD3ZTZL.js.map +0 -1
  644. package/dist/chunk-7BG5UH3T.cjs.map +0 -1
  645. package/dist/chunk-7YGCPMGB.js.map +0 -1
  646. package/dist/chunk-A46SWMIF.js.map +0 -1
  647. package/dist/chunk-A4JVILQU.js.map +0 -1
  648. package/dist/chunk-ACDLHN3W.js.map +0 -1
  649. package/dist/chunk-AQO3NSRG.cjs +0 -41
  650. package/dist/chunk-AQO3NSRG.cjs.map +0 -1
  651. package/dist/chunk-AWO27VRZ.js.map +0 -1
  652. package/dist/chunk-B2J4ZMZL.cjs.map +0 -1
  653. package/dist/chunk-B4EOJWOY.cjs.map +0 -1
  654. package/dist/chunk-BU4KFWXF.js.map +0 -1
  655. package/dist/chunk-BZRFXJHA.js.map +0 -1
  656. package/dist/chunk-C3NT3PVE.js.map +0 -1
  657. package/dist/chunk-C72AZW7J.js.map +0 -1
  658. package/dist/chunk-CQBXOJ6U.cjs.map +0 -1
  659. package/dist/chunk-D4CUGAKZ.js.map +0 -1
  660. package/dist/chunk-DN2PACRI.js.map +0 -1
  661. package/dist/chunk-DXGZ2NUG.cjs.map +0 -1
  662. package/dist/chunk-EG4QM7ZJ.cjs +0 -39
  663. package/dist/chunk-EG4QM7ZJ.cjs.map +0 -1
  664. package/dist/chunk-GPKAF7SG.js.map +0 -1
  665. package/dist/chunk-HCZD23VS.cjs.map +0 -1
  666. package/dist/chunk-HS7AVXTF.js.map +0 -1
  667. package/dist/chunk-IAHZCGBE.cjs.map +0 -1
  668. package/dist/chunk-J24VJOH3.cjs.map +0 -1
  669. package/dist/chunk-JJ3OVRUM.cjs.map +0 -1
  670. package/dist/chunk-JPBKYL3B.cjs +0 -18
  671. package/dist/chunk-JPBKYL3B.cjs.map +0 -1
  672. package/dist/chunk-K5OJUYSZ.js.map +0 -1
  673. package/dist/chunk-KQ7TS7WW.cjs.map +0 -1
  674. package/dist/chunk-KQRW2GPZ.js.map +0 -1
  675. package/dist/chunk-KYAJINUI.cjs.map +0 -1
  676. package/dist/chunk-L3MTL4NA.js.map +0 -1
  677. package/dist/chunk-L4BDVXIM.js.map +0 -1
  678. package/dist/chunk-LXI4XZEC.js.map +0 -1
  679. package/dist/chunk-LYRDF5TQ.cjs.map +0 -1
  680. package/dist/chunk-N2U4AZGB.js.map +0 -1
  681. package/dist/chunk-O7DK5PBJ.cjs.map +0 -1
  682. package/dist/chunk-O7LZFG6O.cjs.map +0 -1
  683. package/dist/chunk-OFRFZRQ4.cjs.map +0 -1
  684. package/dist/chunk-OSEG74VJ.js.map +0 -1
  685. package/dist/chunk-RFMBZPOW.cjs.map +0 -1
  686. package/dist/chunk-RFXWMRFC.js.map +0 -1
  687. package/dist/chunk-RIAM53CP.js.map +0 -1
  688. package/dist/chunk-RMWTPV3M.cjs.map +0 -1
  689. package/dist/chunk-RNB4APBZ.js.map +0 -1
  690. package/dist/chunk-SAVIWMZB.js.map +0 -1
  691. package/dist/chunk-SZVR77EJ.cjs.map +0 -1
  692. package/dist/chunk-TAZVKYWJ.js.map +0 -1
  693. package/dist/chunk-U54XCYG3.js.map +0 -1
  694. package/dist/chunk-U6IFHFWK.js.map +0 -1
  695. package/dist/chunk-UALX2J2Q.cjs.map +0 -1
  696. package/dist/chunk-UBDMVMBZ.js.map +0 -1
  697. package/dist/chunk-UFLD2HEV.js +0 -35
  698. package/dist/chunk-UFLD2HEV.js.map +0 -1
  699. package/dist/chunk-UGT7GK7I.cjs.map +0 -1
  700. package/dist/chunk-UNYXQ4M5.js.map +0 -1
  701. package/dist/chunk-UTSRIDKZ.js.map +0 -1
  702. package/dist/chunk-UU36SHFY.cjs.map +0 -1
  703. package/dist/chunk-V2BOS4WF.cjs.map +0 -1
  704. package/dist/chunk-VJ26EKGJ.cjs.map +0 -1
  705. package/dist/chunk-VKJ7V7EB.cjs.map +0 -1
  706. package/dist/chunk-VLVVJLDH.cjs.map +0 -1
  707. package/dist/chunk-WLQNMXQE.js.map +0 -1
  708. package/dist/chunk-WNO3C3N2.cjs.map +0 -1
  709. package/dist/chunk-WTMU7J4U.js +0 -14
  710. package/dist/chunk-WTMU7J4U.js.map +0 -1
  711. package/dist/chunk-XEQ3TM66.js +0 -35
  712. package/dist/chunk-XEQ3TM66.js.map +0 -1
  713. package/dist/chunk-XJCXEKMD.cjs.map +0 -1
  714. package/dist/chunk-XL7Q7HB2.cjs.map +0 -1
  715. package/dist/chunk-XWTLIGO3.cjs.map +0 -1
  716. package/dist/chunk-YML4ME27.cjs.map +0 -1
  717. package/dist/chunk-ZCIRZE37.cjs.map +0 -1
  718. package/dist/chunk-ZSWPZ23K.cjs.map +0 -1
  719. package/dist/chunk-ZWRG4NWT.cjs.map +0 -1
  720. package/dist/chunk-ZZMZWBR6.js.map +0 -1
  721. package/dist/compact-session-QV57KR66.cjs +0 -59
  722. package/dist/compact-session-RIGOWC4Y.js +0 -22
  723. package/dist/context-AGQ3DIZU.cjs +0 -24
  724. package/dist/context-GQRFBCLP.js +0 -7
  725. package/dist/executor-6CYCA7MI.cjs.map +0 -1
  726. package/dist/executor-QSEC3MRH.js.map +0 -1
  727. package/dist/fork-agent-RSV4E3EA.js.map +0 -1
  728. package/dist/fork-agent-Y2IK2RYU.cjs.map +0 -1
  729. package/dist/fs-session-store-4PIHT5UX.cjs +0 -20
  730. package/dist/fs-session-store-NM6YSTE2.js +0 -11
  731. package/dist/generate-object-GUNAUVBX.js +0 -8
  732. package/dist/generate-object-R7HTMW7F.cjs +0 -21
  733. package/dist/index-manager-2SRX45WJ.cjs +0 -27
  734. package/dist/index-manager-SP4ISSDX.js +0 -18
  735. package/dist/inject-session-WQKMC3GR.cjs +0 -29
  736. package/dist/internal/persistence/credential-pool-store.d.cts +0 -32
  737. package/dist/internal/persistence/credential-pool-store.d.ts +0 -32
  738. package/dist/internal/runtime/memory/memory-path-selector.d.ts +0 -73
  739. package/dist/judge-call-LAHMBJ57.cjs +0 -23
  740. package/dist/judge-call-LVXABPS3.js +0 -6
  741. package/dist/oauth-transaction-store-BT4GLTLK.cjs +0 -36
  742. package/dist/oauth-transaction-store-W52KVHQ4.js +0 -3
  743. package/dist/registry-75W33OGL.js +0 -10
  744. package/dist/registry-V7BDQ6QB.cjs +0 -47
  745. package/dist/run-until-HEQOUVU6.js.map +0 -1
  746. package/dist/run-until-U2B5FJJI.cjs.map +0 -1
  747. package/dist/server/adapter/express.d.cts +0 -9
  748. package/dist/server/adapter/express.d.ts +0 -9
  749. package/dist/server/adapter/fastify.d.cts +0 -9
  750. package/dist/server/adapter/fastify.d.ts +0 -9
  751. package/dist/server/adapter/hono.d.cts +0 -9
  752. package/dist/server/adapter/hono.d.ts +0 -9
  753. package/dist/server/adapter/shared-handler.d.cts +0 -9
  754. package/dist/server/adapter/shared-handler.d.ts +0 -9
  755. package/dist/server/adapter/types.d.cts +0 -33
  756. package/dist/server/adapter/types.d.ts +0 -33
  757. package/dist/session-transcript-6WNITKRE.cjs +0 -63
  758. package/dist/session-transcript-XAEKW6P7.js +0 -6
  759. package/dist/stream-object-UF4QRQRU.js +0 -8
  760. package/dist/stream-object-ZJTQNKY3.cjs +0 -21
  761. package/dist/subagents-loader-CRT5LLL3.js +0 -8
  762. package/dist/subagents-loader-YEUFFPAL.cjs +0 -17
  763. /package/dist/{batch.d.ts → internal/agent/batch.d.ts} +0 -0
  764. /package/dist/{agent-helpers.d.ts → internal/agent/helpers.d.ts} +0 -0
  765. /package/dist/internal/agent-loop/{loop-types.d.ts → types.d.ts} +0 -0
  766. /package/dist/internal/auth/{auth-types.d.ts → types.d.ts} +0 -0
  767. /package/dist/internal/cloud-agent/{cloud-payload-types.d.ts → types.d.ts} +0 -0
  768. /package/dist/internal/{runtime/concurrency → concurrency}/abort-utils.d.ts +0 -0
  769. /package/dist/internal/{runtime/concurrency → concurrency}/async-local-storage.d.ts +0 -0
  770. /package/dist/internal/{runtime/concurrency → concurrency}/async-semaphore.d.ts +0 -0
  771. /package/dist/internal/{runtime/concurrency → concurrency}/delegation-depth.d.ts +0 -0
  772. /package/dist/internal/{runtime/concurrency → concurrency}/map-with-concurrency.d.ts +0 -0
  773. /package/dist/internal/{runtime/retry → error-mappers}/default-retriable.d.ts +0 -0
  774. /package/dist/internal/{runtime/fixtures/fixture-types.d.ts → memory/storage/list-markdown.d.cts} +0 -0
  775. /package/dist/internal/{runtime/plugins/plugins-manager.d.ts → memory/storage/list-markdown.d.ts} +0 -0
  776. /package/dist/internal/{resilience → retry}/circuit-breaker.d.ts +0 -0
  777. /package/dist/internal/{runtime/retry → retry}/with-retry.d.ts +0 -0
  778. /package/dist/internal/{security/secret-redactor.d.cts → runtime/fixtures/types.d.ts} +0 -0
  779. /package/dist/internal/runtime/{memory → memory-glue}/memory-store.d.ts +0 -0
  780. /package/dist/internal/runtime/{memory → memory-glue}/select-facts.d.ts +0 -0
  781. /package/dist/internal/runtime/{plugins → plugin-loader}/plugin-frontmatter.d.ts +0 -0
  782. /package/dist/internal/{security/secret-redactor.d.ts → runtime/plugin-loader/plugins-manager.d.ts} +0 -0
  783. /package/dist/internal/runtime/{reasoning → system-prompt}/native-reasoning.d.ts +0 -0
  784. /package/dist/internal/{runtime/context/path-containment.d.ts → security/path-containment.d.cts} +0 -0
  785. /package/dist/internal/session/{session-types.d.ts → types.d.ts} +0 -0
  786. /package/dist/internal/{zod/to-json-schema.d.ts → zod-to-json-schema.d.ts} +0 -0
  787. /package/dist/subscription/internal/{adapter-types.d.cts → types.d.cts} +0 -0
  788. /package/dist/subscription/internal/{adapter-types.d.ts → types.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
- import { enqueueSessionWrite } from './chunk-4FFBAUFS.js';
2
- import { invalidateSessionCache } from './chunk-WTMU7J4U.js';
3
- import './chunk-N2U4AZGB.js';
4
- import { SessionTranscript } from './chunk-UMP6OJIM.js';
5
- import './chunk-2GUYQR5P.js';
6
- import './chunk-D4CUGAKZ.js';
7
- import './chunk-XEQ3TM66.js';
1
+ import { enqueueSessionWrite } from './chunk-AWINL3ZC.js';
2
+ import { invalidateSessionCache } from './chunk-2XC6KDJM.js';
3
+ import './chunk-2WXHA33T.js';
4
+ import { SessionTranscript } from './chunk-JOFVLOFY.js';
5
+ import './chunk-3JHIFQ4I.js';
6
+ import './chunk-AGACYRJ2.js';
7
+ import './chunk-CZJ6Q7CW.js';
8
8
 
9
9
  // src/internal/session/inject-session.ts
10
10
  async function injectSessionTurn(opts) {
@@ -23,5 +23,5 @@ async function injectSessionTurn(opts) {
23
23
  }
24
24
 
25
25
  export { injectSessionTurn };
26
- //# sourceMappingURL=inject-session-DAR7OUCW.js.map
27
- //# sourceMappingURL=inject-session-DAR7OUCW.js.map
26
+ //# sourceMappingURL=inject-session-SUM6TDJF.js.map
27
+ //# sourceMappingURL=inject-session-SUM6TDJF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/session/inject-session.ts"],"names":[],"mappings":";;;;;;;;;AAWA,eAAsB,kBAAkB,IAAA,EAMtB;AAChB,EAAA,MAAM,oBAAoB,IAAA,CAAK,GAAA,CAAI,KAAK,IAAA,CAAK,GAAA,CAAI,SAAS,YAAY;AACpE,IAAA,MAAM,QAAQ,MAAM,IAAA,CAAK,MAAM,WAAA,CAAY,IAAA,CAAK,IAAI,OAAO,CAAA;AAC3D,IAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,WAAA,CAAY,KAAA,EAAO;AAAA,MACtD,GAAA,EAAK,KAAK,GAAA,CAAI,GAAA;AAAA,MACd,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,KAAA,EAAO,IAAA,CAAK,GAAA,CAAI,KAAA,IAAS;AAAA,KAC1B,CAAA;AACD,IAAA,UAAA,CAAW,cAAA,CAAe,KAAK,QAAQ,CAAA;AACvC,IAAA,UAAA,CAAW,mBAAA,CAAoB,EAAE,IAAA,EAAM,IAAA,CAAK,eAAe,CAAA;AAC3D,IAAA,MAAM,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,OAAA,EAAS,UAAA,CAAW,OAAA,EAAQ,CAAE,KAAA,CAAM,KAAA,CAAM,MAAM,CAAC,CAAA;AACzF,IAAA,sBAAA,CAAuB,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,IAAI,OAAO,CAAA;AAAA,EACvD,CAAC,CAAA;AACH","file":"inject-session-DAR7OUCW.js","sourcesContent":["/**\n * M51 (agent-builder) — inject a SYNTHETIC user+assistant pair into a session's persisted transcript\n * WITHOUT running an LLM turn. This is the Codex review-exit mechanism (`exit_success.xml` appended to\n * the parent thread history so follow-ups like \"fix finding 2\" work): the pair chains onto the DAG\n * leaf (M50 pattern) and the in-memory cache is invalidated so the NEXT send re-hydrates with it.\n */\nimport type { SessionStore } from \"../../types/session-store.js\";\nimport { SessionTranscript } from \"../persistence/session-transcript.js\";\nimport { enqueueSessionWrite, invalidateSessionCache } from \"./agent-session.js\";\nimport type { CompactLocation } from \"./compact-session.js\";\n\nexport async function injectSessionTurn(opts: {\n store: SessionStore;\n loc: CompactLocation;\n sessionId: string;\n userText: string;\n assistantText: string;\n}): Promise<void> {\n await enqueueSessionWrite(opts.loc.cwd, opts.loc.agentId, async () => {\n const prior = await opts.store.readRecords(opts.loc.agentId);\n const transcript = SessionTranscript.fromRecords(prior, {\n cwd: opts.loc.cwd,\n sessionId: opts.sessionId,\n model: opts.loc.model ?? \"unknown\",\n });\n transcript.appendUserTurn(opts.userText);\n transcript.appendAssistantTurn({ text: opts.assistantText });\n await opts.store.appendRecords(opts.loc.agentId, transcript.records().slice(prior.length));\n invalidateSessionCache(opts.loc.cwd, opts.loc.agentId);\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/session/inject-session.ts"],"names":[],"mappings":";;;;;;;;;AAWA,eAAsB,kBAAkB,IAAA,EAMtB;AAChB,EAAA,MAAM,oBAAoB,IAAA,CAAK,GAAA,CAAI,KAAK,IAAA,CAAK,GAAA,CAAI,SAAS,YAAY;AACpE,IAAA,MAAM,QAAQ,MAAM,IAAA,CAAK,MAAM,WAAA,CAAY,IAAA,CAAK,IAAI,OAAO,CAAA;AAC3D,IAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,WAAA,CAAY,KAAA,EAAO;AAAA,MACtD,GAAA,EAAK,KAAK,GAAA,CAAI,GAAA;AAAA,MACd,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,KAAA,EAAO,IAAA,CAAK,GAAA,CAAI,KAAA,IAAS;AAAA,KAC1B,CAAA;AACD,IAAA,UAAA,CAAW,cAAA,CAAe,KAAK,QAAQ,CAAA;AACvC,IAAA,UAAA,CAAW,mBAAA,CAAoB,EAAE,IAAA,EAAM,IAAA,CAAK,eAAe,CAAA;AAC3D,IAAA,MAAM,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,OAAA,EAAS,UAAA,CAAW,OAAA,EAAQ,CAAE,KAAA,CAAM,KAAA,CAAM,MAAM,CAAC,CAAA;AACzF,IAAA,sBAAA,CAAuB,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,IAAI,OAAO,CAAA;AAAA,EACvD,CAAC,CAAA;AACH","file":"inject-session-SUM6TDJF.js","sourcesContent":["/**\n * M51 (agent-builder) — inject a SYNTHETIC user+assistant pair into a session's persisted transcript\n * WITHOUT running an LLM turn. This is the Codex review-exit mechanism (`exit_success.xml` appended to\n * the parent thread history so follow-ups like \"fix finding 2\" work): the pair chains onto the DAG\n * leaf (M50 pattern) and the in-memory cache is invalidated so the NEXT send re-hydrates with it.\n */\nimport type { SessionStore } from \"../../types/session-store.js\";\nimport { SessionTranscript } from \"../persistence/session-transcript.js\";\nimport { enqueueSessionWrite, invalidateSessionCache } from \"./agent-session.js\";\nimport type { CompactLocation } from \"./compact-session.js\";\n\nexport async function injectSessionTurn(opts: {\n store: SessionStore;\n loc: CompactLocation;\n sessionId: string;\n userText: string;\n assistantText: string;\n}): Promise<void> {\n await enqueueSessionWrite(opts.loc.cwd, opts.loc.agentId, async () => {\n const prior = await opts.store.readRecords(opts.loc.agentId);\n const transcript = SessionTranscript.fromRecords(prior, {\n cwd: opts.loc.cwd,\n sessionId: opts.sessionId,\n model: opts.loc.model ?? \"unknown\",\n });\n transcript.appendUserTurn(opts.userText);\n transcript.appendAssistantTurn({ text: opts.assistantText });\n await opts.store.appendRecords(opts.loc.agentId, transcript.records().slice(prior.length));\n invalidateSessionCache(opts.loc.cwd, opts.loc.agentId);\n });\n}\n"]}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var chunkY2KYR2ED_cjs = require('./chunk-Y2KYR2ED.cjs');
4
+ var chunkYJNYDJ2T_cjs = require('./chunk-YJNYDJ2T.cjs');
5
+ require('./chunk-YIFFF23U.cjs');
6
+ var chunkGZV6AVRL_cjs = require('./chunk-GZV6AVRL.cjs');
7
+ require('./chunk-JLRLCBJ4.cjs');
8
+ require('./chunk-NVXXWAU7.cjs');
9
+ require('./chunk-6LHQPOMI.cjs');
10
+
11
+ // src/internal/session/inject-session.ts
12
+ async function injectSessionTurn(opts) {
13
+ await chunkY2KYR2ED_cjs.enqueueSessionWrite(opts.loc.cwd, opts.loc.agentId, async () => {
14
+ const prior = await opts.store.readRecords(opts.loc.agentId);
15
+ const transcript = chunkGZV6AVRL_cjs.SessionTranscript.fromRecords(prior, {
16
+ cwd: opts.loc.cwd,
17
+ sessionId: opts.sessionId,
18
+ model: opts.loc.model ?? "unknown"
19
+ });
20
+ transcript.appendUserTurn(opts.userText);
21
+ transcript.appendAssistantTurn({ text: opts.assistantText });
22
+ await opts.store.appendRecords(opts.loc.agentId, transcript.records().slice(prior.length));
23
+ chunkYJNYDJ2T_cjs.invalidateSessionCache(opts.loc.cwd, opts.loc.agentId);
24
+ });
25
+ }
26
+
27
+ exports.injectSessionTurn = injectSessionTurn;
28
+ //# sourceMappingURL=inject-session-W6A46J3E.cjs.map
29
+ //# sourceMappingURL=inject-session-W6A46J3E.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/session/inject-session.ts"],"names":["enqueueSessionWrite","SessionTranscript","invalidateSessionCache"],"mappings":";;;;;;;;;;;AAWA,eAAsB,kBAAkB,IAAA,EAMtB;AAChB,EAAA,MAAMA,sCAAoB,IAAA,CAAK,GAAA,CAAI,KAAK,IAAA,CAAK,GAAA,CAAI,SAAS,YAAY;AACpE,IAAA,MAAM,QAAQ,MAAM,IAAA,CAAK,MAAM,WAAA,CAAY,IAAA,CAAK,IAAI,OAAO,CAAA;AAC3D,IAAA,MAAM,UAAA,GAAaC,mCAAA,CAAkB,WAAA,CAAY,KAAA,EAAO;AAAA,MACtD,GAAA,EAAK,KAAK,GAAA,CAAI,GAAA;AAAA,MACd,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,KAAA,EAAO,IAAA,CAAK,GAAA,CAAI,KAAA,IAAS;AAAA,KAC1B,CAAA;AACD,IAAA,UAAA,CAAW,cAAA,CAAe,KAAK,QAAQ,CAAA;AACvC,IAAA,UAAA,CAAW,mBAAA,CAAoB,EAAE,IAAA,EAAM,IAAA,CAAK,eAAe,CAAA;AAC3D,IAAA,MAAM,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,OAAA,EAAS,UAAA,CAAW,OAAA,EAAQ,CAAE,KAAA,CAAM,KAAA,CAAM,MAAM,CAAC,CAAA;AACzF,IAAAC,wCAAA,CAAuB,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,IAAI,OAAO,CAAA;AAAA,EACvD,CAAC,CAAA;AACH","file":"inject-session-WQKMC3GR.cjs","sourcesContent":["/**\n * M51 (agent-builder) — inject a SYNTHETIC user+assistant pair into a session's persisted transcript\n * WITHOUT running an LLM turn. This is the Codex review-exit mechanism (`exit_success.xml` appended to\n * the parent thread history so follow-ups like \"fix finding 2\" work): the pair chains onto the DAG\n * leaf (M50 pattern) and the in-memory cache is invalidated so the NEXT send re-hydrates with it.\n */\nimport type { SessionStore } from \"../../types/session-store.js\";\nimport { SessionTranscript } from \"../persistence/session-transcript.js\";\nimport { enqueueSessionWrite, invalidateSessionCache } from \"./agent-session.js\";\nimport type { CompactLocation } from \"./compact-session.js\";\n\nexport async function injectSessionTurn(opts: {\n store: SessionStore;\n loc: CompactLocation;\n sessionId: string;\n userText: string;\n assistantText: string;\n}): Promise<void> {\n await enqueueSessionWrite(opts.loc.cwd, opts.loc.agentId, async () => {\n const prior = await opts.store.readRecords(opts.loc.agentId);\n const transcript = SessionTranscript.fromRecords(prior, {\n cwd: opts.loc.cwd,\n sessionId: opts.sessionId,\n model: opts.loc.model ?? \"unknown\",\n });\n transcript.appendUserTurn(opts.userText);\n transcript.appendAssistantTurn({ text: opts.assistantText });\n await opts.store.appendRecords(opts.loc.agentId, transcript.records().slice(prior.length));\n invalidateSessionCache(opts.loc.cwd, opts.loc.agentId);\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/session/inject-session.ts"],"names":["enqueueSessionWrite","SessionTranscript","invalidateSessionCache"],"mappings":";;;;;;;;;;;AAWA,eAAsB,kBAAkB,IAAA,EAMtB;AAChB,EAAA,MAAMA,sCAAoB,IAAA,CAAK,GAAA,CAAI,KAAK,IAAA,CAAK,GAAA,CAAI,SAAS,YAAY;AACpE,IAAA,MAAM,QAAQ,MAAM,IAAA,CAAK,MAAM,WAAA,CAAY,IAAA,CAAK,IAAI,OAAO,CAAA;AAC3D,IAAA,MAAM,UAAA,GAAaC,mCAAA,CAAkB,WAAA,CAAY,KAAA,EAAO;AAAA,MACtD,GAAA,EAAK,KAAK,GAAA,CAAI,GAAA;AAAA,MACd,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,KAAA,EAAO,IAAA,CAAK,GAAA,CAAI,KAAA,IAAS;AAAA,KAC1B,CAAA;AACD,IAAA,UAAA,CAAW,cAAA,CAAe,KAAK,QAAQ,CAAA;AACvC,IAAA,UAAA,CAAW,mBAAA,CAAoB,EAAE,IAAA,EAAM,IAAA,CAAK,eAAe,CAAA;AAC3D,IAAA,MAAM,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,OAAA,EAAS,UAAA,CAAW,OAAA,EAAQ,CAAE,KAAA,CAAM,KAAA,CAAM,MAAM,CAAC,CAAA;AACzF,IAAAC,wCAAA,CAAuB,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,IAAI,OAAO,CAAA;AAAA,EACvD,CAAC,CAAA;AACH","file":"inject-session-W6A46J3E.cjs","sourcesContent":["/**\n * M51 (agent-builder) — inject a SYNTHETIC user+assistant pair into a session's persisted transcript\n * WITHOUT running an LLM turn. This is the Codex review-exit mechanism (`exit_success.xml` appended to\n * the parent thread history so follow-ups like \"fix finding 2\" work): the pair chains onto the DAG\n * leaf (M50 pattern) and the in-memory cache is invalidated so the NEXT send re-hydrates with it.\n */\nimport type { SessionStore } from \"../../types/session-store.js\";\nimport { SessionTranscript } from \"../persistence/session-transcript.js\";\nimport { enqueueSessionWrite, invalidateSessionCache } from \"./agent-session.js\";\nimport type { CompactLocation } from \"./compact-session.js\";\n\nexport async function injectSessionTurn(opts: {\n store: SessionStore;\n loc: CompactLocation;\n sessionId: string;\n userText: string;\n assistantText: string;\n}): Promise<void> {\n await enqueueSessionWrite(opts.loc.cwd, opts.loc.agentId, async () => {\n const prior = await opts.store.readRecords(opts.loc.agentId);\n const transcript = SessionTranscript.fromRecords(prior, {\n cwd: opts.loc.cwd,\n sessionId: opts.sessionId,\n model: opts.loc.model ?? \"unknown\",\n });\n transcript.appendUserTurn(opts.userText);\n transcript.appendAssistantTurn({ text: opts.assistantText });\n await opts.store.appendRecords(opts.loc.agentId, transcript.records().slice(prior.length));\n invalidateSessionCache(opts.loc.cwd, opts.loc.agentId);\n });\n}\n"]}
@@ -1,18 +1,24 @@
1
1
  'use strict';
2
2
 
3
+ var chunkJ7J7J2GN_cjs = require('../chunk-J7J7J2GN.cjs');
4
+ require('../chunk-6LHQPOMI.cjs');
5
+
3
6
  // src/interactive/types.ts
4
- var InteractiveUnavailableError = class extends Error {
7
+ var InteractiveUnavailableError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
8
+ name = "InteractiveUnavailableError";
5
9
  code = "interactive_unavailable";
6
10
  constructor(message) {
7
- super(message);
8
- this.name = "InteractiveUnavailableError";
11
+ super(message, { code: "interactive_unavailable", isRetryable: false });
9
12
  }
10
13
  };
11
- var NoSuchSessionError = class extends Error {
14
+ var NoSuchSessionError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
15
+ name = "NoSuchSessionError";
12
16
  code = "no_such_session";
13
17
  constructor(sessionId) {
14
- super(`no such live session "${sessionId}" (it may have exited or been killed)`);
15
- this.name = "NoSuchSessionError";
18
+ super(`no such live session "${sessionId}" (it may have exited or been killed)`, {
19
+ code: "no_such_session",
20
+ isRetryable: false
21
+ });
16
22
  }
17
23
  };
18
24
  var InteractiveBackend = class {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/interactive/types.ts"],"names":[],"mappings":";;;AAkBO,IAAM,2BAAA,GAAN,cAA0C,KAAA,CAAM;AAAA,EAC5C,IAAA,GAAO,yBAAA;AAAA,EAChB,YAAY,OAAA,EAAiB;AAC3B,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAO,6BAAA;AAAA,EACd;AACF;AAIO,IAAM,kBAAA,GAAN,cAAiC,KAAA,CAAM;AAAA,EACnC,IAAA,GAAO,iBAAA;AAAA,EAChB,YAAY,SAAA,EAAmB;AAC7B,IAAA,KAAA,CAAM,CAAA,sBAAA,EAAyB,SAAS,CAAA,qCAAA,CAAuC,CAAA;AAC/E,IAAA,IAAA,CAAK,IAAA,GAAO,oBAAA;AAAA,EACd;AACF;AA2CO,IAAe,qBAAf,MAAkC;AAmBzC;AAcA,eAAsB,kBAAA,CACpB,UACA,GAAA,EAC6B;AAC7B,EAAA,OAAO,QAAA,YAAoB,kBAAA,GAAqB,QAAA,GAAW,QAAA,CAAS,GAAG,CAAA;AACzE","file":"index.cjs","sourcesContent":["/**\n * Interactive-session backend protocol — the streaming twin of `SandboxBackend`\n * (which is one-shot `execute`). A surface-agnostic contract for driving a\n * long-lived interactive process (a REPL, `git rebase -i`, any command that\n * PROMPTS for stdin): start → `session_id`, write to stdin, read incremental\n * output, kill.\n *\n * Injected exactly like {@link FilesystemProvider} (SE31) — the tool depends on\n * the interface, the HOST supplies the implementation, so the SAME tool runs on\n * a local PTY (`@theokit/sdk-pty`), a container/E2B backend (cluster/web), or a\n * desktop backend (Tauri) with NO tool change and NO native dependency in core.\n *\n * @public\n */\n\n/** Thrown when the interactive path is requested but no backend can provide it\n * (no provider injected, or a local backend whose native module / spawn failed).\n * The caller falls back to non-interactive exec. */\nexport class InteractiveUnavailableError extends Error {\n readonly code = \"interactive_unavailable\" as const;\n constructor(message: string) {\n super(message);\n this.name = \"InteractiveUnavailableError\";\n }\n}\n\n/** Thrown (typed) when a write/kill targets an unknown or already-exited session,\n * so callers branch on the type instead of string-matching a message. */\nexport class NoSuchSessionError extends Error {\n readonly code = \"no_such_session\" as const;\n constructor(sessionId: string) {\n super(`no such live session \"${sessionId}\" (it may have exited or been killed)`);\n this.name = \"NoSuchSessionError\";\n }\n}\n\n/** Result of starting a session: its id + whatever the program printed on startup. */\nexport interface StartInteractiveResult {\n sessionId: string;\n output: string;\n}\n\n/** Result of writing to a session: the output produced during the yield window + liveness. */\nexport interface WriteStdinResult {\n output: string;\n alive: boolean;\n}\n\n/** Bounds a start call. All optional; a backend clamps/defaults each. */\nexport interface StartInteractiveOptions {\n /** Working directory for the session. Defaults to the backend's root. */\n cwd?: string;\n /** How long to wait, in ms, before returning the startup output (clamped by the backend). */\n yieldMs?: number;\n /** Idle time, in ms, after which the backend reaps a forgotten session. */\n ttlMs?: number;\n /** Cap on the returned output bytes (tail kept). */\n maxBytes?: number;\n /** Terminal geometry, when the backend allocates a real TTY. */\n cols?: number;\n rows?: number;\n}\n\n/** Bounds a write call. */\nexport interface WriteStdinOptions {\n yieldMs?: number;\n ttlMs?: number;\n maxBytes?: number;\n}\n\n/**\n * Pluggable interactive-session backend. Implement the three abstract methods.\n * A backend that cannot provide interactive sessions should not be constructed —\n * callers detect absence by catching {@link InteractiveUnavailableError}.\n *\n * @public\n */\nexport abstract class InteractiveBackend {\n /** Spawn `command` as an interactive session; resolve after the yield window with the\n * `session_id` + startup output. Throws {@link InteractiveUnavailableError} when the\n * session cannot be allocated. */\n abstract startInteractive(\n command: string,\n opts?: StartInteractiveOptions,\n ): Promise<StartInteractiveResult>;\n\n /** Write `chars` to a live session's stdin; resolve after the yield window with the output it\n * produced + whether it is still alive. Throws {@link NoSuchSessionError} on an unknown session. */\n abstract writeStdin(\n sessionId: string,\n chars: string,\n opts?: WriteStdinOptions,\n ): Promise<WriteStdinResult>;\n\n /** Kill a session (idempotent) and free its slot. */\n abstract kill(sessionId: string): void;\n}\n\n/**\n * A backend OR a per-request resolver of one — mirrors {@link FilesystemProvider}. A resolver runs\n * at tool-execution time (request scope), so multi-tenant / multi-role agents get a distinct backend\n * per request without a shared mutable one.\n *\n * @public\n */\nexport type InteractiveProvider<Ctx = unknown> =\n | InteractiveBackend\n | ((ctx: Ctx) => InteractiveBackend | Promise<InteractiveBackend>);\n\n/** Resolve an {@link InteractiveProvider} to a concrete backend for `ctx`. */\nexport async function resolveInteractive<Ctx>(\n provider: InteractiveProvider<Ctx>,\n ctx: Ctx,\n): Promise<InteractiveBackend> {\n return provider instanceof InteractiveBackend ? provider : provider(ctx);\n}\n"]}
1
+ {"version":3,"sources":["../../src/interactive/types.ts"],"names":["TheokitAgentError"],"mappings":";;;;;;AAyBO,IAAM,2BAAA,GAAN,cAA0CA,mCAAA,CAAkB;AAAA,EAC/C,IAAA,GAAO,6BAAA;AAAA,EACP,IAAA,GAAO,yBAAA;AAAA,EACzB,YAAY,OAAA,EAAiB;AAE3B,IAAA,KAAA,CAAM,SAAS,EAAE,IAAA,EAAM,yBAAA,EAA2B,WAAA,EAAa,OAAO,CAAA;AAAA,EACxE;AACF;AAMO,IAAM,kBAAA,GAAN,cAAiCA,mCAAA,CAAkB;AAAA,EACtC,IAAA,GAAO,oBAAA;AAAA,EACP,IAAA,GAAO,iBAAA;AAAA,EACzB,YAAY,SAAA,EAAmB;AAE7B,IAAA,KAAA,CAAM,CAAA,sBAAA,EAAyB,SAAS,CAAA,qCAAA,CAAA,EAAyC;AAAA,MAC/E,IAAA,EAAM,iBAAA;AAAA,MACN,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH;AACF;AA2CO,IAAe,qBAAf,MAAkC;AAmBzC;AAcA,eAAsB,kBAAA,CACpB,UACA,GAAA,EAC6B;AAC7B,EAAA,OAAO,QAAA,YAAoB,kBAAA,GAAqB,QAAA,GAAW,QAAA,CAAS,GAAG,CAAA;AACzE","file":"index.cjs","sourcesContent":["/**\n * Interactive-session backend protocol — the streaming twin of `SandboxBackend`\n * (which is one-shot `execute`). A surface-agnostic contract for driving a\n * long-lived interactive process (a REPL, `git rebase -i`, any command that\n * PROMPTS for stdin): start → `session_id`, write to stdin, read incremental\n * output, kill.\n *\n * Injected exactly like {@link FilesystemProvider} (SE31) — the tool depends on\n * the interface, the HOST supplies the implementation, so the SAME tool runs on\n * a local PTY (`@theokit/sdk-pty`), a container/E2B backend (cluster/web), or a\n * desktop backend (Tauri) with NO tool change and NO native dependency in core.\n *\n * @public\n */\n\nimport { TheokitAgentError } from \"../errors.js\";\n\n/** Thrown when the interactive path is requested but no backend can provide it\n * (no provider injected, or a local backend whose native module / spawn failed).\n * The caller falls back to non-interactive exec.\n *\n * Extends {@link TheokitAgentError} like every other typed error the SDK publishes: it used to\n * extend bare `Error`, so a consumer catching `TheokitAgentError` — the documented way to catch\n * anything this SDK throws — missed it, and it carried no `isRetryable`. Additive: `instanceof\n * Error` and the `code` literal are unchanged. */\nexport class InteractiveUnavailableError extends TheokitAgentError {\n override readonly name = \"InteractiveUnavailableError\";\n override readonly code = \"interactive_unavailable\" as const;\n constructor(message: string) {\n // Not retryable: no backend is a configuration fact, and retrying re-asks the same question.\n super(message, { code: \"interactive_unavailable\", isRetryable: false });\n }\n}\n\n/** Thrown (typed) when a write/kill targets an unknown or already-exited session,\n * so callers branch on the type instead of string-matching a message.\n *\n * Extends {@link TheokitAgentError} — see {@link InteractiveUnavailableError} for why. */\nexport class NoSuchSessionError extends TheokitAgentError {\n override readonly name = \"NoSuchSessionError\";\n override readonly code = \"no_such_session\" as const;\n constructor(sessionId: string) {\n // Not retryable: the session is gone, and it does not come back.\n super(`no such live session \"${sessionId}\" (it may have exited or been killed)`, {\n code: \"no_such_session\",\n isRetryable: false,\n });\n }\n}\n\n/** Result of starting a session: its id + whatever the program printed on startup. */\nexport interface StartInteractiveResult {\n sessionId: string;\n output: string;\n}\n\n/** Result of writing to a session: the output produced during the yield window + liveness. */\nexport interface WriteStdinResult {\n output: string;\n alive: boolean;\n}\n\n/** Bounds a start call. All optional; a backend clamps/defaults each. */\nexport interface StartInteractiveOptions {\n /** Working directory for the session. Defaults to the backend's root. */\n cwd?: string;\n /** How long to wait, in ms, before returning the startup output (clamped by the backend). */\n yieldMs?: number;\n /** Idle time, in ms, after which the backend reaps a forgotten session. */\n ttlMs?: number;\n /** Cap on the returned output bytes (tail kept). */\n maxBytes?: number;\n /** Terminal geometry, when the backend allocates a real TTY. */\n cols?: number;\n rows?: number;\n}\n\n/** Bounds a write call. */\nexport interface WriteStdinOptions {\n yieldMs?: number;\n ttlMs?: number;\n maxBytes?: number;\n}\n\n/**\n * Pluggable interactive-session backend. Implement the three abstract methods.\n * A backend that cannot provide interactive sessions should not be constructed —\n * callers detect absence by catching {@link InteractiveUnavailableError}.\n *\n * @public\n */\nexport abstract class InteractiveBackend {\n /** Spawn `command` as an interactive session; resolve after the yield window with the\n * `session_id` + startup output. Throws {@link InteractiveUnavailableError} when the\n * session cannot be allocated. */\n abstract startInteractive(\n command: string,\n opts?: StartInteractiveOptions,\n ): Promise<StartInteractiveResult>;\n\n /** Write `chars` to a live session's stdin; resolve after the yield window with the output it\n * produced + whether it is still alive. Throws {@link NoSuchSessionError} on an unknown session. */\n abstract writeStdin(\n sessionId: string,\n chars: string,\n opts?: WriteStdinOptions,\n ): Promise<WriteStdinResult>;\n\n /** Kill a session (idempotent) and free its slot. */\n abstract kill(sessionId: string): void;\n}\n\n/**\n * A backend OR a per-request resolver of one — mirrors {@link FilesystemProvider}. A resolver runs\n * at tool-execution time (request scope), so multi-tenant / multi-role agents get a distinct backend\n * per request without a shared mutable one.\n *\n * @public\n */\nexport type InteractiveProvider<Ctx = unknown> =\n | InteractiveBackend\n | ((ctx: Ctx) => InteractiveBackend | Promise<InteractiveBackend>);\n\n/** Resolve an {@link InteractiveProvider} to a concrete backend for `ctx`. */\nexport async function resolveInteractive<Ctx>(\n provider: InteractiveProvider<Ctx>,\n ctx: Ctx,\n): Promise<InteractiveBackend> {\n return provider instanceof InteractiveBackend ? provider : provider(ctx);\n}\n"]}
@@ -1,16 +1,22 @@
1
+ import { TheokitAgentError } from '../chunk-ALUN2B4W.js';
2
+ import '../chunk-CZJ6Q7CW.js';
3
+
1
4
  // src/interactive/types.ts
2
- var InteractiveUnavailableError = class extends Error {
5
+ var InteractiveUnavailableError = class extends TheokitAgentError {
6
+ name = "InteractiveUnavailableError";
3
7
  code = "interactive_unavailable";
4
8
  constructor(message) {
5
- super(message);
6
- this.name = "InteractiveUnavailableError";
9
+ super(message, { code: "interactive_unavailable", isRetryable: false });
7
10
  }
8
11
  };
9
- var NoSuchSessionError = class extends Error {
12
+ var NoSuchSessionError = class extends TheokitAgentError {
13
+ name = "NoSuchSessionError";
10
14
  code = "no_such_session";
11
15
  constructor(sessionId) {
12
- super(`no such live session "${sessionId}" (it may have exited or been killed)`);
13
- this.name = "NoSuchSessionError";
16
+ super(`no such live session "${sessionId}" (it may have exited or been killed)`, {
17
+ code: "no_such_session",
18
+ isRetryable: false
19
+ });
14
20
  }
15
21
  };
16
22
  var InteractiveBackend = class {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/interactive/types.ts"],"names":[],"mappings":";AAkBO,IAAM,2BAAA,GAAN,cAA0C,KAAA,CAAM;AAAA,EAC5C,IAAA,GAAO,yBAAA;AAAA,EAChB,YAAY,OAAA,EAAiB;AAC3B,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAO,6BAAA;AAAA,EACd;AACF;AAIO,IAAM,kBAAA,GAAN,cAAiC,KAAA,CAAM;AAAA,EACnC,IAAA,GAAO,iBAAA;AAAA,EAChB,YAAY,SAAA,EAAmB;AAC7B,IAAA,KAAA,CAAM,CAAA,sBAAA,EAAyB,SAAS,CAAA,qCAAA,CAAuC,CAAA;AAC/E,IAAA,IAAA,CAAK,IAAA,GAAO,oBAAA;AAAA,EACd;AACF;AA2CO,IAAe,qBAAf,MAAkC;AAmBzC;AAcA,eAAsB,kBAAA,CACpB,UACA,GAAA,EAC6B;AAC7B,EAAA,OAAO,QAAA,YAAoB,kBAAA,GAAqB,QAAA,GAAW,QAAA,CAAS,GAAG,CAAA;AACzE","file":"index.js","sourcesContent":["/**\n * Interactive-session backend protocol — the streaming twin of `SandboxBackend`\n * (which is one-shot `execute`). A surface-agnostic contract for driving a\n * long-lived interactive process (a REPL, `git rebase -i`, any command that\n * PROMPTS for stdin): start → `session_id`, write to stdin, read incremental\n * output, kill.\n *\n * Injected exactly like {@link FilesystemProvider} (SE31) — the tool depends on\n * the interface, the HOST supplies the implementation, so the SAME tool runs on\n * a local PTY (`@theokit/sdk-pty`), a container/E2B backend (cluster/web), or a\n * desktop backend (Tauri) with NO tool change and NO native dependency in core.\n *\n * @public\n */\n\n/** Thrown when the interactive path is requested but no backend can provide it\n * (no provider injected, or a local backend whose native module / spawn failed).\n * The caller falls back to non-interactive exec. */\nexport class InteractiveUnavailableError extends Error {\n readonly code = \"interactive_unavailable\" as const;\n constructor(message: string) {\n super(message);\n this.name = \"InteractiveUnavailableError\";\n }\n}\n\n/** Thrown (typed) when a write/kill targets an unknown or already-exited session,\n * so callers branch on the type instead of string-matching a message. */\nexport class NoSuchSessionError extends Error {\n readonly code = \"no_such_session\" as const;\n constructor(sessionId: string) {\n super(`no such live session \"${sessionId}\" (it may have exited or been killed)`);\n this.name = \"NoSuchSessionError\";\n }\n}\n\n/** Result of starting a session: its id + whatever the program printed on startup. */\nexport interface StartInteractiveResult {\n sessionId: string;\n output: string;\n}\n\n/** Result of writing to a session: the output produced during the yield window + liveness. */\nexport interface WriteStdinResult {\n output: string;\n alive: boolean;\n}\n\n/** Bounds a start call. All optional; a backend clamps/defaults each. */\nexport interface StartInteractiveOptions {\n /** Working directory for the session. Defaults to the backend's root. */\n cwd?: string;\n /** How long to wait, in ms, before returning the startup output (clamped by the backend). */\n yieldMs?: number;\n /** Idle time, in ms, after which the backend reaps a forgotten session. */\n ttlMs?: number;\n /** Cap on the returned output bytes (tail kept). */\n maxBytes?: number;\n /** Terminal geometry, when the backend allocates a real TTY. */\n cols?: number;\n rows?: number;\n}\n\n/** Bounds a write call. */\nexport interface WriteStdinOptions {\n yieldMs?: number;\n ttlMs?: number;\n maxBytes?: number;\n}\n\n/**\n * Pluggable interactive-session backend. Implement the three abstract methods.\n * A backend that cannot provide interactive sessions should not be constructed —\n * callers detect absence by catching {@link InteractiveUnavailableError}.\n *\n * @public\n */\nexport abstract class InteractiveBackend {\n /** Spawn `command` as an interactive session; resolve after the yield window with the\n * `session_id` + startup output. Throws {@link InteractiveUnavailableError} when the\n * session cannot be allocated. */\n abstract startInteractive(\n command: string,\n opts?: StartInteractiveOptions,\n ): Promise<StartInteractiveResult>;\n\n /** Write `chars` to a live session's stdin; resolve after the yield window with the output it\n * produced + whether it is still alive. Throws {@link NoSuchSessionError} on an unknown session. */\n abstract writeStdin(\n sessionId: string,\n chars: string,\n opts?: WriteStdinOptions,\n ): Promise<WriteStdinResult>;\n\n /** Kill a session (idempotent) and free its slot. */\n abstract kill(sessionId: string): void;\n}\n\n/**\n * A backend OR a per-request resolver of one — mirrors {@link FilesystemProvider}. A resolver runs\n * at tool-execution time (request scope), so multi-tenant / multi-role agents get a distinct backend\n * per request without a shared mutable one.\n *\n * @public\n */\nexport type InteractiveProvider<Ctx = unknown> =\n | InteractiveBackend\n | ((ctx: Ctx) => InteractiveBackend | Promise<InteractiveBackend>);\n\n/** Resolve an {@link InteractiveProvider} to a concrete backend for `ctx`. */\nexport async function resolveInteractive<Ctx>(\n provider: InteractiveProvider<Ctx>,\n ctx: Ctx,\n): Promise<InteractiveBackend> {\n return provider instanceof InteractiveBackend ? provider : provider(ctx);\n}\n"]}
1
+ {"version":3,"sources":["../../src/interactive/types.ts"],"names":[],"mappings":";;;;AAyBO,IAAM,2BAAA,GAAN,cAA0C,iBAAA,CAAkB;AAAA,EAC/C,IAAA,GAAO,6BAAA;AAAA,EACP,IAAA,GAAO,yBAAA;AAAA,EACzB,YAAY,OAAA,EAAiB;AAE3B,IAAA,KAAA,CAAM,SAAS,EAAE,IAAA,EAAM,yBAAA,EAA2B,WAAA,EAAa,OAAO,CAAA;AAAA,EACxE;AACF;AAMO,IAAM,kBAAA,GAAN,cAAiC,iBAAA,CAAkB;AAAA,EACtC,IAAA,GAAO,oBAAA;AAAA,EACP,IAAA,GAAO,iBAAA;AAAA,EACzB,YAAY,SAAA,EAAmB;AAE7B,IAAA,KAAA,CAAM,CAAA,sBAAA,EAAyB,SAAS,CAAA,qCAAA,CAAA,EAAyC;AAAA,MAC/E,IAAA,EAAM,iBAAA;AAAA,MACN,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH;AACF;AA2CO,IAAe,qBAAf,MAAkC;AAmBzC;AAcA,eAAsB,kBAAA,CACpB,UACA,GAAA,EAC6B;AAC7B,EAAA,OAAO,QAAA,YAAoB,kBAAA,GAAqB,QAAA,GAAW,QAAA,CAAS,GAAG,CAAA;AACzE","file":"index.js","sourcesContent":["/**\n * Interactive-session backend protocol — the streaming twin of `SandboxBackend`\n * (which is one-shot `execute`). A surface-agnostic contract for driving a\n * long-lived interactive process (a REPL, `git rebase -i`, any command that\n * PROMPTS for stdin): start → `session_id`, write to stdin, read incremental\n * output, kill.\n *\n * Injected exactly like {@link FilesystemProvider} (SE31) — the tool depends on\n * the interface, the HOST supplies the implementation, so the SAME tool runs on\n * a local PTY (`@theokit/sdk-pty`), a container/E2B backend (cluster/web), or a\n * desktop backend (Tauri) with NO tool change and NO native dependency in core.\n *\n * @public\n */\n\nimport { TheokitAgentError } from \"../errors.js\";\n\n/** Thrown when the interactive path is requested but no backend can provide it\n * (no provider injected, or a local backend whose native module / spawn failed).\n * The caller falls back to non-interactive exec.\n *\n * Extends {@link TheokitAgentError} like every other typed error the SDK publishes: it used to\n * extend bare `Error`, so a consumer catching `TheokitAgentError` — the documented way to catch\n * anything this SDK throws — missed it, and it carried no `isRetryable`. Additive: `instanceof\n * Error` and the `code` literal are unchanged. */\nexport class InteractiveUnavailableError extends TheokitAgentError {\n override readonly name = \"InteractiveUnavailableError\";\n override readonly code = \"interactive_unavailable\" as const;\n constructor(message: string) {\n // Not retryable: no backend is a configuration fact, and retrying re-asks the same question.\n super(message, { code: \"interactive_unavailable\", isRetryable: false });\n }\n}\n\n/** Thrown (typed) when a write/kill targets an unknown or already-exited session,\n * so callers branch on the type instead of string-matching a message.\n *\n * Extends {@link TheokitAgentError} — see {@link InteractiveUnavailableError} for why. */\nexport class NoSuchSessionError extends TheokitAgentError {\n override readonly name = \"NoSuchSessionError\";\n override readonly code = \"no_such_session\" as const;\n constructor(sessionId: string) {\n // Not retryable: the session is gone, and it does not come back.\n super(`no such live session \"${sessionId}\" (it may have exited or been killed)`, {\n code: \"no_such_session\",\n isRetryable: false,\n });\n }\n}\n\n/** Result of starting a session: its id + whatever the program printed on startup. */\nexport interface StartInteractiveResult {\n sessionId: string;\n output: string;\n}\n\n/** Result of writing to a session: the output produced during the yield window + liveness. */\nexport interface WriteStdinResult {\n output: string;\n alive: boolean;\n}\n\n/** Bounds a start call. All optional; a backend clamps/defaults each. */\nexport interface StartInteractiveOptions {\n /** Working directory for the session. Defaults to the backend's root. */\n cwd?: string;\n /** How long to wait, in ms, before returning the startup output (clamped by the backend). */\n yieldMs?: number;\n /** Idle time, in ms, after which the backend reaps a forgotten session. */\n ttlMs?: number;\n /** Cap on the returned output bytes (tail kept). */\n maxBytes?: number;\n /** Terminal geometry, when the backend allocates a real TTY. */\n cols?: number;\n rows?: number;\n}\n\n/** Bounds a write call. */\nexport interface WriteStdinOptions {\n yieldMs?: number;\n ttlMs?: number;\n maxBytes?: number;\n}\n\n/**\n * Pluggable interactive-session backend. Implement the three abstract methods.\n * A backend that cannot provide interactive sessions should not be constructed —\n * callers detect absence by catching {@link InteractiveUnavailableError}.\n *\n * @public\n */\nexport abstract class InteractiveBackend {\n /** Spawn `command` as an interactive session; resolve after the yield window with the\n * `session_id` + startup output. Throws {@link InteractiveUnavailableError} when the\n * session cannot be allocated. */\n abstract startInteractive(\n command: string,\n opts?: StartInteractiveOptions,\n ): Promise<StartInteractiveResult>;\n\n /** Write `chars` to a live session's stdin; resolve after the yield window with the output it\n * produced + whether it is still alive. Throws {@link NoSuchSessionError} on an unknown session. */\n abstract writeStdin(\n sessionId: string,\n chars: string,\n opts?: WriteStdinOptions,\n ): Promise<WriteStdinResult>;\n\n /** Kill a session (idempotent) and free its slot. */\n abstract kill(sessionId: string): void;\n}\n\n/**\n * A backend OR a per-request resolver of one — mirrors {@link FilesystemProvider}. A resolver runs\n * at tool-execution time (request scope), so multi-tenant / multi-role agents get a distinct backend\n * per request without a shared mutable one.\n *\n * @public\n */\nexport type InteractiveProvider<Ctx = unknown> =\n | InteractiveBackend\n | ((ctx: Ctx) => InteractiveBackend | Promise<InteractiveBackend>);\n\n/** Resolve an {@link InteractiveProvider} to a concrete backend for `ctx`. */\nexport async function resolveInteractive<Ctx>(\n provider: InteractiveProvider<Ctx>,\n ctx: Ctx,\n): Promise<InteractiveBackend> {\n return provider instanceof InteractiveBackend ? provider : provider(ctx);\n}\n"]}
@@ -12,16 +12,26 @@
12
12
  *
13
13
  * @public
14
14
  */
15
+ import { TheokitAgentError } from "../errors.js";
15
16
  /** Thrown when the interactive path is requested but no backend can provide it
16
17
  * (no provider injected, or a local backend whose native module / spawn failed).
17
- * The caller falls back to non-interactive exec. */
18
- export declare class InteractiveUnavailableError extends Error {
18
+ * The caller falls back to non-interactive exec.
19
+ *
20
+ * Extends {@link TheokitAgentError} like every other typed error the SDK publishes: it used to
21
+ * extend bare `Error`, so a consumer catching `TheokitAgentError` — the documented way to catch
22
+ * anything this SDK throws — missed it, and it carried no `isRetryable`. Additive: `instanceof
23
+ * Error` and the `code` literal are unchanged. */
24
+ export declare class InteractiveUnavailableError extends TheokitAgentError {
25
+ readonly name = "InteractiveUnavailableError";
19
26
  readonly code: "interactive_unavailable";
20
27
  constructor(message: string);
21
28
  }
22
29
  /** Thrown (typed) when a write/kill targets an unknown or already-exited session,
23
- * so callers branch on the type instead of string-matching a message. */
24
- export declare class NoSuchSessionError extends Error {
30
+ * so callers branch on the type instead of string-matching a message.
31
+ *
32
+ * Extends {@link TheokitAgentError} — see {@link InteractiveUnavailableError} for why. */
33
+ export declare class NoSuchSessionError extends TheokitAgentError {
34
+ readonly name = "NoSuchSessionError";
25
35
  readonly code: "no_such_session";
26
36
  constructor(sessionId: string);
27
37
  }
@@ -12,16 +12,26 @@
12
12
  *
13
13
  * @public
14
14
  */
15
+ import { TheokitAgentError } from "../errors.js";
15
16
  /** Thrown when the interactive path is requested but no backend can provide it
16
17
  * (no provider injected, or a local backend whose native module / spawn failed).
17
- * The caller falls back to non-interactive exec. */
18
- export declare class InteractiveUnavailableError extends Error {
18
+ * The caller falls back to non-interactive exec.
19
+ *
20
+ * Extends {@link TheokitAgentError} like every other typed error the SDK publishes: it used to
21
+ * extend bare `Error`, so a consumer catching `TheokitAgentError` — the documented way to catch
22
+ * anything this SDK throws — missed it, and it carried no `isRetryable`. Additive: `instanceof
23
+ * Error` and the `code` literal are unchanged. */
24
+ export declare class InteractiveUnavailableError extends TheokitAgentError {
25
+ readonly name = "InteractiveUnavailableError";
19
26
  readonly code: "interactive_unavailable";
20
27
  constructor(message: string);
21
28
  }
22
29
  /** Thrown (typed) when a write/kill targets an unknown or already-exited session,
23
- * so callers branch on the type instead of string-matching a message. */
24
- export declare class NoSuchSessionError extends Error {
30
+ * so callers branch on the type instead of string-matching a message.
31
+ *
32
+ * Extends {@link TheokitAgentError} — see {@link InteractiveUnavailableError} for why. */
33
+ export declare class NoSuchSessionError extends TheokitAgentError {
34
+ readonly name = "NoSuchSessionError";
25
35
  readonly code: "no_such_session";
26
36
  constructor(sessionId: string);
27
37
  }
@@ -1,2 +1,2 @@
1
- import type { AgentLoopInputs } from "./loop-types.js";
1
+ import type { AgentLoopInputs } from "./types.js";
2
2
  export declare function initLoopContext(inputs: AgentLoopInputs): Promise<LoopContext>;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The tail of `runAgentLoop`: everything that happens after its last turn.
3
+ *
4
+ * Its own module rather than four more functions in `loop.ts` for two reasons that agree. The file
5
+ * was 12 logical lines over the 400-line budget with them inline, and more importantly the split is
6
+ * real: nothing here runs during a turn, so none of it is covered by the argument the loop's
7
+ * `biome-ignore` makes about keeping the streaming contract linear.
8
+ *
9
+ * @internal
10
+ */
11
+ import type { LoopContext } from "./loop-context-init.js";
12
+ import type { AgentLoopInputs, AgentLoopOutput } from "./types.js";
13
+ /** The span type the telemetry handle hands back, or nothing when telemetry is off. */
14
+ export type SendSpan = ReturnType<NonNullable<AgentLoopInputs["telemetry"]>["startSpan"]> | undefined;
15
+ /**
16
+ * Everything `runAgentLoop` does AFTER its last turn: diagnose why the loop ended, stamp the span,
17
+ * total usage and cost, flush the memory provider, and shape the output.
18
+ *
19
+ * Extracted because the biome-ignore on `runAgentLoop` argues that context build, LLM round trip,
20
+ * tool dispatch, stop condition and span lifecycle stay co-located so the streaming contract reads
21
+ * linearly — and that argument, which has real force, covers none of this. None of it runs during a
22
+ * turn, so removing it takes roughly 55 of the function's 123 lines and 12 of its decision points
23
+ * out of the narrative the ignore defends, without moving a single branch of the round trip.
24
+ */
25
+ export declare function finalizeLoopOutput(inputs: AgentLoopInputs, ctx: LoopContext, budget: IterationBudget, sendSpan: SendSpan, lastTurnDecision: "continue" | "done" | "error" | undefined): Promise<AgentLoopOutput>;
@@ -1,6 +1,6 @@
1
1
  import { type LoopContext } from "./loop-context-init.js";
2
2
  import { type LlmTurnOutput } from "./loop-llm-stream.js";
3
- import type { AgentLoopInputs, AgentLoopOutput } from "./loop-types.js";
3
+ import type { AgentLoopInputs, AgentLoopOutput } from "./types.js";
4
4
  /** M1-4 — maximum number of `stop`-hook feedback re-prompts (reflection ceiling), mirroring MAX_NUDGE_ATTEMPTS. */
5
5
  export declare const MAX_STOP_FEEDBACK_ATTEMPTS = 2;
6
6
  export declare function runAgentLoop(inputs: AgentLoopInputs): Promise<AgentLoopOutput>;
@@ -1,6 +1,6 @@
1
1
  import type { SDKAssistantMessage, SDKThinkingMessage, SDKUserMessageEvent } from "../../types/messages.js";
2
2
  import type { LlmMessage, LlmThinkingPart, LlmToolCallPart } from "../llm/types.js";
3
- import type { AgentLoopInputs } from "./loop-types.js";
3
+ import type { AgentLoopInputs } from "./types.js";
4
4
  export declare function buildUserEvent(inputs: AgentLoopInputs): SDKUserMessageEvent;
5
5
  export declare function buildAssistantEvent(inputs: AgentLoopInputs, text: string): SDKAssistantMessage;
6
6
  /**
@@ -0,0 +1,41 @@
1
+ import type { SessionMessage } from "../../types/session-message.js";
2
+ import type { LlmMessage } from "../llm/types.js";
3
+ /**
4
+ * Rebuild the model's history from a session's stored turns.
5
+ *
6
+ * ## Why this exists
7
+ *
8
+ * The replay used to be one line — `content: [{ type: "text", text: msg.text }]` — and `text` is the
9
+ * FLAT projection, in which a tool call folds to `[tool call] NAME` and a result to
10
+ * `[tool result] <body>`. So a resumed session showed the model its own prior turn as prose
11
+ * containing a marker, and the model did the reasonable thing with a pattern it is shown: it wrote
12
+ * the marker instead of calling the tool (usetheokit/theokit#631). A consumer saw
13
+ * `"…report its output.[tool call] run_shell"` in the assistant's reply, with no tool call behind it.
14
+ *
15
+ * The structured projection was already there. `narrowToSessionMessage` returns BOTH `text` and
16
+ * `parts`, and `parts` carries the call id, the tool name and the arguments — everything the flat
17
+ * form destroys. Nothing read it: `msg.parts` appeared nowhere in the shipped bundle.
18
+ *
19
+ * ## The shape it produces
20
+ *
21
+ * `SessionMessagePart` and `LlmContentPart` agree field for field on all three cases, which is what
22
+ * makes this a mapping rather than a translation. What does NOT carry over is the grouping: a
23
+ * `tool_result` may not travel in an assistant message. The live loop already settles that —
24
+ * `loop.ts` pushes results as `{ role: "user", content: toolResults }` — so a replayed turn is split
25
+ * the same way rather than inventing a second convention for the same provider wire.
26
+ *
27
+ * ## When it falls back
28
+ *
29
+ * `parts` is optional and its absence means "this projection carries no structure", never "this turn
30
+ * had none" — a `SessionMessage` built in memory during a live turn has only `text`. So a message
31
+ * without parts replays exactly as before. That is also what keeps this safe for a session stored by
32
+ * an older SDK: those rows have no `parts`, and they keep the behaviour they were written under.
33
+ *
34
+ * ## An empty text part is dropped
35
+ *
36
+ * A `{ type: "text", text: "" }` survives the projection — a turn that was only a tool call has one,
37
+ * because `partToText` folds the call and leaves the text empty. Several provider wires reject an
38
+ * empty text block outright, and none of them need it, so it does not travel. Dropping it is also
39
+ * what makes the `own.length > 0` guard below meaningful rather than incidental.
40
+ */
41
+ export declare function replayMessages(prior: readonly SessionMessage[]): LlmMessage[];
@@ -1,7 +1,7 @@
1
1
  import type { SDKMessage } from "../../types/messages.js";
2
2
  import type { LlmContentPart, LlmToolCallPart } from "../llm/types.js";
3
- import type { AgentLoopInputs, ResolvedTool } from "./loop-types.js";
4
- export type { ResolvedTool } from "./loop-types.js";
3
+ import type { AgentLoopInputs, ResolvedTool } from "./types.js";
4
+ export type { ResolvedTool } from "./types.js";
5
5
  /**
6
6
  * T2.4 — Parallel tool dispatch with bounded concurrency (DR2 finding #4).
7
7
  *
@@ -13,7 +13,7 @@
13
13
  * @internal
14
14
  */
15
15
  import type { UsageAccumulator } from "../budget/usage-accumulator.js";
16
- import type { AgentLoopInputs } from "./loop-types.js";
16
+ import type { AgentLoopInputs } from "./types.js";
17
17
  export interface LlmTurnUsage {
18
18
  inputTokens?: number;
19
19
  outputTokens?: number;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * "Does this process hold a REAL provider credential?" — one question, one home.
3
+ *
4
+ * It used to live in `runtime/fixtures/fixture-mode.ts`, a 229-line module answering three unrelated
5
+ * questions. This one spans AWS Bedrock (env var, access key, profile, `~/.aws/credentials` on
6
+ * disk), GCP Vertex (ADC), a stored OAuth credential read off disk, and three named provider env
7
+ * vars — a credential policy, filed under a name about test fixtures. Its dependency already pointed
8
+ * here: `internal/auth/credential-store.js`.
9
+ *
10
+ * Every predicate is SYNCHRONOUS and checks a signal, never a live endpoint. Probing would be async
11
+ * and would make a decision that belongs at request time — an unreachable Ollama or an expired token
12
+ * must surface as a typed error from the call, not as a silent fall-through to fixture data.
13
+ *
14
+ * @internal
15
+ */
16
+ /**
17
+ * The provider credentials `shouldUseRealLocalRuntime` consults by name.
18
+ *
19
+ * Exported so the "Missing API key" refusal can name the ones the caller actually set (#338 item
20
+ * 5). The list used to live only inside the predicate below, which meant a caller with
21
+ * `OPENROUTER_API_KEY` set and `THEOKIT_API_KEY` unset was refused by a message naming neither —
22
+ * the SDK checks this exact variable a few lines down to decide the runtime, so the environment
23
+ * looks configured to the person who set it up. Reported as a three-hour diagnosis.
24
+ *
25
+ * One list, two readers: a variable added here is recognised by the predicate AND named by the
26
+ * error on the same commit, which is the only way the two stay in step.
27
+ */
28
+ export declare const PROVIDER_CREDENTIAL_ENV_VARS: readonly string[];
29
+ /** Those of {@link PROVIDER_CREDENTIAL_ENV_VARS} that are non-empty in this process. */
30
+ export declare function presentProviderCredentialEnvVars(): readonly string[];
31
+ /**
32
+ * ADRs D286-D287: Bedrock green-lights real runtime when EITHER
33
+ * `AWS_BEARER_TOKEN_BEDROCK` is set explicitly OR the standard AWS
34
+ * credential chain (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` /
35
+ * `AWS_PROFILE` / instance role) can mint a Bearer via
36
+ * `@aws/bedrock-token-generator`. We only check synchronous signals here;
37
+ * the actual token resolution happens lazily in
38
+ * `BedrockAnthropicClient.stream`.
39
+ */
40
+ export declare function isAwsBedrockAuthAvailable(): boolean;
41
+ /**
42
+ * ADR D288: Vertex green-lights real runtime when EITHER
43
+ * `GOOGLE_APPLICATION_CREDENTIALS` is set OR `GOOGLE_CLOUD_PROJECT` is set
44
+ * (ADC will use gcloud user creds / metadata server). The actual token
45
+ * resolution happens lazily in `VertexAnthropicClient.stream` /
46
+ * `VertexGeminiClient.stream`.
47
+ */
48
+ export declare function isGcpVertexAuthAvailable(): boolean;
49
+ /**
50
+ * ADR D182 / T1.2: **always `true`.** Zero-config local providers (`authType: "none"`) need no
51
+ * credential — Ollama defaults to localhost:11434, LM Studio to localhost:1234, llama.cpp to
52
+ * localhost:8080 — and the SDK ships Ollama as a builtin, so one is always nominally available.
53
+ * Nothing is probed here; probing would be async. If no daemon is up, the first real LLM call
54
+ * surfaces `ollama_unreachable` via the typed mapper.
55
+ *
56
+ * This used to say it returned true "when ANY of the documented local hosts is reachable in spirit",
57
+ * which reads as a probe and is not a testable statement. The body has always been `return true`.
58
+ * The distinction matters because of where this sits — see the note on the `||` chain in
59
+ * `shouldUseRealLocalRuntime`.
60
+ */
61
+ export declare function isLocalNoAuthProviderAvailable(): boolean;
@@ -19,7 +19,7 @@ import { AuthenticationError } from "../../errors.js";
19
19
  * `.d.ts`, leaving the types it binds unresolvable for any consumer running type-aware lint
20
20
  * (usetheodev/theokit-sdk#283 records the same trap on a declaration).
21
21
  */
22
- import type { CredentialStoreConfig, StoredCredential, StoredOAuthCredential } from "./auth-types.js";
22
+ import type { CredentialStoreConfig, StoredCredential, StoredOAuthCredential } from "./types.js";
23
23
  /** The store directory, honoring an optional `homeEnvVar` override. */
24
24
  export declare function credentialHome(config: CredentialStoreConfig, env?: Record<string, string | undefined>): string;
25
25
  /** The credential file path inside the (possibly overridden) store directory. */
@@ -1,4 +1,4 @@
1
- import type { DeviceCodeGrant, DeviceDeps, DeviceOAuthConfig, OAuthTokens, OpenAIDeviceConfig } from "./auth-types.js";
1
+ import type { DeviceCodeGrant, DeviceDeps, DeviceOAuthConfig, OAuthTokens, OpenAIDeviceConfig } from "./types.js";
2
2
  /** Step 1 — request a device code. POSTs `{client_id, scope}` to the device endpoint. */
3
3
  export declare function requestDeviceCode(config: DeviceOAuthConfig, deps: Pick<DeviceDeps, "fetch">): Promise<DeviceCodeGrant>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import type { CredentialStoreConfig, HttpDeps, OAuthProviderConfig, OAuthTokens, ResolvedCredential } from "./auth-types.js";
1
+ import type { CredentialStoreConfig, HttpDeps, OAuthProviderConfig, OAuthTokens, ResolvedCredential } from "./types.js";
2
2
  /** Exchange an authorization `code` (+ PKCE verifier) for the token pair. */
3
3
  export declare function exchangeCode(config: OAuthProviderConfig, input: {
4
4
  code: string;
@@ -17,7 +17,7 @@
17
17
  * `.d.ts`, leaving the types it binds unresolvable for any consumer running type-aware lint
18
18
  * (usetheodev/theokit-sdk#283 records the same trap on a declaration).
19
19
  */
20
- import type { CredentialStoreConfig, OAuthProviderConfig, ResolvedCredential } from "./auth-types.js";
20
+ import type { CredentialStoreConfig, OAuthProviderConfig, ResolvedCredential } from "./types.js";
21
21
  /**
22
22
  * Input to `resolveCredential`: which provider, which store, and what to inject.
23
23
  *
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `THEOKIT_API_BASE_URL`, read in one place.
3
+ *
4
+ * A leaf on purpose: `internal/http.ts` resolves the SDK's endpoint from it, and so do the cloud
5
+ * agent and `internal/agent/helpers.ts`. It used to live in `runtime/fixtures/fixture-mode.ts`,
6
+ * which meant a production HTTP module resolved its base URL out of a module named for test
7
+ * fixtures. `fixture-mode.ts` is now one of its four consumers rather than its owner — it needs the
8
+ * value because an explicitly configured base URL short-circuits fixture mode.
9
+ *
10
+ * Nothing is imported here beyond the environment, so no consumer risks a cycle through it.
11
+ *
12
+ * @internal
13
+ */
14
+ export {};
@@ -1,3 +1,3 @@
1
1
  import type { AgentOptions } from "../../types/agent.js";
2
- import type { CloudAgentPayload } from "./cloud-payload-types.js";
2
+ import type { CloudAgentPayload } from "./types.js";
3
3
  export declare function serializeCloudAgentConfig(options: AgentOptions): CloudAgentPayload;
@@ -32,8 +32,8 @@
32
32
  *
33
33
  * @internal
34
34
  */
35
- import type { ModelSelection } from "../../../types/agent-prims.js";
36
- import type { Plugin } from "../../plugins/types.js";
35
+ import type { ModelSelection } from "../../types/agent-prims.js";
36
+ import type { Plugin } from "../plugins/types.js";
37
37
  /**
38
38
  * Credentials a parent agent hands down to its subagent tools so the child inherits the parent's
39
39
  * auth (and, absent an explicit `spec.model`, its model).
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The fail-safe emitter for the `RunEvent` stream — runtime, deliberately NOT in `types/`.
3
+ *
4
+ * Eleven modules across `agent-loop/`, `runtime/`, `task/` and `local-agent/` call it; the type it
5
+ * carries stays in `types/run-events.ts`, which is what `types/` is for. Sibling of
6
+ * `internal/diagnostics.ts`, which swallows sink failures on the same principle and for the same
7
+ * reason: observability degrades what you can SEE, never what the agent DOES.
8
+ *
9
+ * @internal
10
+ */
11
+ /**
12
+ * SE2 — emit a {@link RunEvent} to an optional sink, swallowing any sink error so
13
+ * observability can never break the run (fail-safe, mirrors the EventBus EC-2
14
+ * contract). No-op when the sink is absent.
15
+ */
16
+ export declare function emitRunEvent(sink: RunEventSink | undefined, event: RunEvent): void;
@@ -1,4 +1,5 @@
1
1
  /**
2
+ import type { ErrorCode } from "../../errors.js";
2
3
  * Helpers shared between provider HTTP error mappers (ADR D67).
3
4
  *
4
5
  * Extracted to dedupe identical logic in `anthropic.ts` and
@@ -7,4 +8,16 @@
7
8
  *
8
9
  * @internal
9
10
  */
10
- export {};
11
+ export declare function httpStatusToErrorCode(status: number): HttpStatusErrorCode;
12
+ /**
13
+ * Reads an error body that may arrive already parsed, as a JSON string, or as neither.
14
+ *
15
+ * This is TRANSPORT knowledge, not vendor knowledge: it describes how `fetch` surfaces a body, which
16
+ * is the same whichever provider sent it. It lived twice, character-for-character, in bedrock.ts and
17
+ * vertex.ts — identical once the return type name was substituted. They had not drifted, so the cost
18
+ * was only latent: a fix to one would have missed the other silently.
19
+ *
20
+ * Unparseable input yields `{}` rather than throwing, because a mapper's job is to classify a
21
+ * failure that already happened; failing to read the body is not a second failure to report.
22
+ */
23
+ export declare function parseErrorBody<T>(body: unknown): T;
@@ -9,9 +9,10 @@
9
9
  *
10
10
  * @public
11
11
  */
12
+ import { TheokitAgentError } from "../../errors.js";
12
13
  import type { EvalRun, EvalThresholdFailure, EvalThresholds } from "../../types/eval.js";
13
14
  /** Thrown by {@link assertEval} when a run misses one or more thresholds. */
14
- export declare class EvalThresholdError extends Error {
15
+ export declare class EvalThresholdError extends TheokitAgentError {
15
16
  readonly name = "EvalThresholdError";
16
17
  /** The eval's name (`EvalRun.name`). */
17
18
  readonly evalName: string;
@@ -1,3 +1,4 @@
1
+ import { TheokitAgentError } from "../../errors-base.js";
1
2
  /**
2
3
  * D213 — single-flight guard for `Eval.run`. Module-level `Set<string>`
3
4
  * tracks running names; `acquire` throws on collision; `release` is
@@ -5,7 +6,7 @@
5
6
  *
6
7
  * @internal
7
8
  */
8
- export declare class EvalAlreadyRunningError extends Error {
9
+ export declare class EvalAlreadyRunningError extends TheokitAgentError {
9
10
  readonly name = "EvalAlreadyRunningError";
10
11
  readonly evalName: string;
11
12
  constructor(evalName: string);
@@ -6,8 +6,11 @@
6
6
  * `const x = new Map()` produces TWO caches that cannot see each other. `Symbol.for` uses the global
7
7
  * symbol registry, which belongs to the realm and not the module, so every copy converges on one instance.
8
8
  *
9
- * It was copied verbatim into `providers/discovery.ts` and `providers/catalog-loader.ts`. That is
10
- * duplicated KNOWLEDGE, not a coincidence of shape: the two copies have to agree on the
11
- * mechanism, and one fixed without the other produces exactly the bug the function exists to avoid.
9
+ * It WAS copied verbatim into `providers/discovery.ts` and `providers/catalog-loader.ts`; both now
10
+ * import it, as does `providers/registry.ts`. That was duplicated KNOWLEDGE rather than a
11
+ * coincidence of shape the copies had to agree on the mechanism, and one fixed without the other
12
+ * reproduced exactly the bug this function exists to avoid. The paragraph is kept in the past tense
13
+ * because it is the REASON the helper exists, not a defect report: the previous wording described
14
+ * the duplication as live, long after it was removed.
12
15
  */
13
16
  export declare function globalSingleton<T>(key: string, create: () => T): T;