@theokit/sdk 5.11.1 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/dist/a2a/index.cjs +8 -8
  3. package/dist/a2a/index.js +3 -3
  4. package/dist/agent-BVKIUP7F.cjs +71 -0
  5. package/dist/{agent-OKP4LHG2.cjs.map → agent-BVKIUP7F.cjs.map} +1 -1
  6. package/dist/{agent-CmKwSyyD.d.ts → agent-CVzDy_Oj.d.ts} +17 -8
  7. package/dist/{agent-XMkGzff_.d.cts → agent-Cn0sphpA.d.cts} +17 -8
  8. package/dist/agent-IG7BP6GN.js +62 -0
  9. package/dist/{agent-DFV52V6E.js.map → agent-IG7BP6GN.js.map} +1 -1
  10. package/dist/agent-prims-CZyxfCmS.d.cts +206 -0
  11. package/dist/agent-prims-CZyxfCmS.d.ts +206 -0
  12. package/dist/agent-session-store-22GKA7O4.js +6 -0
  13. package/dist/{agent-session-store-ODD3IZCW.js.map → agent-session-store-22GKA7O4.js.map} +1 -1
  14. package/dist/agent-session-store-WP6NGDVX.cjs +23 -0
  15. package/dist/{agent-session-store-SVEJHSUA.cjs.map → agent-session-store-WP6NGDVX.cjs.map} +1 -1
  16. package/dist/auth/index.cjs +33 -33
  17. package/dist/auth/index.js +6 -6
  18. package/dist/{batch-427O54FQ.js → batch-EP3FCL6D.js} +9 -9
  19. package/dist/{batch-427O54FQ.js.map → batch-EP3FCL6D.js.map} +1 -1
  20. package/dist/{batch-U4SO4RLX.cjs → batch-IZ5EDKJ5.cjs} +29 -29
  21. package/dist/{batch-U4SO4RLX.cjs.map → batch-IZ5EDKJ5.cjs.map} +1 -1
  22. package/dist/{chunk-IIYJMXYW.cjs → chunk-27V5I2WW.cjs} +4 -4
  23. package/dist/{chunk-IIYJMXYW.cjs.map → chunk-27V5I2WW.cjs.map} +1 -1
  24. package/dist/{chunk-DPY2M74T.js → chunk-2C24NSNV.js} +5 -5
  25. package/dist/{chunk-DPY2M74T.js.map → chunk-2C24NSNV.js.map} +1 -1
  26. package/dist/{chunk-7F7XE6CM.js → chunk-2S4HQCDF.js} +3 -3
  27. package/dist/{chunk-7F7XE6CM.js.map → chunk-2S4HQCDF.js.map} +1 -1
  28. package/dist/{chunk-LZJXEPEQ.js → chunk-2SFLLOMN.js} +3 -3
  29. package/dist/{chunk-LZJXEPEQ.js.map → chunk-2SFLLOMN.js.map} +1 -1
  30. package/dist/{chunk-RGQICWFU.js → chunk-354F3OF5.js} +3 -3
  31. package/dist/{chunk-RGQICWFU.js.map → chunk-354F3OF5.js.map} +1 -1
  32. package/dist/{chunk-TX56N7FR.js → chunk-3FSBE4PS.js} +4 -4
  33. package/dist/{chunk-TX56N7FR.js.map → chunk-3FSBE4PS.js.map} +1 -1
  34. package/dist/{chunk-RQMCOFAI.cjs → chunk-3HA7N2BB.cjs} +8 -8
  35. package/dist/{chunk-RQMCOFAI.cjs.map → chunk-3HA7N2BB.cjs.map} +1 -1
  36. package/dist/{chunk-GM54F4FE.cjs → chunk-3KIUY67P.cjs} +9 -9
  37. package/dist/{chunk-GM54F4FE.cjs.map → chunk-3KIUY67P.cjs.map} +1 -1
  38. package/dist/{chunk-CZJ6Q7CW.js → chunk-3OY6H3I7.js} +66 -7
  39. package/dist/chunk-3OY6H3I7.js.map +1 -0
  40. package/dist/{chunk-ZWACQM5U.cjs → chunk-3WKWBYPO.cjs} +9 -9
  41. package/dist/{chunk-ZWACQM5U.cjs.map → chunk-3WKWBYPO.cjs.map} +1 -1
  42. package/dist/{chunk-Q34EBNYG.js → chunk-4GUFNDZR.js} +5 -5
  43. package/dist/{chunk-Q34EBNYG.js.map → chunk-4GUFNDZR.js.map} +1 -1
  44. package/dist/{chunk-XDUGSTYJ.cjs → chunk-4YD2WI57.cjs} +15 -15
  45. package/dist/{chunk-XDUGSTYJ.cjs.map → chunk-4YD2WI57.cjs.map} +1 -1
  46. package/dist/{chunk-SKDNCTXG.cjs → chunk-5A4UFBHW.cjs} +15 -15
  47. package/dist/{chunk-SKDNCTXG.cjs.map → chunk-5A4UFBHW.cjs.map} +1 -1
  48. package/dist/{chunk-SUVCHX4L.js → chunk-5AR6O7GW.js} +3 -3
  49. package/dist/{chunk-SUVCHX4L.js.map → chunk-5AR6O7GW.js.map} +1 -1
  50. package/dist/{chunk-SVCPJRUB.js → chunk-5HSMH2ZZ.js} +6 -6
  51. package/dist/{chunk-SVCPJRUB.js.map → chunk-5HSMH2ZZ.js.map} +1 -1
  52. package/dist/{chunk-GTX6FEDP.js → chunk-5IRDK5BC.js} +3 -3
  53. package/dist/{chunk-GTX6FEDP.js.map → chunk-5IRDK5BC.js.map} +1 -1
  54. package/dist/{chunk-H3CVJSFC.js → chunk-5IUDICRK.js} +3 -3
  55. package/dist/{chunk-H3CVJSFC.js.map → chunk-5IUDICRK.js.map} +1 -1
  56. package/dist/{chunk-FYEHYQ7T.cjs → chunk-6CXRYPG7.cjs} +15 -15
  57. package/dist/{chunk-FYEHYQ7T.cjs.map → chunk-6CXRYPG7.cjs.map} +1 -1
  58. package/dist/{chunk-NQVWSSX2.cjs → chunk-6OCJWGVD.cjs} +12 -12
  59. package/dist/{chunk-NQVWSSX2.cjs.map → chunk-6OCJWGVD.cjs.map} +1 -1
  60. package/dist/{chunk-MPR2ISL2.cjs → chunk-6XQLTQB6.cjs} +4 -4
  61. package/dist/{chunk-MPR2ISL2.cjs.map → chunk-6XQLTQB6.cjs.map} +1 -1
  62. package/dist/{chunk-72CPLZPC.cjs → chunk-7INPXUJI.cjs} +5 -5
  63. package/dist/{chunk-72CPLZPC.cjs.map → chunk-7INPXUJI.cjs.map} +1 -1
  64. package/dist/{chunk-HG5LKFG7.cjs → chunk-7WARNHWW.cjs} +16 -16
  65. package/dist/{chunk-HG5LKFG7.cjs.map → chunk-7WARNHWW.cjs.map} +1 -1
  66. package/dist/{chunk-KIKKTW5O.cjs → chunk-7YUPSBDV.cjs} +4 -4
  67. package/dist/{chunk-KIKKTW5O.cjs.map → chunk-7YUPSBDV.cjs.map} +1 -1
  68. package/dist/{chunk-IZDDSLL2.js → chunk-AB4OPJLD.js} +6 -6
  69. package/dist/{chunk-IZDDSLL2.js.map → chunk-AB4OPJLD.js.map} +1 -1
  70. package/dist/{chunk-XERM7PDQ.js → chunk-AGO5S5WD.js} +3 -3
  71. package/dist/{chunk-XERM7PDQ.js.map → chunk-AGO5S5WD.js.map} +1 -1
  72. package/dist/{chunk-ZWFTECOE.js → chunk-AHKS3DKI.js} +3 -3
  73. package/dist/{chunk-ZWFTECOE.js.map → chunk-AHKS3DKI.js.map} +1 -1
  74. package/dist/{chunk-ECD6ER3E.cjs → chunk-AIZ6WXSL.cjs} +4 -4
  75. package/dist/{chunk-ECD6ER3E.cjs.map → chunk-AIZ6WXSL.cjs.map} +1 -1
  76. package/dist/{chunk-KO6SHCEH.js → chunk-AQW54OWQ.js} +3 -3
  77. package/dist/{chunk-KO6SHCEH.js.map → chunk-AQW54OWQ.js.map} +1 -1
  78. package/dist/{chunk-P22BZE7G.cjs → chunk-AT2PESXB.cjs} +7 -7
  79. package/dist/{chunk-P22BZE7G.cjs.map → chunk-AT2PESXB.cjs.map} +1 -1
  80. package/dist/{chunk-MHIBYKWA.js → chunk-BJ7BPLQK.js} +131 -72
  81. package/dist/chunk-BJ7BPLQK.js.map +1 -0
  82. package/dist/{chunk-HV4V63CO.js → chunk-BO3PV3OP.js} +4 -4
  83. package/dist/{chunk-HV4V63CO.js.map → chunk-BO3PV3OP.js.map} +1 -1
  84. package/dist/{chunk-7NQ7HJ3E.cjs → chunk-BRWI4HLK.cjs} +6 -6
  85. package/dist/{chunk-7NQ7HJ3E.cjs.map → chunk-BRWI4HLK.cjs.map} +1 -1
  86. package/dist/{chunk-GHHIJEFX.cjs → chunk-BWYC7RZG.cjs} +9 -9
  87. package/dist/{chunk-GHHIJEFX.cjs.map → chunk-BWYC7RZG.cjs.map} +1 -1
  88. package/dist/{chunk-UNFBHV46.cjs → chunk-CEGU5AVD.cjs} +9 -9
  89. package/dist/chunk-CEGU5AVD.cjs.map +1 -0
  90. package/dist/{chunk-JV7JA7BM.cjs → chunk-CGH4BCIY.cjs} +11 -11
  91. package/dist/{chunk-JV7JA7BM.cjs.map → chunk-CGH4BCIY.cjs.map} +1 -1
  92. package/dist/{chunk-L3C6CCBG.cjs → chunk-CWQPQTUZ.cjs} +21 -21
  93. package/dist/{chunk-L3C6CCBG.cjs.map → chunk-CWQPQTUZ.cjs.map} +1 -1
  94. package/dist/{chunk-X3LOJJMO.js → chunk-DF77RBF4.js} +9 -9
  95. package/dist/{chunk-X3LOJJMO.js.map → chunk-DF77RBF4.js.map} +1 -1
  96. package/dist/{chunk-GMSRRJ53.js → chunk-EEK7S77K.js} +3 -3
  97. package/dist/{chunk-GMSRRJ53.js.map → chunk-EEK7S77K.js.map} +1 -1
  98. package/dist/{chunk-NKIQTLFA.cjs → chunk-EQ5IDL6W.cjs} +4 -4
  99. package/dist/{chunk-NKIQTLFA.cjs.map → chunk-EQ5IDL6W.cjs.map} +1 -1
  100. package/dist/{chunk-D5KXKBEN.cjs → chunk-FEAWEBWN.cjs} +5 -5
  101. package/dist/{chunk-D5KXKBEN.cjs.map → chunk-FEAWEBWN.cjs.map} +1 -1
  102. package/dist/{chunk-NJSIAJEK.cjs → chunk-FLDMPVUC.cjs} +4 -4
  103. package/dist/{chunk-NJSIAJEK.cjs.map → chunk-FLDMPVUC.cjs.map} +1 -1
  104. package/dist/{chunk-ASK2OQM5.cjs → chunk-G7XBVM3T.cjs} +5 -5
  105. package/dist/{chunk-ASK2OQM5.cjs.map → chunk-G7XBVM3T.cjs.map} +1 -1
  106. package/dist/{chunk-U27XHOEF.js → chunk-H7G65PNI.js} +5 -5
  107. package/dist/{chunk-U27XHOEF.js.map → chunk-H7G65PNI.js.map} +1 -1
  108. package/dist/{chunk-JW3GVLM6.cjs → chunk-H7HD6RXO.cjs} +4 -4
  109. package/dist/{chunk-JW3GVLM6.cjs.map → chunk-H7HD6RXO.cjs.map} +1 -1
  110. package/dist/{chunk-ZHWKT2NI.js → chunk-HJ2LV464.js} +3 -3
  111. package/dist/{chunk-ZHWKT2NI.js.map → chunk-HJ2LV464.js.map} +1 -1
  112. package/dist/{chunk-KGZ66JVZ.cjs → chunk-HN4IKB6X.cjs} +14 -14
  113. package/dist/{chunk-KGZ66JVZ.cjs.map → chunk-HN4IKB6X.cjs.map} +1 -1
  114. package/dist/{chunk-XKMVJ443.js → chunk-HWMGR3HA.js} +6 -6
  115. package/dist/{chunk-XKMVJ443.js.map → chunk-HWMGR3HA.js.map} +1 -1
  116. package/dist/{chunk-EQ5NCH2Y.cjs → chunk-IO4RI5ZJ.cjs} +24 -24
  117. package/dist/{chunk-EQ5NCH2Y.cjs.map → chunk-IO4RI5ZJ.cjs.map} +1 -1
  118. package/dist/{chunk-OLSEWLK5.cjs → chunk-IOFMRS6T.cjs} +6 -6
  119. package/dist/{chunk-OLSEWLK5.cjs.map → chunk-IOFMRS6T.cjs.map} +1 -1
  120. package/dist/{chunk-7QJYKVP6.js → chunk-KCM3RMKR.js} +3 -3
  121. package/dist/{chunk-7QJYKVP6.js.map → chunk-KCM3RMKR.js.map} +1 -1
  122. package/dist/{chunk-7KIN3L2S.js → chunk-KU5O7WPK.js} +3 -3
  123. package/dist/{chunk-7KIN3L2S.js.map → chunk-KU5O7WPK.js.map} +1 -1
  124. package/dist/{chunk-J5623RIV.cjs → chunk-KX5QXLBS.cjs} +10 -10
  125. package/dist/{chunk-J5623RIV.cjs.map → chunk-KX5QXLBS.cjs.map} +1 -1
  126. package/dist/{chunk-J6GXS5A2.cjs → chunk-L7JPXZ2C.cjs} +17 -17
  127. package/dist/{chunk-J6GXS5A2.cjs.map → chunk-L7JPXZ2C.cjs.map} +1 -1
  128. package/dist/{chunk-P7NNKEWO.cjs → chunk-L7V4DDIE.cjs} +4 -4
  129. package/dist/{chunk-P7NNKEWO.cjs.map → chunk-L7V4DDIE.cjs.map} +1 -1
  130. package/dist/chunk-LO6LIUZ6.cjs +18 -0
  131. package/dist/{chunk-SGC7LSHF.cjs.map → chunk-LO6LIUZ6.cjs.map} +1 -1
  132. package/dist/{chunk-P5N3Q2NH.cjs → chunk-LSWHDOCL.cjs} +192 -148
  133. package/dist/chunk-LSWHDOCL.cjs.map +1 -0
  134. package/dist/{chunk-3JHIFQ4I.js → chunk-M4U24U6G.js} +3 -3
  135. package/dist/{chunk-3JHIFQ4I.js.map → chunk-M4U24U6G.js.map} +1 -1
  136. package/dist/{chunk-GGRPAQ3B.js → chunk-MLGETTYX.js} +5 -5
  137. package/dist/{chunk-GGRPAQ3B.js.map → chunk-MLGETTYX.js.map} +1 -1
  138. package/dist/{chunk-XZHJYSPB.js → chunk-MLJDW2YK.js} +4 -4
  139. package/dist/{chunk-XZHJYSPB.js.map → chunk-MLJDW2YK.js.map} +1 -1
  140. package/dist/{chunk-5Q4RTLMP.js → chunk-MS3TQSXU.js} +3 -3
  141. package/dist/{chunk-5Q4RTLMP.js.map → chunk-MS3TQSXU.js.map} +1 -1
  142. package/dist/{chunk-W2ZVTEOD.js → chunk-MSEL5E5P.js} +6 -6
  143. package/dist/{chunk-W2ZVTEOD.js.map → chunk-MSEL5E5P.js.map} +1 -1
  144. package/dist/{chunk-ZAM7BJXJ.cjs → chunk-MSW7LB2V.cjs} +5 -5
  145. package/dist/{chunk-ZAM7BJXJ.cjs.map → chunk-MSW7LB2V.cjs.map} +1 -1
  146. package/dist/{chunk-7HUCU3KK.js → chunk-NHOEXFZT.js} +5 -5
  147. package/dist/{chunk-7HUCU3KK.js.map → chunk-NHOEXFZT.js.map} +1 -1
  148. package/dist/{chunk-6G4IRQUD.js → chunk-NJBJ3CUG.js} +6 -6
  149. package/dist/{chunk-6G4IRQUD.js.map → chunk-NJBJ3CUG.js.map} +1 -1
  150. package/dist/{chunk-I2ORT6QD.js → chunk-NKQVLWDF.js} +3 -3
  151. package/dist/{chunk-I2ORT6QD.js.map → chunk-NKQVLWDF.js.map} +1 -1
  152. package/dist/{chunk-N7KS3TIR.cjs → chunk-NP362THY.cjs} +28 -15
  153. package/dist/chunk-NP362THY.cjs.map +1 -0
  154. package/dist/{chunk-NWS2CS3Y.cjs → chunk-NWWTYBD3.cjs} +5 -5
  155. package/dist/{chunk-NWS2CS3Y.cjs.map → chunk-NWWTYBD3.cjs.map} +1 -1
  156. package/dist/{chunk-SVQIW5RJ.js → chunk-OLJOI4LK.js} +4 -4
  157. package/dist/{chunk-SVQIW5RJ.js.map → chunk-OLJOI4LK.js.map} +1 -1
  158. package/dist/{chunk-7JAKO3NM.js → chunk-ORLTGPOS.js} +3 -3
  159. package/dist/{chunk-7JAKO3NM.js.map → chunk-ORLTGPOS.js.map} +1 -1
  160. package/dist/{chunk-5DD4NJN3.js → chunk-PKRPV3R7.js} +3 -3
  161. package/dist/{chunk-5DD4NJN3.js.map → chunk-PKRPV3R7.js.map} +1 -1
  162. package/dist/{chunk-R5YPDAKD.cjs → chunk-POBZXULR.cjs} +4 -4
  163. package/dist/{chunk-R5YPDAKD.cjs.map → chunk-POBZXULR.cjs.map} +1 -1
  164. package/dist/{chunk-35KBC4BX.cjs → chunk-Q6WT5535.cjs} +446 -387
  165. package/dist/chunk-Q6WT5535.cjs.map +1 -0
  166. package/dist/{chunk-MQGSOKR3.js → chunk-Q7UG242V.js} +3 -3
  167. package/dist/{chunk-MQGSOKR3.js.map → chunk-Q7UG242V.js.map} +1 -1
  168. package/dist/{chunk-XKZFIP7Z.cjs → chunk-QG4SXZ2A.cjs} +4 -4
  169. package/dist/{chunk-XKZFIP7Z.cjs.map → chunk-QG4SXZ2A.cjs.map} +1 -1
  170. package/dist/{chunk-NAGPKWOD.cjs → chunk-QISSETTG.cjs} +4 -4
  171. package/dist/{chunk-NAGPKWOD.cjs.map → chunk-QISSETTG.cjs.map} +1 -1
  172. package/dist/{chunk-OR6XIWLB.js → chunk-QK2ERTO3.js} +4 -4
  173. package/dist/{chunk-OR6XIWLB.js.map → chunk-QK2ERTO3.js.map} +1 -1
  174. package/dist/{chunk-ZDYDBXSD.js → chunk-RN3XDZGS.js} +6 -6
  175. package/dist/{chunk-ZDYDBXSD.js.map → chunk-RN3XDZGS.js.map} +1 -1
  176. package/dist/{chunk-6LHQPOMI.cjs → chunk-RNXXYF22.cjs} +66 -7
  177. package/dist/chunk-RNXXYF22.cjs.map +1 -0
  178. package/dist/{chunk-TMKTSYDS.cjs → chunk-RS7YQR4X.cjs} +6 -6
  179. package/dist/{chunk-TMKTSYDS.cjs.map → chunk-RS7YQR4X.cjs.map} +1 -1
  180. package/dist/{chunk-HU666T3Q.cjs → chunk-S46WJTDL.cjs} +14 -14
  181. package/dist/{chunk-HU666T3Q.cjs.map → chunk-S46WJTDL.cjs.map} +1 -1
  182. package/dist/{chunk-ZD66GFH5.cjs → chunk-SDZ4XDWS.cjs} +35 -35
  183. package/dist/{chunk-ZD66GFH5.cjs.map → chunk-SDZ4XDWS.cjs.map} +1 -1
  184. package/dist/{chunk-ZJZ7LV3A.js → chunk-SV63WTA2.js} +3 -3
  185. package/dist/{chunk-ZJZ7LV3A.js.map → chunk-SV63WTA2.js.map} +1 -1
  186. package/dist/{chunk-CQYBJOB2.cjs → chunk-SXH37C7X.cjs} +4 -4
  187. package/dist/{chunk-CQYBJOB2.cjs.map → chunk-SXH37C7X.cjs.map} +1 -1
  188. package/dist/{chunk-GMRFAX4I.js → chunk-SZQFCHU6.js} +4 -4
  189. package/dist/{chunk-GMRFAX4I.js.map → chunk-SZQFCHU6.js.map} +1 -1
  190. package/dist/{chunk-6PB5AQCY.cjs → chunk-TLVI2OQK.cjs} +16 -16
  191. package/dist/{chunk-6PB5AQCY.cjs.map → chunk-TLVI2OQK.cjs.map} +1 -1
  192. package/dist/{chunk-B5MHRQJZ.js → chunk-TNFOU6SB.js} +3 -3
  193. package/dist/chunk-TNFOU6SB.js.map +1 -0
  194. package/dist/{chunk-N6OEX5TN.cjs → chunk-UDAKAE4Z.cjs} +16 -16
  195. package/dist/{chunk-N6OEX5TN.cjs.map → chunk-UDAKAE4Z.cjs.map} +1 -1
  196. package/dist/{chunk-26NEAJ6T.js → chunk-VVGFZQZC.js} +4 -4
  197. package/dist/{chunk-26NEAJ6T.js.map → chunk-VVGFZQZC.js.map} +1 -1
  198. package/dist/{chunk-XCQ432OX.js → chunk-VZGE7NAI.js} +3 -3
  199. package/dist/{chunk-XCQ432OX.js.map → chunk-VZGE7NAI.js.map} +1 -1
  200. package/dist/{chunk-C7GKRGKN.cjs → chunk-WDVG5R2Q.cjs} +19 -19
  201. package/dist/{chunk-C7GKRGKN.cjs.map → chunk-WDVG5R2Q.cjs.map} +1 -1
  202. package/dist/{chunk-FTZTZBCU.js → chunk-XESYJ4JC.js} +4 -4
  203. package/dist/{chunk-FTZTZBCU.js.map → chunk-XESYJ4JC.js.map} +1 -1
  204. package/dist/{chunk-OPAKPEPG.js → chunk-XJ3WU5CZ.js} +5 -5
  205. package/dist/{chunk-OPAKPEPG.js.map → chunk-XJ3WU5CZ.js.map} +1 -1
  206. package/dist/{chunk-BBJ77S62.js → chunk-XJ4C4NFX.js} +64 -20
  207. package/dist/chunk-XJ4C4NFX.js.map +1 -0
  208. package/dist/{chunk-AY43232P.js → chunk-XRPMZ7TO.js} +4 -4
  209. package/dist/{chunk-AY43232P.js.map → chunk-XRPMZ7TO.js.map} +1 -1
  210. package/dist/{chunk-X6DUEDAF.js → chunk-XZKIAENA.js} +3 -3
  211. package/dist/{chunk-X6DUEDAF.js.map → chunk-XZKIAENA.js.map} +1 -1
  212. package/dist/{chunk-X7EUUHXU.js → chunk-YMVTUV5K.js} +3 -3
  213. package/dist/{chunk-X7EUUHXU.js.map → chunk-YMVTUV5K.js.map} +1 -1
  214. package/dist/{chunk-3JANYJYS.cjs → chunk-YOVZMN4P.cjs} +8 -8
  215. package/dist/{chunk-3JANYJYS.cjs.map → chunk-YOVZMN4P.cjs.map} +1 -1
  216. package/dist/{chunk-TY56BKSK.cjs → chunk-YQ3XC6C2.cjs} +4 -4
  217. package/dist/{chunk-TY56BKSK.cjs.map → chunk-YQ3XC6C2.cjs.map} +1 -1
  218. package/dist/{chunk-JLIRFWUG.js → chunk-ZJAYFSVI.js} +22 -9
  219. package/dist/chunk-ZJAYFSVI.js.map +1 -0
  220. package/dist/{chunk-MU7IAA7G.js → chunk-ZLFFDPXC.js} +9 -9
  221. package/dist/{chunk-MU7IAA7G.js.map → chunk-ZLFFDPXC.js.map} +1 -1
  222. package/dist/{chunk-JLRLCBJ4.cjs → chunk-ZOFRNNZD.cjs} +4 -4
  223. package/dist/{chunk-JLRLCBJ4.cjs.map → chunk-ZOFRNNZD.cjs.map} +1 -1
  224. package/dist/{chunk-MPQJE3G4.cjs → chunk-ZWLFHSON.cjs} +15 -15
  225. package/dist/{chunk-MPQJE3G4.cjs.map → chunk-ZWLFHSON.cjs.map} +1 -1
  226. package/dist/compact-session-3U2JYTVG.js +25 -0
  227. package/dist/{compact-session-4HAUP3HK.js.map → compact-session-3U2JYTVG.js.map} +1 -1
  228. package/dist/{compact-session-Y56D3S57.cjs → compact-session-NM56BREJ.cjs} +24 -24
  229. package/dist/{compact-session-Y56D3S57.cjs.map → compact-session-NM56BREJ.cjs.map} +1 -1
  230. package/dist/compaction.cjs +18 -18
  231. package/dist/compaction.js +3 -3
  232. package/dist/concurrency.cjs +6 -6
  233. package/dist/concurrency.js +4 -4
  234. package/dist/context/index.cjs +9 -9
  235. package/dist/context/index.js +6 -6
  236. package/dist/context-4RSI3AXT.cjs +24 -0
  237. package/dist/{context-B5J4GX2F.cjs.map → context-4RSI3AXT.cjs.map} +1 -1
  238. package/dist/context-7EBZST3L.js +7 -0
  239. package/dist/{context-3FZRAO5K.js.map → context-7EBZST3L.js.map} +1 -1
  240. package/dist/{cron-Blj6wMYg.d.cts → cron-BWDYetbq.d.cts} +2 -2
  241. package/dist/{cron-BPccQCO8.d.ts → cron-CHn-F0fC.d.ts} +2 -2
  242. package/dist/cron.cjs +42 -42
  243. package/dist/cron.d.cts +4 -4
  244. package/dist/cron.d.ts +4 -4
  245. package/dist/cron.js +41 -41
  246. package/dist/{errors-BWOJeWTZ.d.cts → errors-BiDQFWTG.d.cts} +10 -7
  247. package/dist/{errors-DDvG18IB.d.ts → errors-Pf22PJJ-.d.ts} +10 -7
  248. package/dist/errors.cjs +23 -23
  249. package/dist/errors.d.cts +2 -3
  250. package/dist/errors.d.ts +2 -3
  251. package/dist/errors.js +2 -2
  252. package/dist/eval.cjs +54 -54
  253. package/dist/eval.js +42 -42
  254. package/dist/{executor-3NI7KNL4.js → executor-3D2UDJHW.js} +8 -8
  255. package/dist/{executor-3NI7KNL4.js.map → executor-3D2UDJHW.js.map} +1 -1
  256. package/dist/{executor-2SUGI3ZT.cjs → executor-HKHT4CWS.cjs} +26 -26
  257. package/dist/{executor-2SUGI3ZT.cjs.map → executor-HKHT4CWS.cjs.map} +1 -1
  258. package/dist/filesystem/index.cjs +12 -12
  259. package/dist/filesystem/index.js +3 -3
  260. package/dist/fs-session-store-6ZCCJX3K.js +11 -0
  261. package/dist/{fs-session-store-3VI4CPTX.js.map → fs-session-store-6ZCCJX3K.js.map} +1 -1
  262. package/dist/fs-session-store-S2AXVJIX.cjs +20 -0
  263. package/dist/{fs-session-store-IQ6PEHYF.cjs.map → fs-session-store-S2AXVJIX.cjs.map} +1 -1
  264. package/dist/generate-object-S7MNVF2V.js +7 -0
  265. package/dist/{generate-object-NTKAWE7D.js.map → generate-object-S7MNVF2V.js.map} +1 -1
  266. package/dist/generate-object-XBWD2PU7.cjs +20 -0
  267. package/dist/{generate-object-YHTWG5DB.cjs.map → generate-object-XBWD2PU7.cjs.map} +1 -1
  268. package/dist/index-manager-HO456AVW.cjs +27 -0
  269. package/dist/{index-manager-YGXRFJMZ.cjs.map → index-manager-HO456AVW.cjs.map} +1 -1
  270. package/dist/index-manager-QDH56FER.js +18 -0
  271. package/dist/{index-manager-JVYIVTZG.js.map → index-manager-QDH56FER.js.map} +1 -1
  272. package/dist/index.cjs +172 -172
  273. package/dist/index.d.cts +9 -9
  274. package/dist/index.d.ts +9 -9
  275. package/dist/index.js +59 -59
  276. package/dist/{inject-session-R73PRM7B.cjs → inject-session-JVTZNQF6.cjs} +9 -9
  277. package/dist/{inject-session-R73PRM7B.cjs.map → inject-session-JVTZNQF6.cjs.map} +1 -1
  278. package/dist/{inject-session-LJX5JGV5.js → inject-session-THABTKJY.js} +7 -7
  279. package/dist/{inject-session-LJX5JGV5.js.map → inject-session-THABTKJY.js.map} +1 -1
  280. package/dist/interactive/index.cjs +4 -4
  281. package/dist/interactive/index.js +2 -2
  282. package/dist/internal/budget/normalize-usage.d.ts +5 -1
  283. package/dist/internal/error-mappers/openai-compatible.d.ts +3 -1
  284. package/dist/internal/memory/adapters/index.cjs +8 -8
  285. package/dist/internal/memory/adapters/index.js +7 -7
  286. package/dist/internal/memory/storage/index.cjs +42 -42
  287. package/dist/internal/memory/storage/index.js +10 -10
  288. package/dist/internal/persistence/index.cjs +25 -25
  289. package/dist/internal/persistence/index.js +8 -8
  290. package/dist/internal/providers/catalog-schema.d.ts +1 -1
  291. package/dist/internal/runtime/lifecycle/throw-on-error-run.d.ts +18 -0
  292. package/dist/internal/runtime/model-selection.d.ts +1 -1
  293. package/dist/internal/runtime/system-prompt/native-reasoning.d.ts +2 -2
  294. package/dist/internal/runtime/typed-run-error.d.ts +16 -0
  295. package/dist/internal/security/index.cjs +13 -13
  296. package/dist/internal/security/index.js +3 -3
  297. package/dist/judge-call-4LR4IFVT.js +5 -0
  298. package/dist/{judge-call-LOL5FQEX.js.map → judge-call-4LR4IFVT.js.map} +1 -1
  299. package/dist/judge-call-ZTUQMQRL.cjs +22 -0
  300. package/dist/{judge-call-AQQYK6VT.cjs.map → judge-call-ZTUQMQRL.cjs.map} +1 -1
  301. package/dist/mcp-auth.cjs +14 -14
  302. package/dist/mcp-auth.js +4 -4
  303. package/dist/models.cjs +22 -22
  304. package/dist/models.js +8 -8
  305. package/dist/oauth-transaction-store-OMX436YB.cjs +38 -0
  306. package/dist/{oauth-transaction-store-ZINDV7AF.cjs.map → oauth-transaction-store-OMX436YB.cjs.map} +1 -1
  307. package/dist/oauth-transaction-store-U34YLEGP.js +5 -0
  308. package/dist/{oauth-transaction-store-NP2YHZ6D.js.map → oauth-transaction-store-U34YLEGP.js.map} +1 -1
  309. package/dist/path-safety.cjs +10 -10
  310. package/dist/path-safety.js +3 -3
  311. package/dist/persistence.cjs +31 -31
  312. package/dist/persistence.js +10 -10
  313. package/dist/project.cjs +5 -5
  314. package/dist/project.js +3 -3
  315. package/dist/providers.cjs +9 -9
  316. package/dist/providers.js +7 -7
  317. package/dist/registry-5TDAF7RK.js +9 -0
  318. package/dist/{registry-5FK42CRV.js.map → registry-5TDAF7RK.js.map} +1 -1
  319. package/dist/registry-W7TSCLQO.cjs +46 -0
  320. package/dist/{registry-BVTNO73E.cjs.map → registry-W7TSCLQO.cjs.map} +1 -1
  321. package/dist/retry.cjs +4 -4
  322. package/dist/retry.js +3 -3
  323. package/dist/{run-until-DG2KXWB2.cjs → run-until-4KHVF7YC.cjs} +8 -4
  324. package/dist/run-until-4KHVF7YC.cjs.map +1 -0
  325. package/dist/{run-until-6D6TQ4JN.js → run-until-G6BW2DWM.js} +8 -4
  326. package/dist/run-until-G6BW2DWM.js.map +1 -0
  327. package/dist/sandbox/index.cjs +22 -22
  328. package/dist/sandbox/index.js +4 -4
  329. package/dist/{run-DsA5Ip2i.d.cts → sdk-agent-4-dXI2GS.d.cts} +1500 -753
  330. package/dist/{run-DsA5Ip2i.d.ts → sdk-agent-CTOJlWA_.d.ts} +1500 -753
  331. package/dist/server/auth/index.cjs +22 -22
  332. package/dist/server/auth/index.js +7 -7
  333. package/dist/server/errors-envelope.cjs +14 -14
  334. package/dist/server/errors-envelope.d.cts +2 -3
  335. package/dist/server/errors-envelope.d.ts +2 -3
  336. package/dist/server/errors-envelope.js +3 -3
  337. package/dist/session-transcript-7TZ6HXSX.cjs +62 -0
  338. package/dist/{session-transcript-RACG7BK2.cjs.map → session-transcript-7TZ6HXSX.cjs.map} +1 -1
  339. package/dist/session-transcript-BSHZYYY6.js +5 -0
  340. package/dist/{session-transcript-AR7IBICT.js.map → session-transcript-BSHZYYY6.js.map} +1 -1
  341. package/dist/skills.cjs +8 -8
  342. package/dist/skills.js +5 -5
  343. package/dist/stream-object-R6SMYV4R.js +7 -0
  344. package/dist/{stream-object-QAEHG4YO.js.map → stream-object-R6SMYV4R.js.map} +1 -1
  345. package/dist/stream-object-TEEK3CAX.cjs +20 -0
  346. package/dist/{stream-object-TKVGGA54.cjs.map → stream-object-TEEK3CAX.cjs.map} +1 -1
  347. package/dist/subagents-loader-TXOA5EJJ.cjs +16 -0
  348. package/dist/{subagents-loader-5TZCAIYQ.cjs.map → subagents-loader-TXOA5EJJ.cjs.map} +1 -1
  349. package/dist/subagents-loader-Z744TAKD.js +7 -0
  350. package/dist/{subagents-loader-PEV3PD4Q.js.map → subagents-loader-Z744TAKD.js.map} +1 -1
  351. package/dist/subagents-loader.cjs +7 -7
  352. package/dist/subagents-loader.d.cts +4 -3
  353. package/dist/subagents-loader.d.ts +4 -3
  354. package/dist/subagents-loader.js +5 -5
  355. package/dist/subscription/index.cjs +3 -3
  356. package/dist/subscription/index.js +2 -2
  357. package/dist/task-store.cjs +7 -7
  358. package/dist/task-store.js +4 -4
  359. package/dist/types/agent-prims.d.ts +16 -0
  360. package/dist/types/agent.d.ts +15 -6
  361. package/dist/types/run.d.ts +14 -14
  362. package/dist/workflow.cjs +27 -27
  363. package/dist/workflow.d.cts +2 -2
  364. package/dist/workflow.d.ts +2 -2
  365. package/dist/workflow.js +6 -6
  366. package/docs/error-codes.md +24 -23
  367. package/docs/harness-capability-map.md +4 -4
  368. package/package.json +1 -1
  369. package/dist/agent-DFV52V6E.js +0 -62
  370. package/dist/agent-OKP4LHG2.cjs +0 -71
  371. package/dist/agent-session-store-ODD3IZCW.js +0 -6
  372. package/dist/agent-session-store-SVEJHSUA.cjs +0 -23
  373. package/dist/chunk-35KBC4BX.cjs.map +0 -1
  374. package/dist/chunk-6LHQPOMI.cjs.map +0 -1
  375. package/dist/chunk-B5MHRQJZ.js.map +0 -1
  376. package/dist/chunk-BBJ77S62.js.map +0 -1
  377. package/dist/chunk-CZJ6Q7CW.js.map +0 -1
  378. package/dist/chunk-JLIRFWUG.js.map +0 -1
  379. package/dist/chunk-MHIBYKWA.js.map +0 -1
  380. package/dist/chunk-N7KS3TIR.cjs.map +0 -1
  381. package/dist/chunk-P5N3Q2NH.cjs.map +0 -1
  382. package/dist/chunk-SGC7LSHF.cjs +0 -18
  383. package/dist/chunk-UNFBHV46.cjs.map +0 -1
  384. package/dist/compact-session-4HAUP3HK.js +0 -25
  385. package/dist/context-3FZRAO5K.js +0 -7
  386. package/dist/context-B5J4GX2F.cjs +0 -24
  387. package/dist/fs-session-store-3VI4CPTX.js +0 -11
  388. package/dist/fs-session-store-IQ6PEHYF.cjs +0 -20
  389. package/dist/generate-object-NTKAWE7D.js +0 -7
  390. package/dist/generate-object-YHTWG5DB.cjs +0 -20
  391. package/dist/index-manager-JVYIVTZG.js +0 -18
  392. package/dist/index-manager-YGXRFJMZ.cjs +0 -27
  393. package/dist/judge-call-AQQYK6VT.cjs +0 -22
  394. package/dist/judge-call-LOL5FQEX.js +0 -5
  395. package/dist/oauth-transaction-store-NP2YHZ6D.js +0 -5
  396. package/dist/oauth-transaction-store-ZINDV7AF.cjs +0 -38
  397. package/dist/registry-5FK42CRV.js +0 -9
  398. package/dist/registry-BVTNO73E.cjs +0 -46
  399. package/dist/run-until-6D6TQ4JN.js.map +0 -1
  400. package/dist/run-until-DG2KXWB2.cjs.map +0 -1
  401. package/dist/sdk-agent-dNwjwCt5.d.cts +0 -940
  402. package/dist/sdk-agent-wEOLXD3F.d.ts +0 -940
  403. package/dist/session-transcript-AR7IBICT.js +0 -5
  404. package/dist/session-transcript-RACG7BK2.cjs +0 -62
  405. package/dist/stream-object-QAEHG4YO.js +0 -7
  406. package/dist/stream-object-TKVGGA54.cjs +0 -20
  407. package/dist/subagents-loader-5TZCAIYQ.cjs +0 -16
  408. package/dist/subagents-loader-PEV3PD4Q.js +0 -7
