@theokit/sdk 0.0.0-compat-580-20260905204608

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 (1141) hide show
  1. package/CHANGELOG.md +7923 -0
  2. package/LICENSE +201 -0
  3. package/README.md +114 -0
  4. package/dist/a2a/agent-mailbox.d.cts +54 -0
  5. package/dist/a2a/agent-mailbox.d.ts +54 -0
  6. package/dist/a2a/index.cjs +138 -0
  7. package/dist/a2a/index.cjs.map +1 -0
  8. package/dist/a2a/index.d.cts +10 -0
  9. package/dist/a2a/index.d.ts +10 -0
  10. package/dist/a2a/index.js +125 -0
  11. package/dist/a2a/index.js.map +1 -0
  12. package/dist/a2a/message-bus.d.cts +118 -0
  13. package/dist/a2a/message-bus.d.ts +118 -0
  14. package/dist/a2a/subagent.d.cts +231 -0
  15. package/dist/a2a/subagent.d.ts +231 -0
  16. package/dist/a2a/types.d.cts +45 -0
  17. package/dist/a2a/types.d.ts +45 -0
  18. package/dist/agent-ARLOD4JX.cjs +67 -0
  19. package/dist/agent-ARLOD4JX.cjs.map +1 -0
  20. package/dist/agent-C3KO5LKm.d.cts +1871 -0
  21. package/dist/agent-CvmTR9uf.d.ts +1871 -0
  22. package/dist/agent-N6WJ54ML.js +58 -0
  23. package/dist/agent-N6WJ54ML.js.map +1 -0
  24. package/dist/agent-builder.d.ts +72 -0
  25. package/dist/agent-factory-registry-UU46BUMU.cjs +16 -0
  26. package/dist/agent-factory-registry-UU46BUMU.cjs.map +1 -0
  27. package/dist/agent-factory-registry-ZVTABLEY.js +3 -0
  28. package/dist/agent-factory-registry-ZVTABLEY.js.map +1 -0
  29. package/dist/agent-factory.d.ts +24 -0
  30. package/dist/agent-generate.d.ts +12 -0
  31. package/dist/agent-session-store-AFML3AXC.js +6 -0
  32. package/dist/agent-session-store-AFML3AXC.js.map +1 -0
  33. package/dist/agent-session-store-MTSIY3MH.cjs +23 -0
  34. package/dist/agent-session-store-MTSIY3MH.cjs.map +1 -0
  35. package/dist/agent.d.ts +276 -0
  36. package/dist/auth/index.cjs +306 -0
  37. package/dist/auth/index.cjs.map +1 -0
  38. package/dist/auth/index.d.cts +34 -0
  39. package/dist/auth/index.d.ts +34 -0
  40. package/dist/auth/index.js +247 -0
  41. package/dist/auth/index.js.map +1 -0
  42. package/dist/batch-I6T6MXZO.cjs +263 -0
  43. package/dist/batch-I6T6MXZO.cjs.map +1 -0
  44. package/dist/batch-US4F6WPK.js +260 -0
  45. package/dist/batch-US4F6WPK.js.map +1 -0
  46. package/dist/chunk-24MGQDK3.js +31 -0
  47. package/dist/chunk-24MGQDK3.js.map +1 -0
  48. package/dist/chunk-24SYBZPL.cjs +121 -0
  49. package/dist/chunk-24SYBZPL.cjs.map +1 -0
  50. package/dist/chunk-2HPNT6HH.cjs +3373 -0
  51. package/dist/chunk-2HPNT6HH.cjs.map +1 -0
  52. package/dist/chunk-2SFBB54R.js +23 -0
  53. package/dist/chunk-2SFBB54R.js.map +1 -0
  54. package/dist/chunk-2WXHA33T.js +105 -0
  55. package/dist/chunk-2WXHA33T.js.map +1 -0
  56. package/dist/chunk-2XC6KDJM.js +22 -0
  57. package/dist/chunk-2XC6KDJM.js.map +1 -0
  58. package/dist/chunk-2XRAWOZZ.js +172 -0
  59. package/dist/chunk-2XRAWOZZ.js.map +1 -0
  60. package/dist/chunk-2ZPEDVLM.cjs +59 -0
  61. package/dist/chunk-2ZPEDVLM.cjs.map +1 -0
  62. package/dist/chunk-3EE6LVWT.cjs +29 -0
  63. package/dist/chunk-3EE6LVWT.cjs.map +1 -0
  64. package/dist/chunk-3JHIFQ4I.js +102 -0
  65. package/dist/chunk-3JHIFQ4I.js.map +1 -0
  66. package/dist/chunk-44I6UYVH.js +133 -0
  67. package/dist/chunk-44I6UYVH.js.map +1 -0
  68. package/dist/chunk-47TF32NQ.js +79 -0
  69. package/dist/chunk-47TF32NQ.js.map +1 -0
  70. package/dist/chunk-4A3SKJ53.cjs +297 -0
  71. package/dist/chunk-4A3SKJ53.cjs.map +1 -0
  72. package/dist/chunk-4HS6FFGL.cjs +433 -0
  73. package/dist/chunk-4HS6FFGL.cjs.map +1 -0
  74. package/dist/chunk-4MMWFSCD.js +25 -0
  75. package/dist/chunk-4MMWFSCD.js.map +1 -0
  76. package/dist/chunk-4NLCWGH7.cjs +177 -0
  77. package/dist/chunk-4NLCWGH7.cjs.map +1 -0
  78. package/dist/chunk-55GB6JYQ.js +208 -0
  79. package/dist/chunk-55GB6JYQ.js.map +1 -0
  80. package/dist/chunk-5WKQDIGO.js +136 -0
  81. package/dist/chunk-5WKQDIGO.js.map +1 -0
  82. package/dist/chunk-67SBTGMA.cjs +457 -0
  83. package/dist/chunk-67SBTGMA.cjs.map +1 -0
  84. package/dist/chunk-6LHQPOMI.cjs +193 -0
  85. package/dist/chunk-6LHQPOMI.cjs.map +1 -0
  86. package/dist/chunk-6M2OIS4Y.js +158 -0
  87. package/dist/chunk-6M2OIS4Y.js.map +1 -0
  88. package/dist/chunk-6PWOWXMC.js +121 -0
  89. package/dist/chunk-6PWOWXMC.js.map +1 -0
  90. package/dist/chunk-6X6ID4MO.js +20 -0
  91. package/dist/chunk-6X6ID4MO.js.map +1 -0
  92. package/dist/chunk-7A6535RA.cjs +231 -0
  93. package/dist/chunk-7A6535RA.cjs.map +1 -0
  94. package/dist/chunk-7FDKWDA2.cjs +135 -0
  95. package/dist/chunk-7FDKWDA2.cjs.map +1 -0
  96. package/dist/chunk-7I5Z3UBJ.js +10 -0
  97. package/dist/chunk-7I5Z3UBJ.js.map +1 -0
  98. package/dist/chunk-7JJ3A6AT.cjs +88 -0
  99. package/dist/chunk-7JJ3A6AT.cjs.map +1 -0
  100. package/dist/chunk-7SZAV6QG.js +593 -0
  101. package/dist/chunk-7SZAV6QG.js.map +1 -0
  102. package/dist/chunk-A4RAL2ER.cjs +51 -0
  103. package/dist/chunk-A4RAL2ER.cjs.map +1 -0
  104. package/dist/chunk-AA27GEYS.cjs +12 -0
  105. package/dist/chunk-AA27GEYS.cjs.map +1 -0
  106. package/dist/chunk-AAEZSPTC.js +133 -0
  107. package/dist/chunk-AAEZSPTC.js.map +1 -0
  108. package/dist/chunk-AGACYRJ2.js +11 -0
  109. package/dist/chunk-AGACYRJ2.js.map +1 -0
  110. package/dist/chunk-ALUN2B4W.js +356 -0
  111. package/dist/chunk-ALUN2B4W.js.map +1 -0
  112. package/dist/chunk-ANMJJD6D.cjs +18 -0
  113. package/dist/chunk-ANMJJD6D.cjs.map +1 -0
  114. package/dist/chunk-ATT276RD.cjs +173 -0
  115. package/dist/chunk-ATT276RD.cjs.map +1 -0
  116. package/dist/chunk-AW6F6HZR.js +166 -0
  117. package/dist/chunk-AW6F6HZR.js.map +1 -0
  118. package/dist/chunk-AWINL3ZC.js +109 -0
  119. package/dist/chunk-AWINL3ZC.js.map +1 -0
  120. package/dist/chunk-BJUJT5ED.cjs +186 -0
  121. package/dist/chunk-BJUJT5ED.cjs.map +1 -0
  122. package/dist/chunk-BUUUWQMB.cjs +34 -0
  123. package/dist/chunk-BUUUWQMB.cjs.map +1 -0
  124. package/dist/chunk-BV2MWEMV.cjs +26 -0
  125. package/dist/chunk-BV2MWEMV.cjs.map +1 -0
  126. package/dist/chunk-CFE6QF2Q.js +221 -0
  127. package/dist/chunk-CFE6QF2Q.js.map +1 -0
  128. package/dist/chunk-CZJ6Q7CW.js +183 -0
  129. package/dist/chunk-CZJ6Q7CW.js.map +1 -0
  130. package/dist/chunk-D3CCY3A2.cjs +10995 -0
  131. package/dist/chunk-D3CCY3A2.cjs.map +1 -0
  132. package/dist/chunk-D6POWE7E.cjs +210 -0
  133. package/dist/chunk-D6POWE7E.cjs.map +1 -0
  134. package/dist/chunk-DMRT67Y6.js +100 -0
  135. package/dist/chunk-DMRT67Y6.js.map +1 -0
  136. package/dist/chunk-DQZU7JK6.cjs +125 -0
  137. package/dist/chunk-DQZU7JK6.cjs.map +1 -0
  138. package/dist/chunk-EFMFILPG.js +77 -0
  139. package/dist/chunk-EFMFILPG.js.map +1 -0
  140. package/dist/chunk-EH6XD3FY.js +222 -0
  141. package/dist/chunk-EH6XD3FY.js.map +1 -0
  142. package/dist/chunk-EIQFAOFD.js +229 -0
  143. package/dist/chunk-EIQFAOFD.js.map +1 -0
  144. package/dist/chunk-EPSICJLZ.js +79 -0
  145. package/dist/chunk-EPSICJLZ.js.map +1 -0
  146. package/dist/chunk-EXTRW7GW.cjs +155 -0
  147. package/dist/chunk-EXTRW7GW.cjs.map +1 -0
  148. package/dist/chunk-FD2UT76F.js +3 -0
  149. package/dist/chunk-FD2UT76F.js.map +1 -0
  150. package/dist/chunk-FJWQP6EE.js +122 -0
  151. package/dist/chunk-FJWQP6EE.js.map +1 -0
  152. package/dist/chunk-FRITRLZQ.cjs +24 -0
  153. package/dist/chunk-FRITRLZQ.cjs.map +1 -0
  154. package/dist/chunk-FUSDYC2B.cjs +280 -0
  155. package/dist/chunk-FUSDYC2B.cjs.map +1 -0
  156. package/dist/chunk-G7BLGBRN.js +43 -0
  157. package/dist/chunk-G7BLGBRN.js.map +1 -0
  158. package/dist/chunk-GBCVPKHE.js +282 -0
  159. package/dist/chunk-GBCVPKHE.js.map +1 -0
  160. package/dist/chunk-GHX4P3V2.cjs +34 -0
  161. package/dist/chunk-GHX4P3V2.cjs.map +1 -0
  162. package/dist/chunk-GZV6AVRL.cjs +282 -0
  163. package/dist/chunk-GZV6AVRL.cjs.map +1 -0
  164. package/dist/chunk-H73MEMQB.js +31 -0
  165. package/dist/chunk-H73MEMQB.js.map +1 -0
  166. package/dist/chunk-HCT4HPCL.cjs +235 -0
  167. package/dist/chunk-HCT4HPCL.cjs.map +1 -0
  168. package/dist/chunk-HFEJE7AC.js +424 -0
  169. package/dist/chunk-HFEJE7AC.js.map +1 -0
  170. package/dist/chunk-HKCKOAIO.js +57 -0
  171. package/dist/chunk-HKCKOAIO.js.map +1 -0
  172. package/dist/chunk-HUFSABUZ.cjs +48 -0
  173. package/dist/chunk-HUFSABUZ.cjs.map +1 -0
  174. package/dist/chunk-HW7SEELD.cjs +46 -0
  175. package/dist/chunk-HW7SEELD.cjs.map +1 -0
  176. package/dist/chunk-HY66GLM6.js +13 -0
  177. package/dist/chunk-HY66GLM6.js.map +1 -0
  178. package/dist/chunk-I2PWY7VM.cjs +27 -0
  179. package/dist/chunk-I2PWY7VM.cjs.map +1 -0
  180. package/dist/chunk-IJ7M6GOG.cjs +28 -0
  181. package/dist/chunk-IJ7M6GOG.cjs.map +1 -0
  182. package/dist/chunk-IU5N5224.cjs +288 -0
  183. package/dist/chunk-IU5N5224.cjs.map +1 -0
  184. package/dist/chunk-IUMAQURF.js +130 -0
  185. package/dist/chunk-IUMAQURF.js.map +1 -0
  186. package/dist/chunk-J7J7J2GN.cjs +377 -0
  187. package/dist/chunk-J7J7J2GN.cjs.map +1 -0
  188. package/dist/chunk-JLRLCBJ4.cjs +108 -0
  189. package/dist/chunk-JLRLCBJ4.cjs.map +1 -0
  190. package/dist/chunk-JMDDYA22.js +171 -0
  191. package/dist/chunk-JMDDYA22.js.map +1 -0
  192. package/dist/chunk-JNAA4G4H.js +43 -0
  193. package/dist/chunk-JNAA4G4H.js.map +1 -0
  194. package/dist/chunk-JOFVLOFY.js +268 -0
  195. package/dist/chunk-JOFVLOFY.js.map +1 -0
  196. package/dist/chunk-K2BQQ445.js +30 -0
  197. package/dist/chunk-K2BQQ445.js.map +1 -0
  198. package/dist/chunk-K2VMFZQ5.js +487 -0
  199. package/dist/chunk-K2VMFZQ5.js.map +1 -0
  200. package/dist/chunk-K3NH62DG.js +3343 -0
  201. package/dist/chunk-K3NH62DG.js.map +1 -0
  202. package/dist/chunk-KGANQYP7.cjs +172 -0
  203. package/dist/chunk-KGANQYP7.cjs.map +1 -0
  204. package/dist/chunk-KRD3GQAA.cjs +71 -0
  205. package/dist/chunk-KRD3GQAA.cjs.map +1 -0
  206. package/dist/chunk-KTTHHYEW.cjs +45 -0
  207. package/dist/chunk-KTTHHYEW.cjs.map +1 -0
  208. package/dist/chunk-KVNWIAO4.js +68 -0
  209. package/dist/chunk-KVNWIAO4.js.map +1 -0
  210. package/dist/chunk-KVSAY6NZ.cjs +497 -0
  211. package/dist/chunk-KVSAY6NZ.cjs.map +1 -0
  212. package/dist/chunk-LOHMT36V.cjs +178 -0
  213. package/dist/chunk-LOHMT36V.cjs.map +1 -0
  214. package/dist/chunk-LX7SEXOQ.js +152 -0
  215. package/dist/chunk-LX7SEXOQ.js.map +1 -0
  216. package/dist/chunk-MUUQ2WFJ.cjs +4 -0
  217. package/dist/chunk-MUUQ2WFJ.cjs.map +1 -0
  218. package/dist/chunk-N6OOOYFZ.js +281 -0
  219. package/dist/chunk-N6OOOYFZ.js.map +1 -0
  220. package/dist/chunk-NAF4L3T6.js +22 -0
  221. package/dist/chunk-NAF4L3T6.js.map +1 -0
  222. package/dist/chunk-NINIJCHU.cjs +23 -0
  223. package/dist/chunk-NINIJCHU.cjs.map +1 -0
  224. package/dist/chunk-NJWYQWDL.js +43 -0
  225. package/dist/chunk-NJWYQWDL.js.map +1 -0
  226. package/dist/chunk-NQTD6QOW.cjs +226 -0
  227. package/dist/chunk-NQTD6QOW.cjs.map +1 -0
  228. package/dist/chunk-NQTNSHSB.cjs +843 -0
  229. package/dist/chunk-NQTNSHSB.cjs.map +1 -0
  230. package/dist/chunk-NVXXWAU7.cjs +13 -0
  231. package/dist/chunk-NVXXWAU7.cjs.map +1 -0
  232. package/dist/chunk-NYQ3IS7K.cjs +130 -0
  233. package/dist/chunk-NYQ3IS7K.cjs.map +1 -0
  234. package/dist/chunk-O6USDERH.js +165 -0
  235. package/dist/chunk-O6USDERH.js.map +1 -0
  236. package/dist/chunk-OBA6YK2R.cjs +8 -0
  237. package/dist/chunk-OBA6YK2R.cjs.map +1 -0
  238. package/dist/chunk-OQRGVTQF.js +169 -0
  239. package/dist/chunk-OQRGVTQF.js.map +1 -0
  240. package/dist/chunk-OR6XIWLB.js +19 -0
  241. package/dist/chunk-OR6XIWLB.js.map +1 -0
  242. package/dist/chunk-OYD3U3LY.js +10981 -0
  243. package/dist/chunk-OYD3U3LY.js.map +1 -0
  244. package/dist/chunk-PRZ3BES7.cjs +79 -0
  245. package/dist/chunk-PRZ3BES7.cjs.map +1 -0
  246. package/dist/chunk-PY2RQOA7.js +6 -0
  247. package/dist/chunk-PY2RQOA7.js.map +1 -0
  248. package/dist/chunk-Q5EWJPRY.js +18 -0
  249. package/dist/chunk-Q5EWJPRY.js.map +1 -0
  250. package/dist/chunk-QATRS7JD.cjs +158 -0
  251. package/dist/chunk-QATRS7JD.cjs.map +1 -0
  252. package/dist/chunk-QC55H6RJ.cjs +601 -0
  253. package/dist/chunk-QC55H6RJ.cjs.map +1 -0
  254. package/dist/chunk-QDM3OHUT.cjs +134 -0
  255. package/dist/chunk-QDM3OHUT.cjs.map +1 -0
  256. package/dist/chunk-QKLOP4VC.cjs +90 -0
  257. package/dist/chunk-QKLOP4VC.cjs.map +1 -0
  258. package/dist/chunk-QOGNZMHD.cjs +34 -0
  259. package/dist/chunk-QOGNZMHD.cjs.map +1 -0
  260. package/dist/chunk-QWD3CZWE.cjs +108 -0
  261. package/dist/chunk-QWD3CZWE.cjs.map +1 -0
  262. package/dist/chunk-QWD4RDZ3.cjs +136 -0
  263. package/dist/chunk-QWD4RDZ3.cjs.map +1 -0
  264. package/dist/chunk-QYLZQ43D.cjs +172 -0
  265. package/dist/chunk-QYLZQ43D.cjs.map +1 -0
  266. package/dist/chunk-R7WIIPUR.js +27 -0
  267. package/dist/chunk-R7WIIPUR.js.map +1 -0
  268. package/dist/chunk-RQMCOFAI.cjs +85 -0
  269. package/dist/chunk-RQMCOFAI.cjs.map +1 -0
  270. package/dist/chunk-SA6K24NB.cjs +25 -0
  271. package/dist/chunk-SA6K24NB.cjs.map +1 -0
  272. package/dist/chunk-SADXXGWU.js +809 -0
  273. package/dist/chunk-SADXXGWU.js.map +1 -0
  274. package/dist/chunk-SAGRF4IB.js +25 -0
  275. package/dist/chunk-SAGRF4IB.js.map +1 -0
  276. package/dist/chunk-SVQIW5RJ.js +81 -0
  277. package/dist/chunk-SVQIW5RJ.js.map +1 -0
  278. package/dist/chunk-TA3K7SBK.js +180 -0
  279. package/dist/chunk-TA3K7SBK.js.map +1 -0
  280. package/dist/chunk-TFG5IBZS.cjs +139 -0
  281. package/dist/chunk-TFG5IBZS.cjs.map +1 -0
  282. package/dist/chunk-TMKTSYDS.cjs +21 -0
  283. package/dist/chunk-TMKTSYDS.cjs.map +1 -0
  284. package/dist/chunk-UADQJBHR.cjs +172 -0
  285. package/dist/chunk-UADQJBHR.cjs.map +1 -0
  286. package/dist/chunk-UBR5PWD7.js +275 -0
  287. package/dist/chunk-UBR5PWD7.js.map +1 -0
  288. package/dist/chunk-UKMBRMGT.js +22 -0
  289. package/dist/chunk-UKMBRMGT.js.map +1 -0
  290. package/dist/chunk-V22DZIXO.js +147 -0
  291. package/dist/chunk-V22DZIXO.js.map +1 -0
  292. package/dist/chunk-VE6DFSKU.js +107 -0
  293. package/dist/chunk-VE6DFSKU.js.map +1 -0
  294. package/dist/chunk-VPK6PHIE.cjs +211 -0
  295. package/dist/chunk-VPK6PHIE.cjs.map +1 -0
  296. package/dist/chunk-VTYY7XL5.cjs +15 -0
  297. package/dist/chunk-VTYY7XL5.cjs.map +1 -0
  298. package/dist/chunk-VWUXIVEI.js +583 -0
  299. package/dist/chunk-VWUXIVEI.js.map +1 -0
  300. package/dist/chunk-WE22OXQA.js +48 -0
  301. package/dist/chunk-WE22OXQA.js.map +1 -0
  302. package/dist/chunk-WMWEI3NS.js +120 -0
  303. package/dist/chunk-WMWEI3NS.js.map +1 -0
  304. package/dist/chunk-WS5ULCL4.js +204 -0
  305. package/dist/chunk-WS5ULCL4.js.map +1 -0
  306. package/dist/chunk-XB4GI5RZ.js +115 -0
  307. package/dist/chunk-XB4GI5RZ.js.map +1 -0
  308. package/dist/chunk-XU6MLSC6.js +455 -0
  309. package/dist/chunk-XU6MLSC6.js.map +1 -0
  310. package/dist/chunk-XYFGKVZ7.js +15 -0
  311. package/dist/chunk-XYFGKVZ7.js.map +1 -0
  312. package/dist/chunk-Y2KYR2ED.cjs +118 -0
  313. package/dist/chunk-Y2KYR2ED.cjs.map +1 -0
  314. package/dist/chunk-YIFFF23U.cjs +109 -0
  315. package/dist/chunk-YIFFF23U.cjs.map +1 -0
  316. package/dist/chunk-YJNYDJ2T.cjs +27 -0
  317. package/dist/chunk-YJNYDJ2T.cjs.map +1 -0
  318. package/dist/chunk-YSTXFWQE.cjs +127 -0
  319. package/dist/chunk-YSTXFWQE.cjs.map +1 -0
  320. package/dist/chunk-Z2JFX372.cjs +595 -0
  321. package/dist/chunk-Z2JFX372.cjs.map +1 -0
  322. package/dist/chunk-Z3NTRKIC.cjs +111 -0
  323. package/dist/chunk-Z3NTRKIC.cjs.map +1 -0
  324. package/dist/chunk-ZF2LDKQQ.cjs +20 -0
  325. package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
  326. package/dist/client/index.cjs +73 -0
  327. package/dist/client/index.cjs.map +1 -0
  328. package/dist/client/index.d.cts +12 -0
  329. package/dist/client/index.d.ts +12 -0
  330. package/dist/client/index.js +71 -0
  331. package/dist/client/index.js.map +1 -0
  332. package/dist/client/theokit-client.d.cts +60 -0
  333. package/dist/client/theokit-client.d.ts +60 -0
  334. package/dist/client/types.d.cts +51 -0
  335. package/dist/client/types.d.ts +51 -0
  336. package/dist/compact-session-BHTPCIHA.cjs +61 -0
  337. package/dist/compact-session-BHTPCIHA.cjs.map +1 -0
  338. package/dist/compact-session-W4WLJTHA.js +24 -0
  339. package/dist/compact-session-W4WLJTHA.js.map +1 -0
  340. package/dist/compaction.cjs +66 -0
  341. package/dist/compaction.cjs.map +1 -0
  342. package/dist/compaction.d.cts +240 -0
  343. package/dist/compaction.d.ts +240 -0
  344. package/dist/compaction.js +5 -0
  345. package/dist/compaction.js.map +1 -0
  346. package/dist/concurrency.cjs +23 -0
  347. package/dist/concurrency.cjs.map +1 -0
  348. package/dist/concurrency.d.cts +22 -0
  349. package/dist/concurrency.d.ts +22 -0
  350. package/dist/concurrency.js +17 -0
  351. package/dist/concurrency.js.map +1 -0
  352. package/dist/context/index.cjs +37 -0
  353. package/dist/context/index.cjs.map +1 -0
  354. package/dist/context/index.d.cts +78 -0
  355. package/dist/context/index.d.ts +78 -0
  356. package/dist/context/index.js +20 -0
  357. package/dist/context/index.js.map +1 -0
  358. package/dist/context-4QOEWRDF.cjs +23 -0
  359. package/dist/context-4QOEWRDF.cjs.map +1 -0
  360. package/dist/context-Z3CFTT3H.js +6 -0
  361. package/dist/context-Z3CFTT3H.js.map +1 -0
  362. package/dist/create-skill.d.ts +40 -0
  363. package/dist/cron-C3PhZED0.d.cts +246 -0
  364. package/dist/cron-crfMMdAw.d.ts +246 -0
  365. package/dist/cron.cjs +68 -0
  366. package/dist/cron.cjs.map +1 -0
  367. package/dist/cron.d.cts +7 -0
  368. package/dist/cron.d.ts +7 -0
  369. package/dist/cron.js +59 -0
  370. package/dist/cron.js.map +1 -0
  371. package/dist/define-tool.d.ts +86 -0
  372. package/dist/errors-CLOAyuiv.d.ts +569 -0
  373. package/dist/errors-DrDEgyz1.d.cts +569 -0
  374. package/dist/errors-base-B5g01neU.d.cts +75 -0
  375. package/dist/errors-base-B5g01neU.d.ts +75 -0
  376. package/dist/errors-base.d.ts +73 -0
  377. package/dist/errors.cjs +89 -0
  378. package/dist/errors.cjs.map +1 -0
  379. package/dist/errors.d.cts +4 -0
  380. package/dist/errors.d.ts +4 -0
  381. package/dist/errors.js +4 -0
  382. package/dist/errors.js.map +1 -0
  383. package/dist/eval.cjs +1056 -0
  384. package/dist/eval.cjs.map +1 -0
  385. package/dist/eval.d.cts +77 -0
  386. package/dist/eval.d.ts +77 -0
  387. package/dist/eval.js +1042 -0
  388. package/dist/eval.js.map +1 -0
  389. package/dist/event-bus.d.ts +42 -0
  390. package/dist/executor-XQAOQOHD.cjs +993 -0
  391. package/dist/executor-XQAOQOHD.cjs.map +1 -0
  392. package/dist/executor-ZNDQDX6Q.js +989 -0
  393. package/dist/executor-ZNDQDX6Q.js.map +1 -0
  394. package/dist/filesystem/index.cjs +204 -0
  395. package/dist/filesystem/index.cjs.map +1 -0
  396. package/dist/filesystem/index.d.cts +12 -0
  397. package/dist/filesystem/index.d.ts +12 -0
  398. package/dist/filesystem/index.js +195 -0
  399. package/dist/filesystem/index.js.map +1 -0
  400. package/dist/filesystem/local-filesystem.d.cts +54 -0
  401. package/dist/filesystem/local-filesystem.d.ts +54 -0
  402. package/dist/filesystem/types.d.cts +136 -0
  403. package/dist/filesystem/types.d.ts +136 -0
  404. package/dist/fork-agent-S2EPIML7.js +61 -0
  405. package/dist/fork-agent-S2EPIML7.js.map +1 -0
  406. package/dist/fork-agent-WAEQI2DL.cjs +64 -0
  407. package/dist/fork-agent-WAEQI2DL.cjs.map +1 -0
  408. package/dist/fs-session-store-77JU46UZ.js +10 -0
  409. package/dist/fs-session-store-77JU46UZ.js.map +1 -0
  410. package/dist/fs-session-store-E4U3P56L.cjs +19 -0
  411. package/dist/fs-session-store-E4U3P56L.cjs.map +1 -0
  412. package/dist/generate-object-BXV7BZRP.js +7 -0
  413. package/dist/generate-object-BXV7BZRP.js.map +1 -0
  414. package/dist/generate-object-YBI2TDJ3.cjs +20 -0
  415. package/dist/generate-object-YBI2TDJ3.cjs.map +1 -0
  416. package/dist/generate-object.d.ts +111 -0
  417. package/dist/index-manager-3UNPYH34.cjs +26 -0
  418. package/dist/index-manager-3UNPYH34.cjs.map +1 -0
  419. package/dist/index-manager-W7FDMGEG.js +17 -0
  420. package/dist/index-manager-W7FDMGEG.js.map +1 -0
  421. package/dist/index.cjs +2487 -0
  422. package/dist/index.cjs.map +1 -0
  423. package/dist/index.d.cts +4166 -0
  424. package/dist/index.d.ts +4166 -0
  425. package/dist/index.js +2289 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/inject-session-SUM6TDJF.js +27 -0
  428. package/dist/inject-session-SUM6TDJF.js.map +1 -0
  429. package/dist/inject-session-W6A46J3E.cjs +29 -0
  430. package/dist/inject-session-W6A46J3E.cjs.map +1 -0
  431. package/dist/interactive/index.cjs +35 -0
  432. package/dist/interactive/index.cjs.map +1 -0
  433. package/dist/interactive/index.d.cts +12 -0
  434. package/dist/interactive/index.d.ts +12 -0
  435. package/dist/interactive/index.js +30 -0
  436. package/dist/interactive/index.js.map +1 -0
  437. package/dist/interactive/types.d.cts +95 -0
  438. package/dist/interactive/types.d.ts +95 -0
  439. package/dist/internal/agent/batch.d.ts +11 -0
  440. package/dist/internal/agent/helpers.d.ts +1 -0
  441. package/dist/internal/agent-loop/budget-gate.d.ts +1 -0
  442. package/dist/internal/agent-loop/doom-loop-tracker.d.ts +22 -0
  443. package/dist/internal/agent-loop/live-events.d.ts +46 -0
  444. package/dist/internal/agent-loop/loop-context-init.d.ts +2 -0
  445. package/dist/internal/agent-loop/loop-finalize.d.ts +25 -0
  446. package/dist/internal/agent-loop/loop-llm-stream.d.ts +1 -0
  447. package/dist/internal/agent-loop/loop-thinking-steps.d.ts +28 -0
  448. package/dist/internal/agent-loop/loop.d.ts +7 -0
  449. package/dist/internal/agent-loop/message-builders.d.ts +21 -0
  450. package/dist/internal/agent-loop/replay-messages.d.ts +41 -0
  451. package/dist/internal/agent-loop/tool-dispatch.d.ts +27 -0
  452. package/dist/internal/agent-loop/tool-executors.d.ts +1 -0
  453. package/dist/internal/agent-loop/tool-result-guard.d.ts +20 -0
  454. package/dist/internal/agent-loop/tool-timeout.d.ts +23 -0
  455. package/dist/internal/agent-loop/types.d.ts +43 -0
  456. package/dist/internal/agent-loop/usage-and-cost.d.ts +25 -0
  457. package/dist/internal/auth/api-key-prefix.d.ts +23 -0
  458. package/dist/internal/auth/api-key-validator.d.ts +46 -0
  459. package/dist/internal/auth/credential-availability.d.ts +61 -0
  460. package/dist/internal/auth/credential-store.d.ts +77 -0
  461. package/dist/internal/auth/oauth-device.d.ts +54 -0
  462. package/dist/internal/auth/oauth-engine.d.ts +21 -0
  463. package/dist/internal/auth/resolve-credential.d.ts +56 -0
  464. package/dist/internal/auth/types.d.ts +175 -0
  465. package/dist/internal/base-url.d.ts +14 -0
  466. package/dist/internal/budget/compute-cost.d.ts +28 -0
  467. package/dist/internal/budget/pricing-registry.d.ts +36 -0
  468. package/dist/internal/budget/tracker/budget-tracker.d.ts +11 -0
  469. package/dist/internal/budget/tracker/budget.d.ts +34 -0
  470. package/dist/internal/budget/usage-accumulator.d.ts +46 -0
  471. package/dist/internal/cloud-agent/cloud-agent.d.ts +1 -0
  472. package/dist/internal/cloud-agent/cloud-config-serializer.d.ts +3 -0
  473. package/dist/internal/cloud-agent/cloud-run.d.ts +1 -0
  474. package/dist/internal/cloud-agent/cloud-tool-parity.d.ts +1 -0
  475. package/dist/internal/cloud-agent/index.d.ts +7 -0
  476. package/dist/internal/cloud-agent/real-cloud-run.d.ts +2 -0
  477. package/dist/internal/cloud-agent/types.d.ts +56 -0
  478. package/dist/internal/concurrency/abort-utils.d.ts +21 -0
  479. package/dist/internal/concurrency/async-local-storage.d.ts +20 -0
  480. package/dist/internal/concurrency/async-semaphore.d.ts +24 -0
  481. package/dist/internal/concurrency/delegation-depth.d.ts +27 -0
  482. package/dist/internal/concurrency/map-with-concurrency.d.ts +28 -0
  483. package/dist/internal/concurrency/subagent-credentials.d.ts +112 -0
  484. package/dist/internal/diagnostics.d.ts +69 -0
  485. package/dist/internal/emit-run-event.d.ts +16 -0
  486. package/dist/internal/env.d.ts +1 -0
  487. package/dist/internal/error-mappers/anthropic.d.ts +30 -0
  488. package/dist/internal/error-mappers/bedrock.d.ts +16 -0
  489. package/dist/internal/error-mappers/default-retriable.d.ts +1 -0
  490. package/dist/internal/error-mappers/ollama.d.ts +41 -0
  491. package/dist/internal/error-mappers/openai-compatible.d.ts +25 -0
  492. package/dist/internal/error-mappers/shared.d.ts +23 -0
  493. package/dist/internal/error-mappers/vertex.d.ts +15 -0
  494. package/dist/internal/eval/aggregate.d.ts +9 -0
  495. package/dist/internal/eval/assert.d.ts +27 -0
  496. package/dist/internal/eval/code-runner.d.ts +28 -0
  497. package/dist/internal/eval/dataset-iter.d.ts +9 -0
  498. package/dist/internal/eval/runner.d.ts +9 -0
  499. package/dist/internal/eval/single-flight.d.ts +17 -0
  500. package/dist/internal/eval/telemetry.d.ts +23 -0
  501. package/dist/internal/eval/trials.d.ts +19 -0
  502. package/dist/internal/global-singleton.d.ts +16 -0
  503. package/dist/internal/http.d.ts +1 -0
  504. package/dist/internal/ids.d.ts +1 -0
  505. package/dist/internal/judge/judge-call.d.ts +48 -0
  506. package/dist/internal/judge/parse-verdict.d.ts +11 -0
  507. package/dist/internal/llm/abort-error.d.ts +1 -0
  508. package/dist/internal/llm/anthropic-shared.d.ts +100 -0
  509. package/dist/internal/llm/anthropic.d.ts +9 -0
  510. package/dist/internal/llm/bedrock-anthropic.d.ts +36 -0
  511. package/dist/internal/llm/bedrock-token-cache.d.ts +18 -0
  512. package/dist/internal/llm/credential-pool-context.d.ts +11 -0
  513. package/dist/internal/llm/credential-pool-types.d.ts +22 -0
  514. package/dist/internal/llm/credential-pool.d.ts +18 -0
  515. package/dist/internal/llm/fallback-client.d.ts +1 -0
  516. package/dist/internal/llm/fault-injection.d.ts +50 -0
  517. package/dist/internal/llm/finish.d.ts +1 -0
  518. package/dist/internal/llm/hermes-tool-extract.d.ts +11 -0
  519. package/dist/internal/llm/model-capabilities.d.ts +40 -0
  520. package/dist/internal/llm/model-identifier.d.ts +58 -0
  521. package/dist/internal/llm/model-option.d.ts +38 -0
  522. package/dist/internal/llm/ollama-native.d.ts +27 -0
  523. package/dist/internal/llm/openai-messages.d.ts +2 -0
  524. package/dist/internal/llm/openai.d.ts +146 -0
  525. package/dist/internal/llm/pool-aware-client.d.ts +16 -0
  526. package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
  527. package/dist/internal/llm/responses.d.ts +97 -0
  528. package/dist/internal/llm/retry.d.ts +22 -0
  529. package/dist/internal/llm/retrying-client.d.ts +53 -0
  530. package/dist/internal/llm/router.d.ts +40 -0
  531. package/dist/internal/llm/sse.d.ts +21 -0
  532. package/dist/internal/llm/stream-relay.d.ts +17 -0
  533. package/dist/internal/llm/tool-result-content.d.ts +40 -0
  534. package/dist/internal/llm/transport-error.d.ts +9 -0
  535. package/dist/internal/llm/types.d.ts +226 -0
  536. package/dist/internal/llm/vertex-anthropic.d.ts +40 -0
  537. package/dist/internal/llm/vertex-auth.d.ts +30 -0
  538. package/dist/internal/llm/vertex-gemini.d.ts +28 -0
  539. package/dist/internal/llm/vertex-router.d.ts +21 -0
  540. package/dist/internal/local-agent/index.d.ts +6 -0
  541. package/dist/internal/local-agent/local-agent-bootstrap.d.ts +37 -0
  542. package/dist/internal/local-agent/local-agent-capabilities.d.ts +38 -0
  543. package/dist/internal/local-agent/local-agent-dispatch.d.ts +57 -0
  544. package/dist/internal/local-agent/local-agent-invalidate.d.ts +1 -0
  545. package/dist/internal/local-agent/local-agent-lifecycle.d.ts +13 -0
  546. package/dist/internal/local-agent/local-agent-memory-direct.d.ts +12 -0
  547. package/dist/internal/local-agent/local-agent-memory-hooks.d.ts +41 -0
  548. package/dist/internal/local-agent/local-agent-memory-provider.d.ts +57 -0
  549. package/dist/internal/local-agent/local-agent-memory.d.ts +1 -0
  550. package/dist/internal/local-agent/local-agent-personality-extensions.d.ts +43 -0
  551. package/dist/internal/local-agent/local-agent-runtime-extensions.d.ts +13 -0
  552. package/dist/internal/local-agent/local-agent-send.d.ts +42 -0
  553. package/dist/internal/local-agent/local-agent-task-wrap.d.ts +11 -0
  554. package/dist/internal/local-agent/local-agent.d.ts +1 -0
  555. package/dist/internal/local-agent/local-option-keys.d.ts +2 -0
  556. package/dist/internal/local-agent/local-run.d.ts +1 -0
  557. package/dist/internal/local-agent/mcp-pool.d.ts +43 -0
  558. package/dist/internal/local-agent/real-local-run-mcp.d.ts +26 -0
  559. package/dist/internal/local-agent/real-local-run-options.d.ts +26 -0
  560. package/dist/internal/local-agent/real-local-run-provider.d.ts +13 -0
  561. package/dist/internal/local-agent/real-local-run-tools.d.ts +55 -0
  562. package/dist/internal/local-agent/real-local-run.d.ts +4 -0
  563. package/dist/internal/mcp/client.d.ts +16 -0
  564. package/dist/internal/mcp/handshake-timeout.d.ts +53 -0
  565. package/dist/internal/mcp/oauth.d.ts +19 -0
  566. package/dist/internal/mcp/token-storage.d.ts +52 -0
  567. package/dist/internal/memory/active-memory-cache.d.ts +10 -0
  568. package/dist/internal/memory/active-memory-types.d.ts +8 -0
  569. package/dist/internal/memory/active-memory.d.ts +56 -0
  570. package/dist/internal/memory/adapters/azure-openai-embedding.d.cts +2 -0
  571. package/dist/internal/memory/adapters/azure-openai-embedding.d.ts +2 -0
  572. package/dist/internal/memory/adapters/catalog.d.cts +1 -0
  573. package/dist/internal/memory/adapters/catalog.d.ts +1 -0
  574. package/dist/internal/memory/adapters/cohere-embedding.d.cts +2 -0
  575. package/dist/internal/memory/adapters/cohere-embedding.d.ts +2 -0
  576. package/dist/internal/memory/adapters/deepinfra-embedding.d.cts +2 -0
  577. package/dist/internal/memory/adapters/deepinfra-embedding.d.ts +2 -0
  578. package/dist/internal/memory/adapters/gemini-embedding.d.cts +2 -0
  579. package/dist/internal/memory/adapters/gemini-embedding.d.ts +2 -0
  580. package/dist/internal/memory/adapters/index.cjs +30 -0
  581. package/dist/internal/memory/adapters/index.cjs.map +1 -0
  582. package/dist/internal/memory/adapters/index.d.cts +18 -0
  583. package/dist/internal/memory/adapters/index.d.ts +18 -0
  584. package/dist/internal/memory/adapters/index.js +13 -0
  585. package/dist/internal/memory/adapters/index.js.map +1 -0
  586. package/dist/internal/memory/adapters/jina-embedding.d.cts +2 -0
  587. package/dist/internal/memory/adapters/jina-embedding.d.ts +2 -0
  588. package/dist/internal/memory/adapters/mistral-embedding.d.cts +2 -0
  589. package/dist/internal/memory/adapters/mistral-embedding.d.ts +2 -0
  590. package/dist/internal/memory/adapters/ollama-embedding.d.cts +34 -0
  591. package/dist/internal/memory/adapters/ollama-embedding.d.ts +34 -0
  592. package/dist/internal/memory/adapters/openai-compatible.d.cts +96 -0
  593. package/dist/internal/memory/adapters/openai-compatible.d.ts +96 -0
  594. package/dist/internal/memory/adapters/openai-embedding.d.cts +12 -0
  595. package/dist/internal/memory/adapters/openai-embedding.d.ts +12 -0
  596. package/dist/internal/memory/adapters/openrouter-embedding.d.cts +2 -0
  597. package/dist/internal/memory/adapters/openrouter-embedding.d.ts +2 -0
  598. package/dist/internal/memory/adapters/voyage-embedding.d.cts +2 -0
  599. package/dist/internal/memory/adapters/voyage-embedding.d.ts +2 -0
  600. package/dist/internal/memory/corpus-sync.d.ts +23 -0
  601. package/dist/internal/memory/dreaming/diary.d.ts +41 -0
  602. package/dist/internal/memory/dreaming/phases.d.ts +35 -0
  603. package/dist/internal/memory/dreaming/run.d.ts +10 -0
  604. package/dist/internal/memory/embedding-adapter.d.ts +42 -0
  605. package/dist/internal/memory/embedding-cache.d.ts +42 -0
  606. package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
  607. package/dist/internal/memory/index-db.d.ts +67 -0
  608. package/dist/internal/memory/index-manager-contract.d.ts +48 -0
  609. package/dist/internal/memory/index-manager-dispatch.d.ts +23 -0
  610. package/dist/internal/memory/index-manager-helpers.d.ts +20 -0
  611. package/dist/internal/memory/index-manager.d.ts +44 -0
  612. package/dist/internal/memory/index-repository.d.ts +58 -0
  613. package/dist/internal/memory/index-schema.d.ts +21 -0
  614. package/dist/internal/memory/lance-index.d.ts +46 -0
  615. package/dist/internal/memory/lance-memory-adapter.d.ts +45 -0
  616. package/dist/internal/memory/memory-index.d.ts +67 -0
  617. package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +58 -0
  618. package/dist/internal/memory/migration.d.ts +9 -0
  619. package/dist/internal/memory/sdk-memory-peer-loader.d.ts +74 -0
  620. package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -0
  621. package/dist/internal/memory/storage/chunk-markdown.d.cts +2 -0
  622. package/dist/internal/memory/storage/chunk-markdown.d.ts +2 -0
  623. package/dist/internal/memory/storage/index.cjs +141 -0
  624. package/dist/internal/memory/storage/index.cjs.map +1 -0
  625. package/dist/internal/memory/storage/index.d.cts +28 -0
  626. package/dist/internal/memory/storage/index.d.ts +28 -0
  627. package/dist/internal/memory/storage/index.js +16 -0
  628. package/dist/internal/memory/storage/index.js.map +1 -0
  629. package/dist/internal/memory/storage/list-markdown.d.cts +1 -0
  630. package/dist/internal/memory/storage/list-markdown.d.ts +1 -0
  631. package/dist/internal/memory/storage/markdown-store.d.cts +48 -0
  632. package/dist/internal/memory/storage/markdown-store.d.ts +48 -0
  633. package/dist/internal/memory/storage/memory-file.d.cts +90 -0
  634. package/dist/internal/memory/storage/memory-file.d.ts +90 -0
  635. package/dist/internal/memory/storage/memory-root.d.cts +119 -0
  636. package/dist/internal/memory/storage/memory-root.d.ts +119 -0
  637. package/dist/internal/memory/storage/reader.d.cts +8 -0
  638. package/dist/internal/memory/storage/reader.d.ts +8 -0
  639. package/dist/internal/memory/storage/session-loader.d.cts +35 -0
  640. package/dist/internal/memory/storage/session-loader.d.ts +35 -0
  641. package/dist/internal/memory/storage/session-summary-writer.d.cts +50 -0
  642. package/dist/internal/memory/storage/session-summary-writer.d.ts +50 -0
  643. package/dist/internal/memory/storage/threat-scan.d.cts +62 -0
  644. package/dist/internal/memory/storage/threat-scan.d.ts +62 -0
  645. package/dist/internal/memory/storage/transcript-store.d.cts +38 -0
  646. package/dist/internal/memory/storage/transcript-store.d.ts +38 -0
  647. package/dist/internal/memory/storage/wiki-loader.d.cts +27 -0
  648. package/dist/internal/memory/storage/wiki-loader.d.ts +27 -0
  649. package/dist/internal/memory/tools.d.ts +21 -0
  650. package/dist/internal/memory/types.d.ts +78 -0
  651. package/dist/internal/memory/vec-index.d.ts +28 -0
  652. package/dist/internal/persistence/atomic-write.d.cts +107 -0
  653. package/dist/internal/persistence/atomic-write.d.ts +107 -0
  654. package/dist/internal/persistence/cwd-mutex.d.cts +35 -0
  655. package/dist/internal/persistence/cwd-mutex.d.ts +35 -0
  656. package/dist/internal/persistence/exclusive-create.d.cts +53 -0
  657. package/dist/internal/persistence/exclusive-create.d.ts +53 -0
  658. package/dist/internal/persistence/file-lock.d.cts +54 -0
  659. package/dist/internal/persistence/file-lock.d.ts +54 -0
  660. package/dist/internal/persistence/fs-session-store.d.cts +68 -0
  661. package/dist/internal/persistence/fs-session-store.d.ts +68 -0
  662. package/dist/internal/persistence/fts5-sanitize.d.cts +44 -0
  663. package/dist/internal/persistence/fts5-sanitize.d.ts +44 -0
  664. package/dist/internal/persistence/index.cjs +127 -0
  665. package/dist/internal/persistence/index.cjs.map +1 -0
  666. package/dist/internal/persistence/index.d.cts +33 -0
  667. package/dist/internal/persistence/index.d.ts +33 -0
  668. package/dist/internal/persistence/index.js +40 -0
  669. package/dist/internal/persistence/index.js.map +1 -0
  670. package/dist/internal/persistence/jsonl.d.cts +43 -0
  671. package/dist/internal/persistence/jsonl.d.ts +43 -0
  672. package/dist/internal/persistence/markdown-config-loader.d.cts +35 -0
  673. package/dist/internal/persistence/markdown-config-loader.d.ts +35 -0
  674. package/dist/internal/persistence/pagination.d.cts +21 -0
  675. package/dist/internal/persistence/pagination.d.ts +21 -0
  676. package/dist/internal/persistence/paths.d.cts +137 -0
  677. package/dist/internal/persistence/paths.d.ts +137 -0
  678. package/dist/internal/persistence/persistence-schema.d.cts +29 -0
  679. package/dist/internal/persistence/persistence-schema.d.ts +29 -0
  680. package/dist/internal/persistence/schema-version.d.cts +227 -0
  681. package/dist/internal/persistence/schema-version.d.ts +227 -0
  682. package/dist/internal/persistence/session-artifacts.d.cts +27 -0
  683. package/dist/internal/persistence/session-artifacts.d.ts +27 -0
  684. package/dist/internal/persistence/session-dir.d.cts +1 -0
  685. package/dist/internal/persistence/session-dir.d.ts +1 -0
  686. package/dist/internal/persistence/session-transcript.d.cts +128 -0
  687. package/dist/internal/persistence/session-transcript.d.ts +128 -0
  688. package/dist/internal/persistence/session-writer.d.cts +104 -0
  689. package/dist/internal/persistence/session-writer.d.ts +104 -0
  690. package/dist/internal/persistence/sqlite-cas.d.cts +61 -0
  691. package/dist/internal/persistence/sqlite-cas.d.ts +61 -0
  692. package/dist/internal/persistence/sqlite-open.d.cts +61 -0
  693. package/dist/internal/persistence/sqlite-open.d.ts +61 -0
  694. package/dist/internal/persistence/sqlite-wal.d.cts +54 -0
  695. package/dist/internal/persistence/sqlite-wal.d.ts +54 -0
  696. package/dist/internal/persistence/transcript-ops.d.cts +99 -0
  697. package/dist/internal/persistence/transcript-ops.d.ts +99 -0
  698. package/dist/internal/personality/context.d.ts +17 -0
  699. package/dist/internal/personality/registry.d.ts +17 -0
  700. package/dist/internal/personality/store.d.ts +27 -0
  701. package/dist/internal/personality/switch.d.ts +36 -0
  702. package/dist/internal/personality/types.d.ts +18 -0
  703. package/dist/internal/plugins/context.d.cts +21 -0
  704. package/dist/internal/plugins/context.d.ts +21 -0
  705. package/dist/internal/plugins/enabled-names.d.cts +1 -0
  706. package/dist/internal/plugins/enabled-names.d.ts +1 -0
  707. package/dist/internal/plugins/index.d.cts +9 -0
  708. package/dist/internal/plugins/index.d.ts +9 -0
  709. package/dist/internal/plugins/lifecycle.d.cts +15 -0
  710. package/dist/internal/plugins/lifecycle.d.ts +15 -0
  711. package/dist/internal/plugins/manager.d.cts +57 -0
  712. package/dist/internal/plugins/manager.d.ts +57 -0
  713. package/dist/internal/plugins/plugin-guards.d.cts +13 -0
  714. package/dist/internal/plugins/plugin-guards.d.ts +13 -0
  715. package/dist/internal/plugins/types.d.cts +26 -0
  716. package/dist/internal/plugins/types.d.ts +26 -0
  717. package/dist/internal/providers/builtin/anthropic.d.ts +2 -0
  718. package/dist/internal/providers/builtin/bedrock.d.ts +25 -0
  719. package/dist/internal/providers/builtin/cerebras.d.ts +5 -0
  720. package/dist/internal/providers/builtin/cohere.d.ts +8 -0
  721. package/dist/internal/providers/builtin/deepinfra.d.ts +2 -0
  722. package/dist/internal/providers/builtin/gemini.d.ts +10 -0
  723. package/dist/internal/providers/builtin/google.d.ts +6 -0
  724. package/dist/internal/providers/builtin/groq.d.ts +2 -0
  725. package/dist/internal/providers/builtin/index.d.ts +20 -0
  726. package/dist/internal/providers/builtin/llamacpp.d.ts +1 -0
  727. package/dist/internal/providers/builtin/lmstudio.d.ts +1 -0
  728. package/dist/internal/providers/builtin/mistral.d.ts +2 -0
  729. package/dist/internal/providers/builtin/ollama.d.ts +17 -0
  730. package/dist/internal/providers/builtin/openai-chatgpt.d.ts +14 -0
  731. package/dist/internal/providers/builtin/openai-compatible.d.ts +1 -0
  732. package/dist/internal/providers/builtin/openai.d.ts +2 -0
  733. package/dist/internal/providers/builtin/openrouter.d.ts +2 -0
  734. package/dist/internal/providers/builtin/perplexity.d.ts +5 -0
  735. package/dist/internal/providers/builtin/together.d.ts +2 -0
  736. package/dist/internal/providers/builtin/vertex.d.ts +27 -0
  737. package/dist/internal/providers/builtin/xai.d.ts +2 -0
  738. package/dist/internal/providers/catalog-loader.d.ts +55 -0
  739. package/dist/internal/providers/catalog-schema.d.ts +202 -0
  740. package/dist/internal/providers/catalog-source-models-dev.d.ts +80 -0
  741. package/dist/internal/providers/discovery.d.ts +14 -0
  742. package/dist/internal/providers/index.d.ts +8 -0
  743. package/dist/internal/providers/register-plugin-providers.d.ts +22 -0
  744. package/dist/internal/providers/registry.d.ts +13 -0
  745. package/dist/internal/providers/types.d.ts +11 -0
  746. package/dist/internal/retry/circuit-breaker.d.ts +26 -0
  747. package/dist/internal/retry/with-retry.d.ts +40 -0
  748. package/dist/internal/runtime/compat/compat-config-file.d.ts +31 -0
  749. package/dist/internal/runtime/compat/foreign-config-sources.d.ts +139 -0
  750. package/dist/internal/runtime/compression/compression-attempt.d.ts +24 -0
  751. package/dist/internal/runtime/compression/compression-config.d.ts +33 -0
  752. package/dist/internal/runtime/compression/compression-decision.d.ts +10 -0
  753. package/dist/internal/runtime/compression/compression-helpers.d.ts +18 -0
  754. package/dist/internal/runtime/compression/compression-model-registry.d.ts +41 -0
  755. package/dist/internal/runtime/compression/compression-summarizer.d.ts +34 -0
  756. package/dist/internal/runtime/config/default-model.d.ts +1 -0
  757. package/dist/internal/runtime/config/providers-manager.d.ts +1 -0
  758. package/dist/internal/runtime/config/workspace-dir.d.ts +9 -0
  759. package/dist/internal/runtime/context/context-aggregator.d.ts +26 -0
  760. package/dist/internal/runtime/context/context-discovery-runner.d.ts +80 -0
  761. package/dist/internal/runtime/context/context-discovery.d.ts +79 -0
  762. package/dist/internal/runtime/context/context-frontmatter.d.ts +16 -0
  763. package/dist/internal/runtime/context/context-glob.d.ts +1 -0
  764. package/dist/internal/runtime/context/context-import-resolver.d.ts +41 -0
  765. package/dist/internal/runtime/context/context-loaders.d.ts +42 -0
  766. package/dist/internal/runtime/context/context-manager.d.ts +28 -0
  767. package/dist/internal/runtime/context/context-mdc-parser.d.ts +25 -0
  768. package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +99 -0
  769. package/dist/internal/runtime/context/context-yaml-lite.d.ts +26 -0
  770. package/dist/internal/runtime/context/project-instructions.d.ts +66 -0
  771. package/dist/internal/runtime/context/yaml-frontmatter.d.ts +20 -0
  772. package/dist/internal/runtime/fixtures/fixture-events.d.ts +12 -0
  773. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +24 -0
  774. package/dist/internal/runtime/fixtures/fixture-responder.d.ts +1 -0
  775. package/dist/internal/runtime/fixtures/fixture-run-base.d.ts +96 -0
  776. package/dist/internal/runtime/fixtures/fixture-scripts.d.ts +21 -0
  777. package/dist/internal/runtime/fixtures/types.d.ts +1 -0
  778. package/dist/internal/runtime/hooks/hooks-executor.d.ts +49 -0
  779. package/dist/internal/runtime/hooks/hooks-source.d.ts +35 -0
  780. package/dist/internal/runtime/lifecycle/context-budget-event.d.ts +25 -0
  781. package/dist/internal/runtime/lifecycle/env-policy.d.ts +29 -0
  782. package/dist/internal/runtime/lifecycle/fork-agent.d.ts +15 -0
  783. package/dist/internal/runtime/lifecycle/goal-marker.d.ts +13 -0
  784. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +16 -0
  785. package/dist/internal/runtime/lifecycle/run-to-completion.d.ts +22 -0
  786. package/dist/internal/runtime/lifecycle/run-until.d.ts +21 -0
  787. package/dist/internal/runtime/lifecycle/spawn-collect.d.ts +8 -0
  788. package/dist/internal/runtime/lifecycle/stream-to-completion.d.ts +31 -0
  789. package/dist/internal/runtime/lifecycle/wrap-completion-check-run.d.ts +30 -0
  790. package/dist/internal/runtime/memory-glue/memory-provider.d.ts +11 -0
  791. package/dist/internal/runtime/memory-glue/memory-store.d.ts +4 -0
  792. package/dist/internal/runtime/memory-glue/select-facts.d.ts +63 -0
  793. package/dist/internal/runtime/model-selection.d.ts +14 -0
  794. package/dist/internal/runtime/plugin-loader/plugin-bundles.d.ts +22 -0
  795. package/dist/internal/runtime/plugin-loader/plugin-frontmatter.d.ts +17 -0
  796. package/dist/internal/runtime/plugin-loader/plugins-manager.d.ts +1 -0
  797. package/dist/internal/runtime/processors/run-processors.d.ts +10 -0
  798. package/dist/internal/runtime/processors/tripwire-run.d.ts +16 -0
  799. package/dist/internal/runtime/processors/wrap-output-run.d.ts +18 -0
  800. package/dist/internal/runtime/registry/agent-factory-registry.d.ts +19 -0
  801. package/dist/internal/runtime/registry/agent-registry-contract.d.ts +31 -0
  802. package/dist/internal/runtime/registry/agent-registry-store.d.ts +75 -0
  803. package/dist/internal/runtime/registry/agent-registry.d.ts +6 -0
  804. package/dist/internal/runtime/registry/live-agent-registry.d.ts +132 -0
  805. package/dist/internal/runtime/registry/run-registry.d.ts +4 -0
  806. package/dist/internal/runtime/skills/discover-skills.d.ts +103 -0
  807. package/dist/internal/runtime/skills/skill-frontmatter.d.ts +6 -0
  808. package/dist/internal/runtime/skills/skills-block.d.ts +18 -0
  809. package/dist/internal/runtime/skills/skills-manager.d.ts +1 -0
  810. package/dist/internal/runtime/skills/subagent-tool-scope.d.ts +25 -0
  811. package/dist/internal/runtime/skills/subagents-loader.d.ts +1 -0
  812. package/dist/internal/runtime/system-prompt/escape.d.ts +1 -0
  813. package/dist/internal/runtime/system-prompt/local-assembly.d.ts +2 -0
  814. package/dist/internal/runtime/system-prompt/native-reasoning.d.ts +25 -0
  815. package/dist/internal/runtime/system-prompt/pipeline.d.ts +1 -0
  816. package/dist/internal/runtime/system-prompt/safe-call.d.ts +1 -0
  817. package/dist/internal/runtime/system-prompt/sources/active-memory-provider.d.ts +1 -0
  818. package/dist/internal/runtime/system-prompt/sources/base-provider.d.ts +1 -0
  819. package/dist/internal/runtime/system-prompt/sources/context-provider.d.ts +1 -0
  820. package/dist/internal/runtime/system-prompt/sources/memory-provider.d.ts +6 -0
  821. package/dist/internal/runtime/system-prompt/sources/reasoning-provider.d.ts +1 -0
  822. package/dist/internal/runtime/system-prompt/sources/skills-provider.d.ts +1 -0
  823. package/dist/internal/runtime/system-prompt/system-prompt.d.ts +1 -0
  824. package/dist/internal/runtime/system-prompt/types.d.ts +5 -0
  825. package/dist/internal/runtime/tools/shell-tool.d.ts +7 -0
  826. package/dist/internal/runtime/validation/validate-agent-options.d.ts +1 -0
  827. package/dist/internal/runtime/validation/validate-response.d.ts +18 -0
  828. package/dist/internal/scorers/levenshtein.d.ts +11 -0
  829. package/dist/internal/scorers/llm-judge.d.ts +41 -0
  830. package/dist/internal/security/index.cjs +52 -0
  831. package/dist/internal/security/index.cjs.map +1 -0
  832. package/dist/internal/security/index.d.cts +19 -0
  833. package/dist/internal/security/index.d.ts +19 -0
  834. package/dist/internal/security/index.js +7 -0
  835. package/dist/internal/security/index.js.map +1 -0
  836. package/dist/internal/security/path-containment.d.cts +24 -0
  837. package/dist/internal/security/path-containment.d.ts +24 -0
  838. package/dist/internal/security/path-guard.d.cts +166 -0
  839. package/dist/internal/security/path-guard.d.ts +166 -0
  840. package/dist/internal/security/redact.d.cts +74 -0
  841. package/dist/internal/security/redact.d.ts +74 -0
  842. package/dist/internal/security/test-reset.d.cts +10 -0
  843. package/dist/internal/security/test-reset.d.ts +10 -0
  844. package/dist/internal/session/agent-session-store.d.ts +65 -0
  845. package/dist/internal/session/agent-session.d.ts +48 -0
  846. package/dist/internal/session/compact-session.d.ts +97 -0
  847. package/dist/internal/session/index.d.ts +7 -0
  848. package/dist/internal/session/inject-session.d.ts +15 -0
  849. package/dist/internal/session/session-cache.d.ts +31 -0
  850. package/dist/internal/session/types.d.ts +46 -0
  851. package/dist/internal/structured-output-helpers.d.ts +54 -0
  852. package/dist/internal/task/registry.d.ts +60 -0
  853. package/dist/internal/task/ring-buffer.d.ts +10 -0
  854. package/dist/internal/task/store.d.ts +145 -0
  855. package/dist/internal/task/subscribe.d.ts +15 -0
  856. package/dist/internal/task/task-id.d.ts +22 -0
  857. package/dist/internal/task/task-run-event-bridge.d.ts +10 -0
  858. package/dist/internal/task/telemetry.d.ts +27 -0
  859. package/dist/internal/telemetry/adapter-registry.d.ts +12 -0
  860. package/dist/internal/telemetry/adapters/arize.d.ts +2 -0
  861. package/dist/internal/telemetry/adapters/braintrust.d.ts +7 -0
  862. package/dist/internal/telemetry/adapters/datadog.d.ts +2 -0
  863. package/dist/internal/telemetry/adapters/langfuse.d.ts +2 -0
  864. package/dist/internal/telemetry/adapters/langsmith.d.ts +7 -0
  865. package/dist/internal/telemetry/adapters/posthog.d.ts +2 -0
  866. package/dist/internal/telemetry/adapters/sentry.d.ts +2 -0
  867. package/dist/internal/telemetry/safe-require.d.ts +1 -0
  868. package/dist/internal/telemetry/span-names.d.ts +10 -0
  869. package/dist/internal/telemetry/tracer-loader.d.ts +20 -0
  870. package/dist/internal/telemetry/tracer.d.ts +57 -0
  871. package/dist/internal/tool-dispatch/repair-middleware.d.ts +34 -0
  872. package/dist/internal/tool-dispatch/strip-think.d.ts +22 -0
  873. package/dist/internal/tool-registry/personality-filter.d.ts +37 -0
  874. package/dist/internal/workflow/ctx.d.ts +24 -0
  875. package/dist/internal/workflow/error-shape.d.ts +7 -0
  876. package/dist/internal/workflow/event-stream.d.ts +13 -0
  877. package/dist/internal/workflow/evented-executor.d.ts +42 -0
  878. package/dist/internal/workflow/executor-helpers.d.ts +30 -0
  879. package/dist/internal/workflow/executor.d.ts +16 -0
  880. package/dist/internal/workflow/retry-policy.d.ts +14 -0
  881. package/dist/internal/workflow/run-id.d.ts +9 -0
  882. package/dist/internal/workflow/scheduler.d.ts +23 -0
  883. package/dist/internal/workflow/single-flight.d.ts +18 -0
  884. package/dist/internal/workflow/snapshot-store.d.ts +23 -0
  885. package/dist/internal/workflow/step-agent.d.ts +12 -0
  886. package/dist/internal/workflow/step-branch.d.ts +10 -0
  887. package/dist/internal/workflow/step-dowhile.d.ts +8 -0
  888. package/dist/internal/workflow/step-execution.d.ts +25 -0
  889. package/dist/internal/workflow/step-fn.d.ts +10 -0
  890. package/dist/internal/workflow/step-foreach.d.ts +11 -0
  891. package/dist/internal/workflow/step-parallel.d.ts +17 -0
  892. package/dist/internal/workflow/step-sleep.d.ts +7 -0
  893. package/dist/internal/workflow/telemetry.d.ts +21 -0
  894. package/dist/internal/zod-to-json-schema.d.ts +11 -0
  895. package/dist/job-queue.d.ts +68 -0
  896. package/dist/judge-call-46M2E5FA.cjs +22 -0
  897. package/dist/judge-call-46M2E5FA.cjs.map +1 -0
  898. package/dist/judge-call-FGUNNWEI.js +5 -0
  899. package/dist/judge-call-FGUNNWEI.js.map +1 -0
  900. package/dist/mcp-auth.cjs +314 -0
  901. package/dist/mcp-auth.cjs.map +1 -0
  902. package/dist/mcp-auth.d.cts +19 -0
  903. package/dist/mcp-auth.d.ts +19 -0
  904. package/dist/mcp-auth.js +307 -0
  905. package/dist/mcp-auth.js.map +1 -0
  906. package/dist/messages.cjs +24 -0
  907. package/dist/messages.cjs.map +1 -0
  908. package/dist/messages.d.cts +33 -0
  909. package/dist/messages.d.ts +33 -0
  910. package/dist/messages.js +20 -0
  911. package/dist/messages.js.map +1 -0
  912. package/dist/models.cjs +295 -0
  913. package/dist/models.cjs.map +1 -0
  914. package/dist/models.d.cts +18 -0
  915. package/dist/models.d.ts +18 -0
  916. package/dist/models.js +286 -0
  917. package/dist/models.js.map +1 -0
  918. package/dist/oauth-transaction-store-5RIR6D5C.js +5 -0
  919. package/dist/oauth-transaction-store-5RIR6D5C.js.map +1 -0
  920. package/dist/oauth-transaction-store-SXIE57OD.cjs +38 -0
  921. package/dist/oauth-transaction-store-SXIE57OD.cjs.map +1 -0
  922. package/dist/path-safety.cjs +39 -0
  923. package/dist/path-safety.cjs.map +1 -0
  924. package/dist/path-safety.d.cts +16 -0
  925. package/dist/path-safety.d.ts +16 -0
  926. package/dist/path-safety.js +6 -0
  927. package/dist/path-safety.js.map +1 -0
  928. package/dist/permission-engine.d.ts +134 -0
  929. package/dist/persistence.cjs +197 -0
  930. package/dist/persistence.cjs.map +1 -0
  931. package/dist/persistence.d.cts +40 -0
  932. package/dist/persistence.d.ts +40 -0
  933. package/dist/persistence.js +100 -0
  934. package/dist/persistence.js.map +1 -0
  935. package/dist/project.cjs +45 -0
  936. package/dist/project.cjs.map +1 -0
  937. package/dist/project.d.cts +14 -0
  938. package/dist/project.d.ts +14 -0
  939. package/dist/project.js +42 -0
  940. package/dist/project.js.map +1 -0
  941. package/dist/provider-catalog.json +1295 -0
  942. package/dist/providers.cjs +23 -0
  943. package/dist/providers.cjs.map +1 -0
  944. package/dist/providers.d.cts +31 -0
  945. package/dist/providers.d.ts +31 -0
  946. package/dist/providers.js +10 -0
  947. package/dist/providers.js.map +1 -0
  948. package/dist/registry-BZQFYRTL.cjs +46 -0
  949. package/dist/registry-BZQFYRTL.cjs.map +1 -0
  950. package/dist/registry-DMWCJKRF.js +9 -0
  951. package/dist/registry-DMWCJKRF.js.map +1 -0
  952. package/dist/retry.cjs +14 -0
  953. package/dist/retry.cjs.map +1 -0
  954. package/dist/retry.d.cts +35 -0
  955. package/dist/retry.d.ts +35 -0
  956. package/dist/retry.js +5 -0
  957. package/dist/retry.js.map +1 -0
  958. package/dist/run-CTAdRU3U.d.cts +1813 -0
  959. package/dist/run-CTAdRU3U.d.ts +1813 -0
  960. package/dist/run-to-completion-DRO77625.js +3 -0
  961. package/dist/run-to-completion-DRO77625.js.map +1 -0
  962. package/dist/run-to-completion-X4OWM673.cjs +48 -0
  963. package/dist/run-to-completion-X4OWM673.cjs.map +1 -0
  964. package/dist/run-until-6D6TQ4JN.js +146 -0
  965. package/dist/run-until-6D6TQ4JN.js.map +1 -0
  966. package/dist/run-until-DG2KXWB2.cjs +149 -0
  967. package/dist/run-until-DG2KXWB2.cjs.map +1 -0
  968. package/dist/sandbox/bwrap.d.cts +112 -0
  969. package/dist/sandbox/bwrap.d.ts +112 -0
  970. package/dist/sandbox/index.cjs +495 -0
  971. package/dist/sandbox/index.cjs.map +1 -0
  972. package/dist/sandbox/index.d.cts +13 -0
  973. package/dist/sandbox/index.d.ts +13 -0
  974. package/dist/sandbox/index.js +451 -0
  975. package/dist/sandbox/index.js.map +1 -0
  976. package/dist/sandbox/linux-sandbox.d.cts +218 -0
  977. package/dist/sandbox/linux-sandbox.d.ts +218 -0
  978. package/dist/sandbox/local-sandbox.d.cts +66 -0
  979. package/dist/sandbox/local-sandbox.d.ts +66 -0
  980. package/dist/sandbox/provision.d.cts +60 -0
  981. package/dist/sandbox/provision.d.ts +60 -0
  982. package/dist/sandbox/seccomp.d.cts +16 -0
  983. package/dist/sandbox/seccomp.d.ts +16 -0
  984. package/dist/sandbox/shell-escape.d.cts +8 -0
  985. package/dist/sandbox/shell-escape.d.ts +8 -0
  986. package/dist/sandbox/types.d.cts +143 -0
  987. package/dist/sandbox/types.d.ts +143 -0
  988. package/dist/sanitize/coerce.d.cts +1 -0
  989. package/dist/sanitize/coerce.d.ts +1 -0
  990. package/dist/sanitize/index.cjs +12 -0
  991. package/dist/sanitize/index.cjs.map +1 -0
  992. package/dist/sanitize/index.d.cts +9 -0
  993. package/dist/sanitize/index.d.ts +9 -0
  994. package/dist/sanitize/index.js +3 -0
  995. package/dist/sanitize/index.js.map +1 -0
  996. package/dist/sanitize/sanitize-tool-input.d.cts +11 -0
  997. package/dist/sanitize/sanitize-tool-input.d.ts +11 -0
  998. package/dist/sanitize/types.d.cts +52 -0
  999. package/dist/sanitize/types.d.ts +52 -0
  1000. package/dist/scorers.d.ts +181 -0
  1001. package/dist/sdk-agent-BOiKqOgL.d.cts +940 -0
  1002. package/dist/sdk-agent-D4a_BR_6.d.ts +940 -0
  1003. package/dist/server/auth/errors.d.cts +54 -0
  1004. package/dist/server/auth/errors.d.ts +54 -0
  1005. package/dist/server/auth/index.cjs +210 -0
  1006. package/dist/server/auth/index.cjs.map +1 -0
  1007. package/dist/server/auth/index.d.cts +244 -0
  1008. package/dist/server/auth/index.d.ts +244 -0
  1009. package/dist/server/auth/index.js +189 -0
  1010. package/dist/server/auth/index.js.map +1 -0
  1011. package/dist/server/auth/oauth-transaction-store.d.cts +52 -0
  1012. package/dist/server/auth/oauth-transaction-store.d.ts +52 -0
  1013. package/dist/server/auth/orchestrator.d.cts +15 -0
  1014. package/dist/server/auth/orchestrator.d.ts +15 -0
  1015. package/dist/server/auth/types.d.cts +109 -0
  1016. package/dist/server/auth/types.d.ts +109 -0
  1017. package/dist/server/auth/validate-return-to.d.cts +27 -0
  1018. package/dist/server/auth/validate-return-to.d.ts +27 -0
  1019. package/dist/server/errors-envelope.cjs +101 -0
  1020. package/dist/server/errors-envelope.cjs.map +1 -0
  1021. package/dist/server/errors-envelope.d.cts +67 -0
  1022. package/dist/server/errors-envelope.d.ts +67 -0
  1023. package/dist/server/errors-envelope.js +95 -0
  1024. package/dist/server/errors-envelope.js.map +1 -0
  1025. package/dist/session-transcript-LGHSNVY5.cjs +62 -0
  1026. package/dist/session-transcript-LGHSNVY5.cjs.map +1 -0
  1027. package/dist/session-transcript-VTBTCGQX.js +5 -0
  1028. package/dist/session-transcript-VTBTCGQX.js.map +1 -0
  1029. package/dist/skills.cjs +25 -0
  1030. package/dist/skills.cjs.map +1 -0
  1031. package/dist/skills.d.cts +19 -0
  1032. package/dist/skills.d.ts +19 -0
  1033. package/dist/skills.js +8 -0
  1034. package/dist/skills.js.map +1 -0
  1035. package/dist/stream-object-HBFMIZLD.js +7 -0
  1036. package/dist/stream-object-HBFMIZLD.js.map +1 -0
  1037. package/dist/stream-object-QSKHISDJ.cjs +20 -0
  1038. package/dist/stream-object-QSKHISDJ.cjs.map +1 -0
  1039. package/dist/stream-object.d.ts +73 -0
  1040. package/dist/stream-to-completion-QV5HCL3J.js +30 -0
  1041. package/dist/stream-to-completion-QV5HCL3J.js.map +1 -0
  1042. package/dist/stream-to-completion-SRISU5AB.cjs +32 -0
  1043. package/dist/stream-to-completion-SRISU5AB.cjs.map +1 -0
  1044. package/dist/subagents-loader-DOBTTICM.js +7 -0
  1045. package/dist/subagents-loader-DOBTTICM.js.map +1 -0
  1046. package/dist/subagents-loader-GEHYCMEX.cjs +16 -0
  1047. package/dist/subagents-loader-GEHYCMEX.cjs.map +1 -0
  1048. package/dist/subagents-loader.cjs +35 -0
  1049. package/dist/subagents-loader.cjs.map +1 -0
  1050. package/dist/subagents-loader.d.cts +90 -0
  1051. package/dist/subagents-loader.d.ts +90 -0
  1052. package/dist/subagents-loader.js +32 -0
  1053. package/dist/subagents-loader.js.map +1 -0
  1054. package/dist/subagents.cjs +18 -0
  1055. package/dist/subagents.cjs.map +1 -0
  1056. package/dist/subagents.d.cts +14 -0
  1057. package/dist/subagents.d.ts +14 -0
  1058. package/dist/subagents.js +15 -0
  1059. package/dist/subagents.js.map +1 -0
  1060. package/dist/subscription/define-subscription.d.cts +71 -0
  1061. package/dist/subscription/define-subscription.d.ts +71 -0
  1062. package/dist/subscription/index.cjs +408 -0
  1063. package/dist/subscription/index.cjs.map +1 -0
  1064. package/dist/subscription/index.d.cts +20 -0
  1065. package/dist/subscription/index.d.ts +20 -0
  1066. package/dist/subscription/index.js +400 -0
  1067. package/dist/subscription/index.js.map +1 -0
  1068. package/dist/subscription/internal/backpressure.d.cts +24 -0
  1069. package/dist/subscription/internal/backpressure.d.ts +24 -0
  1070. package/dist/subscription/internal/server-integration.d.cts +22 -0
  1071. package/dist/subscription/internal/server-integration.d.ts +22 -0
  1072. package/dist/subscription/internal/sse-encoder.d.cts +13 -0
  1073. package/dist/subscription/internal/sse-encoder.d.ts +13 -0
  1074. package/dist/subscription/internal/sse-parser.d.cts +15 -0
  1075. package/dist/subscription/internal/sse-parser.d.ts +15 -0
  1076. package/dist/subscription/internal/subscription-runtime.d.cts +21 -0
  1077. package/dist/subscription/internal/subscription-runtime.d.ts +21 -0
  1078. package/dist/subscription/internal/types.d.cts +11 -0
  1079. package/dist/subscription/internal/types.d.ts +11 -0
  1080. package/dist/subscription/internal/ws-adapter-node.d.cts +10 -0
  1081. package/dist/subscription/internal/ws-adapter-node.d.ts +10 -0
  1082. package/dist/subscription/theokit-subscribe.d.cts +54 -0
  1083. package/dist/subscription/theokit-subscribe.d.ts +54 -0
  1084. package/dist/subscription/types.d.cts +158 -0
  1085. package/dist/subscription/types.d.ts +158 -0
  1086. package/dist/task-errors.d.ts +58 -0
  1087. package/dist/task-store.cjs +23 -0
  1088. package/dist/task-store.cjs.map +1 -0
  1089. package/dist/task-store.d.cts +10 -0
  1090. package/dist/task-store.d.ts +10 -0
  1091. package/dist/task-store.js +6 -0
  1092. package/dist/task-store.js.map +1 -0
  1093. package/dist/tool-error.d.ts +30 -0
  1094. package/dist/types/agent-prims.d.ts +137 -0
  1095. package/dist/types/agent.d.ts +947 -0
  1096. package/dist/types/batch.d.ts +121 -0
  1097. package/dist/types/budget-tracker.d.ts +80 -0
  1098. package/dist/types/budget.d.ts +97 -0
  1099. package/dist/types/content-blocks.d.ts +50 -0
  1100. package/dist/types/context.d.ts +96 -0
  1101. package/dist/types/conversation.d.ts +127 -0
  1102. package/dist/types/cron.d.ts +172 -0
  1103. package/dist/types/env-policy.d.ts +21 -0
  1104. package/dist/types/eval.d.ts +255 -0
  1105. package/dist/types/fork.d.ts +52 -0
  1106. package/dist/types/goal-events.d.ts +144 -0
  1107. package/dist/types/index.d.ts +19 -0
  1108. package/dist/types/mcp.d.ts +90 -0
  1109. package/dist/types/memory-adapter.d.ts +189 -0
  1110. package/dist/types/memory-provider.d.ts +206 -0
  1111. package/dist/types/messages-base.d.ts +24 -0
  1112. package/dist/types/messages.d.ts +161 -0
  1113. package/dist/types/plugin.d.ts +308 -0
  1114. package/dist/types/processors.d.ts +87 -0
  1115. package/dist/types/provider-profile.d.ts +116 -0
  1116. package/dist/types/providers.d.ts +116 -0
  1117. package/dist/types/run-events.d.ts +197 -0
  1118. package/dist/types/run.d.ts +671 -0
  1119. package/dist/types/sdk-agent.d.ts +342 -0
  1120. package/dist/types/session-message.d.ts +62 -0
  1121. package/dist/types/session-record.d.ts +103 -0
  1122. package/dist/types/session-store.d.ts +104 -0
  1123. package/dist/types/task.d.ts +146 -0
  1124. package/dist/types/theokit.d.ts +73 -0
  1125. package/dist/types/trajectory.d.ts +52 -0
  1126. package/dist/types/updates.d.ts +184 -0
  1127. package/dist/types/usage.d.ts +64 -0
  1128. package/dist/types/workflow.d.ts +426 -0
  1129. package/dist/workflow-as-tool.d.ts +66 -0
  1130. package/dist/workflow-errors.d.ts +164 -0
  1131. package/dist/workflow.cjs +100 -0
  1132. package/dist/workflow.cjs.map +1 -0
  1133. package/dist/workflow.d.cts +911 -0
  1134. package/dist/workflow.d.ts +911 -0
  1135. package/dist/workflow.js +11 -0
  1136. package/dist/workflow.js.map +1 -0
  1137. package/docs/adr/README.md +2604 -0
  1138. package/docs/error-codes.md +253 -0
  1139. package/docs/harness-capability-map.md +1435 -0
  1140. package/docs/memory-decisions.md +265 -0
  1141. package/package.json +455 -0
