@anvia/core 1.1.2 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-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-4S4OECPW.js +158 -0
- package/dist/chunk-4S4OECPW.js.map +1 -0
- 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-54ZZJRP2.js +57 -0
- package/dist/chunk-54ZZJRP2.js.map +1 -0
- package/dist/chunk-5FCZ64HM.js +112 -0
- package/dist/chunk-5FCZ64HM.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-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-72LBHKYP.js +236 -0
- package/dist/chunk-72LBHKYP.js.map +1 -0
- package/dist/chunk-7F53DOML.js +53 -0
- package/dist/chunk-7F53DOML.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-AOG6KSV4.js +107 -0
- package/dist/chunk-AOG6KSV4.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-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-2QZJTG2E.js → chunk-G336L2IE.js} +11 -71
- package/dist/chunk-G336L2IE.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-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-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-MNYMLWWA.js +168 -0
- package/dist/chunk-MNYMLWWA.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-O6DTOCBM.js +355 -0
- package/dist/chunk-O6DTOCBM.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-QHGYCYV6.js +91 -0
- package/dist/chunk-QHGYCYV6.js.map +1 -0
- package/dist/chunk-QUS6S2NB.js +663 -0
- package/dist/chunk-QUS6S2NB.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-SC4SUIEY.js +1 -0
- package/dist/chunk-SC4SUIEY.js.map +1 -0
- package/dist/chunk-SIYZDPVH.js +613 -0
- package/dist/chunk-SIYZDPVH.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-T4IAJJUU.js +48 -0
- package/dist/chunk-T4IAJJUU.js.map +1 -0
- 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-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-Y7JTHNCU.js +318 -0
- package/dist/chunk-Y7JTHNCU.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 +4 -37
- package/dist/streaming/index.js.map +1 -1
- package/dist/streaming/readable-stream.js +8 -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,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createSkillTools
|
|
3
|
+
} from "./chunk-BDDC72GF.js";
|
|
4
|
+
import {
|
|
5
|
+
skillInstructions
|
|
6
|
+
} from "./chunk-JBQNCUXA.js";
|
|
7
|
+
|
|
8
|
+
// src/skills/load.ts
|
|
9
|
+
async function loadSkills(loaders) {
|
|
10
|
+
const ordered = Array.isArray(loaders) ? loaders : [loaders];
|
|
11
|
+
const byName = /* @__PURE__ */ new Map();
|
|
12
|
+
for (const loader of ordered) {
|
|
13
|
+
for (const loaded of await loader.load()) {
|
|
14
|
+
byName.delete(loaded.name);
|
|
15
|
+
byName.set(loaded.name, loaded);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const skills = [...byName.values()];
|
|
19
|
+
return {
|
|
20
|
+
skills,
|
|
21
|
+
instructions: skillInstructions(skills),
|
|
22
|
+
tools: skills.length === 0 ? [] : createSkillTools(skills)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
loadSkills
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=chunk-KZGSXJKU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/skills/load.ts"],"sourcesContent":["import { skillInstructions } from \"./instructions\";\nimport { createSkillTools } from \"./tools\";\nimport type { Skill, SkillLoader, SkillSet } from \"./types\";\n\nexport async function loadSkills(loaders: SkillLoader | SkillLoader[]): Promise<SkillSet> {\n const ordered = Array.isArray(loaders) ? loaders : [loaders];\n const byName = new Map<string, Skill>();\n\n for (const loader of ordered) {\n for (const loaded of await loader.load()) {\n byName.delete(loaded.name);\n byName.set(loaded.name, loaded);\n }\n }\n\n const skills = [...byName.values()];\n return {\n skills,\n instructions: skillInstructions(skills),\n tools: skills.length === 0 ? [] : createSkillTools(skills),\n };\n}\n"],"mappings":";;;;;;;;AAIA,eAAsB,WAAW,SAAyD;AACxF,QAAM,UAAU,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAC3D,QAAM,SAAS,oBAAI,IAAmB;AAEtC,aAAW,UAAU,SAAS;AAC5B,eAAW,UAAU,MAAM,OAAO,KAAK,GAAG;AACxC,aAAO,OAAO,OAAO,IAAI;AACzB,aAAO,IAAI,OAAO,MAAM,MAAM;AAAA,IAChC;AAAA,EACF;AAEA,QAAM,SAAS,CAAC,GAAG,OAAO,OAAO,CAAC;AAClC,SAAO;AAAA,IACL;AAAA,IACA,cAAc,kBAAkB,MAAM;AAAA,IACtC,OAAO,OAAO,WAAW,IAAI,CAAC,IAAI,iBAAiB,MAAM;AAAA,EAC3D;AACF;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
lifecycleSnapshot
|
|
3
|
+
} from "./chunk-KFAVEL5F.js";
|
|
4
|
+
|
|
5
|
+
// src/internal/agent-runtime/memory-scope.ts
|
|
6
|
+
function normalizeMemoryScope(scope, owner = "Agent") {
|
|
7
|
+
if (typeof scope !== "object" || scope === null || Array.isArray(scope)) {
|
|
8
|
+
throw new TypeError(`${owner} session must be an object.`);
|
|
9
|
+
}
|
|
10
|
+
if (typeof scope.sessionId !== "string" || scope.sessionId.trim().length === 0) {
|
|
11
|
+
throw new TypeError(`${owner} sessionId must be a non-empty string.`);
|
|
12
|
+
}
|
|
13
|
+
const normalized = {
|
|
14
|
+
sessionId: scope.sessionId.trim()
|
|
15
|
+
};
|
|
16
|
+
if (scope.userId !== void 0) normalized.userId = scope.userId;
|
|
17
|
+
if (scope.metadata !== void 0) normalized.metadata = scope.metadata;
|
|
18
|
+
return lifecycleSnapshot(normalized);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
normalizeMemoryScope
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=chunk-LAIATEUB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/agent-runtime/memory-scope.ts"],"sourcesContent":["import { lifecycleSnapshot } from \"../../agent/lifecycle\";\nimport type { MemoryScope } from \"../../memory/types\";\n\nexport function normalizeMemoryScope(scope: MemoryScope, owner = \"Agent\"): MemoryScope {\n if (typeof scope !== \"object\" || scope === null || Array.isArray(scope)) {\n throw new TypeError(`${owner} session must be an object.`);\n }\n if (typeof scope.sessionId !== \"string\" || scope.sessionId.trim().length === 0) {\n throw new TypeError(`${owner} sessionId must be a non-empty string.`);\n }\n const normalized: MemoryScope = {\n sessionId: scope.sessionId.trim(),\n };\n if (scope.userId !== undefined) normalized.userId = scope.userId;\n if (scope.metadata !== undefined) normalized.metadata = scope.metadata;\n return lifecycleSnapshot(normalized);\n}\n"],"mappings":";;;;;AAGO,SAAS,qBAAqB,OAAoB,QAAQ,SAAsB;AACrF,MAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GAAG;AACvE,UAAM,IAAI,UAAU,GAAG,KAAK,6BAA6B;AAAA,EAC3D;AACA,MAAI,OAAO,MAAM,cAAc,YAAY,MAAM,UAAU,KAAK,EAAE,WAAW,GAAG;AAC9E,UAAM,IAAI,UAAU,GAAG,KAAK,wCAAwC;AAAA,EACtE;AACA,QAAM,aAA0B;AAAA,IAC9B,WAAW,MAAM,UAAU,KAAK;AAAA,EAClC;AACA,MAAI,MAAM,WAAW,OAAW,YAAW,SAAS,MAAM;AAC1D,MAAI,MAAM,aAAa,OAAW,YAAW,WAAW,MAAM;AAC9D,SAAO,kBAAkB,UAAU;AACrC;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isJsonValue
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4C7AXYOM.js";
|
|
4
4
|
|
|
5
5
|
// src/agent/interactions.ts
|
|
6
6
|
import { z } from "zod";
|
|
@@ -161,4 +161,4 @@ export {
|
|
|
161
161
|
parseAgentContinuation,
|
|
162
162
|
assertAgentInteractionResponse
|
|
163
163
|
};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-LBYJPMHC.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
extract
|
|
3
|
+
} from "./chunk-UOGM62JL.js";
|
|
4
|
+
import {
|
|
5
|
+
Usage
|
|
6
|
+
} from "./chunk-IDNL6IH4.js";
|
|
7
|
+
|
|
8
|
+
// src/evals/judge.ts
|
|
9
|
+
async function runJudge(args) {
|
|
10
|
+
const result = await extract({
|
|
11
|
+
model: args.model,
|
|
12
|
+
outputSchema: args.schema,
|
|
13
|
+
instructions: args.instructions,
|
|
14
|
+
text: args.prompt,
|
|
15
|
+
temperature: 0,
|
|
16
|
+
retries: args.retries <= 0 ? void 0 : { maxAttempts: Math.trunc(args.retries) + 1 }
|
|
17
|
+
});
|
|
18
|
+
return { data: result.output, usage: result.usage };
|
|
19
|
+
}
|
|
20
|
+
function addUsage(...values) {
|
|
21
|
+
return values.reduce((total, usage) => Usage.add(total, usage), Usage.empty());
|
|
22
|
+
}
|
|
23
|
+
function evaluationMetadata(details, usage) {
|
|
24
|
+
const evaluation = {
|
|
25
|
+
...details,
|
|
26
|
+
usage: usageToJson(usage)
|
|
27
|
+
};
|
|
28
|
+
return { evaluation };
|
|
29
|
+
}
|
|
30
|
+
function usageToJson(usage) {
|
|
31
|
+
const value = {
|
|
32
|
+
inputTokens: usage.inputTokens,
|
|
33
|
+
outputTokens: usage.outputTokens,
|
|
34
|
+
totalTokens: usage.totalTokens,
|
|
35
|
+
cachedInputTokens: usage.cachedInputTokens,
|
|
36
|
+
cacheCreationInputTokens: usage.cacheCreationInputTokens
|
|
37
|
+
};
|
|
38
|
+
if (usage.details !== void 0) {
|
|
39
|
+
value.details = { ...usage.details };
|
|
40
|
+
}
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
runJudge,
|
|
46
|
+
addUsage,
|
|
47
|
+
evaluationMetadata
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=chunk-LKIABZNR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/evals/judge.ts"],"sourcesContent":["import type { CompletionModel, JsonObject, Usage } from \"../completion\";\nimport { Usage as UsageValue } from \"../completion\";\nimport { extract } from \"../extractor\";\nimport type { ZodSchema } from \"../schema\";\nimport type { EvalMetadata } from \"./types\";\n\nexport type JudgeResult<T> = {\n data: T;\n usage: Usage;\n};\n\nexport async function runJudge<T>(args: {\n model: CompletionModel;\n schema: ZodSchema<T>;\n instructions: string;\n prompt: string;\n retries: number;\n}): Promise<JudgeResult<T>> {\n const result = await extract({\n model: args.model,\n outputSchema: args.schema,\n instructions: args.instructions,\n text: args.prompt,\n temperature: 0,\n retries: args.retries <= 0 ? undefined : { maxAttempts: Math.trunc(args.retries) + 1 },\n });\n return { data: result.output, usage: result.usage };\n}\n\nexport function addUsage(...values: Usage[]): Usage {\n return values.reduce((total, usage) => UsageValue.add(total, usage), UsageValue.empty());\n}\n\nexport function evaluationMetadata(details: JsonObject, usage: Usage): EvalMetadata {\n const evaluation: JsonObject = {\n ...details,\n usage: usageToJson(usage),\n };\n return { evaluation };\n}\n\nfunction usageToJson(usage: Usage): JsonObject {\n const value: JsonObject = {\n inputTokens: usage.inputTokens,\n outputTokens: usage.outputTokens,\n totalTokens: usage.totalTokens,\n cachedInputTokens: usage.cachedInputTokens,\n cacheCreationInputTokens: usage.cacheCreationInputTokens,\n };\n if (usage.details !== undefined) {\n value.details = { ...usage.details };\n }\n return value;\n}\n"],"mappings":";;;;;;;;AAWA,eAAsB,SAAY,MAMN;AAC1B,QAAM,SAAS,MAAM,QAAQ;AAAA,IAC3B,OAAO,KAAK;AAAA,IACZ,cAAc,KAAK;AAAA,IACnB,cAAc,KAAK;AAAA,IACnB,MAAM,KAAK;AAAA,IACX,aAAa;AAAA,IACb,SAAS,KAAK,WAAW,IAAI,SAAY,EAAE,aAAa,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE;AAAA,EACvF,CAAC;AACD,SAAO,EAAE,MAAM,OAAO,QAAQ,OAAO,OAAO,MAAM;AACpD;AAEO,SAAS,YAAY,QAAwB;AAClD,SAAO,OAAO,OAAO,CAAC,OAAO,UAAU,MAAW,IAAI,OAAO,KAAK,GAAG,MAAW,MAAM,CAAC;AACzF;AAEO,SAAS,mBAAmB,SAAqB,OAA4B;AAClF,QAAM,aAAyB;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,YAAY,KAAK;AAAA,EAC1B;AACA,SAAO,EAAE,WAAW;AACtB;AAEA,SAAS,YAAY,OAA0B;AAC7C,QAAM,QAAoB;AAAA,IACxB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,aAAa,MAAM;AAAA,IACnB,mBAAmB,MAAM;AAAA,IACzB,0BAA0B,MAAM;AAAA,EAClC;AACA,MAAI,MAAM,YAAY,QAAW;AAC/B,UAAM,UAAU,EAAE,GAAG,MAAM,QAAQ;AAAA,EACrC;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/memory/errors.ts
|
|
2
|
+
var MemoryCompactionError = class extends Error {
|
|
3
|
+
usage;
|
|
4
|
+
constructor(message, options = {}) {
|
|
5
|
+
super(message, options);
|
|
6
|
+
this.name = "MemoryCompactionError";
|
|
7
|
+
this.usage = options.usage;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var MemoryCompactionConflictError = class extends MemoryCompactionError {
|
|
11
|
+
constructor(attempts, usage) {
|
|
12
|
+
super(`Memory compaction could not commit after ${attempts} concurrent update attempts.`, {
|
|
13
|
+
usage
|
|
14
|
+
});
|
|
15
|
+
this.name = "MemoryCompactionConflictError";
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
MemoryCompactionError,
|
|
21
|
+
MemoryCompactionConflictError
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=chunk-LQJ4KHMY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/memory/errors.ts"],"sourcesContent":["import type { Usage } from \"../completion/types\";\n\nexport class MemoryCompactionError extends Error {\n readonly usage: Usage | undefined;\n\n constructor(message: string, options: ErrorOptions & { usage?: Usage | undefined } = {}) {\n super(message, options);\n this.name = \"MemoryCompactionError\";\n this.usage = options.usage;\n }\n}\n\nexport class MemoryCompactionConflictError extends MemoryCompactionError {\n constructor(attempts: number, usage?: Usage) {\n super(`Memory compaction could not commit after ${attempts} concurrent update attempts.`, {\n usage,\n });\n this.name = \"MemoryCompactionConflictError\";\n }\n}\n"],"mappings":";AAEO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EACtC;AAAA,EAET,YAAY,SAAiB,UAAwD,CAAC,GAAG;AACvF,UAAM,SAAS,OAAO;AACtB,SAAK,OAAO;AACZ,SAAK,QAAQ,QAAQ;AAAA,EACvB;AACF;AAEO,IAAM,gCAAN,cAA4C,sBAAsB;AAAA,EACvE,YAAY,UAAkB,OAAe;AAC3C,UAAM,4CAA4C,QAAQ,gCAAgC;AAAA,MACxF;AAAA,IACF,CAAC;AACD,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-MEN4AFDZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
normalizeToolResultOutput,
|
|
3
|
+
parseToolArgs
|
|
4
|
+
} from "./chunk-47NTHIVB.js";
|
|
5
|
+
import {
|
|
6
|
+
ToolCallError,
|
|
7
|
+
ToolJsonError
|
|
8
|
+
} from "./chunk-J6S6MT7O.js";
|
|
9
|
+
|
|
10
|
+
// src/internal/agent-runtime/prepared-tool-call.ts
|
|
11
|
+
var preparedToolInputSymbol = /* @__PURE__ */ Symbol("preparedToolInput");
|
|
12
|
+
var preparedToolOwnerSymbol = /* @__PURE__ */ Symbol("preparedToolOwner");
|
|
13
|
+
function attachPreparedToolOwner(tool, owner) {
|
|
14
|
+
Object.defineProperty(tool, preparedToolOwnerSymbol, {
|
|
15
|
+
configurable: false,
|
|
16
|
+
enumerable: true,
|
|
17
|
+
value: owner,
|
|
18
|
+
writable: false
|
|
19
|
+
});
|
|
20
|
+
return tool;
|
|
21
|
+
}
|
|
22
|
+
function preparedToolInput(context, owner) {
|
|
23
|
+
if (context === void 0 || !(preparedToolInputSymbol in context)) {
|
|
24
|
+
return void 0;
|
|
25
|
+
}
|
|
26
|
+
const prepared = context[preparedToolInputSymbol];
|
|
27
|
+
return prepared?.owner === owner ? { input: prepared.input } : void 0;
|
|
28
|
+
}
|
|
29
|
+
function withoutPreparedToolInput(context) {
|
|
30
|
+
if (!(preparedToolInputSymbol in context)) {
|
|
31
|
+
return context;
|
|
32
|
+
}
|
|
33
|
+
const { [preparedToolInputSymbol]: _prepared, ...publicContext } = context;
|
|
34
|
+
return publicContext;
|
|
35
|
+
}
|
|
36
|
+
function prepareToolCall(tool, args) {
|
|
37
|
+
let rawInput;
|
|
38
|
+
try {
|
|
39
|
+
rawInput = parseToolArgs(args);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new ToolJsonError(`Invalid JSON arguments for tool ${tool.name}`, error);
|
|
42
|
+
}
|
|
43
|
+
let input;
|
|
44
|
+
try {
|
|
45
|
+
input = tool.parseInput === void 0 ? rawInput : tool.parseInput(rawInput);
|
|
46
|
+
} catch (error) {
|
|
47
|
+
throw asToolCallError(tool.name, error);
|
|
48
|
+
}
|
|
49
|
+
return prepareToolCallFromInput(tool, input);
|
|
50
|
+
}
|
|
51
|
+
function prepareToolCallFromInput(tool, input) {
|
|
52
|
+
return {
|
|
53
|
+
input,
|
|
54
|
+
async call(context) {
|
|
55
|
+
try {
|
|
56
|
+
const owner = tool[preparedToolOwnerSymbol];
|
|
57
|
+
return normalizeToolResultOutput(
|
|
58
|
+
await tool.call(
|
|
59
|
+
input,
|
|
60
|
+
owner === void 0 ? context : withPreparedToolInput(context, owner, input)
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
throw asToolCallError(tool.name, error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function withPreparedToolInput(context, owner, input) {
|
|
70
|
+
const preparedContext = { ...context };
|
|
71
|
+
Object.defineProperty(preparedContext, preparedToolInputSymbol, {
|
|
72
|
+
configurable: false,
|
|
73
|
+
enumerable: true,
|
|
74
|
+
value: { owner, input },
|
|
75
|
+
writable: false
|
|
76
|
+
});
|
|
77
|
+
return preparedContext;
|
|
78
|
+
}
|
|
79
|
+
function asToolCallError(toolName, error) {
|
|
80
|
+
if (error instanceof ToolCallError) {
|
|
81
|
+
return error;
|
|
82
|
+
}
|
|
83
|
+
return error instanceof Error ? new ToolCallError(error.message, error) : new ToolCallError(`Tool ${toolName} failed`, error);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
attachPreparedToolOwner,
|
|
88
|
+
preparedToolInput,
|
|
89
|
+
withoutPreparedToolInput,
|
|
90
|
+
prepareToolCall,
|
|
91
|
+
prepareToolCallFromInput
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=chunk-MHOJJYDK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/agent-runtime/prepared-tool-call.ts"],"sourcesContent":["import { ToolCallError, ToolJsonError } from \"../../tool/errors\";\nimport {\n type AnyTool,\n type NormalizedToolOutput,\n normalizeToolResultOutput,\n parseToolArgs,\n type ToolCallContext,\n} from \"../../tool/tool\";\n\nconst preparedToolInputSymbol = Symbol(\"preparedToolInput\");\nconst preparedToolOwnerSymbol = Symbol(\"preparedToolOwner\");\n\nexport type PreparedToolCall = {\n input: unknown;\n call(context: ToolCallContext): Promise<NormalizedToolOutput>;\n};\n\ntype PreparedToolCallContext = ToolCallContext & {\n [preparedToolInputSymbol]?: { owner: object; input: unknown };\n};\n\ntype ToolWithPreparedOwner = AnyTool & {\n [preparedToolOwnerSymbol]?: object;\n};\n\nexport function attachPreparedToolOwner<T extends AnyTool>(tool: T, owner: object): T {\n Object.defineProperty(tool, preparedToolOwnerSymbol, {\n configurable: false,\n enumerable: true,\n value: owner,\n writable: false,\n });\n return tool;\n}\n\nexport function preparedToolInput(\n context: ToolCallContext | undefined,\n owner: object,\n): { input: unknown } | undefined {\n if (context === undefined || !(preparedToolInputSymbol in context)) {\n return undefined;\n }\n const prepared = (context as PreparedToolCallContext)[preparedToolInputSymbol];\n return prepared?.owner === owner ? { input: prepared.input } : undefined;\n}\n\nexport function withoutPreparedToolInput(context: ToolCallContext): ToolCallContext {\n if (!(preparedToolInputSymbol in context)) {\n return context;\n }\n const { [preparedToolInputSymbol]: _prepared, ...publicContext } =\n context as PreparedToolCallContext;\n return publicContext;\n}\n\nexport function prepareToolCall(tool: AnyTool, args: string): PreparedToolCall {\n let rawInput: ReturnType<typeof parseToolArgs>;\n try {\n rawInput = parseToolArgs(args);\n } catch (error) {\n throw new ToolJsonError(`Invalid JSON arguments for tool ${tool.name}`, error);\n }\n\n let input: unknown;\n try {\n input = tool.parseInput === undefined ? rawInput : tool.parseInput(rawInput);\n } catch (error) {\n throw asToolCallError(tool.name, error);\n }\n\n return prepareToolCallFromInput(tool, input);\n}\n\nexport function prepareToolCallFromInput(tool: AnyTool, input: unknown): PreparedToolCall {\n return {\n input,\n async call(context) {\n try {\n const owner = (tool as ToolWithPreparedOwner)[preparedToolOwnerSymbol];\n return normalizeToolResultOutput(\n await tool.call(\n input,\n owner === undefined ? context : withPreparedToolInput(context, owner, input),\n ),\n );\n } catch (error) {\n throw asToolCallError(tool.name, error);\n }\n },\n };\n}\n\nfunction withPreparedToolInput(\n context: ToolCallContext,\n owner: object,\n input: unknown,\n): ToolCallContext {\n const preparedContext: PreparedToolCallContext = { ...context };\n Object.defineProperty(preparedContext, preparedToolInputSymbol, {\n configurable: false,\n enumerable: true,\n value: { owner, input },\n writable: false,\n });\n return preparedContext;\n}\n\nfunction asToolCallError(toolName: string, error: unknown): ToolCallError {\n if (error instanceof ToolCallError) {\n return error;\n }\n return error instanceof Error\n ? new ToolCallError(error.message, error)\n : new ToolCallError(`Tool ${toolName} failed`, error);\n}\n"],"mappings":";;;;;;;;;;AASA,IAAM,0BAA0B,uBAAO,mBAAmB;AAC1D,IAAM,0BAA0B,uBAAO,mBAAmB;AAenD,SAAS,wBAA2C,MAAS,OAAkB;AACpF,SAAO,eAAe,MAAM,yBAAyB;AAAA,IACnD,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AACD,SAAO;AACT;AAEO,SAAS,kBACd,SACA,OACgC;AAChC,MAAI,YAAY,UAAa,EAAE,2BAA2B,UAAU;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAY,QAAoC,uBAAuB;AAC7E,SAAO,UAAU,UAAU,QAAQ,EAAE,OAAO,SAAS,MAAM,IAAI;AACjE;AAEO,SAAS,yBAAyB,SAA2C;AAClF,MAAI,EAAE,2BAA2B,UAAU;AACzC,WAAO;AAAA,EACT;AACA,QAAM,EAAE,CAAC,uBAAuB,GAAG,WAAW,GAAG,cAAc,IAC7D;AACF,SAAO;AACT;AAEO,SAAS,gBAAgB,MAAe,MAAgC;AAC7E,MAAI;AACJ,MAAI;AACF,eAAW,cAAc,IAAI;AAAA,EAC/B,SAAS,OAAO;AACd,UAAM,IAAI,cAAc,mCAAmC,KAAK,IAAI,IAAI,KAAK;AAAA,EAC/E;AAEA,MAAI;AACJ,MAAI;AACF,YAAQ,KAAK,eAAe,SAAY,WAAW,KAAK,WAAW,QAAQ;AAAA,EAC7E,SAAS,OAAO;AACd,UAAM,gBAAgB,KAAK,MAAM,KAAK;AAAA,EACxC;AAEA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;AAEO,SAAS,yBAAyB,MAAe,OAAkC;AACxF,SAAO;AAAA,IACL;AAAA,IACA,MAAM,KAAK,SAAS;AAClB,UAAI;AACF,cAAM,QAAS,KAA+B,uBAAuB;AACrE,eAAO;AAAA,UACL,MAAM,KAAK;AAAA,YACT;AAAA,YACA,UAAU,SAAY,UAAU,sBAAsB,SAAS,OAAO,KAAK;AAAA,UAC7E;AAAA,QACF;AAAA,MACF,SAAS,OAAO;AACd,cAAM,gBAAgB,KAAK,MAAM,KAAK;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,sBACP,SACA,OACA,OACiB;AACjB,QAAM,kBAA2C,EAAE,GAAG,QAAQ;AAC9D,SAAO,eAAe,iBAAiB,yBAAyB;AAAA,IAC9D,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO,EAAE,OAAO,MAAM;AAAA,IACtB,UAAU;AAAA,EACZ,CAAC;AACD,SAAO;AACT;AAEA,SAAS,gBAAgB,UAAkB,OAA+B;AACxE,MAAI,iBAAiB,eAAe;AAClC,WAAO;AAAA,EACT;AACA,SAAO,iBAAiB,QACpB,IAAI,cAAc,MAAM,SAAS,KAAK,IACtC,IAAI,cAAc,QAAQ,QAAQ,WAAW,KAAK;AACxD;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/internal/rag-text.ts
|
|
2
|
+
function extractRagText(message) {
|
|
3
|
+
if (message.role === "user") {
|
|
4
|
+
if (typeof message.content === "string") {
|
|
5
|
+
return message.content;
|
|
6
|
+
}
|
|
7
|
+
return message.content.flatMap((item) => item.type === "text" ? [item.text] : []).join("\n");
|
|
8
|
+
}
|
|
9
|
+
if (message.role === "tool") {
|
|
10
|
+
return message.content.flatMap((item) => {
|
|
11
|
+
if (item.type !== "tool-result") {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const output = item.output;
|
|
15
|
+
if (output.type === "text" || output.type === "error-text") {
|
|
16
|
+
return [output.value];
|
|
17
|
+
}
|
|
18
|
+
if (output.type === "content") {
|
|
19
|
+
return output.value.flatMap((part) => part.type === "text" ? [part.text] : []);
|
|
20
|
+
}
|
|
21
|
+
return [];
|
|
22
|
+
}).join("\n");
|
|
23
|
+
}
|
|
24
|
+
return void 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
extractRagText
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=chunk-MJCMKZFP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/rag-text.ts"],"sourcesContent":["import type { Message as MessageType } from \"../completion/index\";\n\nexport function extractRagText(message: MessageType): string | undefined {\n if (message.role === \"user\") {\n if (typeof message.content === \"string\") {\n return message.content;\n }\n return message.content.flatMap((item) => (item.type === \"text\" ? [item.text] : [])).join(\"\\n\");\n }\n\n if (message.role === \"tool\") {\n return message.content\n .flatMap((item) => {\n if (item.type !== \"tool-result\") {\n return [];\n }\n const output = item.output;\n if (output.type === \"text\" || output.type === \"error-text\") {\n return [output.value];\n }\n if (output.type === \"content\") {\n return output.value.flatMap((part) => (part.type === \"text\" ? [part.text] : []));\n }\n return [];\n })\n .join(\"\\n\");\n }\n\n return undefined;\n}\n"],"mappings":";AAEO,SAAS,eAAe,SAA0C;AACvE,MAAI,QAAQ,SAAS,QAAQ;AAC3B,QAAI,OAAO,QAAQ,YAAY,UAAU;AACvC,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQ,QAAQ,QAAQ,CAAC,SAAU,KAAK,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAE,EAAE,KAAK,IAAI;AAAA,EAC/F;AAEA,MAAI,QAAQ,SAAS,QAAQ;AAC3B,WAAO,QAAQ,QACZ,QAAQ,CAAC,SAAS;AACjB,UAAI,KAAK,SAAS,eAAe;AAC/B,eAAO,CAAC;AAAA,MACV;AACA,YAAM,SAAS,KAAK;AACpB,UAAI,OAAO,SAAS,UAAU,OAAO,SAAS,cAAc;AAC1D,eAAO,CAAC,OAAO,KAAK;AAAA,MACtB;AACA,UAAI,OAAO,SAAS,WAAW;AAC7B,eAAO,OAAO,MAAM,QAAQ,CAAC,SAAU,KAAK,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAE;AAAA,MACjF;AACA,aAAO,CAAC;AAAA,IACV,CAAC,EACA,KAAK,IAAI;AAAA,EACd;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isToolIndex
|
|
3
|
+
} from "./chunk-G336L2IE.js";
|
|
4
|
+
import {
|
|
5
|
+
isMcpTool
|
|
6
|
+
} from "./chunk-PLDJCCVL.js";
|
|
7
|
+
import {
|
|
8
|
+
cloneFrozenPlainData
|
|
9
|
+
} from "./chunk-NVALGVQG.js";
|
|
10
|
+
import {
|
|
11
|
+
assertFiniteMinScore,
|
|
12
|
+
assertPositiveSearchLimit
|
|
13
|
+
} from "./chunk-5V533R7F.js";
|
|
14
|
+
|
|
15
|
+
// src/agent/tool-catalog.ts
|
|
16
|
+
function prepareAgentTools(options) {
|
|
17
|
+
assertUniqueMcpServerNames(options.mcpServers ?? []);
|
|
18
|
+
const mcpServers = Object.freeze((options.mcpServers ?? []).map(snapshotMcpServer));
|
|
19
|
+
const configuredTools = [...options.tools ?? []];
|
|
20
|
+
const staticTools = [...configuredTools, ...mcpServers.flatMap((server) => server.tools)];
|
|
21
|
+
const toolIndexes = (options.toolIndexes ?? []).map(snapshotToolIndex);
|
|
22
|
+
const providerTools = (options.providerTools ?? []).map(snapshotProviderTool);
|
|
23
|
+
assertUniqueAgentToolNames({ staticTools, providerTools, toolIndexes });
|
|
24
|
+
const toolsByName = new Map(staticTools.map((tool) => [tool.name, tool]));
|
|
25
|
+
for (const index of toolIndexes) {
|
|
26
|
+
for (const tool of index.tools) {
|
|
27
|
+
toolsByName.set(tool.name, tool);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const tools = Object.freeze([...toolsByName.values()]);
|
|
31
|
+
const publicState = Object.freeze({
|
|
32
|
+
configuredTools: Object.freeze(configuredTools),
|
|
33
|
+
staticTools: Object.freeze(staticTools),
|
|
34
|
+
providerTools: Object.freeze(providerTools),
|
|
35
|
+
toolIndexes: Object.freeze(toolIndexes)
|
|
36
|
+
});
|
|
37
|
+
return { mcpServers, tools, publicState, toolsByName };
|
|
38
|
+
}
|
|
39
|
+
function assertUniqueAgentToolNames(options) {
|
|
40
|
+
const owners = /* @__PURE__ */ new Map();
|
|
41
|
+
for (const tool of options.staticTools) {
|
|
42
|
+
registerToolOwner(owners, tool.name, isMcpTool(tool) ? "MCP tool" : "local or skill tool");
|
|
43
|
+
}
|
|
44
|
+
for (const tool of options.providerTools) {
|
|
45
|
+
registerToolOwner(owners, tool.name, "provider tool");
|
|
46
|
+
}
|
|
47
|
+
for (const [indexPosition, index] of options.toolIndexes.entries()) {
|
|
48
|
+
if (!isToolIndex(index)) {
|
|
49
|
+
throw new TypeError("Invalid tool index: search, tools, and a numeric topK are required.");
|
|
50
|
+
}
|
|
51
|
+
assertPositiveSearchLimit(index.topK);
|
|
52
|
+
assertFiniteMinScore(index.minScore);
|
|
53
|
+
for (const tool of index.tools) {
|
|
54
|
+
if (isMcpTool(tool)) {
|
|
55
|
+
throw new TypeError(
|
|
56
|
+
`MCP tool "${tool.name}" must be registered through Agent.mcpServers, not a tool index.`
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
registerToolOwner(owners, tool.name, `tool index ${indexPosition + 1}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function registerToolOwner(owners, name, owner) {
|
|
64
|
+
const existing = owners.get(name);
|
|
65
|
+
if (existing !== void 0) {
|
|
66
|
+
throw new TypeError(
|
|
67
|
+
`Tool name collision for "${name}" between ${existing} and ${owner}. Tool names must be unique across every Agent tool source.`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
owners.set(name, owner);
|
|
71
|
+
}
|
|
72
|
+
function snapshotProviderTool(tool) {
|
|
73
|
+
let snapshot = {
|
|
74
|
+
...tool
|
|
75
|
+
};
|
|
76
|
+
if (tool.configuration !== void 0) {
|
|
77
|
+
snapshot = { ...snapshot, configuration: cloneFrozenPlainData(tool.configuration) };
|
|
78
|
+
}
|
|
79
|
+
return Object.freeze(snapshot);
|
|
80
|
+
}
|
|
81
|
+
function snapshotMcpServer(server) {
|
|
82
|
+
if (server.name.trim() === "") {
|
|
83
|
+
throw new TypeError("MCP server name must not be empty.");
|
|
84
|
+
}
|
|
85
|
+
for (const tool of server.tools) {
|
|
86
|
+
if (!isMcpTool(tool)) {
|
|
87
|
+
throw new TypeError(`MCP server "${server.name}" contains an invalid MCP tool.`);
|
|
88
|
+
}
|
|
89
|
+
if (tool.mcp.serverName !== server.name) {
|
|
90
|
+
throw new TypeError(
|
|
91
|
+
`MCP tool "${tool.name}" belongs to server "${tool.mcp.serverName}", not "${server.name}".`
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const tools = server.tools.map(snapshotMcpTool);
|
|
96
|
+
let snapshot = {
|
|
97
|
+
name: server.name,
|
|
98
|
+
tools: Object.freeze(tools)
|
|
99
|
+
};
|
|
100
|
+
if (server.serverInfo !== void 0) {
|
|
101
|
+
snapshot = { ...snapshot, serverInfo: cloneFrozenPlainData(server.serverInfo) };
|
|
102
|
+
}
|
|
103
|
+
if (server.capabilities !== void 0) {
|
|
104
|
+
snapshot = { ...snapshot, capabilities: cloneFrozenPlainData(server.capabilities) };
|
|
105
|
+
}
|
|
106
|
+
if (server.instructions !== void 0) {
|
|
107
|
+
snapshot = { ...snapshot, instructions: server.instructions };
|
|
108
|
+
}
|
|
109
|
+
return Object.freeze(snapshot);
|
|
110
|
+
}
|
|
111
|
+
function snapshotMcpTool(tool) {
|
|
112
|
+
if (Object.isFrozen(tool) && Object.isFrozen(tool.mcp)) {
|
|
113
|
+
return tool;
|
|
114
|
+
}
|
|
115
|
+
const parseInput = tool.parseInput;
|
|
116
|
+
let snapshot = {
|
|
117
|
+
name: tool.name,
|
|
118
|
+
mcp: Object.freeze({ ...tool.mcp }),
|
|
119
|
+
definition: (prompt) => tool.definition(prompt),
|
|
120
|
+
call: (args, context) => tool.call(args, context)
|
|
121
|
+
};
|
|
122
|
+
if (tool.requiresApproval !== void 0) {
|
|
123
|
+
snapshot = { ...snapshot, requiresApproval: tool.requiresApproval };
|
|
124
|
+
}
|
|
125
|
+
if (parseInput !== void 0) {
|
|
126
|
+
snapshot = {
|
|
127
|
+
...snapshot,
|
|
128
|
+
parseInput: (args) => parseInput.call(tool, args)
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return Object.freeze(snapshot);
|
|
132
|
+
}
|
|
133
|
+
function assertUniqueMcpServerNames(servers) {
|
|
134
|
+
const names = /* @__PURE__ */ new Set();
|
|
135
|
+
for (const server of servers) {
|
|
136
|
+
if (names.has(server.name)) {
|
|
137
|
+
throw new TypeError(`Duplicate MCP server name "${server.name}".`);
|
|
138
|
+
}
|
|
139
|
+
names.add(server.name);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function snapshotToolIndex(index) {
|
|
143
|
+
const inspect = index.inspect;
|
|
144
|
+
let snapshot = {
|
|
145
|
+
kind: "tool-index",
|
|
146
|
+
tools: Object.freeze([...index.tools]),
|
|
147
|
+
topK: index.topK,
|
|
148
|
+
search: (options) => index.search(options)
|
|
149
|
+
};
|
|
150
|
+
if (index.minScore !== void 0) {
|
|
151
|
+
snapshot = { ...snapshot, minScore: index.minScore };
|
|
152
|
+
}
|
|
153
|
+
if (index.filter !== void 0) {
|
|
154
|
+
snapshot = { ...snapshot, filter: cloneFrozenPlainData(index.filter) };
|
|
155
|
+
}
|
|
156
|
+
if (inspect !== void 0) {
|
|
157
|
+
snapshot = {
|
|
158
|
+
...snapshot,
|
|
159
|
+
inspect: (request) => inspect.call(index, request)
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return Object.freeze(snapshot);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export {
|
|
166
|
+
prepareAgentTools
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=chunk-MNYMLWWA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/agent/tool-catalog.ts"],"sourcesContent":["import type { JsonValue, ProviderTool } from \"../completion\";\nimport { assertFiniteMinScore, assertPositiveSearchLimit } from \"../internal/vector-search-options\";\nimport { isMcpTool, type McpServer } from \"../mcp\";\nimport { isToolIndex, type ToolIndex } from \"../tool/dynamic-tools\";\nimport type { AnyTool, ToolCallContext } from \"../tool/tool\";\nimport type { VectorInspectRequest } from \"../vector-store\";\nimport { cloneFrozenPlainData } from \"./snapshot\";\nimport type { AgentToolState } from \"./tool-state\";\nimport type { ResolvedAgentOptions } from \"./types\";\n\nexport type PreparedAgentTools = {\n mcpServers: readonly McpServer[];\n tools: readonly AnyTool[];\n publicState: AgentToolState;\n toolsByName: Map<string, AnyTool>;\n};\n\nexport function prepareAgentTools(\n options: Pick<ResolvedAgentOptions, \"tools\" | \"mcpServers\" | \"providerTools\" | \"toolIndexes\">,\n): PreparedAgentTools {\n assertUniqueMcpServerNames(options.mcpServers ?? []);\n const mcpServers = Object.freeze((options.mcpServers ?? []).map(snapshotMcpServer));\n const configuredTools = [...(options.tools ?? [])];\n const staticTools = [...configuredTools, ...mcpServers.flatMap((server) => server.tools)];\n const toolIndexes = (options.toolIndexes ?? []).map(snapshotToolIndex);\n const providerTools = (options.providerTools ?? []).map(snapshotProviderTool);\n assertUniqueAgentToolNames({ staticTools, providerTools, toolIndexes });\n\n const toolsByName = new Map(staticTools.map((tool) => [tool.name, tool]));\n for (const index of toolIndexes) {\n for (const tool of index.tools) {\n toolsByName.set(tool.name, tool);\n }\n }\n const tools = Object.freeze([...toolsByName.values()]);\n const publicState = Object.freeze({\n configuredTools: Object.freeze(configuredTools),\n staticTools: Object.freeze(staticTools),\n providerTools: Object.freeze(providerTools),\n toolIndexes: Object.freeze(toolIndexes),\n });\n return { mcpServers, tools, publicState, toolsByName };\n}\n\nfunction assertUniqueAgentToolNames(options: {\n staticTools: readonly AnyTool[];\n providerTools: readonly ProviderTool[];\n toolIndexes: readonly ToolIndex[];\n}): void {\n const owners = new Map<string, string>();\n for (const tool of options.staticTools) {\n registerToolOwner(owners, tool.name, isMcpTool(tool) ? \"MCP tool\" : \"local or skill tool\");\n }\n for (const tool of options.providerTools) {\n registerToolOwner(owners, tool.name, \"provider tool\");\n }\n for (const [indexPosition, index] of options.toolIndexes.entries()) {\n if (!isToolIndex(index)) {\n throw new TypeError(\"Invalid tool index: search, tools, and a numeric topK are required.\");\n }\n assertPositiveSearchLimit(index.topK);\n assertFiniteMinScore(index.minScore);\n for (const tool of index.tools) {\n if (isMcpTool(tool)) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" must be registered through Agent.mcpServers, not a tool index.`,\n );\n }\n registerToolOwner(owners, tool.name, `tool index ${indexPosition + 1}`);\n }\n }\n}\n\nfunction registerToolOwner(owners: Map<string, string>, name: string, owner: string): void {\n const existing = owners.get(name);\n if (existing !== undefined) {\n throw new TypeError(\n `Tool name collision for \"${name}\" between ${existing} and ${owner}. Tool names must be unique across every Agent tool source.`,\n );\n }\n owners.set(name, owner);\n}\n\nfunction snapshotProviderTool(tool: ProviderTool): ProviderTool {\n let snapshot: ProviderTool = {\n ...tool,\n };\n if (tool.configuration !== undefined) {\n snapshot = { ...snapshot, configuration: cloneFrozenPlainData(tool.configuration) };\n }\n return Object.freeze(snapshot);\n}\n\nfunction snapshotMcpServer(server: McpServer): McpServer {\n if (server.name.trim() === \"\") {\n throw new TypeError(\"MCP server name must not be empty.\");\n }\n for (const tool of server.tools) {\n if (!isMcpTool(tool)) {\n throw new TypeError(`MCP server \"${server.name}\" contains an invalid MCP tool.`);\n }\n if (tool.mcp.serverName !== server.name) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" belongs to server \"${tool.mcp.serverName}\", not \"${server.name}\".`,\n );\n }\n }\n const tools = server.tools.map(snapshotMcpTool);\n let snapshot: McpServer = {\n name: server.name,\n tools: Object.freeze(tools),\n };\n if (server.serverInfo !== undefined) {\n snapshot = { ...snapshot, serverInfo: cloneFrozenPlainData(server.serverInfo) };\n }\n if (server.capabilities !== undefined) {\n snapshot = { ...snapshot, capabilities: cloneFrozenPlainData(server.capabilities) };\n }\n if (server.instructions !== undefined) {\n snapshot = { ...snapshot, instructions: server.instructions };\n }\n return Object.freeze(snapshot);\n}\n\nfunction snapshotMcpTool(tool: McpServer[\"tools\"][number]): McpServer[\"tools\"][number] {\n if (Object.isFrozen(tool) && Object.isFrozen(tool.mcp)) {\n return tool;\n }\n const parseInput = tool.parseInput;\n let snapshot: McpServer[\"tools\"][number] = {\n name: tool.name,\n mcp: Object.freeze({ ...tool.mcp }),\n definition: (prompt: string) => tool.definition(prompt),\n call: (args: unknown, context?: ToolCallContext) => tool.call(args, context),\n };\n if (tool.requiresApproval !== undefined) {\n snapshot = { ...snapshot, requiresApproval: tool.requiresApproval };\n }\n if (parseInput !== undefined) {\n snapshot = {\n ...snapshot,\n parseInput: (args: JsonValue) => parseInput.call(tool, args),\n };\n }\n return Object.freeze(snapshot);\n}\n\nfunction assertUniqueMcpServerNames(servers: readonly McpServer[]): void {\n const names = new Set<string>();\n for (const server of servers) {\n if (names.has(server.name)) {\n throw new TypeError(`Duplicate MCP server name \"${server.name}\".`);\n }\n names.add(server.name);\n }\n}\n\nfunction snapshotToolIndex(index: ToolIndex): ToolIndex {\n const inspect = index.inspect;\n let snapshot: ToolIndex = {\n kind: \"tool-index\" as const,\n tools: Object.freeze([...index.tools]),\n topK: index.topK,\n search: (options: { query: string; abortSignal?: AbortSignal | undefined }) =>\n index.search(options),\n };\n if (index.minScore !== undefined) {\n snapshot = { ...snapshot, minScore: index.minScore };\n }\n if (index.filter !== undefined) {\n snapshot = { ...snapshot, filter: cloneFrozenPlainData(index.filter) };\n }\n if (inspect !== undefined) {\n snapshot = {\n ...snapshot,\n inspect: (request: VectorInspectRequest) => inspect.call(index, request),\n };\n }\n return Object.freeze(snapshot);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/guardrails/actions.ts
|
|
2
|
+
function allow(options = {}) {
|
|
3
|
+
return { action: "allow", ...options };
|
|
4
|
+
}
|
|
5
|
+
function block(options) {
|
|
6
|
+
return { action: "block", ...options };
|
|
7
|
+
}
|
|
8
|
+
var commonActions = {
|
|
9
|
+
allow,
|
|
10
|
+
block
|
|
11
|
+
};
|
|
12
|
+
var inputActions = {
|
|
13
|
+
...commonActions,
|
|
14
|
+
rewrite(options) {
|
|
15
|
+
return { action: "rewrite", ...options };
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var outputActions = {
|
|
19
|
+
...commonActions,
|
|
20
|
+
rewrite(options) {
|
|
21
|
+
return { action: "rewrite", ...options };
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
allow,
|
|
27
|
+
block,
|
|
28
|
+
inputActions,
|
|
29
|
+
outputActions
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=chunk-MT3BLVYN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/guardrails/actions.ts"],"sourcesContent":["import type {\n GuardrailActionBase,\n GuardrailAllow,\n GuardrailBlock,\n GuardrailCommonActions,\n InputGuardrailActions,\n OutputGuardrailActions,\n} from \"./types\";\n\nexport function allow(options: GuardrailActionBase = {}): GuardrailAllow {\n return { action: \"allow\", ...options };\n}\n\nexport function block(options: Omit<GuardrailBlock, \"action\">): GuardrailBlock {\n return { action: \"block\", ...options };\n}\n\nconst commonActions: GuardrailCommonActions = {\n allow,\n block,\n};\n\nexport const inputActions: InputGuardrailActions = {\n ...commonActions,\n rewrite(options) {\n return { action: \"rewrite\", ...options };\n },\n};\n\nexport const outputActions: OutputGuardrailActions = {\n ...commonActions,\n rewrite(options) {\n return { action: \"rewrite\", ...options };\n },\n};\n"],"mappings":";AASO,SAAS,MAAM,UAA+B,CAAC,GAAmB;AACvE,SAAO,EAAE,QAAQ,SAAS,GAAG,QAAQ;AACvC;AAEO,SAAS,MAAM,SAAyD;AAC7E,SAAO,EAAE,QAAQ,SAAS,GAAG,QAAQ;AACvC;AAEA,IAAM,gBAAwC;AAAA,EAC5C;AAAA,EACA;AACF;AAEO,IAAM,eAAsC;AAAA,EACjD,GAAG;AAAA,EACH,QAAQ,SAAS;AACf,WAAO,EAAE,QAAQ,WAAW,GAAG,QAAQ;AAAA,EACzC;AACF;AAEO,IAAM,gBAAwC;AAAA,EACnD,GAAG;AAAA,EACH,QAAQ,SAAS;AACf,WAAO,EAAE,QAAQ,WAAW,GAAG,QAAQ;AAAA,EACzC;AACF;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/completion/documents.ts
|
|
2
|
+
function normalizeDocuments(documents) {
|
|
3
|
+
if (documents.length === 0) {
|
|
4
|
+
return void 0;
|
|
5
|
+
}
|
|
6
|
+
return { role: "user", content: documents.map(formatDocument).join("\n") };
|
|
7
|
+
}
|
|
8
|
+
function formatDocument(document) {
|
|
9
|
+
return `<file id: ${document.id}>
|
|
10
|
+
${formatDocumentBody(document)}
|
|
11
|
+
</file>
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
14
|
+
function formatDocumentBody(document) {
|
|
15
|
+
const metadata = formatMetadata(document.additionalProps);
|
|
16
|
+
return metadata === void 0 ? document.text : `${metadata}
|
|
17
|
+
${document.text}`;
|
|
18
|
+
}
|
|
19
|
+
function formatMetadata(additionalProps) {
|
|
20
|
+
if (additionalProps === void 0) {
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
const entries = Object.entries(additionalProps).sort(
|
|
24
|
+
([left], [right]) => left.localeCompare(right)
|
|
25
|
+
);
|
|
26
|
+
if (entries.length === 0) {
|
|
27
|
+
return void 0;
|
|
28
|
+
}
|
|
29
|
+
const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(" ");
|
|
30
|
+
return `<metadata ${metadata} />`;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
normalizeDocuments,
|
|
35
|
+
formatDocument
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-NF6WBPFG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/completion/documents.ts"],"sourcesContent":["import type { Document, Message } from \"./types\";\n\nexport function normalizeDocuments(documents: Document[]): Message | undefined {\n if (documents.length === 0) {\n return undefined;\n }\n\n return { role: \"user\", content: documents.map(formatDocument).join(\"\\n\") };\n}\n\nexport function formatDocument(document: Document): string {\n return `<file id: ${document.id}>\\n${formatDocumentBody(document)}\\n</file>\\n`;\n}\n\nfunction formatDocumentBody(document: Document): string {\n const metadata = formatMetadata(document.additionalProps);\n return metadata === undefined ? document.text : `${metadata}\\n${document.text}`;\n}\n\nfunction formatMetadata(additionalProps: Record<string, string> | undefined): string | undefined {\n if (additionalProps === undefined) {\n return undefined;\n }\n\n const entries = Object.entries(additionalProps).sort(([left], [right]) =>\n left.localeCompare(right),\n );\n if (entries.length === 0) {\n return undefined;\n }\n\n const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(\" \");\n return `<metadata ${metadata} />`;\n}\n"],"mappings":";AAEO,SAAS,mBAAmB,WAA4C;AAC7E,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,MAAM,QAAQ,SAAS,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,EAAE;AAC3E;AAEO,SAAS,eAAe,UAA4B;AACzD,SAAO,aAAa,SAAS,EAAE;AAAA,EAAM,mBAAmB,QAAQ,CAAC;AAAA;AAAA;AACnE;AAEA,SAAS,mBAAmB,UAA4B;AACtD,QAAM,WAAW,eAAe,SAAS,eAAe;AACxD,SAAO,aAAa,SAAY,SAAS,OAAO,GAAG,QAAQ;AAAA,EAAK,SAAS,IAAI;AAC/E;AAEA,SAAS,eAAe,iBAAyE;AAC/F,MAAI,oBAAoB,QAAW;AACjC,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,OAAO,QAAQ,eAAe,EAAE;AAAA,IAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAClE,KAAK,cAAc,KAAK;AAAA,EAC1B;AACA,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,KAAK,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG;AAC3F,SAAO,aAAa,QAAQ;AAC9B;","names":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentRunBlockedError
|
|
3
|
+
} from "./chunk-WN6AVBO4.js";
|
|
4
|
+
|
|
5
|
+
// src/evals/agent-target.ts
|
|
6
|
+
var AgentEvalSuspensionError = class extends Error {
|
|
7
|
+
constructor(result, message = "Agent eval target suspended without an interaction responder.") {
|
|
8
|
+
super(message);
|
|
9
|
+
this.result = result;
|
|
10
|
+
this.name = "AgentEvalSuspensionError";
|
|
11
|
+
}
|
|
12
|
+
result;
|
|
13
|
+
};
|
|
14
|
+
function agentEvalTarget(options) {
|
|
15
|
+
return async (input, testCase) => {
|
|
16
|
+
const maxResponses = options.interactions?.maxResponses ?? 10;
|
|
17
|
+
if (!Number.isSafeInteger(maxResponses) || maxResponses < 1) {
|
|
18
|
+
throw new TypeError("Agent eval interactions.maxResponses must be a positive integer.");
|
|
19
|
+
}
|
|
20
|
+
const request = await options.request({ input, testCase });
|
|
21
|
+
const runSettings = agentRunSettings(request);
|
|
22
|
+
let response = await options.agent.generate(request);
|
|
23
|
+
let phase = 0;
|
|
24
|
+
while (response.type === "interaction") {
|
|
25
|
+
if (options.interactions === void 0) {
|
|
26
|
+
throw new AgentEvalSuspensionError(response);
|
|
27
|
+
}
|
|
28
|
+
if (phase >= maxResponses) {
|
|
29
|
+
throw new AgentEvalSuspensionError(
|
|
30
|
+
response,
|
|
31
|
+
`Agent eval target exceeded the interaction response limit of ${maxResponses}.`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
phase += 1;
|
|
35
|
+
const interactionResponse = await options.interactions.respond({
|
|
36
|
+
interaction: response.interaction,
|
|
37
|
+
testCase,
|
|
38
|
+
phase
|
|
39
|
+
});
|
|
40
|
+
response = await options.agent.generate({
|
|
41
|
+
continuation: response.continuation,
|
|
42
|
+
response: interactionResponse,
|
|
43
|
+
...runSettings
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (response.type === "blocked") throw new AgentRunBlockedError(response);
|
|
47
|
+
return options.output === void 0 ? response : await options.output({ response, testCase });
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function agentRunSettings(request) {
|
|
51
|
+
const {
|
|
52
|
+
prompt: _prompt,
|
|
53
|
+
messages: _messages,
|
|
54
|
+
session: _session,
|
|
55
|
+
continuation: _continuation,
|
|
56
|
+
response: _response,
|
|
57
|
+
...settings
|
|
58
|
+
} = request;
|
|
59
|
+
return settings;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
AgentEvalSuspensionError,
|
|
64
|
+
agentEvalTarget
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=chunk-NNEKBZSM.js.map
|