@anvia/core 1.1.2 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/README.md +226 -0
  2. package/dist/agent/agent-stream.js +7 -0
  3. package/dist/agent/agent-stream.js.map +1 -0
  4. package/dist/agent/agent-tool.js +24 -0
  5. package/dist/agent/agent-tool.js.map +1 -0
  6. package/dist/agent/agent.js +89 -0
  7. package/dist/agent/agent.js.map +1 -0
  8. package/dist/agent/errors.js +17 -0
  9. package/dist/agent/errors.js.map +1 -0
  10. package/dist/agent/ids.js +7 -0
  11. package/dist/agent/ids.js.map +1 -0
  12. package/dist/agent/index.d.ts +127 -9
  13. package/dist/agent/index.js +103 -21
  14. package/dist/agent/interactions/index.js +2 -2
  15. package/dist/agent/interactions.js +22 -0
  16. package/dist/agent/interactions.js.map +1 -0
  17. package/dist/agent/lifecycle.js +9 -0
  18. package/dist/agent/lifecycle.js.map +1 -0
  19. package/dist/agent/output-schema.js +10 -0
  20. package/dist/agent/output-schema.js.map +1 -0
  21. package/dist/agent/resolve-options.js +46 -0
  22. package/dist/agent/resolve-options.js.map +1 -0
  23. package/dist/agent/resolved-agent.js +92 -0
  24. package/dist/agent/resolved-agent.js.map +1 -0
  25. package/dist/agent/run-types.js +1 -0
  26. package/dist/agent/run-types.js.map +1 -0
  27. package/dist/agent/snapshot.js +17 -0
  28. package/dist/agent/snapshot.js.map +1 -0
  29. package/dist/agent/team/agent-team.js +98 -0
  30. package/dist/agent/team/agent-team.js.map +1 -0
  31. package/dist/agent/team/errors.js +9 -0
  32. package/dist/agent/team/errors.js.map +1 -0
  33. package/dist/agent/team/index.js +104 -0
  34. package/dist/agent/team/index.js.map +1 -0
  35. package/dist/agent/team/types.js +1 -0
  36. package/dist/agent/team/types.js.map +1 -0
  37. package/dist/agent/tool-catalog.js +37 -0
  38. package/dist/agent/tool-catalog.js.map +1 -0
  39. package/dist/agent/tool-state.js +11 -0
  40. package/dist/agent/tool-state.js.map +1 -0
  41. package/dist/agent/types.js +1 -0
  42. package/dist/agent/types.js.map +1 -0
  43. package/dist/agent/vector-context.js +10 -0
  44. package/dist/agent/vector-context.js.map +1 -0
  45. package/dist/{agent-DTmzs1Qr.d.ts → agent-C9VhENdj.d.ts} +2 -3
  46. package/dist/{chunk-I3Q7XSBB.js → chunk-23LRXKQX.js} +6 -4
  47. package/dist/{chunk-I3Q7XSBB.js.map → chunk-23LRXKQX.js.map} +1 -1
  48. package/dist/{chunk-YK4WAAS4.js → chunk-2NLINXRF.js} +1 -1
  49. package/dist/{chunk-SPD4XVR7.js → chunk-2XSMGVBG.js} +1 -1
  50. package/dist/chunk-3J2CSVPR.js +1 -0
  51. package/dist/chunk-3J2CSVPR.js.map +1 -0
  52. package/dist/chunk-3P3YVJ7V.js +1 -0
  53. package/dist/chunk-3P3YVJ7V.js.map +1 -0
  54. package/dist/chunk-3TAQXJBC.js +107 -0
  55. package/dist/chunk-3TAQXJBC.js.map +1 -0
  56. package/dist/chunk-47NTHIVB.js +76 -0
  57. package/dist/chunk-47NTHIVB.js.map +1 -0
  58. package/dist/chunk-4AW2633B.js +9 -0
  59. package/dist/chunk-4AW2633B.js.map +1 -0
  60. package/dist/{chunk-3XQGVDU5.js → chunk-4C7AXYOM.js} +1 -1
  61. package/dist/{chunk-IZNOP6JG.js → chunk-4FIVU53H.js} +1 -1
  62. package/dist/chunk-4ITAV7YA.js +1 -0
  63. package/dist/chunk-4ITAV7YA.js.map +1 -0
  64. package/dist/{chunk-7JLAIN6E.js → chunk-4ONUNWGC.js} +2 -2
  65. package/dist/chunk-4S4OECPW.js +158 -0
  66. package/dist/chunk-4S4OECPW.js.map +1 -0
  67. package/dist/chunk-4UUIGAIX.js +1 -0
  68. package/dist/chunk-4UUIGAIX.js.map +1 -0
  69. package/dist/chunk-53TPAXYR.js +1 -0
  70. package/dist/chunk-53TPAXYR.js.map +1 -0
  71. package/dist/chunk-54ZZJRP2.js +57 -0
  72. package/dist/chunk-54ZZJRP2.js.map +1 -0
  73. package/dist/chunk-5FCZ64HM.js +112 -0
  74. package/dist/chunk-5FCZ64HM.js.map +1 -0
  75. package/dist/chunk-5I2NVRHC.js +146 -0
  76. package/dist/chunk-5I2NVRHC.js.map +1 -0
  77. package/dist/chunk-5IURMWFN.js +53 -0
  78. package/dist/chunk-5IURMWFN.js.map +1 -0
  79. package/dist/chunk-5M6GTA3T.js +1 -0
  80. package/dist/chunk-5M6GTA3T.js.map +1 -0
  81. package/dist/chunk-5N5W7CX7.js +18 -0
  82. package/dist/chunk-5N5W7CX7.js.map +1 -0
  83. package/dist/chunk-5S7T2URX.js +1 -0
  84. package/dist/chunk-5S7T2URX.js.map +1 -0
  85. package/dist/chunk-5V533R7F.js +19 -0
  86. package/dist/chunk-5V533R7F.js.map +1 -0
  87. package/dist/chunk-5WLIHNNJ.js +56 -0
  88. package/dist/chunk-5WLIHNNJ.js.map +1 -0
  89. package/dist/chunk-6BTJC3ES.js +37 -0
  90. package/dist/chunk-6BTJC3ES.js.map +1 -0
  91. package/dist/chunk-6N4ENZO4.js +24 -0
  92. package/dist/chunk-6N4ENZO4.js.map +1 -0
  93. package/dist/{chunk-4UQALF5Y.js → chunk-6RQYWZI3.js} +2 -36
  94. package/dist/chunk-6RQYWZI3.js.map +1 -0
  95. package/dist/chunk-6TAWRKFK.js +86 -0
  96. package/dist/chunk-6TAWRKFK.js.map +1 -0
  97. package/dist/chunk-72LBHKYP.js +236 -0
  98. package/dist/chunk-72LBHKYP.js.map +1 -0
  99. package/dist/chunk-7F53DOML.js +53 -0
  100. package/dist/chunk-7F53DOML.js.map +1 -0
  101. package/dist/chunk-7LBPRXZP.js +1 -0
  102. package/dist/chunk-7LBPRXZP.js.map +1 -0
  103. package/dist/chunk-A7BXVZXZ.js +25 -0
  104. package/dist/chunk-A7BXVZXZ.js.map +1 -0
  105. package/dist/chunk-AOG6KSV4.js +107 -0
  106. package/dist/chunk-AOG6KSV4.js.map +1 -0
  107. package/dist/chunk-B47EXUHL.js +67 -0
  108. package/dist/chunk-B47EXUHL.js.map +1 -0
  109. package/dist/chunk-B5JQDR33.js +14 -0
  110. package/dist/chunk-B5JQDR33.js.map +1 -0
  111. package/dist/chunk-BDDC72GF.js +189 -0
  112. package/dist/chunk-BDDC72GF.js.map +1 -0
  113. package/dist/chunk-BDKFFFVX.js +342 -0
  114. package/dist/chunk-BDKFFFVX.js.map +1 -0
  115. package/dist/{chunk-QGX73TSQ.js → chunk-BONQTXRQ.js} +3 -12
  116. package/dist/chunk-BONQTXRQ.js.map +1 -0
  117. package/dist/chunk-BUPC72Y2.js +1007 -0
  118. package/dist/chunk-BUPC72Y2.js.map +1 -0
  119. package/dist/chunk-CKKNO4XB.js +70 -0
  120. package/dist/chunk-CKKNO4XB.js.map +1 -0
  121. package/dist/chunk-CX7ZVTO5.js +22 -0
  122. package/dist/chunk-CX7ZVTO5.js.map +1 -0
  123. package/dist/chunk-DU4WA6LQ.js +1 -0
  124. package/dist/chunk-DU4WA6LQ.js.map +1 -0
  125. package/dist/chunk-EJR6VVB3.js +63 -0
  126. package/dist/chunk-EJR6VVB3.js.map +1 -0
  127. package/dist/chunk-EKZRAWBP.js +110 -0
  128. package/dist/chunk-EKZRAWBP.js.map +1 -0
  129. package/dist/chunk-ENZ2XX27.js +26 -0
  130. package/dist/chunk-ENZ2XX27.js.map +1 -0
  131. package/dist/chunk-EOAJBBII.js +1 -0
  132. package/dist/chunk-EOAJBBII.js.map +1 -0
  133. package/dist/chunk-ERN7P6Q4.js +1 -0
  134. package/dist/chunk-ERN7P6Q4.js.map +1 -0
  135. package/dist/chunk-ESOFEAYK.js +57 -0
  136. package/dist/chunk-ESOFEAYK.js.map +1 -0
  137. package/dist/chunk-ETYB5JO6.js +175 -0
  138. package/dist/chunk-ETYB5JO6.js.map +1 -0
  139. package/dist/chunk-EZR5AV3J.js +74 -0
  140. package/dist/chunk-EZR5AV3J.js.map +1 -0
  141. package/dist/chunk-F2OKLHGB.js +9 -0
  142. package/dist/chunk-F2OKLHGB.js.map +1 -0
  143. package/dist/chunk-F3E2RLC7.js +342 -0
  144. package/dist/chunk-F3E2RLC7.js.map +1 -0
  145. package/dist/chunk-FAPIZJS2.js +54 -0
  146. package/dist/chunk-FAPIZJS2.js.map +1 -0
  147. package/dist/{chunk-2QZJTG2E.js → chunk-G336L2IE.js} +11 -71
  148. package/dist/chunk-G336L2IE.js.map +1 -0
  149. package/dist/chunk-GDJNOZ47.js +1 -0
  150. package/dist/chunk-GDJNOZ47.js.map +1 -0
  151. package/dist/chunk-GDY2Z2SZ.js +83 -0
  152. package/dist/chunk-GDY2Z2SZ.js.map +1 -0
  153. package/dist/chunk-GLMYZ6OA.js +20 -0
  154. package/dist/chunk-GLMYZ6OA.js.map +1 -0
  155. package/dist/{chunk-XEVOC433.js → chunk-GPVXCY5I.js} +2 -73
  156. package/dist/chunk-GPVXCY5I.js.map +1 -0
  157. package/dist/{chunk-KSKST3KP.js → chunk-H3H74RWJ.js} +1 -1
  158. package/dist/chunk-HAAGSIZH.js +89 -0
  159. package/dist/chunk-HAAGSIZH.js.map +1 -0
  160. package/dist/{chunk-K5L7R7XM.js → chunk-HHMLE3TZ.js} +6 -54
  161. package/dist/chunk-HHMLE3TZ.js.map +1 -0
  162. package/dist/{chunk-JLJMVRRE.js → chunk-HP34GRQX.js} +10 -83
  163. package/dist/chunk-HP34GRQX.js.map +1 -0
  164. package/dist/chunk-HTI343NP.js +1 -0
  165. package/dist/chunk-HTI343NP.js.map +1 -0
  166. package/dist/{chunk-T2C3CGDQ.js → chunk-HTI7DZJM.js} +6 -4
  167. package/dist/{chunk-T2C3CGDQ.js.map → chunk-HTI7DZJM.js.map} +1 -1
  168. package/dist/chunk-IDNL6IH4.js +294 -0
  169. package/dist/chunk-IDNL6IH4.js.map +1 -0
  170. package/dist/chunk-IV6YQTY2.js +47 -0
  171. package/dist/chunk-IV6YQTY2.js.map +1 -0
  172. package/dist/chunk-J4SINPUA.js +939 -0
  173. package/dist/chunk-J4SINPUA.js.map +1 -0
  174. package/dist/chunk-J6S6MT7O.js +32 -0
  175. package/dist/chunk-J6S6MT7O.js.map +1 -0
  176. package/dist/chunk-JBQNCUXA.js +34 -0
  177. package/dist/chunk-JBQNCUXA.js.map +1 -0
  178. package/dist/chunk-JMJFK3A4.js +1 -0
  179. package/dist/chunk-JMJFK3A4.js.map +1 -0
  180. package/dist/chunk-JMMZICU7.js +74 -0
  181. package/dist/chunk-JMMZICU7.js.map +1 -0
  182. package/dist/chunk-K4IBS7VB.js +55 -0
  183. package/dist/chunk-K4IBS7VB.js.map +1 -0
  184. package/dist/chunk-KBBQSP4M.js +16 -0
  185. package/dist/chunk-KBBQSP4M.js.map +1 -0
  186. package/dist/chunk-KFAVEL5F.js +68 -0
  187. package/dist/chunk-KFAVEL5F.js.map +1 -0
  188. package/dist/chunk-KITX3HDN.js +17 -0
  189. package/dist/chunk-KITX3HDN.js.map +1 -0
  190. package/dist/chunk-KO5NMTAM.js +1 -0
  191. package/dist/chunk-KO5NMTAM.js.map +1 -0
  192. package/dist/chunk-KY4VXIN2.js +118 -0
  193. package/dist/chunk-KY4VXIN2.js.map +1 -0
  194. package/dist/chunk-KZGSXJKU.js +29 -0
  195. package/dist/chunk-KZGSXJKU.js.map +1 -0
  196. package/dist/chunk-LAIATEUB.js +24 -0
  197. package/dist/chunk-LAIATEUB.js.map +1 -0
  198. package/dist/{chunk-OJBFDBLG.js → chunk-LBYJPMHC.js} +2 -2
  199. package/dist/chunk-LKIABZNR.js +49 -0
  200. package/dist/chunk-LKIABZNR.js.map +1 -0
  201. package/dist/chunk-LQJ4KHMY.js +23 -0
  202. package/dist/chunk-LQJ4KHMY.js.map +1 -0
  203. package/dist/chunk-MEN4AFDZ.js +1 -0
  204. package/dist/chunk-MEN4AFDZ.js.map +1 -0
  205. package/dist/chunk-MHOJJYDK.js +93 -0
  206. package/dist/chunk-MHOJJYDK.js.map +1 -0
  207. package/dist/chunk-MJCMKZFP.js +30 -0
  208. package/dist/chunk-MJCMKZFP.js.map +1 -0
  209. package/dist/chunk-MNYMLWWA.js +168 -0
  210. package/dist/chunk-MNYMLWWA.js.map +1 -0
  211. package/dist/chunk-MT3BLVYN.js +31 -0
  212. package/dist/chunk-MT3BLVYN.js.map +1 -0
  213. package/dist/chunk-NF6WBPFG.js +37 -0
  214. package/dist/chunk-NF6WBPFG.js.map +1 -0
  215. package/dist/chunk-NNEKBZSM.js +66 -0
  216. package/dist/chunk-NNEKBZSM.js.map +1 -0
  217. package/dist/chunk-NPJ2T3L5.js +19 -0
  218. package/dist/chunk-NPJ2T3L5.js.map +1 -0
  219. package/dist/chunk-NVALGVQG.js +150 -0
  220. package/dist/chunk-NVALGVQG.js.map +1 -0
  221. package/dist/chunk-O6DTOCBM.js +355 -0
  222. package/dist/chunk-O6DTOCBM.js.map +1 -0
  223. package/dist/chunk-OJF67RNM.js +1 -0
  224. package/dist/chunk-OJF67RNM.js.map +1 -0
  225. package/dist/chunk-PHLGGRHC.js +89 -0
  226. package/dist/chunk-PHLGGRHC.js.map +1 -0
  227. package/dist/chunk-PIMD4DYG.js +104 -0
  228. package/dist/chunk-PIMD4DYG.js.map +1 -0
  229. package/dist/chunk-PJNE75WC.js +1 -0
  230. package/dist/chunk-PJNE75WC.js.map +1 -0
  231. package/dist/{chunk-J6LVLV6P.js → chunk-PLDJCCVL.js} +1 -1
  232. package/dist/{chunk-3RWESPUG.js → chunk-POXHJF3H.js} +6 -51
  233. package/dist/chunk-POXHJF3H.js.map +1 -0
  234. package/dist/chunk-PPJ7SYQL.js +81 -0
  235. package/dist/chunk-PPJ7SYQL.js.map +1 -0
  236. package/dist/chunk-QHGYCYV6.js +91 -0
  237. package/dist/chunk-QHGYCYV6.js.map +1 -0
  238. package/dist/chunk-QUS6S2NB.js +663 -0
  239. package/dist/chunk-QUS6S2NB.js.map +1 -0
  240. package/dist/chunk-R6722CIU.js +28 -0
  241. package/dist/chunk-R6722CIU.js.map +1 -0
  242. package/dist/chunk-RA4YVN43.js +1 -0
  243. package/dist/chunk-RA4YVN43.js.map +1 -0
  244. package/dist/chunk-RT5LUEO3.js +2339 -0
  245. package/dist/chunk-RT5LUEO3.js.map +1 -0
  246. package/dist/chunk-SC4SUIEY.js +1 -0
  247. package/dist/chunk-SC4SUIEY.js.map +1 -0
  248. package/dist/chunk-SIYZDPVH.js +613 -0
  249. package/dist/chunk-SIYZDPVH.js.map +1 -0
  250. package/dist/chunk-SQAAVYJG.js +12 -0
  251. package/dist/chunk-SQAAVYJG.js.map +1 -0
  252. package/dist/chunk-SXE4J43E.js +59 -0
  253. package/dist/chunk-SXE4J43E.js.map +1 -0
  254. package/dist/{chunk-EFLT7XZD.js → chunk-SYULMZGL.js} +6 -4
  255. package/dist/{chunk-EFLT7XZD.js.map → chunk-SYULMZGL.js.map} +1 -1
  256. package/dist/chunk-T4IAJJUU.js +48 -0
  257. package/dist/chunk-T4IAJJUU.js.map +1 -0
  258. package/dist/chunk-T4KS577P.js +58 -0
  259. package/dist/chunk-T4KS577P.js.map +1 -0
  260. package/dist/chunk-TFIOU6UR.js +78 -0
  261. package/dist/chunk-TFIOU6UR.js.map +1 -0
  262. package/dist/chunk-TIZGADU4.js +375 -0
  263. package/dist/chunk-TIZGADU4.js.map +1 -0
  264. package/dist/chunk-TP3MCUXS.js +1 -0
  265. package/dist/chunk-TP3MCUXS.js.map +1 -0
  266. package/dist/{chunk-JTJU56ZV.js → chunk-UOGM62JL.js} +11 -7
  267. package/dist/{chunk-JTJU56ZV.js.map → chunk-UOGM62JL.js.map} +1 -1
  268. package/dist/chunk-USRKPEQN.js +55 -0
  269. package/dist/chunk-USRKPEQN.js.map +1 -0
  270. package/dist/chunk-UTAB3XQI.js +667 -0
  271. package/dist/chunk-UTAB3XQI.js.map +1 -0
  272. package/dist/chunk-V3FFZWF3.js +182 -0
  273. package/dist/chunk-V3FFZWF3.js.map +1 -0
  274. package/dist/chunk-V4OZ7ISA.js +9 -0
  275. package/dist/chunk-V4OZ7ISA.js.map +1 -0
  276. package/dist/chunk-VZ5ZZBNX.js +139 -0
  277. package/dist/chunk-VZ5ZZBNX.js.map +1 -0
  278. package/dist/{chunk-AHLKV6KP.js → chunk-WN6AVBO4.js} +1 -1
  279. package/dist/chunk-WXR5CWSC.js +1 -0
  280. package/dist/chunk-WXR5CWSC.js.map +1 -0
  281. package/dist/chunk-X6WS3XWL.js +36 -0
  282. package/dist/chunk-X6WS3XWL.js.map +1 -0
  283. package/dist/{chunk-Q5BCNYED.js → chunk-XJRNBTIV.js} +7 -4
  284. package/dist/chunk-XQV3XNVT.js +225 -0
  285. package/dist/chunk-XQV3XNVT.js.map +1 -0
  286. package/dist/chunk-XV3DH5GC.js +58 -0
  287. package/dist/chunk-XV3DH5GC.js.map +1 -0
  288. package/dist/chunk-Y7JTHNCU.js +318 -0
  289. package/dist/chunk-Y7JTHNCU.js.map +1 -0
  290. package/dist/chunk-YWRXOPHC.js +43 -0
  291. package/dist/chunk-YWRXOPHC.js.map +1 -0
  292. package/dist/chunk-YZVFIW5D.js +27 -0
  293. package/dist/chunk-YZVFIW5D.js.map +1 -0
  294. package/dist/chunk-ZHC5CD6J.js +33 -0
  295. package/dist/chunk-ZHC5CD6J.js.map +1 -0
  296. package/dist/chunk-ZPJFXRQZ.js +23 -0
  297. package/dist/chunk-ZPJFXRQZ.js.map +1 -0
  298. package/dist/chunk-ZPXOBQDS.js +57 -0
  299. package/dist/chunk-ZPXOBQDS.js.map +1 -0
  300. package/dist/chunk-ZUFS6R7L.js +155 -0
  301. package/dist/chunk-ZUFS6R7L.js.map +1 -0
  302. package/dist/chunk-ZXLCTQUX.js +62 -0
  303. package/dist/chunk-ZXLCTQUX.js.map +1 -0
  304. package/dist/chunk-ZYXMWEL4.js +59 -0
  305. package/dist/chunk-ZYXMWEL4.js.map +1 -0
  306. package/dist/completion/controls.js +11 -0
  307. package/dist/completion/controls.js.map +1 -0
  308. package/dist/completion/documents.js +9 -0
  309. package/dist/completion/documents.js.map +1 -0
  310. package/dist/completion/generate-completion.js +23 -0
  311. package/dist/completion/generate-completion.js.map +1 -0
  312. package/dist/completion/index.js +23 -12
  313. package/dist/completion/json.js +7 -0
  314. package/dist/completion/json.js.map +1 -0
  315. package/dist/completion/message-schema.js +18 -0
  316. package/dist/completion/message-schema.js.map +1 -0
  317. package/dist/completion/provider-output-error.js +12 -0
  318. package/dist/completion/provider-output-error.js.map +1 -0
  319. package/dist/completion/stream-accumulator.js +10 -0
  320. package/dist/completion/stream-accumulator.js.map +1 -0
  321. package/dist/completion/types.js +28 -0
  322. package/dist/completion/types.js.map +1 -0
  323. package/dist/documents/chunk-text.js +7 -0
  324. package/dist/documents/chunk-text.js.map +1 -0
  325. package/dist/documents/index.js +5 -2
  326. package/dist/documents/text-document.js +8 -0
  327. package/dist/documents/text-document.js.map +1 -0
  328. package/dist/embeddings/distance.js +17 -0
  329. package/dist/embeddings/distance.js.map +1 -0
  330. package/dist/embeddings/embed.js +18 -0
  331. package/dist/embeddings/embed.js.map +1 -0
  332. package/dist/embeddings/index.js +11 -6
  333. package/dist/embeddings/types.js +2 -0
  334. package/dist/embeddings/types.js.map +1 -0
  335. package/dist/evals/advanced-metrics.js +46 -0
  336. package/dist/evals/advanced-metrics.js.map +1 -0
  337. package/dist/evals/agent-target.js +10 -0
  338. package/dist/evals/agent-target.js.map +1 -0
  339. package/dist/evals/cli.js +40 -0
  340. package/dist/evals/cli.js.map +1 -0
  341. package/dist/evals/execution.js +15 -0
  342. package/dist/evals/execution.js.map +1 -0
  343. package/dist/evals/format.js +13 -0
  344. package/dist/evals/format.js.map +1 -0
  345. package/dist/evals/index.d.ts +4 -4
  346. package/dist/evals/index.js +87 -2660
  347. package/dist/evals/index.js.map +1 -1
  348. package/dist/evals/judge.js +27 -0
  349. package/dist/evals/judge.js.map +1 -0
  350. package/dist/evals/metric.js +7 -0
  351. package/dist/evals/metric.js.map +1 -0
  352. package/dist/evals/metrics.js +53 -0
  353. package/dist/evals/metrics.js.map +1 -0
  354. package/dist/evals/outcome.js +7 -0
  355. package/dist/evals/outcome.js.map +1 -0
  356. package/dist/evals/reporting.js +11 -0
  357. package/dist/evals/reporting.js.map +1 -0
  358. package/dist/evals/runner.js +29 -0
  359. package/dist/evals/runner.js.map +1 -0
  360. package/dist/evals/selectors.js +18 -0
  361. package/dist/evals/selectors.js.map +1 -0
  362. package/dist/evals/suite.js +11 -0
  363. package/dist/evals/suite.js.map +1 -0
  364. package/dist/evals/types.js +1 -0
  365. package/dist/evals/types.js.map +1 -0
  366. package/dist/extractor/extractor.js +23 -0
  367. package/dist/extractor/extractor.js.map +1 -0
  368. package/dist/extractor/index.js +16 -7
  369. package/dist/guardrails/actions.js +13 -0
  370. package/dist/guardrails/actions.js.map +1 -0
  371. package/dist/guardrails/index.d.ts +3 -4
  372. package/dist/guardrails/index.js +15 -7
  373. package/dist/guardrails/message.js +9 -0
  374. package/dist/guardrails/message.js.map +1 -0
  375. package/dist/guardrails/policy.js +17 -0
  376. package/dist/guardrails/policy.js.map +1 -0
  377. package/dist/guardrails/runtime.js +11 -0
  378. package/dist/guardrails/runtime.js.map +1 -0
  379. package/dist/guardrails/text.js +9 -0
  380. package/dist/guardrails/text.js.map +1 -0
  381. package/dist/guardrails/types.js +1 -0
  382. package/dist/guardrails/types.js.map +1 -0
  383. package/dist/hooks/control.js +17 -0
  384. package/dist/hooks/control.js.map +1 -0
  385. package/dist/hooks/index.js +19 -0
  386. package/dist/hooks/index.js.map +1 -0
  387. package/dist/hooks/types.js +2 -0
  388. package/dist/hooks/types.js.map +1 -0
  389. package/dist/image-generation/generate-image.js +11 -0
  390. package/dist/image-generation/generate-image.js.map +1 -0
  391. package/dist/image-generation/index.js +7 -4
  392. package/dist/image-generation/types.js +2 -0
  393. package/dist/image-generation/types.js.map +1 -0
  394. package/dist/index.d.ts +5 -7
  395. package/dist/index.js +163 -57
  396. package/dist/internal/abort.js +13 -0
  397. package/dist/internal/abort.js.map +1 -0
  398. package/dist/internal/agent-runtime/agent-run.js +81 -0
  399. package/dist/internal/agent-runtime/agent-run.js.map +1 -0
  400. package/dist/internal/agent-runtime/approval-request.js +1 -0
  401. package/dist/internal/agent-runtime/approval-request.js.map +1 -0
  402. package/dist/internal/agent-runtime/approval-requirement.js +9 -0
  403. package/dist/internal/agent-runtime/approval-requirement.js.map +1 -0
  404. package/dist/internal/agent-runtime/continuation-state.js +26 -0
  405. package/dist/internal/agent-runtime/continuation-state.js.map +1 -0
  406. package/dist/internal/agent-runtime/interaction-suspension.js +25 -0
  407. package/dist/internal/agent-runtime/interaction-suspension.js.map +1 -0
  408. package/dist/internal/agent-runtime/memory-scope.js +8 -0
  409. package/dist/internal/agent-runtime/memory-scope.js.map +1 -0
  410. package/dist/internal/agent-runtime/memory.js +24 -0
  411. package/dist/internal/agent-runtime/memory.js.map +1 -0
  412. package/dist/internal/agent-runtime/prepared-tool-call.js +19 -0
  413. package/dist/internal/agent-runtime/prepared-tool-call.js.map +1 -0
  414. package/dist/internal/agent-runtime/retrieval.js +35 -0
  415. package/dist/internal/agent-runtime/retrieval.js.map +1 -0
  416. package/dist/internal/agent-runtime/run-options.js +9 -0
  417. package/dist/internal/agent-runtime/run-options.js.map +1 -0
  418. package/dist/internal/agent-runtime/run-validation.js +9 -0
  419. package/dist/internal/agent-runtime/run-validation.js.map +1 -0
  420. package/dist/internal/agent-runtime/stream-events.js +11 -0
  421. package/dist/internal/agent-runtime/stream-events.js.map +1 -0
  422. package/dist/internal/agent-runtime/structured-output.js +13 -0
  423. package/dist/internal/agent-runtime/structured-output.js.map +1 -0
  424. package/dist/internal/agent-runtime/tool-execution.js +55 -0
  425. package/dist/internal/agent-runtime/tool-execution.js.map +1 -0
  426. package/dist/internal/agent.d.ts +5 -5
  427. package/dist/internal/agent.js +93 -57
  428. package/dist/internal/agent.js.map +1 -1
  429. package/dist/internal/async-queue.js +7 -0
  430. package/dist/internal/async-queue.js.map +1 -0
  431. package/dist/internal/completion-request.js +11 -0
  432. package/dist/internal/completion-request.js.map +1 -0
  433. package/dist/internal/concurrency.js +7 -0
  434. package/dist/internal/concurrency.js.map +1 -0
  435. package/dist/internal/json-object.js +8 -0
  436. package/dist/internal/json-object.js.map +1 -0
  437. package/dist/internal/rag-text.js +7 -0
  438. package/dist/internal/rag-text.js.map +1 -0
  439. package/dist/internal/record.js +7 -0
  440. package/dist/internal/record.js.map +1 -0
  441. package/dist/internal/team-runtime/coordination.js +12 -0
  442. package/dist/internal/team-runtime/coordination.js.map +1 -0
  443. package/dist/internal/team-runtime/member.js +26 -0
  444. package/dist/internal/team-runtime/member.js.map +1 -0
  445. package/dist/internal/team-runtime/policy.js +7 -0
  446. package/dist/internal/team-runtime/policy.js.map +1 -0
  447. package/dist/internal/team-runtime/run.js +95 -0
  448. package/dist/internal/team-runtime/run.js.map +1 -0
  449. package/dist/internal/team-runtime/stream.js +9 -0
  450. package/dist/internal/team-runtime/stream.js.map +1 -0
  451. package/dist/internal/team-runtime/tools.js +17 -0
  452. package/dist/internal/team-runtime/tools.js.map +1 -0
  453. package/dist/internal/type-utils.js +1 -0
  454. package/dist/internal/type-utils.js.map +1 -0
  455. package/dist/internal/vector-search-options.js +9 -0
  456. package/dist/internal/vector-search-options.js.map +1 -0
  457. package/dist/mcp/index.js +3 -1
  458. package/dist/mcp/tool.js +7 -0
  459. package/dist/mcp/tool.js.map +1 -0
  460. package/dist/mcp/types.js +2 -0
  461. package/dist/mcp/types.js.map +1 -0
  462. package/dist/memory/assert.js +11 -0
  463. package/dist/memory/assert.js.map +1 -0
  464. package/dist/memory/compaction.js +26 -0
  465. package/dist/memory/compaction.js.map +1 -0
  466. package/dist/memory/errors.js +9 -0
  467. package/dist/memory/errors.js.map +1 -0
  468. package/dist/memory/index.js +23 -10
  469. package/dist/memory/options.js +10 -0
  470. package/dist/memory/options.js.map +1 -0
  471. package/dist/memory/scope-key.js +7 -0
  472. package/dist/memory/scope-key.js.map +1 -0
  473. package/dist/memory/types.js +2 -0
  474. package/dist/memory/types.js.map +1 -0
  475. package/dist/{types-CRda8x7p.d.ts → middleware-CWjnMbiH.d.ts} +64 -5
  476. package/dist/model-call-options.js +1 -0
  477. package/dist/model-call-options.js.map +1 -0
  478. package/dist/model-listing/errors.js +7 -0
  479. package/dist/model-listing/errors.js.map +1 -0
  480. package/dist/model-listing/index.js +4 -13
  481. package/dist/model-listing/index.js.map +1 -1
  482. package/dist/model-listing/types.js +2 -0
  483. package/dist/model-listing/types.js.map +1 -0
  484. package/dist/observability/group.js +30 -0
  485. package/dist/observability/group.js.map +1 -0
  486. package/dist/observability/index.d.ts +4 -6
  487. package/dist/observability/index.js +16 -8
  488. package/dist/observability/snapshot.js +7 -0
  489. package/dist/observability/snapshot.js.map +1 -0
  490. package/dist/observability/types.js +1 -0
  491. package/dist/observability/types.js.map +1 -0
  492. package/dist/pipeline/errors.js +9 -0
  493. package/dist/pipeline/errors.js.map +1 -0
  494. package/dist/pipeline/graph.js +21 -0
  495. package/dist/pipeline/graph.js.map +1 -0
  496. package/dist/pipeline/index.d.ts +4 -6
  497. package/dist/pipeline/index.js +27 -805
  498. package/dist/pipeline/index.js.map +1 -1
  499. package/dist/pipeline/observability.js +15 -0
  500. package/dist/pipeline/observability.js.map +1 -0
  501. package/dist/pipeline/pipeline.js +30 -0
  502. package/dist/pipeline/pipeline.js.map +1 -0
  503. package/dist/pipeline/runtime.js +17 -0
  504. package/dist/pipeline/runtime.js.map +1 -0
  505. package/dist/pipeline/types.js +1 -0
  506. package/dist/pipeline/types.js.map +1 -0
  507. package/dist/retry.js +20 -0
  508. package/dist/retry.js.map +1 -0
  509. package/dist/schema/index.js +1 -0
  510. package/dist/schema/index.js.map +1 -0
  511. package/dist/schema/zod-schema.js +7 -0
  512. package/dist/schema/zod-schema.js.map +1 -0
  513. package/dist/skills/index.js +41 -12
  514. package/dist/skills/instructions.js +7 -0
  515. package/dist/skills/instructions.js.map +1 -0
  516. package/dist/skills/load.js +39 -0
  517. package/dist/skills/load.js.map +1 -0
  518. package/dist/skills/local.js +9 -0
  519. package/dist/skills/local.js.map +1 -0
  520. package/dist/skills/tools.js +37 -0
  521. package/dist/skills/tools.js.map +1 -0
  522. package/dist/skills/types.js +7 -0
  523. package/dist/skills/types.js.map +1 -0
  524. package/dist/speech-generation/generate-speech.js +11 -0
  525. package/dist/speech-generation/generate-speech.js.map +1 -0
  526. package/dist/speech-generation/index.js +7 -4
  527. package/dist/speech-generation/types.js +2 -0
  528. package/dist/speech-generation/types.js.map +1 -0
  529. package/dist/streaming/index.js +4 -37
  530. package/dist/streaming/index.js.map +1 -1
  531. package/dist/streaming/readable-stream.js +8 -0
  532. package/dist/streaming/readable-stream.js.map +1 -0
  533. package/dist/{text-CmjXxakS.d.ts → text-GbW4WYMg.d.ts} +1 -1
  534. package/dist/tool/create-tool.js +14 -0
  535. package/dist/tool/create-tool.js.map +1 -0
  536. package/dist/tool/dynamic-tools.js +35 -0
  537. package/dist/tool/dynamic-tools.js.map +1 -0
  538. package/dist/tool/errors.js +11 -0
  539. package/dist/tool/errors.js.map +1 -0
  540. package/dist/tool/index.d.ts +3 -2
  541. package/dist/tool/index.js +41 -15
  542. package/dist/tool/middleware.js +7 -0
  543. package/dist/tool/middleware.js.map +1 -0
  544. package/dist/tool/question-tool.js +17 -0
  545. package/dist/tool/question-tool.js.map +1 -0
  546. package/dist/tool/skill-tool-marker.js +9 -0
  547. package/dist/tool/skill-tool-marker.js.map +1 -0
  548. package/dist/tool/think-tool.js +15 -0
  549. package/dist/tool/think-tool.js.map +1 -0
  550. package/dist/tool/tool.js +17 -0
  551. package/dist/tool/tool.js.map +1 -0
  552. package/dist/transcription/index.js +7 -4
  553. package/dist/transcription/transcribe.js +11 -0
  554. package/dist/transcription/transcribe.js.map +1 -0
  555. package/dist/transcription/types.js +2 -0
  556. package/dist/transcription/types.js.map +1 -0
  557. package/dist/{types-h0EL6Xn0.d.ts → types-Bqw0AuFl.d.ts} +6 -2
  558. package/dist/vector-store/filter.js +9 -0
  559. package/dist/vector-store/filter.js.map +1 -0
  560. package/dist/vector-store/index.js +31 -11
  561. package/dist/vector-store/ingest.js +19 -0
  562. package/dist/vector-store/ingest.js.map +1 -0
  563. package/dist/vector-store/lsh.js +7 -0
  564. package/dist/vector-store/lsh.js.map +1 -0
  565. package/dist/vector-store/retrieve.js +15 -0
  566. package/dist/vector-store/retrieve.js.map +1 -0
  567. package/dist/vector-store/types.js +1 -0
  568. package/dist/vector-store/types.js.map +1 -0
  569. package/package.json +2 -2
  570. package/dist/chunk-2QZJTG2E.js.map +0 -1
  571. package/dist/chunk-3RWESPUG.js.map +0 -1
  572. package/dist/chunk-4UQALF5Y.js.map +0 -1
  573. package/dist/chunk-AZB6N7P4.js +0 -320
  574. package/dist/chunk-AZB6N7P4.js.map +0 -1
  575. package/dist/chunk-JLJMVRRE.js.map +0 -1
  576. package/dist/chunk-K5L7R7XM.js.map +0 -1
  577. package/dist/chunk-OI3LSMJG.js +0 -1545
  578. package/dist/chunk-OI3LSMJG.js.map +0 -1
  579. package/dist/chunk-QGX73TSQ.js.map +0 -1
  580. package/dist/chunk-XC3LVC4K.js +0 -753
  581. package/dist/chunk-XC3LVC4K.js.map +0 -1
  582. package/dist/chunk-XEVOC433.js.map +0 -1
  583. package/dist/chunk-XSV5C4R5.js +0 -400
  584. package/dist/chunk-XSV5C4R5.js.map +0 -1
  585. package/dist/chunk-XU54PLSD.js +0 -4786
  586. package/dist/chunk-XU54PLSD.js.map +0 -1
  587. package/dist/middleware-mY_lpjDp.d.ts +0 -59
  588. package/dist/type-utils-CtHVDRn_.d.ts +0 -6
  589. /package/dist/{chunk-YK4WAAS4.js.map → chunk-2NLINXRF.js.map} +0 -0
  590. /package/dist/{chunk-SPD4XVR7.js.map → chunk-2XSMGVBG.js.map} +0 -0
  591. /package/dist/{chunk-3XQGVDU5.js.map → chunk-4C7AXYOM.js.map} +0 -0
  592. /package/dist/{chunk-IZNOP6JG.js.map → chunk-4FIVU53H.js.map} +0 -0
  593. /package/dist/{chunk-7JLAIN6E.js.map → chunk-4ONUNWGC.js.map} +0 -0
  594. /package/dist/{chunk-KSKST3KP.js.map → chunk-H3H74RWJ.js.map} +0 -0
  595. /package/dist/{chunk-OJBFDBLG.js.map → chunk-LBYJPMHC.js.map} +0 -0
  596. /package/dist/{chunk-J6LVLV6P.js.map → chunk-PLDJCCVL.js.map} +0 -0
  597. /package/dist/{chunk-AHLKV6KP.js.map → chunk-WN6AVBO4.js.map} +0 -0
  598. /package/dist/{chunk-Q5BCNYED.js.map → chunk-XJRNBTIV.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/streaming/readable-stream.ts"],"sourcesContent":["import { isJsonValue } from \"../completion/json\";\n\nexport type ReadableStreamOptions = {\n format?: \"jsonl\";\n};\n\nexport function toReadableStream<T>(\n events: AsyncIterable<T>,\n _options: ReadableStreamOptions = {},\n): ReadableStream<Uint8Array> {\n const encoder = new TextEncoder();\n const iterator = events[Symbol.asyncIterator]();\n\n return new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const next = await iterator.next();\n if (next.done === true) {\n controller.close();\n return;\n }\n\n controller.enqueue(encoder.encode(`${JSON.stringify(next.value)}\\n`));\n } catch (error) {\n controller.enqueue(\n encoder.encode(`${JSON.stringify({ type: \"error\", error: serializeError(error) })}\\n`),\n );\n controller.close();\n }\n },\n async cancel() {\n await iterator.return?.();\n },\n });\n}\n\nfunction serializeError(error: unknown): unknown {\n if (error instanceof Error) {\n const serialized: { name: string; message: string; code?: unknown; details?: unknown } = {\n name: error.name,\n message: error.message,\n };\n // Runtime-specific Error subclasses (for example bun:sqlite's SqliteError)\n // can keep diagnostic fields such as `code` on the prototype, where\n // JSON.stringify drops them. Copy well-known diagnostic fields explicitly.\n const code = (error as { code?: unknown }).code;\n if (code !== undefined) {\n serialized.code = code;\n }\n const details = (error as { details?: unknown }).details;\n if (details !== undefined) {\n serialized.details = details;\n }\n return serialized;\n }\n\n if (isJsonValue(error)) {\n return error;\n }\n\n // A thrown non-Error that is not JSON-safe would serialize as `{}` or lose\n // its diagnostics entirely; degrade to a string payload instead.\n return { message: String(error) };\n}\n"],"mappings":";;;;;AAMO,SAAS,iBACd,QACA,WAAkC,CAAC,GACP;AAC5B,QAAM,UAAU,IAAI,YAAY;AAChC,QAAM,WAAW,OAAO,OAAO,aAAa,EAAE;AAE9C,SAAO,IAAI,eAA2B;AAAA,IACpC,MAAM,KAAK,YAAY;AACrB,UAAI;AACF,cAAM,OAAO,MAAM,SAAS,KAAK;AACjC,YAAI,KAAK,SAAS,MAAM;AACtB,qBAAW,MAAM;AACjB;AAAA,QACF;AAEA,mBAAW,QAAQ,QAAQ,OAAO,GAAG,KAAK,UAAU,KAAK,KAAK,CAAC;AAAA,CAAI,CAAC;AAAA,MACtE,SAAS,OAAO;AACd,mBAAW;AAAA,UACT,QAAQ,OAAO,GAAG,KAAK,UAAU,EAAE,MAAM,SAAS,OAAO,eAAe,KAAK,EAAE,CAAC,CAAC;AAAA,CAAI;AAAA,QACvF;AACA,mBAAW,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,IACA,MAAM,SAAS;AACb,YAAM,SAAS,SAAS;AAAA,IAC1B;AAAA,EACF,CAAC;AACH;AAEA,SAAS,eAAe,OAAyB;AAC/C,MAAI,iBAAiB,OAAO;AAC1B,UAAM,aAAmF;AAAA,MACvF,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA,IACjB;AAIA,UAAM,OAAQ,MAA6B;AAC3C,QAAI,SAAS,QAAW;AACtB,iBAAW,OAAO;AAAA,IACpB;AACA,UAAM,UAAW,MAAgC;AACjD,QAAI,YAAY,QAAW;AACzB,iBAAW,UAAU;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAEA,MAAI,YAAY,KAAK,GAAG;AACtB,WAAO;AAAA,EACT;AAIA,SAAO,EAAE,SAAS,OAAO,KAAK,EAAE;AAClC;","names":[]}