package/dist/providers.js CHANGED
@@ -1,11 +1,11 @@
1
- export { getProviderProfile, listProviders } from './chunk-I2ORT6QD.js';
2
- import './chunk-SVCPJRUB.js';
1
+ export { getProviderProfile, listProviders } from './chunk-NKQVLWDF.js';
2
+ import './chunk-5HSMH2ZZ.js';
3
3
  import './chunk-AGACYRJ2.js';
4
- import './chunk-TX56N7FR.js';
5
- import './chunk-5Q4RTLMP.js';
6
- import './chunk-H3CVJSFC.js';
4
+ import './chunk-3FSBE4PS.js';
5
+ import './chunk-MS3TQSXU.js';
6
+ import './chunk-5IUDICRK.js';
7
7
  import './chunk-Q7GYMXVC.js';
8
- import './chunk-B5MHRQJZ.js';
9
- import './chunk-CZJ6Q7CW.js';
8
+ import './chunk-TNFOU6SB.js';
9
+ import './chunk-3OY6H3I7.js';
10
10
  //# sourceMappingURL=providers.js.map
11
11
  //# sourceMappingURL=providers.js.map
@@ -0,0 +1,9 @@
1
+ export { __getSubscribersCountForTests, __resetTaskRegistryForTests, cancel, configure, get, list, submit, subscribe } from './chunk-HWMGR3HA.js';
2
+ import './chunk-K2BQQ445.js';
3
+ import './chunk-AHKS3DKI.js';
4
+ import './chunk-MLGETTYX.js';
5
+ import './chunk-M4U24U6G.js';
6
+ import './chunk-TNFOU6SB.js';
7
+ import './chunk-3OY6H3I7.js';
8
+ //# sourceMappingURL=registry-5TDAF7RK.js.map
9
+ //# sourceMappingURL=registry-5TDAF7RK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"registry-5FK42CRV.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"registry-5TDAF7RK.js"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var chunkL7JPXZ2C_cjs = require('./chunk-L7JPXZ2C.cjs');
4
+ require('./chunk-BUUUWQMB.cjs');
5
+ require('./chunk-FLDMPVUC.cjs');
6
+ require('./chunk-BWYC7RZG.cjs');
7
+ require('./chunk-ZOFRNNZD.cjs');
8
+ require('./chunk-CEGU5AVD.cjs');
9
+ require('./chunk-RNXXYF22.cjs');
10
+
11
+
12
+
13
+ Object.defineProperty(exports, "__getSubscribersCountForTests", {
14
+ enumerable: true,
15
+ get: function () { return chunkL7JPXZ2C_cjs.__getSubscribersCountForTests; }
16
+ });
17
+ Object.defineProperty(exports, "__resetTaskRegistryForTests", {
18
+ enumerable: true,
19
+ get: function () { return chunkL7JPXZ2C_cjs.__resetTaskRegistryForTests; }
20
+ });
21
+ Object.defineProperty(exports, "cancel", {
22
+ enumerable: true,
23
+ get: function () { return chunkL7JPXZ2C_cjs.cancel; }
24
+ });
25
+ Object.defineProperty(exports, "configure", {
26
+ enumerable: true,
27
+ get: function () { return chunkL7JPXZ2C_cjs.configure; }
28
+ });
29
+ Object.defineProperty(exports, "get", {
30
+ enumerable: true,
31
+ get: function () { return chunkL7JPXZ2C_cjs.get; }
32
+ });
33
+ Object.defineProperty(exports, "list", {
34
+ enumerable: true,
35
+ get: function () { return chunkL7JPXZ2C_cjs.list; }
36
+ });
37
+ Object.defineProperty(exports, "submit", {
38
+ enumerable: true,
39
+ get: function () { return chunkL7JPXZ2C_cjs.submit; }
40
+ });
41
+ Object.defineProperty(exports, "subscribe", {
42
+ enumerable: true,
43
+ get: function () { return chunkL7JPXZ2C_cjs.subscribe; }
44
+ });
45
+ //# sourceMappingURL=registry-W7TSCLQO.cjs.map
46
+ //# sourceMappingURL=registry-W7TSCLQO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"registry-BVTNO73E.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"registry-W7TSCLQO.cjs"}
package/dist/retry.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunk72CPLZPC_cjs = require('./chunk-72CPLZPC.cjs');
4
- require('./chunk-UNFBHV46.cjs');
5
- require('./chunk-6LHQPOMI.cjs');
3
+ var chunk7INPXUJI_cjs = require('./chunk-7INPXUJI.cjs');
4
+ require('./chunk-CEGU5AVD.cjs');
5
+ require('./chunk-RNXXYF22.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "Retry", {
10
10
  enumerable: true,
11
- get: function () { return chunk72CPLZPC_cjs.Retry; }
11
+ get: function () { return chunk7INPXUJI_cjs.Retry; }
12
12
  });
