@anvia/core 1.1.2 → 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.
- package/README.md +226 -0
- package/dist/agent/agent-stream.js +7 -0
- package/dist/agent/agent-stream.js.map +1 -0
- package/dist/agent/agent-tool.js +24 -0
- package/dist/agent/agent-tool.js.map +1 -0
- package/dist/agent/agent.js +89 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/errors.js +17 -0
- package/dist/agent/errors.js.map +1 -0
- package/dist/agent/ids.js +7 -0
- package/dist/agent/ids.js.map +1 -0
- package/dist/agent/index.d.ts +127 -9
- package/dist/agent/index.js +103 -21
- package/dist/agent/interactions/index.js +2 -2
- package/dist/agent/interactions.js +22 -0
- package/dist/agent/interactions.js.map +1 -0
- package/dist/agent/lifecycle.js +9 -0
- package/dist/agent/lifecycle.js.map +1 -0
- package/dist/agent/output-schema.js +10 -0
- package/dist/agent/output-schema.js.map +1 -0
- package/dist/agent/resolve-options.js +46 -0
- package/dist/agent/resolve-options.js.map +1 -0
- package/dist/agent/resolved-agent.js +92 -0
- package/dist/agent/resolved-agent.js.map +1 -0
- package/dist/agent/run-types.js +1 -0
- package/dist/agent/run-types.js.map +1 -0
- package/dist/agent/snapshot.js +17 -0
- package/dist/agent/snapshot.js.map +1 -0
- package/dist/agent/team/agent-team.js +98 -0
- package/dist/agent/team/agent-team.js.map +1 -0
- package/dist/agent/team/errors.js +9 -0
- package/dist/agent/team/errors.js.map +1 -0
- package/dist/agent/team/index.js +104 -0
- package/dist/agent/team/index.js.map +1 -0
- package/dist/agent/team/types.js +1 -0
- package/dist/agent/team/types.js.map +1 -0
- package/dist/agent/tool-catalog.js +37 -0
- package/dist/agent/tool-catalog.js.map +1 -0
- package/dist/agent/tool-state.js +11 -0
- package/dist/agent/tool-state.js.map +1 -0
- package/dist/agent/types.js +1 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agent/vector-context.js +10 -0
- package/dist/agent/vector-context.js.map +1 -0
- package/dist/{agent-DTmzs1Qr.d.ts → agent-C9VhENdj.d.ts} +2 -3
- package/dist/{chunk-2QZJTG2E.js → chunk-23GEYG2X.js} +11 -71
- package/dist/chunk-23GEYG2X.js.map +1 -0
- package/dist/{chunk-I3Q7XSBB.js → chunk-23LRXKQX.js} +6 -4
- package/dist/{chunk-I3Q7XSBB.js.map → chunk-23LRXKQX.js.map} +1 -1
- package/dist/{chunk-YK4WAAS4.js → chunk-2NLINXRF.js} +1 -1
- package/dist/{chunk-SPD4XVR7.js → chunk-2XSMGVBG.js} +1 -1
- package/dist/chunk-3J2CSVPR.js +1 -0
- package/dist/chunk-3J2CSVPR.js.map +1 -0
- package/dist/chunk-3P3YVJ7V.js +1 -0
- package/dist/chunk-3P3YVJ7V.js.map +1 -0
- package/dist/chunk-3TAQXJBC.js +107 -0
- package/dist/chunk-3TAQXJBC.js.map +1 -0
- package/dist/chunk-47NTHIVB.js +76 -0
- package/dist/chunk-47NTHIVB.js.map +1 -0
- package/dist/chunk-4AW2633B.js +9 -0
- package/dist/chunk-4AW2633B.js.map +1 -0
- package/dist/{chunk-3XQGVDU5.js → chunk-4C7AXYOM.js} +1 -1
- package/dist/{chunk-IZNOP6JG.js → chunk-4FIVU53H.js} +1 -1
- package/dist/chunk-4ITAV7YA.js +1 -0
- package/dist/chunk-4ITAV7YA.js.map +1 -0
- package/dist/{chunk-7JLAIN6E.js → chunk-4ONUNWGC.js} +2 -2
- package/dist/chunk-4UUIGAIX.js +1 -0
- package/dist/chunk-4UUIGAIX.js.map +1 -0
- package/dist/chunk-53TPAXYR.js +1 -0
- package/dist/chunk-53TPAXYR.js.map +1 -0
- package/dist/chunk-5AETKC4L.js +107 -0
- package/dist/chunk-5AETKC4L.js.map +1 -0
- package/dist/chunk-5I2NVRHC.js +146 -0
- package/dist/chunk-5I2NVRHC.js.map +1 -0
- package/dist/chunk-5IURMWFN.js +53 -0
- package/dist/chunk-5IURMWFN.js.map +1 -0
- package/dist/chunk-5M6GTA3T.js +1 -0
- package/dist/chunk-5M6GTA3T.js.map +1 -0
- package/dist/chunk-5N5W7CX7.js +18 -0
- package/dist/chunk-5N5W7CX7.js.map +1 -0
- package/dist/chunk-5P2YOQSA.js +355 -0
- package/dist/chunk-5P2YOQSA.js.map +1 -0
- package/dist/chunk-5S7T2URX.js +1 -0
- package/dist/chunk-5S7T2URX.js.map +1 -0
- package/dist/chunk-5V533R7F.js +19 -0
- package/dist/chunk-5V533R7F.js.map +1 -0
- package/dist/chunk-5WLIHNNJ.js +56 -0
- package/dist/chunk-5WLIHNNJ.js.map +1 -0
- package/dist/chunk-6BTJC3ES.js +37 -0
- package/dist/chunk-6BTJC3ES.js.map +1 -0
- package/dist/chunk-6N4ENZO4.js +24 -0
- package/dist/chunk-6N4ENZO4.js.map +1 -0
- package/dist/{chunk-4UQALF5Y.js → chunk-6RQYWZI3.js} +2 -36
- package/dist/chunk-6RQYWZI3.js.map +1 -0
- package/dist/chunk-6TAWRKFK.js +86 -0
- package/dist/chunk-6TAWRKFK.js.map +1 -0
- package/dist/chunk-7F53DOML.js +53 -0
- package/dist/chunk-7F53DOML.js.map +1 -0
- package/dist/chunk-7KAGWJ5M.js +112 -0
- package/dist/chunk-7KAGWJ5M.js.map +1 -0
- package/dist/chunk-7LBPRXZP.js +1 -0
- package/dist/chunk-7LBPRXZP.js.map +1 -0
- package/dist/chunk-A7BXVZXZ.js +25 -0
- package/dist/chunk-A7BXVZXZ.js.map +1 -0
- package/dist/chunk-B47EXUHL.js +67 -0
- package/dist/chunk-B47EXUHL.js.map +1 -0
- package/dist/chunk-B5JQDR33.js +14 -0
- package/dist/chunk-B5JQDR33.js.map +1 -0
- package/dist/chunk-B5YTCKUJ.js +158 -0
- package/dist/chunk-B5YTCKUJ.js.map +1 -0
- package/dist/chunk-BDDC72GF.js +189 -0
- package/dist/chunk-BDDC72GF.js.map +1 -0
- package/dist/chunk-BDKFFFVX.js +342 -0
- package/dist/chunk-BDKFFFVX.js.map +1 -0
- package/dist/{chunk-QGX73TSQ.js → chunk-BONQTXRQ.js} +3 -12
- package/dist/chunk-BONQTXRQ.js.map +1 -0
- package/dist/chunk-BUPC72Y2.js +1007 -0
- package/dist/chunk-BUPC72Y2.js.map +1 -0
- package/dist/chunk-CKKNO4XB.js +70 -0
- package/dist/chunk-CKKNO4XB.js.map +1 -0
- package/dist/chunk-CX7ZVTO5.js +22 -0
- package/dist/chunk-CX7ZVTO5.js.map +1 -0
- package/dist/chunk-DU4WA6LQ.js +1 -0
- package/dist/chunk-DU4WA6LQ.js.map +1 -0
- package/dist/chunk-EJR6VVB3.js +63 -0
- package/dist/chunk-EJR6VVB3.js.map +1 -0
- package/dist/chunk-EKZRAWBP.js +110 -0
- package/dist/chunk-EKZRAWBP.js.map +1 -0
- package/dist/chunk-ENZ2XX27.js +26 -0
- package/dist/chunk-ENZ2XX27.js.map +1 -0
- package/dist/chunk-EOAJBBII.js +1 -0
- package/dist/chunk-EOAJBBII.js.map +1 -0
- package/dist/chunk-ERN7P6Q4.js +1 -0
- package/dist/chunk-ERN7P6Q4.js.map +1 -0
- package/dist/chunk-ESOFEAYK.js +57 -0
- package/dist/chunk-ESOFEAYK.js.map +1 -0
- package/dist/chunk-ETYB5JO6.js +175 -0
- package/dist/chunk-ETYB5JO6.js.map +1 -0
- package/dist/chunk-EZR5AV3J.js +74 -0
- package/dist/chunk-EZR5AV3J.js.map +1 -0
- package/dist/chunk-F2OKLHGB.js +9 -0
- package/dist/chunk-F2OKLHGB.js.map +1 -0
- package/dist/chunk-F3E2RLC7.js +342 -0
- package/dist/chunk-F3E2RLC7.js.map +1 -0
- package/dist/chunk-FAPIZJS2.js +54 -0
- package/dist/chunk-FAPIZJS2.js.map +1 -0
- package/dist/chunk-GDJNOZ47.js +1 -0
- package/dist/chunk-GDJNOZ47.js.map +1 -0
- package/dist/chunk-GDY2Z2SZ.js +83 -0
- package/dist/chunk-GDY2Z2SZ.js.map +1 -0
- package/dist/chunk-GLMYZ6OA.js +20 -0
- package/dist/chunk-GLMYZ6OA.js.map +1 -0
- package/dist/{chunk-XEVOC433.js → chunk-GPVXCY5I.js} +2 -73
- package/dist/chunk-GPVXCY5I.js.map +1 -0
- package/dist/{chunk-KSKST3KP.js → chunk-H3H74RWJ.js} +1 -1
- package/dist/chunk-HAAGSIZH.js +89 -0
- package/dist/chunk-HAAGSIZH.js.map +1 -0
- package/dist/{chunk-K5L7R7XM.js → chunk-HHMLE3TZ.js} +6 -54
- package/dist/chunk-HHMLE3TZ.js.map +1 -0
- package/dist/{chunk-JLJMVRRE.js → chunk-HP34GRQX.js} +10 -83
- package/dist/chunk-HP34GRQX.js.map +1 -0
- package/dist/chunk-HTI343NP.js +1 -0
- package/dist/chunk-HTI343NP.js.map +1 -0
- package/dist/{chunk-T2C3CGDQ.js → chunk-HTI7DZJM.js} +6 -4
- package/dist/{chunk-T2C3CGDQ.js.map → chunk-HTI7DZJM.js.map} +1 -1
- package/dist/chunk-IDNL6IH4.js +294 -0
- package/dist/chunk-IDNL6IH4.js.map +1 -0
- package/dist/chunk-IV6YQTY2.js +47 -0
- package/dist/chunk-IV6YQTY2.js.map +1 -0
- package/dist/chunk-J4SINPUA.js +939 -0
- package/dist/chunk-J4SINPUA.js.map +1 -0
- package/dist/chunk-J6S6MT7O.js +32 -0
- package/dist/chunk-J6S6MT7O.js.map +1 -0
- package/dist/chunk-JB3RFK6K.js +168 -0
- package/dist/chunk-JB3RFK6K.js.map +1 -0
- package/dist/chunk-JBQNCUXA.js +34 -0
- package/dist/chunk-JBQNCUXA.js.map +1 -0
- package/dist/chunk-JMJFK3A4.js +1 -0
- package/dist/chunk-JMJFK3A4.js.map +1 -0
- package/dist/chunk-JMMZICU7.js +74 -0
- package/dist/chunk-JMMZICU7.js.map +1 -0
- package/dist/chunk-JOQ2T3QP.js +663 -0
- package/dist/chunk-JOQ2T3QP.js.map +1 -0
- package/dist/chunk-K4IBS7VB.js +55 -0
- package/dist/chunk-K4IBS7VB.js.map +1 -0
- package/dist/chunk-KBBQSP4M.js +16 -0
- package/dist/chunk-KBBQSP4M.js.map +1 -0
- package/dist/chunk-KFAVEL5F.js +68 -0
- package/dist/chunk-KFAVEL5F.js.map +1 -0
- package/dist/chunk-KITX3HDN.js +17 -0
- package/dist/chunk-KITX3HDN.js.map +1 -0
- package/dist/chunk-KO5NMTAM.js +1 -0
- package/dist/chunk-KO5NMTAM.js.map +1 -0
- package/dist/chunk-KY4VXIN2.js +118 -0
- package/dist/chunk-KY4VXIN2.js.map +1 -0
- package/dist/chunk-KZGSXJKU.js +29 -0
- package/dist/chunk-KZGSXJKU.js.map +1 -0
- package/dist/chunk-LAIATEUB.js +24 -0
- package/dist/chunk-LAIATEUB.js.map +1 -0
- package/dist/{chunk-OJBFDBLG.js → chunk-LBYJPMHC.js} +2 -2
- package/dist/chunk-LKIABZNR.js +49 -0
- package/dist/chunk-LKIABZNR.js.map +1 -0
- package/dist/chunk-LQJ4KHMY.js +23 -0
- package/dist/chunk-LQJ4KHMY.js.map +1 -0
- package/dist/chunk-MEN4AFDZ.js +1 -0
- package/dist/chunk-MEN4AFDZ.js.map +1 -0
- package/dist/chunk-MHOJJYDK.js +93 -0
- package/dist/chunk-MHOJJYDK.js.map +1 -0
- package/dist/chunk-MJCMKZFP.js +30 -0
- package/dist/chunk-MJCMKZFP.js.map +1 -0
- package/dist/chunk-MT3BLVYN.js +31 -0
- package/dist/chunk-MT3BLVYN.js.map +1 -0
- package/dist/chunk-NF6WBPFG.js +37 -0
- package/dist/chunk-NF6WBPFG.js.map +1 -0
- package/dist/chunk-NNEKBZSM.js +66 -0
- package/dist/chunk-NNEKBZSM.js.map +1 -0
- package/dist/chunk-NPJ2T3L5.js +19 -0
- package/dist/chunk-NPJ2T3L5.js.map +1 -0
- package/dist/chunk-NVALGVQG.js +150 -0
- package/dist/chunk-NVALGVQG.js.map +1 -0
- package/dist/chunk-OJF67RNM.js +1 -0
- package/dist/chunk-OJF67RNM.js.map +1 -0
- package/dist/chunk-PHLGGRHC.js +89 -0
- package/dist/chunk-PHLGGRHC.js.map +1 -0
- package/dist/chunk-PIMD4DYG.js +104 -0
- package/dist/chunk-PIMD4DYG.js.map +1 -0
- package/dist/chunk-PJNE75WC.js +1 -0
- package/dist/chunk-PJNE75WC.js.map +1 -0
- package/dist/{chunk-J6LVLV6P.js → chunk-PLDJCCVL.js} +1 -1
- package/dist/{chunk-3RWESPUG.js → chunk-POXHJF3H.js} +6 -51
- package/dist/chunk-POXHJF3H.js.map +1 -0
- package/dist/chunk-PPJ7SYQL.js +81 -0
- package/dist/chunk-PPJ7SYQL.js.map +1 -0
- package/dist/chunk-PT777EQ3.js +48 -0
- package/dist/chunk-PT777EQ3.js.map +1 -0
- package/dist/chunk-PYLPLFJZ.js +318 -0
- package/dist/chunk-PYLPLFJZ.js.map +1 -0
- package/dist/chunk-QEPBHHAP.js +41 -0
- package/dist/chunk-QEPBHHAP.js.map +1 -0
- package/dist/chunk-QHGYCYV6.js +91 -0
- package/dist/chunk-QHGYCYV6.js.map +1 -0
- package/dist/chunk-R6722CIU.js +28 -0
- package/dist/chunk-R6722CIU.js.map +1 -0
- package/dist/chunk-RA4YVN43.js +1 -0
- package/dist/chunk-RA4YVN43.js.map +1 -0
- package/dist/chunk-RT5LUEO3.js +2339 -0
- package/dist/chunk-RT5LUEO3.js.map +1 -0
- package/dist/chunk-RXKUIJ77.js +236 -0
- package/dist/chunk-RXKUIJ77.js.map +1 -0
- package/dist/chunk-SC4SUIEY.js +1 -0
- package/dist/chunk-SC4SUIEY.js.map +1 -0
- package/dist/chunk-SQAAVYJG.js +12 -0
- package/dist/chunk-SQAAVYJG.js.map +1 -0
- package/dist/chunk-SXE4J43E.js +59 -0
- package/dist/chunk-SXE4J43E.js.map +1 -0
- package/dist/{chunk-EFLT7XZD.js → chunk-SYULMZGL.js} +6 -4
- package/dist/{chunk-EFLT7XZD.js.map → chunk-SYULMZGL.js.map} +1 -1
- package/dist/chunk-T4KS577P.js +58 -0
- package/dist/chunk-T4KS577P.js.map +1 -0
- package/dist/chunk-TFIOU6UR.js +78 -0
- package/dist/chunk-TFIOU6UR.js.map +1 -0
- package/dist/chunk-TIZGADU4.js +375 -0
- package/dist/chunk-TIZGADU4.js.map +1 -0
- package/dist/chunk-TP3MCUXS.js +1 -0
- package/dist/chunk-TP3MCUXS.js.map +1 -0
- package/dist/chunk-TSPQD5HW.js +613 -0
- package/dist/chunk-TSPQD5HW.js.map +1 -0
- package/dist/{chunk-JTJU56ZV.js → chunk-UOGM62JL.js} +11 -7
- package/dist/{chunk-JTJU56ZV.js.map → chunk-UOGM62JL.js.map} +1 -1
- package/dist/chunk-USRKPEQN.js +55 -0
- package/dist/chunk-USRKPEQN.js.map +1 -0
- package/dist/chunk-UTAB3XQI.js +667 -0
- package/dist/chunk-UTAB3XQI.js.map +1 -0
- package/dist/chunk-V3FFZWF3.js +182 -0
- package/dist/chunk-V3FFZWF3.js.map +1 -0
- package/dist/chunk-V4OZ7ISA.js +9 -0
- package/dist/chunk-V4OZ7ISA.js.map +1 -0
- package/dist/chunk-VZ5ZZBNX.js +139 -0
- package/dist/chunk-VZ5ZZBNX.js.map +1 -0
- package/dist/{chunk-AHLKV6KP.js → chunk-WN6AVBO4.js} +1 -1
- package/dist/chunk-WXR5CWSC.js +1 -0
- package/dist/chunk-WXR5CWSC.js.map +1 -0
- package/dist/chunk-X6WS3XWL.js +36 -0
- package/dist/chunk-X6WS3XWL.js.map +1 -0
- package/dist/{chunk-Q5BCNYED.js → chunk-XJRNBTIV.js} +7 -4
- package/dist/chunk-XQV3XNVT.js +225 -0
- package/dist/chunk-XQV3XNVT.js.map +1 -0
- package/dist/chunk-XV3DH5GC.js +58 -0
- package/dist/chunk-XV3DH5GC.js.map +1 -0
- package/dist/chunk-YWRXOPHC.js +43 -0
- package/dist/chunk-YWRXOPHC.js.map +1 -0
- package/dist/chunk-YZVFIW5D.js +27 -0
- package/dist/chunk-YZVFIW5D.js.map +1 -0
- package/dist/chunk-ZHC5CD6J.js +33 -0
- package/dist/chunk-ZHC5CD6J.js.map +1 -0
- package/dist/chunk-ZPJFXRQZ.js +23 -0
- package/dist/chunk-ZPJFXRQZ.js.map +1 -0
- package/dist/chunk-ZPXOBQDS.js +57 -0
- package/dist/chunk-ZPXOBQDS.js.map +1 -0
- package/dist/chunk-ZUFS6R7L.js +155 -0
- package/dist/chunk-ZUFS6R7L.js.map +1 -0
- package/dist/chunk-ZXLCTQUX.js +62 -0
- package/dist/chunk-ZXLCTQUX.js.map +1 -0
- package/dist/chunk-ZYXMWEL4.js +59 -0
- package/dist/chunk-ZYXMWEL4.js.map +1 -0
- package/dist/completion/controls.js +11 -0
- package/dist/completion/controls.js.map +1 -0
- package/dist/completion/documents.js +9 -0
- package/dist/completion/documents.js.map +1 -0
- package/dist/completion/generate-completion.js +23 -0
- package/dist/completion/generate-completion.js.map +1 -0
- package/dist/completion/index.js +23 -12
- package/dist/completion/json.js +7 -0
- package/dist/completion/json.js.map +1 -0
- package/dist/completion/message-schema.js +18 -0
- package/dist/completion/message-schema.js.map +1 -0
- package/dist/completion/provider-output-error.js +12 -0
- package/dist/completion/provider-output-error.js.map +1 -0
- package/dist/completion/stream-accumulator.js +10 -0
- package/dist/completion/stream-accumulator.js.map +1 -0
- package/dist/completion/types.js +28 -0
- package/dist/completion/types.js.map +1 -0
- package/dist/documents/chunk-text.js +7 -0
- package/dist/documents/chunk-text.js.map +1 -0
- package/dist/documents/index.js +5 -2
- package/dist/documents/text-document.js +8 -0
- package/dist/documents/text-document.js.map +1 -0
- package/dist/embeddings/distance.js +17 -0
- package/dist/embeddings/distance.js.map +1 -0
- package/dist/embeddings/embed.js +18 -0
- package/dist/embeddings/embed.js.map +1 -0
- package/dist/embeddings/index.js +11 -6
- package/dist/embeddings/types.js +2 -0
- package/dist/embeddings/types.js.map +1 -0
- package/dist/evals/advanced-metrics.js +46 -0
- package/dist/evals/advanced-metrics.js.map +1 -0
- package/dist/evals/agent-target.js +10 -0
- package/dist/evals/agent-target.js.map +1 -0
- package/dist/evals/cli.js +40 -0
- package/dist/evals/cli.js.map +1 -0
- package/dist/evals/execution.js +15 -0
- package/dist/evals/execution.js.map +1 -0
- package/dist/evals/format.js +13 -0
- package/dist/evals/format.js.map +1 -0
- package/dist/evals/index.d.ts +4 -4
- package/dist/evals/index.js +87 -2660
- package/dist/evals/index.js.map +1 -1
- package/dist/evals/judge.js +27 -0
- package/dist/evals/judge.js.map +1 -0
- package/dist/evals/metric.js +7 -0
- package/dist/evals/metric.js.map +1 -0
- package/dist/evals/metrics.js +53 -0
- package/dist/evals/metrics.js.map +1 -0
- package/dist/evals/outcome.js +7 -0
- package/dist/evals/outcome.js.map +1 -0
- package/dist/evals/reporting.js +11 -0
- package/dist/evals/reporting.js.map +1 -0
- package/dist/evals/runner.js +29 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/selectors.js +18 -0
- package/dist/evals/selectors.js.map +1 -0
- package/dist/evals/suite.js +11 -0
- package/dist/evals/suite.js.map +1 -0
- package/dist/evals/types.js +1 -0
- package/dist/evals/types.js.map +1 -0
- package/dist/extractor/extractor.js +23 -0
- package/dist/extractor/extractor.js.map +1 -0
- package/dist/extractor/index.js +16 -7
- package/dist/guardrails/actions.js +13 -0
- package/dist/guardrails/actions.js.map +1 -0
- package/dist/guardrails/index.d.ts +3 -4
- package/dist/guardrails/index.js +15 -7
- package/dist/guardrails/message.js +9 -0
- package/dist/guardrails/message.js.map +1 -0
- package/dist/guardrails/policy.js +17 -0
- package/dist/guardrails/policy.js.map +1 -0
- package/dist/guardrails/runtime.js +11 -0
- package/dist/guardrails/runtime.js.map +1 -0
- package/dist/guardrails/text.js +9 -0
- package/dist/guardrails/text.js.map +1 -0
- package/dist/guardrails/types.js +1 -0
- package/dist/guardrails/types.js.map +1 -0
- package/dist/hooks/control.js +17 -0
- package/dist/hooks/control.js.map +1 -0
- package/dist/hooks/index.js +19 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/types.js +2 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/image-generation/generate-image.js +11 -0
- package/dist/image-generation/generate-image.js.map +1 -0
- package/dist/image-generation/index.js +7 -4
- package/dist/image-generation/types.js +2 -0
- package/dist/image-generation/types.js.map +1 -0
- package/dist/index.d.ts +5 -7
- package/dist/index.js +163 -57
- package/dist/internal/abort.js +13 -0
- package/dist/internal/abort.js.map +1 -0
- package/dist/internal/agent-runtime/agent-run.js +81 -0
- package/dist/internal/agent-runtime/agent-run.js.map +1 -0
- package/dist/internal/agent-runtime/approval-request.js +1 -0
- package/dist/internal/agent-runtime/approval-request.js.map +1 -0
- package/dist/internal/agent-runtime/approval-requirement.js +9 -0
- package/dist/internal/agent-runtime/approval-requirement.js.map +1 -0
- package/dist/internal/agent-runtime/continuation-state.js +26 -0
- package/dist/internal/agent-runtime/continuation-state.js.map +1 -0
- package/dist/internal/agent-runtime/interaction-suspension.js +25 -0
- package/dist/internal/agent-runtime/interaction-suspension.js.map +1 -0
- package/dist/internal/agent-runtime/memory-scope.js +8 -0
- package/dist/internal/agent-runtime/memory-scope.js.map +1 -0
- package/dist/internal/agent-runtime/memory.js +24 -0
- package/dist/internal/agent-runtime/memory.js.map +1 -0
- package/dist/internal/agent-runtime/prepared-tool-call.js +19 -0
- package/dist/internal/agent-runtime/prepared-tool-call.js.map +1 -0
- package/dist/internal/agent-runtime/retrieval.js +35 -0
- package/dist/internal/agent-runtime/retrieval.js.map +1 -0
- package/dist/internal/agent-runtime/run-options.js +9 -0
- package/dist/internal/agent-runtime/run-options.js.map +1 -0
- package/dist/internal/agent-runtime/run-validation.js +9 -0
- package/dist/internal/agent-runtime/run-validation.js.map +1 -0
- package/dist/internal/agent-runtime/stream-events.js +11 -0
- package/dist/internal/agent-runtime/stream-events.js.map +1 -0
- package/dist/internal/agent-runtime/structured-output.js +13 -0
- package/dist/internal/agent-runtime/structured-output.js.map +1 -0
- package/dist/internal/agent-runtime/tool-execution.js +55 -0
- package/dist/internal/agent-runtime/tool-execution.js.map +1 -0
- package/dist/internal/agent.d.ts +5 -5
- package/dist/internal/agent.js +93 -57
- package/dist/internal/agent.js.map +1 -1
- package/dist/internal/async-queue.js +7 -0
- package/dist/internal/async-queue.js.map +1 -0
- package/dist/internal/completion-request.js +11 -0
- package/dist/internal/completion-request.js.map +1 -0
- package/dist/internal/concurrency.js +7 -0
- package/dist/internal/concurrency.js.map +1 -0
- package/dist/internal/json-object.js +8 -0
- package/dist/internal/json-object.js.map +1 -0
- package/dist/internal/rag-text.js +7 -0
- package/dist/internal/rag-text.js.map +1 -0
- package/dist/internal/record.js +7 -0
- package/dist/internal/record.js.map +1 -0
- package/dist/internal/team-runtime/coordination.js +12 -0
- package/dist/internal/team-runtime/coordination.js.map +1 -0
- package/dist/internal/team-runtime/member.js +26 -0
- package/dist/internal/team-runtime/member.js.map +1 -0
- package/dist/internal/team-runtime/policy.js +7 -0
- package/dist/internal/team-runtime/policy.js.map +1 -0
- package/dist/internal/team-runtime/run.js +95 -0
- package/dist/internal/team-runtime/run.js.map +1 -0
- package/dist/internal/team-runtime/stream.js +9 -0
- package/dist/internal/team-runtime/stream.js.map +1 -0
- package/dist/internal/team-runtime/tools.js +17 -0
- package/dist/internal/team-runtime/tools.js.map +1 -0
- package/dist/internal/type-utils.js +1 -0
- package/dist/internal/type-utils.js.map +1 -0
- package/dist/internal/vector-search-options.js +9 -0
- package/dist/internal/vector-search-options.js.map +1 -0
- package/dist/mcp/index.js +3 -1
- package/dist/mcp/tool.js +7 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/memory/assert.js +11 -0
- package/dist/memory/assert.js.map +1 -0
- package/dist/memory/compaction.js +26 -0
- package/dist/memory/compaction.js.map +1 -0
- package/dist/memory/errors.js +9 -0
- package/dist/memory/errors.js.map +1 -0
- package/dist/memory/index.js +23 -10
- package/dist/memory/options.js +10 -0
- package/dist/memory/options.js.map +1 -0
- package/dist/memory/scope-key.js +7 -0
- package/dist/memory/scope-key.js.map +1 -0
- package/dist/memory/types.js +2 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/{types-CRda8x7p.d.ts → middleware-CWjnMbiH.d.ts} +64 -5
- package/dist/model-call-options.js +1 -0
- package/dist/model-call-options.js.map +1 -0
- package/dist/model-listing/errors.js +7 -0
- package/dist/model-listing/errors.js.map +1 -0
- package/dist/model-listing/index.js +4 -13
- package/dist/model-listing/index.js.map +1 -1
- package/dist/model-listing/types.js +2 -0
- package/dist/model-listing/types.js.map +1 -0
- package/dist/observability/group.js +30 -0
- package/dist/observability/group.js.map +1 -0
- package/dist/observability/index.d.ts +4 -6
- package/dist/observability/index.js +16 -8
- package/dist/observability/snapshot.js +7 -0
- package/dist/observability/snapshot.js.map +1 -0
- package/dist/observability/types.js +1 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/pipeline/errors.js +9 -0
- package/dist/pipeline/errors.js.map +1 -0
- package/dist/pipeline/graph.js +21 -0
- package/dist/pipeline/graph.js.map +1 -0
- package/dist/pipeline/index.d.ts +4 -6
- package/dist/pipeline/index.js +27 -805
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/observability.js +15 -0
- package/dist/pipeline/observability.js.map +1 -0
- package/dist/pipeline/pipeline.js +30 -0
- package/dist/pipeline/pipeline.js.map +1 -0
- package/dist/pipeline/runtime.js +17 -0
- package/dist/pipeline/runtime.js.map +1 -0
- package/dist/pipeline/types.js +1 -0
- package/dist/pipeline/types.js.map +1 -0
- package/dist/retry.js +20 -0
- package/dist/retry.js.map +1 -0
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/zod-schema.js +7 -0
- package/dist/schema/zod-schema.js.map +1 -0
- package/dist/skills/index.js +41 -12
- package/dist/skills/instructions.js +7 -0
- package/dist/skills/instructions.js.map +1 -0
- package/dist/skills/load.js +39 -0
- package/dist/skills/load.js.map +1 -0
- package/dist/skills/local.js +9 -0
- package/dist/skills/local.js.map +1 -0
- package/dist/skills/tools.js +37 -0
- package/dist/skills/tools.js.map +1 -0
- package/dist/skills/types.js +7 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/speech-generation/generate-speech.js +11 -0
- package/dist/speech-generation/generate-speech.js.map +1 -0
- package/dist/speech-generation/index.js +7 -4
- package/dist/speech-generation/types.js +2 -0
- package/dist/speech-generation/types.js.map +1 -0
- package/dist/streaming/index.js +3 -37
- package/dist/streaming/index.js.map +1 -1
- package/dist/streaming/readable-stream.js +7 -0
- package/dist/streaming/readable-stream.js.map +1 -0
- package/dist/{text-CmjXxakS.d.ts → text-GbW4WYMg.d.ts} +1 -1
- package/dist/tool/create-tool.js +14 -0
- package/dist/tool/create-tool.js.map +1 -0
- package/dist/tool/dynamic-tools.js +35 -0
- package/dist/tool/dynamic-tools.js.map +1 -0
- package/dist/tool/errors.js +11 -0
- package/dist/tool/errors.js.map +1 -0
- package/dist/tool/index.d.ts +3 -2
- package/dist/tool/index.js +41 -15
- package/dist/tool/middleware.js +7 -0
- package/dist/tool/middleware.js.map +1 -0
- package/dist/tool/question-tool.js +17 -0
- package/dist/tool/question-tool.js.map +1 -0
- package/dist/tool/skill-tool-marker.js +9 -0
- package/dist/tool/skill-tool-marker.js.map +1 -0
- package/dist/tool/think-tool.js +15 -0
- package/dist/tool/think-tool.js.map +1 -0
- package/dist/tool/tool.js +17 -0
- package/dist/tool/tool.js.map +1 -0
- package/dist/transcription/index.js +7 -4
- package/dist/transcription/transcribe.js +11 -0
- package/dist/transcription/transcribe.js.map +1 -0
- package/dist/transcription/types.js +2 -0
- package/dist/transcription/types.js.map +1 -0
- package/dist/{types-h0EL6Xn0.d.ts → types-Bqw0AuFl.d.ts} +6 -2
- package/dist/vector-store/filter.js +9 -0
- package/dist/vector-store/filter.js.map +1 -0
- package/dist/vector-store/index.js +31 -11
- package/dist/vector-store/ingest.js +19 -0
- package/dist/vector-store/ingest.js.map +1 -0
- package/dist/vector-store/lsh.js +7 -0
- package/dist/vector-store/lsh.js.map +1 -0
- package/dist/vector-store/retrieve.js +15 -0
- package/dist/vector-store/retrieve.js.map +1 -0
- package/dist/vector-store/types.js +1 -0
- package/dist/vector-store/types.js.map +1 -0
- package/package.json +2 -2
- package/dist/chunk-2QZJTG2E.js.map +0 -1
- package/dist/chunk-3RWESPUG.js.map +0 -1
- package/dist/chunk-4UQALF5Y.js.map +0 -1
- package/dist/chunk-AZB6N7P4.js +0 -320
- package/dist/chunk-AZB6N7P4.js.map +0 -1
- package/dist/chunk-JLJMVRRE.js.map +0 -1
- package/dist/chunk-K5L7R7XM.js.map +0 -1
- package/dist/chunk-OI3LSMJG.js +0 -1545
- package/dist/chunk-OI3LSMJG.js.map +0 -1
- package/dist/chunk-QGX73TSQ.js.map +0 -1
- package/dist/chunk-XC3LVC4K.js +0 -753
- package/dist/chunk-XC3LVC4K.js.map +0 -1
- package/dist/chunk-XEVOC433.js.map +0 -1
- package/dist/chunk-XSV5C4R5.js +0 -400
- package/dist/chunk-XSV5C4R5.js.map +0 -1
- package/dist/chunk-XU54PLSD.js +0 -4786
- package/dist/chunk-XU54PLSD.js.map +0 -1
- package/dist/middleware-mY_lpjDp.d.ts +0 -59
- package/dist/type-utils-CtHVDRn_.d.ts +0 -6
- /package/dist/{chunk-YK4WAAS4.js.map → chunk-2NLINXRF.js.map} +0 -0
- /package/dist/{chunk-SPD4XVR7.js.map → chunk-2XSMGVBG.js.map} +0 -0
- /package/dist/{chunk-3XQGVDU5.js.map → chunk-4C7AXYOM.js.map} +0 -0
- /package/dist/{chunk-IZNOP6JG.js.map → chunk-4FIVU53H.js.map} +0 -0
- /package/dist/{chunk-7JLAIN6E.js.map → chunk-4ONUNWGC.js.map} +0 -0
- /package/dist/{chunk-KSKST3KP.js.map → chunk-H3H74RWJ.js.map} +0 -0
- /package/dist/{chunk-OJBFDBLG.js.map → chunk-LBYJPMHC.js.map} +0 -0
- /package/dist/{chunk-J6LVLV6P.js.map → chunk-PLDJCCVL.js.map} +0 -0
- /package/dist/{chunk-AHLKV6KP.js.map → chunk-WN6AVBO4.js.map} +0 -0
- /package/dist/{chunk-Q5BCNYED.js.map → chunk-XJRNBTIV.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { b as RetrySetting } from './retry-CjvSlKGW.js';
|
|
2
2
|
import { D as Document, d as CompletionModel, P as ProviderTool, J as JsonObject, C as CompletionControlValues, f as CompletionModelControlsOf, z as ToolChoice } from './types-CiHjqE6J.js';
|
|
3
3
|
import { Z as ZodSchema } from './zod-schema-C7F4clpm.js';
|
|
4
|
-
import { d as GuardrailPolicyInput, c as GuardrailPolicy } from './types-
|
|
4
|
+
import { d as GuardrailPolicyInput, c as GuardrailPolicy } from './types-Bqw0AuFl.js';
|
|
5
5
|
import { a as McpServer } from './types-DfRPfehE.js';
|
|
6
6
|
import { E as MemoryStore, z as MemorySavePolicy, F as MemoryTokenCounter, n as MemoryCompactor, d as MemoryCompactionConflictRetryOptions, y as MemoryOptions, k as MemoryCompactionResult } from './types-CafU6Ux5.js';
|
|
7
|
-
import { h as AgentLifecycle,
|
|
8
|
-
import { A as AgentMiddleware } from './middleware-mY_lpjDp.js';
|
|
7
|
+
import { h as AgentLifecycle, P as AgentObservabilityOptions, k as AgentMiddleware, o as AgentRunOptions, l as AgentOutcome, p as AgentRunSettings, u as AgentStream, j as AgentMemoryCompactionOptions } from './middleware-CWjnMbiH.js';
|
|
9
8
|
import { A as AnyTool, T as Tool, c as ToolCallContext, N as NormalizedToolOutput } from './tool-DQMZpZSS.js';
|
|
10
9
|
import { AgentContinuation, AgentInteractionResponse } from './agent/interactions/index.js';
|
|
11
10
|
import { a as SkillSet } from './types-C1xYKXF2.js';
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
InMemoryVectorStore
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
createTool,
|
|
2
|
+
InMemoryVectorStore
|
|
3
|
+
} from "./chunk-RXKUIJ77.js";
|
|
4
|
+
import {
|
|
6
5
|
retrieveDocuments
|
|
7
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HAAGSIZH.js";
|
|
8
7
|
import {
|
|
9
8
|
embedDocuments
|
|
10
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HHMLE3TZ.js";
|
|
10
|
+
import {
|
|
11
|
+
assertFiniteMinScore,
|
|
12
|
+
assertPositiveSearchLimit
|
|
13
|
+
} from "./chunk-5V533R7F.js";
|
|
11
14
|
|
|
12
15
|
// src/tool/dynamic-tools.ts
|
|
13
16
|
async function embedTools(options) {
|
|
@@ -100,72 +103,9 @@ function defaultToolEmbeddingText(definition) {
|
|
|
100
103
|
return [definition.name, definition.description, JSON.stringify(definition.parameters)];
|
|
101
104
|
}
|
|
102
105
|
|
|
103
|
-
// src/tool/middleware.ts
|
|
104
|
-
function createMiddleware(middleware) {
|
|
105
|
-
return middleware;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// src/tool/question-tool.ts
|
|
109
|
-
import { z } from "zod";
|
|
110
|
-
var questionToolMarker = /* @__PURE__ */ Symbol("anvia.question-tool");
|
|
111
|
-
function createQuestionTool(options) {
|
|
112
|
-
const tool = createTool({
|
|
113
|
-
name: options.name,
|
|
114
|
-
description: options.description,
|
|
115
|
-
inputSchema: z.object({
|
|
116
|
-
questions: z.array(
|
|
117
|
-
z.object({
|
|
118
|
-
id: z.string().trim().min(1),
|
|
119
|
-
text: z.string().trim().min(1),
|
|
120
|
-
choices: z.array(
|
|
121
|
-
z.object({
|
|
122
|
-
label: z.string().trim().min(1),
|
|
123
|
-
value: z.string().trim().min(1)
|
|
124
|
-
}).strict()
|
|
125
|
-
).min(1).optional(),
|
|
126
|
-
allowCustom: z.boolean().optional()
|
|
127
|
-
}).strict()
|
|
128
|
-
).min(1)
|
|
129
|
-
}).strict(),
|
|
130
|
-
execute() {
|
|
131
|
-
throw new Error("Question tools can only be resolved through an Agent interaction.");
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
Object.defineProperty(tool, questionToolMarker, {
|
|
135
|
-
configurable: false,
|
|
136
|
-
enumerable: false,
|
|
137
|
-
value: true,
|
|
138
|
-
writable: false
|
|
139
|
-
});
|
|
140
|
-
return tool;
|
|
141
|
-
}
|
|
142
|
-
function isQuestionTool(tool) {
|
|
143
|
-
return typeof tool === "object" && tool !== null && questionToolMarker in tool;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// src/tool/think-tool.ts
|
|
147
|
-
import { z as z2 } from "zod";
|
|
148
|
-
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.";
|
|
149
|
-
var thinkToolInput = z2.object({
|
|
150
|
-
thought: z2.string().describe("A thought to record while reasoning through a task.")
|
|
151
|
-
});
|
|
152
|
-
function createThinkTool(options = {}) {
|
|
153
|
-
return createTool({
|
|
154
|
-
name: options.name ?? "think",
|
|
155
|
-
description: options.description ?? defaultThinkToolDescription,
|
|
156
|
-
inputSchema: thinkToolInput,
|
|
157
|
-
outputSchema: z2.string(),
|
|
158
|
-
execute: (args) => args.thought
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
|
|
162
106
|
export {
|
|
163
|
-
createQuestionTool,
|
|
164
|
-
isQuestionTool,
|
|
165
107
|
embedTools,
|
|
166
108
|
createToolIndex,
|
|
167
|
-
isToolIndex
|
|
168
|
-
createMiddleware,
|
|
169
|
-
createThinkTool
|
|
109
|
+
isToolIndex
|
|
170
110
|
};
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-23GEYG2X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tool/dynamic-tools.ts"],"sourcesContent":["import type { ToolDefinition } from \"../completion\";\nimport type { EmbeddedDocument, EmbeddingModel, VectorMetadata } from \"../embeddings\";\nimport { embedDocuments } from \"../embeddings\";\nimport { assertFiniteMinScore, assertPositiveSearchLimit } from \"../internal/vector-search-options\";\nimport type { RetrySetting } from \"../retry\";\nimport {\n InMemoryVectorStore,\n retrieveDocuments,\n type VectorFilter,\n type VectorInspectPage,\n type VectorInspectRequest,\n type VectorSearchResult,\n} from \"../vector-store\";\nimport type { AnyTool } from \"./tool\";\n\nexport type ToolSearchDocument<Metadata extends VectorMetadata = VectorMetadata> = {\n toolName: string;\n definition: ToolDefinition;\n text: string;\n metadata?: Metadata | undefined;\n};\n\nexport type EmbedToolsOptions<Metadata extends VectorMetadata = VectorMetadata> = {\n model: EmbeddingModel;\n tools: readonly AnyTool[];\n content?: ((tool: AnyTool, definition: ToolDefinition) => string | string[]) | undefined;\n metadata?: ((tool: AnyTool, definition: ToolDefinition) => Metadata | undefined) | undefined;\n concurrency?: number | undefined;\n retries?: RetrySetting | undefined;\n abortSignal?: AbortSignal | undefined;\n};\n\nexport type CreateToolIndexOptions<Metadata extends VectorMetadata = VectorMetadata> =\n EmbedToolsOptions<Metadata> & {\n topK: number;\n minScore?: number | undefined;\n filter?: VectorFilter | undefined;\n };\n\nexport interface ToolIndex<Metadata extends VectorMetadata = VectorMetadata> {\n readonly kind: \"tool-index\";\n readonly tools: readonly AnyTool[];\n readonly topK: number;\n readonly minScore?: number | undefined;\n readonly filter?: VectorFilter | undefined;\n search(options: {\n query: string;\n abortSignal?: AbortSignal | undefined;\n }): Promise<Array<VectorSearchResult<ToolSearchDocument<Metadata>, Metadata>>>;\n inspect?(\n request: VectorInspectRequest,\n ): Promise<VectorInspectPage<ToolSearchDocument<Metadata>, Metadata>>;\n}\n\nexport async function embedTools<Metadata extends VectorMetadata = VectorMetadata>(\n options: EmbedToolsOptions<Metadata>,\n): Promise<{\n documents: Array<EmbeddedDocument<ToolSearchDocument<Metadata>, Metadata>>;\n}> {\n const toolList = dedupeTools(options.tools);\n const definitions = await Promise.all(\n toolList.map(async (tool) => ({ tool, definition: await tool.definition(\"\") })),\n );\n const documents = definitions.map(({ tool, definition }) => {\n const content = options.content?.(tool, definition) ?? defaultToolEmbeddingText(definition);\n const texts = Array.isArray(content) ? content : [content];\n const metadata = options.metadata?.(tool, definition);\n let document: ToolSearchDocument<Metadata> = {\n toolName: tool.name,\n definition,\n text: texts.join(\"\\n\"),\n };\n if (metadata !== undefined) document = { ...document, metadata };\n return { tool, document, texts, metadata };\n });\n\n const embedded = await embedDocuments({\n model: options.model,\n documents,\n id: (item) => item.tool.name,\n content: (item) => item.texts,\n metadata: (item) => item.metadata,\n concurrency: options.concurrency,\n retries: options.retries,\n abortSignal: options.abortSignal,\n });\n return {\n documents: embedded.documents.map((item) => ({\n ...item,\n document: item.document.document,\n })),\n };\n}\n\nexport async function createToolIndex<Metadata extends VectorMetadata = VectorMetadata>(\n options: CreateToolIndexOptions<Metadata>,\n): Promise<ToolIndex<Metadata>> {\n assertPositiveSearchLimit(options.topK);\n assertFiniteMinScore(options.minScore);\n const tools = dedupeTools(options.tools);\n const { documents } = await embedTools({ ...options, tools });\n const store = InMemoryVectorStore.fromDocuments({ documents });\n return new ToolSearchIndex(store, options.model, tools, options);\n}\n\nexport function isToolIndex(value: unknown): value is ToolIndex {\n if (typeof value !== \"object\" || value === null) return false;\n const candidate = value as {\n kind?: unknown;\n tools?: unknown;\n topK?: unknown;\n search?: unknown;\n };\n return (\n candidate.kind === \"tool-index\" &&\n Array.isArray(candidate.tools) &&\n typeof candidate.topK === \"number\" &&\n typeof candidate.search === \"function\"\n );\n}\n\nclass ToolSearchIndex<Metadata extends VectorMetadata> implements ToolIndex<Metadata> {\n readonly kind = \"tool-index\" as const;\n readonly tools: readonly AnyTool[];\n readonly topK: number;\n readonly minScore: number | undefined;\n readonly filter: VectorFilter | undefined;\n\n constructor(\n private readonly store: InMemoryVectorStore<ToolSearchDocument<Metadata>, Metadata>,\n private readonly model: EmbeddingModel,\n tools: readonly AnyTool[],\n private readonly options: CreateToolIndexOptions<Metadata>,\n ) {\n this.tools = Object.freeze([...tools]);\n this.topK = options.topK;\n this.minScore = options.minScore;\n this.filter = options.filter;\n }\n\n search(options: {\n query: string;\n abortSignal?: AbortSignal | undefined;\n }): Promise<Array<VectorSearchResult<ToolSearchDocument<Metadata>, Metadata>>> {\n return retrieveDocuments({\n store: this.store,\n model: this.model,\n query: options.query,\n topK: this.topK,\n minScore: this.minScore,\n filter: this.filter,\n retries: this.options.retries,\n abortSignal: options.abortSignal,\n });\n }\n\n inspect(\n request: VectorInspectRequest,\n ): Promise<VectorInspectPage<ToolSearchDocument<Metadata>, Metadata>> {\n return this.store.inspect(request);\n }\n}\n\nfunction dedupeTools(tools: readonly AnyTool[]): AnyTool[] {\n const byName = new Map<string, AnyTool>();\n for (const tool of tools) byName.set(tool.name, tool);\n return [...byName.values()];\n}\n\nfunction defaultToolEmbeddingText(definition: ToolDefinition): string[] {\n return [definition.name, definition.description, JSON.stringify(definition.parameters)];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAsDA,eAAsB,WACpB,SAGC;AACD,QAAM,WAAW,YAAY,QAAQ,KAAK;AAC1C,QAAM,cAAc,MAAM,QAAQ;AAAA,IAChC,SAAS,IAAI,OAAO,UAAU,EAAE,MAAM,YAAY,MAAM,KAAK,WAAW,EAAE,EAAE,EAAE;AAAA,EAChF;AACA,QAAM,YAAY,YAAY,IAAI,CAAC,EAAE,MAAM,WAAW,MAAM;AAC1D,UAAM,UAAU,QAAQ,UAAU,MAAM,UAAU,KAAK,yBAAyB,UAAU;AAC1F,UAAM,QAAQ,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AACzD,UAAM,WAAW,QAAQ,WAAW,MAAM,UAAU;AACpD,QAAI,WAAyC;AAAA,MAC3C,UAAU,KAAK;AAAA,MACf;AAAA,MACA,MAAM,MAAM,KAAK,IAAI;AAAA,IACvB;AACA,QAAI,aAAa,OAAW,YAAW,EAAE,GAAG,UAAU,SAAS;AAC/D,WAAO,EAAE,MAAM,UAAU,OAAO,SAAS;AAAA,EAC3C,CAAC;AAED,QAAM,WAAW,MAAM,eAAe;AAAA,IACpC,OAAO,QAAQ;AAAA,IACf;AAAA,IACA,IAAI,CAAC,SAAS,KAAK,KAAK;AAAA,IACxB,SAAS,CAAC,SAAS,KAAK;AAAA,IACxB,UAAU,CAAC,SAAS,KAAK;AAAA,IACzB,aAAa,QAAQ;AAAA,IACrB,SAAS,QAAQ;AAAA,IACjB,aAAa,QAAQ;AAAA,EACvB,CAAC;AACD,SAAO;AAAA,IACL,WAAW,SAAS,UAAU,IAAI,CAAC,UAAU;AAAA,MAC3C,GAAG;AAAA,MACH,UAAU,KAAK,SAAS;AAAA,IAC1B,EAAE;AAAA,EACJ;AACF;AAEA,eAAsB,gBACpB,SAC8B;AAC9B,4BAA0B,QAAQ,IAAI;AACtC,uBAAqB,QAAQ,QAAQ;AACrC,QAAM,QAAQ,YAAY,QAAQ,KAAK;AACvC,QAAM,EAAE,UAAU,IAAI,MAAM,WAAW,EAAE,GAAG,SAAS,MAAM,CAAC;AAC5D,QAAM,QAAQ,oBAAoB,cAAc,EAAE,UAAU,CAAC;AAC7D,SAAO,IAAI,gBAAgB,OAAO,QAAQ,OAAO,OAAO,OAAO;AACjE;AAEO,SAAS,YAAY,OAAoC;AAC9D,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,QAAM,YAAY;AAMlB,SACE,UAAU,SAAS,gBACnB,MAAM,QAAQ,UAAU,KAAK,KAC7B,OAAO,UAAU,SAAS,YAC1B,OAAO,UAAU,WAAW;AAEhC;AAEA,IAAM,kBAAN,MAAsF;AAAA,EAOpF,YACmB,OACA,OACjB,OACiB,SACjB;AAJiB;AACA;AAEA;AAEjB,SAAK,QAAQ,OAAO,OAAO,CAAC,GAAG,KAAK,CAAC;AACrC,SAAK,OAAO,QAAQ;AACpB,SAAK,WAAW,QAAQ;AACxB,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EATmB;AAAA,EACA;AAAA,EAEA;AAAA,EAVV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAcT,OAAO,SAGwE;AAC7E,WAAO,kBAAkB;AAAA,MACvB,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,OAAO,QAAQ;AAAA,MACf,MAAM,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK,QAAQ;AAAA,MACtB,aAAa,QAAQ;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EAEA,QACE,SACoE;AACpE,WAAO,KAAK,MAAM,QAAQ,OAAO;AAAA,EACnC;AACF;AAEA,SAAS,YAAY,OAAsC;AACzD,QAAM,SAAS,oBAAI,IAAqB;AACxC,aAAW,QAAQ,MAAO,QAAO,IAAI,KAAK,MAAM,IAAI;AACpD,SAAO,CAAC,GAAG,OAAO,OAAO,CAAC;AAC5B;AAEA,SAAS,yBAAyB,YAAsC;AACtE,SAAO,CAAC,WAAW,MAAM,WAAW,aAAa,KAAK,UAAU,WAAW,UAAU,CAAC;AACxF;","names":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assertJsonObject
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4ONUNWGC.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveRetryOptions,
|
|
6
|
-
runWithRetries
|
|
6
|
+
runWithRetries
|
|
7
|
+
} from "./chunk-POXHJF3H.js";
|
|
8
|
+
import {
|
|
7
9
|
throwIfAborted
|
|
8
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-USRKPEQN.js";
|
|
9
11
|
|
|
10
12
|
// src/image-generation/generate-image.ts
|
|
11
13
|
async function generateImage(options) {
|
|
@@ -56,4 +58,4 @@ function assertPositiveInteger(value, name) {
|
|
|
56
58
|
export {
|
|
57
59
|
generateImage
|
|
58
60
|
};
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-23LRXKQX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/image-generation/generate-image.ts"],"sourcesContent":["import type { JsonObject } from \"../completion/types\";\nimport { throwIfAborted } from \"../internal/abort\";\nimport { assertJsonObject } from \"../internal/json-object\";\nimport type { ModelCallOptions } from \"../model-call-options\";\nimport {\n type ResolvedRetryOptions,\n type RetrySetting,\n resolveRetryOptions,\n runWithRetries,\n} from \"../retry\";\nimport type { ImageGenerationModel, ImageGenerationRequest, ImageGenerationResult } from \"./types\";\n\nexport type GenerateImageOptions<Model extends ImageGenerationModel = ImageGenerationModel> = {\n model: Model;\n prompt: string;\n width?: number | undefined;\n height?: number | undefined;\n providerOptions?: JsonObject | undefined;\n retries?: RetrySetting | undefined;\n abortSignal?: AbortSignal | undefined;\n};\n\ntype RawResponseOf<Model> =\n Model extends ImageGenerationModel<infer RawResponse> ? RawResponse : unknown;\n\nexport async function generateImage<Model extends ImageGenerationModel>(\n options: GenerateImageOptions<Model>,\n): Promise<ImageGenerationResult<RawResponseOf<Model>>> {\n assertNonEmptyString(options.prompt, \"Image prompt\");\n throwIfAborted(options.abortSignal);\n const width = options.width ?? 1024;\n const height = options.height ?? 1024;\n assertPositiveInteger(width, \"Image width\");\n assertPositiveInteger(height, \"Image height\");\n\n const request: ImageGenerationRequest = { prompt: options.prompt, width, height };\n if (options.providerOptions !== undefined) {\n assertJsonObject(options.providerOptions, \"providerOptions\");\n request.providerOptions = options.providerOptions;\n }\n const result = await runWithRetries(\n () => {\n throwIfAborted(options.abortSignal);\n return options.model.imageGeneration(\n request,\n modelCallOptions(options.abortSignal),\n ) as Promise<ImageGenerationResult<RawResponseOf<Model>>>;\n },\n resolveRetries(options.retries),\n { streaming: false, abortSignal: options.abortSignal },\n );\n if (!Array.isArray(result.images) || result.images.length === 0) {\n throw new Error(\"The image generation model returned no images.\");\n }\n return result;\n}\n\nfunction resolveRetries(setting: RetrySetting | undefined): ResolvedRetryOptions | undefined {\n return setting === undefined || setting === false ? undefined : resolveRetryOptions(setting);\n}\n\nfunction modelCallOptions(abortSignal: AbortSignal | undefined): ModelCallOptions | undefined {\n return abortSignal === undefined ? undefined : { abortSignal };\n}\n\nfunction assertNonEmptyString(value: string, name: string): void {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new TypeError(`${name} must be a non-empty string.`);\n }\n}\n\nfunction assertPositiveInteger(value: number, name: string): void {\n if (!Number.isSafeInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer.`);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/image-generation/generate-image.ts"],"sourcesContent":["import type { JsonObject } from \"../completion/types\";\nimport { throwIfAborted } from \"../internal/abort\";\nimport { assertJsonObject } from \"../internal/json-object\";\nimport type { ModelCallOptions } from \"../model-call-options\";\nimport {\n type ResolvedRetryOptions,\n type RetrySetting,\n resolveRetryOptions,\n runWithRetries,\n} from \"../retry\";\nimport type { ImageGenerationModel, ImageGenerationRequest, ImageGenerationResult } from \"./types\";\n\nexport type GenerateImageOptions<Model extends ImageGenerationModel = ImageGenerationModel> = {\n model: Model;\n prompt: string;\n width?: number | undefined;\n height?: number | undefined;\n providerOptions?: JsonObject | undefined;\n retries?: RetrySetting | undefined;\n abortSignal?: AbortSignal | undefined;\n};\n\ntype RawResponseOf<Model> =\n Model extends ImageGenerationModel<infer RawResponse> ? RawResponse : unknown;\n\nexport async function generateImage<Model extends ImageGenerationModel>(\n options: GenerateImageOptions<Model>,\n): Promise<ImageGenerationResult<RawResponseOf<Model>>> {\n assertNonEmptyString(options.prompt, \"Image prompt\");\n throwIfAborted(options.abortSignal);\n const width = options.width ?? 1024;\n const height = options.height ?? 1024;\n assertPositiveInteger(width, \"Image width\");\n assertPositiveInteger(height, \"Image height\");\n\n const request: ImageGenerationRequest = { prompt: options.prompt, width, height };\n if (options.providerOptions !== undefined) {\n assertJsonObject(options.providerOptions, \"providerOptions\");\n request.providerOptions = options.providerOptions;\n }\n const result = await runWithRetries(\n () => {\n throwIfAborted(options.abortSignal);\n return options.model.imageGeneration(\n request,\n modelCallOptions(options.abortSignal),\n ) as Promise<ImageGenerationResult<RawResponseOf<Model>>>;\n },\n resolveRetries(options.retries),\n { streaming: false, abortSignal: options.abortSignal },\n );\n if (!Array.isArray(result.images) || result.images.length === 0) {\n throw new Error(\"The image generation model returned no images.\");\n }\n return result;\n}\n\nfunction resolveRetries(setting: RetrySetting | undefined): ResolvedRetryOptions | undefined {\n return setting === undefined || setting === false ? undefined : resolveRetryOptions(setting);\n}\n\nfunction modelCallOptions(abortSignal: AbortSignal | undefined): ModelCallOptions | undefined {\n return abortSignal === undefined ? undefined : { abortSignal };\n}\n\nfunction assertNonEmptyString(value: string, name: string): void {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new TypeError(`${name} must be a non-empty string.`);\n }\n}\n\nfunction assertPositiveInteger(value: number, name: string): void {\n if (!Number.isSafeInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive integer.`);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAyBA,eAAsB,cACpB,SACsD;AACtD,uBAAqB,QAAQ,QAAQ,cAAc;AACnD,iBAAe,QAAQ,WAAW;AAClC,QAAM,QAAQ,QAAQ,SAAS;AAC/B,QAAM,SAAS,QAAQ,UAAU;AACjC,wBAAsB,OAAO,aAAa;AAC1C,wBAAsB,QAAQ,cAAc;AAE5C,QAAM,UAAkC,EAAE,QAAQ,QAAQ,QAAQ,OAAO,OAAO;AAChF,MAAI,QAAQ,oBAAoB,QAAW;AACzC,qBAAiB,QAAQ,iBAAiB,iBAAiB;AAC3D,YAAQ,kBAAkB,QAAQ;AAAA,EACpC;AACA,QAAM,SAAS,MAAM;AAAA,IACnB,MAAM;AACJ,qBAAe,QAAQ,WAAW;AAClC,aAAO,QAAQ,MAAM;AAAA,QACnB;AAAA,QACA,iBAAiB,QAAQ,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,IACA,eAAe,QAAQ,OAAO;AAAA,IAC9B,EAAE,WAAW,OAAO,aAAa,QAAQ,YAAY;AAAA,EACvD;AACA,MAAI,CAAC,MAAM,QAAQ,OAAO,MAAM,KAAK,OAAO,OAAO,WAAW,GAAG;AAC/D,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;AAEA,SAAS,eAAe,SAAqE;AAC3F,SAAO,YAAY,UAAa,YAAY,QAAQ,SAAY,oBAAoB,OAAO;AAC7F;AAEA,SAAS,iBAAiB,aAAoE;AAC5F,SAAO,gBAAgB,SAAY,SAAY,EAAE,YAAY;AAC/D;AAEA,SAAS,qBAAqB,OAAe,MAAoB;AAC/D,MAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,WAAW,GAAG;AAC1D,UAAM,IAAI,UAAU,GAAG,IAAI,8BAA8B;AAAA,EAC3D;AACF;AAEA,SAAS,sBAAsB,OAAe,MAAoB;AAChE,MAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,GAAG;AAC7C,UAAM,IAAI,WAAW,GAAG,IAAI,8BAA8B;AAAA,EAC5D;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-3J2CSVPR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-3P3YVJ7V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentTeamLimitError
|
|
3
|
+
} from "./chunk-ENZ2XX27.js";
|
|
4
|
+
import {
|
|
5
|
+
createAsyncQueue
|
|
6
|
+
} from "./chunk-EZR5AV3J.js";
|
|
7
|
+
|
|
8
|
+
// src/internal/team-runtime/stream.ts
|
|
9
|
+
var TeamStream = class {
|
|
10
|
+
queue = createAsyncQueue();
|
|
11
|
+
run;
|
|
12
|
+
promise;
|
|
13
|
+
mode;
|
|
14
|
+
iterating = false;
|
|
15
|
+
bufferedEvents = 0;
|
|
16
|
+
bufferError;
|
|
17
|
+
constructor(createRun, maxBufferedEvents) {
|
|
18
|
+
this.run = createRun((event) => {
|
|
19
|
+
if (this.mode !== "events" || this.bufferError !== void 0) return;
|
|
20
|
+
if (this.bufferedEvents >= maxBufferedEvents) {
|
|
21
|
+
this.bufferError = new AgentTeamLimitError("maxBufferedEvents");
|
|
22
|
+
this.queue.throw(this.bufferError, { discardPending: true });
|
|
23
|
+
this.run.cancel("Agent team stream exceeded maxBufferedEvents.");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
this.bufferedEvents += 1;
|
|
27
|
+
this.queue.enqueue(event);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
get events() {
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
get textStream() {
|
|
34
|
+
return this.consumeText();
|
|
35
|
+
}
|
|
36
|
+
get result() {
|
|
37
|
+
if (this.mode === void 0)
|
|
38
|
+
queueMicrotask(() => {
|
|
39
|
+
this.mode ??= "result";
|
|
40
|
+
});
|
|
41
|
+
return this.start();
|
|
42
|
+
}
|
|
43
|
+
get text() {
|
|
44
|
+
return this.result.then((outcome) => outcome.text);
|
|
45
|
+
}
|
|
46
|
+
steer(input) {
|
|
47
|
+
return this.run.steer(input);
|
|
48
|
+
}
|
|
49
|
+
cancel(reason) {
|
|
50
|
+
this.run.cancel(reason);
|
|
51
|
+
}
|
|
52
|
+
[Symbol.asyncIterator]() {
|
|
53
|
+
return this.consume();
|
|
54
|
+
}
|
|
55
|
+
start() {
|
|
56
|
+
if (this.promise === void 0) {
|
|
57
|
+
this.promise = this.run.execute().then(
|
|
58
|
+
(outcome) => {
|
|
59
|
+
if (this.bufferError !== void 0) throw this.bufferError;
|
|
60
|
+
return outcome;
|
|
61
|
+
},
|
|
62
|
+
(error) => {
|
|
63
|
+
throw this.bufferError ?? error;
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
this.promise.then(
|
|
67
|
+
() => this.queue.close(),
|
|
68
|
+
(error) => this.queue.throw(error)
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
return this.promise;
|
|
72
|
+
}
|
|
73
|
+
async *consume() {
|
|
74
|
+
if (this.mode !== void 0 || this.iterating)
|
|
75
|
+
throw new Error("Agent team stream already has a consumer.");
|
|
76
|
+
this.mode = "events";
|
|
77
|
+
this.iterating = true;
|
|
78
|
+
void this.start();
|
|
79
|
+
let completed = false;
|
|
80
|
+
try {
|
|
81
|
+
for await (const event of this.queue) {
|
|
82
|
+
if (this.bufferError !== void 0) throw this.bufferError;
|
|
83
|
+
this.bufferedEvents -= 1;
|
|
84
|
+
yield event;
|
|
85
|
+
}
|
|
86
|
+
completed = true;
|
|
87
|
+
} finally {
|
|
88
|
+
if (!completed) {
|
|
89
|
+
this.mode = "result";
|
|
90
|
+
this.run.cancel("Agent team stream consumer closed.");
|
|
91
|
+
this.queue.close({ discardPending: true });
|
|
92
|
+
}
|
|
93
|
+
this.iterating = false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async *consumeText() {
|
|
97
|
+
for await (const event of this) {
|
|
98
|
+
if (event.type === "agent_event" && event.coordinator && event.event.type === "text_delta")
|
|
99
|
+
yield event.event.delta;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export {
|
|
105
|
+
TeamStream
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=chunk-3TAQXJBC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/team-runtime/stream.ts"],"sourcesContent":["import type { AgentSteerInput, AgentSteerReceipt } from \"../../agent/run-types\";\nimport type { AgentTeamEvent, AgentTeamOutcome, AgentTeamStream } from \"../../agent/team/types\";\nimport { AgentTeamLimitError } from \"../../agent/team/errors\";\nimport { createAsyncQueue } from \"../async-queue\";\nimport type { TeamRun } from \"./run\";\n\n/** Events and final promises share one consumption mode, matching AgentStream. */\nexport class TeamStream<Output> implements AgentTeamStream<Output> {\n private readonly queue = createAsyncQueue<AgentTeamEvent<Output>>();\n private readonly run: TeamRun<Output>;\n private promise: Promise<AgentTeamOutcome<Output>> | undefined;\n private mode: \"events\" | \"result\" | undefined;\n private iterating = false;\n private bufferedEvents = 0;\n private bufferError: AgentTeamLimitError | undefined;\n\n constructor(\n createRun: (emit: (event: AgentTeamEvent<Output>) => void) => TeamRun<Output>,\n maxBufferedEvents: number,\n ) {\n this.run = createRun((event) => {\n if (this.mode !== \"events\" || this.bufferError !== undefined) return;\n if (this.bufferedEvents >= maxBufferedEvents) {\n // Set the error before cancelling: cancellation emits further member events.\n this.bufferError = new AgentTeamLimitError(\"maxBufferedEvents\");\n this.queue.throw(this.bufferError, { discardPending: true });\n this.run.cancel(\"Agent team stream exceeded maxBufferedEvents.\");\n return;\n }\n this.bufferedEvents += 1;\n this.queue.enqueue(event);\n });\n }\n\n get events(): AsyncIterable<AgentTeamEvent<Output>> {\n return this;\n }\n get textStream(): AsyncIterable<string> {\n return this.consumeText();\n }\n get result(): Promise<AgentTeamOutcome<Output>> {\n // Let a synchronous event subscription win, as with AgentStream.result.\n if (this.mode === undefined)\n queueMicrotask(() => {\n this.mode ??= \"result\";\n });\n return this.start();\n }\n get text(): Promise<string> {\n return this.result.then((outcome) => outcome.text);\n }\n\n steer(input: AgentSteerInput): AgentSteerReceipt {\n return this.run.steer(input);\n }\n cancel(reason?: string): void {\n this.run.cancel(reason);\n }\n\n [Symbol.asyncIterator](): AsyncIterator<AgentTeamEvent<Output>> {\n return this.consume();\n }\n\n private start(): Promise<AgentTeamOutcome<Output>> {\n if (this.promise === undefined) {\n this.promise = this.run.execute().then(\n (outcome) => {\n // Overflow can occur while publishing the terminal outcome, after the run closes.\n if (this.bufferError !== undefined) throw this.bufferError;\n return outcome;\n },\n (error: unknown) => {\n throw this.bufferError ?? error;\n },\n );\n // Observe failures for iterator-only consumers. queue.throw records the error and returns.\n this.promise.then(\n () => this.queue.close(),\n (error: unknown) => this.queue.throw(error),\n );\n }\n return this.promise;\n }\n\n private async *consume(): AsyncIterableIterator<AgentTeamEvent<Output>> {\n if (this.mode !== undefined || this.iterating)\n throw new Error(\"Agent team stream already has a consumer.\");\n this.mode = \"events\";\n this.iterating = true;\n void this.start();\n let completed = false;\n try {\n for await (const event of this.queue) {\n if (this.bufferError !== undefined) throw this.bufferError;\n this.bufferedEvents -= 1;\n yield event;\n }\n completed = true;\n } finally {\n if (!completed) {\n this.mode = \"result\";\n this.run.cancel(\"Agent team stream consumer closed.\");\n this.queue.close({ discardPending: true });\n }\n this.iterating = false;\n }\n }\n\n private async *consumeText(): AsyncIterableIterator<string> {\n for await (const event of this) {\n if (event.type === \"agent_event\" && event.coordinator && event.event.type === \"text_delta\")\n yield event.event.delta;\n }\n }\n}\n"],"mappings":";;;;;;;;AAOO,IAAM,aAAN,MAA4D;AAAA,EAChD,QAAQ,iBAAyC;AAAA,EACjD;AAAA,EACT;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB;AAAA,EAER,YACE,WACA,mBACA;AACA,SAAK,MAAM,UAAU,CAAC,UAAU;AAC9B,UAAI,KAAK,SAAS,YAAY,KAAK,gBAAgB,OAAW;AAC9D,UAAI,KAAK,kBAAkB,mBAAmB;AAE5C,aAAK,cAAc,IAAI,oBAAoB,mBAAmB;AAC9D,aAAK,MAAM,MAAM,KAAK,aAAa,EAAE,gBAAgB,KAAK,CAAC;AAC3D,aAAK,IAAI,OAAO,+CAA+C;AAC/D;AAAA,MACF;AACA,WAAK,kBAAkB;AACvB,WAAK,MAAM,QAAQ,KAAK;AAAA,IAC1B,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,SAAgD;AAClD,WAAO;AAAA,EACT;AAAA,EACA,IAAI,aAAoC;AACtC,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EACA,IAAI,SAA4C;AAE9C,QAAI,KAAK,SAAS;AAChB,qBAAe,MAAM;AACnB,aAAK,SAAS;AAAA,MAChB,CAAC;AACH,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,IAAI,OAAwB;AAC1B,WAAO,KAAK,OAAO,KAAK,CAAC,YAAY,QAAQ,IAAI;AAAA,EACnD;AAAA,EAEA,MAAM,OAA2C;AAC/C,WAAO,KAAK,IAAI,MAAM,KAAK;AAAA,EAC7B;AAAA,EACA,OAAO,QAAuB;AAC5B,SAAK,IAAI,OAAO,MAAM;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,aAAa,IAA2C;AAC9D,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEQ,QAA2C;AACjD,QAAI,KAAK,YAAY,QAAW;AAC9B,WAAK,UAAU,KAAK,IAAI,QAAQ,EAAE;AAAA,QAChC,CAAC,YAAY;AAEX,cAAI,KAAK,gBAAgB,OAAW,OAAM,KAAK;AAC/C,iBAAO;AAAA,QACT;AAAA,QACA,CAAC,UAAmB;AAClB,gBAAM,KAAK,eAAe;AAAA,QAC5B;AAAA,MACF;AAEA,WAAK,QAAQ;AAAA,QACX,MAAM,KAAK,MAAM,MAAM;AAAA,QACvB,CAAC,UAAmB,KAAK,MAAM,MAAM,KAAK;AAAA,MAC5C;AAAA,IACF;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAe,UAAyD;AACtE,QAAI,KAAK,SAAS,UAAa,KAAK;AAClC,YAAM,IAAI,MAAM,2CAA2C;AAC7D,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,KAAK,MAAM;AAChB,QAAI,YAAY;AAChB,QAAI;AACF,uBAAiB,SAAS,KAAK,OAAO;AACpC,YAAI,KAAK,gBAAgB,OAAW,OAAM,KAAK;AAC/C,aAAK,kBAAkB;AACvB,cAAM;AAAA,MACR;AACA,kBAAY;AAAA,IACd,UAAE;AACA,UAAI,CAAC,WAAW;AACd,aAAK,OAAO;AACZ,aAAK,IAAI,OAAO,oCAAoC;AACpD,aAAK,MAAM,MAAM,EAAE,gBAAgB,KAAK,CAAC;AAAA,MAC3C;AACA,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,OAAe,cAA6C;AAC1D,qBAAiB,SAAS,MAAM;AAC9B,UAAI,MAAM,SAAS,iBAAiB,MAAM,eAAe,MAAM,MAAM,SAAS;AAC5E,cAAM,MAAM,MAAM;AAAA,IACtB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseMessage
|
|
3
|
+
} from "./chunk-BONQTXRQ.js";
|
|
4
|
+
import {
|
|
5
|
+
isJsonValue
|
|
6
|
+
} from "./chunk-4C7AXYOM.js";
|
|
7
|
+
|
|
8
|
+
// src/tool/tool.ts
|
|
9
|
+
var richToolOutput = /* @__PURE__ */ Symbol.for("anvia.tool-output.content");
|
|
10
|
+
var ToolResultSerializationError = class extends TypeError {
|
|
11
|
+
constructor(output) {
|
|
12
|
+
super("Tool output must be a string, a strict JSON value, or ToolOutput.content(...).");
|
|
13
|
+
this.output = output;
|
|
14
|
+
this.name = "ToolResultSerializationError";
|
|
15
|
+
}
|
|
16
|
+
output;
|
|
17
|
+
};
|
|
18
|
+
var ToolOutput = {
|
|
19
|
+
content(content) {
|
|
20
|
+
return { [richToolOutput]: true, content };
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
function normalizeToolResultOutput(output) {
|
|
24
|
+
if (typeof output === "string") {
|
|
25
|
+
return { type: "text", value: output };
|
|
26
|
+
}
|
|
27
|
+
if (isRichToolOutput(output)) {
|
|
28
|
+
try {
|
|
29
|
+
const message = parseMessage({
|
|
30
|
+
role: "tool",
|
|
31
|
+
content: [
|
|
32
|
+
{
|
|
33
|
+
type: "tool-result",
|
|
34
|
+
toolCallId: "validation",
|
|
35
|
+
toolName: "validation",
|
|
36
|
+
output: { type: "content", value: output.content }
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
if (message.role !== "tool") throw new TypeError("Unexpected message role");
|
|
41
|
+
const result = message.content[0];
|
|
42
|
+
if (result?.type !== "tool-result") throw new TypeError("Unexpected tool result part");
|
|
43
|
+
if (result?.output.type !== "content") throw new TypeError("Unexpected tool output");
|
|
44
|
+
return result.output;
|
|
45
|
+
} catch {
|
|
46
|
+
throw new ToolResultSerializationError(output);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (isJsonValue(output)) {
|
|
50
|
+
return { type: "json", value: output };
|
|
51
|
+
}
|
|
52
|
+
throw new ToolResultSerializationError(output);
|
|
53
|
+
}
|
|
54
|
+
function toolResultContentToText(content) {
|
|
55
|
+
return content.map((item) => item.type === "text" ? item.text : `[file:${item.mediaType}]`).join("\n");
|
|
56
|
+
}
|
|
57
|
+
function isRichToolOutput(value) {
|
|
58
|
+
if (typeof value !== "object" || value === null) return false;
|
|
59
|
+
return Object.getOwnPropertyDescriptor(value, richToolOutput)?.value === true;
|
|
60
|
+
}
|
|
61
|
+
function parseToolArgs(args) {
|
|
62
|
+
const value = JSON.parse(args);
|
|
63
|
+
if (!isJsonValue(value)) {
|
|
64
|
+
throw new TypeError("Tool arguments must be a JSON value.");
|
|
65
|
+
}
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export {
|
|
70
|
+
ToolResultSerializationError,
|
|
71
|
+
ToolOutput,
|
|
72
|
+
normalizeToolResultOutput,
|
|
73
|
+
toolResultContentToText,
|
|
74
|
+
parseToolArgs
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=chunk-47NTHIVB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tool/tool.ts"],"sourcesContent":["import { isJsonValue } from \"../completion/json\";\nimport { parseMessage } from \"../completion/message-schema\";\nimport type {\n JsonObject,\n JsonValue,\n ToolDefinition,\n ToolResultContentPart,\n ToolResultOutput,\n} from \"../completion/types\";\n\nexport type ToolApprovalRunContext = {\n agentId: string;\n runId: string;\n sessionId?: string;\n metadata?: JsonObject;\n};\n\nexport type ToolApprovalContext<Args = unknown> = {\n toolName: string;\n args: Args;\n rawArgs: string;\n toolCallId: string;\n callId?: string;\n internalCallId: string;\n run: ToolApprovalRunContext;\n};\n\nexport type ToolApprovalRequirement = {\n reason?: string | undefined;\n};\n\nexport type ToolRequiresApproval<Args = unknown> =\n | boolean\n | ToolApprovalRequirement\n | ((\n args: Args,\n context: ToolApprovalContext<Args>,\n ) => boolean | ToolApprovalRequirement | Promise<boolean | ToolApprovalRequirement>);\n\nexport type ToolCallStreamEvent = {\n agentId: string;\n agentName?: string | undefined;\n event: unknown;\n};\n\nexport type ToolCallContext = {\n emitStreamEvent?(event: ToolCallStreamEvent): void | Promise<void>;\n abortSignal?: AbortSignal | undefined;\n};\n\nexport interface Tool<Args = unknown, Output = unknown> {\n readonly name: string;\n readonly requiresApproval?: ToolRequiresApproval<Args>;\n definition(prompt: string): ToolDefinition | Promise<ToolDefinition>;\n call(args: Args, context?: ToolCallContext): Output | Promise<Output>;\n parseInput?(args: JsonValue): Args;\n}\n\nexport type AnyTool = Omit<Tool<unknown, unknown>, \"requiresApproval\"> & {\n readonly requiresApproval?: unknown;\n};\n\nconst richToolOutput: unique symbol = Symbol.for(\"anvia.tool-output.content\");\n\nexport type RichToolOutput = Readonly<{\n [richToolOutput]: true;\n content: readonly ToolResultContentPart[];\n}>;\n\nexport type NormalizedToolOutput = ToolResultOutput;\n\nexport class ToolResultSerializationError extends TypeError {\n constructor(readonly output: unknown) {\n super(\"Tool output must be a string, a strict JSON value, or ToolOutput.content(...).\");\n this.name = \"ToolResultSerializationError\";\n }\n}\n\nexport const ToolOutput = {\n content(content: readonly ToolResultContentPart[]): RichToolOutput {\n return { [richToolOutput]: true, content };\n },\n};\n\nexport function normalizeToolResultOutput(output: unknown): NormalizedToolOutput {\n if (typeof output === \"string\") {\n return { type: \"text\", value: output };\n }\n if (isRichToolOutput(output)) {\n try {\n const message = parseMessage({\n role: \"tool\",\n content: [\n {\n type: \"tool-result\",\n toolCallId: \"validation\",\n toolName: \"validation\",\n output: { type: \"content\", value: output.content },\n },\n ],\n });\n if (message.role !== \"tool\") throw new TypeError(\"Unexpected message role\");\n const result = message.content[0];\n if (result?.type !== \"tool-result\") throw new TypeError(\"Unexpected tool result part\");\n if (result?.output.type !== \"content\") throw new TypeError(\"Unexpected tool output\");\n return result.output;\n } catch {\n throw new ToolResultSerializationError(output);\n }\n }\n if (isJsonValue(output)) {\n return { type: \"json\", value: output };\n }\n throw new ToolResultSerializationError(output);\n}\n\nexport function toolResultContentToText(content: readonly ToolResultContentPart[]): string {\n return content\n .map((item) => (item.type === \"text\" ? item.text : `[file:${item.mediaType}]`))\n .join(\"\\n\");\n}\n\nfunction isRichToolOutput(value: unknown): value is RichToolOutput {\n if (typeof value !== \"object\" || value === null) return false;\n return Object.getOwnPropertyDescriptor(value, richToolOutput)?.value === true;\n}\n\nexport function parseToolArgs(args: string): JsonValue {\n const value: unknown = JSON.parse(args);\n if (!isJsonValue(value)) {\n throw new TypeError(\"Tool arguments must be a JSON value.\");\n }\n return value;\n}\n"],"mappings":";;;;;;;;AA8DA,IAAM,iBAAgC,uBAAO,IAAI,2BAA2B;AASrE,IAAM,+BAAN,cAA2C,UAAU;AAAA,EAC1D,YAAqB,QAAiB;AACpC,UAAM,gFAAgF;AADnE;AAEnB,SAAK,OAAO;AAAA,EACd;AAAA,EAHqB;AAIvB;AAEO,IAAM,aAAa;AAAA,EACxB,QAAQ,SAA2D;AACjE,WAAO,EAAE,CAAC,cAAc,GAAG,MAAM,QAAQ;AAAA,EAC3C;AACF;AAEO,SAAS,0BAA0B,QAAuC;AAC/E,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,EACvC;AACA,MAAI,iBAAiB,MAAM,GAAG;AAC5B,QAAI;AACF,YAAM,UAAU,aAAa;AAAA,QAC3B,MAAM;AAAA,QACN,SAAS;AAAA,UACP;AAAA,YACE,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,QAAQ,EAAE,MAAM,WAAW,OAAO,OAAO,QAAQ;AAAA,UACnD;AAAA,QACF;AAAA,MACF,CAAC;AACD,UAAI,QAAQ,SAAS,OAAQ,OAAM,IAAI,UAAU,yBAAyB;AAC1E,YAAM,SAAS,QAAQ,QAAQ,CAAC;AAChC,UAAI,QAAQ,SAAS,cAAe,OAAM,IAAI,UAAU,6BAA6B;AACrF,UAAI,QAAQ,OAAO,SAAS,UAAW,OAAM,IAAI,UAAU,wBAAwB;AACnF,aAAO,OAAO;AAAA,IAChB,QAAQ;AACN,YAAM,IAAI,6BAA6B,MAAM;AAAA,IAC/C;AAAA,EACF;AACA,MAAI,YAAY,MAAM,GAAG;AACvB,WAAO,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,EACvC;AACA,QAAM,IAAI,6BAA6B,MAAM;AAC/C;AAEO,SAAS,wBAAwB,SAAmD;AACzF,SAAO,QACJ,IAAI,CAAC,SAAU,KAAK,SAAS,SAAS,KAAK,OAAO,SAAS,KAAK,SAAS,GAAI,EAC7E,KAAK,IAAI;AACd;AAEA,SAAS,iBAAiB,OAAyC;AACjE,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,SAAO,OAAO,yBAAyB,OAAO,cAAc,GAAG,UAAU;AAC3E;AAEO,SAAS,cAAc,MAAyB;AACrD,QAAM,QAAiB,KAAK,MAAM,IAAI;AACtC,MAAI,CAAC,YAAY,KAAK,GAAG;AACvB,UAAM,IAAI,UAAU,sCAAsC;AAAA,EAC5D;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tool/middleware.ts"],"sourcesContent":["import type {\n CompletionRequest,\n CompletionResponse,\n JsonValue,\n ToolResultContentPart,\n} from \"../completion\";\nimport type { MaybePromise } from \"../internal/type-utils\";\nimport type { AgentRunPromptRef } from \"../observability/types\";\n\nexport type CompletionRequestMiddlewareArgs = {\n turn: number;\n request: CompletionRequest;\n originalRequest: CompletionRequest;\n /** Current generation identity, defaulting to the run's trace.promptRef each turn. */\n promptRef?: AgentRunPromptRef | undefined;\n};\n\nexport type CompletionRequestMiddlewareResult =\n | {\n request: CompletionRequest;\n /** Override this generation's identity; null explicitly clears the run default. */\n promptRef?: AgentRunPromptRef | null | undefined;\n }\n | undefined;\n\nexport type CompletionResponseMiddlewareArgs<RawResponse = unknown> = {\n turn: number;\n request: CompletionRequest;\n response: CompletionResponse<RawResponse>;\n originalResponse: CompletionResponse<RawResponse>;\n};\n\nexport type CompletionResponseMiddlewareResult<RawResponse = unknown> =\n | {\n response: CompletionResponse<RawResponse>;\n }\n | undefined;\n\nexport type ToolInputMiddlewareArgs = {\n toolName: string;\n args: string;\n originalArgs: string;\n turn: number;\n toolCallId?: string | undefined;\n internalCallId: string;\n};\n\nexport type ToolInputMiddlewareResult =\n | {\n args: JsonValue | string;\n }\n | undefined;\n\nexport type ToolResultMiddlewareArgs = {\n toolName: string;\n args: string;\n result: string;\n originalResult: string;\n structuredResult?: readonly ToolResultContentPart[] | undefined;\n originalStructuredResult?: readonly ToolResultContentPart[] | undefined;\n turn: number;\n toolCallId?: string | undefined;\n internalCallId: string;\n};\n\nexport type ToolOutputMiddlewareArgs = ToolResultMiddlewareArgs;\n\nexport type ToolOutputMiddlewareResult =\n | string\n | Readonly<{ result: string; structuredResult?: never }>\n | Readonly<{\n structuredResult: readonly ToolResultContentPart[];\n result?: never;\n }>\n | undefined;\n\nexport interface AgentMiddleware<RawResponse = unknown> {\n onCompletionRequest?(\n args: CompletionRequestMiddlewareArgs,\n ): MaybePromise<CompletionRequestMiddlewareResult>;\n onCompletionResponse?(\n args: CompletionResponseMiddlewareArgs<RawResponse>,\n ): MaybePromise<CompletionResponseMiddlewareResult<RawResponse>>;\n onToolInput?(args: ToolInputMiddlewareArgs): MaybePromise<ToolInputMiddlewareResult>;\n onToolOutput?(args: ToolOutputMiddlewareArgs): MaybePromise<ToolOutputMiddlewareResult>;\n}\n\nexport function createMiddleware<RawResponse = unknown>(\n middleware: AgentMiddleware<RawResponse>,\n): AgentMiddleware<RawResponse> {\n return middleware;\n}\n"],"mappings":";AAuFO,SAAS,iBACd,YAC8B;AAC9B,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-4ITAV7YA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isJsonValue
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4C7AXYOM.js";
|
|
4
4
|
|
|
5
5
|
// src/internal/json-object.ts
|
|
6
6
|
function assertJsonObject(value, name) {
|
|
@@ -12,4 +12,4 @@ function assertJsonObject(value, name) {
|
|
|
12
12
|
export {
|
|
13
13
|
assertJsonObject
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-4ONUNWGC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-4UUIGAIX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-53TPAXYR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TeamPolicy
|
|
3
|
+
} from "./chunk-X6WS3XWL.js";
|
|
4
|
+
import {
|
|
5
|
+
TeamRun
|
|
6
|
+
} from "./chunk-TSPQD5HW.js";
|
|
7
|
+
import {
|
|
8
|
+
TeamStream
|
|
9
|
+
} from "./chunk-3TAQXJBC.js";
|
|
10
|
+
import {
|
|
11
|
+
Agent
|
|
12
|
+
} from "./chunk-B5YTCKUJ.js";
|
|
13
|
+
import {
|
|
14
|
+
assertPositiveSafeInteger
|
|
15
|
+
} from "./chunk-NPJ2T3L5.js";
|
|
16
|
+
|
|
17
|
+
// src/agent/team/agent-team.ts
|
|
18
|
+
var AgentTeam = class {
|
|
19
|
+
id;
|
|
20
|
+
members;
|
|
21
|
+
limits;
|
|
22
|
+
coordinator;
|
|
23
|
+
policy;
|
|
24
|
+
constructor(options) {
|
|
25
|
+
this.coordinator = new Agent(options);
|
|
26
|
+
this.id = this.coordinator.id;
|
|
27
|
+
if (!Array.isArray(options.members)) throw new TypeError("AgentTeam requires a members array.");
|
|
28
|
+
const ids = /* @__PURE__ */ new Set();
|
|
29
|
+
for (const member of options.members) {
|
|
30
|
+
if (!(member instanceof Agent))
|
|
31
|
+
throw new TypeError("AgentTeam members must be Agent instances.");
|
|
32
|
+
if (ids.has(member.id)) throw new TypeError(`Duplicate AgentTeam member ID: ${member.id}`);
|
|
33
|
+
if (!/^[a-zA-Z0-9_-]{1,58}$/.test(member.id))
|
|
34
|
+
throw new TypeError(
|
|
35
|
+
"AgentTeam member IDs must form valid spawn tool names (1\u201358 letters, digits, underscores, or hyphens)."
|
|
36
|
+
);
|
|
37
|
+
ids.add(member.id);
|
|
38
|
+
}
|
|
39
|
+
const reserved = /* @__PURE__ */ new Set([
|
|
40
|
+
"send_message",
|
|
41
|
+
"wait_for_agent",
|
|
42
|
+
"list_agents",
|
|
43
|
+
"cancel_agent",
|
|
44
|
+
...[...ids].map((id) => `spawn_${id}`)
|
|
45
|
+
]);
|
|
46
|
+
for (const agent of [this.coordinator, ...options.members]) {
|
|
47
|
+
for (const tool of agent.tools) {
|
|
48
|
+
if (reserved.has(tool.name))
|
|
49
|
+
throw new TypeError(`Tool "${tool.name}" conflicts with an AgentTeam tool.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.members = Object.freeze([...options.members]);
|
|
53
|
+
this.policy = new TeamPolicy(this.members, options.communication, options.spawning);
|
|
54
|
+
this.limits = Object.freeze({
|
|
55
|
+
maxDepth: assertPositiveSafeInteger(options.limits?.maxDepth ?? 3, "maxDepth"),
|
|
56
|
+
maxConcurrentAgents: assertPositiveSafeInteger(
|
|
57
|
+
options.limits?.maxConcurrentAgents ?? 4,
|
|
58
|
+
"maxConcurrentAgents"
|
|
59
|
+
),
|
|
60
|
+
maxAgentInstances: assertPositiveSafeInteger(
|
|
61
|
+
options.limits?.maxAgentInstances ?? 12,
|
|
62
|
+
"maxAgentInstances"
|
|
63
|
+
),
|
|
64
|
+
maxTotalTurns: assertPositiveSafeInteger(
|
|
65
|
+
options.limits?.maxTotalTurns ?? 100,
|
|
66
|
+
"maxTotalTurns"
|
|
67
|
+
),
|
|
68
|
+
maxBufferedEvents: assertPositiveSafeInteger(
|
|
69
|
+
options.limits?.maxBufferedEvents ?? 1024,
|
|
70
|
+
"maxBufferedEvents"
|
|
71
|
+
)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
generate(options) {
|
|
75
|
+
return this.createStream(options, false).result;
|
|
76
|
+
}
|
|
77
|
+
stream(options) {
|
|
78
|
+
return this.createStream(options, true);
|
|
79
|
+
}
|
|
80
|
+
createStream(options, streaming) {
|
|
81
|
+
if (typeof options !== "object" || options === null || options.prompt === void 0 === (options.messages === void 0)) {
|
|
82
|
+
throw new TypeError("AgentTeam runs require exactly one of prompt or messages.");
|
|
83
|
+
}
|
|
84
|
+
if (options.resolveInteraction !== void 0 && typeof options.resolveInteraction !== "function") {
|
|
85
|
+
throw new TypeError("resolveInteraction must be a function.");
|
|
86
|
+
}
|
|
87
|
+
return new TeamStream(
|
|
88
|
+
(emit) => (
|
|
89
|
+
// The scheduler runs heterogeneous definitions. Public inputs are checked against M above.
|
|
90
|
+
new TeamRun(
|
|
91
|
+
this.coordinator,
|
|
92
|
+
this.policy,
|
|
93
|
+
this.limits,
|
|
94
|
+
{ ...options },
|
|
95
|
+
streaming,
|
|
96
|
+
emit
|
|
97
|
+
)
|
|
98
|
+
),
|
|
99
|
+
this.limits.maxBufferedEvents
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export {
|
|
105
|
+
AgentTeam
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=chunk-5AETKC4L.js.map
|