@@ -0,0 +1,112 @@
1
+ import {
2
+ resolveMemoryOptions
3
+ } from "./chunk-K4IBS7VB.js";
4
+ import {
5
+ appendGuardrailPolicies
6
+ } from "./chunk-6BTJC3ES.js";
7
+ import {
8
+ isToolIndex
9
+ } from "./chunk-G336L2IE.js";
10
+ import {
11
+ isMcpTool
12
+ } from "./chunk-PLDJCCVL.js";
13
+ import {
14
+ isProviderTool
15
+ } from "./chunk-IDNL6IH4.js";
16
+
17
+ // src/agent/resolve-options.ts
18
+ var resolvedAgentOptions = /* @__PURE__ */ Symbol("resolvedAgentOptions");
19
+ function resolveAgentOptions(options) {
20
+ if (isInternalAgentOptions(options)) {
21
+ return options;
22
+ }
23
+ const toolsByName = /* @__PURE__ */ new Map();
24
+ const providerTools = [];
25
+ const toolIndexes = [];
26
+ for (const tool of options.tools ?? []) {
27
+ if (isProviderTool(tool)) {
28
+ providerTools.push(tool);
29
+ } else if (isToolIndex(tool)) {
30
+ toolIndexes.push(tool);
31
+ } else if (tool.kind === "tool-index") {
32
+ throw new TypeError("Invalid tool index: search, tools, and a numeric topK are required.");
33
+ } else if (isMcpTool(tool)) {
34
+ throw new TypeError(
35
+ `MCP tool "${tool.name}" must be registered through Agent.mcpServers, not Agent.tools.`
36
+ );
37
+ } else {
38
+ addUniqueTool(toolsByName, tool, "local tool");
39
+ }
40
+ }
41
+ if (options.skills !== void 0) {
42
+ for (const tool of options.skills.tools) {
43
+ if (isMcpTool(tool)) {
44
+ throw new TypeError(
45
+ `MCP tool "${tool.name}" must be registered through Agent.mcpServers, not Agent.skills.`
46
+ );
47
+ }
48
+ addUniqueTool(toolsByName, tool, "skill tool");
49
+ }
50
+ }
51
+ const memory = resolveAgentMemory(options);
52
+ const instructions = [options.instructions, options.skills?.instructions].filter((part) => part !== void 0 && part.length > 0).join("\n\n");
53
+ return {
54
+ id: options.id,
55
+ name: options.name,
56
+ description: options.description,
57
+ model: options.model,
58
+ instructions: instructions.length === 0 ? void 0 : instructions,
59
+ context: [...options.context ?? []],
60
+ temperature: options.temperature,
61
+ maxTokens: options.maxTokens,
62
+ providerOptions: options.providerOptions,
63
+ controls: options.controls,
64
+ retries: options.retries,
65
+ tools: [...toolsByName.values()],
66
+ mcpServers: [...options.mcpServers ?? []],
67
+ providerTools,
68
+ toolIndexes,
69
+ toolChoice: options.toolChoice,
70
+ defaultMaxTurns: options.maxTurns,
71
+ lifecycle: options.lifecycle,
72
+ outputSchema: options.outputSchema,
73
+ observability: options.observability,
74
+ guardrails: options.guardrails === void 0 ? [] : appendGuardrailPolicies([], options.guardrails),
75
+ middlewares: [...options.middlewares ?? []],
76
+ memory
77
+ };
78
+ }
79
+ function markResolvedAgentOptions(options) {
80
+ return {
81
+ ...options,
82
+ [resolvedAgentOptions]: true
83
+ };
84
+ }
85
+ function isInternalAgentOptions(options) {
86
+ return options[resolvedAgentOptions] === true;
87
+ }
88
+ function resolveAgentMemory(options) {
89
+ if (options.memory === void 0) {
90
+ return void 0;
91
+ }
92
+ const { store, ...memoryOptions } = options.memory;
93
+ const resolvedOptions = resolveMemoryOptions(memoryOptions);
94
+ if (resolvedOptions.compaction !== void 0 && store.compaction === void 0) {
95
+ throw new TypeError(
96
+ "Memory compaction requires a store with the optional compaction capability."
97
+ );
98
+ }
99
+ return { store, ...resolvedOptions };
100
+ }
101
+ function addUniqueTool(tools, tool, source) {
102
+ if (tools.has(tool.name)) {
103
+ throw new TypeError(`Duplicate ${source} name "${tool.name}".`);
104
+ }
105
+ tools.set(tool.name, tool);
106
+ }
107
+
108
+ export {
109
+ resolveAgentOptions,
110
+ markResolvedAgentOptions
111
+ };
112
+ //# sourceMappingURL=chunk-5FCZ64HM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/agent/resolve-options.ts"],"sourcesContent":["import type { CompletionModel, ProviderTool } from \"../completion\";\nimport { isProviderTool } from \"../completion/types\";\nimport { appendGuardrailPolicies } from \"../guardrails\";\nimport { isMcpTool } from \"../mcp\";\nimport { resolveMemoryOptions } from \"../memory/options\";\nimport { isToolIndex, type ToolIndex } from \"../tool/dynamic-tools\";\nimport type { AnyTool } from \"../tool/tool\";\nimport type { AgentMemory, AgentOptions, ResolvedAgentOptions } from \"./types\";\n\nconst resolvedAgentOptions = Symbol(\"resolvedAgentOptions\");\n\ntype InternalAgentOptions<\n Output,\n M extends CompletionModel,\n ContextDocument,\n> = ResolvedAgentOptions<Output, M, ContextDocument> & {\n [resolvedAgentOptions]: true;\n};\n\nexport function resolveAgentOptions<Output, M extends CompletionModel, ContextDocument>(\n options: AgentOptions<Output, M, ContextDocument>,\n): ResolvedAgentOptions<Output, M, ContextDocument> {\n if (isInternalAgentOptions(options)) {\n return options as unknown as ResolvedAgentOptions<Output, M, ContextDocument>;\n }\n\n const toolsByName = new Map<string, AnyTool>();\n const providerTools: ProviderTool[] = [];\n const toolIndexes: ToolIndex[] = [];\n for (const tool of options.tools ?? []) {\n if (isProviderTool(tool)) {\n providerTools.push(tool);\n } else if (isToolIndex(tool)) {\n toolIndexes.push(tool);\n } else if ((tool as { kind?: unknown }).kind === \"tool-index\") {\n throw new TypeError(\"Invalid tool index: search, tools, and a numeric topK are required.\");\n } else if (isMcpTool(tool)) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" must be registered through Agent.mcpServers, not Agent.tools.`,\n );\n } else {\n addUniqueTool(toolsByName, tool, \"local tool\");\n }\n }\n if (options.skills !== undefined) {\n for (const tool of options.skills.tools) {\n if (isMcpTool(tool)) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" must be registered through Agent.mcpServers, not Agent.skills.`,\n );\n }\n addUniqueTool(toolsByName, tool, \"skill tool\");\n }\n }\n const memory = resolveAgentMemory(options);\n const instructions = [options.instructions, options.skills?.instructions]\n .filter((part): part is string => part !== undefined && part.length > 0)\n .join(\"\\n\\n\");\n\n return {\n id: options.id,\n name: options.name,\n description: options.description,\n model: options.model,\n instructions: instructions.length === 0 ? undefined : instructions,\n context: [...(options.context ?? [])],\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n providerOptions: options.providerOptions,\n controls: options.controls,\n retries: options.retries,\n tools: [...toolsByName.values()],\n mcpServers: [...(options.mcpServers ?? [])],\n providerTools,\n toolIndexes,\n toolChoice: options.toolChoice,\n defaultMaxTurns: options.maxTurns,\n lifecycle: options.lifecycle,\n outputSchema: options.outputSchema,\n observability: options.observability,\n guardrails:\n options.guardrails === undefined ? [] : appendGuardrailPolicies([], options.guardrails),\n middlewares: [...(options.middlewares ?? [])],\n memory,\n };\n}\n\nexport function markResolvedAgentOptions<Output, M extends CompletionModel, ContextDocument>(\n options: ResolvedAgentOptions<Output, M, ContextDocument>,\n): AgentOptions<Output, M, ContextDocument> {\n return {\n ...options,\n [resolvedAgentOptions]: true,\n } as unknown as AgentOptions<Output, M, ContextDocument>;\n}\n\nfunction isInternalAgentOptions<Output, M extends CompletionModel, ContextDocument>(\n options: AgentOptions<Output, M, ContextDocument>,\n): boolean {\n return (\n (options as unknown as Partial<InternalAgentOptions<Output, M, ContextDocument>>)[\n resolvedAgentOptions\n ] === true\n );\n}\n\nfunction resolveAgentMemory<Output, M extends CompletionModel, ContextDocument>(\n options: AgentOptions<Output, M, ContextDocument>,\n): AgentMemory | undefined {\n if (options.memory === undefined) {\n return undefined;\n }\n const { store, ...memoryOptions } = options.memory;\n const resolvedOptions = resolveMemoryOptions(memoryOptions);\n if (resolvedOptions.compaction !== undefined && store.compaction === undefined) {\n throw new TypeError(\n \"Memory compaction requires a store with the optional compaction capability.\",\n );\n }\n return { store, ...resolvedOptions };\n}\n\nfunction addUniqueTool(tools: Map<string, AnyTool>, tool: AnyTool, source: string): void {\n if (tools.has(tool.name)) {\n throw new TypeError(`Duplicate ${source} name \"${tool.name}\".`);\n }\n tools.set(tool.name, tool);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,146 @@
1
+ import {
2
+ parseAgentQuestionPrompts
3
+ } from "./chunk-LBYJPMHC.js";
4
+ import {
5
+ parseMessages
6
+ } from "./chunk-BONQTXRQ.js";
7
+ import {
8
+ isJsonValue
9
+ } from "./chunk-4C7AXYOM.js";
10
+
11
+ // src/internal/agent-runtime/continuation-state.ts
12
+ function serializeContinuationState(state) {
13
+ const value = structuredClone(state);
14
+ if (!isJsonValue(value) || Array.isArray(value) || value === null) {
15
+ throw new TypeError("Agent continuation state must be strict JSON.");
16
+ }
17
+ return value;
18
+ }
19
+ function parseContinuationState(value, interaction) {
20
+ requireOnlyKeys(value, [
21
+ "kind",
22
+ "history",
23
+ "messages",
24
+ "pending",
25
+ "remainingToolCalls",
26
+ "steering",
27
+ "memoryScope"
28
+ ]);
29
+ if (value.kind !== "anvia.agent-continuation") {
30
+ throw new TypeError("Agent continuation has an unsupported internal state.");
31
+ }
32
+ const history = parseMessages(value.history);
33
+ const messages = parseMessages(value.messages);
34
+ const pending = parsePending(value.pending);
35
+ const remainingToolCalls = parseToolCalls(value.remainingToolCalls);
36
+ const steering = parseSteering(value.steering);
37
+ if (pending.toolCall.toolCallId !== interaction.toolCallId || pending.toolCall.toolName !== interaction.toolName || pending.toolCall.callId !== interaction.callId || pending.internalCallId !== interaction.internalCallId) {
38
+ throw new TypeError("Agent continuation interaction does not match its pending tool call.");
39
+ }
40
+ if (interaction.type === "tool-approval" && !jsonEqual(interaction.input, pending.input)) {
41
+ throw new TypeError("Agent continuation approval input does not match its pending tool input.");
42
+ }
43
+ if (interaction.type === "tool-question") {
44
+ const questions = object(pending.input) && "questions" in pending.input ? parseAgentQuestionPrompts(pending.input.questions) : void 0;
45
+ if (questions === void 0 || !jsonEqual(interaction.questions, questions)) {
46
+ throw new TypeError(
47
+ "Agent continuation questions do not match its pending question tool input."
48
+ );
49
+ }
50
+ }
51
+ const state = {
52
+ kind: "anvia.agent-continuation",
53
+ history,
54
+ messages,
55
+ pending,
56
+ remainingToolCalls,
57
+ steering
58
+ };
59
+ if (value.memoryScope !== void 0) {
60
+ state.memoryScope = parseOptionalJsonObject(value.memoryScope, "memoryScope");
61
+ }
62
+ return state;
63
+ }
64
+ function questionResult(answers) {
65
+ return { type: "json", value: { answers: structuredClone([...answers]) } };
66
+ }
67
+ function parsePending(value) {
68
+ if (!object(value)) throw new TypeError("Agent continuation pending state is invalid.");
69
+ const [toolCall] = parseToolCalls([value.toolCall]);
70
+ if (toolCall === void 0) throw new TypeError("Agent continuation pending tool is missing.");
71
+ if (typeof value.effectiveArgs !== "string" || typeof value.internalCallId !== "string") {
72
+ throw new TypeError("Agent continuation pending execution metadata is invalid.");
73
+ }
74
+ const pending = {
75
+ toolCall,
76
+ effectiveArgs: value.effectiveArgs,
77
+ input: parseJsonValue(value.input, "pending input"),
78
+ internalCallId: value.internalCallId
79
+ };
80
+ if (typeof value.rejectMessage === "string") {
81
+ pending.rejectMessage = value.rejectMessage;
82
+ }
83
+ return pending;
84
+ }
85
+ function parseJsonValue(value, name) {
86
+ if (!isJsonValue(value)) {
87
+ throw new TypeError(`Agent continuation ${name} is invalid.`);
88
+ }
89
+ return structuredClone(value);
90
+ }
91
+ function parseToolCalls(value) {
92
+ if (!Array.isArray(value)) throw new TypeError("Agent continuation tool calls must be an array.");
93
+ const message = parseMessages([{ role: "assistant", content: value }])[0];
94
+ if (message?.role !== "assistant" || typeof message.content === "string") {
95
+ throw new TypeError("Agent continuation tool calls are invalid.");
96
+ }
97
+ if (!message.content.every((part) => part.type === "tool-call")) {
98
+ throw new TypeError("Agent continuation contains a non-tool-call part.");
99
+ }
100
+ return message.content;
101
+ }
102
+ function parseSteering(value) {
103
+ if (!Array.isArray(value)) throw new TypeError("Agent continuation steering state is invalid.");
104
+ return value.map((item) => {
105
+ if (!object(item) || typeof item.id !== "string") {
106
+ throw new TypeError("Agent continuation steering entry is invalid.");
107
+ }
108
+ return { id: item.id, messages: parseMessages(item.messages) };
109
+ });
110
+ }
111
+ function parseOptionalJsonObject(value, name) {
112
+ if (value === void 0) return void 0;
113
+ if (!object(value) || !isJsonValue(value)) {
114
+ throw new TypeError(`Agent continuation ${name} is invalid.`);
115
+ }
116
+ return structuredClone(value);
117
+ }
118
+ function object(value) {
119
+ return typeof value === "object" && value !== null && !Array.isArray(value);
120
+ }
121
+ function requireOnlyKeys(value, allowed) {
122
+ const allowedKeys = new Set(allowed);
123
+ const unknown = Object.keys(value).find((key) => !allowedKeys.has(key));
124
+ if (unknown !== void 0) {
125
+ throw new TypeError(`Agent continuation state contains unknown key "${unknown}".`);
126
+ }
127
+ }
128
+ function jsonEqual(left, right) {
129
+ if (Object.is(left, right)) return true;
130
+ if (Array.isArray(left)) {
131
+ return Array.isArray(right) && left.length === right.length && left.every((value, index) => jsonEqual(value, right[index]));
132
+ }
133
+ if (object(left)) {
134
+ if (!object(right)) return false;
135
+ const keys = Object.keys(left);
136
+ return keys.length === Object.keys(right).length && keys.every((key) => key in right && jsonEqual(left[key], right[key]));
137
+ }
138
+ return false;
139
+ }
140
+
141
+ export {
142
+ serializeContinuationState,
143
+ parseContinuationState,
144
+ questionResult
145
+ };
146
+ //# sourceMappingURL=chunk-5I2NVRHC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/agent-runtime/continuation-state.ts"],"sourcesContent":["import type { AgentInteractionRequest, AgentQuestionAnswer } from \"../../agent/interactions\";\nimport { parseAgentQuestionPrompts } from \"../../agent/interactions\";\nimport {\n isJsonValue,\n type JsonObject,\n type JsonValue,\n type Message,\n parseMessages,\n type ToolCallPart,\n type ToolResultPart,\n} from \"../../completion\";\nimport type { MemoryScope } from \"../../memory\";\nimport type { PendingToolExecution } from \"./interaction-suspension\";\n\nexport type QueuedSteering = {\n id: string;\n messages: Message[];\n};\n\nexport type AgentContinuationState = {\n kind: \"anvia.agent-continuation\";\n history: Message[];\n messages: Message[];\n pending: PendingToolExecution;\n remainingToolCalls: ToolCallPart[];\n steering: QueuedSteering[];\n memoryScope?: MemoryScope;\n};\n\nexport function serializeContinuationState(state: AgentContinuationState): JsonObject {\n const value = structuredClone(state) as unknown;\n if (!isJsonValue(value) || Array.isArray(value) || value === null) {\n throw new TypeError(\"Agent continuation state must be strict JSON.\");\n }\n return value as JsonObject;\n}\n\nexport function parseContinuationState(\n value: JsonObject,\n interaction: AgentInteractionRequest,\n): AgentContinuationState {\n requireOnlyKeys(value, [\n \"kind\",\n \"history\",\n \"messages\",\n \"pending\",\n \"remainingToolCalls\",\n \"steering\",\n \"memoryScope\",\n ]);\n if (value.kind !== \"anvia.agent-continuation\") {\n throw new TypeError(\"Agent continuation has an unsupported internal state.\");\n }\n const history = parseMessages(value.history);\n const messages = parseMessages(value.messages);\n const pending = parsePending(value.pending);\n const remainingToolCalls = parseToolCalls(value.remainingToolCalls);\n const steering = parseSteering(value.steering);\n if (\n pending.toolCall.toolCallId !== interaction.toolCallId ||\n pending.toolCall.toolName !== interaction.toolName ||\n pending.toolCall.callId !== interaction.callId ||\n pending.internalCallId !== interaction.internalCallId\n ) {\n throw new TypeError(\"Agent continuation interaction does not match its pending tool call.\");\n }\n if (interaction.type === \"tool-approval\" && !jsonEqual(interaction.input, pending.input)) {\n throw new TypeError(\"Agent continuation approval input does not match its pending tool input.\");\n }\n if (interaction.type === \"tool-question\") {\n const questions =\n object(pending.input) && \"questions\" in pending.input\n ? parseAgentQuestionPrompts(pending.input.questions)\n : undefined;\n if (questions === undefined || !jsonEqual(interaction.questions, questions)) {\n throw new TypeError(\n \"Agent continuation questions do not match its pending question tool input.\",\n );\n }\n }\n const state: AgentContinuationState = {\n kind: \"anvia.agent-continuation\",\n history,\n messages,\n pending,\n remainingToolCalls,\n steering,\n };\n if (value.memoryScope !== undefined) {\n state.memoryScope = parseOptionalJsonObject(value.memoryScope, \"memoryScope\") as MemoryScope;\n }\n return state;\n}\n\nexport function questionResult(\n answers: readonly AgentQuestionAnswer[],\n): Extract<ToolResultPart[\"output\"], { type: \"json\" }> {\n return { type: \"json\", value: { answers: structuredClone([...answers]) } };\n}\n\nfunction parsePending(value: unknown): PendingToolExecution {\n if (!object(value)) throw new TypeError(\"Agent continuation pending state is invalid.\");\n const [toolCall] = parseToolCalls([value.toolCall]);\n if (toolCall === undefined) throw new TypeError(\"Agent continuation pending tool is missing.\");\n if (typeof value.effectiveArgs !== \"string\" || typeof value.internalCallId !== \"string\") {\n throw new TypeError(\"Agent continuation pending execution metadata is invalid.\");\n }\n const pending: PendingToolExecution = {\n toolCall,\n effectiveArgs: value.effectiveArgs,\n input: parseJsonValue(value.input, \"pending input\"),\n internalCallId: value.internalCallId,\n };\n if (typeof value.rejectMessage === \"string\") {\n pending.rejectMessage = value.rejectMessage;\n }\n return pending;\n}\n\nfunction parseJsonValue(value: unknown, name: string): JsonValue {\n if (!isJsonValue(value)) {\n throw new TypeError(`Agent continuation ${name} is invalid.`);\n }\n return structuredClone(value);\n}\n\nfunction parseToolCalls(value: unknown): ToolCallPart[] {\n if (!Array.isArray(value)) throw new TypeError(\"Agent continuation tool calls must be an array.\");\n const message = parseMessages([{ role: \"assistant\", content: value }])[0];\n if (message?.role !== \"assistant\" || typeof message.content === \"string\") {\n throw new TypeError(\"Agent continuation tool calls are invalid.\");\n }\n if (!message.content.every((part) => part.type === \"tool-call\")) {\n throw new TypeError(\"Agent continuation contains a non-tool-call part.\");\n }\n return message.content as ToolCallPart[];\n}\n\nfunction parseSteering(value: unknown): QueuedSteering[] {\n if (!Array.isArray(value)) throw new TypeError(\"Agent continuation steering state is invalid.\");\n return value.map((item) => {\n if (!object(item) || typeof item.id !== \"string\") {\n throw new TypeError(\"Agent continuation steering entry is invalid.\");\n }\n return { id: item.id, messages: parseMessages(item.messages) };\n });\n}\n\nfunction parseOptionalJsonObject(value: unknown, name: string): JsonObject | undefined {\n if (value === undefined) return undefined;\n if (!object(value) || !isJsonValue(value)) {\n throw new TypeError(`Agent continuation ${name} is invalid.`);\n }\n return structuredClone(value);\n}\n\nfunction object(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction requireOnlyKeys(value: JsonObject, allowed: readonly string[]): void {\n const allowedKeys = new Set(allowed);\n const unknown = Object.keys(value).find((key) => !allowedKeys.has(key));\n if (unknown !== undefined) {\n throw new TypeError(`Agent continuation state contains unknown key \"${unknown}\".`);\n }\n}\n\nfunction jsonEqual(left: unknown, right: unknown): boolean {\n if (Object.is(left, right)) return true;\n if (Array.isArray(left)) {\n return (\n Array.isArray(right) &&\n left.length === right.length &&\n left.every((value, index) => jsonEqual(value, right[index]))\n );\n }\n if (object(left)) {\n if (!object(right)) return false;\n const keys = Object.keys(left);\n return (\n keys.length === Object.keys(right).length &&\n keys.every((key) => key in right && jsonEqual(left[key], right[key]))\n );\n }\n return false;\n}\n"],"mappings":";;;;;;;;;;;AA6BO,SAAS,2BAA2B,OAA2C;AACpF,QAAM,QAAQ,gBAAgB,KAAK;AACnC,MAAI,CAAC,YAAY,KAAK,KAAK,MAAM,QAAQ,KAAK,KAAK,UAAU,MAAM;AACjE,UAAM,IAAI,UAAU,+CAA+C;AAAA,EACrE;AACA,SAAO;AACT;AAEO,SAAS,uBACd,OACA,aACwB;AACxB,kBAAgB,OAAO;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,MAAI,MAAM,SAAS,4BAA4B;AAC7C,UAAM,IAAI,UAAU,uDAAuD;AAAA,EAC7E;AACA,QAAM,UAAU,cAAc,MAAM,OAAO;AAC3C,QAAM,WAAW,cAAc,MAAM,QAAQ;AAC7C,QAAM,UAAU,aAAa,MAAM,OAAO;AAC1C,QAAM,qBAAqB,eAAe,MAAM,kBAAkB;AAClE,QAAM,WAAW,cAAc,MAAM,QAAQ;AAC7C,MACE,QAAQ,SAAS,eAAe,YAAY,cAC5C,QAAQ,SAAS,aAAa,YAAY,YAC1C,QAAQ,SAAS,WAAW,YAAY,UACxC,QAAQ,mBAAmB,YAAY,gBACvC;AACA,UAAM,IAAI,UAAU,sEAAsE;AAAA,EAC5F;AACA,MAAI,YAAY,SAAS,mBAAmB,CAAC,UAAU,YAAY,OAAO,QAAQ,KAAK,GAAG;AACxF,UAAM,IAAI,UAAU,0EAA0E;AAAA,EAChG;AACA,MAAI,YAAY,SAAS,iBAAiB;AACxC,UAAM,YACJ,OAAO,QAAQ,KAAK,KAAK,eAAe,QAAQ,QAC5C,0BAA0B,QAAQ,MAAM,SAAS,IACjD;AACN,QAAI,cAAc,UAAa,CAAC,UAAU,YAAY,WAAW,SAAS,GAAG;AAC3E,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,QAAgC;AAAA,IACpC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,MAAM,gBAAgB,QAAW;AACnC,UAAM,cAAc,wBAAwB,MAAM,aAAa,aAAa;AAAA,EAC9E;AACA,SAAO;AACT;AAEO,SAAS,eACd,SACqD;AACrD,SAAO,EAAE,MAAM,QAAQ,OAAO,EAAE,SAAS,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE;AAC3E;AAEA,SAAS,aAAa,OAAsC;AAC1D,MAAI,CAAC,OAAO,KAAK,EAAG,OAAM,IAAI,UAAU,8CAA8C;AACtF,QAAM,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,QAAQ,CAAC;AAClD,MAAI,aAAa,OAAW,OAAM,IAAI,UAAU,6CAA6C;AAC7F,MAAI,OAAO,MAAM,kBAAkB,YAAY,OAAO,MAAM,mBAAmB,UAAU;AACvF,UAAM,IAAI,UAAU,2DAA2D;AAAA,EACjF;AACA,QAAM,UAAgC;AAAA,IACpC;AAAA,IACA,eAAe,MAAM;AAAA,IACrB,OAAO,eAAe,MAAM,OAAO,eAAe;AAAA,IAClD,gBAAgB,MAAM;AAAA,EACxB;AACA,MAAI,OAAO,MAAM,kBAAkB,UAAU;AAC3C,YAAQ,gBAAgB,MAAM;AAAA,EAChC;AACA,SAAO;AACT;AAEA,SAAS,eAAe,OAAgB,MAAyB;AAC/D,MAAI,CAAC,YAAY,KAAK,GAAG;AACvB,UAAM,IAAI,UAAU,sBAAsB,IAAI,cAAc;AAAA,EAC9D;AACA,SAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,eAAe,OAAgC;AACtD,MAAI,CAAC,MAAM,QAAQ,KAAK,EAAG,OAAM,IAAI,UAAU,iDAAiD;AAChG,QAAM,UAAU,cAAc,CAAC,EAAE,MAAM,aAAa,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC;AACxE,MAAI,SAAS,SAAS,eAAe,OAAO,QAAQ,YAAY,UAAU;AACxE,UAAM,IAAI,UAAU,4CAA4C;AAAA,EAClE;AACA,MAAI,CAAC,QAAQ,QAAQ,MAAM,CAAC,SAAS,KAAK,SAAS,WAAW,GAAG;AAC/D,UAAM,IAAI,UAAU,mDAAmD;AAAA,EACzE;AACA,SAAO,QAAQ;AACjB;AAEA,SAAS,cAAc,OAAkC;AACvD,MAAI,CAAC,MAAM,QAAQ,KAAK,EAAG,OAAM,IAAI,UAAU,+CAA+C;AAC9F,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,QAAI,CAAC,OAAO,IAAI,KAAK,OAAO,KAAK,OAAO,UAAU;AAChD,YAAM,IAAI,UAAU,+CAA+C;AAAA,IACrE;AACA,WAAO,EAAE,IAAI,KAAK,IAAI,UAAU,cAAc,KAAK,QAAQ,EAAE;AAAA,EAC/D,CAAC;AACH;AAEA,SAAS,wBAAwB,OAAgB,MAAsC;AACrF,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,CAAC,OAAO,KAAK,KAAK,CAAC,YAAY,KAAK,GAAG;AACzC,UAAM,IAAI,UAAU,sBAAsB,IAAI,cAAc;AAAA,EAC9D;AACA,SAAO,gBAAgB,KAAK;AAC9B;AAEA,SAAS,OAAO,OAAkD;AAChE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,SAAS,gBAAgB,OAAmB,SAAkC;AAC5E,QAAM,cAAc,IAAI,IAAI,OAAO;AACnC,QAAM,UAAU,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,GAAG,CAAC;AACtE,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI,UAAU,kDAAkD,OAAO,IAAI;AAAA,EACnF;AACF;AAEA,SAAS,UAAU,MAAe,OAAyB;AACzD,MAAI,OAAO,GAAG,MAAM,KAAK,EAAG,QAAO;AACnC,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WACE,MAAM,QAAQ,KAAK,KACnB,KAAK,WAAW,MAAM,UACtB,KAAK,MAAM,CAAC,OAAO,UAAU,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC;AAAA,EAE/D;AACA,MAAI,OAAO,IAAI,GAAG;AAChB,QAAI,CAAC,OAAO,KAAK,EAAG,QAAO;AAC3B,UAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,WACE,KAAK,WAAW,OAAO,KAAK,KAAK,EAAE,UACnC,KAAK,MAAM,CAAC,QAAQ,OAAO,SAAS,UAAU,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;AAAA,EAExE;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,53 @@
1
+ import {
2
+ isJsonValue
3
+ } from "./chunk-4C7AXYOM.js";
4
+
5
+ // src/internal/agent-runtime/interaction-suspension.ts
6
+ var AgentInteractionSignal = class extends Error {
7
+ constructor(interaction, rejectMessage) {
8
+ super("Agent execution requires a human interaction.");
9
+ this.interaction = interaction;
10
+ this.rejectMessage = rejectMessage;
11
+ this.name = "AgentInteractionSignal";
12
+ }
13
+ interaction;
14
+ rejectMessage;
15
+ };
16
+ var ToolExecutionSuspension = class extends Error {
17
+ constructor(interaction, pending) {
18
+ super("Tool execution suspended for human interaction.");
19
+ this.interaction = interaction;
20
+ this.pending = pending;
21
+ this.name = "ToolExecutionSuspension";
22
+ }
23
+ interaction;
24
+ pending;
25
+ completedResults = [];
26
+ remainingToolCalls = [];
27
+ };
28
+ function approvalInteraction(request) {
29
+ if (request.toolCallId === void 0) {
30
+ throw new TypeError("Tool approval requires a canonical toolCallId.");
31
+ }
32
+ if (!isJsonValue(request.args)) {
33
+ throw new TypeError("Tool approval input must be strict JSON.");
34
+ }
35
+ let interaction = {
36
+ type: "tool-approval",
37
+ id: request.id,
38
+ toolName: request.toolName,
39
+ toolCallId: request.toolCallId,
40
+ internalCallId: request.internalCallId,
41
+ input: request.args
42
+ };
43
+ if (request.callId !== void 0) interaction = { ...interaction, callId: request.callId };
44
+ if (request.reason !== void 0) interaction = { ...interaction, reason: request.reason };
45
+ return interaction;
46
+ }
47
+
48
+ export {
49
+ AgentInteractionSignal,
50
+ ToolExecutionSuspension,
51
+ approvalInteraction
52
+ };
53
+ //# sourceMappingURL=chunk-5IURMWFN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/agent-runtime/interaction-suspension.ts"],"sourcesContent":["import type { AgentInteractionRequest, AgentToolApprovalRequest } from \"../../agent/interactions\";\nimport {\n isJsonValue,\n type JsonValue,\n type ToolCallPart,\n type ToolResultPart,\n} from \"../../completion\";\n\nexport type PendingToolExecution = {\n toolCall: ToolCallPart;\n effectiveArgs: string;\n input: JsonValue;\n internalCallId: string;\n rejectMessage?: string;\n};\n\nexport class AgentInteractionSignal extends Error {\n constructor(\n readonly interaction: AgentInteractionRequest,\n readonly rejectMessage?: string,\n ) {\n super(\"Agent execution requires a human interaction.\");\n this.name = \"AgentInteractionSignal\";\n }\n}\n\nexport class ToolExecutionSuspension extends Error {\n completedResults: ToolResultPart[] = [];\n remainingToolCalls: ToolCallPart[] = [];\n\n constructor(\n readonly interaction: AgentInteractionRequest,\n readonly pending: PendingToolExecution,\n ) {\n super(\"Tool execution suspended for human interaction.\");\n this.name = \"ToolExecutionSuspension\";\n }\n}\n\nexport function approvalInteraction(request: {\n id: string;\n toolName: string;\n toolCallId?: string;\n callId?: string;\n internalCallId: string;\n args: unknown;\n reason?: string | undefined;\n rejectMessage?: string | undefined;\n}): AgentToolApprovalRequest {\n if (request.toolCallId === undefined) {\n throw new TypeError(\"Tool approval requires a canonical toolCallId.\");\n }\n if (!isJsonValue(request.args)) {\n throw new TypeError(\"Tool approval input must be strict JSON.\");\n }\n let interaction: AgentToolApprovalRequest = {\n type: \"tool-approval\",\n id: request.id,\n toolName: request.toolName,\n toolCallId: request.toolCallId,\n internalCallId: request.internalCallId,\n input: request.args,\n };\n if (request.callId !== undefined) interaction = { ...interaction, callId: request.callId };\n if (request.reason !== undefined) interaction = { ...interaction, reason: request.reason };\n return interaction;\n}\n"],"mappings":";;;;;AAgBO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,YACW,aACA,eACT;AACA,UAAM,+CAA+C;AAH5C;AACA;AAGT,SAAK,OAAO;AAAA,EACd;AAAA,EALW;AAAA,EACA;AAKb;AAEO,IAAM,0BAAN,cAAsC,MAAM;AAAA,EAIjD,YACW,aACA,SACT;AACA,UAAM,iDAAiD;AAH9C;AACA;AAGT,SAAK,OAAO;AAAA,EACd;AAAA,EALW;AAAA,EACA;AAAA,EALX,mBAAqC,CAAC;AAAA,EACtC,qBAAqC,CAAC;AASxC;AAEO,SAAS,oBAAoB,SASP;AAC3B,MAAI,QAAQ,eAAe,QAAW;AACpC,UAAM,IAAI,UAAU,gDAAgD;AAAA,EACtE;AACA,MAAI,CAAC,YAAY,QAAQ,IAAI,GAAG;AAC9B,UAAM,IAAI,UAAU,0CAA0C;AAAA,EAChE;AACA,MAAI,cAAwC;AAAA,IAC1C,MAAM;AAAA,IACN,IAAI,QAAQ;AAAA,IACZ,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,OAAO,QAAQ;AAAA,EACjB;AACA,MAAI,QAAQ,WAAW,OAAW,eAAc,EAAE,GAAG,aAAa,QAAQ,QAAQ,OAAO;AACzF,MAAI,QAAQ,WAAW,OAAW,eAAc,EAAE,GAAG,aAAa,QAAQ,QAAQ,OAAO;AACzF,SAAO;AACT;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-5M6GTA3T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ // src/model-listing/errors.ts
2
+ var ModelListingError = class extends Error {
3
+ provider;
4
+ statusCode;
5
+ cause;
6
+ constructor(message, options = {}) {
7
+ super(message, { cause: options.cause });
8
+ this.name = "ModelListingError";
9
+ this.provider = options.provider;
10
+ this.statusCode = options.statusCode;
11
+ this.cause = options.cause;
12
+ }
13
+ };
14
+
15
+ export {
16
+ ModelListingError
17
+ };
18
+ //# sourceMappingURL=chunk-5N5W7CX7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/model-listing/errors.ts"],"sourcesContent":["type ModelListingErrorOptions = {\n provider?: string | undefined;\n statusCode?: number | undefined;\n cause?: unknown;\n};\n\nexport class ModelListingError extends Error {\n readonly provider?: string | undefined;\n readonly statusCode?: number | undefined;\n override readonly cause?: unknown;\n\n constructor(message: string, options: ModelListingErrorOptions = {}) {\n super(message, { cause: options.cause });\n this.name = \"ModelListingError\";\n this.provider = options.provider;\n this.statusCode = options.statusCode;\n this.cause = options.cause;\n }\n}\n"],"mappings":";AAMO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAClC;AAAA,EACA;AAAA,EACS;AAAA,EAElB,YAAY,SAAiB,UAAoC,CAAC,GAAG;AACnE,UAAM,SAAS,EAAE,OAAO,QAAQ,MAAM,CAAC;AACvC,SAAK,OAAO;AACZ,SAAK,WAAW,QAAQ;AACxB,SAAK,aAAa,QAAQ;AAC1B,SAAK,QAAQ,QAAQ;AAAA,EACvB;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-5S7T2URX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,19 @@
1
+ // src/internal/vector-search-options.ts
2
+ function assertPositiveSearchLimit(value, name = "topK") {
3
+ if (!Number.isSafeInteger(value) || value <= 0) {
4
+ throw new RangeError(`${name} must be a positive safe integer.`);
5
+ }
6
+ return value;
7
+ }
8
+ function assertFiniteMinScore(value, name = "minScore") {
9
+ if (value !== void 0 && !Number.isFinite(value)) {
10
+ throw new RangeError(`${name} must be a finite number.`);
11
+ }
12
+ return value;
13
+ }
14
+
15
+ export {
16
+ assertPositiveSearchLimit,
17
+ assertFiniteMinScore
18
+ };
19
+ //# sourceMappingURL=chunk-5V533R7F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/vector-search-options.ts"],"sourcesContent":["export function assertPositiveSearchLimit(value: number, name = \"topK\"): number {\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new RangeError(`${name} must be a positive safe integer.`);\n }\n return value;\n}\n\nexport function assertFiniteMinScore(\n value: number | undefined,\n name = \"minScore\",\n): number | undefined {\n if (value !== undefined && !Number.isFinite(value)) {\n throw new RangeError(`${name} must be a finite number.`);\n }\n return value;\n}\n"],"mappings":";AAAO,SAAS,0BAA0B,OAAe,OAAO,QAAgB;AAC9E,MAAI,CAAC,OAAO,cAAc,KAAK,KAAK,SAAS,GAAG;AAC9C,UAAM,IAAI,WAAW,GAAG,IAAI,mCAAmC;AAAA,EACjE;AACA,SAAO;AACT;AAEO,SAAS,qBACd,OACA,OAAO,YACa;AACpB,MAAI,UAAU,UAAa,CAAC,OAAO,SAAS,KAAK,GAAG;AAClD,UAAM,IAAI,WAAW,GAAG,IAAI,2BAA2B;AAAA,EACzD;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,56 @@
1
+ // src/vector-store/filter.ts
2
+ var vectorFilter = {
3
+ eq(key, value) {
4
+ return { type: "eq", key, value };
5
+ },
6
+ gt(key, value) {
7
+ return { type: "gt", key, value };
8
+ },
9
+ lt(key, value) {
10
+ return { type: "lt", key, value };
11
+ },
12
+ and(left, right) {
13
+ return { type: "and", filters: [left, right] };
14
+ },
15
+ or(left, right) {
16
+ return { type: "or", filters: [left, right] };
17
+ }
18
+ };
19
+ function matchesVectorFilter(metadata, filter) {
20
+ if (filter === void 0) {
21
+ return true;
22
+ }
23
+ if (metadata === void 0) {
24
+ return false;
25
+ }
26
+ switch (filter.type) {
27
+ case "eq":
28
+ return metadata[filter.key] === filter.value;
29
+ case "gt":
30
+ return compare(metadata[filter.key], filter.value) > 0;
31
+ case "lt":
32
+ return compare(metadata[filter.key], filter.value) < 0;
33
+ case "and":
34
+ return matchesVectorFilter(metadata, filter.filters[0]) && matchesVectorFilter(metadata, filter.filters[1]);
35
+ case "or":
36
+ return matchesVectorFilter(metadata, filter.filters[0]) || matchesVectorFilter(metadata, filter.filters[1]);
37
+ }
38
+ }
39
+ function compare(left, right) {
40
+ if (typeof left === "number" && typeof right === "number") {
41
+ return left - right;
42
+ }
43
+ if (typeof left === "string" && typeof right === "string") {
44
+ return left.localeCompare(right);
45
+ }
46
+ if (typeof left === "boolean" && typeof right === "boolean") {
47
+ return Number(left) - Number(right);
48
+ }
49
+ return 0;
50
+ }
51
+
52
+ export {
53
+ vectorFilter,
54
+ matchesVectorFilter
55
+ };
56
+ //# sourceMappingURL=chunk-5WLIHNNJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/vector-store/filter.ts"],"sourcesContent":["import type { VectorMetadata, VectorMetadataValue } from \"../embeddings\";\nimport type { VectorFilter } from \"./types\";\n\nexport type { VectorFilter } from \"./types\";\n\nexport const vectorFilter = {\n eq(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"eq\", key, value };\n },\n gt(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"gt\", key, value };\n },\n lt(key: string, value: VectorMetadataValue): VectorFilter {\n return { type: \"lt\", key, value };\n },\n and(left: VectorFilter, right: VectorFilter): VectorFilter {\n return { type: \"and\", filters: [left, right] };\n },\n or(left: VectorFilter, right: VectorFilter): VectorFilter {\n return { type: \"or\", filters: [left, right] };\n },\n};\n\nexport function matchesVectorFilter(\n metadata: VectorMetadata | undefined,\n filter: VectorFilter | undefined,\n): boolean {\n if (filter === undefined) {\n return true;\n }\n if (metadata === undefined) {\n return false;\n }\n\n switch (filter.type) {\n case \"eq\":\n return metadata[filter.key] === filter.value;\n case \"gt\":\n return compare(metadata[filter.key], filter.value) > 0;\n case \"lt\":\n return compare(metadata[filter.key], filter.value) < 0;\n case \"and\":\n return (\n matchesVectorFilter(metadata, filter.filters[0]) &&\n matchesVectorFilter(metadata, filter.filters[1])\n );\n case \"or\":\n return (\n matchesVectorFilter(metadata, filter.filters[0]) ||\n matchesVectorFilter(metadata, filter.filters[1])\n );\n }\n}\n\nfunction compare(left: VectorMetadataValue | undefined, right: VectorMetadataValue): number {\n if (typeof left === \"number\" && typeof right === \"number\") {\n return left - right;\n }\n if (typeof left === \"string\" && typeof right === \"string\") {\n return left.localeCompare(right);\n }\n if (typeof left === \"boolean\" && typeof right === \"boolean\") {\n return Number(left) - Number(right);\n }\n return 0;\n}\n"],"mappings":";AAKO,IAAM,eAAe;AAAA,EAC1B,GAAG,KAAa,OAA0C;AACxD,WAAO,EAAE,MAAM,MAAM,KAAK,MAAM;AAAA,EAClC;AAAA,EACA,GAAG,KAAa,OAA0C;AACxD,WAAO,EAAE,MAAM,MAAM,KAAK,MAAM;AAAA,EAClC;AAAA,EACA,GAAG,KAAa,OAA0C;AACxD,WAAO,EAAE,MAAM,MAAM,KAAK,MAAM;AAAA,EAClC;AAAA,EACA,IAAI,MAAoB,OAAmC;AACzD,WAAO,EAAE,MAAM,OAAO,SAAS,CAAC,MAAM,KAAK,EAAE;AAAA,EAC/C;AAAA,EACA,GAAG,MAAoB,OAAmC;AACxD,WAAO,EAAE,MAAM,MAAM,SAAS,CAAC,MAAM,KAAK,EAAE;AAAA,EAC9C;AACF;AAEO,SAAS,oBACd,UACA,QACS;AACT,MAAI,WAAW,QAAW;AACxB,WAAO;AAAA,EACT;AACA,MAAI,aAAa,QAAW;AAC1B,WAAO;AAAA,EACT;AAEA,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACH,aAAO,SAAS,OAAO,GAAG,MAAM,OAAO;AAAA,IACzC,KAAK;AACH,aAAO,QAAQ,SAAS,OAAO,GAAG,GAAG,OAAO,KAAK,IAAI;AAAA,IACvD,KAAK;AACH,aAAO,QAAQ,SAAS,OAAO,GAAG,GAAG,OAAO,KAAK,IAAI;AAAA,IACvD,KAAK;AACH,aACE,oBAAoB,UAAU,OAAO,QAAQ,CAAC,CAAC,KAC/C,oBAAoB,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAA,IAEnD,KAAK;AACH,aACE,oBAAoB,UAAU,OAAO,QAAQ,CAAC,CAAC,KAC/C,oBAAoB,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAA,EAErD;AACF;AAEA,SAAS,QAAQ,MAAuC,OAAoC;AAC1F,MAAI,OAAO,SAAS,YAAY,OAAO,UAAU,UAAU;AACzD,WAAO,OAAO;AAAA,EAChB;AACA,MAAI,OAAO,SAAS,YAAY,OAAO,UAAU,UAAU;AACzD,WAAO,KAAK,cAAc,KAAK;AAAA,EACjC;AACA,MAAI,OAAO,SAAS,aAAa,OAAO,UAAU,WAAW;AAC3D,WAAO,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,EACpC;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,37 @@
1
+ // src/guardrails/policy.ts
2
+ function defineGuardrailPolicy(options) {
3
+ return {
4
+ id: options.id,
5
+ mode: options.mode ?? "enforce",
6
+ input: options.input ?? [],
7
+ output: options.output ?? []
8
+ };
9
+ }
10
+ function defineInputGuardrail(guardrail) {
11
+ return guardrail;
12
+ }
13
+ function defineOutputGuardrail(guardrail) {
14
+ return guardrail;
15
+ }
16
+ function normalizeGuardrailPolicies(policies) {
17
+ if (policies === void 0) {
18
+ return [];
19
+ }
20
+ return Array.isArray(policies) ? policies : [policies];
21
+ }
22
+ function appendGuardrailPolicies(current, next) {
23
+ return [...current, ...normalizeGuardrailPolicies(next)];
24
+ }
25
+ function hasEnforcedOutputGuardrails(policies) {
26
+ return policies.some((policy) => policy.mode === "enforce" && policy.output.length > 0);
27
+ }
28
+
29
+ export {
30
+ defineGuardrailPolicy,
31
+ defineInputGuardrail,
32
+ defineOutputGuardrail,
33
+ normalizeGuardrailPolicies,
34
+ appendGuardrailPolicies,
35
+ hasEnforcedOutputGuardrails
36
+ };
37
+ //# sourceMappingURL=chunk-6BTJC3ES.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/guardrails/policy.ts"],"sourcesContent":["import type {\n GuardrailPolicy,\n GuardrailPolicyInput,\n GuardrailPolicyOptions,\n InputGuardrail,\n OutputGuardrail,\n} from \"./types\";\n\nexport function defineGuardrailPolicy(options: GuardrailPolicyOptions): GuardrailPolicy {\n return {\n id: options.id,\n mode: options.mode ?? \"enforce\",\n input: options.input ?? [],\n output: options.output ?? [],\n };\n}\n\nexport function defineInputGuardrail(guardrail: InputGuardrail): InputGuardrail {\n return guardrail;\n}\n\nexport function defineOutputGuardrail(guardrail: OutputGuardrail): OutputGuardrail {\n return guardrail;\n}\n\nexport function normalizeGuardrailPolicies(\n policies: GuardrailPolicyInput | undefined,\n): GuardrailPolicy[] {\n if (policies === undefined) {\n return [];\n }\n return Array.isArray(policies) ? policies : [policies];\n}\n\nexport function appendGuardrailPolicies(\n current: GuardrailPolicy[],\n next: GuardrailPolicyInput,\n): GuardrailPolicy[] {\n return [...current, ...normalizeGuardrailPolicies(next)];\n}\n\nexport function hasEnforcedOutputGuardrails(policies: GuardrailPolicy[]): boolean {\n return policies.some((policy) => policy.mode === \"enforce\" && policy.output.length > 0);\n}\n"],"mappings":";AAQO,SAAS,sBAAsB,SAAkD;AACtF,SAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,MAAM,QAAQ,QAAQ;AAAA,IACtB,OAAO,QAAQ,SAAS,CAAC;AAAA,IACzB,QAAQ,QAAQ,UAAU,CAAC;AAAA,EAC7B;AACF;AAEO,SAAS,qBAAqB,WAA2C;AAC9E,SAAO;AACT;AAEO,SAAS,sBAAsB,WAA6C;AACjF,SAAO;AACT;AAEO,SAAS,2BACd,UACmB;AACnB,MAAI,aAAa,QAAW;AAC1B,WAAO,CAAC;AAAA,EACV;AACA,SAAO,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AACvD;AAEO,SAAS,wBACd,SACA,MACmB;AACnB,SAAO,CAAC,GAAG,SAAS,GAAG,2BAA2B,IAAI,CAAC;AACzD;AAEO,SAAS,4BAA4B,UAAsC;AAChF,SAAO,SAAS,KAAK,CAAC,WAAW,OAAO,SAAS,aAAa,OAAO,OAAO,SAAS,CAAC;AACxF;","names":[]}
@@ -0,0 +1,24 @@
1
+ import {
2
+ createTool
3
+ } from "./chunk-XV3DH5GC.js";
4
+
5
+ // src/tool/think-tool.ts
6
+ import { z } from "zod";
7
+ var defaultThinkToolDescription = "Use this tool to record a thought while reasoning through a complex task. It does not retrieve information, store memory, or change external state.";
8
+ var thinkToolInput = z.object({
9
+ thought: z.string().describe("A thought to record while reasoning through a task.")
10
+ });
11
+ function createThinkTool(options = {}) {
12
+ return createTool({
13
+ name: options.name ?? "think",
14
+ description: options.description ?? defaultThinkToolDescription,
15
+ inputSchema: thinkToolInput,
16
+ outputSchema: z.string(),
17
+ execute: (args) => args.thought
18
+ });
19
+ }
20
+
21
+ export {
22
+ createThinkTool
23
+ };
24
+ //# sourceMappingURL=chunk-6N4ENZO4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tool/think-tool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { createTool } from \"./create-tool\";\n\nconst defaultThinkToolDescription =\n \"Use this tool to record a thought while reasoning through a complex task. It does not retrieve information, store memory, or change external state.\";\n\nconst thinkToolInput = z.object({\n thought: z.string().describe(\"A thought to record while reasoning through a task.\"),\n});\n\nexport type CreateThinkToolOptions = {\n name?: string;\n description?: string;\n};\n\nexport function createThinkTool(options: CreateThinkToolOptions = {}) {\n return createTool({\n name: options.name ?? \"think\",\n description: options.description ?? defaultThinkToolDescription,\n inputSchema: thinkToolInput,\n outputSchema: z.string(),\n execute: (args) => args.thought,\n });\n}\n"],"mappings":";;;;;AAAA,SAAS,SAAS;AAGlB,IAAM,8BACJ;AAEF,IAAM,iBAAiB,EAAE,OAAO;AAAA,EAC9B,SAAS,EAAE,OAAO,EAAE,SAAS,qDAAqD;AACpF,CAAC;AAOM,SAAS,gBAAgB,UAAkC,CAAC,GAAG;AACpE,SAAO,WAAW;AAAA,IAChB,MAAM,QAAQ,QAAQ;AAAA,IACtB,aAAa,QAAQ,eAAe;AAAA,IACpC,aAAa;AAAA,IACb,cAAc,EAAE,OAAO;AAAA,IACvB,SAAS,CAAC,SAAS,KAAK;AAAA,EAC1B,CAAC;AACH;","names":[]}
@@ -75,43 +75,9 @@ function mergeCompletionControlValues(defaults, overrides) {
75
75
  return Object.keys(values).length === 0 ? void 0 : Object.freeze(values);
76
76
  }