13
13
  //# sourceMappingURL=retry.cjs.map
14
14
  //# sourceMappingURL=retry.cjs.map
package/dist/retry.js CHANGED
@@ -1,5 +1,5 @@
1
- export { Retry } from './chunk-7F7XE6CM.js';
2
- import './chunk-B5MHRQJZ.js';
3
- import './chunk-CZJ6Q7CW.js';
1
+ export { Retry } from './chunk-2S4HQCDF.js';
2
+ import './chunk-TNFOU6SB.js';
3
+ import './chunk-3OY6H3I7.js';
4
4
  //# sourceMappingURL=retry.js.map
5
5
  //# sourceMappingURL=retry.js.map
@@ -46,8 +46,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
46
46
  if (signal.aborted) cancelOnAbort();
47
47
  else signal.addEventListener("abort", cancelOnAbort, { once: true });
48
48
  }
49
- const result = await run.wait();
50
- if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
49
+ let result;
50
+ try {
51
+ result = await run.wait();
52
+ } finally {
53
+ if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
54
+ }
51
55
  lastResponse = result.result ?? "";
52
56
  const turnTokens = result.usage?.totalTokens;
53
57
  if (typeof turnTokens === "number") tokensUsed += turnTokens;
@@ -145,5 +149,5 @@ ${lastResponse.slice(-1e3)}`
145
149
 
146
150
  exports.composeContinuation = composeContinuation;
147
151
  exports.runUntilImpl = runUntilImpl;
148
- //# sourceMappingURL=run-until-DG2KXWB2.cjs.map
149
- //# sourceMappingURL=run-until-DG2KXWB2.cjs.map
152
+ //# sourceMappingURL=run-until-4KHVF7YC.cjs.map
153
+ //# sourceMappingURL=run-until-4KHVF7YC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/runtime/lifecycle/run-until.ts"],"names":["GOAL_CONTINUATION_MARKER"],"mappings":"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","file":"run-until-4KHVF7YC.cjs","sourcesContent":["/**\n * Goal-driven Ralph loop (T3.2, ADRs D115-D121).\n *\n * `runUntilImpl` is an `AsyncGenerator<GoalEvent, GoalResult, void>`:\n * yields events as the loop progresses, returns the final result when\n * the goal completes, fails, or is paused. The auxiliary judge model is\n * injected via `deps.judge` so the generator stays free of the `Agent`\n * façade import.\n *\n * EC-C fix: pre-aborted signals emit only `[paused]`, not `[active, paused]`.\n * EC-D: `maxTurns: 0` is supported (vacuous yield active → failed).\n *\n * @internal\n */\n\nimport type { SDKAgent } from \"../../../types/agent.js\";\nimport type {\n GoalEvent,\n GoalOptions,\n GoalResult,\n JudgeResult,\n} from \"../../../types/goal-events.js\";\nimport type { JudgeContext, JudgeOptions } from \"../../judge/judge-call.js\";\nimport { GOAL_CONTINUATION_MARKER } from \"./goal-marker.js\";\n\n/** DI contract: the judge is the only external touchpoint. */\nexport interface RunUntilDeps {\n judge: (ctx: JudgeContext, opts?: JudgeOptions) => Promise<JudgeResult>;\n}\n\n/** The reason both in-loop abort checks report; the pre-loop one distinguishes itself. */\nconst ABORTED_MID_RUN = \"aborted via AbortSignal\";\n\n/**\n * The pause event, built in one place. Three sites emitted the same four-line literal with only the\n * reason varying — the same duplicated-knowledge shape as `finish` below, at the event boundary\n * instead of the result boundary.\n */\nconst pausedBy = (reason: string): GoalEvent => ({\n type: \"status_change\",\n status: \"paused\",\n reason,\n});\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: the goal-loop interleaves turn-start, send, judge, continuation, abort-check and failure-bail — extracting the CONTROL FLOW into helpers harms that linear narrative, and this defends only that. What it never covered were the nine hand-built result literals and the three pause events, which moved to `finish` and `pausedBy` above: neither removes a branch. Measured 2026-09-01: 43 -> 31 cognitive, 150 -> 117 lines.\nexport async function* runUntilImpl(\n agent: SDKAgent,\n goal: string,\n options: GoalOptions | undefined,\n deps: RunUntilDeps,\n): AsyncGenerator<GoalEvent, GoalResult, void> {\n const maxTurns = options?.maxTurns ?? 20;\n const maxFails = options?.maxConsecutiveJudgeFailures ?? 3;\n const tokenBudget = options?.tokenBudget; // M55 — undefined ⇒ unlimited\n const signal = options?.signal;\n // Use a function (not direct property access) so TS does not narrow\n // `signal.aborted` to `false | undefined` after the initial check.\n // AbortSignal.aborted is a getter that can flip true between calls.\n // biome-ignore lint/complexity/useOptionalChain: optional-chain would re-narrow signal?.aborted to `false | undefined` after the first check, defeating the purpose of this helper.\n const isAborted = (): boolean => signal !== undefined && signal.aborted;\n let turn = 0;\n let consecutiveFailures = 0;\n let tokensUsed = 0; // M55 — the observed sum (0 when usage is absent — fail-open)\n let lastResponse = \"\";\n /**\n * The one place a `GoalResult` is built. Every exit went through the same four-field literal with\n * only the status varying, nine times, each restating the convention that an empty final response\n * collapses to `undefined` — duplicated KNOWLEDGE, so adding a field to `GoalResult` was a\n * nine-site edit where missing one produces a result wrong on a single branch.\n *\n * It is a closure over `turn`, `tokensUsed` and `lastResponse` rather than a module function\n * precisely so the call sites stay one word long: the biome-ignore below argues that the loop's\n * narrative must read linearly, and this removes no branch and moves no decision.\n */\n const finish = (status: GoalResult[\"status\"]): GoalResult => ({\n status,\n turnsUsed: turn,\n tokensUsed,\n finalResponse: lastResponse || undefined,\n });\n\n // EC-C: signal already aborted BEFORE first event → emit only [paused].\n if (isAborted()) {\n yield pausedBy(\"aborted via AbortSignal before first turn\");\n // `turn` is 0 and `lastResponse` is \"\" at this point, so this is the literal it replaces.\n return finish(\"paused\");\n }\n\n yield { type: \"status_change\", status: \"active\", reason: \"Goal started\" };\n\n while (turn < maxTurns) {\n if (isAborted()) {\n yield pausedBy(ABORTED_MID_RUN);\n return finish(\"paused\");\n }\n\n turn += 1;\n yield { type: \"turn_start\", turn, goal };\n\n const continuationPrompt = turn === 1 ? goal : composeContinuation(goal, lastResponse);\n\n const run = await agent.send(continuationPrompt);\n // M55 review HIGH — thread the abort INTO the in-flight run: without this, Esc mid-turn is\n // cosmetic (the turn keeps mutating the workspace until it finishes on its own). `run.cancel()`\n // aborts the stream + in-flight tool calls (types/run.ts contract).\n // Called directly, not through a hand-written shape. `SDKAgent.send()` returns `Promise<Run>`\n // and `Run.cancel(): Promise<void>` is declared in `types/run.ts` — the cast re-declared, less\n // precisely, what the compiler already knew, and `cancel?.()` through it meant a rename would\n // keep compiling while Esc mid-turn silently went back to being cosmetic. Which is the exact\n // defect the comment above says this was added to fix.\n const cancelOnAbort = (): void => {\n void run.cancel();\n };\n if (signal !== undefined) {\n if (signal.aborted) cancelOnAbort();\n else signal.addEventListener(\"abort\", cancelOnAbort, { once: true });\n }\n // B-498 — in a `finally`: under `throwOnError` a failed turn's `wait()` rejects, and the\n // listener must not outlive the turn on the caller's signal.\n let result: Awaited<ReturnType<typeof run.wait>>;\n try {\n result = await run.wait();\n } finally {\n if (signal !== undefined) signal.removeEventListener(\"abort\", cancelOnAbort);\n }\n lastResponse = result.result ?? \"\";\n // M55 — token accounting fails open: it only sums when the run reports usage.\n const turnTokens = result.usage?.totalTokens;\n if (typeof turnTokens === \"number\") tokensUsed += turnTokens;\n // Re-check aborted right after the turn lands: a cancelled turn must NOT spend a judge call.\n if (isAborted()) {\n yield pausedBy(ABORTED_MID_RUN);\n return finish(\"paused\");\n }\n yield { type: \"agent_response\", turn, content: lastResponse };\n\n const judgeOpts: JudgeOptions = {};\n if (options?.judgeModel !== undefined) judgeOpts.judgeModel = options.judgeModel;\n if (options?.judgeApiKey !== undefined) judgeOpts.apiKey = options.judgeApiKey;\n // M80 — forwards the driven agent's model so the judge can derive when `judgeModel` is omitted.\n if (options?.agentModel !== undefined) judgeOpts.agentModel = options.agentModel;\n const judgeCtx: JudgeContext = { goal, lastResponse };\n if (options?.subgoals !== undefined) judgeCtx.subgoals = options.subgoals;\n const judgment = await deps.judge(judgeCtx, judgeOpts);\n yield {\n type: \"judge_verdict\",\n turn,\n verdict: judgment.verdict,\n reason: judgment.reason,\n parseFailed: judgment.parseFailed,\n };\n\n if (judgment.parseFailed) {\n consecutiveFailures += 1;\n if (consecutiveFailures >= maxFails) {\n yield {\n type: \"status_change\",\n status: \"failed\",\n reason: `judge model too unreliable (${consecutiveFailures} parse failures in a row)`,\n };\n return finish(\"failed\");\n }\n } else {\n consecutiveFailures = 0;\n }\n\n if (judgment.verdict === \"done\") {\n yield { type: \"status_change\", status: \"completed\", reason: judgment.reason };\n return finish(\"completed\");\n }\n // M80 — the missing arm. Without it, a judge recognizing impossibility could only say\n // \"continue\", and the loop repeated the same turn until it blew the budget — reporting `failed` on\n // a limit rather than `blocked` on impossibility. Two distinct causes with the same\n // visible outcome, and the consumer had to reconcile after the loop to tell them apart.\n if (judgment.verdict === \"blocked\") {\n yield { type: \"status_change\", status: \"blocked\", reason: judgment.reason };\n return finish(\"blocked\");\n }\n if (judgment.verdict === \"skipped\") {\n yield {\n type: \"status_change\",\n status: \"completed\",\n reason: `skipped: ${judgment.reason}`,\n };\n return finish(\"completed\");\n }\n\n // M55 — token-budget check AFTER the turn (Codex: gentle wind-down, stops the loop).\n if (tokenBudget !== undefined && tokensUsed >= tokenBudget) {\n yield {\n type: \"status_change\",\n status: \"budget_limited\",\n reason: `token budget (${tokenBudget}) reached: ${tokensUsed} used`,\n };\n return finish(\"budget_limited\");\n }\n\n yield { type: \"continuation\", turn, prompt: continuationPrompt };\n }\n\n yield {\n type: \"status_change\",\n status: \"failed\",\n reason: `max turns (${maxTurns}) exhausted`,\n };\n return finish(\"failed\");\n}\n\n/**\n * Build the continuation user message for turns 2+. Keeps last response\n * preview short so we don't bloat the prompt cache.\n *\n * @internal\n */\n\nexport function composeContinuation(goal: string, lastResponse: string): string {\n // M55 — Codex-faithful continuation (ext/goal templates/goals/continuation.md): keep the FULL\n // objective intact, work from current-state evidence, and audit completion requirement-by-requirement\n // before declaring done. Improves the quality of what the judge then evaluates.\n return [\n GOAL_CONTINUATION_MARKER,\n \"Continue working toward the active goal.\",\n \"\",\n `<objective>\\n${goal}\\n</objective>`,\n \"\",\n \"Continuation behavior:\",\n \"- This goal persists across turns. Keep the full objective intact; if it cannot be finished now,\",\n \" make concrete progress toward the real requested end state and do not redefine success around a\",\n \" smaller or easier task.\",\n \"\",\n \"Work from evidence:\",\n \"- Use the current worktree and external state as authoritative. Inspect the current state before\",\n \" relying on it. Improve, replace, or remove existing work as needed to satisfy the actual objective.\",\n \"\",\n \"Completion audit:\",\n \"- Before deciding the goal is achieved, treat completion as unproven and verify it against the actual\",\n \" current state, requirement by requirement. Treat uncertain or indirect evidence as not achieved.\",\n \"\",\n `Your last response was:\\n${lastResponse.slice(-1000)}`,\n ].join(\"\\n\");\n}\n"]}
@@ -44,8 +44,12 @@ async function* runUntilImpl(agent, goal, options, deps) {
44
44
  if (signal.aborted) cancelOnAbort();
45
45
  else signal.addEventListener("abort", cancelOnAbort, { once: true });
46
46
  }
47
- const result = await run.wait();
48
- if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
47
+ let result;
48
+ try {
49
+ result = await run.wait();
50
+ } finally {
51
+ if (signal !== void 0) signal.removeEventListener("abort", cancelOnAbort);
52
+ }
49
53
  lastResponse = result.result ?? "";
50
54
  const turnTokens = result.usage?.totalTokens;
51
55
  if (typeof turnTokens === "number") tokensUsed += turnTokens;
@@ -142,5 +146,5 @@ ${lastResponse.slice(-1e3)}`
142
146
  }
