@theokit/sdk 5.15.1 → 5.15.2

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 (355) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/a2a/index.cjs +3 -3
  3. package/dist/a2a/index.js +1 -1
  4. package/dist/agent-D6WBBNGR.cjs +72 -0
  5. package/dist/{agent-CB27KF6O.cjs.map → agent-D6WBBNGR.cjs.map} +1 -1
  6. package/dist/agent-QRIFX2SY.js +63 -0
  7. package/dist/{agent-66U5QCPF.js.map → agent-QRIFX2SY.js.map} +1 -1
  8. package/dist/agent-session-store-2LQEPS4H.js +6 -0
  9. package/dist/{agent-session-store-22GKA7O4.js.map → agent-session-store-2LQEPS4H.js.map} +1 -1
  10. package/dist/agent-session-store-IOH6BREF.cjs +23 -0
  11. package/dist/{agent-session-store-WP6NGDVX.cjs.map → agent-session-store-IOH6BREF.cjs.map} +1 -1
  12. package/dist/auth/index.cjs +15 -15
  13. package/dist/auth/index.js +3 -3
  14. package/dist/{batch-N2XDYZED.js → batch-7IGV2OKA.js} +8 -8
  15. package/dist/{batch-N2XDYZED.js.map → batch-7IGV2OKA.js.map} +1 -1
  16. package/dist/{batch-VFR2MAUE.cjs → batch-FIWQZ3JD.cjs} +14 -14
  17. package/dist/{batch-VFR2MAUE.cjs.map → batch-FIWQZ3JD.cjs.map} +1 -1
  18. package/dist/{chunk-AT2PESXB.cjs → chunk-2UYAL4N7.cjs} +5 -5
  19. package/dist/chunk-2UYAL4N7.cjs.map +1 -0
  20. package/dist/{chunk-K2BQQ445.js → chunk-3GQYMKVJ.js} +3 -3
  21. package/dist/{chunk-K2BQQ445.js.map → chunk-3GQYMKVJ.js.map} +1 -1
  22. package/dist/{chunk-YSTXFWQE.cjs → chunk-3HL43XBD.cjs} +4 -4
  23. package/dist/{chunk-YSTXFWQE.cjs.map → chunk-3HL43XBD.cjs.map} +1 -1
  24. package/dist/{chunk-XESYJ4JC.js → chunk-3VX7JHJI.js} +7 -7
  25. package/dist/{chunk-XESYJ4JC.js.map → chunk-3VX7JHJI.js.map} +1 -1
  26. package/dist/{chunk-6XQLTQB6.cjs → chunk-3YCNBOX7.cjs} +3 -3
  27. package/dist/{chunk-6XQLTQB6.cjs.map → chunk-3YCNBOX7.cjs.map} +1 -1
  28. package/dist/{chunk-CHKV2L2Y.cjs → chunk-46YYJIHL.cjs} +30 -30
  29. package/dist/chunk-46YYJIHL.cjs.map +1 -0
  30. package/dist/{chunk-73IITAF7.js → chunk-4C37ELQL.js} +9 -9
  31. package/dist/{chunk-73IITAF7.js.map → chunk-4C37ELQL.js.map} +1 -1
  32. package/dist/{chunk-AGO5S5WD.js → chunk-4E4D6H77.js} +3 -3
  33. package/dist/{chunk-AGO5S5WD.js.map → chunk-4E4D6H77.js.map} +1 -1
  34. package/dist/{chunk-R35ZJAYT.cjs → chunk-4JF52NED.cjs} +12 -12
  35. package/dist/{chunk-R35ZJAYT.cjs.map → chunk-4JF52NED.cjs.map} +1 -1
  36. package/dist/{chunk-INVEGVGO.js → chunk-4TA47IK4.js} +8 -8
  37. package/dist/{chunk-INVEGVGO.js.map → chunk-4TA47IK4.js.map} +1 -1
  38. package/dist/{chunk-MLGETTYX.js → chunk-4YUIYSZO.js} +6 -6
  39. package/dist/{chunk-MLGETTYX.js.map → chunk-4YUIYSZO.js.map} +1 -1
  40. package/dist/{chunk-RZL2W4C3.js → chunk-5L7S2VOL.js} +5 -5
  41. package/dist/{chunk-RZL2W4C3.js.map → chunk-5L7S2VOL.js.map} +1 -1
  42. package/dist/{chunk-3WKWBYPO.cjs → chunk-6EHOJLJ3.cjs} +20 -20
  43. package/dist/chunk-6EHOJLJ3.cjs.map +1 -0
  44. package/dist/{chunk-XOU3CL7S.cjs → chunk-6HQFPX7N.cjs} +28 -28
  45. package/dist/chunk-6HQFPX7N.cjs.map +1 -0
  46. package/dist/{chunk-3E3VSMB6.cjs → chunk-6XT5LAZG.cjs} +58 -58
  47. package/dist/chunk-6XT5LAZG.cjs.map +1 -0
  48. package/dist/{chunk-R427EOZE.cjs → chunk-7EFT6N5C.cjs} +13 -13
  49. package/dist/{chunk-R427EOZE.cjs.map → chunk-7EFT6N5C.cjs.map} +1 -1
  50. package/dist/{chunk-L7V4DDIE.cjs → chunk-7VNFOGRD.cjs} +12 -12
  51. package/dist/chunk-7VNFOGRD.cjs.map +1 -0
  52. package/dist/{chunk-YKNBTHMD.js → chunk-AQ23NII7.js} +3 -3
  53. package/dist/{chunk-YKNBTHMD.js.map → chunk-AQ23NII7.js.map} +1 -1
  54. package/dist/{chunk-O2RCS3SJ.js → chunk-ATGSV4GS.js} +4 -4
  55. package/dist/{chunk-O2RCS3SJ.js.map → chunk-ATGSV4GS.js.map} +1 -1
  56. package/dist/{chunk-H7HD6RXO.cjs → chunk-AW72G4TC.cjs} +5 -5
  57. package/dist/{chunk-H7HD6RXO.cjs.map → chunk-AW72G4TC.cjs.map} +1 -1
  58. package/dist/{chunk-M4U24U6G.js → chunk-AZK3QM36.js} +5 -5
  59. package/dist/{chunk-M4U24U6G.js.map → chunk-AZK3QM36.js.map} +1 -1
  60. package/dist/{chunk-QK2ERTO3.js → chunk-BH6M2DGV.js} +4 -4
  61. package/dist/{chunk-QK2ERTO3.js.map → chunk-BH6M2DGV.js.map} +1 -1
  62. package/dist/{chunk-26UQG242.cjs → chunk-BTGYRM4J.cjs} +264 -264
  63. package/dist/chunk-BTGYRM4J.cjs.map +1 -0
  64. package/dist/{chunk-ZQWRUJHE.js → chunk-CG64VPPU.js} +50 -50
  65. package/dist/{chunk-ZQWRUJHE.js.map → chunk-CG64VPPU.js.map} +1 -1
  66. package/dist/{chunk-CBBT42VX.js → chunk-CMDM4VF6.js} +3 -3
  67. package/dist/{chunk-CBBT42VX.js.map → chunk-CMDM4VF6.js.map} +1 -1
  68. package/dist/{chunk-OLJOI4LK.js → chunk-CN732Z5C.js} +4 -4
  69. package/dist/{chunk-OLJOI4LK.js.map → chunk-CN732Z5C.js.map} +1 -1
  70. package/dist/{chunk-SETHRLQS.cjs → chunk-D3BL3EEB.cjs} +9 -9
  71. package/dist/chunk-D3BL3EEB.cjs.map +1 -0
  72. package/dist/{chunk-LCCT5ZXJ.js → chunk-DB5RYCXX.js} +13 -13
  73. package/dist/{chunk-LCCT5ZXJ.js.map → chunk-DB5RYCXX.js.map} +1 -1
  74. package/dist/{chunk-SV63WTA2.js → chunk-DBH2WA2U.js} +4 -4
  75. package/dist/{chunk-SV63WTA2.js.map → chunk-DBH2WA2U.js.map} +1 -1
  76. package/dist/{chunk-XE3CAY6Z.cjs → chunk-DEHPRORL.cjs} +4 -4
  77. package/dist/{chunk-XE3CAY6Z.cjs.map → chunk-DEHPRORL.cjs.map} +1 -1
  78. package/dist/{chunk-UKMBRMGT.js → chunk-DGO4LPLP.js} +4 -4
  79. package/dist/{chunk-UKMBRMGT.js.map → chunk-DGO4LPLP.js.map} +1 -1
  80. package/dist/{chunk-RS7YQR4X.cjs → chunk-EBX6XUN7.cjs} +7 -7
  81. package/dist/{chunk-RS7YQR4X.cjs.map → chunk-EBX6XUN7.cjs.map} +1 -1
  82. package/dist/chunk-EDIYR4VR.cjs +18 -0
  83. package/dist/{chunk-SPEN7RJU.cjs.map → chunk-EDIYR4VR.cjs.map} +1 -1
  84. package/dist/{chunk-QGDPMM3C.js → chunk-EF5IONLL.js} +5 -5
  85. package/dist/{chunk-QGDPMM3C.js.map → chunk-EF5IONLL.js.map} +1 -1
  86. package/dist/{chunk-MSW7LB2V.cjs → chunk-EOWIUDKG.cjs} +5 -5
  87. package/dist/{chunk-MSW7LB2V.cjs.map → chunk-EOWIUDKG.cjs.map} +1 -1
  88. package/dist/{chunk-L7JPXZ2C.cjs → chunk-ER3BF23R.cjs} +19 -19
  89. package/dist/{chunk-L7JPXZ2C.cjs.map → chunk-ER3BF23R.cjs.map} +1 -1
  90. package/dist/{chunk-BNEUB52I.cjs → chunk-ERBKPA2N.cjs} +4 -4
  91. package/dist/{chunk-BNEUB52I.cjs.map → chunk-ERBKPA2N.cjs.map} +1 -1
  92. package/dist/{chunk-4QCJAJAG.js → chunk-F54PXZIA.js} +5 -5
  93. package/dist/{chunk-4QCJAJAG.js.map → chunk-F54PXZIA.js.map} +1 -1
  94. package/dist/{chunk-2XWAYCFM.cjs → chunk-FBT2SF2S.cjs} +12 -12
  95. package/dist/{chunk-2XWAYCFM.cjs.map → chunk-FBT2SF2S.cjs.map} +1 -1
  96. package/dist/{chunk-AUH2EVWY.cjs → chunk-FZSPVIFK.cjs} +16 -16
  97. package/dist/chunk-FZSPVIFK.cjs.map +1 -0
  98. package/dist/{chunk-CYWOJA6B.js → chunk-GA27FFT5.js} +3 -3
  99. package/dist/{chunk-CYWOJA6B.js.map → chunk-GA27FFT5.js.map} +1 -1
  100. package/dist/{chunk-HWMGR3HA.js → chunk-GEQLHBJM.js} +6 -6
  101. package/dist/{chunk-HWMGR3HA.js.map → chunk-GEQLHBJM.js.map} +1 -1
  102. package/dist/{chunk-IJ7M6GOG.cjs → chunk-GKERJ52A.cjs} +4 -4
  103. package/dist/{chunk-IJ7M6GOG.cjs.map → chunk-GKERJ52A.cjs.map} +1 -1
  104. package/dist/{chunk-NEH3BPFD.cjs → chunk-HI5TJWQE.cjs} +19 -19
  105. package/dist/{chunk-NEH3BPFD.cjs.map → chunk-HI5TJWQE.cjs.map} +1 -1
  106. package/dist/{chunk-ZOFRNNZD.cjs → chunk-IZV72OEI.cjs} +11 -11
  107. package/dist/chunk-IZV72OEI.cjs.map +1 -0
  108. package/dist/{chunk-KU5O7WPK.js → chunk-JD3EKKKB.js} +4 -4
  109. package/dist/{chunk-KU5O7WPK.js.map → chunk-JD3EKKKB.js.map} +1 -1
  110. package/dist/{chunk-DFBWYETS.js → chunk-JRP2W2DR.js} +3 -3
  111. package/dist/{chunk-DFBWYETS.js.map → chunk-JRP2W2DR.js.map} +1 -1
  112. package/dist/{chunk-26GI3OYA.js → chunk-JRQJMZKY.js} +13 -13
  113. package/dist/{chunk-26GI3OYA.js.map → chunk-JRQJMZKY.js.map} +1 -1
  114. package/dist/{chunk-YQ3XC6C2.cjs → chunk-JVH3NNJ3.cjs} +13 -13
  115. package/dist/chunk-JVH3NNJ3.cjs.map +1 -0
  116. package/dist/{chunk-VWYFGE27.cjs → chunk-KC2HKUPT.cjs} +56 -56
  117. package/dist/chunk-KC2HKUPT.cjs.map +1 -0
  118. package/dist/{chunk-PDOXYXWX.cjs → chunk-KDJTECE6.cjs} +4 -4
  119. package/dist/{chunk-PDOXYXWX.cjs.map → chunk-KDJTECE6.cjs.map} +1 -1
  120. package/dist/{chunk-QD6B6W6I.js → chunk-L2KC2G7H.js} +5 -5
  121. package/dist/{chunk-QD6B6W6I.js.map → chunk-L2KC2G7H.js.map} +1 -1
  122. package/dist/{chunk-3BBTHFGJ.js → chunk-L5B7EWWH.js} +5 -5
  123. package/dist/{chunk-3BBTHFGJ.js.map → chunk-L5B7EWWH.js.map} +1 -1
  124. package/dist/{chunk-X7CE7Y5W.js → chunk-LG4JCJEI.js} +11 -11
  125. package/dist/{chunk-X7CE7Y5W.js.map → chunk-LG4JCJEI.js.map} +1 -1
  126. package/dist/{chunk-2HXTNVLM.js → chunk-LSURFRJA.js} +6 -6
  127. package/dist/{chunk-2HXTNVLM.js.map → chunk-LSURFRJA.js.map} +1 -1
  128. package/dist/{chunk-55LLQFHW.cjs → chunk-MJGY3E3C.cjs} +4 -4
  129. package/dist/{chunk-55LLQFHW.cjs.map → chunk-MJGY3E3C.cjs.map} +1 -1
  130. package/dist/{chunk-EQ5IDL6W.cjs → chunk-MKS5FFH5.cjs} +15 -15
  131. package/dist/chunk-MKS5FFH5.cjs.map +1 -0
  132. package/dist/{chunk-WM646HEN.js → chunk-MTNCJ7MQ.js} +6 -6
  133. package/dist/{chunk-WM646HEN.js.map → chunk-MTNCJ7MQ.js.map} +1 -1
  134. package/dist/{chunk-SA6K24NB.cjs → chunk-MXJJMP4U.cjs} +7 -7
  135. package/dist/chunk-MXJJMP4U.cjs.map +1 -0
  136. package/dist/{chunk-FTXY4D44.cjs → chunk-N2ORTDSO.cjs} +20 -20
  137. package/dist/chunk-N2ORTDSO.cjs.map +1 -0
  138. package/dist/{chunk-7YUPSBDV.cjs → chunk-NDXZXGVP.cjs} +6 -6
  139. package/dist/{chunk-7YUPSBDV.cjs.map → chunk-NDXZXGVP.cjs.map} +1 -1
  140. package/dist/{chunk-3UMPP553.cjs → chunk-NMRNE6QX.cjs} +11 -11
  141. package/dist/{chunk-3UMPP553.cjs.map → chunk-NMRNE6QX.cjs.map} +1 -1
  142. package/dist/{chunk-PKRPV3R7.js → chunk-NO6AG22P.js} +6 -6
  143. package/dist/{chunk-PKRPV3R7.js.map → chunk-NO6AG22P.js.map} +1 -1
  144. package/dist/{chunk-NK5EOTDY.js → chunk-OIOSY5G6.js} +3 -3
  145. package/dist/{chunk-NK5EOTDY.js.map → chunk-OIOSY5G6.js.map} +1 -1
  146. package/dist/{chunk-RGVMJU57.js → chunk-P7B64NFK.js} +8 -8
  147. package/dist/{chunk-RGVMJU57.js.map → chunk-P7B64NFK.js.map} +1 -1
  148. package/dist/{chunk-TDED5XES.js → chunk-PCPYTBVV.js} +6 -6
  149. package/dist/chunk-PCPYTBVV.js.map +1 -0
  150. package/dist/{chunk-FBIDOOJM.cjs → chunk-PDFSLD5P.cjs} +6 -6
  151. package/dist/{chunk-FBIDOOJM.cjs.map → chunk-PDFSLD5P.cjs.map} +1 -1
  152. package/dist/{chunk-YMVTUV5K.js → chunk-PISZRLES.js} +5 -5
  153. package/dist/{chunk-YMVTUV5K.js.map → chunk-PISZRLES.js.map} +1 -1
  154. package/dist/{chunk-BUUUWQMB.cjs → chunk-PNL63WDP.cjs} +4 -4
  155. package/dist/{chunk-BUUUWQMB.cjs.map → chunk-PNL63WDP.cjs.map} +1 -1
  156. package/dist/{chunk-VNRNZ3WI.js → chunk-PSMWZYW6.js} +4 -4
  157. package/dist/{chunk-VNRNZ3WI.js.map → chunk-PSMWZYW6.js.map} +1 -1
  158. package/dist/{chunk-5645PMVU.cjs → chunk-PXYINWBC.cjs} +20 -20
  159. package/dist/chunk-PXYINWBC.cjs.map +1 -0
  160. package/dist/{chunk-RTDVSHJR.cjs → chunk-Q4UOCMAO.cjs} +5 -5
  161. package/dist/{chunk-RTDVSHJR.cjs.map → chunk-Q4UOCMAO.cjs.map} +1 -1
  162. package/dist/{chunk-5IRDK5BC.js → chunk-QH6MWGOA.js} +4 -4
  163. package/dist/{chunk-5IRDK5BC.js.map → chunk-QH6MWGOA.js.map} +1 -1
  164. package/dist/{chunk-3LMVJTNJ.js → chunk-QPUKIZOT.js} +3 -3
  165. package/dist/{chunk-3LMVJTNJ.js.map → chunk-QPUKIZOT.js.map} +1 -1
  166. package/dist/{chunk-SWALPLFQ.cjs → chunk-RTCO3USA.cjs} +16 -16
  167. package/dist/chunk-RTCO3USA.cjs.map +1 -0
  168. package/dist/{chunk-SAGRF4IB.js → chunk-S2CMEJ5F.js} +3 -3
  169. package/dist/{chunk-SAGRF4IB.js.map → chunk-S2CMEJ5F.js.map} +1 -1
  170. package/dist/{chunk-VZGE7NAI.js → chunk-S5ERB3CH.js} +3 -3
  171. package/dist/{chunk-VZGE7NAI.js.map → chunk-S5ERB3CH.js.map} +1 -1
  172. package/dist/{chunk-XJ3WU5CZ.js → chunk-S7IZEVXX.js} +6 -6
  173. package/dist/{chunk-XJ3WU5CZ.js.map → chunk-S7IZEVXX.js.map} +1 -1
  174. package/dist/{chunk-Q7UG242V.js → chunk-TIYQDJFK.js} +3 -3
  175. package/dist/{chunk-Q7UG242V.js.map → chunk-TIYQDJFK.js.map} +1 -1
  176. package/dist/{chunk-POBZXULR.cjs → chunk-TTNJOM5W.cjs} +16 -16
  177. package/dist/{chunk-POBZXULR.cjs.map → chunk-TTNJOM5W.cjs.map} +1 -1
  178. package/dist/{chunk-VCQ37TC5.js → chunk-TTXRNCXY.js} +3 -3
  179. package/dist/{chunk-VCQ37TC5.js.map → chunk-TTXRNCXY.js.map} +1 -1
  180. package/dist/{chunk-3HA7N2BB.cjs → chunk-TYKBAKAS.cjs} +5 -5
  181. package/dist/{chunk-3HA7N2BB.cjs.map → chunk-TYKBAKAS.cjs.map} +1 -1
  182. package/dist/{chunk-A77UMVMD.cjs → chunk-UMCCYXFZ.cjs} +8 -8
  183. package/dist/{chunk-A77UMVMD.cjs.map → chunk-UMCCYXFZ.cjs.map} +1 -1
  184. package/dist/{chunk-3GTN4HOO.js → chunk-UNP4NCMZ.js} +3 -3
  185. package/dist/{chunk-3GTN4HOO.js.map → chunk-UNP4NCMZ.js.map} +1 -1
  186. package/dist/{chunk-BPL5CVZ5.js → chunk-VFT63FJF.js} +3 -3
  187. package/dist/{chunk-BPL5CVZ5.js.map → chunk-VFT63FJF.js.map} +1 -1
  188. package/dist/{chunk-3KIUY67P.cjs → chunk-VHY6NVCJ.cjs} +30 -30
  189. package/dist/chunk-VHY6NVCJ.cjs.map +1 -0
  190. package/dist/{chunk-TRPRTZEH.cjs → chunk-VT3NWHFH.cjs} +6 -6
  191. package/dist/{chunk-TRPRTZEH.cjs.map → chunk-VT3NWHFH.cjs.map} +1 -1
  192. package/dist/{chunk-FJWQP6EE.js → chunk-WJ6OGKAO.js} +3 -3
  193. package/dist/{chunk-FJWQP6EE.js.map → chunk-WJ6OGKAO.js.map} +1 -1
  194. package/dist/{chunk-FLDHYF5C.cjs → chunk-X2XLSE2N.cjs} +9 -9
  195. package/dist/chunk-X2XLSE2N.cjs.map +1 -0
  196. package/dist/{chunk-UDAKAE4Z.cjs → chunk-X4ZYEZPD.cjs} +12 -12
  197. package/dist/chunk-X4ZYEZPD.cjs.map +1 -0
  198. package/dist/{chunk-QG4SXZ2A.cjs → chunk-XR6O6G3B.cjs} +27 -27
  199. package/dist/chunk-XR6O6G3B.cjs.map +1 -0
  200. package/dist/{chunk-BWYC7RZG.cjs → chunk-XTQWTVVI.cjs} +11 -11
  201. package/dist/chunk-XTQWTVVI.cjs.map +1 -0
  202. package/dist/{chunk-MLJDW2YK.js → chunk-YSGS57DA.js} +4 -4
  203. package/dist/{chunk-MLJDW2YK.js.map → chunk-YSGS57DA.js.map} +1 -1
  204. package/dist/{chunk-KCM3RMKR.js → chunk-YUQNHLKN.js} +8 -8
  205. package/dist/{chunk-KCM3RMKR.js.map → chunk-YUQNHLKN.js.map} +1 -1
  206. package/dist/{chunk-P7QYG4RZ.cjs → chunk-Z5MB2HAN.cjs} +8 -8
  207. package/dist/{chunk-P7QYG4RZ.cjs.map → chunk-Z5MB2HAN.cjs.map} +1 -1
  208. package/dist/{chunk-HJ2LV464.js → chunk-ZUWVO442.js} +4 -4
  209. package/dist/{chunk-HJ2LV464.js.map → chunk-ZUWVO442.js.map} +1 -1
  210. package/dist/{compact-session-CHBJOYWP.cjs → compact-session-5DWFHMW4.cjs} +21 -21
  211. package/dist/{compact-session-CHBJOYWP.cjs.map → compact-session-5DWFHMW4.cjs.map} +1 -1
  212. package/dist/{compact-session-F3J3FMEU.js → compact-session-AL65PEMX.js} +12 -12
  213. package/dist/{compact-session-F3J3FMEU.js.map → compact-session-AL65PEMX.js.map} +1 -1
  214. package/dist/context/index.cjs +11 -11
  215. package/dist/context/index.js +6 -6
  216. package/dist/context-4XSD2V3G.js +7 -0
  217. package/dist/{context-7EBZST3L.js.map → context-4XSD2V3G.js.map} +1 -1
  218. package/dist/context-ZX2VBGSX.cjs +24 -0
  219. package/dist/{context-4RSI3AXT.cjs.map → context-ZX2VBGSX.cjs.map} +1 -1
  220. package/dist/cron.cjs +40 -40
  221. package/dist/cron.js +39 -39
  222. package/dist/eval.cjs +51 -51
  223. package/dist/eval.cjs.map +1 -1
  224. package/dist/eval.js +41 -41
  225. package/dist/{executor-THUXNAFR.js → executor-ZHIUSHRV.js} +7 -7
  226. package/dist/{executor-THUXNAFR.js.map → executor-ZHIUSHRV.js.map} +1 -1
  227. package/dist/{executor-5QL5AXIZ.cjs → executor-ZTLJZ5LK.cjs} +24 -24
  228. package/dist/{executor-5QL5AXIZ.cjs.map → executor-ZTLJZ5LK.cjs.map} +1 -1
  229. package/dist/filesystem/index.cjs +14 -14
  230. package/dist/filesystem/index.cjs.map +1 -1
  231. package/dist/filesystem/index.js +4 -4
  232. package/dist/{fork-agent-S2EPIML7.js → fork-agent-BHVTALT5.js} +3 -3
  233. package/dist/{fork-agent-S2EPIML7.js.map → fork-agent-BHVTALT5.js.map} +1 -1
  234. package/dist/{fork-agent-WAEQI2DL.cjs → fork-agent-DCOPPXM2.cjs} +4 -4
  235. package/dist/{fork-agent-WAEQI2DL.cjs.map → fork-agent-DCOPPXM2.cjs.map} +1 -1
  236. package/dist/fs-session-store-EZ32TFGB.js +11 -0
  237. package/dist/{fs-session-store-MYQEVUFL.js.map → fs-session-store-EZ32TFGB.js.map} +1 -1
  238. package/dist/fs-session-store-G664LDDN.cjs +20 -0
  239. package/dist/{fs-session-store-CYNTEPJZ.cjs.map → fs-session-store-G664LDDN.cjs.map} +1 -1
  240. package/dist/generate-object-JFZTK567.cjs +20 -0
  241. package/dist/{generate-object-A5F576IT.cjs.map → generate-object-JFZTK567.cjs.map} +1 -1
  242. package/dist/{generate-object-TBDOBBYW.js → generate-object-RPBXY2U3.js} +4 -4
  243. package/dist/{generate-object-TBDOBBYW.js.map → generate-object-RPBXY2U3.js.map} +1 -1
  244. package/dist/index-manager-2MJEEN2O.js +18 -0
  245. package/dist/{index-manager-NF2WRLOU.js.map → index-manager-2MJEEN2O.js.map} +1 -1
  246. package/dist/index-manager-CT6MMG7S.cjs +27 -0
  247. package/dist/{index-manager-2KH75BRW.cjs.map → index-manager-CT6MMG7S.cjs.map} +1 -1
  248. package/dist/index.cjs +130 -130
  249. package/dist/index.cjs.map +1 -1
  250. package/dist/index.js +56 -56
  251. package/dist/{inject-session-LC2TROHM.js → inject-session-E2SZ4A35.js} +6 -6
  252. package/dist/{inject-session-LC2TROHM.js.map → inject-session-E2SZ4A35.js.map} +1 -1
  253. package/dist/{inject-session-T4RXANG3.cjs → inject-session-QZULG65O.cjs} +8 -8
  254. package/dist/{inject-session-T4RXANG3.cjs.map → inject-session-QZULG65O.cjs.map} +1 -1
  255. package/dist/internal/memory/adapters/index.cjs +4 -4
  256. package/dist/internal/memory/adapters/index.js +3 -3
  257. package/dist/internal/memory/storage/index.cjs +45 -45
  258. package/dist/internal/memory/storage/index.js +9 -9
  259. package/dist/internal/persistence/index.cjs +22 -22
  260. package/dist/internal/persistence/index.js +6 -6
  261. package/dist/internal/security/index.cjs +9 -9
  262. package/dist/internal/security/index.js +2 -2
  263. package/dist/mcp-auth.cjs +8 -8
  264. package/dist/mcp-auth.js +3 -3
  265. package/dist/models.cjs +30 -30
  266. package/dist/models.cjs.map +1 -1
  267. package/dist/models.js +8 -8
  268. package/dist/{oauth-transaction-store-U34YLEGP.js → oauth-transaction-store-QQBWGNE2.js} +3 -3
  269. package/dist/{oauth-transaction-store-U34YLEGP.js.map → oauth-transaction-store-QQBWGNE2.js.map} +1 -1
  270. package/dist/{oauth-transaction-store-OMX436YB.cjs → oauth-transaction-store-YF7WOA6B.cjs} +10 -10
  271. package/dist/{oauth-transaction-store-OMX436YB.cjs.map → oauth-transaction-store-YF7WOA6B.cjs.map} +1 -1
  272. package/dist/path-safety.cjs +9 -9
  273. package/dist/path-safety.js +2 -2
  274. package/dist/persistence.cjs +41 -41
  275. package/dist/persistence.cjs.map +1 -1
  276. package/dist/persistence.js +11 -11
  277. package/dist/project.cjs +7 -7
  278. package/dist/project.cjs.map +1 -1
  279. package/dist/project.js +4 -4
  280. package/dist/providers.cjs +6 -6
  281. package/dist/providers.js +4 -4
  282. package/dist/{registry-5TDAF7RK.js → registry-DOYBR237.js} +6 -6
  283. package/dist/{registry-5TDAF7RK.js.map → registry-DOYBR237.js.map} +1 -1
  284. package/dist/{registry-W7TSCLQO.cjs → registry-PB7JFVUJ.cjs} +14 -14
  285. package/dist/{registry-W7TSCLQO.cjs.map → registry-PB7JFVUJ.cjs.map} +1 -1
  286. package/dist/sandbox/index.cjs +41 -41
  287. package/dist/sandbox/index.cjs.map +1 -1
  288. package/dist/sandbox/index.js +7 -7
  289. package/dist/sanitize/index.cjs +2 -2
  290. package/dist/sanitize/index.js +1 -1
  291. package/dist/server/auth/index.cjs +9 -9
  292. package/dist/server/auth/index.cjs.map +1 -1
  293. package/dist/server/auth/index.js +4 -4
  294. package/dist/{session-transcript-7TZ6HXSX.cjs → session-transcript-EBVGLZ6B.cjs} +17 -17
  295. package/dist/{session-transcript-7TZ6HXSX.cjs.map → session-transcript-EBVGLZ6B.cjs.map} +1 -1
  296. package/dist/{session-transcript-BSHZYYY6.js → session-transcript-GU2VE7JX.js} +4 -4
  297. package/dist/{session-transcript-BSHZYYY6.js.map → session-transcript-GU2VE7JX.js.map} +1 -1
  298. package/dist/skills.cjs +7 -7
  299. package/dist/skills.js +4 -4
  300. package/dist/stream-object-3AU7QDHT.js +7 -0
  301. package/dist/{stream-object-EKM4WGTI.js.map → stream-object-3AU7QDHT.js.map} +1 -1
  302. package/dist/stream-object-SLGR2KIA.cjs +20 -0
  303. package/dist/{stream-object-AS4YYM4B.cjs.map → stream-object-SLGR2KIA.cjs.map} +1 -1
  304. package/dist/subagents-loader-4PQS7ULK.cjs +16 -0
  305. package/dist/{subagents-loader-KLWF4QPD.cjs.map → subagents-loader-4PQS7ULK.cjs.map} +1 -1
  306. package/dist/subagents-loader-CPFVLWLH.js +7 -0
  307. package/dist/{subagents-loader-SXETS2F2.js.map → subagents-loader-CPFVLWLH.js.map} +1 -1
  308. package/dist/subagents-loader.cjs +4 -4
  309. package/dist/subagents-loader.js +3 -3
  310. package/dist/subagents.cjs +2 -2
  311. package/dist/subagents.js +1 -1
  312. package/dist/task-store.cjs +5 -5
  313. package/dist/task-store.js +2 -2
  314. package/dist/workflow.cjs +28 -28
  315. package/dist/workflow.js +5 -5
  316. package/package.json +1 -1
  317. package/dist/agent-66U5QCPF.js +0 -63
  318. package/dist/agent-CB27KF6O.cjs +0 -72
  319. package/dist/agent-session-store-22GKA7O4.js +0 -6
  320. package/dist/agent-session-store-WP6NGDVX.cjs +0 -23
  321. package/dist/chunk-26UQG242.cjs.map +0 -1
  322. package/dist/chunk-3E3VSMB6.cjs.map +0 -1
  323. package/dist/chunk-3KIUY67P.cjs.map +0 -1
  324. package/dist/chunk-3WKWBYPO.cjs.map +0 -1
  325. package/dist/chunk-5645PMVU.cjs.map +0 -1
  326. package/dist/chunk-AT2PESXB.cjs.map +0 -1
  327. package/dist/chunk-AUH2EVWY.cjs.map +0 -1
  328. package/dist/chunk-BWYC7RZG.cjs.map +0 -1
  329. package/dist/chunk-CHKV2L2Y.cjs.map +0 -1
  330. package/dist/chunk-EQ5IDL6W.cjs.map +0 -1
  331. package/dist/chunk-FLDHYF5C.cjs.map +0 -1
  332. package/dist/chunk-FTXY4D44.cjs.map +0 -1
  333. package/dist/chunk-L7V4DDIE.cjs.map +0 -1
  334. package/dist/chunk-QG4SXZ2A.cjs.map +0 -1
  335. package/dist/chunk-SA6K24NB.cjs.map +0 -1
  336. package/dist/chunk-SETHRLQS.cjs.map +0 -1
  337. package/dist/chunk-SPEN7RJU.cjs +0 -18
  338. package/dist/chunk-SWALPLFQ.cjs.map +0 -1
  339. package/dist/chunk-TDED5XES.js.map +0 -1
  340. package/dist/chunk-UDAKAE4Z.cjs.map +0 -1
  341. package/dist/chunk-VWYFGE27.cjs.map +0 -1
  342. package/dist/chunk-XOU3CL7S.cjs.map +0 -1
  343. package/dist/chunk-YQ3XC6C2.cjs.map +0 -1
  344. package/dist/chunk-ZOFRNNZD.cjs.map +0 -1
  345. package/dist/context-4RSI3AXT.cjs +0 -24
  346. package/dist/context-7EBZST3L.js +0 -7
  347. package/dist/fs-session-store-CYNTEPJZ.cjs +0 -20
  348. package/dist/fs-session-store-MYQEVUFL.js +0 -11
  349. package/dist/generate-object-A5F576IT.cjs +0 -20
  350. package/dist/index-manager-2KH75BRW.cjs +0 -27
  351. package/dist/index-manager-NF2WRLOU.js +0 -18
  352. package/dist/stream-object-AS4YYM4B.cjs +0 -20
  353. package/dist/stream-object-EKM4WGTI.js +0 -7
  354. package/dist/subagents-loader-KLWF4QPD.cjs +0 -16
  355. package/dist/subagents-loader-SXETS2F2.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.15.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#961](https://github.com/usetheokit/theokit-sdk/pull/961) [`42ecdab`](https://github.com/usetheokit/theokit-sdk/commit/42ecdab65a78d1a5da26402fede82e3e252acd6c) Thanks [@aifactory-paulohenriquevn](https://github.com/apps/aifactory-paulohenriquevn)! - packaging: keep the `node:` scheme on builtin imports in `dist` (`node:readline/promises`), so esbuild bundles resolve it as a builtin.