77
77
 
78
- // src/completion/documents.ts
79
- function normalizeDocuments(documents) {
80
- if (documents.length === 0) {
81
- return void 0;
82
- }
83
- return { role: "user", content: documents.map(formatDocument).join("\n") };
84
- }
85
- function formatDocument(document) {
86
- return `<file id: ${document.id}>
87
- ${formatDocumentBody(document)}
88
- </file>
89
- `;
90
- }
91
- function formatDocumentBody(document) {
92
- const metadata = formatMetadata(document.additionalProps);
93
- return metadata === void 0 ? document.text : `${metadata}
94
- ${document.text}`;
95
- }
96
- function formatMetadata(additionalProps) {
97
- if (additionalProps === void 0) {
98
- return void 0;
99
- }
100
- const entries = Object.entries(additionalProps).sort(
101
- ([left], [right]) => left.localeCompare(right)
102
- );
103
- if (entries.length === 0) {
104
- return void 0;
105
- }
106
- const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(" ");
107
- return `<metadata ${metadata} />`;
108
- }
109
-
110
78
  export {
111
79
  REASONING_EFFORT_CONTROL_ID,
112
80
  defineCompletionModelControls,
113
- mergeCompletionControlValues,
114
- normalizeDocuments,
115
- formatDocument
81
+ mergeCompletionControlValues
116
82
  };