143
147
 
144
148
  export { composeContinuation, runUntilImpl };
145
- //# sourceMappingURL=run-until-6D6TQ4JN.js.map
146
- //# sourceMappingURL=run-until-6D6TQ4JN.js.map
149
+ //# sourceMappingURL=run-until-G6BW2DWM.js.map
150
+ //# sourceMappingURL=run-until-G6BW2DWM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/runtime/lifecycle/run-until.ts"],"names":[],"mappings":"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","file":"run-until-G6BW2DWM.js","sourcesContent":["/**\n * Goal-driven Ralph loop (T3.2, ADRs D115-D121).\n *\n * `runUntilImpl` is an `AsyncGenerator<GoalEvent, GoalResult, void>`:\n * yields events as the loop progresses, returns the final result when\n * the goal completes, fails, or is paused. The auxiliary judge model is\n * injected via `deps.judge` so the generator stays free of the `Agent`\n * façade import.\n *\n * EC-C fix: pre-aborted signals emit only `[paused]`, not `[active, paused]`.\n * EC-D: `maxTurns: 0` is supported (vacuous yield active → failed).\n *\n * @internal\n */\n\nimport type { SDKAgent } from \"../../../types/agent.js\";\nimport type {\n GoalEvent,\n GoalOptions,\n GoalResult,\n JudgeResult,\n} from \"../../../types/goal-events.js\";\nimport type { JudgeContext, JudgeOptions } from \"../../judge/judge-call.js\";\nimport { GOAL_CONTINUATION_MARKER } from \"./goal-marker.js\";\n\n/** DI contract: the judge is the only external touchpoint. */\nexport interface RunUntilDeps {\n judge: (ctx: JudgeContext, opts?: JudgeOptions) => Promise<JudgeResult>;\n}\n\n/** The reason both in-loop abort checks report; the pre-loop one distinguishes itself. */\nconst ABORTED_MID_RUN = \"aborted via AbortSignal\";\n\n/**\n * The pause event, built in one place. Three sites emitted the same four-line literal with only the\n * reason varying — the same duplicated-knowledge shape as `finish` below, at the event boundary\n * instead of the result boundary.\n */\nconst pausedBy = (reason: string): GoalEvent => ({\n type: \"status_change\",\n status: \"paused\",\n reason,\n});\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: the goal-loop interleaves turn-start, send, judge, continuation, abort-check and failure-bail — extracting the CONTROL FLOW into helpers harms that linear narrative, and this defends only that. What it never covered were the nine hand-built result literals and the three pause events, which moved to `finish` and `pausedBy` above: neither removes a branch. Measured 2026-09-01: 43 -> 31 cognitive, 150 -> 117 lines.\nexport async function* runUntilImpl(\n agent: SDKAgent,\n goal: string,\n options: GoalOptions | undefined,\n deps: RunUntilDeps,\n): AsyncGenerator<GoalEvent, GoalResult, void> {\n const maxTurns = options?.maxTurns ?? 20;\n const maxFails = options?.maxConsecutiveJudgeFailures ?? 3;\n const tokenBudget = options?.tokenBudget; // M55 — undefined ⇒ unlimited\n const signal = options?.signal;\n // Use a function (not direct property access) so TS does not narrow\n // `signal.aborted` to `false | undefined` after the initial check.\n // AbortSignal.aborted is a getter that can flip true between calls.\n // biome-ignore lint/complexity/useOptionalChain: optional-chain would re-narrow signal?.aborted to `false | undefined` after the first check, defeating the purpose of this helper.\n const isAborted = (): boolean => signal !== undefined && signal.aborted;\n let turn = 0;\n let consecutiveFailures = 0;\n let tokensUsed = 0; // M55 — the observed sum (0 when usage is absent — fail-open)\n let lastResponse = \"\";\n /**\n * The one place a `GoalResult` is built. Every exit went through the same four-field literal with\n * only the status varying, nine times, each restating the convention that an empty final response\n * collapses to `undefined` — duplicated KNOWLEDGE, so adding a field to `GoalResult` was a\n * nine-site edit where missing one produces a result wrong on a single branch.\n *\n * It is a closure over `turn`, `tokensUsed` and `lastResponse` rather than a module function\n * precisely so the call sites stay one word long: the biome-ignore below argues that the loop's\n * narrative must read linearly, and this removes no branch and moves no decision.\n */\n const finish = (status: GoalResult[\"status\"]): GoalResult => ({\n status,\n turnsUsed: turn,\n tokensUsed,\n finalResponse: lastResponse || undefined,\n });\n\n // EC-C: signal already aborted BEFORE first event → emit only [paused].\n if (isAborted()) {\n yield pausedBy(\"aborted via AbortSignal before first turn\");\n // `turn` is 0 and `lastResponse` is \"\" at this point, so this is the literal it replaces.\n return finish(\"paused\");\n }\n\n yield { type: \"status_change\", status: \"active\", reason: \"Goal started\" };\n\n while (turn < maxTurns) {\n if (isAborted()) {\n yield pausedBy(ABORTED_MID_RUN);\n return finish(\"paused\");\n }\n\n turn += 1;\n yield { type: \"turn_start\", turn, goal };\n\n const continuationPrompt = turn === 1 ? goal : composeContinuation(goal, lastResponse);\n\n const run = await agent.send(continuationPrompt);\n // M55 review HIGH — thread the abort INTO the in-flight run: without this, Esc mid-turn is\n // cosmetic (the turn keeps mutating the workspace until it finishes on its own). `run.cancel()`\n // aborts the stream + in-flight tool calls (types/run.ts contract).\n // Called directly, not through a hand-written shape. `SDKAgent.send()` returns `Promise<Run>`\n // and `Run.cancel(): Promise<void>` is declared in `types/run.ts` — the cast re-declared, less\n // precisely, what the compiler already knew, and `cancel?.()` through it meant a rename would\n // keep compiling while Esc mid-turn silently went back to being cosmetic. Which is the exact\n // defect the comment above says this was added to fix.\n const cancelOnAbort = (): void => {\n void run.cancel();\n };\n if (signal !== undefined) {\n if (signal.aborted) cancelOnAbort();\n else signal.addEventListener(\"abort\", cancelOnAbort, { once: true });\n }\n // B-498 — in a `finally`: under `throwOnError` a failed turn's `wait()` rejects, and the\n // listener must not outlive the turn on the caller's signal.\n let result: Awaited<ReturnType<typeof run.wait>>;\n try {\n result = await run.wait();\n } finally {\n if (signal !== undefined) signal.removeEventListener(\"abort\", cancelOnAbort);\n }\n lastResponse = result.result ?? \"\";\n // M55 — token accounting fails open: it only sums when the run reports usage.\n const turnTokens = result.usage?.totalTokens;\n if (typeof turnTokens === \"number\") tokensUsed += turnTokens;\n // Re-check aborted right after the turn lands: a cancelled turn must NOT spend a judge call.\n if (isAborted()) {\n yield pausedBy(ABORTED_MID_RUN);\n return finish(\"paused\");\n }\n yield { type: \"agent_response\", turn, content: lastResponse };\n\n const judgeOpts: JudgeOptions = {};\n if (options?.judgeModel !== undefined) judgeOpts.judgeModel = options.judgeModel;\n if (options?.judgeApiKey !== undefined) judgeOpts.apiKey = options.judgeApiKey;\n // M80 — forwards the driven agent's model so the judge can derive when `judgeModel` is omitted.\n if (options?.agentModel !== undefined) judgeOpts.agentModel = options.agentModel;\n const judgeCtx: JudgeContext = { goal, lastResponse };\n if (options?.subgoals !== undefined) judgeCtx.subgoals = options.subgoals;\n const judgment = await deps.judge(judgeCtx, judgeOpts);\n yield {\n type: \"judge_verdict\",\n turn,\n verdict: judgment.verdict,\n reason: judgment.reason,\n parseFailed: judgment.parseFailed,\n };\n\n if (judgment.parseFailed) {\n consecutiveFailures += 1;\n if (consecutiveFailures >= maxFails) {\n yield {\n type: \"status_change\",\n status: \"failed\",\n reason: `judge model too unreliable (${consecutiveFailures} parse failures in a row)`,\n };\n return finish(\"failed\");\n }\n } else {\n consecutiveFailures = 0;\n }\n\n if (judgment.verdict === \"done\") {\n yield { type: \"status_change\", status: \"completed\", reason: judgment.reason };\n return finish(\"completed\");\n }\n // M80 — the missing arm. Without it, a judge recognizing impossibility could only say\n // \"continue\", and the loop repeated the same turn until it blew the budget — reporting `failed` on\n // a limit rather than `blocked` on impossibility. Two distinct causes with the same\n // visible outcome, and the consumer had to reconcile after the loop to tell them apart.\n if (judgment.verdict === \"blocked\") {\n yield { type: \"status_change\", status: \"blocked\", reason: judgment.reason };\n return finish(\"blocked\");\n }\n if (judgment.verdict === \"skipped\") {\n yield {\n type: \"status_change\",\n status: \"completed\",\n reason: `skipped: ${judgment.reason}`,\n };\n return finish(\"completed\");\n }\n\n // M55 — token-budget check AFTER the turn (Codex: gentle wind-down, stops the loop).\n if (tokenBudget !== undefined && tokensUsed >= tokenBudget) {\n yield {\n type: \"status_change\",\n status: \"budget_limited\",\n reason: `token budget (${tokenBudget}) reached: ${tokensUsed} used`,\n };\n return finish(\"budget_limited\");\n }\n\n yield { type: \"continuation\", turn, prompt: continuationPrompt };\n }\n\n yield {\n type: \"status_change\",\n status: \"failed\",\n reason: `max turns (${maxTurns}) exhausted`,\n };\n return finish(\"failed\");\n}\n\n/**\n * Build the continuation user message for turns 2+. Keeps last response\n * preview short so we don't bloat the prompt cache.\n *\n * @internal\n */\n\nexport function composeContinuation(goal: string, lastResponse: string): string {\n // M55 — Codex-faithful continuation (ext/goal templates/goals/continuation.md): keep the FULL\n // objective intact, work from current-state evidence, and audit completion requirement-by-requirement\n // before declaring done. Improves the quality of what the judge then evaluates.\n return [\n GOAL_CONTINUATION_MARKER,\n \"Continue working toward the active goal.\",\n \"\",\n `<objective>\\n${goal}\\n</objective>`,\n \"\",\n \"Continuation behavior:\",\n \"- This goal persists across turns. Keep the full objective intact; if it cannot be finished now,\",\n \" make concrete progress toward the real requested end state and do not redefine success around a\",\n \" smaller or easier task.\",\n \"\",\n \"Work from evidence:\",\n \"- Use the current worktree and external state as authoritative. Inspect the current state before\",\n \" relying on it. Improve, replace, or remove existing work as needed to satisfy the actual objective.\",\n \"\",\n \"Completion audit:\",\n \"- Before deciding the goal is achieved, treat completion as unproven and verify it against the actual\",\n \" current state, requirement by requirement. Treat uncertain or indirect evidence as not achieved.\",\n \"\",\n `Your last response was:\\n${lastResponse.slice(-1000)}`,\n ].join(\"\\n\");\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunk7NQ7HJ3E_cjs = require('../chunk-7NQ7HJ3E.cjs');
3
+ var chunkBRWI4HLK_cjs = require('../chunk-BRWI4HLK.cjs');
4
4
  require('../chunk-2ZPEDVLM.cjs');
