@anvia/core 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-2QZJTG2E.js → chunk-23GEYG2X.js} +11 -71
  47. package/dist/chunk-23GEYG2X.js.map +1 -0
  48. package/dist/{chunk-I3Q7XSBB.js → chunk-23LRXKQX.js} +6 -4
  49. package/dist/{chunk-I3Q7XSBB.js.map → chunk-23LRXKQX.js.map} +1 -1
  50. package/dist/{chunk-YK4WAAS4.js → chunk-2NLINXRF.js} +1 -1
  51. package/dist/{chunk-SPD4XVR7.js → chunk-2XSMGVBG.js} +1 -1
  52. package/dist/chunk-3J2CSVPR.js +1 -0
  53. package/dist/chunk-3J2CSVPR.js.map +1 -0
  54. package/dist/chunk-3P3YVJ7V.js +1 -0
  55. package/dist/chunk-3P3YVJ7V.js.map +1 -0
  56. package/dist/chunk-3TAQXJBC.js +107 -0
  57. package/dist/chunk-3TAQXJBC.js.map +1 -0
  58. package/dist/chunk-47NTHIVB.js +76 -0
  59. package/dist/chunk-47NTHIVB.js.map +1 -0
  60. package/dist/chunk-4AW2633B.js +9 -0
  61. package/dist/chunk-4AW2633B.js.map +1 -0
  62. package/dist/{chunk-3XQGVDU5.js → chunk-4C7AXYOM.js} +1 -1
  63. package/dist/{chunk-IZNOP6JG.js → chunk-4FIVU53H.js} +1 -1
  64. package/dist/chunk-4ITAV7YA.js +1 -0
  65. package/dist/chunk-4ITAV7YA.js.map +1 -0
  66. package/dist/{chunk-7JLAIN6E.js → chunk-4ONUNWGC.js} +2 -2
  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-5AETKC4L.js +107 -0
  72. package/dist/chunk-5AETKC4L.js.map +1 -0
  73. package/dist/chunk-5I2NVRHC.js +146 -0
  74. package/dist/chunk-5I2NVRHC.js.map +1 -0
  75. package/dist/chunk-5IURMWFN.js +53 -0
  76. package/dist/chunk-5IURMWFN.js.map +1 -0
  77. package/dist/chunk-5M6GTA3T.js +1 -0
  78. package/dist/chunk-5M6GTA3T.js.map +1 -0
  79. package/dist/chunk-5N5W7CX7.js +18 -0
  80. package/dist/chunk-5N5W7CX7.js.map +1 -0
  81. package/dist/chunk-5P2YOQSA.js +355 -0
  82. package/dist/chunk-5P2YOQSA.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-7F53DOML.js +53 -0
  98. package/dist/chunk-7F53DOML.js.map +1 -0
  99. package/dist/chunk-7KAGWJ5M.js +112 -0
  100. package/dist/chunk-7KAGWJ5M.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-B47EXUHL.js +67 -0
  106. package/dist/chunk-B47EXUHL.js.map +1 -0
  107. package/dist/chunk-B5JQDR33.js +14 -0
  108. package/dist/chunk-B5JQDR33.js.map +1 -0
  109. package/dist/chunk-B5YTCKUJ.js +158 -0
  110. package/dist/chunk-B5YTCKUJ.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-GDJNOZ47.js +1 -0
  148. package/dist/chunk-GDJNOZ47.js.map +1 -0
  149. package/dist/chunk-GDY2Z2SZ.js +83 -0
  150. package/dist/chunk-GDY2Z2SZ.js.map +1 -0
  151. package/dist/chunk-GLMYZ6OA.js +20 -0
  152. package/dist/chunk-GLMYZ6OA.js.map +1 -0
  153. package/dist/{chunk-XEVOC433.js → chunk-GPVXCY5I.js} +2 -73
  154. package/dist/chunk-GPVXCY5I.js.map +1 -0
  155. package/dist/{chunk-KSKST3KP.js → chunk-H3H74RWJ.js} +1 -1
  156. package/dist/chunk-HAAGSIZH.js +89 -0
  157. package/dist/chunk-HAAGSIZH.js.map +1 -0
  158. package/dist/{chunk-K5L7R7XM.js → chunk-HHMLE3TZ.js} +6 -54
  159. package/dist/chunk-HHMLE3TZ.js.map +1 -0
  160. package/dist/{chunk-JLJMVRRE.js → chunk-HP34GRQX.js} +10 -83
  161. package/dist/chunk-HP34GRQX.js.map +1 -0
  162. package/dist/chunk-HTI343NP.js +1 -0
  163. package/dist/chunk-HTI343NP.js.map +1 -0
  164. package/dist/{chunk-T2C3CGDQ.js → chunk-HTI7DZJM.js} +6 -4
  165. package/dist/{chunk-T2C3CGDQ.js.map → chunk-HTI7DZJM.js.map} +1 -1
  166. package/dist/chunk-IDNL6IH4.js +294 -0
  167. package/dist/chunk-IDNL6IH4.js.map +1 -0
  168. package/dist/chunk-IV6YQTY2.js +47 -0
  169. package/dist/chunk-IV6YQTY2.js.map +1 -0
  170. package/dist/chunk-J4SINPUA.js +939 -0
  171. package/dist/chunk-J4SINPUA.js.map +1 -0
  172. package/dist/chunk-J6S6MT7O.js +32 -0
  173. package/dist/chunk-J6S6MT7O.js.map +1 -0
  174. package/dist/chunk-JB3RFK6K.js +168 -0
  175. package/dist/chunk-JB3RFK6K.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-JOQ2T3QP.js +663 -0
  183. package/dist/chunk-JOQ2T3QP.js.map +1 -0
  184. package/dist/chunk-K4IBS7VB.js +55 -0
  185. package/dist/chunk-K4IBS7VB.js.map +1 -0
  186. package/dist/chunk-KBBQSP4M.js +16 -0
  187. package/dist/chunk-KBBQSP4M.js.map +1 -0
  188. package/dist/chunk-KFAVEL5F.js +68 -0
  189. package/dist/chunk-KFAVEL5F.js.map +1 -0
  190. package/dist/chunk-KITX3HDN.js +17 -0
  191. package/dist/chunk-KITX3HDN.js.map +1 -0
  192. package/dist/chunk-KO5NMTAM.js +1 -0
  193. package/dist/chunk-KO5NMTAM.js.map +1 -0
  194. package/dist/chunk-KY4VXIN2.js +118 -0
  195. package/dist/chunk-KY4VXIN2.js.map +1 -0
  196. package/dist/chunk-KZGSXJKU.js +29 -0
  197. package/dist/chunk-KZGSXJKU.js.map +1 -0
  198. package/dist/chunk-LAIATEUB.js +24 -0
  199. package/dist/chunk-LAIATEUB.js.map +1 -0
  200. package/dist/{chunk-OJBFDBLG.js → chunk-LBYJPMHC.js} +2 -2
  201. package/dist/chunk-LKIABZNR.js +49 -0
  202. package/dist/chunk-LKIABZNR.js.map +1 -0
  203. package/dist/chunk-LQJ4KHMY.js +23 -0
  204. package/dist/chunk-LQJ4KHMY.js.map +1 -0
  205. package/dist/chunk-MEN4AFDZ.js +1 -0
  206. package/dist/chunk-MEN4AFDZ.js.map +1 -0
  207. package/dist/chunk-MHOJJYDK.js +93 -0
  208. package/dist/chunk-MHOJJYDK.js.map +1 -0
  209. package/dist/chunk-MJCMKZFP.js +30 -0
  210. package/dist/chunk-MJCMKZFP.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-OJF67RNM.js +1 -0
  222. package/dist/chunk-OJF67RNM.js.map +1 -0
  223. package/dist/chunk-PHLGGRHC.js +89 -0
  224. package/dist/chunk-PHLGGRHC.js.map +1 -0
  225. package/dist/chunk-PIMD4DYG.js +104 -0
  226. package/dist/chunk-PIMD4DYG.js.map +1 -0
  227. package/dist/chunk-PJNE75WC.js +1 -0
  228. package/dist/chunk-PJNE75WC.js.map +1 -0
  229. package/dist/{chunk-J6LVLV6P.js → chunk-PLDJCCVL.js} +1 -1
  230. package/dist/{chunk-3RWESPUG.js → chunk-POXHJF3H.js} +6 -51
  231. package/dist/chunk-POXHJF3H.js.map +1 -0
  232. package/dist/chunk-PPJ7SYQL.js +81 -0
  233. package/dist/chunk-PPJ7SYQL.js.map +1 -0
  234. package/dist/chunk-PT777EQ3.js +48 -0
  235. package/dist/chunk-PT777EQ3.js.map +1 -0
  236. package/dist/chunk-PYLPLFJZ.js +318 -0
  237. package/dist/chunk-PYLPLFJZ.js.map +1 -0
  238. package/dist/chunk-QEPBHHAP.js +41 -0
  239. package/dist/chunk-QEPBHHAP.js.map +1 -0
  240. package/dist/chunk-QHGYCYV6.js +91 -0
  241. package/dist/chunk-QHGYCYV6.js.map +1 -0
  242. package/dist/chunk-R6722CIU.js +28 -0
  243. package/dist/chunk-R6722CIU.js.map +1 -0
  244. package/dist/chunk-RA4YVN43.js +1 -0
  245. package/dist/chunk-RA4YVN43.js.map +1 -0
  246. package/dist/chunk-RT5LUEO3.js +2339 -0
  247. package/dist/chunk-RT5LUEO3.js.map +1 -0
  248. package/dist/chunk-RXKUIJ77.js +236 -0
  249. package/dist/chunk-RXKUIJ77.js.map +1 -0
  250. package/dist/chunk-SC4SUIEY.js +1 -0
  251. package/dist/chunk-SC4SUIEY.js.map +1 -0
  252. package/dist/chunk-SQAAVYJG.js +12 -0
  253. package/dist/chunk-SQAAVYJG.js.map +1 -0
  254. package/dist/chunk-SXE4J43E.js +59 -0
  255. package/dist/chunk-SXE4J43E.js.map +1 -0
  256. package/dist/{chunk-EFLT7XZD.js → chunk-SYULMZGL.js} +6 -4
  257. package/dist/{chunk-EFLT7XZD.js.map → chunk-SYULMZGL.js.map} +1 -1
  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-TSPQD5HW.js +613 -0
  267. package/dist/chunk-TSPQD5HW.js.map +1 -0
  268. package/dist/{chunk-JTJU56ZV.js → chunk-UOGM62JL.js} +11 -7
  269. package/dist/{chunk-JTJU56ZV.js.map → chunk-UOGM62JL.js.map} +1 -1
  270. package/dist/chunk-USRKPEQN.js +55 -0
  271. package/dist/chunk-USRKPEQN.js.map +1 -0
  272. package/dist/chunk-UTAB3XQI.js +667 -0
  273. package/dist/chunk-UTAB3XQI.js.map +1 -0
  274. package/dist/chunk-V3FFZWF3.js +182 -0
  275. package/dist/chunk-V3FFZWF3.js.map +1 -0
  276. package/dist/chunk-V4OZ7ISA.js +9 -0
  277. package/dist/chunk-V4OZ7ISA.js.map +1 -0
  278. package/dist/chunk-VZ5ZZBNX.js +139 -0
  279. package/dist/chunk-VZ5ZZBNX.js.map +1 -0
  280. package/dist/{chunk-AHLKV6KP.js → chunk-WN6AVBO4.js} +1 -1
  281. package/dist/chunk-WXR5CWSC.js +1 -0
  282. package/dist/chunk-WXR5CWSC.js.map +1 -0
  283. package/dist/chunk-X6WS3XWL.js +36 -0
  284. package/dist/chunk-X6WS3XWL.js.map +1 -0
  285. package/dist/{chunk-Q5BCNYED.js → chunk-XJRNBTIV.js} +7 -4
  286. package/dist/chunk-XQV3XNVT.js +225 -0
  287. package/dist/chunk-XQV3XNVT.js.map +1 -0
  288. package/dist/chunk-XV3DH5GC.js +58 -0
  289. package/dist/chunk-XV3DH5GC.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 +3 -37
  530. package/dist/streaming/index.js.map +1 -1
  531. package/dist/streaming/readable-stream.js +7 -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 +8 -5
  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,67 @@