8
+
3
9
  ## 5.15.1
4
10
 
5
11
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkH7HD6RXO_cjs = require('../chunk-H7HD6RXO.cjs');
3
+ var chunkAW72G4TC_cjs = require('../chunk-AW72G4TC.cjs');
4
4
  require('../chunk-NINIJCHU.cjs');
5
5
  var chunkCEGU5AVD_cjs = require('../chunk-CEGU5AVD.cjs');
6
6
  var chunkRNXXYF22_cjs = require('../chunk-RNXXYF22.cjs');
@@ -124,11 +124,11 @@ var MessageBus = class {
124
124
 
125
125
  Object.defineProperty(exports, "MaxDelegationDepthError", {
126
126
  enumerable: true,
127
- get: function () { return chunkH7HD6RXO_cjs.MaxDelegationDepthError; }
127
+ get: function () { return chunkAW72G4TC_cjs.MaxDelegationDepthError; }
128
128
  });
129
129
  Object.defineProperty(exports, "SubAgent", {
130
130
  enumerable: true,
131
- get: function () { return chunkH7HD6RXO_cjs.SubAgent; }
131
+ get: function () { return chunkAW72G4TC_cjs.SubAgent; }
132
132
  });
133
133
  exports.A2APeerNotRegisteredError = A2APeerNotRegisteredError;
134
134
  exports.A2ARequestTimeoutError = A2ARequestTimeoutError;
package/dist/a2a/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { MaxDelegationDepthError, SubAgent } from '../chunk-VZGE7NAI.js';
1
+ export { MaxDelegationDepthError, SubAgent } from '../chunk-S5ERB3CH.js';
2
2
  import '../chunk-6X6ID4MO.js';
3
3
  import { TheokitAgentError } from '../chunk-TNFOU6SB.js';
4
4
  import { diag } from '../chunk-3OY6H3I7.js';
@@ -0,0 +1,72 @@
1
+ 'use strict';
2
+
3
+ var chunkBTGYRM4J_cjs = require('./chunk-BTGYRM4J.cjs');
4
+ require('./chunk-ER3BF23R.cjs');
5
+ require('./chunk-PDFSLD5P.cjs');
6
+ require('./chunk-PNL63WDP.cjs');
7
+ require('./chunk-HI5TJWQE.cjs');
8
+ require('./chunk-NDXZXGVP.cjs');
9
+ require('./chunk-BV2MWEMV.cjs');
10
+ require('./chunk-DEHPRORL.cjs');
11
+ require('./chunk-GHX4P3V2.cjs');
12
+ require('./chunk-EBX6XUN7.cjs');
13
+ require('./chunk-KC2HKUPT.cjs');
14
+ require('./chunk-N2ORTDSO.cjs');
15
+ require('./chunk-6XT5LAZG.cjs');
16
+ require('./chunk-MJGY3E3C.cjs');
17
+ require('./chunk-YJNYDJ2T.cjs');
18
+ require('./chunk-3F53FLQ7.cjs');
19
+ require('./chunk-QOGNZMHD.cjs');
20
+ require('./chunk-EOWIUDKG.cjs');
21
+ require('./chunk-2ZPEDVLM.cjs');
22
+ require('./chunk-XR6O6G3B.cjs');
23
+ require('./chunk-X4ZYEZPD.cjs');
24
+ require('./chunk-KRD3GQAA.cjs');
25
+ require('./chunk-6HQFPX7N.cjs');
26
+ require('./chunk-TYKBAKAS.cjs');
27
+ require('./chunk-MUUQ2WFJ.cjs');
28
+ require('./chunk-AA27GEYS.cjs');
29
+ require('./chunk-3HL43XBD.cjs');
30
+ require('./chunk-FRITRLZQ.cjs');
31
+ require('./chunk-AW72G4TC.cjs');
32
+ require('./chunk-NINIJCHU.cjs');
33
+ require('./chunk-NMRNE6QX.cjs');
34
+ require('./chunk-RTCO3USA.cjs');
35
+ require('./chunk-GKERJ52A.cjs');
36
+ require('./chunk-VHY6NVCJ.cjs');
37
+ require('./chunk-MXJJMP4U.cjs');
38
+ require('./chunk-27V5I2WW.cjs');
39
+ require('./chunk-FLDMPVUC.cjs');
40
+ require('./chunk-MKS5FFH5.cjs');
41
+ require('./chunk-6EHOJLJ3.cjs');
42
+ require('./chunk-A4RAL2ER.cjs');
43
+ require('./chunk-2UYAL4N7.cjs');
44
+ require('./chunk-TTNJOM5W.cjs');
45
+ require('./chunk-MHUOVS5I.cjs');
46
+ require('./chunk-U3DW3WDE.cjs');
47
+ require('./chunk-XTQWTVVI.cjs');
48
+ require('./chunk-IZV72OEI.cjs');
49
+ require('./chunk-FZSPVIFK.cjs');
50
+ require('./chunk-JVH3NNJ3.cjs');
51
+ require('./chunk-3YCNBOX7.cjs');
52
+ require('./chunk-KX5QXLBS.cjs');
53
+ require('./chunk-Q4UOCMAO.cjs');
54
+ require('./chunk-3EE6LVWT.cjs');
55
+ require('./chunk-EDIYR4VR.cjs');
56
+ require('./chunk-Z5MB2HAN.cjs');
57
+ require('./chunk-NVXXWAU7.cjs');
58
+ require('./chunk-UMCCYXFZ.cjs');
59
+ require('./chunk-PXYINWBC.cjs');
60
+ require('./chunk-IOFMRS6T.cjs');
61
+ require('./chunk-EHD25JBZ.cjs');
62
+ require('./chunk-CEGU5AVD.cjs');
63
+ require('./chunk-RNXXYF22.cjs');
64
+
65
+
66
+
67
+ Object.defineProperty(exports, "Agent", {
68
+ enumerable: true,
69
+ get: function () { return chunkBTGYRM4J_cjs.Agent; }
70
+ });
71
+ //# sourceMappingURL=agent-D6WBBNGR.cjs.map
72
+ //# sourceMappingURL=agent-D6WBBNGR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-CB27KF6O.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-D6WBBNGR.cjs"}
@@ -0,0 +1,63 @@
1
+ export { Agent } from './chunk-CG64VPPU.js';
2
+ import './chunk-GEQLHBJM.js';
3
+ import './chunk-PSMWZYW6.js';
4
+ import './chunk-3GQYMKVJ.js';
5
+ import './chunk-L5B7EWWH.js';
6
+ import './chunk-ZUWVO442.js';
7
+ import './chunk-2SFBB54R.js';
8
+ import './chunk-TTXRNCXY.js';
9
+ import './chunk-H73MEMQB.js';
10
+ import './chunk-BH6M2DGV.js';
11
+ import './chunk-DB5RYCXX.js';
12
+ import './chunk-P7B64NFK.js';
13
+ import './chunk-JRQJMZKY.js';
14
+ import './chunk-OIOSY5G6.js';
15
+ import './chunk-2XC6KDJM.js';
16
+ import './chunk-7ACS6P5Z.js';
17
+ import './chunk-24MGQDK3.js';
18
+ import './chunk-4E4D6H77.js';
19
+ import './chunk-HKCKOAIO.js';
20
+ import './chunk-YUQNHLKN.js';
21
+ import './chunk-S7IZEVXX.js';
22
+ import './chunk-KVNWIAO4.js';
23
+ import './chunk-LG4JCJEI.js';
24
+ import './chunk-CN732Z5C.js';
25
+ import './chunk-FD2UT76F.js';
26
+ import './chunk-7I5Z3UBJ.js';
27
+ import './chunk-WJ6OGKAO.js';
28
+ import './chunk-NAF4L3T6.js';
29
+ import './chunk-S5ERB3CH.js';
30
+ import './chunk-6X6ID4MO.js';
31
+ import './chunk-LSURFRJA.js';
32
+ import './chunk-F54PXZIA.js';
33
+ import './chunk-S2CMEJ5F.js';
34
+ import './chunk-NO6AG22P.js';
35
+ import './chunk-DGO4LPLP.js';
36
+ import './chunk-ORLTGPOS.js';
37
+ import './chunk-AHKS3DKI.js';
38
+ import './chunk-QH6MWGOA.js';
39
+ import './chunk-3VX7JHJI.js';
40
+ import './chunk-WE22OXQA.js';
41
+ import './chunk-YSGS57DA.js';
42
+ import './chunk-JD3EKKKB.js';
43
+ import './chunk-FGGVSHDW.js';
44
+ import './chunk-PPU2D4FZ.js';
45
+ import './chunk-4YUIYSZO.js';
46
+ import './chunk-AZK3QM36.js';
47
+ import './chunk-MTNCJ7MQ.js';
48
+ import './chunk-PISZRLES.js';
49
+ import './chunk-TIYQDJFK.js';
50
+ import './chunk-SZQFCHU6.js';
51
+ import './chunk-CMDM4VF6.js';
52
+ import './chunk-R7WIIPUR.js';
53
+ import './chunk-AQ23NII7.js';
54
+ import './chunk-5L7S2VOL.js';
55
+ import './chunk-AGACYRJ2.js';
56
+ import './chunk-UNP4NCMZ.js';
57
+ import './chunk-L2KC2G7H.js';
58
+ import './chunk-5IUDICRK.js';
59
+ import './chunk-Q7GYMXVC.js';
60
+ import './chunk-TNFOU6SB.js';
61
+ import './chunk-3OY6H3I7.js';
62
+ //# sourceMappingURL=agent-QRIFX2SY.js.map
63
+ //# sourceMappingURL=agent-QRIFX2SY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-66U5QCPF.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-QRIFX2SY.js"}
@@ -0,0 +1,6 @@
1
+ export { appendCompactBoundaryRecord, persistTurn, readSessionMessages } from './chunk-4E4D6H77.js';
2
+ import './chunk-3VX7JHJI.js';
3
+ import './chunk-AZK3QM36.js';
4
+ import './chunk-3OY6H3I7.js';
5
+ //# sourceMappingURL=agent-session-store-2LQEPS4H.js.map
6
+ //# sourceMappingURL=agent-session-store-2LQEPS4H.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-22GKA7O4.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-2LQEPS4H.js"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var chunkEOWIUDKG_cjs = require('./chunk-EOWIUDKG.cjs');
4
+ require('./chunk-6EHOJLJ3.cjs');
5
+ require('./chunk-IZV72OEI.cjs');
6
+ require('./chunk-RNXXYF22.cjs');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, "appendCompactBoundaryRecord", {
11
+ enumerable: true,
12
+ get: function () { return chunkEOWIUDKG_cjs.appendCompactBoundaryRecord; }
13
+ });
14
+ Object.defineProperty(exports, "persistTurn", {
15
+ enumerable: true,
16
+ get: function () { return chunkEOWIUDKG_cjs.persistTurn; }
17
+ });
18
+ Object.defineProperty(exports, "readSessionMessages", {
19
+ enumerable: true,
20
+ get: function () { return chunkEOWIUDKG_cjs.readSessionMessages; }
21
+ });
22
+ //# sourceMappingURL=agent-session-store-IOH6BREF.cjs.map
23
+ //# sourceMappingURL=agent-session-store-IOH6BREF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-WP6NGDVX.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-IOH6BREF.cjs"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFRITRLZQ_cjs = require('../chunk-FRITRLZQ.cjs');
4
- var chunkA77UMVMD_cjs = require('../chunk-A77UMVMD.cjs');
5
- var chunk5645PMVU_cjs = require('../chunk-5645PMVU.cjs');
4
+ var chunkUMCCYXFZ_cjs = require('../chunk-UMCCYXFZ.cjs');
5
+ var chunkPXYINWBC_cjs = require('../chunk-PXYINWBC.cjs');
6
6
  var chunkIOFMRS6T_cjs = require('../chunk-IOFMRS6T.cjs');