5
- var chunkUNFBHV46_cjs = require('../chunk-UNFBHV46.cjs');
6
- var chunk6LHQPOMI_cjs = require('../chunk-6LHQPOMI.cjs');
5
+ var chunkCEGU5AVD_cjs = require('../chunk-CEGU5AVD.cjs');
6
+ var chunkRNXXYF22_cjs = require('../chunk-RNXXYF22.cjs');
7
7
  var child_process = require('child_process');
8
8
  var fs = require('fs');
9
9
  var path = require('path');
@@ -214,8 +214,8 @@ function wrapCommandForSandbox(mode, opts, command) {
214
214
  if (argv === null) return null;
215
215
  const bin = opts.bin ?? "bwrap";
216
216
  const seccompArgv = opts.seccompPath !== void 0 ? ["--seccomp", "3"] : [];
217
- const base = `${chunk7NQ7HJ3E_cjs.shellEscapePosix(bin)} ${[...argv.slice(0, -1), ...seccompArgv, "--"].map(chunk7NQ7HJ3E_cjs.shellEscapePosix).join(" ")} /bin/sh -c ${chunk7NQ7HJ3E_cjs.shellEscapePosix(command)}`;
218
- return opts.seccompPath !== void 0 ? `${base} 3< ${chunk7NQ7HJ3E_cjs.shellEscapePosix(opts.seccompPath)}` : base;
217
+ const base = `${chunkBRWI4HLK_cjs.shellEscapePosix(bin)} ${[...argv.slice(0, -1), ...seccompArgv, "--"].map(chunkBRWI4HLK_cjs.shellEscapePosix).join(" ")} /bin/sh -c ${chunkBRWI4HLK_cjs.shellEscapePosix(command)}`;
218
+ return opts.seccompPath !== void 0 ? `${base} 3< ${chunkBRWI4HLK_cjs.shellEscapePosix(opts.seccompPath)}` : base;
219
219
  }