117
- //# sourceMappingURL=chunk-4UQALF5Y.js.map
83
+ //# sourceMappingURL=chunk-6RQYWZI3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/completion/controls.ts"],"sourcesContent":["import type {\n CompletionControlValues,\n CompletionModelControls,\n CompletionModelSelectControl,\n} from \"./types\";\n\nexport const REASONING_EFFORT_CONTROL_ID = \"reasoningEffort\";\n\nexport type ReasoningEffortControls<Effort extends string = string> = Readonly<{\n reasoningEffort: CompletionModelSelectControl<Effort>;\n}>;\n\nexport function defineCompletionModelControls<const Controls extends CompletionModelControls>(\n controls: Controls,\n): Controls {\n if (typeof controls !== \"object\" || controls === null || Array.isArray(controls)) {\n throw new TypeError(\"Completion model controls must be an object.\");\n }\n const snapshot: Record<string, CompletionModelSelectControl> = {};\n for (const [id, control] of Object.entries(controls)) {\n if (id.trim().length === 0) {\n throw new TypeError(\"Completion control ids must not be empty.\");\n }\n if (typeof control !== \"object\" || control === null || Array.isArray(control)) {\n throw new TypeError(`Completion control \"${id}\" must be an object.`);\n }\n if (control.type !== \"select\") {\n throw new TypeError(`Completion control \"${id}\" must have type \"select\".`);\n }\n if (typeof control.label !== \"string\" || control.label.trim().length === 0) {\n throw new TypeError(`Completion control \"${id}\" must have a non-empty label.`);\n }\n if (!Array.isArray(control.options) || control.options.length === 0) {\n throw new TypeError(`Completion control \"${id}\" must declare at least one option.`);\n }\n const options = control.options.map((option) => {\n if (typeof option !== \"string\" || option.trim().length === 0) {\n throw new TypeError(`Completion control \"${id}\" options must not be empty.`);\n }\n return option;\n });\n if (new Set(options).size !== options.length) {\n throw new TypeError(`Completion control \"${id}\" options must be unique.`);\n }\n if (\n control.defaultValue !== undefined &&\n (typeof control.defaultValue !== \"string\" || !options.includes(control.defaultValue))\n ) {\n throw new TypeError(\n `Completion control \"${id}\" defaultValue must be one of its declared options.`,\n );\n }\n if (control.description !== undefined && typeof control.description !== \"string\") {\n throw new TypeError(`Completion control \"${id}\" description must be a string.`);\n }\n let next: CompletionModelSelectControl = {\n type: \"select\",\n label: control.label,\n options: Object.freeze(options),\n };\n if (control.description !== undefined) {\n next = { ...next, description: control.description };\n }\n if (control.defaultValue !== undefined) {\n next = { ...next, defaultValue: control.defaultValue };\n }\n Object.defineProperty(snapshot, id, {\n value: Object.freeze(next),\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(snapshot) as Controls;\n}\n\nexport function mergeCompletionControlValues<Controls extends CompletionModelControls>(\n defaults: CompletionControlValues<Controls> | undefined,\n overrides: CompletionControlValues<Controls> | undefined,\n): Readonly<Record<string, string>> | undefined {\n if (defaults === undefined && overrides === undefined) return undefined;\n const values: Record<string, string> = {};\n for (const source of [defaults, overrides]) {\n for (const [id, value] of Object.entries(source ?? {})) {\n if (typeof value !== \"string\") continue;\n Object.defineProperty(values, id, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n }\n }\n return Object.keys(values).length === 0 ? undefined : Object.freeze(values);\n}\n"],"mappings":";AAMO,IAAM,8BAA8B;AAMpC,SAAS,8BACd,UACU;AACV,MAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,MAAM,QAAQ,QAAQ,GAAG;AAChF,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACpE;AACA,QAAM,WAAyD,CAAC;AAChE,aAAW,CAAC,IAAI,OAAO,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACpD,QAAI,GAAG,KAAK,EAAE,WAAW,GAAG;AAC1B,YAAM,IAAI,UAAU,2CAA2C;AAAA,IACjE;AACA,QAAI,OAAO,YAAY,YAAY,YAAY,QAAQ,MAAM,QAAQ,OAAO,GAAG;AAC7E,YAAM,IAAI,UAAU,uBAAuB,EAAE,sBAAsB;AAAA,IACrE;AACA,QAAI,QAAQ,SAAS,UAAU;AAC7B,YAAM,IAAI,UAAU,uBAAuB,EAAE,4BAA4B;AAAA,IAC3E;AACA,QAAI,OAAO,QAAQ,UAAU,YAAY,QAAQ,MAAM,KAAK,EAAE,WAAW,GAAG;AAC1E,YAAM,IAAI,UAAU,uBAAuB,EAAE,gCAAgC;AAAA,IAC/E;AACA,QAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,KAAK,QAAQ,QAAQ,WAAW,GAAG;AACnE,YAAM,IAAI,UAAU,uBAAuB,EAAE,qCAAqC;AAAA,IACpF;AACA,UAAM,UAAU,QAAQ,QAAQ,IAAI,CAAC,WAAW;AAC9C,UAAI,OAAO,WAAW,YAAY,OAAO,KAAK,EAAE,WAAW,GAAG;AAC5D,cAAM,IAAI,UAAU,uBAAuB,EAAE,8BAA8B;AAAA,MAC7E;AACA,aAAO;AAAA,IACT,CAAC;AACD,QAAI,IAAI,IAAI,OAAO,EAAE,SAAS,QAAQ,QAAQ;AAC5C,YAAM,IAAI,UAAU,uBAAuB,EAAE,2BAA2B;AAAA,IAC1E;AACA,QACE,QAAQ,iBAAiB,WACxB,OAAO,QAAQ,iBAAiB,YAAY,CAAC,QAAQ,SAAS,QAAQ,YAAY,IACnF;AACA,YAAM,IAAI;AAAA,QACR,uBAAuB,EAAE;AAAA,MAC3B;AAAA,IACF;AACA,QAAI,QAAQ,gBAAgB,UAAa,OAAO,QAAQ,gBAAgB,UAAU;AAChF,YAAM,IAAI,UAAU,uBAAuB,EAAE,iCAAiC;AAAA,IAChF;AACA,QAAI,OAAqC;AAAA,MACvC,MAAM;AAAA,MACN,OAAO,QAAQ;AAAA,MACf,SAAS,OAAO,OAAO,OAAO;AAAA,IAChC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,EAAE,GAAG,MAAM,aAAa,QAAQ,YAAY;AAAA,IACrD;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,aAAO,EAAE,GAAG,MAAM,cAAc,QAAQ,aAAa;AAAA,IACvD;AACA,WAAO,eAAe,UAAU,IAAI;AAAA,MAClC,OAAO,OAAO,OAAO,IAAI;AAAA,MACzB,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AACA,SAAO,OAAO,OAAO,QAAQ;AAC/B;AAEO,SAAS,6BACd,UACA,WAC8C;AAC9C,MAAI,aAAa,UAAa,cAAc,OAAW,QAAO;AAC9D,QAAM,SAAiC,CAAC;AACxC,aAAW,UAAU,CAAC,UAAU,SAAS,GAAG;AAC1C,eAAW,CAAC,IAAI,KAAK,KAAK,OAAO,QAAQ,UAAU,CAAC,CAAC,GAAG;AACtD,UAAI,OAAO,UAAU,SAAU;AAC/B,aAAO,eAAe,QAAQ,IAAI;AAAA,QAChC;AAAA,QACA,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,WAAW,IAAI,SAAY,OAAO,OAAO,MAAM;AAC5E;","names":[]}