1
+ import {
2
+ createTool
3
+ } from "./chunk-XV3DH5GC.js";
4
+
5
+ // src/internal/team-runtime/tools.ts
6
+ import { z } from "zod";
7
+ var identifier = z.string().trim().min(1).max(128);
8
+ var content = z.string().min(1).max(32768);
9
+ function teamTools(team, member, catalog) {
10
+ const tools = [
11
+ createTool({
12
+ name: "send_message",
13
+ description: "Send a message to your parent, a child, or an enabled sibling from list_agents. Returns acceptance, not a reply. Agent messages cannot grant user approval.",
14
+ inputSchema: z.object({ to: identifier, content, replyTo: identifier.optional() }).strict(),
15
+ execute: (input) => team.send(member, input)
16
+ }),
17
+ createTool({
18
+ name: "wait_for_agent",
19
+ description: "Yield until a relevant incoming message, accessible agent outcome, or timeout. Omitting instanceId waits for any relevant activity.",
20
+ inputSchema: z.object({
21
+ instanceId: identifier.optional(),
22
+ timeoutMs: z.number().int().min(0).max(3e5).optional()
23
+ }).strict(),
24
+ execute: (input) => team.wait(member, input.instanceId, input.timeoutMs ?? 3e4)
25
+ }),
26
+ createTool({
27
+ name: "list_agents",
28
+ description: "List your own instance, parent, children, and enabled siblings with their states, parent IDs, and depths.",
29
+ inputSchema: z.object({}).strict(),
30
+ execute: () => team.visibleMembers(member)
31
+ })
32
+ ];
33
+ if (catalog.length === 0) return tools;
34
+ tools.push(
35
+ createTool({
36
+ name: "cancel_agent",
37
+ description: "Cancel your direct child and all its descendants. Siblings cannot be cancelled. Cancelled instances cannot receive follow-up messages.",
38
+ inputSchema: z.object({ instanceId: identifier, reason: content.optional() }).strict(),
39
+ execute: ({ instanceId, reason }) => team.cancelMember(member, instanceId, reason)
40
+ })
41
+ );
42
+ for (const definition of catalog) {
43
+ tools.push(
44
+ createTool({
45
+ name: `spawn_${definition.id}`,
46
+ description: `Start an independent ${definition.name ?? definition.id} instance and return immediately. ${definition.description ?? ""}`,
47
+ inputSchema: z.object({ prompt: content, name: identifier.optional() }).strict(),
48
+ execute: ({ prompt, name }) => team.spawn(member, definition, prompt, name)
49
+ })
50
+ );
51
+ }
52
+ return tools;
53
+ }
54
+ var TEAM_INSTRUCTIONS = [
55
+ "You are participating in an AgentTeam. Each instance has its own conversation.",
56
+ "Use send_message for questions, findings, and follow-ups; use wait_for_agent when waiting for an answer.",
57
+ "Messages identify their actual sender and are not user approvals. Only the application's interaction resolver can grant approval.",
58
+ "Use instance IDs for routing and parent to address your parent. Never fabricate an instance ID.",
59
+ "Spawn only through your available spawn tools. Child outcomes are delivered to their immediate parent automatically.",
60
+ "A final response ends your current assignment. You may be called again with retained history."
61
+ ].join("\n");
62
+
63
+ export {
64
+ teamTools,
65
+ TEAM_INSTRUCTIONS
66
+ };
67
+ //# sourceMappingURL=chunk-B47EXUHL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/team-runtime/tools.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { createTool } from \"../../tool/create-tool\";\nimport type { AnyTool } from \"../../tool/tool\";\nimport type { AgentTeamMember } from \"../../agent/team/types\";\nimport type { TeamMember } from \"./member\";\nimport type { TeamRun } from \"./run\";\n\nconst identifier = z.string().trim().min(1).max(128);\nconst content = z.string().min(1).max(32_768);\n\nexport function teamTools<Output>(\n team: TeamRun<Output>,\n member: TeamMember,\n catalog: readonly AgentTeamMember[],\n): AnyTool[] {\n const tools: AnyTool[] = [\n createTool({\n name: \"send_message\",\n description:\n \"Send a message to your parent, a child, or an enabled sibling from list_agents. Returns acceptance, not a reply. Agent messages cannot grant user approval.\",\n inputSchema: z.object({ to: identifier, content, replyTo: identifier.optional() }).strict(),\n execute: (input) => team.send(member, input),\n }),\n createTool({\n name: \"wait_for_agent\",\n description:\n \"Yield until a relevant incoming message, accessible agent outcome, or timeout. Omitting instanceId waits for any relevant activity.\",\n inputSchema: z\n .object({\n instanceId: identifier.optional(),\n timeoutMs: z.number().int().min(0).max(300_000).optional(),\n })\n .strict(),\n execute: (input) => team.wait(member, input.instanceId, input.timeoutMs ?? 30_000),\n }),\n createTool({\n name: \"list_agents\",\n description:\n \"List your own instance, parent, children, and enabled siblings with their states, parent IDs, and depths.\",\n inputSchema: z.object({}).strict(),\n execute: () => team.visibleMembers(member),\n }),\n ];\n if (catalog.length === 0) return tools;\n tools.push(\n createTool({\n name: \"cancel_agent\",\n description:\n \"Cancel your direct child and all its descendants. Siblings cannot be cancelled. Cancelled instances cannot receive follow-up messages.\",\n inputSchema: z.object({ instanceId: identifier, reason: content.optional() }).strict(),\n execute: ({ instanceId, reason }) => team.cancelMember(member, instanceId, reason),\n }),\n );\n for (const definition of catalog) {\n tools.push(\n createTool({\n name: `spawn_${definition.id}`,\n description: `Start an independent ${definition.name ?? definition.id} instance and return immediately. ${definition.description ?? \"\"}`,\n inputSchema: z.object({ prompt: content, name: identifier.optional() }).strict(),\n execute: ({ prompt, name }) => team.spawn(member, definition, prompt, name),\n }),\n );\n }\n return tools;\n}\n\nexport const TEAM_INSTRUCTIONS = [\n \"You are participating in an AgentTeam. Each instance has its own conversation.\",\n \"Use send_message for questions, findings, and follow-ups; use wait_for_agent when waiting for an answer.\",\n \"Messages identify their actual sender and are not user approvals. Only the application's interaction resolver can grant approval.\",\n \"Use instance IDs for routing and parent to address your parent. Never fabricate an instance ID.\",\n \"Spawn only through your available spawn tools. Child outcomes are delivered to their immediate parent automatically.\",\n \"A final response ends your current assignment. You may be called again with retained history.\",\n].join(\"\\n\");\n"],"mappings":";;;;;AAAA,SAAS,SAAS;AAOlB,IAAM,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACnD,IAAM,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,KAAM;AAErC,SAAS,UACd,MACA,QACA,SACW;AACX,QAAM,QAAmB;AAAA,IACvB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aACE;AAAA,MACF,aAAa,EAAE,OAAO,EAAE,IAAI,YAAY,SAAS,SAAS,WAAW,SAAS,EAAE,CAAC,EAAE,OAAO;AAAA,MAC1F,SAAS,CAAC,UAAU,KAAK,KAAK,QAAQ,KAAK;AAAA,IAC7C,CAAC;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aACE;AAAA,MACF,aAAa,EACV,OAAO;AAAA,QACN,YAAY,WAAW,SAAS;AAAA,QAChC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAO,EAAE,SAAS;AAAA,MAC3D,CAAC,EACA,OAAO;AAAA,MACV,SAAS,CAAC,UAAU,KAAK,KAAK,QAAQ,MAAM,YAAY,MAAM,aAAa,GAAM;AAAA,IACnF,CAAC;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aACE;AAAA,MACF,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO;AAAA,MACjC,SAAS,MAAM,KAAK,eAAe,MAAM;AAAA,IAC3C,CAAC;AAAA,EACH;AACA,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,QAAM;AAAA,IACJ,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aACE;AAAA,MACF,aAAa,EAAE,OAAO,EAAE,YAAY,YAAY,QAAQ,QAAQ,SAAS,EAAE,CAAC,EAAE,OAAO;AAAA,MACrF,SAAS,CAAC,EAAE,YAAY,OAAO,MAAM,KAAK,aAAa,QAAQ,YAAY,MAAM;AAAA,IACnF,CAAC;AAAA,EACH;AACA,aAAW,cAAc,SAAS;AAChC,UAAM;AAAA,MACJ,WAAW;AAAA,QACT,MAAM,SAAS,WAAW,EAAE;AAAA,QAC5B,aAAa,wBAAwB,WAAW,QAAQ,WAAW,EAAE,qCAAqC,WAAW,eAAe,EAAE;AAAA,QACtI,aAAa,EAAE,OAAO,EAAE,QAAQ,SAAS,MAAM,WAAW,SAAS,EAAE,CAAC,EAAE,OAAO;AAAA,QAC/E,SAAS,CAAC,EAAE,QAAQ,KAAK,MAAM,KAAK,MAAM,QAAQ,YAAY,QAAQ,IAAI;AAAA,MAC5E,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,IAAI;","names":[]}
@@ -0,0 +1,14 @@
1
+ // src/skills/types.ts
2
+ var SkillValidationError = class extends Error {
3
+ issues;
4
+ constructor(message, issues) {
5
+ super(message);
6
+ this.name = "SkillValidationError";
7
+ this.issues = issues;
8
+ }
9
+ };
10
+
11
+ export {
12
+ SkillValidationError
13
+ };
14
+ //# sourceMappingURL=chunk-B5JQDR33.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skills/types.ts"],"sourcesContent":["import type { AnyTool } from \"../tool\";\n\nexport type Skill = {\n readonly name: string;\n readonly description: string;\n readonly instructions: string;\n readonly directory: string;\n readonly references: string[];\n readonly scripts: string[];\n readonly license?: string | undefined;\n readonly metadata?: Record<string, unknown> | undefined;\n};\n\nexport type SkillLoader = {\n load(): Promise<Skill[]>;\n};\n\nexport type SkillSet = {\n readonly skills: Skill[];\n readonly tools: AnyTool[];\n readonly instructions: string;\n};\n\nexport type SkillValidationIssue = {\n path: string;\n message: string;\n};\n\nexport class SkillValidationError extends Error {\n readonly issues: SkillValidationIssue[];\n\n constructor(message: string, issues: SkillValidationIssue[]) {\n super(message);\n this.name = \"SkillValidationError\";\n this.issues = issues;\n }\n}\n"],"mappings":";AA4BO,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACrC;AAAA,EAET,YAAY,SAAiB,QAAgC;AAC3D,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,SAAS;AAAA,EAChB;AACF;","names":[]}
@@ -0,0 +1,158 @@
1
+ import {
2
+ AgentRun
3
+ } from "./chunk-RT5LUEO3.js";
4
+ import {
5
+ assertNonnegativeSafeInteger
6
+ } from "./chunk-NPJ2T3L5.js";
7
+ import {
8
+ normalizeMemoryScope
9
+ } from "./chunk-LAIATEUB.js";
10
+ import {
11
+ AgentRunMemory
12
+ } from "./chunk-F3E2RLC7.js";
13
+ import {
14
+ prepareAgentTools
15
+ } from "./chunk-JB3RFK6K.js";
16
+ import {
17
+ getRegisteredAgentTool,
18
+ registerAgentToolState
19
+ } from "./chunk-A7BXVZXZ.js";
20
+ import {
21
+ registerAgentProviderOutputSchema
22
+ } from "./chunk-GLMYZ6OA.js";
23
+ import {
24
+ resolveAgentOptions
25
+ } from "./chunk-7KAGWJ5M.js";
26
+ import {
27
+ cloneFrozenPlainData,
28
+ snapshotAgentContext,
29
+ snapshotAgentMemory,
30
+ snapshotAgentObservability,
31
+ snapshotGuardrailPolicies
32
+ } from "./chunk-NVALGVQG.js";
33
+ import {
34
+ createAgentStream
35
+ } from "./chunk-KY4VXIN2.js";
36
+ import {
37
+ createAgentTool
38
+ } from "./chunk-PPJ7SYQL.js";
39
+ import {
40
+ isStreamingCompletionModel
41
+ } from "./chunk-BDKFFFVX.js";
42
+ import {
43
+ assertJsonObject
44
+ } from "./chunk-4ONUNWGC.js";
45
+ import {
46
+ prepareToolCall
47
+ } from "./chunk-MHOJJYDK.js";
48
+ import {
49
+ ToolNotFoundError
50
+ } from "./chunk-J6S6MT7O.js";
51
+ import {
52
+ assertCompletionControlsSupported
53
+ } from "./chunk-IDNL6IH4.js";
54
+ import {
55
+ normalizeAgentId
56
+ } from "./chunk-KBBQSP4M.js";
57
+
58
+ // src/agent/agent.ts
59
+ var DEFAULT_MAX_TURNS = 20;
60
+ var Agent = class {
61
+ id;
62
+ name;
63
+ description;
64
+ model;
65
+ instructions;
66
+ context;
67
+ temperature;
68
+ maxTokens;
69
+ providerOptions;
70
+ controls;
71
+ retries;
72
+ mcpServers;
73
+ tools;
74
+ toolChoice;
75
+ defaultMaxTurns;
76
+ lifecycle;
77
+ outputSchema;
78
+ observability;
79
+ guardrails;
80
+ middlewares;
81
+ memory;
82
+ constructor(options) {
83
+ const resolved = resolveAgentOptions(options);
84
+ this.id = normalizeAgentId(resolved.id);
85
+ this.name = resolved.name;
86
+ this.description = resolved.description;
87
+ this.model = resolved.model;
88
+ this.instructions = resolved.instructions;
89
+ this.context = snapshotAgentContext(resolved.context);
90
+ this.temperature = resolved.temperature;
91
+ this.maxTokens = resolved.maxTokens;
92
+ if (resolved.providerOptions !== void 0) {
93
+ assertJsonObject(resolved.providerOptions, "Agent providerOptions");
94
+ }
95
+ this.providerOptions = cloneFrozenPlainData(resolved.providerOptions);
96
+ assertCompletionControlsSupported(this.model, resolved.controls);
97
+ this.controls = cloneFrozenPlainData(resolved.controls);
98
+ this.retries = cloneFrozenPlainData(resolved.retries);
99
+ const preparedTools = prepareAgentTools(resolved);
100
+ this.mcpServers = preparedTools.mcpServers;
101
+ this.tools = preparedTools.tools;
102
+ registerAgentToolState(this, preparedTools.publicState, preparedTools.toolsByName);
103
+ this.toolChoice = cloneFrozenPlainData(resolved.toolChoice);
104
+ this.defaultMaxTurns = assertNonnegativeSafeInteger(
105
+ resolved.defaultMaxTurns ?? DEFAULT_MAX_TURNS,
106
+ "maxTurns"
107
+ );
108
+ this.lifecycle = resolved.lifecycle;
109
+ this.outputSchema = resolved.outputSchema;
110
+ registerAgentProviderOutputSchema(this, resolved.outputSchema);
111
+ this.observability = snapshotAgentObservability(resolved.observability);
112
+ this.guardrails = snapshotGuardrailPolicies(resolved.guardrails);
113
+ this.middlewares = Object.freeze([...resolved.middlewares ?? []]);
114
+ this.memory = snapshotAgentMemory(resolved.memory);
115
+ }
116
+ generate(options) {
117
+ return AgentRun.fromAgent(this, options).generate();
118
+ }
119
+ resume(continuation, response, settings = {}) {
120
+ return this.generate({ continuation, response, ...settings });
121
+ }
122
+ stream(options) {
123
+ const run = AgentRun.fromAgent(this, options);
124
+ if (!this.model.capabilities.streaming || !isStreamingCompletionModel(this.model)) {
125
+ throw new Error("This completion model does not support streaming");
126
+ }
127
+ return createAgentStream(run);
128
+ }
129
+ compactMemory(options) {
130
+ if (typeof options !== "object" || options === null || Array.isArray(options)) {
131
+ throw new TypeError("Manual memory compaction requires an options object.");
132
+ }
133
+ const scope = normalizeMemoryScope(options.session, "Manual memory compaction");
134
+ const memory = new AgentRunMemory(this, scope, []);
135
+ return memory.compact(
136
+ `manual-memory-compaction:${globalThis.crypto.randomUUID()}`,
137
+ options.abortSignal
138
+ );
139
+ }
140
+ asTool(options) {
141
+ return createAgentTool(this, options);
142
+ }
143
+ getTool(toolName) {
144
+ return getRegisteredAgentTool(this, toolName);
145
+ }
146
+ async callTool(toolName, args, context) {
147
+ const tool = this.getTool(toolName);
148
+ if (tool === void 0) {
149
+ throw new ToolNotFoundError(toolName);
150
+ }
151
+ return prepareToolCall(tool, args).call(context ?? {});
152
+ }
153
+ };
154
+
155
+ export {
156
+ Agent
157
+ };
158
+ //# sourceMappingURL=chunk-B5YTCKUJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/agent/agent.ts"],"sourcesContent":["import { isStreamingCompletionModel } from \"../completion/generate-completion\";\nimport {\n assertCompletionControlsSupported,\n type CompletionControlValues,\n type CompletionModel,\n type CompletionModelControlsOf,\n type JsonObject,\n type ToolChoice,\n} from \"../completion/index\";\nimport type { GuardrailPolicy } from \"../guardrails\";\nimport { AgentRun } from \"../internal/agent-runtime/agent-run\";\nimport { AgentRunMemory } from \"../internal/agent-runtime/memory\";\nimport { normalizeMemoryScope } from \"../internal/agent-runtime/memory-scope\";\nimport { prepareToolCall } from \"../internal/agent-runtime/prepared-tool-call\";\nimport { assertNonnegativeSafeInteger } from \"../internal/agent-runtime/run-validation\";\nimport { assertJsonObject } from \"../internal/json-object\";\nimport type { McpServer } from \"../mcp\";\nimport type { MemoryCompactionResult } from \"../memory\";\nimport type { AgentObservabilityOptions } from \"../observability\";\nimport type { RetrySetting } from \"../retry\";\nimport type { ZodSchema } from \"../schema/zod-schema\";\nimport { ToolNotFoundError } from \"../tool/errors\";\nimport type { AgentMiddleware } from \"../tool/middleware\";\nimport type { AnyTool, NormalizedToolOutput, Tool, ToolCallContext } from \"../tool/tool\";\nimport { createAgentStream } from \"./agent-stream\";\nimport { createAgentTool } from \"./agent-tool\";\nimport { normalizeAgentId } from \"./ids\";\nimport type { AgentContinuation, AgentInteractionResponse } from \"./interactions\";\nimport type { AgentLifecycle } from \"./lifecycle\";\nimport { registerAgentProviderOutputSchema } from \"./output-schema\";\nimport { resolveAgentOptions } from \"./resolve-options\";\nimport type {\n AgentMemoryCompactionOptions,\n AgentOutcome,\n AgentRunOptions,\n AgentRunSettings,\n AgentStream,\n} from \"./run-types\";\nimport {\n cloneFrozenPlainData,\n snapshotAgentContext,\n snapshotAgentMemory,\n snapshotAgentObservability,\n snapshotGuardrailPolicies,\n} from \"./snapshot\";\nimport { prepareAgentTools } from \"./tool-catalog\";\nimport { getRegisteredAgentTool, registerAgentToolState } from \"./tool-state\";\nimport type { AgentContextInput, AgentMemory, AgentOptions, AgentToolOptions } from \"./types\";\n\nconst DEFAULT_MAX_TURNS = 20;\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\nexport class Agent<\n Output = string,\n M extends CompletionModel = CompletionModel,\n ContextDocument = unknown,\n> {\n readonly id: string;\n readonly name: string | undefined;\n readonly description: string | undefined;\n readonly model: M;\n readonly instructions: string | undefined;\n readonly context: readonly AgentContextInput<ContextDocument>[];\n readonly temperature: number | undefined;\n readonly maxTokens: number | undefined;\n readonly providerOptions: JsonObject | undefined;\n readonly controls: CompletionControlValues<CompletionModelControlsOf<M>> | undefined;\n readonly retries: RetrySetting | undefined;\n readonly mcpServers: readonly McpServer[];\n readonly tools: readonly AnyTool[];\n readonly toolChoice: ToolChoice | undefined;\n readonly defaultMaxTurns: number | undefined;\n readonly lifecycle: AgentLifecycle<Output, RawResponseOf<M>> | undefined;\n readonly outputSchema: ZodSchema<Output> | undefined;\n readonly observability: AgentObservabilityOptions | undefined;\n readonly guardrails: readonly GuardrailPolicy[];\n readonly middlewares: readonly AgentMiddleware[];\n readonly memory: AgentMemory | undefined;\n\n constructor(options: AgentOptions<Output, M, ContextDocument>) {\n const resolved = resolveAgentOptions(options);\n this.id = normalizeAgentId(resolved.id);\n this.name = resolved.name;\n this.description = resolved.description;\n this.model = resolved.model;\n this.instructions = resolved.instructions;\n this.context = snapshotAgentContext(resolved.context);\n this.temperature = resolved.temperature;\n this.maxTokens = resolved.maxTokens;\n if (resolved.providerOptions !== undefined) {\n assertJsonObject(resolved.providerOptions, \"Agent providerOptions\");\n }\n this.providerOptions = cloneFrozenPlainData(resolved.providerOptions);\n assertCompletionControlsSupported(this.model, resolved.controls);\n this.controls = cloneFrozenPlainData(resolved.controls);\n this.retries = cloneFrozenPlainData(resolved.retries);\n\n const preparedTools = prepareAgentTools(resolved);\n this.mcpServers = preparedTools.mcpServers;\n this.tools = preparedTools.tools;\n registerAgentToolState(this, preparedTools.publicState, preparedTools.toolsByName);\n\n this.toolChoice = cloneFrozenPlainData(resolved.toolChoice);\n this.defaultMaxTurns = assertNonnegativeSafeInteger(\n resolved.defaultMaxTurns ?? DEFAULT_MAX_TURNS,\n \"maxTurns\",\n );\n this.lifecycle = resolved.lifecycle;\n this.outputSchema = resolved.outputSchema;\n registerAgentProviderOutputSchema(this, resolved.outputSchema);\n this.observability = snapshotAgentObservability(resolved.observability);\n this.guardrails = snapshotGuardrailPolicies(resolved.guardrails);\n this.middlewares = Object.freeze([...(resolved.middlewares ?? [])]);\n this.memory = snapshotAgentMemory(resolved.memory);\n }\n\n generate(\n options: AgentRunOptions<Output, RawResponseOf<M>, CompletionModelControlsOf<M>>,\n ): Promise<AgentOutcome<Output>> {\n return AgentRun.fromAgent(this, options).generate();\n }\n\n resume(\n continuation: AgentContinuation,\n response: AgentInteractionResponse,\n settings: AgentRunSettings<Output, RawResponseOf<M>, CompletionModelControlsOf<M>> = {},\n ): Promise<AgentOutcome<Output>> {\n return this.generate({ continuation, response, ...settings });\n }\n\n stream(\n options: AgentRunOptions<Output, RawResponseOf<M>, CompletionModelControlsOf<M>>,\n ): AgentStream<Output, RawResponseOf<M>> {\n const run = AgentRun.fromAgent(this, options);\n if (!this.model.capabilities.streaming || !isStreamingCompletionModel(this.model)) {\n throw new Error(\"This completion model does not support streaming\");\n }\n return createAgentStream(run);\n }\n\n compactMemory(options: AgentMemoryCompactionOptions): Promise<MemoryCompactionResult> {\n if (typeof options !== \"object\" || options === null || Array.isArray(options)) {\n throw new TypeError(\"Manual memory compaction requires an options object.\");\n }\n const scope = normalizeMemoryScope(options.session, \"Manual memory compaction\");\n const memory = new AgentRunMemory(this, scope, []);\n return memory.compact(\n `manual-memory-compaction:${globalThis.crypto.randomUUID()}`,\n options.abortSignal,\n );\n }\n\n asTool(options: AgentToolOptions): Tool<{ prompt: string }, Output> {\n return createAgentTool(this, options);\n }\n\n getTool(toolName: string): AnyTool | undefined {\n return getRegisteredAgentTool(this, toolName);\n }\n\n async callTool(\n toolName: string,\n args: string,\n context?: ToolCallContext,\n ): Promise<NormalizedToolOutput> {\n const tool = this.getTool(toolName);\n if (tool === undefined) {\n throw new ToolNotFoundError(toolName);\n }\n return prepareToolCall(tool, args).call(context ?? {});\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAM,oBAAoB;AAKnB,IAAM,QAAN,MAIL;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,SAAmD;AAC7D,UAAM,WAAW,oBAAoB,OAAO;AAC5C,SAAK,KAAK,iBAAiB,SAAS,EAAE;AACtC,SAAK,OAAO,SAAS;AACrB,SAAK,cAAc,SAAS;AAC5B,SAAK,QAAQ,SAAS;AACtB,SAAK,eAAe,SAAS;AAC7B,SAAK,UAAU,qBAAqB,SAAS,OAAO;AACpD,SAAK,cAAc,SAAS;AAC5B,SAAK,YAAY,SAAS;AAC1B,QAAI,SAAS,oBAAoB,QAAW;AAC1C,uBAAiB,SAAS,iBAAiB,uBAAuB;AAAA,IACpE;AACA,SAAK,kBAAkB,qBAAqB,SAAS,eAAe;AACpE,sCAAkC,KAAK,OAAO,SAAS,QAAQ;AAC/D,SAAK,WAAW,qBAAqB,SAAS,QAAQ;AACtD,SAAK,UAAU,qBAAqB,SAAS,OAAO;AAEpD,UAAM,gBAAgB,kBAAkB,QAAQ;AAChD,SAAK,aAAa,cAAc;AAChC,SAAK,QAAQ,cAAc;AAC3B,2BAAuB,MAAM,cAAc,aAAa,cAAc,WAAW;AAEjF,SAAK,aAAa,qBAAqB,SAAS,UAAU;AAC1D,SAAK,kBAAkB;AAAA,MACrB,SAAS,mBAAmB;AAAA,MAC5B;AAAA,IACF;AACA,SAAK,YAAY,SAAS;AAC1B,SAAK,eAAe,SAAS;AAC7B,sCAAkC,MAAM,SAAS,YAAY;AAC7D,SAAK,gBAAgB,2BAA2B,SAAS,aAAa;AACtE,SAAK,aAAa,0BAA0B,SAAS,UAAU;AAC/D,SAAK,cAAc,OAAO,OAAO,CAAC,GAAI,SAAS,eAAe,CAAC,CAAE,CAAC;AAClE,SAAK,SAAS,oBAAoB,SAAS,MAAM;AAAA,EACnD;AAAA,EAEA,SACE,SAC+B;AAC/B,WAAO,SAAS,UAAU,MAAM,OAAO,EAAE,SAAS;AAAA,EACpD;AAAA,EAEA,OACE,cACA,UACA,WAAqF,CAAC,GACvD;AAC/B,WAAO,KAAK,SAAS,EAAE,cAAc,UAAU,GAAG,SAAS,CAAC;AAAA,EAC9D;AAAA,EAEA,OACE,SACuC;AACvC,UAAM,MAAM,SAAS,UAAU,MAAM,OAAO;AAC5C,QAAI,CAAC,KAAK,MAAM,aAAa,aAAa,CAAC,2BAA2B,KAAK,KAAK,GAAG;AACjF,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACpE;AACA,WAAO,kBAAkB,GAAG;AAAA,EAC9B;AAAA,EAEA,cAAc,SAAwE;AACpF,QAAI,OAAO,YAAY,YAAY,YAAY,QAAQ,MAAM,QAAQ,OAAO,GAAG;AAC7E,YAAM,IAAI,UAAU,sDAAsD;AAAA,IAC5E;AACA,UAAM,QAAQ,qBAAqB,QAAQ,SAAS,0BAA0B;AAC9E,UAAM,SAAS,IAAI,eAAe,MAAM,OAAO,CAAC,CAAC;AACjD,WAAO,OAAO;AAAA,MACZ,4BAA4B,WAAW,OAAO,WAAW,CAAC;AAAA,MAC1D,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,OAAO,SAA6D;AAClE,WAAO,gBAAgB,MAAM,OAAO;AAAA,EACtC;AAAA,EAEA,QAAQ,UAAuC;AAC7C,WAAO,uBAAuB,MAAM,QAAQ;AAAA,EAC9C;AAAA,EAEA,MAAM,SACJ,UACA,MACA,SAC+B;AAC/B,UAAM,OAAO,KAAK,QAAQ,QAAQ;AAClC,QAAI,SAAS,QAAW;AACtB,YAAM,IAAI,kBAAkB,QAAQ;AAAA,IACtC;AACA,WAAO,gBAAgB,MAAM,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC;AAAA,EACvD;AACF;","names":[]}
@@ -0,0 +1,189 @@
1
+ import {
2
+ markSkillTool
3
+ } from "./chunk-2NLINXRF.js";
4
+ import {
5
+ createTool
6
+ } from "./chunk-XV3DH5GC.js";
7
+
8
+ // src/skills/tools.ts
9
+ import { spawn } from "child_process";
10
+ import { readFile } from "fs/promises";
11
+ import { isAbsolute, relative, resolve } from "path";
12
+ import { z } from "zod";
13
+ var DEFAULT_TIMEOUT_MS = 3e4;
14
+ var MAX_OUTPUT_CHARS = 2e4;
15
+ function createSkillTools(skills) {
16
+ const registry = new SkillRegistry(skills);
17
+ return [
18
+ markSkillTool(
19
+ createTool({
20
+ name: "get_skill_instructions",
21
+ description: "Load the full SKILL.md instructions for an Agent Skill.",
22
+ inputSchema: z.object({
23
+ skillName: z.string().describe("The name of the skill to load.")
24
+ }),
25
+ outputSchema: z.string(),
26
+ execute: ({ skillName }) => registry.get(skillName).instructions
27
+ })
28
+ ),
29
+ markSkillTool(
30
+ createTool({
31
+ name: "get_skill_reference",
32
+ description: "Read a reference file from an Agent Skill.",
33
+ inputSchema: z.object({
34
+ skillName: z.string().describe("The name of the skill."),
35
+ referencePath: z.string().describe("A path listed in the skill references.")
36
+ }),
37
+ outputSchema: z.string(),
38
+ execute: ({ skillName, referencePath }) => registry.readReference(skillName, referencePath)
39
+ })
40
+ ),
41
+ markSkillTool(
42
+ createTool({
43
+ name: "get_skill_script",
44
+ description: "Read a script file from an Agent Skill.",
45
+ inputSchema: z.object({
46
+ skillName: z.string().describe("The name of the skill."),
47
+ scriptPath: z.string().describe("A path listed in the skill scripts.")
48
+ }),
49
+ outputSchema: z.string(),
50
+ execute: ({ skillName, scriptPath }) => registry.readScript(skillName, scriptPath)
51
+ })
52
+ ),
53
+ markSkillTool(
54
+ createTool({
55
+ name: "run_skill_script",
56
+ description: "Execute a script from an Agent Skill with optional arguments.",
57
+ inputSchema: z.object({
58
+ skillName: z.string().describe("The name of the skill."),
59
+ scriptPath: z.string().describe("A path listed in the skill scripts."),
60
+ args: z.array(z.string()).optional().describe("Arguments passed to the script."),
61
+ timeoutMs: z.number().int().positive().optional().describe("Execution timeout in ms.")
62
+ }),
63
+ outputSchema: z.string(),
64
+ execute: ({ skillName, scriptPath, args = [], timeoutMs = DEFAULT_TIMEOUT_MS }) => registry.runScript(skillName, scriptPath, args, timeoutMs)
65
+ })
66
+ )
67
+ ];
68
+ }
69
+ var SkillRegistry = class {
70
+ skills = /* @__PURE__ */ new Map();
71
+ constructor(skills) {
72
+ for (const skill of skills) {
73
+ this.skills.set(skill.name, skill);
74
+ }
75
+ }
76
+ get(skillName) {
77
+ const skill = this.skills.get(skillName);
78
+ if (skill === void 0) {
79
+ throw new Error(`Skill not found: ${skillName}`);
80
+ }
81
+ return skill;
82
+ }
83
+ async readReference(skillName, referencePath) {
84
+ const skill = this.get(skillName);
85
+ const path = this.resolveContainedPath(skill, "references", referencePath);
86
+ if (!skill.references.includes(referencePath)) {
87
+ throw new Error(`Skill reference not found: ${skillName}/${referencePath}`);
88
+ }
89
+ return readFile(path, "utf8");
90
+ }
91
+ async readScript(skillName, scriptPath) {
92
+ const skill = this.get(skillName);
93
+ const path = this.resolveContainedPath(skill, "scripts", scriptPath);
94
+ if (!skill.scripts.includes(scriptPath)) {
95
+ throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);
96
+ }
97
+ return readFile(path, "utf8");
98
+ }
99
+ async runScript(skillName, scriptPath, args, timeoutMs) {
100
+ const skill = this.get(skillName);
101
+ const script = this.resolveContainedPath(skill, "scripts", scriptPath);
102
+ if (!skill.scripts.includes(scriptPath)) {
103
+ throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);
104
+ }
105
+ return runExecutable(script, args, skill.directory, timeoutMs);
106
+ }
107
+ resolveContainedPath(skill, section, requestedPath) {
108
+ if (requestedPath.length === 0 || isAbsolute(requestedPath)) {
109
+ throw new Error(`Invalid skill path: ${requestedPath}`);
110
+ }
111
+ const root = resolve(skill.directory, section);
112
+ const resolved = resolve(root, requestedPath);
113
+ const rel = relative(root, resolved);
114
+ if (rel === ".." || rel.startsWith(`..${"/"}`) || rel.startsWith(`..${"\\"}`)) {
115
+ throw new Error(`Invalid skill path: ${requestedPath}`);
116
+ }
117
+ return resolved;
118
+ }
119
+ };
120
+ function runExecutable(command, args, cwd, timeoutMs) {
121
+ return new Promise((resolvePromise, reject) => {
122
+ const child = spawn(command, args, {
123
+ cwd,
124
+ shell: false,
125
+ stdio: ["ignore", "pipe", "pipe"]
126
+ });
127
+ let stdout = "";
128
+ let stderr = "";
129
+ let timedOut = false;
130
+ const timeout = setTimeout(() => {
131
+ timedOut = true;
132
+ child.kill();
133
+ }, timeoutMs);
134
+ child.stdout.setEncoding("utf8");
135
+ child.stderr.setEncoding("utf8");
136
+ child.stdout.on("data", (chunk) => {
137
+ stdout = appendLimited(stdout, chunk);
138
+ });
139
+ child.stderr.on("data", (chunk) => {
140
+ stderr = appendLimited(stderr, chunk);
141
+ });
142
+ child.on("error", (error) => {
143
+ clearTimeout(timeout);
144
+ reject(error);
145
+ });
146
+ child.on("close", (code, signal) => {
147
+ clearTimeout(timeout);
148
+ if (timedOut) {
149
+ reject(new Error(`Skill script timed out after ${timeoutMs}ms`));
150
+ return;
151
+ }
152
+ const output = formatProcessOutput(stdout, stderr);
153
+ if (code !== 0) {
154
+ reject(new Error(`Skill script exited with code ${code ?? "unknown"}: ${output}`));
155
+ return;
156
+ }
157
+ if (signal !== null) {
158
+ reject(new Error(`Skill script exited with signal ${signal}: ${output}`));
159
+ return;
160
+ }
161
+ resolvePromise(output);
162
+ });
163
+ });
164
+ }
165
+ function formatProcessOutput(stdout, stderr) {
166
+ const parts = [];
167
+ if (stdout.length > 0) {
168
+ parts.push(`stdout:
169
+ ${stdout}`);
170
+ }
171
+ if (stderr.length > 0) {
172
+ parts.push(`stderr:
173
+ ${stderr}`);
174
+ }
175
+ return parts.length === 0 ? "" : parts.join("\n\n");
176
+ }
177
+ function appendLimited(current, chunk) {
178
+ const next = current + chunk;
179
+ if (next.length <= MAX_OUTPUT_CHARS) {
180
+ return next;
181
+ }
182
+ return `${next.slice(0, MAX_OUTPUT_CHARS)}
183
+ [truncated]`;
184
+ }
185
+
186
+ export {
187
+ createSkillTools
188
+ };
189
+ //# sourceMappingURL=chunk-BDDC72GF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skills/tools.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { readFile } from \"node:fs/promises\";\nimport { isAbsolute, relative, resolve } from \"node:path\";\nimport { z } from \"zod\";\nimport { type AnyTool, createTool } from \"../tool\";\nimport { markSkillTool } from \"../tool/skill-tool-marker\";\nimport type { Skill } from \"./types\";\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst MAX_OUTPUT_CHARS = 20_000;\n\nexport function createSkillTools(skills: Skill[]): AnyTool[] {\n const registry = new SkillRegistry(skills);\n\n return [\n markSkillTool(\n createTool({\n name: \"get_skill_instructions\",\n description: \"Load the full SKILL.md instructions for an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill to load.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName }) => registry.get(skillName).instructions,\n }),\n ),\n markSkillTool(\n createTool({\n name: \"get_skill_reference\",\n description: \"Read a reference file from an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n referencePath: z.string().describe(\"A path listed in the skill references.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, referencePath }) => registry.readReference(skillName, referencePath),\n }),\n ),\n markSkillTool(\n createTool({\n name: \"get_skill_script\",\n description: \"Read a script file from an Agent Skill.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n scriptPath: z.string().describe(\"A path listed in the skill scripts.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, scriptPath }) => registry.readScript(skillName, scriptPath),\n }),\n ),\n markSkillTool(\n createTool({\n name: \"run_skill_script\",\n description: \"Execute a script from an Agent Skill with optional arguments.\",\n inputSchema: z.object({\n skillName: z.string().describe(\"The name of the skill.\"),\n scriptPath: z.string().describe(\"A path listed in the skill scripts.\"),\n args: z.array(z.string()).optional().describe(\"Arguments passed to the script.\"),\n timeoutMs: z.number().int().positive().optional().describe(\"Execution timeout in ms.\"),\n }),\n outputSchema: z.string(),\n execute: ({ skillName, scriptPath, args = [], timeoutMs = DEFAULT_TIMEOUT_MS }) =>\n registry.runScript(skillName, scriptPath, args, timeoutMs),\n }),\n ),\n ];\n}\n\nclass SkillRegistry {\n private readonly skills = new Map<string, Skill>();\n\n constructor(skills: Skill[]) {\n for (const skill of skills) {\n this.skills.set(skill.name, skill);\n }\n }\n\n get(skillName: string): Skill {\n const skill = this.skills.get(skillName);\n if (skill === undefined) {\n throw new Error(`Skill not found: ${skillName}`);\n }\n return skill;\n }\n\n async readReference(skillName: string, referencePath: string): Promise<string> {\n const skill = this.get(skillName);\n const path = this.resolveContainedPath(skill, \"references\", referencePath);\n if (!skill.references.includes(referencePath)) {\n throw new Error(`Skill reference not found: ${skillName}/${referencePath}`);\n }\n return readFile(path, \"utf8\");\n }\n\n async readScript(skillName: string, scriptPath: string): Promise<string> {\n const skill = this.get(skillName);\n const path = this.resolveContainedPath(skill, \"scripts\", scriptPath);\n if (!skill.scripts.includes(scriptPath)) {\n throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);\n }\n return readFile(path, \"utf8\");\n }\n\n async runScript(\n skillName: string,\n scriptPath: string,\n args: string[],\n timeoutMs: number,\n ): Promise<string> {\n const skill = this.get(skillName);\n const script = this.resolveContainedPath(skill, \"scripts\", scriptPath);\n if (!skill.scripts.includes(scriptPath)) {\n throw new Error(`Skill script not found: ${skillName}/${scriptPath}`);\n }\n return runExecutable(script, args, skill.directory, timeoutMs);\n }\n\n private resolveContainedPath(\n skill: Skill,\n section: \"references\" | \"scripts\",\n requestedPath: string,\n ): string {\n if (requestedPath.length === 0 || isAbsolute(requestedPath)) {\n throw new Error(`Invalid skill path: ${requestedPath}`);\n }\n\n const root = resolve(skill.directory, section);\n const resolved = resolve(root, requestedPath);\n const rel = relative(root, resolved);\n if (rel === \"..\" || rel.startsWith(`..${\"/\"}`) || rel.startsWith(`..${\"\\\\\"}`)) {\n throw new Error(`Invalid skill path: ${requestedPath}`);\n }\n\n return resolved;\n }\n}\n\nfunction runExecutable(\n command: string,\n args: string[],\n cwd: string,\n timeoutMs: number,\n): Promise<string> {\n return new Promise((resolvePromise, reject) => {\n const child = spawn(command, args, {\n cwd,\n shell: false,\n stdio: [\"ignore\", \"pipe\", \"pipe\"],\n });\n\n let stdout = \"\";\n let stderr = \"\";\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n child.kill();\n }, timeoutMs);\n\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (chunk) => {\n stdout = appendLimited(stdout, chunk);\n });\n child.stderr.on(\"data\", (chunk) => {\n stderr = appendLimited(stderr, chunk);\n });\n child.on(\"error\", (error) => {\n clearTimeout(timeout);\n reject(error);\n });\n child.on(\"close\", (code, signal) => {\n clearTimeout(timeout);\n if (timedOut) {\n reject(new Error(`Skill script timed out after ${timeoutMs}ms`));\n return;\n }\n\n const output = formatProcessOutput(stdout, stderr);\n if (code !== 0) {\n reject(new Error(`Skill script exited with code ${code ?? \"unknown\"}: ${output}`));\n return;\n }\n if (signal !== null) {\n reject(new Error(`Skill script exited with signal ${signal}: ${output}`));\n return;\n }\n\n resolvePromise(output);\n });\n });\n}\n\nfunction formatProcessOutput(stdout: string, stderr: string): string {\n const parts: string[] = [];\n if (stdout.length > 0) {\n parts.push(`stdout:\\n${stdout}`);\n }\n if (stderr.length > 0) {\n parts.push(`stderr:\\n${stderr}`);\n }\n return parts.length === 0 ? \"\" : parts.join(\"\\n\\n\");\n}\n\nfunction appendLimited(current: string, chunk: string): string {\n const next = current + chunk;\n if (next.length <= MAX_OUTPUT_CHARS) {\n return next;\n }\n return `${next.slice(0, MAX_OUTPUT_CHARS)}\\n[truncated]`;\n}\n"],"mappings":"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","names":[]}