220
220
  var ENV_ALLOWLIST = [
221
221
  "PATH",
@@ -236,7 +236,7 @@ function allowlistedEnv(source = process.env) {
236
236
  }
237
237
  return out;
238
238
  }
239
- var LinuxSandbox = class extends chunk7NQ7HJ3E_cjs.LocalSandbox {
239
+ var LinuxSandbox = class extends chunkBRWI4HLK_cjs.LocalSandbox {
240
240
  mode;
241
241
  network;
242
242
  cwd;
@@ -286,7 +286,7 @@ var LinuxSandbox = class extends chunk7NQ7HJ3E_cjs.LocalSandbox {
286
286
  const target = path2.startsWith("/") ? path2 : `${this.cwd}/${path2}`;
287
287
  const b64 = Buffer.from(content).toString("base64");
288
288
  const r = await this.execute(
289
- `mkdir -p ${chunk7NQ7HJ3E_cjs.shellEscapePosix(path.dirname(target))} && printf %s ${chunk7NQ7HJ3E_cjs.shellEscapePosix(b64)} | base64 -d > ${chunk7NQ7HJ3E_cjs.shellEscapePosix(target)}`
289
+ `mkdir -p ${chunkBRWI4HLK_cjs.shellEscapePosix(path.dirname(target))} && printf %s ${chunkBRWI4HLK_cjs.shellEscapePosix(b64)} | base64 -d > ${chunkBRWI4HLK_cjs.shellEscapePosix(target)}`
290
290
  );
291
291
  if (r.exitCode !== 0) {
292
292
  throw new Error(
@@ -330,7 +330,7 @@ function seccompPathForArch(arch, warn) {
330
330
  var seccompFilterPath;
331
331
  function restrictedSeccompPath() {
332
332
  if (seccompFilterPath !== void 0) return seccompFilterPath ?? void 0;
333
- const path2 = seccompPathForArch(process.arch, (m) => console.warn(chunk6LHQPOMI_cjs.redactSecrets(m)));
333
+ const path2 = seccompPathForArch(process.arch, (m) => console.warn(chunkRNXXYF22_cjs.redactSecrets(m)));
334
334
  seccompFilterPath = path2 ?? null;
335
335
  return path2;
336
336
  }
@@ -350,17 +350,17 @@ function resolveSandboxPosture(opts) {
350
350
  }
351
351
  function createSandboxBackend(opts) {
352
352
  const config = { workDir: opts.workDir, timeoutMs: opts.timeoutMs };
353
- if (opts.mode === "danger-full-access") return new chunk7NQ7HJ3E_cjs.LocalSandbox(config);
353
+ if (opts.mode === "danger-full-access") return new chunkBRWI4HLK_cjs.LocalSandbox(config);
354
354
  const detection = (opts.detect ?? detectBwrapMemoized)();
355
355
  if (!detection.ok) {
356
356
  if (!warnedUnavailable) {
357
357
  warnedUnavailable = true;
358
- const warn = opts.warn ?? ((m) => console.warn(chunk6LHQPOMI_cjs.redactSecrets(m)));
358
+ const warn = opts.warn ?? ((m) => console.warn(chunkRNXXYF22_cjs.redactSecrets(m)));
359
359
  warn(
360
360
  `[sandbox] OS-level enforcement unavailable (${detection.reason}) \u2014 falling back to tool-level gating only (sandbox_mode=${opts.mode}).`
361
361
  );
362
362
  }
363
- return new chunk7NQ7HJ3E_cjs.LocalSandbox(config);
363
+ return new chunkBRWI4HLK_cjs.LocalSandbox(config);
364
364
  }
365
365
  return new LinuxSandbox(config, { mode: opts.mode, network: opts.network, bin: detection.bin });
366
366
  }
@@ -377,7 +377,7 @@ function decideConfinement(opts) {
377
377
  if (detection.ok) return detection.bin;
378
378
  if (!interactiveWarned) {
379
379
  interactiveWarned = true;
380
- const warn = opts.warn ?? ((m) => console.warn(chunk6LHQPOMI_cjs.redactSecrets(m)));
380
+ const warn = opts.warn ?? ((m) => console.warn(chunkRNXXYF22_cjs.redactSecrets(m)));
381
381
  warn(
382
382
  `[sandbox] OS-level enforcement unavailable (${detection.reason}) \u2014 interactive session runs WITHOUT kernel confinement (sandbox_mode=${opts.mode}).`
383
383
  );
@@ -403,7 +403,7 @@ function interactiveWrapCommand(opts) {
403
403
  }
404
404
 
405
405
  // src/sandbox/provision.ts
406
- var RepoProvisionError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
406
+ var RepoProvisionError = class extends chunkCEGU5AVD_cjs.TheokitAgentError {
407
407
  constructor(instanceId, message, options = {}) {
408
408
  super(`[${instanceId}] ${message}`, {
409
409
  code: "repo_provision_failed",
@@ -417,7 +417,7 @@ var RepoProvisionError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
417
417
  };
418
418
  var SAFE_INSTANCE_ID = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
419
419
  async function provisionRepo(sandboxOrOpts, maybeOpts) {
420
- const sandbox = maybeOpts !== void 0 ? sandboxOrOpts : new chunk7NQ7HJ3E_cjs.LocalSandbox();
420
+ const sandbox = maybeOpts !== void 0 ? sandboxOrOpts : new chunkBRWI4HLK_cjs.LocalSandbox();
421
421
  const opts = maybeOpts ?? sandboxOrOpts;
422
422
  const { repoUrl, ref, instanceId } = opts;
423
423
  if (!SAFE_INSTANCE_ID.test(instanceId)) {
@@ -430,20 +430,20 @@ async function provisionRepo(sandboxOrOpts, maybeOpts) {
430
430
  throw new RepoProvisionError(instanceId, `invalid ref: must not begin with '-' (got ${ref})`);
431
431
  }
432
432
  const clone = await sandbox.execute(
433
- `git -c protocol.ext.allow=never clone --quiet -- ${chunk7NQ7HJ3E_cjs.shellEscapePosix(repoUrl)} ${chunk7NQ7HJ3E_cjs.shellEscapePosix(instanceId)}`
433
+ `git -c protocol.ext.allow=never clone --quiet -- ${chunkBRWI4HLK_cjs.shellEscapePosix(repoUrl)} ${chunkBRWI4HLK_cjs.shellEscapePosix(instanceId)}`
434
434
  );
435
435
  if (clone.exitCode !== 0) {
436
436
  throw new RepoProvisionError(instanceId, `clone failed: ${clone.stderr.trim()}`);
437
437
  }
438
438
  const top = await sandbox.execute(
439
- `git -C ${chunk7NQ7HJ3E_cjs.shellEscapePosix(instanceId)} rev-parse --show-toplevel`
439
+ `git -C ${chunkBRWI4HLK_cjs.shellEscapePosix(instanceId)} rev-parse --show-toplevel`
440
440
  );
441
441
  if (top.exitCode !== 0) {
442
442
  throw new RepoProvisionError(instanceId, `resolve repoDir failed: ${top.stderr.trim()}`);
443
443
  }
444
444
  const repoDir = top.stdout.trim();
445
445
  const checkout = await sandbox.execute(
446
- `git -C ${chunk7NQ7HJ3E_cjs.shellEscapePosix(repoDir)} checkout --quiet ${chunk7NQ7HJ3E_cjs.shellEscapePosix(ref)}`
446
+ `git -C ${chunkBRWI4HLK_cjs.shellEscapePosix(repoDir)} checkout --quiet ${chunkBRWI4HLK_cjs.shellEscapePosix(ref)}`
447
447
  );
448
448
  if (checkout.exitCode !== 0) {
449
449
  throw new RepoProvisionError(instanceId, `checkout ${ref} failed: ${checkout.stderr.trim()}`);
@@ -453,23 +453,23 @@ async function provisionRepo(sandboxOrOpts, maybeOpts) {
453
453
 
454
454
  Object.defineProperty(exports, "LocalSandbox", {
455
455
  enumerable: true,
456
- get: function () { return chunk7NQ7HJ3E_cjs.LocalSandbox; }
456
+ get: function () { return chunkBRWI4HLK_cjs.LocalSandbox; }
457
457
  });
458
458
  Object.defineProperty(exports, "SandboxBackend", {
459
459
  enumerable: true,
460
- get: function () { return chunk7NQ7HJ3E_cjs.SandboxBackend; }
460
+ get: function () { return chunkBRWI4HLK_cjs.SandboxBackend; }
461
461
  });
462
462
  Object.defineProperty(exports, "SandboxNotAvailableError", {
463
463
  enumerable: true,
464
- get: function () { return chunk7NQ7HJ3E_cjs.SandboxNotAvailableError; }
464
+ get: function () { return chunkBRWI4HLK_cjs.SandboxNotAvailableError; }
465
465
  });
466
466
  Object.defineProperty(exports, "SandboxSecurityError", {
467
467
  enumerable: true,
468
- get: function () { return chunk7NQ7HJ3E_cjs.SandboxSecurityError; }
468
+ get: function () { return chunkBRWI4HLK_cjs.SandboxSecurityError; }
469
469
  });
470
470
  Object.defineProperty(exports, "resolveSandbox", {
471
471
  enumerable: true,
472
- get: function () { return chunk7NQ7HJ3E_cjs.resolveSandbox; }
472
+ get: function () { return chunkBRWI4HLK_cjs.resolveSandbox; }
473
473
  });
474
474
  exports.LinuxSandbox = LinuxSandbox;
475
475
  exports.RepoProvisionError = RepoProvisionError;
@@ -1,8 +1,8 @@
1
- import { shellEscapePosix, LocalSandbox } from '../chunk-GMSRRJ53.js';
2
- export { LocalSandbox, SandboxBackend, SandboxNotAvailableError, SandboxSecurityError, resolveSandbox } from '../chunk-GMSRRJ53.js';
1
+ import { shellEscapePosix, LocalSandbox } from '../chunk-EEK7S77K.js';
2
+ export { LocalSandbox, SandboxBackend, SandboxNotAvailableError, SandboxSecurityError, resolveSandbox } from '../chunk-EEK7S77K.js';
3
3
  import '../chunk-HKCKOAIO.js';
4
- import { TheokitAgentError } from '../chunk-B5MHRQJZ.js';
5
- import { redactSecrets } from '../chunk-CZJ6Q7CW.js';
4
+ import { TheokitAgentError } from '../chunk-TNFOU6SB.js';
5
+ import { redactSecrets } from '../chunk-3OY6H3I7.js';
6
6
  import { execFileSync } from 'child_process';
7
7
  import { existsSync, mkdtempSync, writeFileSync, rmSync } from 'fs';
8
8
  import path, { dirname, join } from 'path';