@mastra/server 0.0.0-share-agent-metadata-with-cloud-20250718123411 → 0.0.0-span-scorring-test-20251124132129
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/CHANGELOG.md +4910 -0
- package/README.md +1 -6
- package/dist/chunk-2NW6POYK.cjs +89 -0
- package/dist/chunk-2NW6POYK.cjs.map +1 -0
- package/dist/chunk-2PLXW4ZX.cjs +2777 -0
- package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
- package/dist/chunk-35NT4TMQ.cjs +201 -0
- package/dist/chunk-35NT4TMQ.cjs.map +1 -0
- package/dist/chunk-3R5EV3HV.js +664 -0
- package/dist/chunk-3R5EV3HV.js.map +1 -0
- package/dist/chunk-4ECGVOJZ.cjs +678 -0
- package/dist/chunk-4ECGVOJZ.cjs.map +1 -0
- package/dist/chunk-5PONYNYP.cjs +125 -0
- package/dist/chunk-5PONYNYP.cjs.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/{chunk-2KZFMI6P.cjs → chunk-64ITUOXI.cjs} +2 -0
- package/dist/chunk-64ITUOXI.cjs.map +1 -0
- package/dist/chunk-6BISSAIF.js +23494 -0
- package/dist/chunk-6BISSAIF.js.map +1 -0
- package/dist/chunk-6DTV6NEW.js +116 -0
- package/dist/chunk-6DTV6NEW.js.map +1 -0
- package/dist/{chunk-LCM566I4.js → chunk-6QWQZI4Q.js} +2 -0
- package/dist/chunk-6QWQZI4Q.js.map +1 -0
- package/dist/chunk-AEO6IHLK.cjs +368 -0
- package/dist/chunk-AEO6IHLK.cjs.map +1 -0
- package/dist/chunk-ASZUOBKV.js +310 -0
- package/dist/chunk-ASZUOBKV.js.map +1 -0
- package/dist/chunk-ECIVTQ4E.js +354 -0
- package/dist/chunk-ECIVTQ4E.js.map +1 -0
- package/dist/chunk-FAQICBMH.js +164 -0
- package/dist/chunk-FAQICBMH.js.map +1 -0
- package/dist/chunk-FXDZLX2Y.js +192 -0
- package/dist/chunk-FXDZLX2Y.js.map +1 -0
- package/dist/chunk-G7BPNX2V.js +130 -0
- package/dist/chunk-G7BPNX2V.js.map +1 -0
- package/dist/chunk-GU4EWMZB.cjs +769 -0
- package/dist/chunk-GU4EWMZB.cjs.map +1 -0
- package/dist/chunk-I5VZ5SKG.js +328 -0
- package/dist/chunk-I5VZ5SKG.js.map +1 -0
- package/dist/chunk-ICANWSEW.js +204 -0
- package/dist/chunk-ICANWSEW.js.map +1 -0
- package/dist/chunk-KB5NSROG.cjs +211 -0
- package/dist/chunk-KB5NSROG.cjs.map +1 -0
- package/dist/chunk-LF2ZLOFP.js +767 -0
- package/dist/chunk-LF2ZLOFP.js.map +1 -0
- package/dist/chunk-LPM6BBAX.cjs +1043 -0
- package/dist/chunk-LPM6BBAX.cjs.map +1 -0
- package/dist/chunk-MWQQRVQC.cjs +259 -0
- package/dist/chunk-MWQQRVQC.cjs.map +1 -0
- package/dist/chunk-NDFAQBQD.cjs +792 -0
- package/dist/chunk-NDFAQBQD.cjs.map +1 -0
- package/dist/chunk-O7I5CWRX.cjs +44 -0
- package/dist/chunk-O7I5CWRX.cjs.map +1 -0
- package/dist/chunk-PKRHEXX7.js +74 -0
- package/dist/chunk-PKRHEXX7.js.map +1 -0
- package/dist/chunk-PR4QN5HX.js +39 -0
- package/dist/chunk-PR4QN5HX.js.map +1 -0
- package/dist/chunk-QGWCNTG6.cjs +797 -0
- package/dist/chunk-QGWCNTG6.cjs.map +1 -0
- package/dist/chunk-QU6N55W6.cjs +256 -0
- package/dist/chunk-QU6N55W6.cjs.map +1 -0
- package/dist/chunk-R4M3BSUG.js +226 -0
- package/dist/chunk-R4M3BSUG.js.map +1 -0
- package/dist/chunk-RQK4FQUD.js +1012 -0
- package/dist/chunk-RQK4FQUD.js.map +1 -0
- package/dist/chunk-SHWNNZBL.js +254 -0
- package/dist/chunk-SHWNNZBL.js.map +1 -0
- package/dist/chunk-TBVUN4XN.cjs +23536 -0
- package/dist/chunk-TBVUN4XN.cjs.map +1 -0
- package/dist/chunk-TOCYBDP2.js +46 -0
- package/dist/chunk-TOCYBDP2.js.map +1 -0
- package/dist/chunk-UJNHKFBR.cjs +167 -0
- package/dist/chunk-UJNHKFBR.cjs.map +1 -0
- package/dist/chunk-UOFV2ZCI.js +878 -0
- package/dist/chunk-UOFV2ZCI.js.map +1 -0
- package/dist/{chunk-LF7P5PLR.js → chunk-UXGQZUYZ.js} +3 -1
- package/dist/chunk-UXGQZUYZ.js.map +1 -0
- package/dist/chunk-UZ6CYAOG.cjs +134 -0
- package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
- package/dist/{chunk-PZQDCRPV.cjs → chunk-V5WWQN7P.cjs} +4 -2
- package/dist/chunk-V5WWQN7P.cjs.map +1 -0
- package/dist/chunk-VQAT5HX6.js +756 -0
- package/dist/chunk-VQAT5HX6.js.map +1 -0
- package/dist/chunk-X6C7BUWN.cjs +48 -0
- package/dist/chunk-X6C7BUWN.cjs.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/chunk-YJ3VDL3Z.cjs +346 -0
- package/dist/chunk-YJ3VDL3Z.cjs.map +1 -0
- package/dist/chunk-Z36N2OQA.cjs +907 -0
- package/dist/chunk-Z36N2OQA.cjs.map +1 -0
- package/dist/chunk-ZLRTFRL4.js +773 -0
- package/dist/chunk-ZLRTFRL4.js.map +1 -0
- package/dist/chunk-ZODCSH2W.cjs +322 -0
- package/dist/chunk-ZODCSH2W.cjs.map +1 -0
- package/dist/chunk-ZULZ2752.js +2774 -0
- package/dist/chunk-ZULZ2752.js.map +1 -0
- package/dist/dist-4MVGNSRL.cjs +1150 -0
- package/dist/dist-4MVGNSRL.cjs.map +1 -0
- package/dist/dist-FZYCV3VB.cjs +940 -0
- package/dist/dist-FZYCV3VB.cjs.map +1 -0
- package/dist/dist-G2BYZJOC.cjs +928 -0
- package/dist/dist-G2BYZJOC.cjs.map +1 -0
- package/dist/dist-P4MXBQ3U.cjs +16 -0
- package/dist/dist-P4MXBQ3U.cjs.map +1 -0
- package/dist/dist-PQZUVLPC.js +937 -0
- package/dist/dist-PQZUVLPC.js.map +1 -0
- package/dist/dist-R7WYX6LC.js +925 -0
- package/dist/dist-R7WYX6LC.js.map +1 -0
- package/dist/dist-RFMYFILX.cjs +764 -0
- package/dist/dist-RFMYFILX.cjs.map +1 -0
- package/dist/dist-X7XR3M3Z.js +1147 -0
- package/dist/dist-X7XR3M3Z.js.map +1 -0
- package/dist/dist-XVBSOGFK.js +761 -0
- package/dist/dist-XVBSOGFK.js.map +1 -0
- package/dist/dist-YREX2TJT.js +3 -0
- package/dist/dist-YREX2TJT.js.map +1 -0
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/server/a2a/protocol.d.ts +8 -0
- package/dist/server/a2a/protocol.d.ts.map +1 -0
- package/dist/server/a2a/store.cjs +25 -0
- package/dist/server/a2a/store.cjs.map +1 -0
- package/dist/server/a2a/store.d.ts +14 -0
- package/dist/server/a2a/store.d.ts.map +1 -0
- package/dist/server/a2a/store.js +23 -0
- package/dist/server/a2a/store.js.map +1 -0
- package/dist/server/a2a/tasks.d.ts +20 -0
- package/dist/server/a2a/tasks.d.ts.map +1 -0
- package/dist/server/handlers/a2a.cjs +21 -11
- package/dist/server/handlers/a2a.cjs.map +1 -0
- package/dist/server/handlers/a2a.d.ts +550 -6
- package/dist/server/handlers/a2a.d.ts.map +1 -0
- package/dist/server/handlers/a2a.js +3 -1
- package/dist/server/handlers/a2a.js.map +1 -0
- package/dist/server/handlers/agent-builder.cjs +80 -0
- package/dist/server/handlers/agent-builder.cjs.map +1 -0
- package/dist/server/handlers/agent-builder.d.ts +602 -0
- package/dist/server/handlers/agent-builder.d.ts.map +1 -0
- package/dist/server/handlers/agent-builder.js +3 -0
- package/dist/server/handlers/agent-builder.js.map +1 -0
- package/dist/server/handlers/agents.cjs +79 -13
- package/dist/server/handlers/agents.cjs.map +1 -0
- package/dist/server/handlers/agents.d.ts +3337 -6
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/agents.js +3 -1
- package/dist/server/handlers/agents.js.map +1 -0
- package/dist/server/handlers/error.cjs +4 -2
- package/dist/server/handlers/error.cjs.map +1 -0
- package/dist/server/handlers/error.d.ts +2 -1
- package/dist/server/handlers/error.d.ts.map +1 -0
- package/dist/server/handlers/error.js +3 -1
- package/dist/server/handlers/error.js.map +1 -0
- package/dist/server/handlers/logs.cjs +9 -7
- package/dist/server/handlers/logs.cjs.map +1 -0
- package/dist/server/handlers/logs.d.ts +142 -3
- package/dist/server/handlers/logs.d.ts.map +1 -0
- package/dist/server/handlers/logs.js +3 -1
- package/dist/server/handlers/logs.js.map +1 -0
- package/dist/server/handlers/memory.cjs +75 -21
- package/dist/server/handlers/memory.cjs.map +1 -0
- package/dist/server/handlers/memory.d.ts +949 -10
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/memory.js +3 -1
- package/dist/server/handlers/memory.js.map +1 -0
- package/dist/server/handlers/observability.cjs +40 -0
- package/dist/server/handlers/observability.cjs.map +1 -0
- package/dist/server/handlers/observability.d.ts +156 -0
- package/dist/server/handlers/observability.d.ts.map +1 -0
- package/dist/server/handlers/observability.js +3 -0
- package/dist/server/handlers/observability.js.map +1 -0
- package/dist/server/handlers/scores.cjs +32 -0
- package/dist/server/handlers/scores.cjs.map +1 -0
- package/dist/server/handlers/scores.d.ts +121 -0
- package/dist/server/handlers/scores.d.ts.map +1 -0
- package/dist/server/handlers/scores.js +3 -0
- package/dist/server/handlers/scores.js.map +1 -0
- package/dist/server/handlers/test-utils.cjs +15 -0
- package/dist/server/handlers/test-utils.cjs.map +1 -0
- package/dist/server/handlers/test-utils.d.ts +6 -0
- package/dist/server/handlers/test-utils.d.ts.map +1 -0
- package/dist/server/handlers/test-utils.js +13 -0
- package/dist/server/handlers/test-utils.js.map +1 -0
- package/dist/server/handlers/tools.cjs +15 -9
- package/dist/server/handlers/tools.cjs.map +1 -0
- package/dist/server/handlers/tools.d.ts +71 -4
- package/dist/server/handlers/tools.d.ts.map +1 -0
- package/dist/server/handlers/tools.js +3 -1
- package/dist/server/handlers/tools.js.map +1 -0
- package/dist/server/handlers/utils.cjs +16 -2
- package/dist/server/handlers/utils.cjs.map +1 -0
- package/dist/server/handlers/utils.d.ts +13 -1
- package/dist/server/handlers/utils.d.ts.map +1 -0
- package/dist/server/handlers/utils.js +3 -1
- package/dist/server/handlers/utils.js.map +1 -0
- package/dist/server/handlers/vector.cjs +33 -7
- package/dist/server/handlers/vector.cjs.map +1 -0
- package/dist/server/handlers/vector.d.ts +135 -6
- package/dist/server/handlers/vector.d.ts.map +1 -0
- package/dist/server/handlers/vector.js +3 -1
- package/dist/server/handlers/vector.js.map +1 -0
- package/dist/server/handlers/voice.cjs +23 -9
- package/dist/server/handlers/voice.cjs.map +1 -0
- package/dist/server/handlers/voice.d.ts +82 -4
- package/dist/server/handlers/voice.d.ts.map +1 -0
- package/dist/server/handlers/voice.js +3 -1
- package/dist/server/handlers/voice.js.map +1 -0
- package/dist/server/handlers/workflows.cjs +47 -29
- package/dist/server/handlers/workflows.cjs.map +1 -0
- package/dist/server/handlers/workflows.d.ts +611 -14
- package/dist/server/handlers/workflows.d.ts.map +1 -0
- package/dist/server/handlers/workflows.js +3 -1
- package/dist/server/handlers/workflows.js.map +1 -0
- package/dist/server/handlers.cjs +33 -31
- package/dist/server/handlers.cjs.map +1 -0
- package/dist/server/handlers.d.ts +12 -11
- package/dist/server/handlers.d.ts.map +1 -0
- package/dist/server/handlers.js +13 -11
- package/dist/server/handlers.js.map +1 -0
- package/dist/server/http-exception.d.ts +82 -0
- package/dist/server/http-exception.d.ts.map +1 -0
- package/dist/server/schemas/a2a.d.ts +786 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -0
- package/dist/server/schemas/agent-builder.d.ts +195 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1375 -0
- package/dist/server/schemas/agents.d.ts.map +1 -0
- package/dist/server/schemas/common.d.ts +165 -0
- package/dist/server/schemas/common.d.ts.map +1 -0
- package/dist/server/schemas/logs.d.ts +124 -0
- package/dist/server/schemas/logs.d.ts.map +1 -0
- package/dist/server/schemas/memory.d.ts +998 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/observability.d.ts +402 -0
- package/dist/server/schemas/observability.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +259 -0
- package/dist/server/schemas/scores.d.ts.map +1 -0
- package/dist/server/schemas/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +505 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +323 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +52 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +309 -0
- package/dist/server/server-adapter/index.js.map +1 -0
- package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +3 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +41 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
- package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/logs.d.ts +3 -0
- package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/memory.d.ts +3 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/observability.d.ts +3 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
- package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/tools.d.ts +3 -0
- package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
- package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
- package/dist/server/types.d.ts +10 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/utils.d.ts +45 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/token-375W3LEI.cjs +64 -0
- package/dist/token-375W3LEI.cjs.map +1 -0
- package/dist/token-C3IMNCC4.js +62 -0
- package/dist/token-C3IMNCC4.js.map +1 -0
- package/dist/token-util-CV3RRG6K.cjs +9 -0
- package/dist/token-util-CV3RRG6K.cjs.map +1 -0
- package/dist/token-util-E5QO2RCL.js +7 -0
- package/dist/token-util-E5QO2RCL.js.map +1 -0
- package/package.json +57 -16
- package/dist/_tsup-dts-rollup.d.cts +0 -1107
- package/dist/_tsup-dts-rollup.d.ts +0 -1107
- package/dist/chunk-2SLFAFTR.cjs +0 -148
- package/dist/chunk-3CNDE7QY.cjs +0 -308
- package/dist/chunk-4D66QEKC.js +0 -81
- package/dist/chunk-5PQQ42EZ.js +0 -320
- package/dist/chunk-75ZPJI57.cjs +0 -9
- package/dist/chunk-7TP2LX5L.cjs +0 -129
- package/dist/chunk-B2PAS2IB.cjs +0 -514
- package/dist/chunk-BK4XT6EG.js +0 -270
- package/dist/chunk-CCGRCYWJ.cjs +0 -18
- package/dist/chunk-CRCR3ZUK.js +0 -142
- package/dist/chunk-FRVBFMO2.cjs +0 -128
- package/dist/chunk-G7KH752Y.cjs +0 -145
- package/dist/chunk-GHC4YV6R.js +0 -504
- package/dist/chunk-H7DMHBKY.js +0 -498
- package/dist/chunk-JMLYCXMK.cjs +0 -332
- package/dist/chunk-KHZKYUNR.js +0 -112
- package/dist/chunk-KOHWJYJT.js +0 -296
- package/dist/chunk-LI436ITD.cjs +0 -2042
- package/dist/chunk-LRCAAFUA.js +0 -122
- package/dist/chunk-LZ3VJXSO.cjs +0 -278
- package/dist/chunk-MEGCYGBU.js +0 -2039
- package/dist/chunk-MLKGABMK.js +0 -7
- package/dist/chunk-QGX47B5D.cjs +0 -86
- package/dist/chunk-RG473F6Y.js +0 -141
- package/dist/chunk-RHSWAXKB.cjs +0 -118
- package/dist/chunk-RSEO4XPX.js +0 -16
- package/dist/chunk-SDPGVWQJ.cjs +0 -512
- package/dist/chunk-WNVFNNWN.js +0 -121
- package/dist/index.d.cts +0 -1
- package/dist/server/handlers/a2a.d.cts +0 -6
- package/dist/server/handlers/agents.d.cts +0 -6
- package/dist/server/handlers/error.d.cts +0 -1
- package/dist/server/handlers/legacyWorkflows.cjs +0 -46
- package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
- package/dist/server/handlers/legacyWorkflows.d.ts +0 -10
- package/dist/server/handlers/legacyWorkflows.js +0 -1
- package/dist/server/handlers/logs.d.cts +0 -3
- package/dist/server/handlers/memory.d.cts +0 -10
- package/dist/server/handlers/network.cjs +0 -22
- package/dist/server/handlers/network.d.cts +0 -4
- package/dist/server/handlers/network.d.ts +0 -4
- package/dist/server/handlers/network.js +0 -1
- package/dist/server/handlers/telemetry.cjs +0 -14
- package/dist/server/handlers/telemetry.d.cts +0 -2
- package/dist/server/handlers/telemetry.d.ts +0 -2
- package/dist/server/handlers/telemetry.js +0 -1
- package/dist/server/handlers/tools.d.cts +0 -4
- package/dist/server/handlers/utils.d.cts +0 -1
- package/dist/server/handlers/vNextNetwork.cjs +0 -218
- package/dist/server/handlers/vNextNetwork.d.cts +0 -6
- package/dist/server/handlers/vNextNetwork.d.ts +0 -6
- package/dist/server/handlers/vNextNetwork.js +0 -211
- package/dist/server/handlers/vector.d.cts +0 -6
- package/dist/server/handlers/voice.d.cts +0 -4
- package/dist/server/handlers/workflows.d.cts +0 -14
- package/dist/server/handlers.d.cts +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/double-indexed-kv.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/registry.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/class-registry.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/util.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/custom-transformer-registry.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/is.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/pathstringifier.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/transformer.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/accessDeep.ts","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/plainer.ts","../../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js","../../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js","../../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/src/index.ts"],"names":["walker","transformed","result","getType","isArray","isPlainObject"],"mappings":"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","file":"chunk-GU4EWMZB.cjs","sourcesContent":[null,null,null,null,null,null,null,null,null,null,"function getType(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\n\nfunction isAnyObject(payload) {\n return getType(payload) === \"Object\";\n}\n\nfunction isArray(payload) {\n return getType(payload) === \"Array\";\n}\n\nfunction isBlob(payload) {\n return getType(payload) === \"Blob\";\n}\n\nfunction isBoolean(payload) {\n return getType(payload) === \"Boolean\";\n}\n\nfunction isDate(payload) {\n return getType(payload) === \"Date\" && !isNaN(payload);\n}\n\nfunction isEmptyArray(payload) {\n return isArray(payload) && payload.length === 0;\n}\n\nfunction isPlainObject(payload) {\n if (getType(payload) !== \"Object\")\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n\nfunction isEmptyObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length === 0;\n}\n\nfunction isEmptyString(payload) {\n return payload === \"\";\n}\n\nfunction isError(payload) {\n return getType(payload) === \"Error\" || payload instanceof Error;\n}\n\nfunction isFile(payload) {\n return getType(payload) === \"File\";\n}\n\nfunction isFullArray(payload) {\n return isArray(payload) && payload.length > 0;\n}\n\nfunction isFullObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length > 0;\n}\n\nfunction isString(payload) {\n return getType(payload) === \"String\";\n}\n\nfunction isFullString(payload) {\n return isString(payload) && payload !== \"\";\n}\n\nfunction isFunction(payload) {\n return typeof payload === \"function\";\n}\n\nfunction isType(payload, type) {\n if (!(type instanceof Function)) {\n throw new TypeError(\"Type must be a function\");\n }\n if (!Object.prototype.hasOwnProperty.call(type, \"prototype\")) {\n throw new TypeError(\"Type is not a class\");\n }\n const name = type.name;\n return getType(payload) === name || Boolean(payload && payload.constructor === type);\n}\n\nfunction isInstanceOf(value, classOrClassName) {\n if (typeof classOrClassName === \"function\") {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (isType(p, classOrClassName)) {\n return true;\n }\n }\n return false;\n } else {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (getType(p) === classOrClassName) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction isMap(payload) {\n return getType(payload) === \"Map\";\n}\n\nfunction isNaNValue(payload) {\n return getType(payload) === \"Number\" && isNaN(payload);\n}\n\nfunction isNumber(payload) {\n return getType(payload) === \"Number\" && !isNaN(payload);\n}\n\nfunction isNegativeNumber(payload) {\n return isNumber(payload) && payload < 0;\n}\n\nfunction isNull(payload) {\n return getType(payload) === \"Null\";\n}\n\nfunction isOneOf(a, b, c, d, e) {\n return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);\n}\n\nfunction isUndefined(payload) {\n return getType(payload) === \"Undefined\";\n}\n\nconst isNullOrUndefined = isOneOf(isNull, isUndefined);\n\nfunction isObject(payload) {\n return isPlainObject(payload);\n}\n\nfunction isObjectLike(payload) {\n return isAnyObject(payload);\n}\n\nfunction isPositiveNumber(payload) {\n return isNumber(payload) && payload > 0;\n}\n\nfunction isSymbol(payload) {\n return getType(payload) === \"Symbol\";\n}\n\nfunction isPrimitive(payload) {\n return isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\n}\n\nfunction isPromise(payload) {\n return getType(payload) === \"Promise\";\n}\n\nfunction isRegExp(payload) {\n return getType(payload) === \"RegExp\";\n}\n\nfunction isSet(payload) {\n return getType(payload) === \"Set\";\n}\n\nfunction isWeakMap(payload) {\n return getType(payload) === \"WeakMap\";\n}\n\nfunction isWeakSet(payload) {\n return getType(payload) === \"WeakSet\";\n}\n\nexport { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };\n","import { isArray, isPlainObject } from 'is-what';\n\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n if (propType === \"enumerable\")\n carry[key] = newVal;\n if (includeNonenumerable && propType === \"nonenumerable\") {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n}\nfunction copy(target, options = {}) {\n if (isArray(target)) {\n return target.map((item) => copy(item, options));\n }\n if (!isPlainObject(target)) {\n return target;\n }\n const props = Object.getOwnPropertyNames(target);\n const symbols = Object.getOwnPropertySymbols(target);\n return [...props, ...symbols].reduce((carry, key) => {\n if (isArray(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target[key];\n const newVal = copy(val, options);\n assignProp(carry, key, newVal, target, options.nonenumerable);\n return carry;\n }, {});\n}\n\nexport { copy };\n",null]}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { successResponseSchema } from './chunk-PKRHEXX7.js';
|
|
2
|
+
import { createRoute } from './chunk-FAQICBMH.js';
|
|
3
|
+
import { handleError } from './chunk-UXGQZUYZ.js';
|
|
4
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
5
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
6
|
+
import z from 'zod';
|
|
7
|
+
|
|
8
|
+
// src/server/handlers/vector.ts
|
|
9
|
+
var vector_exports = {};
|
|
10
|
+
__export(vector_exports, {
|
|
11
|
+
CREATE_INDEX_ROUTE: () => CREATE_INDEX_ROUTE,
|
|
12
|
+
DELETE_INDEX_ROUTE: () => DELETE_INDEX_ROUTE,
|
|
13
|
+
DESCRIBE_INDEX_ROUTE: () => DESCRIBE_INDEX_ROUTE,
|
|
14
|
+
LIST_INDEXES_ROUTE: () => LIST_INDEXES_ROUTE,
|
|
15
|
+
QUERY_VECTORS_ROUTE: () => QUERY_VECTORS_ROUTE,
|
|
16
|
+
UPSERT_VECTORS_ROUTE: () => UPSERT_VECTORS_ROUTE,
|
|
17
|
+
createIndex: () => createIndex,
|
|
18
|
+
deleteIndex: () => deleteIndex,
|
|
19
|
+
describeIndex: () => describeIndex,
|
|
20
|
+
listIndexes: () => listIndexes,
|
|
21
|
+
queryVectors: () => queryVectors,
|
|
22
|
+
upsertVectors: () => upsertVectors
|
|
23
|
+
});
|
|
24
|
+
var vectorNamePathParams = z.object({
|
|
25
|
+
vectorName: z.string().describe("Name of the vector store")
|
|
26
|
+
});
|
|
27
|
+
var vectorIndexPathParams = vectorNamePathParams.extend({
|
|
28
|
+
indexName: z.string().describe("Name of the index")
|
|
29
|
+
});
|
|
30
|
+
var indexBodyBaseSchema = z.object({
|
|
31
|
+
indexName: z.string()
|
|
32
|
+
});
|
|
33
|
+
var upsertVectorsBodySchema = indexBodyBaseSchema.extend({
|
|
34
|
+
vectors: z.array(z.array(z.number())),
|
|
35
|
+
metadata: z.array(z.record(z.string(), z.any())).optional(),
|
|
36
|
+
ids: z.array(z.string()).optional()
|
|
37
|
+
});
|
|
38
|
+
var createIndexBodySchema = indexBodyBaseSchema.extend({
|
|
39
|
+
dimension: z.number(),
|
|
40
|
+
metric: z.enum(["cosine", "euclidean", "dotproduct"]).optional()
|
|
41
|
+
});
|
|
42
|
+
var queryVectorsBodySchema = indexBodyBaseSchema.extend({
|
|
43
|
+
queryVector: z.array(z.number()),
|
|
44
|
+
topK: z.number().optional(),
|
|
45
|
+
filter: z.record(z.string(), z.any()).optional(),
|
|
46
|
+
includeVector: z.boolean().optional()
|
|
47
|
+
});
|
|
48
|
+
var upsertVectorsResponseSchema = z.object({
|
|
49
|
+
ids: z.array(z.string())
|
|
50
|
+
});
|
|
51
|
+
var createIndexResponseSchema = successResponseSchema;
|
|
52
|
+
var queryVectorsResponseSchema = z.array(z.unknown());
|
|
53
|
+
var listIndexesResponseSchema = z.array(z.string());
|
|
54
|
+
var describeIndexResponseSchema = z.object({
|
|
55
|
+
dimension: z.number(),
|
|
56
|
+
count: z.number(),
|
|
57
|
+
metric: z.string().optional()
|
|
58
|
+
});
|
|
59
|
+
var deleteIndexResponseSchema = successResponseSchema;
|
|
60
|
+
|
|
61
|
+
// src/server/handlers/vector.ts
|
|
62
|
+
function getVector(mastra, vectorName) {
|
|
63
|
+
if (!vectorName) {
|
|
64
|
+
throw new HTTPException(400, { message: "Vector name is required" });
|
|
65
|
+
}
|
|
66
|
+
const vector = mastra.getVector(vectorName);
|
|
67
|
+
if (!vector) {
|
|
68
|
+
throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });
|
|
69
|
+
}
|
|
70
|
+
return vector;
|
|
71
|
+
}
|
|
72
|
+
async function upsertVectors({
|
|
73
|
+
mastra,
|
|
74
|
+
vectorName,
|
|
75
|
+
indexName,
|
|
76
|
+
vectors,
|
|
77
|
+
metadata,
|
|
78
|
+
ids
|
|
79
|
+
}) {
|
|
80
|
+
try {
|
|
81
|
+
if (!indexName || !vectors || !Array.isArray(vectors)) {
|
|
82
|
+
throw new HTTPException(400, { message: "Invalid request index. indexName and vectors array are required." });
|
|
83
|
+
}
|
|
84
|
+
const vector = getVector(mastra, vectorName);
|
|
85
|
+
const result = await vector.upsert({ indexName, vectors, metadata, ids });
|
|
86
|
+
return { ids: result };
|
|
87
|
+
} catch (error) {
|
|
88
|
+
return handleError(error, "Error upserting vectors");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function createIndex({
|
|
92
|
+
mastra,
|
|
93
|
+
vectorName,
|
|
94
|
+
indexName,
|
|
95
|
+
dimension,
|
|
96
|
+
metric
|
|
97
|
+
}) {
|
|
98
|
+
try {
|
|
99
|
+
if (!indexName || typeof dimension !== "number" || dimension <= 0) {
|
|
100
|
+
throw new HTTPException(400, {
|
|
101
|
+
message: "Invalid request index, indexName and positive dimension number are required."
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
if (metric && !["cosine", "euclidean", "dotproduct"].includes(metric)) {
|
|
105
|
+
throw new HTTPException(400, { message: "Invalid metric. Must be one of: cosine, euclidean, dotproduct" });
|
|
106
|
+
}
|
|
107
|
+
const vector = getVector(mastra, vectorName);
|
|
108
|
+
await vector.createIndex({ indexName, dimension, metric });
|
|
109
|
+
return { success: true };
|
|
110
|
+
} catch (error) {
|
|
111
|
+
return handleError(error, "Error creating index");
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async function queryVectors({
|
|
115
|
+
mastra,
|
|
116
|
+
vectorName,
|
|
117
|
+
indexName,
|
|
118
|
+
queryVector,
|
|
119
|
+
topK,
|
|
120
|
+
filter,
|
|
121
|
+
includeVector
|
|
122
|
+
}) {
|
|
123
|
+
try {
|
|
124
|
+
if (!indexName || !queryVector || !Array.isArray(queryVector)) {
|
|
125
|
+
throw new HTTPException(400, { message: "Invalid request query. indexName and queryVector array are required." });
|
|
126
|
+
}
|
|
127
|
+
const vector = getVector(mastra, vectorName);
|
|
128
|
+
const results = await vector.query({ indexName, queryVector, topK, filter, includeVector });
|
|
129
|
+
return results;
|
|
130
|
+
} catch (error) {
|
|
131
|
+
return handleError(error, "Error querying vectors");
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
async function listIndexes({ mastra, vectorName }) {
|
|
135
|
+
try {
|
|
136
|
+
const vector = getVector(mastra, vectorName);
|
|
137
|
+
const indexes = await vector.listIndexes();
|
|
138
|
+
return indexes.filter(Boolean);
|
|
139
|
+
} catch (error) {
|
|
140
|
+
return handleError(error, "Error listing indexes");
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async function describeIndex({
|
|
144
|
+
mastra,
|
|
145
|
+
vectorName,
|
|
146
|
+
indexName
|
|
147
|
+
}) {
|
|
148
|
+
try {
|
|
149
|
+
if (!indexName) {
|
|
150
|
+
throw new HTTPException(400, { message: "Index name is required" });
|
|
151
|
+
}
|
|
152
|
+
const vector = getVector(mastra, vectorName);
|
|
153
|
+
const stats = await vector.describeIndex({ indexName });
|
|
154
|
+
return {
|
|
155
|
+
dimension: stats.dimension,
|
|
156
|
+
count: stats.count,
|
|
157
|
+
metric: stats.metric?.toLowerCase()
|
|
158
|
+
};
|
|
159
|
+
} catch (error) {
|
|
160
|
+
return handleError(error, "Error describing index");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async function deleteIndex({
|
|
164
|
+
mastra,
|
|
165
|
+
vectorName,
|
|
166
|
+
indexName
|
|
167
|
+
}) {
|
|
168
|
+
try {
|
|
169
|
+
if (!indexName) {
|
|
170
|
+
throw new HTTPException(400, { message: "Index name is required" });
|
|
171
|
+
}
|
|
172
|
+
const vector = getVector(mastra, vectorName);
|
|
173
|
+
await vector.deleteIndex({ indexName });
|
|
174
|
+
return { success: true };
|
|
175
|
+
} catch (error) {
|
|
176
|
+
return handleError(error, "Error deleting index");
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
var UPSERT_VECTORS_ROUTE = createRoute({
|
|
180
|
+
method: "POST",
|
|
181
|
+
path: "/api/vector/:vectorName/upsert",
|
|
182
|
+
responseType: "json",
|
|
183
|
+
pathParamSchema: vectorNamePathParams,
|
|
184
|
+
bodySchema: upsertVectorsBodySchema,
|
|
185
|
+
responseSchema: upsertVectorsResponseSchema,
|
|
186
|
+
summary: "Upsert vectors",
|
|
187
|
+
description: "Inserts or updates vectors in the specified index",
|
|
188
|
+
tags: ["Vectors"],
|
|
189
|
+
handler: async ({ mastra, vectorName, ...params }) => {
|
|
190
|
+
try {
|
|
191
|
+
const { indexName, vectors, metadata, ids } = params;
|
|
192
|
+
if (!indexName || !vectors || !Array.isArray(vectors)) {
|
|
193
|
+
throw new HTTPException(400, { message: "Invalid request index. indexName and vectors array are required." });
|
|
194
|
+
}
|
|
195
|
+
const vector = getVector(mastra, vectorName);
|
|
196
|
+
const result = await vector.upsert({ indexName, vectors, metadata, ids });
|
|
197
|
+
return { ids: result };
|
|
198
|
+
} catch (error) {
|
|
199
|
+
return handleError(error, "Error upserting vectors");
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
var CREATE_INDEX_ROUTE = createRoute({
|
|
204
|
+
method: "POST",
|
|
205
|
+
path: "/api/vector/:vectorName/create-index",
|
|
206
|
+
responseType: "json",
|
|
207
|
+
pathParamSchema: vectorNamePathParams,
|
|
208
|
+
bodySchema: createIndexBodySchema,
|
|
209
|
+
responseSchema: createIndexResponseSchema,
|
|
210
|
+
summary: "Create index",
|
|
211
|
+
description: "Creates a new vector index with the specified dimension and metric",
|
|
212
|
+
tags: ["Vectors"],
|
|
213
|
+
handler: async ({ mastra, vectorName, ...params }) => {
|
|
214
|
+
try {
|
|
215
|
+
const { indexName, dimension, metric } = params;
|
|
216
|
+
if (!indexName || typeof dimension !== "number" || dimension <= 0) {
|
|
217
|
+
throw new HTTPException(400, {
|
|
218
|
+
message: "Invalid request index, indexName and positive dimension number are required."
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
if (metric && !["cosine", "euclidean", "dotproduct"].includes(metric)) {
|
|
222
|
+
throw new HTTPException(400, { message: "Invalid metric. Must be one of: cosine, euclidean, dotproduct" });
|
|
223
|
+
}
|
|
224
|
+
const vector = getVector(mastra, vectorName);
|
|
225
|
+
await vector.createIndex({ indexName, dimension, metric });
|
|
226
|
+
return { success: true };
|
|
227
|
+
} catch (error) {
|
|
228
|
+
return handleError(error, "Error creating index");
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
var QUERY_VECTORS_ROUTE = createRoute({
|
|
233
|
+
method: "POST",
|
|
234
|
+
path: "/api/vector/:vectorName/query",
|
|
235
|
+
responseType: "json",
|
|
236
|
+
pathParamSchema: vectorNamePathParams,
|
|
237
|
+
bodySchema: queryVectorsBodySchema,
|
|
238
|
+
responseSchema: queryVectorsResponseSchema,
|
|
239
|
+
summary: "Query vectors",
|
|
240
|
+
description: "Performs a similarity search on the vector index",
|
|
241
|
+
tags: ["Vectors"],
|
|
242
|
+
handler: async ({ mastra, vectorName, ...params }) => {
|
|
243
|
+
try {
|
|
244
|
+
const { indexName, queryVector, topK, filter, includeVector } = params;
|
|
245
|
+
if (!indexName || !queryVector || !Array.isArray(queryVector)) {
|
|
246
|
+
throw new HTTPException(400, {
|
|
247
|
+
message: "Invalid request query. indexName and queryVector array are required."
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const vector = getVector(mastra, vectorName);
|
|
251
|
+
const results = await vector.query({ indexName, queryVector, topK, filter, includeVector });
|
|
252
|
+
return results;
|
|
253
|
+
} catch (error) {
|
|
254
|
+
return handleError(error, "Error querying vectors");
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
var LIST_INDEXES_ROUTE = createRoute({
|
|
259
|
+
method: "GET",
|
|
260
|
+
path: "/api/vector/:vectorName/indexes",
|
|
261
|
+
responseType: "json",
|
|
262
|
+
pathParamSchema: vectorNamePathParams,
|
|
263
|
+
responseSchema: listIndexesResponseSchema,
|
|
264
|
+
summary: "List indexes",
|
|
265
|
+
description: "Returns a list of all indexes in the vector store",
|
|
266
|
+
tags: ["Vectors"],
|
|
267
|
+
handler: async ({ mastra, vectorName }) => {
|
|
268
|
+
try {
|
|
269
|
+
const vector = getVector(mastra, vectorName);
|
|
270
|
+
const indexes = await vector.listIndexes();
|
|
271
|
+
return indexes.filter(Boolean);
|
|
272
|
+
} catch (error) {
|
|
273
|
+
return handleError(error, "Error listing indexes");
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
var DESCRIBE_INDEX_ROUTE = createRoute({
|
|
278
|
+
method: "GET",
|
|
279
|
+
path: "/api/vector/:vectorName/indexes/:indexName",
|
|
280
|
+
responseType: "json",
|
|
281
|
+
pathParamSchema: vectorIndexPathParams,
|
|
282
|
+
responseSchema: describeIndexResponseSchema,
|
|
283
|
+
summary: "Describe index",
|
|
284
|
+
description: "Returns statistics and metadata for a specific index",
|
|
285
|
+
tags: ["Vectors"],
|
|
286
|
+
handler: async ({ mastra, vectorName, indexName }) => {
|
|
287
|
+
try {
|
|
288
|
+
if (!indexName) {
|
|
289
|
+
throw new HTTPException(400, { message: "Index name is required" });
|
|
290
|
+
}
|
|
291
|
+
const vector = getVector(mastra, vectorName);
|
|
292
|
+
const stats = await vector.describeIndex({ indexName });
|
|
293
|
+
return {
|
|
294
|
+
dimension: stats.dimension,
|
|
295
|
+
count: stats.count,
|
|
296
|
+
metric: stats.metric?.toLowerCase()
|
|
297
|
+
};
|
|
298
|
+
} catch (error) {
|
|
299
|
+
return handleError(error, "Error describing index");
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
var DELETE_INDEX_ROUTE = createRoute({
|
|
304
|
+
method: "DELETE",
|
|
305
|
+
path: "/api/vector/:vectorName/indexes/:indexName",
|
|
306
|
+
responseType: "json",
|
|
307
|
+
pathParamSchema: vectorIndexPathParams,
|
|
308
|
+
responseSchema: deleteIndexResponseSchema,
|
|
309
|
+
summary: "Delete index",
|
|
310
|
+
description: "Deletes a vector index and all its data",
|
|
311
|
+
tags: ["Vectors"],
|
|
312
|
+
handler: async ({ mastra, vectorName, indexName }) => {
|
|
313
|
+
try {
|
|
314
|
+
if (!indexName) {
|
|
315
|
+
throw new HTTPException(400, { message: "Index name is required" });
|
|
316
|
+
}
|
|
317
|
+
const vector = getVector(mastra, vectorName);
|
|
318
|
+
await vector.deleteIndex({ indexName });
|
|
319
|
+
return { success: true };
|
|
320
|
+
} catch (error) {
|
|
321
|
+
return handleError(error, "Error deleting index");
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
export { CREATE_INDEX_ROUTE, DELETE_INDEX_ROUTE, DESCRIBE_INDEX_ROUTE, LIST_INDEXES_ROUTE, QUERY_VECTORS_ROUTE, UPSERT_VECTORS_ROUTE, createIndex, deleteIndex, describeIndex, listIndexes, queryVectors, upsertVectors, vector_exports };
|
|
327
|
+
//# sourceMappingURL=chunk-I5VZ5SKG.js.map
|
|
328
|
+
//# sourceMappingURL=chunk-I5VZ5SKG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/vector.ts","../src/server/schemas/vectors.ts"],"names":[],"mappings":"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","file":"chunk-I5VZ5SKG.js","sourcesContent":["import type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport {\n vectorNamePathParams,\n vectorIndexPathParams,\n upsertVectorsBodySchema,\n upsertVectorsResponseSchema,\n createIndexBodySchema,\n createIndexResponseSchema,\n queryVectorsBodySchema,\n queryVectorsResponseSchema,\n listIndexesResponseSchema,\n describeIndexResponseSchema,\n deleteIndexResponseSchema,\n} from '../schemas/vectors';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({\n mastra,\n vectorName,\n indexName,\n vectors,\n metadata,\n ids,\n}: VectorContext & UpsertRequest) {\n try {\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n indexName,\n dimension,\n metric,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & CreateIndexRequest) {\n try {\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n indexName,\n queryVector,\n topK,\n filter,\n includeVector,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & QueryRequest) {\n try {\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const UPSERT_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/api/vector/:vectorName/upsert',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: upsertVectorsBodySchema,\n responseSchema: upsertVectorsResponseSchema,\n summary: 'Upsert vectors',\n description: 'Inserts or updates vectors in the specified index',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, vectors, metadata, ids } = params;\n\n if (!indexName || !vectors || !Array.isArray(vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert({ indexName, vectors, metadata, ids });\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n },\n});\n\nexport const CREATE_INDEX_ROUTE = createRoute({\n method: 'POST',\n path: '/api/vector/:vectorName/create-index',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: createIndexBodySchema,\n responseSchema: createIndexResponseSchema,\n summary: 'Create index',\n description: 'Creates a new vector index with the specified dimension and metric',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, dimension, metric } = params;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n },\n});\n\nexport const QUERY_VECTORS_ROUTE = createRoute({\n method: 'POST',\n path: '/api/vector/:vectorName/query',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n bodySchema: queryVectorsBodySchema,\n responseSchema: queryVectorsResponseSchema,\n summary: 'Query vectors',\n description: 'Performs a similarity search on the vector index',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName, ...params }) => {\n try {\n const { indexName, queryVector, topK, filter, includeVector } = params;\n\n if (!indexName || !queryVector || !Array.isArray(queryVector)) {\n throw new HTTPException(400, {\n message: 'Invalid request query. indexName and queryVector array are required.',\n });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query({ indexName, queryVector, topK, filter, includeVector });\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n },\n});\n\nexport const LIST_INDEXES_ROUTE = createRoute({\n method: 'GET',\n path: '/api/vector/:vectorName/indexes',\n responseType: 'json',\n pathParamSchema: vectorNamePathParams,\n responseSchema: listIndexesResponseSchema,\n summary: 'List indexes',\n description: 'Returns a list of all indexes in the vector store',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName }) => {\n try {\n const vector = getVector(mastra, vectorName);\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n },\n});\n\nexport const DESCRIBE_INDEX_ROUTE = createRoute({\n method: 'GET',\n path: '/api/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: describeIndexResponseSchema,\n summary: 'Describe index',\n description: 'Returns statistics and metadata for a specific index',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName: indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n },\n});\n\nexport const DELETE_INDEX_ROUTE = createRoute({\n method: 'DELETE',\n path: '/api/vector/:vectorName/indexes/:indexName',\n responseType: 'json',\n pathParamSchema: vectorIndexPathParams,\n responseSchema: deleteIndexResponseSchema,\n summary: 'Delete index',\n description: 'Deletes a vector index and all its data',\n tags: ['Vectors'],\n handler: async ({ mastra, vectorName, indexName }) => {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName: indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n },\n});\n","import z from 'zod';\nimport { successResponseSchema } from './common';\n\n// Path parameter schemas\nexport const vectorNamePathParams = z.object({\n vectorName: z.string().describe('Name of the vector store'),\n});\n\nexport const vectorIndexPathParams = vectorNamePathParams.extend({\n indexName: z.string().describe('Name of the index'),\n});\n\n// Body schemas\n// Base schema for operations that require an index name\nconst indexBodyBaseSchema = z.object({\n indexName: z.string(),\n});\n\nexport const upsertVectorsBodySchema = indexBodyBaseSchema.extend({\n vectors: z.array(z.array(z.number())),\n metadata: z.array(z.record(z.string(), z.any())).optional(),\n ids: z.array(z.string()).optional(),\n});\n\nexport const createIndexBodySchema = indexBodyBaseSchema.extend({\n dimension: z.number(),\n metric: z.enum(['cosine', 'euclidean', 'dotproduct']).optional(),\n});\n\nexport const queryVectorsBodySchema = indexBodyBaseSchema.extend({\n queryVector: z.array(z.number()),\n topK: z.number().optional(),\n filter: z.record(z.string(), z.any()).optional(),\n includeVector: z.boolean().optional(),\n});\n\n// Response schemas\nexport const upsertVectorsResponseSchema = z.object({\n ids: z.array(z.string()),\n});\n\nexport const createIndexResponseSchema = successResponseSchema;\n\nexport const queryVectorsResponseSchema = z.array(z.unknown()); // QueryResult[]\n\nexport const listIndexesResponseSchema = z.array(z.string());\n\nexport const describeIndexResponseSchema = z.object({\n dimension: z.number(),\n count: z.number(),\n metric: z.string().optional(),\n});\n\nexport const deleteIndexResponseSchema = successResponseSchema;\n"]}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { listToolsResponseSchema, serializedToolSchema, toolIdPathParams, executeToolResponseSchema, executeToolContextBodySchema, agentToolPathParams, executeToolBodySchema } from './chunk-R4M3BSUG.js';
|
|
2
|
+
import { stringify } from './chunk-LF2ZLOFP.js';
|
|
3
|
+
import { validateBody } from './chunk-XWGAT2DA.js';
|
|
4
|
+
import { optionalRunIdSchema } from './chunk-PKRHEXX7.js';
|
|
5
|
+
import { createRoute } from './chunk-FAQICBMH.js';
|
|
6
|
+
import { handleError } from './chunk-UXGQZUYZ.js';
|
|
7
|
+
import { HTTPException } from './chunk-6QWQZI4Q.js';
|
|
8
|
+
import { __export } from './chunk-PR4QN5HX.js';
|
|
9
|
+
import { isVercelTool } from '@mastra/core/tools';
|
|
10
|
+
import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
|
|
11
|
+
|
|
12
|
+
// src/server/handlers/tools.ts
|
|
13
|
+
var tools_exports = {};
|
|
14
|
+
__export(tools_exports, {
|
|
15
|
+
EXECUTE_AGENT_TOOL_ROUTE: () => EXECUTE_AGENT_TOOL_ROUTE,
|
|
16
|
+
EXECUTE_TOOL_ROUTE: () => EXECUTE_TOOL_ROUTE,
|
|
17
|
+
GET_AGENT_TOOL_ROUTE: () => GET_AGENT_TOOL_ROUTE,
|
|
18
|
+
GET_TOOL_BY_ID_ROUTE: () => GET_TOOL_BY_ID_ROUTE,
|
|
19
|
+
LIST_TOOLS_ROUTE: () => LIST_TOOLS_ROUTE
|
|
20
|
+
});
|
|
21
|
+
var LIST_TOOLS_ROUTE = createRoute({
|
|
22
|
+
method: "GET",
|
|
23
|
+
path: "/api/tools",
|
|
24
|
+
responseType: "json",
|
|
25
|
+
responseSchema: listToolsResponseSchema,
|
|
26
|
+
summary: "List all tools",
|
|
27
|
+
description: "Returns a list of all available tools in the system",
|
|
28
|
+
tags: ["Tools"],
|
|
29
|
+
handler: async ({ mastra, tools }) => {
|
|
30
|
+
try {
|
|
31
|
+
const allTools = tools || mastra.listTools() || {};
|
|
32
|
+
const serializedTools = Object.entries(allTools).reduce(
|
|
33
|
+
(acc, [id, _tool]) => {
|
|
34
|
+
const tool = _tool;
|
|
35
|
+
acc[id] = {
|
|
36
|
+
...tool,
|
|
37
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
38
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
39
|
+
};
|
|
40
|
+
return acc;
|
|
41
|
+
},
|
|
42
|
+
{}
|
|
43
|
+
);
|
|
44
|
+
return serializedTools;
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return handleError(error, "Error getting tools");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var GET_TOOL_BY_ID_ROUTE = createRoute({
|
|
51
|
+
method: "GET",
|
|
52
|
+
path: "/api/tools/:toolId",
|
|
53
|
+
responseType: "json",
|
|
54
|
+
pathParamSchema: toolIdPathParams,
|
|
55
|
+
responseSchema: serializedToolSchema,
|
|
56
|
+
summary: "Get tool by ID",
|
|
57
|
+
description: "Returns details for a specific tool including its schema and configuration",
|
|
58
|
+
tags: ["Tools"],
|
|
59
|
+
handler: async ({ mastra, tools, toolId }) => {
|
|
60
|
+
try {
|
|
61
|
+
let tool;
|
|
62
|
+
if (tools && Object.keys(tools).length > 0) {
|
|
63
|
+
tool = Object.values(tools).find((t) => t.id === toolId);
|
|
64
|
+
} else {
|
|
65
|
+
tool = mastra.getToolById(toolId);
|
|
66
|
+
}
|
|
67
|
+
if (!tool) {
|
|
68
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
69
|
+
}
|
|
70
|
+
const serializedTool = {
|
|
71
|
+
...tool,
|
|
72
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
73
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
74
|
+
};
|
|
75
|
+
return serializedTool;
|
|
76
|
+
} catch (error) {
|
|
77
|
+
return handleError(error, "Error getting tool");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
var EXECUTE_TOOL_ROUTE = createRoute({
|
|
82
|
+
method: "POST",
|
|
83
|
+
path: "/api/tools/:toolId/execute",
|
|
84
|
+
responseType: "json",
|
|
85
|
+
pathParamSchema: toolIdPathParams,
|
|
86
|
+
queryParamSchema: optionalRunIdSchema,
|
|
87
|
+
bodySchema: executeToolContextBodySchema,
|
|
88
|
+
responseSchema: executeToolResponseSchema,
|
|
89
|
+
summary: "Execute tool",
|
|
90
|
+
description: "Executes a specific tool with the provided input data",
|
|
91
|
+
tags: ["Tools"],
|
|
92
|
+
handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {
|
|
93
|
+
try {
|
|
94
|
+
if (!toolId) {
|
|
95
|
+
throw new HTTPException(400, { message: "Tool ID is required" });
|
|
96
|
+
}
|
|
97
|
+
let tool;
|
|
98
|
+
if (tools && Object.keys(tools).length > 0) {
|
|
99
|
+
tool = Object.values(tools).find((t) => t.id === toolId);
|
|
100
|
+
} else {
|
|
101
|
+
tool = mastra.getToolById(toolId);
|
|
102
|
+
}
|
|
103
|
+
if (!tool) {
|
|
104
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
105
|
+
}
|
|
106
|
+
if (!tool?.execute) {
|
|
107
|
+
throw new HTTPException(400, { message: "Tool is not executable" });
|
|
108
|
+
}
|
|
109
|
+
const { data } = bodyParams;
|
|
110
|
+
validateBody({ data });
|
|
111
|
+
if (isVercelTool(tool)) {
|
|
112
|
+
const result2 = await tool.execute(data);
|
|
113
|
+
return result2;
|
|
114
|
+
}
|
|
115
|
+
const result = await tool.execute(data, {
|
|
116
|
+
mastra,
|
|
117
|
+
requestContext,
|
|
118
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
119
|
+
tracingContext: { currentSpan: void 0 },
|
|
120
|
+
...runId ? {
|
|
121
|
+
workflow: {
|
|
122
|
+
runId,
|
|
123
|
+
suspend: async () => {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} : {}
|
|
127
|
+
});
|
|
128
|
+
return result;
|
|
129
|
+
} catch (error) {
|
|
130
|
+
return handleError(error, "Error executing tool");
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
var GET_AGENT_TOOL_ROUTE = createRoute({
|
|
135
|
+
method: "GET",
|
|
136
|
+
path: "/api/agents/:agentId/tools/:toolId",
|
|
137
|
+
responseType: "json",
|
|
138
|
+
pathParamSchema: agentToolPathParams,
|
|
139
|
+
responseSchema: serializedToolSchema,
|
|
140
|
+
summary: "Get agent tool",
|
|
141
|
+
description: "Returns details for a specific tool assigned to the agent",
|
|
142
|
+
tags: ["Agents", "Tools"],
|
|
143
|
+
handler: async ({ mastra, agentId, toolId, requestContext }) => {
|
|
144
|
+
try {
|
|
145
|
+
const agent = agentId ? mastra.getAgentById(agentId) : null;
|
|
146
|
+
if (!agent) {
|
|
147
|
+
throw new HTTPException(404, { message: "Agent not found" });
|
|
148
|
+
}
|
|
149
|
+
const agentTools = await agent.listTools({ requestContext });
|
|
150
|
+
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
151
|
+
if (!tool) {
|
|
152
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
153
|
+
}
|
|
154
|
+
const serializedTool = {
|
|
155
|
+
...tool,
|
|
156
|
+
inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
|
|
157
|
+
outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
|
|
158
|
+
};
|
|
159
|
+
return serializedTool;
|
|
160
|
+
} catch (error) {
|
|
161
|
+
return handleError(error, "Error getting agent tool");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
var EXECUTE_AGENT_TOOL_ROUTE = createRoute({
|
|
166
|
+
method: "POST",
|
|
167
|
+
path: "/api/agents/:agentId/tools/:toolId/execute",
|
|
168
|
+
responseType: "json",
|
|
169
|
+
pathParamSchema: agentToolPathParams,
|
|
170
|
+
bodySchema: executeToolBodySchema,
|
|
171
|
+
responseSchema: executeToolResponseSchema,
|
|
172
|
+
summary: "Execute agent tool",
|
|
173
|
+
description: "Executes a specific tool assigned to the agent with the provided input data",
|
|
174
|
+
tags: ["Agents", "Tools"],
|
|
175
|
+
handler: async ({ mastra, agentId, toolId, data, requestContext }) => {
|
|
176
|
+
try {
|
|
177
|
+
const agent = agentId ? mastra.getAgentById(agentId) : null;
|
|
178
|
+
if (!agent) {
|
|
179
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
180
|
+
}
|
|
181
|
+
const agentTools = await agent.listTools({ requestContext });
|
|
182
|
+
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
183
|
+
if (!tool) {
|
|
184
|
+
throw new HTTPException(404, { message: "Tool not found" });
|
|
185
|
+
}
|
|
186
|
+
if (!tool?.execute) {
|
|
187
|
+
throw new HTTPException(400, { message: "Tool is not executable" });
|
|
188
|
+
}
|
|
189
|
+
const result = await tool.execute(data, {
|
|
190
|
+
mastra,
|
|
191
|
+
requestContext,
|
|
192
|
+
// TODO: Pass proper tracing context when server API supports tracing
|
|
193
|
+
tracingContext: { currentSpan: void 0 }
|
|
194
|
+
});
|
|
195
|
+
return result;
|
|
196
|
+
} catch (error) {
|
|
197
|
+
return handleError(error, "Error executing agent tool");
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
export { EXECUTE_AGENT_TOOL_ROUTE, EXECUTE_TOOL_ROUTE, GET_AGENT_TOOL_ROUTE, GET_TOOL_BY_ID_ROUTE, LIST_TOOLS_ROUTE, tools_exports };
|
|
203
|
+
//# sourceMappingURL=chunk-ICANWSEW.js.map
|
|
204
|
+
//# sourceMappingURL=chunk-ICANWSEW.js.map
|