7
7
  require('../chunk-EHD25JBZ.cjs');
8
8
  require('../chunk-CEGU5AVD.cjs');
@@ -203,7 +203,7 @@ async function openaiDeviceLogin(config, deps, hooks) {
203
203
  "device poll returned no authorization_code"
204
204
  );
205
205
  }
206
- const tokens = await chunkA77UMVMD_cjs.exchangeCode(
206
+ const tokens = await chunkUMCCYXFZ_cjs.exchangeCode(
207
207
  config,
208
208
  { code: data.authorization_code, verifier: data.code_verifier },
209
209
  deps
@@ -251,51 +251,51 @@ Object.defineProperty(exports, "providerFromApiKeyPrefix", {
251
251
  });
252
252
  Object.defineProperty(exports, "ensureFreshCredential", {
253
253
  enumerable: true,
254
- get: function () { return chunkA77UMVMD_cjs.ensureFreshCredential; }
254
+ get: function () { return chunkUMCCYXFZ_cjs.ensureFreshCredential; }
255
255
  });
256
256
  Object.defineProperty(exports, "exchangeCode", {
257
257
  enumerable: true,
258
- get: function () { return chunkA77UMVMD_cjs.exchangeCode; }
258
+ get: function () { return chunkUMCCYXFZ_cjs.exchangeCode; }
259
259
  });
260
260
  Object.defineProperty(exports, "persistOAuthTokens", {
261
261
  enumerable: true,
262
- get: function () { return chunkA77UMVMD_cjs.persistOAuthTokens; }
262
+ get: function () { return chunkUMCCYXFZ_cjs.persistOAuthTokens; }
263
263
  });
264
264
  Object.defineProperty(exports, "refreshOAuthTokens", {
265
265
  enumerable: true,
266
- get: function () { return chunkA77UMVMD_cjs.refreshOAuthTokens; }
266
+ get: function () { return chunkUMCCYXFZ_cjs.refreshOAuthTokens; }
267
267
  });
268
268
  Object.defineProperty(exports, "resolveCredential", {
269
269
  enumerable: true,
270
- get: function () { return chunkA77UMVMD_cjs.resolveCredential; }
270
+ get: function () { return chunkUMCCYXFZ_cjs.resolveCredential; }
271
271
  });
272
272
  Object.defineProperty(exports, "CredentialError", {
273
273
  enumerable: true,
274
- get: function () { return chunk5645PMVU_cjs.CredentialError; }
274
+ get: function () { return chunkPXYINWBC_cjs.CredentialError; }
275
275
  });
276
276
  Object.defineProperty(exports, "assertSecureModes", {
277
277
  enumerable: true,
278
- get: function () { return chunk5645PMVU_cjs.assertSecureModes; }
278
+ get: function () { return chunkPXYINWBC_cjs.assertSecureModes; }
279
279
  });
280
280
  Object.defineProperty(exports, "authFilePath", {
281
281
  enumerable: true,
282
- get: function () { return chunk5645PMVU_cjs.authFilePath; }
282
+ get: function () { return chunkPXYINWBC_cjs.authFilePath; }
283
283
  });
284
284
  Object.defineProperty(exports, "credentialHome", {
285
285
  enumerable: true,
286
- get: function () { return chunk5645PMVU_cjs.credentialHome; }
286
+ get: function () { return chunkPXYINWBC_cjs.credentialHome; }
287
287
  });
288
288
  Object.defineProperty(exports, "readAuthFile", {
289
289
  enumerable: true,
290
- get: function () { return chunk5645PMVU_cjs.readAuthFile; }
290
+ get: function () { return chunkPXYINWBC_cjs.readAuthFile; }
291
291
  });
292
292
  Object.defineProperty(exports, "readStoredOAuth", {
293
293
  enumerable: true,
294
- get: function () { return chunk5645PMVU_cjs.readStoredOAuth; }
294
+ get: function () { return chunkPXYINWBC_cjs.readStoredOAuth; }
295
295
  });
296
296
  Object.defineProperty(exports, "writeCredential", {
297
297
  enumerable: true,
298
- get: function () { return chunk5645PMVU_cjs.writeCredential; }
298
+ get: function () { return chunkPXYINWBC_cjs.writeCredential; }
299
299
  });
300
300
  exports.deviceLogin = deviceLogin;
301
301
  exports.extractAccountId = extractAccountId;
@@ -1,7 +1,7 @@
1
1
  export { providerFromApiKeyPrefix } from '../chunk-NAF4L3T6.js';
2
- import { exchangeCode } from '../chunk-3GTN4HOO.js';
3
- export { ensureFreshCredential, exchangeCode, persistOAuthTokens, refreshOAuthTokens, resolveCredential } from '../chunk-3GTN4HOO.js';
4
- export { CredentialError, assertSecureModes, authFilePath, credentialHome, readAuthFile, readStoredOAuth, writeCredential } from '../chunk-QD6B6W6I.js';
2
+ import { exchangeCode } from '../chunk-UNP4NCMZ.js';
3
+ export { ensureFreshCredential, exchangeCode, persistOAuthTokens, refreshOAuthTokens, resolveCredential } from '../chunk-UNP4NCMZ.js';
4
+ export { CredentialError, assertSecureModes, authFilePath, credentialHome, readAuthFile, readStoredOAuth, writeCredential } from '../chunk-L2KC2G7H.js';
5
5
  import { AuthCallbackError } from '../chunk-5IUDICRK.js';
6
6
  import '../chunk-Q7GYMXVC.js';
7
7
  import '../chunk-TNFOU6SB.js';
@@ -1,14 +1,14 @@
1
- import { submit, subscribe } from './chunk-HWMGR3HA.js';
2
- import './chunk-K2BQQ445.js';
3
- import { newPooledCredential, CredentialPool, withCredentialPool } from './chunk-NK5EOTDY.js';
1
+ import { submit, subscribe } from './chunk-GEQLHBJM.js';
2
+ import './chunk-3GQYMKVJ.js';
3
+ import { newPooledCredential, CredentialPool, withCredentialPool } from './chunk-OIOSY5G6.js';
4
4
  import './chunk-24MGQDK3.js';
5
5
  import { createSemaphore } from './chunk-AHKS3DKI.js';
6
6
  import './chunk-PPU2D4FZ.js';
7
- import './chunk-MLGETTYX.js';
8
- import './chunk-M4U24U6G.js';
7
+ import './chunk-4YUIYSZO.js';
8
+ import './chunk-AZK3QM36.js';
9
9
  import { ConfigurationError, TheokitAgentError } from './chunk-TNFOU6SB.js';
10
10
  import { diag } from './chunk-3OY6H3I7.js';
11
- import { randomUUID } from 'crypto';
11
+ import { randomUUID } from 'node:crypto';
12
12
 
13
13
  function validateBatchInput(prompts, options) {
14
14
  const { concurrency } = options;
@@ -256,5 +256,5 @@ function buildPoolsFromApiKeys(apiKeys, strategy) {
256
256
  }
257
257
 
258
258
  export { batchImpl, validateBatchInput };
259
- //# sourceMappingURL=batch-N2XDYZED.js.map
260
- //# sourceMappingURL=batch-N2XDYZED.js.map
259
+ //# sourceMappingURL=batch-7IGV2OKA.js.map
260
+ //# sourceMappingURL=batch-7IGV2OKA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/agent/batch.ts"],"names":[],"mappings":"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","file":"batch-N2XDYZED.js","sourcesContent":["/**\n * `Agent.batch(prompts, options)` core (ADRs D134-D140).\n *\n * Fans out N prompts via bounded concurrency, isolates failures per-prompt,\n * preserves input order in the result array, supports streaming callbacks\n * + AbortSignal. The credential pool (D131) is shared across all\n * in-flight agents via `withCredentialPool` ALS scope (EC-A fix).\n *\n * @internal\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { ConfigurationError, TheokitAgentError } from \"../../errors.js\";\nimport { diag } from \"../../internal/diagnostics.js\";\nimport { CredentialPool, newPooledCredential } from \"../../internal/llm/credential-pool.js\";\nimport { withCredentialPool } from \"../../internal/llm/credential-pool-context.js\";\nimport type { CredentialPoolStrategy } from \"../../internal/llm/credential-pool-types.js\";\nimport {\n submit as taskRegistrySubmit,\n subscribe as taskRegistrySubscribe,\n} from \"../../internal/task/registry.js\";\nimport type { AgentOptions, SDKAgent } from \"../../types/agent.js\";\nimport type { BatchItem, BatchOptions, BatchProgress, BatchResult } from \"../../types/batch.js\";\nimport { createSemaphore } from \"../concurrency/async-semaphore.js\";\n\n/** DI contract — keeps batch.ts cycle-free from agent.ts. @internal */\ninterface BatchDeps {\n create: (options: AgentOptions) => Promise<SDKAgent>;\n}\n\n/**\n * Pre-flight boundary validation for `Agent.batch` (arch-review Gap 3).\n *\n * Mirrors the in-repo `validateAgentOptions` / `validateCronExpression`\n * pattern: throws `ConfigurationError` with a stable code on the first\n * violation, returns silently otherwise. Pure — no I/O.\n *\n * Rules:\n * - `concurrency`, when provided, must be a positive integer (rejects\n * 0/negative/non-integer/NaN/Infinity). Previously this was caught only\n * incidentally deep inside `createSemaphore` with a leaky \"permits\"\n * message, AND after task wrapping (dangling Task on invalid input).\n * - every prompt item must carry a non-empty string prompt. Previously\n * `normalizeItem` passed `prompt: \"\"` / non-string straight to\n * `agent.send`. (Whitespace-only strings are intentionally NOT rejected —\n * an empty string is a structural error; judging content is not this\n * validator's job, and the repo's property tests treat any length>=1\n * string as a valid prompt.)\n *\n * @internal\n */\nexport function validateBatchInput(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n): void {\n const { concurrency } = options;\n if (concurrency !== undefined && (!Number.isInteger(concurrency) || concurrency < 1)) {\n throw new ConfigurationError(\n `Agent.batch concurrency must be a positive integer, got ${concurrency}`,\n { code: \"invalid_concurrency\" },\n );\n }\n for (let i = 0; i < prompts.length; i++) {\n const item = prompts[i];\n const prompt = typeof item === \"string\" ? item : item?.prompt;\n if (typeof prompt !== \"string\" || prompt.length === 0) {\n throw new ConfigurationError(`Agent.batch prompt at index ${i} must be a non-empty string`, {\n code: \"invalid_batch_item\",\n });\n }\n }\n}\n\n/**\n * Run N prompts in parallel with bounded concurrency.\n *\n * @internal\n */\nexport async function batchImpl(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult[]> {\n // EC-1: empty array → no work, no agents created.\n if (prompts.length === 0) return [];\n\n // Pre-flight boundary validation (arch-review Gap 3). MUST run before pool\n // build AND before wrapBatchAsTask so invalid input never registers a\n // dangling Task or builds a credential pool (fail-fast, Rule 8).\n validateBatchInput(prompts, options);\n\n // EC-A fix: build credential pools ONCE and share via AsyncLocalStorage.\n // Without this each Agent.create() would build its own pool from identical\n // apiKeys → 4× rate-limit wastage per concurrency window.\n const sharedPools = buildPoolsFromApiKeys(\n options.providers?.apiKeys,\n options.providers?.credentialPoolStrategy,\n );\n const exec = (): Promise<BatchResult[]> => runBatch(prompts, options, deps);\n const withPool = (): Promise<BatchResult[]> =>\n sharedPools.size > 0 ? withCredentialPool(sharedPools, exec) : exec();\n // T3.3: opt-in Task wrapping (ADRs D363, D374). Register the whole\n // batch as a single Task (kind=\"batch\") with `b-` prefix (D368/EC-5).\n if (options.task !== undefined) {\n return wrapBatchAsTask(prompts.length, options.task, withPool);\n }\n return withPool();\n}\n\n/**\n * Raises the typed error for a terminal failure event, and returns for anything else.\n *\n * Split out of {@link wrapBatchAsTask} so the wait loop reads as \"finished -> results, terminal\n * failure -> throw\" rather than as three inlined branches; the failure vocabulary is one concern and\n * lives in one place.\n */\nfunction throwIfTerminalFailure(\n id: string,\n event: { type: string } & Record<string, unknown>,\n): void {\n if (event.type === \"errored\") {\n const error = event.error as { message: string; code?: string };\n throw new TheokitAgentError(`Batch task ${id} failed: ${error.message}`, {\n code: \"batch_task_failed\",\n protoErrorCode: error.code,\n });\n }\n if (event.type === \"cancelled\") {\n const reason = event.reason as string | undefined;\n throw new TheokitAgentError(\n `Batch task ${id} was cancelled${reason === undefined ? \"\" : `: ${reason}`}`,\n { code: \"batch_task_cancelled\" },\n );\n }\n}\n\nasync function wrapBatchAsTask(\n total: number,\n taskOpt: true | { id?: string; meta?: Record<string, unknown> },\n exec: () => Promise<BatchResult[]>,\n): Promise<BatchResult[]> {\n const opts = taskOpt === true ? {} : taskOpt;\n const id = opts.id ?? `b-${randomUUID()}`;\n const meta: Record<string, unknown> = {\n total,\n ...(opts.meta ?? {}),\n };\n let results: BatchResult[] = [];\n await taskRegistrySubmit({\n kind: \"batch\",\n work: async (ctx) => {\n results = await exec();\n const succeeded = results.filter((r) => r.ok).length;\n const failed = results.length - succeeded;\n ctx.emit({ total: results.length, succeeded, failed });\n return { total: results.length, succeeded, failed };\n },\n id,\n meta,\n allowReservedPrefix: true,\n });\n // `submit` returns immediately with a queued handle, so this waits for the task's own terminal\n // EVENT rather than polling its state.\n //\n // What this replaced, and why the replacement is not just tidier: the wait was\n // `for (let i = 0; i < 5000; i++) { ...get(id)...; await sleep(5) }` followed by an unconditional\n // `return results`, and `results` is assigned only inside the `work` callback above. So THREE\n // distinct failures produced one indistinguishable value — the work threw, the task was\n // cancelled, or the budget elapsed — and each returned `[]` on a RESOLVED promise, which a caller\n // cannot tell apart from `Agent.batch([])`. The registry had already recorded the failure as\n // `{ code, message }` on the terminal event; the loop read only `handle.state` and dropped it.\n //\n // The budget was not a safety net either. 5000 iterations of a 5 ms sleep is ~25 s, and a batch\n // legitimately longer than that would trip it and return `[]` — the bound generated the bug it\n // appeared to guard against. A task's own lifecycle is the honest bound, and `subscribe` drains\n // the buffered events first (`subscribe.ts:23`), so a task that finished before this line runs\n // still delivers its terminal event rather than hanging.\n for await (const event of taskRegistrySubscribe(id)) {\n if (event.type === \"finished\") return results;\n throwIfTerminalFailure(id, event);\n }\n // The registry's contract says the stream ends only after a terminal event, so this is\n // unreachable. It throws rather than returning `results` because returning here would restore the\n // exact silent-empty-array path this function was rewritten to remove.\n throw new TheokitAgentError(`Batch task ${id} ended without a terminal event`, {\n code: \"batch_task_no_terminal_event\",\n });\n}\n\nasync function runBatch(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult[]> {\n const requested = options.concurrency ?? 4;\n // createSemaphore throws on invalid (EC-2).\n // EC-3: cap to prompts.length to avoid idle workers.\n const effective = Math.min(requested, prompts.length);\n const semaphore = createSemaphore(effective);\n const items = prompts.map(normalizeItem);\n const results: BatchResult[] = new Array(items.length);\n const counters = { completed: 0, failed: 0 };\n let aborted = false;\n\n const onAbort = (): void => {\n aborted = true;\n };\n options.signal?.addEventListener(\"abort\", onAbort);\n // EC-C: pre-aborted signal — treat as already-aborted before any work.\n if (options.signal?.aborted === true) aborted = true;\n\n try {\n await Promise.all(\n items.map(async (item, index) => {\n const release = await semaphore.acquire();\n try {\n if (aborted) {\n results[index] = abortResult(item, index, options.signal);\n } else {\n results[index] = await runOne(item, index, options, deps);\n }\n if (results[index].ok) counters.completed += 1;\n else counters.failed += 1;\n // B-110 (measured 2026-08-19): `onResult` used to run AFTER `release()`, so a caller who\n // asked for `concurrency: 1` still got overlapping `onResult` invocations — the permit was\n // already returned before the callback ran. `concurrency` is documented (`types/batch.ts`)\n // to bound the whole per-item lifecycle, callback included, so the permit is now held\n // until `onResult` finishes: this call moved inside the `try` the `finally` below wraps.\n await safeCallResult(options.onResult, results[index]);\n } finally {\n release();\n }\n safeCallProgress(options.onProgress, {\n total: items.length,\n completed: counters.completed,\n failed: counters.failed,\n inFlight: semaphore.inFlight(),\n pending: Math.max(0, semaphore.pending() - semaphore.inFlight()),\n });\n }),\n );\n } finally {\n options.signal?.removeEventListener(\"abort\", onAbort);\n }\n\n return options.filter ? results.filter(options.filter) : results;\n}\n\nasync function runOne(\n item: BatchItem,\n index: number,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult> {\n const t0 = Date.now();\n const agentOpts = buildAgentOptions(item, options);\n\n try {\n const agent = await deps.create(agentOpts);\n try {\n const run = await agent.send(item.prompt);\n const result = await run.wait();\n return {\n ok: true,\n index,\n prompt: item.prompt,\n result,\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: Date.now() - t0,\n };\n } finally {\n // EC-8: dispose failure → stderr warn, don't fail the result.\n try {\n await agent.dispose();\n } catch (disposeErr) {\n // theokit#147 — the interceptable channel; a batch run must not write onto a TUI's frame.\n diag(\n `[theokit-sdk] batch: agent.dispose failed for prompt ${index}: ${\n disposeErr instanceof Error ? disposeErr.message : String(disposeErr)\n }\\n`,\n );\n }\n }\n } catch (err) {\n return {\n ok: false,\n index,\n prompt: item.prompt,\n error: toTheokitError(err),\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: Date.now() - t0,\n };\n }\n}\n\n/** Every key `BatchOptions` adds on top of `AgentOptions`, derived rather than listed twice. */\ntype BatchOnlyKey = Exclude<keyof BatchOptions, keyof AgentOptions>;\n\n/**\n * The batch-only keys, as values — `buildAgentOptions` has to strip them at runtime and a type\n * cannot do that.\n *\n * Both halves of this declaration are load-bearing, in opposite directions:\n *\n * - `satisfies readonly BatchOnlyKey[]` rejects a key here that is NOT batch-only, so a rename in\n * the interface breaks this list instead of silently stripping a field that should be forwarded.\n * - `NoUnlistedBatchOnlyKey` below rejects a batch-only key MISSING from here, which is the\n * direction that actually bites: adding a seventh option to `BatchOptions` and forgetting this\n * function forwards it into `AgentOptions`, where TypeScript's excess-property check does not\n * fire on a spread and `validateAgentOptions` either rejects it or carries it into every agent\n * the batch creates.\n *\n * The keys are NOT derived into the interface as a mapped type, which would collapse both\n * representations into one: each of the six carries several paragraphs of public API documentation,\n * and a mapped type cannot hold them.\n */\nconst BATCH_ONLY_KEYS = [\n \"concurrency\",\n \"filter\",\n \"onResult\",\n \"onProgress\",\n \"signal\",\n \"task\",\n] as const satisfies readonly BatchOnlyKey[];\n\n/** Compile-time only: resolves to `never` unless every batch-only key is listed above. */\ntype NoUnlistedBatchOnlyKey =\n Exclude<BatchOnlyKey, (typeof BATCH_ONLY_KEYS)[number]> extends never\n ? true\n : [\n \"batch-only key missing from BATCH_ONLY_KEYS\",\n Exclude<BatchOnlyKey, (typeof BATCH_ONLY_KEYS)[number]>,\n ];\n\nconst _batchKeysAreExhaustive: NoUnlistedBatchOnlyKey = true;\nvoid _batchKeysAreExhaustive;\n\nfunction buildAgentOptions(item: BatchItem, options: BatchOptions): AgentOptions {\n const rest: Record<string, unknown> = { ...options };\n for (const key of BATCH_ONLY_KEYS) delete rest[key];\n const agentOpts = rest as AgentOptions;\n if (item.systemPrompt !== undefined) {\n return { ...agentOpts, systemPrompt: item.systemPrompt };\n }\n return agentOpts;\n}\n\nfunction normalizeItem(promptOrItem: string | BatchItem): BatchItem {\n return typeof promptOrItem === \"string\" ? { prompt: promptOrItem } : promptOrItem;\n}\n\nfunction abortResult(item: BatchItem, index: number, signal?: AbortSignal): BatchResult {\n // EC-D: propagate signal.reason when set (preserves caller's error).\n let error: TheokitAgentError;\n if (signal?.reason instanceof TheokitAgentError) {\n error = signal.reason;\n } else if (signal?.reason instanceof Error) {\n error = new TheokitAgentError(signal.reason.message, {\n code: \"aborted\",\n cause: signal.reason,\n });\n } else {\n error = new TheokitAgentError(\"Batch aborted via AbortSignal\", { code: \"aborted\" });\n }\n return {\n ok: false,\n index,\n prompt: item.prompt,\n error,\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: 0,\n };\n}\n\nfunction toTheokitError(err: unknown): TheokitAgentError {\n if (err instanceof TheokitAgentError) return err;\n if (err instanceof Error) {\n return new TheokitAgentError(err.message, { code: \"unknown\", cause: err });\n }\n return new TheokitAgentError(String(err), { code: \"unknown\" });\n}\n\nasync function safeCallResult(cb: BatchOptions[\"onResult\"], result: BatchResult): Promise<void> {\n if (cb === undefined) return;\n try {\n await cb(result);\n } catch (err) {\n diag(\n `[theokit-sdk] batch: onResult callback threw: ${\n err instanceof Error ? err.message : String(err)\n }\\n`,\n );\n }\n}\n\nfunction safeCallProgress(cb: BatchOptions[\"onProgress\"], progress: BatchProgress): void {\n if (cb === undefined) return;\n try {\n cb(progress);\n } catch (err) {\n diag(\n `[theokit-sdk] batch: onProgress callback threw: ${\n err instanceof Error ? err.message : String(err)\n }\\n`,\n );\n }\n}\n\n/**\n * EC-A: construct shared pools from options.apiKeys. Empty/invalid → empty Map.\n *\n * @internal\n */\nfunction buildPoolsFromApiKeys(\n apiKeys: Record<string, string[]> | undefined,\n strategy: Record<string, CredentialPoolStrategy> | undefined,\n): Map<string, CredentialPool> {\n const pools = new Map<string, CredentialPool>();\n if (apiKeys === undefined) return pools;\n for (const [provider, keys] of Object.entries(apiKeys)) {\n if (!Array.isArray(keys)) continue;\n const filtered = keys.filter((k): k is string => typeof k === \"string\" && k.length > 0);\n if (filtered.length < 2) continue; // 1-key pools aren't pools\n const entries = filtered.map((token, i) =>\n newPooledCredential({ provider, accessToken: token, priority: i, source: \"manual\" }),\n );\n pools.set(\n provider,\n new CredentialPool(provider, entries, strategy?.[provider] ?? \"fill_first\"),\n );\n }\n return pools;\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/agent/batch.ts"],"names":[],"mappings":"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","file":"batch-7IGV2OKA.js","sourcesContent":["/**\n * `Agent.batch(prompts, options)` core (ADRs D134-D140).\n *\n * Fans out N prompts via bounded concurrency, isolates failures per-prompt,\n * preserves input order in the result array, supports streaming callbacks\n * + AbortSignal. The credential pool (D131) is shared across all\n * in-flight agents via `withCredentialPool` ALS scope (EC-A fix).\n *\n * @internal\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { ConfigurationError, TheokitAgentError } from \"../../errors.js\";\nimport { diag } from \"../../internal/diagnostics.js\";\nimport { CredentialPool, newPooledCredential } from \"../../internal/llm/credential-pool.js\";\nimport { withCredentialPool } from \"../../internal/llm/credential-pool-context.js\";\nimport type { CredentialPoolStrategy } from \"../../internal/llm/credential-pool-types.js\";\nimport {\n submit as taskRegistrySubmit,\n subscribe as taskRegistrySubscribe,\n} from \"../../internal/task/registry.js\";\nimport type { AgentOptions, SDKAgent } from \"../../types/agent.js\";\nimport type { BatchItem, BatchOptions, BatchProgress, BatchResult } from \"../../types/batch.js\";\nimport { createSemaphore } from \"../concurrency/async-semaphore.js\";\n\n/** DI contract — keeps batch.ts cycle-free from agent.ts. @internal */\ninterface BatchDeps {\n create: (options: AgentOptions) => Promise<SDKAgent>;\n}\n\n/**\n * Pre-flight boundary validation for `Agent.batch` (arch-review Gap 3).\n *\n * Mirrors the in-repo `validateAgentOptions` / `validateCronExpression`\n * pattern: throws `ConfigurationError` with a stable code on the first\n * violation, returns silently otherwise. Pure — no I/O.\n *\n * Rules:\n * - `concurrency`, when provided, must be a positive integer (rejects\n * 0/negative/non-integer/NaN/Infinity). Previously this was caught only\n * incidentally deep inside `createSemaphore` with a leaky \"permits\"\n * message, AND after task wrapping (dangling Task on invalid input).\n * - every prompt item must carry a non-empty string prompt. Previously\n * `normalizeItem` passed `prompt: \"\"` / non-string straight to\n * `agent.send`. (Whitespace-only strings are intentionally NOT rejected —\n * an empty string is a structural error; judging content is not this\n * validator's job, and the repo's property tests treat any length>=1\n * string as a valid prompt.)\n *\n * @internal\n */\nexport function validateBatchInput(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n): void {\n const { concurrency } = options;\n if (concurrency !== undefined && (!Number.isInteger(concurrency) || concurrency < 1)) {\n throw new ConfigurationError(\n `Agent.batch concurrency must be a positive integer, got ${concurrency}`,\n { code: \"invalid_concurrency\" },\n );\n }\n for (let i = 0; i < prompts.length; i++) {\n const item = prompts[i];\n const prompt = typeof item === \"string\" ? item : item?.prompt;\n if (typeof prompt !== \"string\" || prompt.length === 0) {\n throw new ConfigurationError(`Agent.batch prompt at index ${i} must be a non-empty string`, {\n code: \"invalid_batch_item\",\n });\n }\n }\n}\n\n/**\n * Run N prompts in parallel with bounded concurrency.\n *\n * @internal\n */\nexport async function batchImpl(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult[]> {\n // EC-1: empty array → no work, no agents created.\n if (prompts.length === 0) return [];\n\n // Pre-flight boundary validation (arch-review Gap 3). MUST run before pool\n // build AND before wrapBatchAsTask so invalid input never registers a\n // dangling Task or builds a credential pool (fail-fast, Rule 8).\n validateBatchInput(prompts, options);\n\n // EC-A fix: build credential pools ONCE and share via AsyncLocalStorage.\n // Without this each Agent.create() would build its own pool from identical\n // apiKeys → 4× rate-limit wastage per concurrency window.\n const sharedPools = buildPoolsFromApiKeys(\n options.providers?.apiKeys,\n options.providers?.credentialPoolStrategy,\n );\n const exec = (): Promise<BatchResult[]> => runBatch(prompts, options, deps);\n const withPool = (): Promise<BatchResult[]> =>\n sharedPools.size > 0 ? withCredentialPool(sharedPools, exec) : exec();\n // T3.3: opt-in Task wrapping (ADRs D363, D374). Register the whole\n // batch as a single Task (kind=\"batch\") with `b-` prefix (D368/EC-5).\n if (options.task !== undefined) {\n return wrapBatchAsTask(prompts.length, options.task, withPool);\n }\n return withPool();\n}\n\n/**\n * Raises the typed error for a terminal failure event, and returns for anything else.\n *\n * Split out of {@link wrapBatchAsTask} so the wait loop reads as \"finished -> results, terminal\n * failure -> throw\" rather than as three inlined branches; the failure vocabulary is one concern and\n * lives in one place.\n */\nfunction throwIfTerminalFailure(\n id: string,\n event: { type: string } & Record<string, unknown>,\n): void {\n if (event.type === \"errored\") {\n const error = event.error as { message: string; code?: string };\n throw new TheokitAgentError(`Batch task ${id} failed: ${error.message}`, {\n code: \"batch_task_failed\",\n protoErrorCode: error.code,\n });\n }\n if (event.type === \"cancelled\") {\n const reason = event.reason as string | undefined;\n throw new TheokitAgentError(\n `Batch task ${id} was cancelled${reason === undefined ? \"\" : `: ${reason}`}`,\n { code: \"batch_task_cancelled\" },\n );\n }\n}\n\nasync function wrapBatchAsTask(\n total: number,\n taskOpt: true | { id?: string; meta?: Record<string, unknown> },\n exec: () => Promise<BatchResult[]>,\n): Promise<BatchResult[]> {\n const opts = taskOpt === true ? {} : taskOpt;\n const id = opts.id ?? `b-${randomUUID()}`;\n const meta: Record<string, unknown> = {\n total,\n ...(opts.meta ?? {}),\n };\n let results: BatchResult[] = [];\n await taskRegistrySubmit({\n kind: \"batch\",\n work: async (ctx) => {\n results = await exec();\n const succeeded = results.filter((r) => r.ok).length;\n const failed = results.length - succeeded;\n ctx.emit({ total: results.length, succeeded, failed });\n return { total: results.length, succeeded, failed };\n },\n id,\n meta,\n allowReservedPrefix: true,\n });\n // `submit` returns immediately with a queued handle, so this waits for the task's own terminal\n // EVENT rather than polling its state.\n //\n // What this replaced, and why the replacement is not just tidier: the wait was\n // `for (let i = 0; i < 5000; i++) { ...get(id)...; await sleep(5) }` followed by an unconditional\n // `return results`, and `results` is assigned only inside the `work` callback above. So THREE\n // distinct failures produced one indistinguishable value — the work threw, the task was\n // cancelled, or the budget elapsed — and each returned `[]` on a RESOLVED promise, which a caller\n // cannot tell apart from `Agent.batch([])`. The registry had already recorded the failure as\n // `{ code, message }` on the terminal event; the loop read only `handle.state` and dropped it.\n //\n // The budget was not a safety net either. 5000 iterations of a 5 ms sleep is ~25 s, and a batch\n // legitimately longer than that would trip it and return `[]` — the bound generated the bug it\n // appeared to guard against. A task's own lifecycle is the honest bound, and `subscribe` drains\n // the buffered events first (`subscribe.ts:23`), so a task that finished before this line runs\n // still delivers its terminal event rather than hanging.\n for await (const event of taskRegistrySubscribe(id)) {\n if (event.type === \"finished\") return results;\n throwIfTerminalFailure(id, event);\n }\n // The registry's contract says the stream ends only after a terminal event, so this is\n // unreachable. It throws rather than returning `results` because returning here would restore the\n // exact silent-empty-array path this function was rewritten to remove.\n throw new TheokitAgentError(`Batch task ${id} ended without a terminal event`, {\n code: \"batch_task_no_terminal_event\",\n });\n}\n\nasync function runBatch(\n prompts: ReadonlyArray<string | BatchItem>,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult[]> {\n const requested = options.concurrency ?? 4;\n // createSemaphore throws on invalid (EC-2).\n // EC-3: cap to prompts.length to avoid idle workers.\n const effective = Math.min(requested, prompts.length);\n const semaphore = createSemaphore(effective);\n const items = prompts.map(normalizeItem);\n const results: BatchResult[] = new Array(items.length);\n const counters = { completed: 0, failed: 0 };\n let aborted = false;\n\n const onAbort = (): void => {\n aborted = true;\n };\n options.signal?.addEventListener(\"abort\", onAbort);\n // EC-C: pre-aborted signal — treat as already-aborted before any work.\n if (options.signal?.aborted === true) aborted = true;\n\n try {\n await Promise.all(\n items.map(async (item, index) => {\n const release = await semaphore.acquire();\n try {\n if (aborted) {\n results[index] = abortResult(item, index, options.signal);\n } else {\n results[index] = await runOne(item, index, options, deps);\n }\n if (results[index].ok) counters.completed += 1;\n else counters.failed += 1;\n // B-110 (measured 2026-08-19): `onResult` used to run AFTER `release()`, so a caller who\n // asked for `concurrency: 1` still got overlapping `onResult` invocations — the permit was\n // already returned before the callback ran. `concurrency` is documented (`types/batch.ts`)\n // to bound the whole per-item lifecycle, callback included, so the permit is now held\n // until `onResult` finishes: this call moved inside the `try` the `finally` below wraps.\n await safeCallResult(options.onResult, results[index]);\n } finally {\n release();\n }\n safeCallProgress(options.onProgress, {\n total: items.length,\n completed: counters.completed,\n failed: counters.failed,\n inFlight: semaphore.inFlight(),\n pending: Math.max(0, semaphore.pending() - semaphore.inFlight()),\n });\n }),\n );\n } finally {\n options.signal?.removeEventListener(\"abort\", onAbort);\n }\n\n return options.filter ? results.filter(options.filter) : results;\n}\n\nasync function runOne(\n item: BatchItem,\n index: number,\n options: BatchOptions,\n deps: BatchDeps,\n): Promise<BatchResult> {\n const t0 = Date.now();\n const agentOpts = buildAgentOptions(item, options);\n\n try {\n const agent = await deps.create(agentOpts);\n try {\n const run = await agent.send(item.prompt);\n const result = await run.wait();\n return {\n ok: true,\n index,\n prompt: item.prompt,\n result,\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: Date.now() - t0,\n };\n } finally {\n // EC-8: dispose failure → stderr warn, don't fail the result.\n try {\n await agent.dispose();\n } catch (disposeErr) {\n // theokit#147 — the interceptable channel; a batch run must not write onto a TUI's frame.\n diag(\n `[theokit-sdk] batch: agent.dispose failed for prompt ${index}: ${\n disposeErr instanceof Error ? disposeErr.message : String(disposeErr)\n }\\n`,\n );\n }\n }\n } catch (err) {\n return {\n ok: false,\n index,\n prompt: item.prompt,\n error: toTheokitError(err),\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: Date.now() - t0,\n };\n }\n}\n\n/** Every key `BatchOptions` adds on top of `AgentOptions`, derived rather than listed twice. */\ntype BatchOnlyKey = Exclude<keyof BatchOptions, keyof AgentOptions>;\n\n/**\n * The batch-only keys, as values — `buildAgentOptions` has to strip them at runtime and a type\n * cannot do that.\n *\n * Both halves of this declaration are load-bearing, in opposite directions:\n *\n * - `satisfies readonly BatchOnlyKey[]` rejects a key here that is NOT batch-only, so a rename in\n * the interface breaks this list instead of silently stripping a field that should be forwarded.\n * - `NoUnlistedBatchOnlyKey` below rejects a batch-only key MISSING from here, which is the\n * direction that actually bites: adding a seventh option to `BatchOptions` and forgetting this\n * function forwards it into `AgentOptions`, where TypeScript's excess-property check does not\n * fire on a spread and `validateAgentOptions` either rejects it or carries it into every agent\n * the batch creates.\n *\n * The keys are NOT derived into the interface as a mapped type, which would collapse both\n * representations into one: each of the six carries several paragraphs of public API documentation,\n * and a mapped type cannot hold them.\n */\nconst BATCH_ONLY_KEYS = [\n \"concurrency\",\n \"filter\",\n \"onResult\",\n \"onProgress\",\n \"signal\",\n \"task\",\n] as const satisfies readonly BatchOnlyKey[];\n\n/** Compile-time only: resolves to `never` unless every batch-only key is listed above. */\ntype NoUnlistedBatchOnlyKey =\n Exclude<BatchOnlyKey, (typeof BATCH_ONLY_KEYS)[number]> extends never\n ? true\n : [\n \"batch-only key missing from BATCH_ONLY_KEYS\",\n Exclude<BatchOnlyKey, (typeof BATCH_ONLY_KEYS)[number]>,\n ];\n\nconst _batchKeysAreExhaustive: NoUnlistedBatchOnlyKey = true;\nvoid _batchKeysAreExhaustive;\n\nfunction buildAgentOptions(item: BatchItem, options: BatchOptions): AgentOptions {\n const rest: Record<string, unknown> = { ...options };\n for (const key of BATCH_ONLY_KEYS) delete rest[key];\n const agentOpts = rest as AgentOptions;\n if (item.systemPrompt !== undefined) {\n return { ...agentOpts, systemPrompt: item.systemPrompt };\n }\n return agentOpts;\n}\n\nfunction normalizeItem(promptOrItem: string | BatchItem): BatchItem {\n return typeof promptOrItem === \"string\" ? { prompt: promptOrItem } : promptOrItem;\n}\n\nfunction abortResult(item: BatchItem, index: number, signal?: AbortSignal): BatchResult {\n // EC-D: propagate signal.reason when set (preserves caller's error).\n let error: TheokitAgentError;\n if (signal?.reason instanceof TheokitAgentError) {\n error = signal.reason;\n } else if (signal?.reason instanceof Error) {\n error = new TheokitAgentError(signal.reason.message, {\n code: \"aborted\",\n cause: signal.reason,\n });\n } else {\n error = new TheokitAgentError(\"Batch aborted via AbortSignal\", { code: \"aborted\" });\n }\n return {\n ok: false,\n index,\n prompt: item.prompt,\n error,\n ...(item.metadata !== undefined ? { metadata: item.metadata } : {}),\n durationMs: 0,\n };\n}\n\nfunction toTheokitError(err: unknown): TheokitAgentError {\n if (err instanceof TheokitAgentError) return err;\n if (err instanceof Error) {\n return new TheokitAgentError(err.message, { code: \"unknown\", cause: err });\n }\n return new TheokitAgentError(String(err), { code: \"unknown\" });\n}\n\nasync function safeCallResult(cb: BatchOptions[\"onResult\"], result: BatchResult): Promise<void> {\n if (cb === undefined) return;\n try {\n await cb(result);\n } catch (err) {\n diag(\n `[theokit-sdk] batch: onResult callback threw: ${\n err instanceof Error ? err.message : String(err)\n }\\n`,\n );\n }\n}\n\nfunction safeCallProgress(cb: BatchOptions[\"onProgress\"], progress: BatchProgress): void {\n if (cb === undefined) return;\n try {\n cb(progress);\n } catch (err) {\n diag(\n `[theokit-sdk] batch: onProgress callback threw: ${\n err instanceof Error ? err.message : String(err)\n }\\n`,\n );\n }\n}\n\n/**\n * EC-A: construct shared pools from options.apiKeys. Empty/invalid → empty Map.\n *\n * @internal\n */\nfunction buildPoolsFromApiKeys(\n apiKeys: Record<string, string[]> | undefined,\n strategy: Record<string, CredentialPoolStrategy> | undefined,\n): Map<string, CredentialPool> {\n const pools = new Map<string, CredentialPool>();\n if (apiKeys === undefined) return pools;\n for (const [provider, keys] of Object.entries(apiKeys)) {\n if (!Array.isArray(keys)) continue;\n const filtered = keys.filter((k): k is string => typeof k === \"string\" && k.length > 0);\n if (filtered.length < 2) continue; // 1-key pools aren't pools\n const entries = filtered.map((token, i) =>\n newPooledCredential({ provider, accessToken: token, priority: i, source: \"manual\" }),\n );\n pools.set(\n provider,\n new CredentialPool(provider, entries, strategy?.[provider] ?? \"fill_first\"),\n );\n }\n return pools;\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkL7JPXZ2C_cjs = require('./chunk-L7JPXZ2C.cjs');
4
- require('./chunk-BUUUWQMB.cjs');
5
- var chunk55LLQFHW_cjs = require('./chunk-55LLQFHW.cjs');
3
+ var chunkER3BF23R_cjs = require('./chunk-ER3BF23R.cjs');
4
+ require('./chunk-PNL63WDP.cjs');
5
+ var chunkMJGY3E3C_cjs = require('./chunk-MJGY3E3C.cjs');
6
6
  require('./chunk-QOGNZMHD.cjs');
7
7
  var chunkFLDMPVUC_cjs = require('./chunk-FLDMPVUC.cjs');
8
8
  require('./chunk-U3DW3WDE.cjs');
9
- require('./chunk-BWYC7RZG.cjs');
10
- require('./chunk-ZOFRNNZD.cjs');
9
+ require('./chunk-XTQWTVVI.cjs');
10
+ require('./chunk-IZV72OEI.cjs');
11
11
  var chunkCEGU5AVD_cjs = require('./chunk-CEGU5AVD.cjs');
12
12
  var chunkRNXXYF22_cjs = require('./chunk-RNXXYF22.cjs');
13
- var crypto = require('crypto');
13
+ var node_crypto = require('node:crypto');
14
14
 
15
15
  function validateBatchInput(prompts, options) {
16
16
  const { concurrency } = options;
@@ -38,7 +38,7 @@ async function batchImpl(prompts, options, deps) {
38
38
  options.providers?.credentialPoolStrategy
39
39
  );
40
40
  const exec = () => runBatch(prompts, options, deps);
41
- const withPool = () => sharedPools.size > 0 ? chunk55LLQFHW_cjs.withCredentialPool(sharedPools, exec) : exec();
41
+ const withPool = () => sharedPools.size > 0 ? chunkMJGY3E3C_cjs.withCredentialPool(sharedPools, exec) : exec();
42
42
  if (options.task !== void 0) {
43
43
  return wrapBatchAsTask(prompts.length, options.task, withPool);
44
44
  }
@@ -62,13 +62,13 @@ function throwIfTerminalFailure(id, event) {
62
62
  }
63
63
  async function wrapBatchAsTask(total, taskOpt, exec) {
64
64
  const opts = taskOpt === true ? {} : taskOpt;
65
- const id = opts.id ?? `b-${crypto.randomUUID()}`;
65
+ const id = opts.id ?? `b-${node_crypto.randomUUID()}`;
66
66
  const meta = {
67
67
  total,
68
68
  ...opts.meta ?? {}
69
69
  };
70
70
  let results = [];
71
- await chunkL7JPXZ2C_cjs.submit({
71
+ await chunkER3BF23R_cjs.submit({
72
72
  kind: "batch",
73
73
  work: async (ctx) => {
74
74
  results = await exec();
@@ -81,7 +81,7 @@ async function wrapBatchAsTask(total, taskOpt, exec) {
81
81
  meta,
82
82
  allowReservedPrefix: true
83
83
  });
84
- for await (const event of chunkL7JPXZ2C_cjs.subscribe(id)) {
84
+ for await (const event of chunkER3BF23R_cjs.subscribe(id)) {
85
85
  if (event.type === "finished") return results;
86
86
  throwIfTerminalFailure(id, event);
87
87
  }
@@ -247,11 +247,11 @@ function buildPoolsFromApiKeys(apiKeys, strategy) {
247
247
  const filtered = keys.filter((k) => typeof k === "string" && k.length > 0);
248
248
  if (filtered.length < 2) continue;
249
249
  const entries = filtered.map(
250
- (token, i) => chunk55LLQFHW_cjs.newPooledCredential({ provider, accessToken: token, priority: i, source: "manual" })
250
+ (token, i) => chunkMJGY3E3C_cjs.newPooledCredential({ provider, accessToken: token, priority: i, source: "manual" })
251
251
  );
252
252
  pools.set(
253
253
  provider,
254
- new chunk55LLQFHW_cjs.CredentialPool(provider, entries, strategy?.[provider] ?? "fill_first")
254
+ new chunkMJGY3E3C_cjs.CredentialPool(provider, entries, strategy?.[provider] ?? "fill_first")
255
255
  );
256
256
  }
257
257
  return pools;
@@ -259,5 +259,5 @@ function buildPoolsFromApiKeys(apiKeys, strategy) {
259
259
 
260
260
  exports.batchImpl = batchImpl;
261
261
  exports.validateBatchInput = validateBatchInput;
262
- //# sourceMappingURL=batch-VFR2MAUE.cjs.map
263
- //# sourceMappingURL=batch-VFR2MAUE.cjs.map
262
+ //# sourceMappingURL=batch-FIWQZ3JD.cjs.map
263
+ //# sourceMappingURL=batch-FIWQZ3JD.cjs.map