@@ -0,0 +1,79 @@
1
+ // src/internal/runtime/lifecycle/run-to-completion.ts
2
+ var DEFAULT_MAX_ROUNDS = 5;
3
+ var DEFAULT_CONTINUATION_PROMPT = "Continue from where you left off and finish the task. If it is already complete, give the final answer.";
4
+ function isEmptyRound(result) {
5
+ return (result.result ?? "").trim() === "";
6
+ }
7
+ function classifyRound(result, round, maxRounds, emptyStreak) {
8
+ if (result.stoppedByDoomLoop === true) return "no_progress";
9
+ if (result.stoppedAtIterationLimit !== true) return "done";
10
+ if (isEmptyRound(result) && emptyStreak >= 1) return "no_progress";
11
+ if (round >= maxRounds) return "step_limit";
12
+ return "continue";
13
+ }
14
+ function addUsage(acc, u) {
15
+ if (u === void 0) return acc;
16
+ const inputTokens = (acc?.inputTokens ?? 0) + u.inputTokens;
17
+ const outputTokens = (acc?.outputTokens ?? 0) + u.outputTokens;
18
+ const sumOpt = (a, b) => a === void 0 && b === void 0 ? void 0 : (a ?? 0) + (b ?? 0);
19
+ return {
20
+ inputTokens,
21
+ outputTokens,
22
+ totalTokens: inputTokens + outputTokens,
23
+ cacheReadTokens: sumOpt(acc?.cacheReadTokens, u.cacheReadTokens),
24
+ cacheWriteTokens: sumOpt(acc?.cacheWriteTokens, u.cacheWriteTokens),
25
+ reasoningTokens: sumOpt(acc?.reasoningTokens, u.reasoningTokens)
26
+ };
27
+ }
28
+ function buildResult(terminal, rounds, lastResult, usage) {
29
+ return { terminal, rounds, lastResult, ...usage !== void 0 ? { usage } : {} };
30
+ }
31
+ async function continuationTail(round, lastResult, usage, onTruncated, signal) {
32
+ await onTruncated?.({ round });
33
+ return signal?.aborted === true ? buildResult("step_limit", round, lastResult, usage) : void 0;
34
+ }
35
+ function resolveContinuation(options) {
36
+ return {
37
+ maxRounds: options?.maxRounds ?? DEFAULT_MAX_ROUNDS,
38
+ continuationPrompt: options?.continuationPrompt ?? DEFAULT_CONTINUATION_PROMPT,
39
+ onTruncated: options?.onTruncated,
40
+ signal: options?.signal,
41
+ sendOptions: options?.sendOptions,
42
+ state: { usage: void 0, emptyStreak: 0 }
43
+ };
44
+ }
45
+ function promptForRound(round, message, continuationPrompt) {
46
+ return round === 0 ? message : continuationPrompt;
47
+ }
48
+ async function stepRound(agent, prompt, sendOptions, round, maxRounds, state) {
49
+ const roundOptions = round === 0 ? sendOptions : { ...sendOptions ?? {}, origin: { kind: "auto-continuation" } };
50
+ const run = await agent.send(prompt, roundOptions);
51
+ const result = await run.wait();
52
+ const usage = addUsage(state.usage, result.usage);
53
+ const decision = classifyRound(result, round, maxRounds, state.emptyStreak);
54
+ if (decision !== "continue") return { terminal: buildResult(decision, round, result, usage) };
55
+ const emptyStreak = isEmptyRound(result) ? state.emptyStreak + 1 : 0;
56
+ return { next: { usage, emptyStreak }, lastResult: result };
57
+ }
58
+ async function runToCompletionImpl(agent, message, options) {
59
+ const cfg = resolveContinuation(options);
60
+ let state = cfg.state;
61
+ for (let round = 0; ; round += 1) {
62
+ const prompt = promptForRound(round, message, cfg.continuationPrompt);
63
+ const outcome = await stepRound(agent, prompt, cfg.sendOptions, round, cfg.maxRounds, state);
64
+ if ("terminal" in outcome) return outcome.terminal;
65
+ state = outcome.next;
66
+ const aborted = await continuationTail(
67
+ round,
68
+ outcome.lastResult,
69
+ state.usage,
70
+ cfg.onTruncated,
71
+ cfg.signal
72
+ );
73
+ if (aborted !== void 0) return aborted;
74
+ }
75
+ }
76
+
77
+ export { DEFAULT_CONTINUATION_PROMPT, DEFAULT_MAX_ROUNDS, addUsage, buildResult, classifyRound, continuationTail, isEmptyRound, promptForRound, resolveContinuation, runToCompletionImpl };
78
+ //# sourceMappingURL=chunk-EPSICJLZ.js.map
79
+ //# sourceMappingURL=chunk-EPSICJLZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/runtime/lifecycle/run-to-completion.ts"],"names":[],"mappings":"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","file":"chunk-EPSICJLZ.js","sourcesContent":["/**\n * `runToCompletion` continuation driver (M1 Phase 3 — plan m1-run-to-completion).\n *\n * Drives repeated `send()`s on a STATEFUL agent until a genuine terminal,\n * consuming the `RunResult.stoppedAtIterationLimit` signal shipped in 2.2.0.\n * The agent's session preserves conversation history across sends, so after a\n * truncated round the driver only re-sends a short continuation prompt (it does\n * NOT reconstruct history). Mirrors the injectable shape of `run-until.ts` and\n * absorbs the outer-loop policy hand-rolled in `theocode/server/lib/agent-loop.ts`.\n *\n * The core is decision-pure + injectable (`agent` is only the `.send` port) so\n * every terminal is unit-testable with a fake send — fixture mode never sets\n * `stoppedAtIterationLimit`, so injection is the only deterministic path.\n *\n * @internal\n */\n\nimport type {\n RunResult,\n RunToCompletionOptions,\n RunToCompletionResult,\n SendOptions,\n} from \"../../../types/run.js\";\nimport type { TokenUsage } from \"../../../types/usage.js\";\n\n/** Minimal agent port the driver needs — the instance `.send()` surface. */\nexport interface RunToCompletionAgent {\n send(message: string, options?: SendOptions): Promise<{ wait(): Promise<RunResult> }>;\n}\n\n/** @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4). */\nexport const DEFAULT_MAX_ROUNDS = 5;\n/** @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4). */\nexport const DEFAULT_CONTINUATION_PROMPT =\n \"Continue from where you left off and finish the task. If it is already complete, give the final answer.\";\n\ntype RoundDecision = \"done\" | \"continue\" | \"step_limit\" | \"no_progress\";\n\n/**\n * True when a round produced no observable output text.\n * @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4).\n */\nexport function isEmptyRound(result: RunResult): boolean {\n return (result.result ?? \"\").trim() === \"\";\n}\n\n/**\n * Pure decision: given a round's result + position + the running empty streak,\n * decide whether to finish (`done`), keep going (`continue`), or bail\n * (`step_limit` / `no_progress`).\n *\n * @internal\n */\nexport function classifyRound(\n result: RunResult,\n round: number,\n maxRounds: number,\n emptyStreak: number,\n): RoundDecision {\n // Doom-loop stop is a genuine terminal (the model repeated identical tool calls) — classify it as\n // `no_progress` FIRST, before the iteration-limit check, so it is never mistaken for a truncation\n // to re-send (which would re-trigger the loop). Complements the empty-round `no_progress` below.\n if (result.stoppedByDoomLoop === true) return \"no_progress\";\n if (result.stoppedAtIterationLimit !== true) return \"done\";\n // Truncated at the iteration ceiling.\n if (isEmptyRound(result) && emptyStreak >= 1) return \"no_progress\";\n if (round >= maxRounds) return \"step_limit\";\n return \"continue\";\n}\n\n/**\n * Sum a round's usage into the running aggregate. `requests` is intentionally\n * dropped (concatenating per-run request breakdowns across continuation rounds\n * would falsely imply a single multi-call run). `totalTokens` is DERIVED\n * (`inputTokens + outputTokens`), never summed independently, to preserve the\n * EC-10 invariant (`usage.ts`) at this aggregation boundary even if a provider\n * folded extra buckets into a round's own `totalTokens`.\n * @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4).\n */\nexport function addUsage(\n acc: TokenUsage | undefined,\n u: TokenUsage | undefined,\n): TokenUsage | undefined {\n if (u === undefined) return acc;\n const inputTokens = (acc?.inputTokens ?? 0) + u.inputTokens;\n const outputTokens = (acc?.outputTokens ?? 0) + u.outputTokens;\n const sumOpt = (a: number | undefined, b: number | undefined): number | undefined =>\n a === undefined && b === undefined ? undefined : (a ?? 0) + (b ?? 0);\n return {\n inputTokens,\n outputTokens,\n totalTokens: inputTokens + outputTokens,\n cacheReadTokens: sumOpt(acc?.cacheReadTokens, u.cacheReadTokens),\n cacheWriteTokens: sumOpt(acc?.cacheWriteTokens, u.cacheWriteTokens),\n reasoningTokens: sumOpt(acc?.reasoningTokens, u.reasoningTokens),\n };\n}\n\n/**\n * Assemble the result object, omitting `usage` when no round reported any.\n * @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4).\n */\nexport function buildResult(\n terminal: RunToCompletionResult[\"terminal\"],\n rounds: number,\n lastResult: RunResult,\n usage: TokenUsage | undefined,\n): RunToCompletionResult {\n return { terminal, rounds, lastResult, ...(usage !== undefined ? { usage } : {}) };\n}\n\n/**\n * The shared between-rounds tail: fire `onTruncated`, then — re-reading `aborted`\n * (a getter that can flip between rounds) — return a `step_limit` result if the\n * signal aborted, else `undefined` to continue. Used by BOTH the stateful driver\n * and its streaming twin (V3-4), so the continuation-end policy has one home.\n * @internal\n */\nexport async function continuationTail(\n round: number,\n lastResult: RunResult,\n usage: TokenUsage | undefined,\n onTruncated: ((event: { round: number }) => void | Promise<void>) | undefined,\n signal: AbortSignal | undefined,\n): Promise<RunToCompletionResult | undefined> {\n await onTruncated?.({ round });\n return signal?.aborted === true ? buildResult(\"step_limit\", round, lastResult, usage) : undefined;\n}\n\n/**\n * Carried state between continuation rounds.\n * @internal — shared with the streaming twin (`stream-to-completion.ts`, V3-4).\n */\nexport interface RoundState {\n usage: TokenUsage | undefined;\n emptyStreak: number;\n}\n\n/** Resolved continuation config + fresh initial state — shared by both drivers. @internal */\nexport interface ResolvedContinuation {\n maxRounds: number;\n continuationPrompt: string;\n onTruncated: ((event: { round: number }) => void | Promise<void>) | undefined;\n signal: AbortSignal | undefined;\n sendOptions: SendOptions | undefined;\n state: RoundState;\n}\n\n/** Resolve options to the continuation config + a fresh state. One home for the defaults. @internal */\nexport function resolveContinuation(options?: RunToCompletionOptions): ResolvedContinuation {\n return {\n maxRounds: options?.maxRounds ?? DEFAULT_MAX_ROUNDS,\n continuationPrompt: options?.continuationPrompt ?? DEFAULT_CONTINUATION_PROMPT,\n onTruncated: options?.onTruncated,\n signal: options?.signal,\n sendOptions: options?.sendOptions,\n state: { usage: undefined, emptyStreak: 0 },\n };\n}\n\n/** The round's prompt: the task on round 0, the continuation prompt after. @internal */\nexport function promptForRound(round: number, message: string, continuationPrompt: string): string {\n return round === 0 ? message : continuationPrompt;\n}\n\n/** A round either reaches a terminal, or yields the state to carry into the next round. */\ntype RoundOutcome =\n | { terminal: RunToCompletionResult }\n | { next: RoundState; lastResult: RunResult };\n\n/** Send one round, fold usage, classify. Splits the loop body out to cap complexity. */\nasync function stepRound(\n agent: RunToCompletionAgent,\n prompt: string,\n sendOptions: SendOptions | undefined,\n round: number,\n maxRounds: number,\n state: RoundState,\n): Promise<RoundOutcome> {\n // SE3 — a continuation round (round > 0) is a driver-initiated turn; stamp its\n // provenance so a consumer can tell it apart from the caller's first send.\n const roundOptions: SendOptions | undefined =\n round === 0 ? sendOptions : { ...(sendOptions ?? {}), origin: { kind: \"auto-continuation\" } };\n const run = await agent.send(prompt, roundOptions);\n const result = await run.wait();\n const usage = addUsage(state.usage, result.usage);\n const decision = classifyRound(result, round, maxRounds, state.emptyStreak);\n if (decision !== \"continue\") return { terminal: buildResult(decision, round, result, usage) };\n const emptyStreak = isEmptyRound(result) ? state.emptyStreak + 1 : 0;\n return { next: { usage, emptyStreak }, lastResult: result };\n}\n\n/**\n * Drive `agent.send()` until a terminal. See {@link RunToCompletionOptions}.\n *\n * @internal\n */\nexport async function runToCompletionImpl(\n agent: RunToCompletionAgent,\n message: string,\n options?: RunToCompletionOptions,\n): Promise<RunToCompletionResult> {\n const cfg = resolveContinuation(options);\n let state = cfg.state;\n\n for (let round = 0; ; round += 1) {\n const prompt = promptForRound(round, message, cfg.continuationPrompt);\n const outcome = await stepRound(agent, prompt, cfg.sendOptions, round, cfg.maxRounds, state);\n if (\"terminal\" in outcome) return outcome.terminal;\n\n // Truncated and below the round budget — re-send next iteration.\n state = outcome.next;\n const aborted = await continuationTail(\n round,\n outcome.lastResult,\n state.usage,\n cfg.onTruncated,\n cfg.signal,\n );\n if (aborted !== undefined) return aborted;\n }\n}\n"]}
@@ -0,0 +1,155 @@
1
+ 'use strict';
2
+
3
+ var chunkJ7J7J2GN_cjs = require('./chunk-J7J7J2GN.cjs');
4
+ var crypto = require('crypto');
5
+ var fs = require('fs');
6
+ var path = require('path');
7
+ var zod = require('zod');
8
+
9
+ function credentialHome(config, env = {}) {
10
+ const override = config.homeEnvVar !== void 0 ? env[config.homeEnvVar]?.trim() : void 0;
11
+ return override !== void 0 && override.length > 0 ? override : path.join(config.home, config.dirName);
12
+ }
13
+ function authFilePath(config, env = {}) {
14
+ return path.join(credentialHome(config, env), config.fileName);
15
+ }
16
+ var CredentialError = class extends chunkJ7J7J2GN_cjs.AuthenticationError {
17
+ // Field, not an assignment in the constructor: `AuthenticationError.name` is `override readonly`
18
+ // (`errors.ts:174`), so `this.name = …` does not compile. Caught by `tsc`, not by vitest — the
19
+ // suite was green with the broken assignment because the transpiler strips the type.
20
+ name = "CredentialError";
21
+ };
22
+ var apiFileSchema = zod.z.object({
23
+ type: zod.z.literal("api").optional(),
24
+ provider: zod.z.string().min(1).optional(),
25
+ api_key: zod.z.string()
26
+ }).strict();
27
+ var oauthFileSchema = zod.z.object({
28
+ type: zod.z.literal("oauth"),
29
+ provider: zod.z.string().min(1),
30
+ access: zod.z.string().min(1),
31
+ refresh: zod.z.string().min(1),
32
+ expires: zod.z.number(),
33
+ account_id: zod.z.string().optional()
34
+ }).strict();
35
+ var fileSchema = zod.z.union([oauthFileSchema, apiFileSchema]);
36
+ function assertSecureModes(dirPath, path) {
37
+ if (process.platform === "win32") return;
38
+ const dirMode = fs.statSync(dirPath).mode & 511;
39
+ if ((dirMode & 18) !== 0) {
40
+ throw new CredentialError(
41
+ `${dirPath} is writable by other users (mode ${dirMode.toString(8)}), so the credential file inside it can be replaced. Fix it with: chmod 700 ${dirPath}`
42
+ );
43
+ }
44
+ const mode = fs.statSync(path).mode & 511;
45
+ if ((mode & 63) !== 0) {
46
+ throw new CredentialError(
47
+ `${path} is readable by other users (mode ${mode.toString(8)}). A credential file must not be. Fix it with: chmod 600 ${path}`
48
+ );
49
+ }
50
+ }
51
+ function describeUnionError(parsed, err, path) {
52
+ const looksOAuth = typeof parsed === "object" && parsed !== null && parsed.type === "oauth";
53
+ const specific = looksOAuth ? oauthFileSchema.safeParse(parsed) : apiFileSchema.safeParse(parsed);
54
+ let issue;
55
+ if (!specific.success) {
56
+ issue = specific.error.issues[0];
57
+ } else if (err instanceof zod.z.ZodError) {
58
+ issue = err.issues[0];
59
+ }
60
+ return new CredentialError(
61
+ `${path}: ${issue?.message ?? String(err)} [${issue?.path.join(".") || "root"}]`
62
+ );
63
+ }
64
+ function parseStoredFile(raw, path) {
65
+ let parsed;
66
+ try {
67
+ parsed = JSON.parse(raw);
68
+ } catch {
69
+ throw new CredentialError(
70
+ `${path} is not valid JSON. Expected: {"provider": "<name>", "api_key": "..."}`
71
+ );
72
+ }
73
+ try {
74
+ return fileSchema.parse(parsed);
75
+ } catch (err) {
76
+ throw describeUnionError(parsed, err, path);
77
+ }
78
+ }
79
+ function readAuthFile(config, env = {}) {
80
+ const path = authFilePath(config, env);
81
+ let raw;
82
+ try {
83
+ raw = fs.readFileSync(path, "utf8");
84
+ } catch (err) {
85
+ if (err.code === "ENOENT") return void 0;
86
+ throw new CredentialError(`cannot read ${path}: ${err.message}`);
87
+ }
88
+ assertSecureModes(credentialHome(config, env), path);
89
+ return parseStoredFile(raw, path);
90
+ }
91
+ function readStoredOAuth(config, env = {}) {
92
+ const stored = readAuthFile(config, env);
93
+ return stored !== void 0 && stored.type === "oauth" ? stored : void 0;
94
+ }
95
+ function isOAuthWrite(c) {
96
+ return "type" in c && c.type === "oauth";
97
+ }
98
+ function buildStorePayload(cred) {
99
+ if (isOAuthWrite(cred)) {
100
+ if (cred.access.length === 0 || cred.refresh.length === 0) {
101
+ throw new CredentialError(
102
+ "refusing to write an oauth credential with an empty access/refresh token"
103
+ );
104
+ }
105
+ return {
106
+ type: "oauth",
107
+ provider: cred.provider,
108
+ access: cred.access,
109
+ refresh: cred.refresh,
110
+ expires: cred.expires,
111
+ ...cred.account_id !== void 0 ? { account_id: cred.account_id } : {}
112
+ };
113
+ }
114
+ if (typeof cred.apiKey !== "string" || cred.apiKey.length === 0) {
115
+ throw new CredentialError("refusing to write an empty API key");
116
+ }
117
+ return { provider: cred.provider, api_key: cred.apiKey };
118
+ }
119
+ function writeCredential(cred, config, env = {}) {
120
+ const payload = buildStorePayload(cred);
121
+ const dir = credentialHome(config, env);
122
+ fs.mkdirSync(dir, { recursive: true, mode: 448 });
123
+ fs.chmodSync(dir, 448);
124
+ const path = authFilePath(config, env);
125
+ const tmp = `${path}.tmp-${crypto.randomBytes(8).toString("hex")}`;
126
+ try {
127
+ const fd = fs.openSync(tmp, "wx", 384);
128
+ try {
129
+ fs.writeFileSync(fd, `${JSON.stringify(payload, null, 2)}
130
+ `);
131
+ fs.fsyncSync(fd);
132
+ } finally {
133
+ fs.closeSync(fd);
134
+ }
135
+ fs.chmodSync(tmp, 384);
136
+ fs.renameSync(tmp, path);
137
+ } catch (err) {
138
+ try {
139
+ fs.unlinkSync(tmp);
140
+ } catch {
141
+ }
142
+ throw new CredentialError(`cannot write ${path}: ${err.message}`);
143
+ }
144
+ return path;
145
+ }
146
+
147
+ exports.CredentialError = CredentialError;
148
+ exports.assertSecureModes = assertSecureModes;
149
+ exports.authFilePath = authFilePath;
150
+ exports.credentialHome = credentialHome;
151
+ exports.readAuthFile = readAuthFile;
152
+ exports.readStoredOAuth = readStoredOAuth;
153
+ exports.writeCredential = writeCredential;
154
+ //# sourceMappingURL=chunk-EXTRW7GW.cjs.map
155
+ //# sourceMappingURL=chunk-EXTRW7GW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/auth/credential-store.ts"],"names":["join","AuthenticationError","z","statSync","readFileSync","mkdirSync","chmodSync","randomBytes","openSync","writeFileSync","fsyncSync","closeSync","renameSync","unlinkSync"],"mappings":"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","file":"chunk-EXTRW7GW.cjs","sourcesContent":["import { randomBytes } from \"node:crypto\";\nimport {\n chmodSync,\n closeSync,\n fsyncSync,\n mkdirSync,\n openSync,\n readFileSync,\n renameSync,\n statSync,\n unlinkSync,\n writeFileSync,\n} from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { z } from \"zod\";\n\nimport { AuthenticationError } from \"../../errors.js\";\n\n/**\n * M42 — the SDK credential store. Promoted DOWN from agent-builder's hardened `agents/lib/credentials.ts`\n * (M37), generalized from a closed `openrouter|anthropic|openai` union to an open `provider: string` and\n * driven by a caller-supplied {@link CredentialStoreConfig} (no hardcoded `.agent-builder`/`auth.json` /\n * `AGENT_BUILDER_HOME`). The security-critical file mechanics are ported VERBATIM (ADR D3 of the M42 plan):\n * atomic O_EXCL + rename + fsync write, 0700/0600 mode gates, `env` is always a PARAMETER (never an ambient\n * `process.env` read).\n *\n * The env-precedence + key-prefix-inference + declared-provider rungs of the agent-builder resolver are\n * APP POLICY and deliberately stay UP in the consumer; this module owns only the on-disk store + the\n * `api|oauth` discriminated union. See {@link resolveCredential} (SDK) for the store-read + refresh path.\n *\n * Re-exported from `@theokit/sdk/auth`, and therefore PUBLIC, under semver.\n *\n * NOTE — no internal-visibility tag in this block. `tsconfig.base.json` sets `stripInternal: true`,\n * and TypeScript scans EVERY leading comment range of the declaration that follows, including the\n * import right below this one. The tag that used to sit here deleted that import from the emitted\n * `.d.ts`, leaving the types it binds unresolvable for any consumer running type-aware lint\n * (usetheodev/theokit-sdk#283 records the same trap on a declaration).\n */\nimport type { CredentialStoreConfig, StoredCredential, StoredOAuthCredential } from \"./types.js\";\n\n/** The store directory, honoring an optional `homeEnvVar` override. */\nexport function credentialHome(\n config: CredentialStoreConfig,\n env: Record<string, string | undefined> = {},\n): string {\n const override = config.homeEnvVar !== undefined ? env[config.homeEnvVar]?.trim() : undefined;\n return override !== undefined && override.length > 0\n ? override\n : join(config.home, config.dirName);\n}\n\n/** The credential file path inside the (possibly overridden) store directory. */\nexport function authFilePath(\n config: CredentialStoreConfig,\n env: Record<string, string | undefined> = {},\n): string {\n return join(credentialHome(config, env), config.fileName);\n}\n\n/**\n * A credential problem the caller can act on. Never carries the key value.\n *\n * M78 — this used to extend bare `Error`, which quietly disabled classification for the entire auth\n * path: `isTransientError` is `err instanceof TheokitAgentError && err.isRetryable === true`\n * (`errors.ts:443`), so a credential failure could never be judged transient OR permanent. The\n * predicate was not \"forgotten\" downstream — it was unusable there by construction.\n *\n * Extending `AuthenticationError` is ADDITIVE: the class still exists, still reports\n * `name: \"CredentialError\"`, and every existing `instanceof CredentialError` stays true. It only\n * gains ancestors. `AuthenticationError` pins `isRetryable: false`, so gaining the ability to be\n * classified does NOT turn a revoked credential into a retry loop.\n *\n * The single reference does the same thing with one root type: Codex routes every domain failure\n * through `CodexErr` with `is_retryable()` as a method (`protocol/src/error.rs:176`), rather than\n * parallel classes extending the language's `Error`.\n */\nexport class CredentialError extends AuthenticationError {\n // Field, not an assignment in the constructor: `AuthenticationError.name` is `override readonly`\n // (`errors.ts:174`), so `this.name = …` does not compile. Caught by `tsc`, not by vitest — the\n // suite was green with the broken assignment because the transpiler strips the type.\n override readonly name: string = \"CredentialError\";\n}\n\n/**\n * The on-disk store — a discriminated union on `type`. A legacy file with NO\n * `type` (or `type: 'api'`) is the API-key variant — read unchanged, no migration. The `oauth` variant\n * carries the token pair + expiry.\n */\nconst apiFileSchema = z\n .object({\n type: z.literal(\"api\").optional(),\n provider: z.string().min(1).optional(),\n api_key: z.string(),\n })\n .strict();\n\nconst oauthFileSchema = z\n .object({\n type: z.literal(\"oauth\"),\n provider: z.string().min(1),\n access: z.string().min(1),\n refresh: z.string().min(1),\n expires: z.number(),\n account_id: z.string().optional(),\n })\n .strict();\n\n// oauth first (it requires `type: 'oauth'`); a legacy `{provider?, api_key}` falls through to api.\nconst fileSchema = z.union([oauthFileSchema, apiFileSchema]);\n\n/**\n * The 0700-dir / 0600-file mode gates (ported verbatim). The DIRECTORY matters as much as the file:\n * `mkdirSync(mode)` applies only at creation, so a pre-existing store dir keeps whatever mode it had, and a\n * writable dir lets an attacker replace the credential file with a symlink to their own 0600 file — the\n * agent then runs on THEIR account.\n */\nexport function assertSecureModes(dirPath: string, path: string): void {\n // Windows has no POSIX mode bits. `statSync().mode` there is SYNTHETIC — 0666 for any writable\n // entry, whatever the ACLs actually say — so `mode & 0o022` was non-zero for every valid store and\n // this gate refused all of them, which made the credential path unreadable on that platform\n // rather than protected. A check that cannot observe the real permission system must not report a\n // verdict about it; ACL enforcement is a separate mechanism and not one this function can fake.\n if (process.platform === \"win32\") return;\n\n const dirMode = statSync(dirPath).mode & 0o777;\n if ((dirMode & 0o022) !== 0) {\n throw new CredentialError(\n `${dirPath} is writable by other users (mode ${dirMode.toString(8)}), so the credential file ` +\n `inside it can be replaced. Fix it with: chmod 700 ${dirPath}`,\n );\n }\n const mode = statSync(path).mode & 0o777;\n if ((mode & 0o077) !== 0) {\n throw new CredentialError(\n `${path} is readable by other users (mode ${mode.toString(8)}). ` +\n `A credential file must not be. Fix it with: chmod 600 ${path}`,\n );\n }\n}\n\n/**\n * A `z.union` reports a generic \"Invalid input\" at the root, hiding WHAT is wrong. Pick the sub-schema the\n * file was CLEARLY aiming at (by its `type` discriminant) and surface that schema's specific issue.\n */\nfunction describeUnionError(parsed: unknown, err: unknown, path: string): CredentialError {\n const looksOAuth =\n typeof parsed === \"object\" &&\n parsed !== null &&\n (parsed as { type?: unknown }).type === \"oauth\";\n const specific = looksOAuth ? oauthFileSchema.safeParse(parsed) : apiFileSchema.safeParse(parsed);\n let issue: z.ZodIssue | undefined;\n if (!specific.success) {\n issue = specific.error.issues[0];\n } else if (err instanceof z.ZodError) {\n issue = err.issues[0];\n }\n return new CredentialError(\n `${path}: ${issue?.message ?? String(err)} [${issue?.path.join(\".\") || \"root\"}]`,\n );\n}\n\n/** Parse the raw file into the store union, surfacing the SPECIFIC sub-schema issue (not a generic union error). */\nfunction parseStoredFile(raw: string, path: string): StoredCredential {\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n // The parser's message embeds a snippet of the INPUT — up to the raw key when a user pastes the bare\n // key instead of JSON. The position is not actionable anyway, so the expected shape is more useful.\n throw new CredentialError(\n `${path} is not valid JSON. Expected: {\"provider\": \"<name>\", \"api_key\": \"...\"}`,\n );\n }\n try {\n return fileSchema.parse(parsed);\n } catch (err) {\n throw describeUnionError(parsed, err, path);\n }\n}\n\n/**\n * Read the credential file. Absent ⇒ `undefined` (the normal case). Present-but-wrong is a typed error\n * naming the file: a malformed credential store must not surface as a raw parse crash. Enforces the\n * 0700 dir / 0600 file mode gates (ported verbatim — a writable dir lets an attacker swap the file for a\n * symlink to their own account).\n */\nexport function readAuthFile(\n config: CredentialStoreConfig,\n env: Record<string, string | undefined> = {},\n): StoredCredential | undefined {\n const path = authFilePath(config, env);\n\n let raw: string;\n try {\n raw = readFileSync(path, \"utf8\");\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return undefined;\n throw new CredentialError(`cannot read ${path}: ${(err as Error).message}`);\n }\n\n assertSecureModes(credentialHome(config, env), path);\n return parseStoredFile(raw, path);\n}\n\n/**\n * Read the stored OAuth credential (with its refresh token), or `undefined` when the store is absent or\n * holds an api credential. The oauth engine needs the refresh token, which the resolved bearer does not\n * carry. Enforces the same 0600/0700 gates as every other read.\n */\nexport function readStoredOAuth(\n config: CredentialStoreConfig,\n env: Record<string, string | undefined> = {},\n): StoredOAuthCredential | undefined {\n const stored = readAuthFile(config, env);\n return stored !== undefined && stored.type === \"oauth\" ? stored : undefined;\n}\n\n/** Narrows a writable credential to the oauth variant. */\nfunction isOAuthWrite(\n c: { provider: string; apiKey: string } | StoredOAuthCredential,\n): c is StoredOAuthCredential {\n return \"type\" in c && c.type === \"oauth\";\n}\n\n/** Build the on-disk JSON payload for the credential variant, validating non-empty tokens. */\nfunction buildStorePayload(\n cred: { provider: string; apiKey: string } | StoredOAuthCredential,\n): Record<string, unknown> {\n if (isOAuthWrite(cred)) {\n if (cred.access.length === 0 || cred.refresh.length === 0) {\n throw new CredentialError(\n \"refusing to write an oauth credential with an empty access/refresh token\",\n );\n }\n return {\n type: \"oauth\",\n provider: cred.provider,\n access: cred.access,\n refresh: cred.refresh,\n expires: cred.expires,\n ...(cred.account_id !== undefined ? { account_id: cred.account_id } : {}),\n };\n }\n if (typeof cred.apiKey !== \"string\" || cred.apiKey.length === 0) {\n throw new CredentialError(\"refusing to write an empty API key\");\n }\n return { provider: cred.provider, api_key: cred.apiKey };\n}\n\n/**\n * Persist a credential atomically at mode `0600`. Ported VERBATIM (ADR D3): write to a random-named temp\n * file in the same directory with `wx` (O_EXCL), fsync, close, chmod, then `rename` (atomic on POSIX) —\n * so a crash mid-write leaves whatever was there untouched, and a pre-planted symlink cannot capture the\n * key. The api variant persists the unchanged `{provider, api_key}` (back-compat, no `type` key); the\n * oauth variant persists `{type:'oauth', provider, access, refresh, expires, account_id?}`.\n */\nexport function writeCredential(\n cred: { provider: string; apiKey: string } | StoredOAuthCredential,\n config: CredentialStoreConfig,\n env: Record<string, string | undefined> = {},\n): string {\n const payload = buildStorePayload(cred);\n\n const dir = credentialHome(config, env);\n mkdirSync(dir, { recursive: true, mode: 0o700 });\n chmodSync(dir, 0o700); // unconditional: mkdirSync's mode applies only at creation\n\n const path = authFilePath(config, env);\n // RANDOM name + `wx` (O_EXCL): a predictable temp name with a plain write follows a pre-planted SYMLINK,\n // landing the key in an attacker's file while reporting success. O_EXCL refuses any pre-existing file or\n // link; the random suffix also removes the pid collision two containers sharing a bind-mounted home make.\n const tmp = `${path}.tmp-${randomBytes(8).toString(\"hex\")}`;\n try {\n const fd = openSync(tmp, \"wx\", 0o600);\n try {\n writeFileSync(fd, `${JSON.stringify(payload, null, 2)}\\n`);\n fsyncSync(fd);\n } finally {\n closeSync(fd);\n }\n chmodSync(tmp, 0o600); // explicit: the mode argument is subject to umask\n renameSync(tmp, path);\n } catch (err) {\n try {\n unlinkSync(tmp);\n } catch {\n // the temp file may not exist; its absence is not a failure of the write\n }\n throw new CredentialError(`cannot write ${path}: ${(err as Error).message}`);\n }\n return path;\n}\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=chunk-FD2UT76F.js.map
3
+ //# sourceMappingURL=chunk-FD2UT76F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-FD2UT76F.js"}
@@ -0,0 +1,122 @@
1
+ import { createRequire } from 'module';
2
+
3
+ // src/sanitize/coerce.ts
4
+ var cachedJsonrepair;
5
+ function loadJsonrepair() {
6
+ if (cachedJsonrepair === void 0) {
7
+ const req = createRequire(import.meta.url);
8
+ cachedJsonrepair = req("jsonrepair").jsonrepair;
9
+ }
10
+ return cachedJsonrepair;
11
+ }
12
+ function isPlainObject(v) {
13
+ return v !== null && typeof v === "object" && !Array.isArray(v);
14
+ }
15
+ function toFiniteNumber(raw) {
16
+ if (raw === "") return void 0;
17
+ const n = Number(raw);
18
+ return Number.isFinite(n) && String(n) === raw ? n : void 0;
19
+ }
20
+ function tryJson(raw, repair) {
21
+ const t = raw.trimStart();
22
+ if (!(t.startsWith("{") || t.startsWith("["))) return void 0;
23
+ try {
24
+ return JSON.parse(repair ? loadJsonrepair()(t) : t);
25
+ } catch {
26
+ return void 0;
27
+ }
28
+ }
29
+ function heuristicCoerce(raw, repairJson) {
30
+ if (raw === "true") return true;
31
+ if (raw === "false") return false;
32
+ if (raw === "null") return null;
33
+ const n = toFiniteNumber(raw);
34
+ if (n !== void 0) return n;
35
+ const json = tryJson(raw, false) ?? (repairJson ? tryJson(raw, true) : void 0);
36
+ return json === void 0 ? raw : json;
37
+ }
38
+ function coerceCandidates(raw, repairJson) {
39
+ const out = [];
40
+ if (raw === "true") out.push(true);
41
+ else if (raw === "false") out.push(false);
42
+ else if (raw === "null") out.push(null);
43
+ const n = toFiniteNumber(raw);
44
+ if (n !== void 0) out.push(n);
45
+ const json = tryJson(raw, false) ?? (repairJson ? tryJson(raw, true) : void 0);
46
+ if (json !== void 0) out.push(json);
47
+ out.push(raw);
48
+ return out;
49
+ }
50
+ function objectShape(schema) {
51
+ const shape = schema?.shape;
52
+ return shape !== null && typeof shape === "object" ? shape : void 0;
53
+ }
54
+
55
+ // src/sanitize/sanitize-tool-input.ts
56
+ function applyTrim(key, value, ctx) {
57
+ const trimmed = value.trim();
58
+ if (trimmed !== value) ctx.notes.push(`trimmed "${key}"`);
59
+ return trimmed;
60
+ }
61
+ function applyCoerce(key, raw, ctx) {
62
+ const field = ctx.shape?.[key];
63
+ let coerced = raw;
64
+ if (field) {
65
+ for (const candidate of coerceCandidates(raw, ctx.repairJson)) {
66
+ if (field.safeParse(candidate).success) {
67
+ coerced = candidate;
68
+ break;
69
+ }
70
+ }
71
+ } else {
72
+ coerced = heuristicCoerce(raw, ctx.repairJson);
73
+ }
74
+ if (coerced !== raw) ctx.notes.push(`coerced "${key}"`);
75
+ return coerced;
76
+ }
77
+ function applyRepair(key, value, ctx) {
78
+ const repaired = tryJson(value, true);
79
+ if (repaired === void 0) return value;
80
+ ctx.notes.push(`repaired json "${key}"`);
81
+ return repaired;
82
+ }
83
+ function sanitizeString(key, value, ctx) {
84
+ let out = ctx.trim ? applyTrim(key, value, ctx) : value;
85
+ if (ctx.coerce && typeof out === "string") out = applyCoerce(key, out, ctx);
86
+ if (ctx.repairJson && !ctx.coerce && typeof out === "string") out = applyRepair(key, out, ctx);
87
+ return out;
88
+ }
89
+ function walkValue(key, value, ctx, depth) {
90
+ if (typeof value === "string") return sanitizeString(key, value, ctx);
91
+ if (Array.isArray(value)) {
92
+ if (depth >= ctx.maxDepth) return value;
93
+ return value.map((element) => walkValue(key, element, ctx, depth + 1));
94
+ }
95
+ if (ctx.deep && depth < ctx.maxDepth && isPlainObject(value)) return walk(value, ctx, depth + 1);
96
+ return value;
97
+ }
98
+ function walk(input, ctx, depth) {
99
+ const out = {};
100
+ for (const [key, value] of Object.entries(input)) {
101
+ out[key] = walkValue(key, value, ctx, depth);
102
+ }
103
+ return out;
104
+ }
105
+ function sanitizeToolInput(input, options) {
106
+ if (!isPlainObject(input)) return { value: input, changed: false, notes: [] };
107
+ const ctx = {
108
+ trim: options?.trim ?? true,
109
+ coerce: options?.coerce ?? false,
110
+ repairJson: options?.repairJson ?? false,
111
+ deep: options?.deep ?? false,
112
+ maxDepth: options?.maxDepth ?? 8,
113
+ shape: objectShape(options?.schema),
114
+ notes: []
115
+ };
116
+ const value = walk(input, ctx, 0);
117
+ return { value, changed: ctx.notes.length > 0, notes: ctx.notes };
118
+ }
119
+
120
+ export { isPlainObject, sanitizeToolInput, tryJson };
121
+ //# sourceMappingURL=chunk-FJWQP6EE.js.map
122
+ //# sourceMappingURL=chunk-FJWQP6EE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sanitize/coerce.ts","../src/sanitize/sanitize-tool-input.ts"],"names":[],"mappings":"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","file":"chunk-FJWQP6EE.js","sourcesContent":["import { createRequire } from \"node:module\";\n\nimport type { ZodType } from \"zod\";\n\n// `jsonrepair` is loaded lazily — consumers who never set `repairJson: true` never pay its\n// module-parse cost. Unlike `zod` (an optional peer dep), `jsonrepair` is a direct dependency and\n// is always installed; the lazy load is a startup-cost optimization, not an optional-install story.\n// Cached after the first repair.\nlet cachedJsonrepair: ((text: string) => string) | undefined;\nfunction loadJsonrepair(): (text: string) => string {\n if (cachedJsonrepair === undefined) {\n const req = createRequire(import.meta.url);\n cachedJsonrepair = (req(\"jsonrepair\") as { jsonrepair: (t: string) => string }).jsonrepair;\n }\n return cachedJsonrepair;\n}\n\n/** @internal */\nexport function isPlainObject(v: unknown): v is Record<string, unknown> {\n return v !== null && typeof v === \"object\" && !Array.isArray(v);\n}\n\n/** Number coercion with a round-trip + finite guard: rejects big-ints, leading-zeros, `NaN`,\n * `Infinity`, and non-canonical forms (`\"1e3\"`), preventing silent ID/precision corruption (EC-2). */\nfunction toFiniteNumber(raw: string): number | undefined {\n if (raw === \"\") return undefined;\n const n = Number(raw);\n return Number.isFinite(n) && String(n) === raw ? n : undefined;\n}\n\n/** Parse a value ONLY when it looks like a JSON object/array (EC-3 guard; leading whitespace\n * ignored so `trim:false` inputs are still gated correctly). `repair` routes it through\n * `jsonrepair` first. Returns `undefined` when not JSON-looking or on parse failure.\n * @internal */\nexport function tryJson(raw: string, repair: boolean): unknown {\n const t = raw.trimStart();\n if (!(t.startsWith(\"{\") || t.startsWith(\"[\"))) return undefined;\n try {\n return JSON.parse(repair ? loadJsonrepair()(t) : t);\n } catch {\n return undefined;\n }\n}\n\n/** Heuristic scalar/JSON coercion (agentfw `coerceParameter` shape) used when there is no\n * per-field schema. Returns the coerced value, or the raw string when nothing applies.\n * @internal */\nexport function heuristicCoerce(raw: string, repairJson: boolean): unknown {\n if (raw === \"true\") return true;\n if (raw === \"false\") return false;\n if (raw === \"null\") return null;\n const n = toFiniteNumber(raw);\n if (n !== undefined) return n;\n const json = tryJson(raw, false) ?? (repairJson ? tryJson(raw, true) : undefined);\n return json === undefined ? raw : json;\n}\n\n/** Candidates a raw string could coerce to, most-specific first. Used for schema-aware coercion:\n * the field schema selects the first candidate it accepts (so a string field keeps `\"5\"`).\n * @internal */\nexport function coerceCandidates(raw: string, repairJson: boolean): unknown[] {\n const out: unknown[] = [];\n if (raw === \"true\") out.push(true);\n else if (raw === \"false\") out.push(false);\n else if (raw === \"null\") out.push(null);\n const n = toFiniteNumber(raw);\n if (n !== undefined) out.push(n);\n const json = tryJson(raw, false) ?? (repairJson ? tryJson(raw, true) : undefined);\n if (json !== undefined) out.push(json);\n out.push(raw); // raw string is always the last-resort candidate\n return out;\n}\n\n/** True for a Zod schema that exposes a per-key `.shape` (a `z.object`, incl. Zod-v4\n * `.refine()`/`.default()` which keep `.shape`); non-object schemas (union/record) return\n * `undefined` so callers fall back to heuristic coercion (EC-4).\n * @internal */\nexport function objectShape(schema: ZodType | undefined): Record<string, ZodType> | undefined {\n const shape = (schema as unknown as { shape?: unknown } | undefined)?.shape;\n return shape !== null && typeof shape === \"object\"\n ? (shape as Record<string, ZodType>)\n : undefined;\n}\n","import type { ZodType } from \"zod\";\n\nimport {\n coerceCandidates,\n heuristicCoerce,\n isPlainObject,\n objectShape,\n tryJson,\n} from \"./coerce.js\";\nimport type { SanitizeOptions, SanitizeResult } from \"./types.js\";\n\ninterface Ctx {\n trim: boolean;\n coerce: boolean;\n repairJson: boolean;\n deep: boolean;\n maxDepth: number;\n shape: Record<string, ZodType> | undefined;\n notes: string[];\n}\n\n/** Trim rung — returns the trimmed string, noting the change. */\nfunction applyTrim(key: string, value: string, ctx: Ctx): string {\n const trimmed = value.trim();\n if (trimmed !== value) ctx.notes.push(`trimmed \"${key}\"`);\n return trimmed;\n}\n\n/** Coerce rung — schema-aware when a field schema exists (pick the first accepted candidate),\n * else heuristic. Returns the coerced value (or the raw string), noting the change. */\nfunction applyCoerce(key: string, raw: string, ctx: Ctx): unknown {\n const field = ctx.shape?.[key];\n let coerced: unknown = raw;\n if (field) {\n for (const candidate of coerceCandidates(raw, ctx.repairJson)) {\n if (field.safeParse(candidate).success) {\n coerced = candidate;\n break;\n }\n }\n } else {\n coerced = heuristicCoerce(raw, ctx.repairJson);\n }\n if (coerced !== raw) ctx.notes.push(`coerced \"${key}\"`);\n return coerced;\n}\n\n/** Repair rung — repair-then-parse a JSON-looking string, noting the change. */\nfunction applyRepair(key: string, value: string, ctx: Ctx): unknown {\n const repaired = tryJson(value, true);\n if (repaired === undefined) return value;\n ctx.notes.push(`repaired json \"${key}\"`);\n return repaired;\n}\n\n/** Sanitize one string value through the enabled rungs (trim → coerce → repair). */\nfunction sanitizeString(key: string, value: string, ctx: Ctx): unknown {\n let out: unknown = ctx.trim ? applyTrim(key, value, ctx) : value;\n if (ctx.coerce && typeof out === \"string\") out = applyCoerce(key, out, ctx);\n // Standalone repair runs ONLY when coerce is off. When coerce is on it already embedded the\n // repair candidate (via coerceCandidates / heuristicCoerce), and a schema-confirmed raw string\n // (e.g. a JSON string a `z.string()` field accepted) must not be clobbered back into an object.\n if (ctx.repairJson && !ctx.coerce && typeof out === \"string\") out = applyRepair(key, out, ctx);\n return out;\n}\n\n/**\n * Sanitize one value, whatever shape it has.\n *\n * Arrays used to fall through to \"assign as-is\", so `{ tags: [\" a \" ] }` came back untouched while\n * `{ tag: \" a \" }` was trimmed — even though trim is on by default and the `@public` docblock on\n * `deep` promised recursion into \"objects/arrays\". Nothing in the type distinguished the two cases.\n *\n * The element rules are the SAME rules, deliberately: a string element is sanitized like a string\n * field, and an object element is descended only under `deep`, so a caller does not have to learn a\n * second set of semantics for values that happen to sit in a list. `map` rather than the object\n * walker, because reusing that would return `{ \"0\": … }` and a handler doing `Array.isArray` would\n * reject it.\n */\nfunction walkValue(key: string, value: unknown, ctx: Ctx, depth: number): unknown {\n if (typeof value === \"string\") return sanitizeString(key, value, ctx);\n if (Array.isArray(value)) {\n if (depth >= ctx.maxDepth) return value;\n return value.map((element) => walkValue(key, element, ctx, depth + 1));\n }\n if (ctx.deep && depth < ctx.maxDepth && isPlainObject(value)) return walk(value, ctx, depth + 1);\n return value;\n}\n\nfunction walk(input: Record<string, unknown>, ctx: Ctx, depth: number): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(input)) {\n out[key] = walkValue(key, value, ctx, depth);\n }\n return out;\n}\n\n/**\n * Sanitize the raw arguments a model emitted for a tool call — trim (default), optionally coerce\n * string values toward their expected type, optionally repair malformed JSON. Pure, synchronous,\n * and TOTAL: it never throws (non-object input is returned unchanged) and never changes a value's\n * meaning — only its hygiene/representation. Reused internally by the leaked-dialect recovery so\n * the public primitive and the internal path never diverge.\n *\n * @public\n */\nexport function sanitizeToolInput(\n input: Record<string, unknown>,\n options?: SanitizeOptions,\n): SanitizeResult {\n // EC-1 — total contract: a non-object (null / array / primitive) is returned as-is, never thrown on.\n if (!isPlainObject(input)) return { value: input, changed: false, notes: [] };\n const ctx: Ctx = {\n trim: options?.trim ?? true,\n coerce: options?.coerce ?? false,\n repairJson: options?.repairJson ?? false,\n deep: options?.deep ?? false,\n maxDepth: options?.maxDepth ?? 8,\n shape: objectShape(options?.schema),\n notes: [],\n };\n const value = walk(input, ctx, 0);\n return { value, changed: ctx.notes.length > 0, notes: ctx.notes };\n}\n"]}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ // src/internal/auth/api-key-prefix.ts
4
+ var PREFIXES = {
5
+ "sk-or-": "openrouter",
6
+ "sk-ant-": "anthropic",
7
+ "sk-": "openai"
8
+ };
9
+ var BY_LENGTH = Object.entries(PREFIXES).sort(
10
+ (a, b) => b[0].length - a[0].length
11
+ );
12
+ function providerFromApiKeyPrefix(apiKey) {
13
+ if (apiKey === void 0) return void 0;
14
+ const key = apiKey.trim();
15
+ if (key.length === 0) return void 0;
16
+ for (const [prefix, provider] of BY_LENGTH) {
17
+ if (key.startsWith(prefix)) return provider;
18
+ }
19
+ return void 0;
20
+ }
21
+
22
+ exports.providerFromApiKeyPrefix = providerFromApiKeyPrefix;
23
+ //# sourceMappingURL=chunk-FRITRLZQ.cjs.map
24
+ //# sourceMappingURL=chunk-FRITRLZQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/auth/api-key-prefix.ts"],"names":[],"mappings":";;;AAiBA,IAAM,QAAA,GAA6C;AAAA,EACjD,QAAA,EAAU,YAAA;AAAA,EACV,SAAA,EAAW,WAAA;AAAA,EACX,KAAA,EAAO;AACT,CAAA;AAYA,IAAM,SAAA,GAAsD,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,CAAE,IAAA;AAAA,EACnF,CAAC,GAAG,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,CAAE,MAAA,GAAS,CAAA,CAAE,CAAC,CAAA,CAAE;AAC/B,CAAA;AASO,SAAS,yBAAyB,MAAA,EAAgD;AACvF,EAAA,IAAI,MAAA,KAAW,QAAW,OAAO,MAAA;AACjC,EAAA,MAAM,GAAA,GAAM,OAAO,IAAA,EAAK;AACxB,EAAA,IAAI,GAAA,CAAI,MAAA,KAAW,CAAA,EAAG,OAAO,MAAA;AAC7B,EAAA,KAAA,MAAW,CAAC,MAAA,EAAQ,QAAQ,CAAA,IAAK,SAAA,EAAW;AAC1C,IAAA,IAAI,GAAA,CAAI,UAAA,CAAW,MAAM,CAAA,EAAG,OAAO,QAAA;AAAA,EACrC;AACA,EAAA,OAAO,MAAA;AACT","file":"chunk-FRITRLZQ.cjs","sourcesContent":["/**\n * \"Which provider issued this key?\" — the pure prefix answer.\n *\n * Lives in `auth/` and not beside the local-run helper that used to own it, because the question is\n * an auth question. The local-run path additionally refuses a provider it has no profile for; that\n * is its policy, not part of this answer, so it stays there and composes with this.\n *\n * Lives under `internal/` by FOLDER, and is PUBLIC by contract — re-exported from\n * `@theokit/sdk/auth`.\n *\n * Deliberately NOT tagged `@internal`: `tsconfig.base.json` sets `stripInternal: true`, so that tag\n * deletes the declaration from every emitted `.d.ts`. The symbol then exists at runtime and cannot\n * be imported with types — which is the exact defect this module was published to fix, reintroduced\n * one layer down by a docblock. Measured: usetheodev/theokit-sdk#283.\n */\n\n/** Prefix → provider. Order here is irrelevant: the lookup sorts. */\nconst PREFIXES: Readonly<Record<string, string>> = {\n \"sk-or-\": \"openrouter\",\n \"sk-ant-\": \"anthropic\",\n \"sk-\": \"openai\",\n};\n\n/**\n * Longest first, computed once.\n *\n * The ordering IS the correctness property, so it is derived rather than written down: every\n * OpenRouter and Anthropic key also starts with `sk-`, and a shortest-match-first scan resolves\n * them to OpenAI. That failure is invisible locally — it surfaces as a remote 401 from the wrong\n * endpoint, with a message that says nothing about prefixes. The previous implementation was\n * correct only because the entries happened to be written in a workable order; appending a longer\n * prefix, or sorting the table for readability, would have broken it silently.\n */\nconst BY_LENGTH: ReadonlyArray<readonly [string, string]> = Object.entries(PREFIXES).sort(\n (a, b) => b[0].length - a[0].length,\n);\n\n/**\n * The provider whose key prefix matches, or `undefined` when none does.\n *\n * `undefined` means \"cannot tell\" and never a guess: a wrong guess here routes a real credential to\n * the wrong endpoint. Whitespace-only and empty inputs are \"cannot tell\" too — they are what an\n * empty prompt submits, not a key.\n */\nexport function providerFromApiKeyPrefix(apiKey: string | undefined): string | undefined {\n if (apiKey === undefined) return undefined;\n const key = apiKey.trim();\n if (key.length === 0) return undefined;\n for (const [prefix, provider] of BY_LENGTH) {\n if (key.startsWith(prefix)) return provider;\n }\n return undefined;\n}\n"]}