@mastra/server 0.0.0-toolOptionTypes-20250917085558 → 0.0.0-top-level-fix-20251211111608
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 +1684 -3
- package/README.md +2 -2
- package/dist/{chunk-PPYGWINI.cjs → chunk-2PLXW4ZX.cjs} +74 -74
- package/dist/{chunk-PPYGWINI.cjs.map → chunk-2PLXW4ZX.cjs.map} +1 -1
- package/dist/chunk-3SFLFUKY.js +116 -0
- package/dist/chunk-3SFLFUKY.js.map +1 -0
- package/dist/chunk-3XI22UQR.cjs +148 -0
- package/dist/chunk-3XI22UQR.cjs.map +1 -0
- package/dist/chunk-4W2SM6CG.js +294 -0
- package/dist/chunk-4W2SM6CG.js.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
- package/dist/chunk-64ITUOXI.cjs.map +1 -0
- package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
- package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
- package/dist/{chunk-3THIIWWW.cjs → chunk-7O3KPUJ4.cjs} +230 -34
- package/dist/chunk-7O3KPUJ4.cjs.map +1 -0
- package/dist/chunk-C3UIIRAT.cjs +920 -0
- package/dist/chunk-C3UIIRAT.cjs.map +1 -0
- package/dist/chunk-CDRVS35Y.js +23226 -0
- package/dist/chunk-CDRVS35Y.js.map +1 -0
- package/dist/chunk-DRUNNM4C.js +328 -0
- package/dist/chunk-DRUNNM4C.js.map +1 -0
- package/dist/chunk-EBWTF2DH.cjs +810 -0
- package/dist/chunk-EBWTF2DH.cjs.map +1 -0
- package/dist/chunk-ER3QM7DD.js +46 -0
- package/dist/chunk-ER3QM7DD.js.map +1 -0
- package/dist/chunk-FPCGLPLJ.cjs +297 -0
- package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
- package/dist/chunk-FYY54HZC.js +310 -0
- package/dist/chunk-FYY54HZC.js.map +1 -0
- package/dist/chunk-GFF2I6UD.js +354 -0
- package/dist/chunk-GFF2I6UD.js.map +1 -0
- package/dist/chunk-GN2LFMET.cjs +23268 -0
- package/dist/chunk-GN2LFMET.cjs.map +1 -0
- package/dist/chunk-H2RMXG2Q.cjs +167 -0
- package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
- package/dist/chunk-HAJOEDNB.js +274 -0
- package/dist/chunk-HAJOEDNB.js.map +1 -0
- package/dist/chunk-HT4LP3BO.js +75 -0
- package/dist/chunk-HT4LP3BO.js.map +1 -0
- package/dist/chunk-I6LR6CPC.cjs +125 -0
- package/dist/chunk-I6LR6CPC.cjs.map +1 -0
- package/dist/chunk-IEYXQTUW.cjs +284 -0
- package/dist/chunk-IEYXQTUW.cjs.map +1 -0
- package/dist/chunk-K3ELPJS3.js +1063 -0
- package/dist/chunk-K3ELPJS3.js.map +1 -0
- package/dist/{chunk-5QUKZCEF.js → chunk-KEXR53KI.js} +224 -34
- package/dist/chunk-KEXR53KI.js.map +1 -0
- package/dist/{chunk-SIGXR3JT.cjs → chunk-LPM6BBAX.cjs} +5 -5
- package/dist/{chunk-SIGXR3JT.cjs.map → chunk-LPM6BBAX.cjs.map} +1 -1
- package/dist/chunk-MCYD5LW7.cjs +90 -0
- package/dist/chunk-MCYD5LW7.cjs.map +1 -0
- package/dist/chunk-MQLS6Z7A.js +891 -0
- package/dist/chunk-MQLS6Z7A.js.map +1 -0
- package/dist/{chunk-EMMSS5I5.cjs → chunk-O7I5CWRX.cjs} +10 -3
- package/dist/{chunk-EMMSS5I5.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
- package/dist/{chunk-G3PMV62Z.js → chunk-PR4QN5HX.js} +10 -4
- package/dist/{chunk-G3PMV62Z.js.map → chunk-PR4QN5HX.js.map} +1 -1
- package/dist/chunk-PUFCKXFW.cjs +312 -0
- package/dist/chunk-PUFCKXFW.cjs.map +1 -0
- package/dist/{chunk-NG5IVLEZ.js → chunk-RQK4FQUD.js} +3 -3
- package/dist/{chunk-NG5IVLEZ.js.map → chunk-RQK4FQUD.js.map} +1 -1
- package/dist/chunk-S3TIWWQL.cjs +322 -0
- package/dist/chunk-S3TIWWQL.cjs.map +1 -0
- package/dist/chunk-SXVANU23.js +164 -0
- package/dist/chunk-SXVANU23.js.map +1 -0
- package/dist/chunk-TGIVGCBJ.cjs +211 -0
- package/dist/chunk-TGIVGCBJ.cjs.map +1 -0
- package/dist/chunk-TYZ6ZISQ.cjs +368 -0
- package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
- package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
- package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
- package/dist/chunk-UY2D2LVC.cjs +205 -0
- package/dist/chunk-UY2D2LVC.cjs.map +1 -0
- package/dist/chunk-V272B7RM.cjs +255 -0
- package/dist/chunk-V272B7RM.cjs.map +1 -0
- package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
- package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
- package/dist/chunk-VIDXWHJQ.js +204 -0
- package/dist/chunk-VIDXWHJQ.js.map +1 -0
- package/dist/chunk-W36USBM5.js +196 -0
- package/dist/chunk-W36USBM5.js.map +1 -0
- package/dist/chunk-WBLT2HL3.js +144 -0
- package/dist/chunk-WBLT2HL3.js.map +1 -0
- package/dist/chunk-WE4USCF3.js +226 -0
- package/dist/chunk-WE4USCF3.js.map +1 -0
- package/dist/chunk-X43DWDXB.cjs +346 -0
- package/dist/chunk-X43DWDXB.cjs.map +1 -0
- package/dist/chunk-X4QMPCTP.cjs +259 -0
- package/dist/chunk-X4QMPCTP.cjs.map +1 -0
- package/dist/chunk-XQPJ63ZD.cjs +48 -0
- package/dist/chunk-XQPJ63ZD.cjs.map +1 -0
- package/dist/chunk-XW2HXQDO.js +302 -0
- package/dist/chunk-XW2HXQDO.js.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/chunk-YHNJY33C.js +786 -0
- package/dist/chunk-YHNJY33C.js.map +1 -0
- package/dist/chunk-YP34EWWK.js +253 -0
- package/dist/chunk-YP34EWWK.js.map +1 -0
- package/dist/chunk-ZN5R6OZB.cjs +1107 -0
- package/dist/chunk-ZN5R6OZB.cjs.map +1 -0
- package/dist/{chunk-6GMFZ5LK.js → chunk-ZULZ2752.js} +3 -3
- package/dist/{chunk-6GMFZ5LK.js.map → chunk-ZULZ2752.js.map} +1 -1
- package/dist/{chunk-IGFMAZZ5.cjs → dist-4MVGNSRL.cjs} +20 -20
- package/dist/dist-4MVGNSRL.cjs.map +1 -0
- package/dist/{chunk-TVSIG4JE.cjs → dist-FZYCV3VB.cjs} +26 -26
- package/dist/dist-FZYCV3VB.cjs.map +1 -0
- package/dist/{chunk-5DP5XZH6.cjs → dist-G2BYZJOC.cjs} +28 -28
- package/dist/dist-G2BYZJOC.cjs.map +1 -0
- package/dist/dist-P4MXBQ3U.cjs +16 -0
- package/dist/{dist-3A5DXB37.cjs.map → dist-P4MXBQ3U.cjs.map} +1 -1
- package/dist/{chunk-FQNT7PI4.js → dist-PQZUVLPC.js} +3 -3
- package/dist/dist-PQZUVLPC.js.map +1 -0
- package/dist/{chunk-P7CIEIJ3.js → dist-R7WYX6LC.js} +3 -3
- package/dist/dist-R7WYX6LC.js.map +1 -0
- package/dist/{chunk-HJQKWRKQ.cjs → dist-RFMYFILX.cjs} +30 -30
- package/dist/dist-RFMYFILX.cjs.map +1 -0
- package/dist/{chunk-LYPU75T6.js → dist-X7XR3M3Z.js} +3 -3
- package/dist/dist-X7XR3M3Z.js.map +1 -0
- package/dist/{chunk-66YYHFGF.js → dist-XVBSOGFK.js} +3 -3
- package/dist/dist-XVBSOGFK.js.map +1 -0
- package/dist/dist-YREX2TJT.js +3 -0
- package/dist/{dist-26HWEQY6.js.map → dist-YREX2TJT.js.map} +1 -1
- package/dist/server/auth/defaults.d.ts +3 -0
- package/dist/server/auth/defaults.d.ts.map +1 -0
- package/dist/server/auth/helpers.d.ts +14 -0
- package/dist/server/auth/helpers.d.ts.map +1 -0
- package/dist/server/auth/index.cjs +137 -0
- package/dist/server/auth/index.cjs.map +1 -0
- package/dist/server/auth/index.d.ts +3 -0
- package/dist/server/auth/index.d.ts.map +1 -0
- package/dist/server/auth/index.js +127 -0
- package/dist/server/auth/index.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +15 -7
- package/dist/server/handlers/a2a.d.ts +492 -10
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +43 -31
- package/dist/server/handlers/agent-builder.d.ts +599 -77
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +61 -29
- package/dist/server/handlers/agents.d.ts +3329 -129
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/error.cjs +2 -2
- package/dist/server/handlers/error.js +1 -1
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +135 -27
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp.cjs +40 -0
- package/dist/server/handlers/mcp.cjs.map +1 -0
- package/dist/server/handlers/mcp.d.ts +110 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -0
- package/dist/server/handlers/mcp.js +3 -0
- package/dist/server/handlers/mcp.js.map +1 -0
- package/dist/server/handlers/memory.cjs +63 -31
- package/dist/server/handlers/memory.d.ts +934 -103
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +29 -5
- package/dist/server/handlers/observability.d.ts +142 -9
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +13 -13
- package/dist/server/handlers/scores.d.ts +112 -40
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +28 -0
- package/dist/server/handlers/stored-agents.cjs.map +1 -0
- package/dist/server/handlers/stored-agents.d.ts +289 -0
- package/dist/server/handlers/stored-agents.d.ts.map +1 -0
- package/dist/server/handlers/stored-agents.js +3 -0
- package/dist/server/handlers/stored-agents.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 +11 -11
- package/dist/server/handlers/tools.d.ts +69 -23
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +11 -3
- package/dist/server/handlers/utils.d.ts +5 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +31 -7
- package/dist/server/handlers/vector.d.ts +93 -9
- package/dist/server/handlers/vector.d.ts.map +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +21 -9
- package/dist/server/handlers/voice.d.ts +81 -40
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +75 -31
- package/dist/server/handlers/workflows.d.ts +925 -60
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +26 -36
- package/dist/server/handlers.d.ts +1 -3
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +12 -14
- package/dist/server/http-exception.d.ts +0 -5
- package/dist/server/http-exception.d.ts.map +1 -1
- 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 +204 -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 +179 -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/mcp.d.ts +299 -0
- package/dist/server/schemas/mcp.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/stored-agents.d.ts +792 -0
- package/dist/server/schemas/stored-agents.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 +608 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +481 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +91 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +466 -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/redact.d.ts +26 -0
- package/dist/server/server-adapter/redact.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 +50 -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/mcp.d.ts +9 -0
- package/dist/server/server-adapter/routes/mcp.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/stored-agents.d.ts +8 -0
- package/dist/server/server-adapter/routes/stored-agents.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/utils.d.ts +5 -2
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/token-GVZ7HRD7.js +62 -0
- package/dist/token-GVZ7HRD7.js.map +1 -0
- package/dist/token-JGA3ZWAN.js +61 -0
- package/dist/token-JGA3ZWAN.js.map +1 -0
- package/dist/token-VFONFWVS.cjs +64 -0
- package/dist/token-VFONFWVS.cjs.map +1 -0
- package/dist/token-ZOD6YIQ3.cjs +63 -0
- package/dist/token-ZOD6YIQ3.cjs.map +1 -0
- package/dist/token-util-7R2ZFIXO.js +7 -0
- package/dist/token-util-7R2ZFIXO.js.map +1 -0
- package/dist/token-util-BLJZJDBZ.cjs +9 -0
- package/dist/token-util-BLJZJDBZ.cjs.map +1 -0
- package/dist/token-util-VGZUWSNR.cjs +9 -0
- package/dist/token-util-VGZUWSNR.cjs.map +1 -0
- package/dist/token-util-VKTPZLSE.js +7 -0
- package/dist/token-util-VKTPZLSE.js.map +1 -0
- package/package.json +39 -19
- package/dist/chunk-3THIIWWW.cjs.map +0 -1
- package/dist/chunk-4QCXUEAT.js +0 -25
- package/dist/chunk-4QCXUEAT.js.map +0 -1
- package/dist/chunk-4RRMWXQ2.js +0 -3522
- package/dist/chunk-4RRMWXQ2.js.map +0 -1
- package/dist/chunk-5DP5XZH6.cjs.map +0 -1
- package/dist/chunk-5QUKZCEF.js.map +0 -1
- package/dist/chunk-5VTTUNVK.cjs +0 -540
- package/dist/chunk-5VTTUNVK.cjs.map +0 -1
- package/dist/chunk-66YYHFGF.js.map +0 -1
- package/dist/chunk-6LUKYSWE.cjs +0 -610
- package/dist/chunk-6LUKYSWE.cjs.map +0 -1
- package/dist/chunk-743UIDHI.cjs +0 -2013
- package/dist/chunk-743UIDHI.cjs.map +0 -1
- package/dist/chunk-7QEJ5QG5.js +0 -151
- package/dist/chunk-7QEJ5QG5.js.map +0 -1
- package/dist/chunk-A3AL7EWJ.js +0 -83
- package/dist/chunk-A3AL7EWJ.js.map +0 -1
- package/dist/chunk-AK2FXLLB.cjs +0 -849
- package/dist/chunk-AK2FXLLB.cjs.map +0 -1
- package/dist/chunk-B2V3PUB7.js +0 -591
- package/dist/chunk-B2V3PUB7.js.map +0 -1
- package/dist/chunk-EMNGA4R4.js +0 -845
- package/dist/chunk-EMNGA4R4.js.map +0 -1
- package/dist/chunk-FALVL2VV.cjs +0 -3525
- package/dist/chunk-FALVL2VV.cjs.map +0 -1
- package/dist/chunk-FQNT7PI4.js.map +0 -1
- package/dist/chunk-G4PUALCE.cjs +0 -28
- package/dist/chunk-G4PUALCE.cjs.map +0 -1
- package/dist/chunk-GUI3CROV.cjs +0 -159
- package/dist/chunk-GUI3CROV.cjs.map +0 -1
- package/dist/chunk-HJQKWRKQ.cjs.map +0 -1
- package/dist/chunk-HVBBFCDH.cjs +0 -2321
- package/dist/chunk-HVBBFCDH.cjs.map +0 -1
- package/dist/chunk-HZJRQ5L3.cjs +0 -1411
- package/dist/chunk-HZJRQ5L3.cjs.map +0 -1
- package/dist/chunk-IGFMAZZ5.cjs.map +0 -1
- package/dist/chunk-IOQGI4ML.js +0 -931
- package/dist/chunk-IOQGI4ML.js.map +0 -1
- package/dist/chunk-IQ4NTMIJ.cjs +0 -15753
- package/dist/chunk-IQ4NTMIJ.cjs.map +0 -1
- package/dist/chunk-IY34NOLA.cjs +0 -150
- package/dist/chunk-IY34NOLA.cjs.map +0 -1
- package/dist/chunk-J7BPKKOG.cjs +0 -163
- package/dist/chunk-J7BPKKOG.cjs.map +0 -1
- package/dist/chunk-JRDEOHAJ.js +0 -122
- package/dist/chunk-JRDEOHAJ.js.map +0 -1
- package/dist/chunk-KNGXRN26.cjs +0 -335
- package/dist/chunk-KNGXRN26.cjs.map +0 -1
- package/dist/chunk-KV6VHX4V.js +0 -160
- package/dist/chunk-KV6VHX4V.js.map +0 -1
- package/dist/chunk-L265APUD.cjs +0 -69
- package/dist/chunk-L265APUD.cjs.map +0 -1
- package/dist/chunk-LYPU75T6.js.map +0 -1
- package/dist/chunk-MMROOK5J.js.map +0 -1
- package/dist/chunk-N7F33WAD.js +0 -2290
- package/dist/chunk-N7F33WAD.js.map +0 -1
- package/dist/chunk-NLWACBE7.cjs +0 -128
- package/dist/chunk-NLWACBE7.cjs.map +0 -1
- package/dist/chunk-OGW6HHVI.js +0 -1408
- package/dist/chunk-OGW6HHVI.js.map +0 -1
- package/dist/chunk-OZLRIVC4.cjs +0 -588
- package/dist/chunk-OZLRIVC4.cjs.map +0 -1
- package/dist/chunk-P7CIEIJ3.js.map +0 -1
- package/dist/chunk-P7RBMCBE.cjs +0 -934
- package/dist/chunk-P7RBMCBE.cjs.map +0 -1
- package/dist/chunk-PWTXZZTR.cjs +0 -165
- package/dist/chunk-PWTXZZTR.cjs.map +0 -1
- package/dist/chunk-R7NOGUZG.js +0 -65
- package/dist/chunk-R7NOGUZG.js.map +0 -1
- package/dist/chunk-RCHEPTZZ.js +0 -2006
- package/dist/chunk-RCHEPTZZ.js.map +0 -1
- package/dist/chunk-SPLSYTYW.cjs +0 -88
- package/dist/chunk-SPLSYTYW.cjs.map +0 -1
- package/dist/chunk-SQY4T6EJ.js +0 -571
- package/dist/chunk-SQY4T6EJ.js.map +0 -1
- package/dist/chunk-SYRRSBGL.js +0 -156
- package/dist/chunk-SYRRSBGL.js.map +0 -1
- package/dist/chunk-T3TIA3O6.cjs +0 -131
- package/dist/chunk-T3TIA3O6.cjs.map +0 -1
- package/dist/chunk-TTHEEIZ3.js +0 -323
- package/dist/chunk-TTHEEIZ3.js.map +0 -1
- package/dist/chunk-TVSIG4JE.cjs.map +0 -1
- package/dist/chunk-U46VIX2V.js +0 -144
- package/dist/chunk-U46VIX2V.js.map +0 -1
- package/dist/chunk-WHN4VX55.js +0 -123
- package/dist/chunk-WHN4VX55.js.map +0 -1
- package/dist/chunk-YRMJCAH4.js +0 -15717
- package/dist/chunk-YRMJCAH4.js.map +0 -1
- package/dist/chunk-ZSAOHEZK.js +0 -524
- package/dist/chunk-ZSAOHEZK.js.map +0 -1
- package/dist/dist-26HWEQY6.js +0 -3
- package/dist/dist-3A5DXB37.cjs +0 -20
- package/dist/dist-3SJKQJGY.cjs +0 -16
- package/dist/dist-3SJKQJGY.cjs.map +0 -1
- package/dist/dist-4ZQSPE5K.js +0 -3
- package/dist/dist-4ZQSPE5K.js.map +0 -1
- package/dist/dist-5W5QNRTD.js +0 -3
- package/dist/dist-5W5QNRTD.js.map +0 -1
- package/dist/dist-653SRMPL.js +0 -3
- package/dist/dist-653SRMPL.js.map +0 -1
- package/dist/dist-6U6EFC5C.cjs +0 -16
- package/dist/dist-6U6EFC5C.cjs.map +0 -1
- package/dist/dist-7IHNNYMF.cjs +0 -16
- package/dist/dist-7IHNNYMF.cjs.map +0 -1
- package/dist/dist-B5IPRF6W.js +0 -3
- package/dist/dist-B5IPRF6W.js.map +0 -1
- package/dist/dist-EOMYFT4Y.cjs +0 -16
- package/dist/dist-EOMYFT4Y.cjs.map +0 -1
- package/dist/dist-EZZMMMNT.cjs +0 -16
- package/dist/dist-EZZMMMNT.cjs.map +0 -1
- package/dist/dist-F2ET4MNO.cjs +0 -16
- package/dist/dist-F2ET4MNO.cjs.map +0 -1
- package/dist/dist-H64VX6DE.js +0 -3
- package/dist/dist-H64VX6DE.js.map +0 -1
- package/dist/dist-HY7RMLJQ.cjs +0 -16
- package/dist/dist-HY7RMLJQ.cjs.map +0 -1
- package/dist/dist-M6S4P3FJ.js +0 -3
- package/dist/dist-M6S4P3FJ.js.map +0 -1
- package/dist/dist-NR7QSCQT.js +0 -3
- package/dist/dist-NR7QSCQT.js.map +0 -1
- package/dist/dist-QLFMCMCX.js +0 -3
- package/dist/dist-QLFMCMCX.js.map +0 -1
- package/dist/dist-UY46BFRP.js +0 -3
- package/dist/dist-UY46BFRP.js.map +0 -1
- package/dist/dist-WCQDRTIV.cjs +0 -16
- package/dist/dist-WCQDRTIV.cjs.map +0 -1
- package/dist/dist-WKYB3LTJ.cjs +0 -16
- package/dist/dist-WKYB3LTJ.cjs.map +0 -1
- package/dist/server/handlers/legacyWorkflows.cjs +0 -48
- package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
- package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
- package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
- package/dist/server/handlers/legacyWorkflows.js +0 -3
- package/dist/server/handlers/legacyWorkflows.js.map +0 -1
- package/dist/server/handlers/network.cjs +0 -24
- package/dist/server/handlers/network.cjs.map +0 -1
- package/dist/server/handlers/network.d.ts +0 -50
- package/dist/server/handlers/network.d.ts.map +0 -1
- package/dist/server/handlers/network.js +0 -3
- package/dist/server/handlers/network.js.map +0 -1
- package/dist/server/handlers/telemetry.cjs +0 -20
- package/dist/server/handlers/telemetry.cjs.map +0 -1
- package/dist/server/handlers/telemetry.d.ts +0 -33
- package/dist/server/handlers/telemetry.d.ts.map +0 -1
- package/dist/server/handlers/telemetry.js +0 -3
- package/dist/server/handlers/telemetry.js.map +0 -1
- package/dist/server/handlers/vNextNetwork.cjs +0 -220
- package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
- package/dist/server/handlers/vNextNetwork.d.ts +0 -179
- package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
- package/dist/server/handlers/vNextNetwork.js +0 -213
- package/dist/server/handlers/vNextNetwork.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-error.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-generative-ai-embedding-options.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-generative-ai-embedding-model.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/convert-json-schema-to-openapi-schema.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/convert-to-google-generative-ai-messages.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/get-model-path.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-generative-ai-options.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-prepare-tools.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/map-google-generative-ai-finish-reason.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/tool/google-search.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/tool/url-context.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-generative-ai-language-model.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/tool/code-execution.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-tools.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-generative-ai-image-model.ts","../../../node_modules/.pnpm/@ai-sdk+google@2.0.6_zod@3.25.76/node_modules/@ai-sdk/google/src/google-provider.ts"],"names":["z","responseHeaders","response","rawValue","_a","googleTools","UnsupportedFunctionalityError","createProviderDefinedToolFactory","parseProviderOptions","combineHeaders","resolve","postJsonToApi","createJsonResponseHandler","generateId"],"mappings":"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","file":"chunk-OGW6HHVI.js","sourcesContent":["import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst googleErrorDataSchema = z.object({\n error: z.object({\n code: z.number().nullable(),\n message: z.string(),\n status: z.string(),\n }),\n});\n\nexport type GoogleErrorData = z.infer<typeof googleErrorDataSchema>;\n\nexport const googleFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: googleErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import { z } from 'zod/v4';\n\nexport type GoogleGenerativeAIEmbeddingModelId =\n | 'gemini-embedding-001'\n | 'text-embedding-004'\n | (string & {});\n\nexport const googleGenerativeAIEmbeddingProviderOptions = z.object({\n /**\n * Optional. Optional reduced dimension for the output embedding.\n * If set, excessive values in the output embedding are truncated from the end.\n */\n outputDimensionality: z.number().optional(),\n\n /**\n * Optional. Specifies the task type for generating embeddings.\n * Supported task types:\n * - SEMANTIC_SIMILARITY: Optimized for text similarity.\n * - CLASSIFICATION: Optimized for text classification.\n * - CLUSTERING: Optimized for clustering texts based on similarity.\n * - RETRIEVAL_DOCUMENT: Optimized for document retrieval.\n * - RETRIEVAL_QUERY: Optimized for query-based retrieval.\n * - QUESTION_ANSWERING: Optimized for answering questions.\n * - FACT_VERIFICATION: Optimized for verifying factual information.\n * - CODE_RETRIEVAL_QUERY: Optimized for retrieving code blocks based on natural language queries.\n */\n taskType: z\n .enum([\n 'SEMANTIC_SIMILARITY',\n 'CLASSIFICATION',\n 'CLUSTERING',\n 'RETRIEVAL_DOCUMENT',\n 'RETRIEVAL_QUERY',\n 'QUESTION_ANSWERING',\n 'FACT_VERIFICATION',\n 'CODE_RETRIEVAL_QUERY',\n ])\n .optional(),\n});\n\nexport type GoogleGenerativeAIEmbeddingProviderOptions = z.infer<\n typeof googleGenerativeAIEmbeddingProviderOptions\n>;\n","import {\n EmbeddingModelV2,\n TooManyEmbeddingValuesForCallError,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n FetchFunction,\n parseProviderOptions,\n postJsonToApi,\n resolve,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { googleFailedResponseHandler } from './google-error';\nimport {\n GoogleGenerativeAIEmbeddingModelId,\n googleGenerativeAIEmbeddingProviderOptions,\n} from './google-generative-ai-embedding-options';\n\ntype GoogleGenerativeAIEmbeddingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class GoogleGenerativeAIEmbeddingModel\n implements EmbeddingModelV2<string>\n{\n readonly specificationVersion = 'v2';\n readonly modelId: GoogleGenerativeAIEmbeddingModelId;\n readonly maxEmbeddingsPerCall = 2048;\n readonly supportsParallelCalls = true;\n\n private readonly config: GoogleGenerativeAIEmbeddingConfig;\n\n get provider(): string {\n return this.config.provider;\n }\n constructor(\n modelId: GoogleGenerativeAIEmbeddingModelId,\n config: GoogleGenerativeAIEmbeddingConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n }\n\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions,\n }: Parameters<EmbeddingModelV2<string>['doEmbed']>[0]): Promise<\n Awaited<ReturnType<EmbeddingModelV2<string>['doEmbed']>>\n > {\n // Parse provider options\n const googleOptions = await parseProviderOptions({\n provider: 'google',\n providerOptions,\n schema: googleGenerativeAIEmbeddingProviderOptions,\n });\n\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values,\n });\n }\n\n const mergedHeaders = combineHeaders(\n await resolve(this.config.headers),\n headers,\n );\n\n // For single embeddings, use the single endpoint (ratelimits, etc.)\n if (values.length === 1) {\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/models/${this.modelId}:embedContent`,\n headers: mergedHeaders,\n body: {\n model: `models/${this.modelId}`,\n content: {\n parts: [{ text: values[0] }],\n },\n outputDimensionality: googleOptions?.outputDimensionality,\n taskType: googleOptions?.taskType,\n },\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n googleGenerativeAISingleEmbeddingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n embeddings: [response.embedding.values],\n usage: undefined,\n response: { headers: responseHeaders, body: rawValue },\n };\n }\n\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,\n headers: mergedHeaders,\n body: {\n requests: values.map(value => ({\n model: `models/${this.modelId}`,\n content: { role: 'user', parts: [{ text: value }] },\n outputDimensionality: googleOptions?.outputDimensionality,\n taskType: googleOptions?.taskType,\n })),\n },\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n googleGenerativeAITextEmbeddingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n embeddings: response.embeddings.map(item => item.values),\n usage: undefined,\n response: { headers: responseHeaders, body: rawValue },\n };\n }\n}\n\n// minimal version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst googleGenerativeAITextEmbeddingResponseSchema = z.object({\n embeddings: z.array(z.object({ values: z.array(z.number()) })),\n});\n\n// Schema for single embedding response\nconst googleGenerativeAISingleEmbeddingResponseSchema = z.object({\n embedding: z.object({ values: z.array(z.number()) }),\n});\n","import { JSONSchema7Definition } from '@ai-sdk/provider';\n\n/**\n * Converts JSON Schema 7 to OpenAPI Schema 3.0\n */\nexport function convertJSONSchemaToOpenAPISchema(\n jsonSchema: JSONSchema7Definition | undefined,\n): unknown {\n // parameters need to be undefined if they are empty objects:\n if (jsonSchema == null || isEmptyObjectSchema(jsonSchema)) {\n return undefined;\n }\n\n if (typeof jsonSchema === 'boolean') {\n return { type: 'boolean', properties: {} };\n }\n\n const {\n type,\n description,\n required,\n properties,\n items,\n allOf,\n anyOf,\n oneOf,\n format,\n const: constValue,\n minLength,\n enum: enumValues,\n } = jsonSchema;\n\n const result: Record<string, unknown> = {};\n\n if (description) result.description = description;\n if (required) result.required = required;\n if (format) result.format = format;\n\n if (constValue !== undefined) {\n result.enum = [constValue];\n }\n\n // Handle type\n if (type) {\n if (Array.isArray(type)) {\n if (type.includes('null')) {\n result.type = type.filter(t => t !== 'null')[0];\n result.nullable = true;\n } else {\n result.type = type;\n }\n } else if (type === 'null') {\n result.type = 'null';\n } else {\n result.type = type;\n }\n }\n\n // Handle enum\n if (enumValues !== undefined) {\n result.enum = enumValues;\n }\n\n if (properties != null) {\n result.properties = Object.entries(properties).reduce(\n (acc, [key, value]) => {\n acc[key] = convertJSONSchemaToOpenAPISchema(value);\n return acc;\n },\n {} as Record<string, unknown>,\n );\n }\n\n if (items) {\n result.items = Array.isArray(items)\n ? items.map(convertJSONSchemaToOpenAPISchema)\n : convertJSONSchemaToOpenAPISchema(items);\n }\n\n if (allOf) {\n result.allOf = allOf.map(convertJSONSchemaToOpenAPISchema);\n }\n if (anyOf) {\n // Handle cases where anyOf includes a null type\n if (\n anyOf.some(\n schema => typeof schema === 'object' && schema?.type === 'null',\n )\n ) {\n const nonNullSchemas = anyOf.filter(\n schema => !(typeof schema === 'object' && schema?.type === 'null'),\n );\n\n if (nonNullSchemas.length === 1) {\n // If there's only one non-null schema, convert it and make it nullable\n const converted = convertJSONSchemaToOpenAPISchema(nonNullSchemas[0]);\n if (typeof converted === 'object') {\n result.nullable = true;\n Object.assign(result, converted);\n }\n } else {\n // If there are multiple non-null schemas, keep them in anyOf\n result.anyOf = nonNullSchemas.map(convertJSONSchemaToOpenAPISchema);\n result.nullable = true;\n }\n } else {\n result.anyOf = anyOf.map(convertJSONSchemaToOpenAPISchema);\n }\n }\n if (oneOf) {\n result.oneOf = oneOf.map(convertJSONSchemaToOpenAPISchema);\n }\n\n if (minLength !== undefined) {\n result.minLength = minLength;\n }\n\n return result;\n}\n\nfunction isEmptyObjectSchema(jsonSchema: JSONSchema7Definition): boolean {\n return (\n jsonSchema != null &&\n typeof jsonSchema === 'object' &&\n jsonSchema.type === 'object' &&\n (jsonSchema.properties == null ||\n Object.keys(jsonSchema.properties).length === 0) &&\n !jsonSchema.additionalProperties\n );\n}\n","import {\n LanguageModelV2Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\nimport {\n GoogleGenerativeAIContent,\n GoogleGenerativeAIContentPart,\n GoogleGenerativeAIPrompt,\n} from './google-generative-ai-prompt';\nimport { convertToBase64 } from '@ai-sdk/provider-utils';\n\nexport function convertToGoogleGenerativeAIMessages(\n prompt: LanguageModelV2Prompt,\n options?: { isGemmaModel?: boolean },\n): GoogleGenerativeAIPrompt {\n const systemInstructionParts: Array<{ text: string }> = [];\n const contents: Array<GoogleGenerativeAIContent> = [];\n let systemMessagesAllowed = true;\n const isGemmaModel = options?.isGemmaModel ?? false;\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n if (!systemMessagesAllowed) {\n throw new UnsupportedFunctionalityError({\n functionality:\n 'system messages are only supported at the beginning of the conversation',\n });\n }\n\n systemInstructionParts.push({ text: content });\n break;\n }\n\n case 'user': {\n systemMessagesAllowed = false;\n\n const parts: GoogleGenerativeAIContentPart[] = [];\n\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n parts.push({ text: part.text });\n break;\n }\n\n case 'file': {\n // default to image/jpeg for unknown image/* types\n const mediaType =\n part.mediaType === 'image/*' ? 'image/jpeg' : part.mediaType;\n\n parts.push(\n part.data instanceof URL\n ? {\n fileData: {\n mimeType: mediaType,\n fileUri: part.data.toString(),\n },\n }\n : {\n inlineData: {\n mimeType: mediaType,\n data: convertToBase64(part.data),\n },\n },\n );\n\n break;\n }\n }\n }\n\n contents.push({ role: 'user', parts });\n break;\n }\n\n case 'assistant': {\n systemMessagesAllowed = false;\n\n contents.push({\n role: 'model',\n parts: content\n .map(part => {\n switch (part.type) {\n case 'text': {\n return part.text.length === 0\n ? undefined\n : {\n text: part.text,\n thoughtSignature:\n part.providerOptions?.google?.thoughtSignature,\n };\n }\n\n case 'reasoning': {\n return part.text.length === 0\n ? undefined\n : {\n text: part.text,\n thought: true,\n thoughtSignature:\n part.providerOptions?.google?.thoughtSignature,\n };\n }\n\n case 'file': {\n if (part.mediaType !== 'image/png') {\n throw new UnsupportedFunctionalityError({\n functionality:\n 'Only PNG images are supported in assistant messages',\n });\n }\n\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality:\n 'File data URLs in assistant messages are not supported',\n });\n }\n\n return {\n inlineData: {\n mimeType: part.mediaType,\n data: convertToBase64(part.data),\n },\n };\n }\n\n case 'tool-call': {\n return {\n functionCall: {\n name: part.toolName,\n args: part.input,\n },\n thoughtSignature:\n part.providerOptions?.google?.thoughtSignature,\n };\n }\n }\n })\n .filter(part => part !== undefined),\n });\n break;\n }\n\n case 'tool': {\n systemMessagesAllowed = false;\n\n contents.push({\n role: 'user',\n parts: content.map(part => ({\n functionResponse: {\n name: part.toolName,\n response: {\n name: part.toolName,\n content: part.output.value,\n },\n },\n })),\n });\n break;\n }\n }\n }\n\n if (\n isGemmaModel &&\n systemInstructionParts.length > 0 &&\n contents.length > 0 &&\n contents[0].role === 'user'\n ) {\n const systemText = systemInstructionParts\n .map(part => part.text)\n .join('\\n\\n');\n\n contents[0].parts.unshift({ text: systemText + '\\n\\n' });\n }\n\n return {\n systemInstruction:\n systemInstructionParts.length > 0 && !isGemmaModel\n ? { parts: systemInstructionParts }\n : undefined,\n contents,\n };\n}\n","export function getModelPath(modelId: string): string {\n return modelId.includes('/') ? modelId : `models/${modelId}`;\n}\n","import { z } from 'zod/v4';\n\nexport type GoogleGenerativeAIModelId =\n // Stable models\n // https://ai.google.dev/gemini-api/docs/models/gemini\n | 'gemini-1.5-flash'\n | 'gemini-1.5-flash-latest'\n | 'gemini-1.5-flash-001'\n | 'gemini-1.5-flash-002'\n | 'gemini-1.5-flash-8b'\n | 'gemini-1.5-flash-8b-latest'\n | 'gemini-1.5-flash-8b-001'\n | 'gemini-1.5-pro'\n | 'gemini-1.5-pro-latest'\n | 'gemini-1.5-pro-001'\n | 'gemini-1.5-pro-002'\n | 'gemini-2.0-flash'\n | 'gemini-2.0-flash-001'\n | 'gemini-2.0-flash-live-001'\n | 'gemini-2.0-flash-lite'\n | 'gemini-2.0-pro-exp-02-05'\n | 'gemini-2.0-flash-thinking-exp-01-21'\n | 'gemini-2.0-flash-exp'\n | 'gemini-2.5-pro'\n | 'gemini-2.5-flash'\n | 'gemini-2.5-flash-lite'\n // Experimental models\n // https://ai.google.dev/gemini-api/docs/models/experimental-models\n | 'gemini-2.5-pro-exp-03-25'\n | 'gemini-2.5-flash-preview-04-17'\n | 'gemini-exp-1206'\n | 'gemma-3-12b-it'\n | 'gemma-3-27b-it'\n | (string & {});\n\nexport const googleGenerativeAIProviderOptions = z.object({\n responseModalities: z.array(z.enum(['TEXT', 'IMAGE'])).optional(),\n\n thinkingConfig: z\n .object({\n thinkingBudget: z.number().optional(),\n includeThoughts: z.boolean().optional(),\n })\n .optional(),\n\n /**\nOptional.\nThe name of the cached content used as context to serve the prediction.\nFormat: cachedContents/{cachedContent}\n */\n cachedContent: z.string().optional(),\n\n /**\n * Optional. Enable structured output. Default is true.\n *\n * This is useful when the JSON Schema contains elements that are\n * not supported by the OpenAPI schema version that\n * Google Generative AI uses. You can use this to disable\n * structured outputs if you need to.\n */\n structuredOutputs: z.boolean().optional(),\n\n /**\nOptional. A list of unique safety settings for blocking unsafe content.\n */\n safetySettings: z\n .array(\n z.object({\n category: z.enum([\n 'HARM_CATEGORY_UNSPECIFIED',\n 'HARM_CATEGORY_HATE_SPEECH',\n 'HARM_CATEGORY_DANGEROUS_CONTENT',\n 'HARM_CATEGORY_HARASSMENT',\n 'HARM_CATEGORY_SEXUALLY_EXPLICIT',\n 'HARM_CATEGORY_CIVIC_INTEGRITY',\n ]),\n threshold: z.enum([\n 'HARM_BLOCK_THRESHOLD_UNSPECIFIED',\n 'BLOCK_LOW_AND_ABOVE',\n 'BLOCK_MEDIUM_AND_ABOVE',\n 'BLOCK_ONLY_HIGH',\n 'BLOCK_NONE',\n 'OFF',\n ]),\n }),\n )\n .optional(),\n\n threshold: z\n .enum([\n 'HARM_BLOCK_THRESHOLD_UNSPECIFIED',\n 'BLOCK_LOW_AND_ABOVE',\n 'BLOCK_MEDIUM_AND_ABOVE',\n 'BLOCK_ONLY_HIGH',\n 'BLOCK_NONE',\n 'OFF',\n ])\n .optional(),\n\n /**\n * Optional. Enables timestamp understanding for audio-only files.\n *\n * https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/audio-understanding\n */\n audioTimestamp: z.boolean().optional(),\n\n /**\n * Optional. Defines labels used in billing reports. Available on Vertex AI only.\n *\n * https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/add-labels-to-api-calls\n */\n labels: z.record(z.string(), z.string()).optional(),\n});\n\nexport type GoogleGenerativeAIProviderOptions = z.infer<\n typeof googleGenerativeAIProviderOptions\n>;\n","import {\n LanguageModelV2CallOptions,\n LanguageModelV2CallWarning,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\nimport { convertJSONSchemaToOpenAPISchema } from './convert-json-schema-to-openapi-schema';\nimport { GoogleGenerativeAIModelId } from './google-generative-ai-options';\n\nexport function prepareTools({\n tools,\n toolChoice,\n modelId,\n}: {\n tools: LanguageModelV2CallOptions['tools'];\n toolChoice?: LanguageModelV2CallOptions['toolChoice'];\n modelId: GoogleGenerativeAIModelId;\n}): {\n tools:\n | {\n functionDeclarations: Array<{\n name: string;\n description: string;\n parameters: unknown;\n }>;\n }\n | Record<string, any>\n | undefined;\n toolConfig:\n | undefined\n | {\n functionCallingConfig: {\n mode: 'AUTO' | 'NONE' | 'ANY';\n allowedFunctionNames?: string[];\n };\n };\n toolWarnings: LanguageModelV2CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n tools = tools?.length ? tools : undefined;\n\n const toolWarnings: LanguageModelV2CallWarning[] = [];\n\n const isGemini2 = modelId.includes('gemini-2');\n const supportsDynamicRetrieval =\n modelId.includes('gemini-1.5-flash') && !modelId.includes('-8b');\n\n if (tools == null) {\n return { tools: undefined, toolConfig: undefined, toolWarnings };\n }\n\n // Check for mixed tool types and add warnings\n const hasFunctionTools = tools.some(tool => tool.type === 'function');\n const hasProviderDefinedTools = tools.some(\n tool => tool.type === 'provider-defined',\n );\n\n if (hasFunctionTools && hasProviderDefinedTools) {\n toolWarnings.push({\n type: 'unsupported-tool',\n tool: tools.find(tool => tool.type === 'function')!,\n details:\n 'Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.',\n });\n }\n\n if (hasProviderDefinedTools) {\n const googleTools: Record<string, any> = {};\n\n const providerDefinedTools = tools.filter(\n tool => tool.type === 'provider-defined',\n );\n providerDefinedTools.forEach(tool => {\n switch (tool.id) {\n case 'google.google_search':\n if (isGemini2) {\n googleTools.googleSearch = {};\n } else if (supportsDynamicRetrieval) {\n // For non-Gemini-2 models that don't support dynamic retrieval, use basic googleSearchRetrieval\n googleTools.googleSearchRetrieval = {\n dynamicRetrievalConfig: {\n mode: tool.args.mode as\n | 'MODE_DYNAMIC'\n | 'MODE_UNSPECIFIED'\n | undefined,\n dynamicThreshold: tool.args.dynamicThreshold as\n | number\n | undefined,\n },\n };\n } else {\n googleTools.googleSearchRetrieval = {};\n }\n break;\n case 'google.url_context':\n if (isGemini2) {\n googleTools.urlContext = {};\n } else {\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n details:\n 'The URL context tool is not supported with other Gemini models than Gemini 2.',\n });\n }\n break;\n case 'google.code_execution':\n if (isGemini2) {\n googleTools.codeExecution = {};\n } else {\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n details:\n 'The code execution tools is not supported with other Gemini models than Gemini 2.',\n });\n }\n break;\n default:\n toolWarnings.push({ type: 'unsupported-tool', tool });\n break;\n }\n });\n\n return {\n tools: Object.keys(googleTools).length > 0 ? googleTools : undefined,\n toolConfig: undefined,\n toolWarnings,\n };\n }\n\n const functionDeclarations = [];\n for (const tool of tools) {\n switch (tool.type) {\n case 'function':\n functionDeclarations.push({\n name: tool.name,\n description: tool.description ?? '',\n parameters: convertJSONSchemaToOpenAPISchema(tool.inputSchema),\n });\n break;\n default:\n toolWarnings.push({ type: 'unsupported-tool', tool });\n break;\n }\n }\n\n if (toolChoice == null) {\n return {\n tools: { functionDeclarations },\n toolConfig: undefined,\n toolWarnings,\n };\n }\n\n const type = toolChoice.type;\n\n switch (type) {\n case 'auto':\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: 'AUTO' } },\n toolWarnings,\n };\n case 'none':\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: 'NONE' } },\n toolWarnings,\n };\n case 'required':\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: 'ANY' } },\n toolWarnings,\n };\n case 'tool':\n return {\n tools: { functionDeclarations },\n toolConfig: {\n functionCallingConfig: {\n mode: 'ANY',\n allowedFunctionNames: [toolChoice.toolName],\n },\n },\n toolWarnings,\n };\n default: {\n const _exhaustiveCheck: never = type;\n throw new UnsupportedFunctionalityError({\n functionality: `tool choice type: ${_exhaustiveCheck}`,\n });\n }\n }\n}\n","import { LanguageModelV2FinishReason } from '@ai-sdk/provider';\n\nexport function mapGoogleGenerativeAIFinishReason({\n finishReason,\n hasToolCalls,\n}: {\n finishReason: string | null | undefined;\n hasToolCalls: boolean;\n}): LanguageModelV2FinishReason {\n switch (finishReason) {\n case 'STOP':\n return hasToolCalls ? 'tool-calls' : 'stop';\n case 'MAX_TOKENS':\n return 'length';\n case 'IMAGE_SAFETY':\n case 'RECITATION':\n case 'SAFETY':\n case 'BLOCKLIST':\n case 'PROHIBITED_CONTENT':\n case 'SPII':\n return 'content-filter';\n case 'FINISH_REASON_UNSPECIFIED':\n case 'OTHER':\n return 'other';\n case 'MALFORMED_FUNCTION_CALL':\n return 'error';\n default:\n return 'unknown';\n }\n}\n","import { createProviderDefinedToolFactory } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://ai.google.dev/gemini-api/docs/google-search\n// https://ai.google.dev/api/generate-content#GroundingSupport\n// https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-search\n\nexport const groundingChunkSchema = z.object({\n web: z.object({ uri: z.string(), title: z.string() }).nullish(),\n retrievedContext: z.object({ uri: z.string(), title: z.string() }).nullish(),\n});\n\nexport const groundingMetadataSchema = z.object({\n webSearchQueries: z.array(z.string()).nullish(),\n retrievalQueries: z.array(z.string()).nullish(),\n searchEntryPoint: z.object({ renderedContent: z.string() }).nullish(),\n groundingChunks: z.array(groundingChunkSchema).nullish(),\n groundingSupports: z\n .array(\n z.object({\n segment: z.object({\n startIndex: z.number().nullish(),\n endIndex: z.number().nullish(),\n text: z.string().nullish(),\n }),\n segment_text: z.string().nullish(),\n groundingChunkIndices: z.array(z.number()).nullish(),\n supportChunkIndices: z.array(z.number()).nullish(),\n confidenceScores: z.array(z.number()).nullish(),\n confidenceScore: z.array(z.number()).nullish(),\n }),\n )\n .nullish(),\n retrievalMetadata: z\n .union([\n z.object({\n webDynamicRetrievalScore: z.number(),\n }),\n z.object({}),\n ])\n .nullish(),\n});\n\nexport const googleSearch = createProviderDefinedToolFactory<\n {},\n {\n /**\n * The mode of the predictor to be used in dynamic retrieval. The following modes are supported:\n * - MODE_DYNAMIC: Run retrieval only when system decides it is necessary\n * - MODE_UNSPECIFIED: Always trigger retrieval\n * @default MODE_UNSPECIFIED\n */\n mode?: 'MODE_DYNAMIC' | 'MODE_UNSPECIFIED';\n\n /**\n * The threshold to be used in dynamic retrieval (if not set, a system default value is used).\n */\n dynamicThreshold?: number;\n }\n>({\n id: 'google.google_search',\n name: 'google_search',\n inputSchema: z.object({\n mode: z\n .enum(['MODE_DYNAMIC', 'MODE_UNSPECIFIED'])\n .default('MODE_UNSPECIFIED'),\n dynamicThreshold: z.number().default(1),\n }),\n});\n","import { createProviderDefinedToolFactory } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://ai.google.dev/api/generate-content#UrlRetrievalMetadata\nconst urlMetadataSchema = z.object({\n retrievedUrl: z.string(),\n urlRetrievalStatus: z.string(),\n});\n\nexport const urlContextMetadataSchema = z.object({\n urlMetadata: z.array(urlMetadataSchema),\n});\n\nexport const urlContext = createProviderDefinedToolFactory<\n {\n // Url context does not have any input schema, it will directly use the url from the prompt\n },\n {}\n>({\n id: 'google.url_context',\n name: 'url_context',\n inputSchema: z.object({}),\n});\n","import {\n LanguageModelV2,\n LanguageModelV2CallWarning,\n LanguageModelV2Content,\n LanguageModelV2FinishReason,\n LanguageModelV2Source,\n LanguageModelV2StreamPart,\n LanguageModelV2Usage,\n SharedV2ProviderMetadata,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n ParseResult,\n Resolvable,\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n parseProviderOptions,\n postJsonToApi,\n resolve,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { convertJSONSchemaToOpenAPISchema } from './convert-json-schema-to-openapi-schema';\nimport { convertToGoogleGenerativeAIMessages } from './convert-to-google-generative-ai-messages';\nimport { getModelPath } from './get-model-path';\nimport { googleFailedResponseHandler } from './google-error';\nimport { GoogleGenerativeAIContentPart } from './google-generative-ai-prompt';\nimport {\n GoogleGenerativeAIModelId,\n googleGenerativeAIProviderOptions,\n} from './google-generative-ai-options';\nimport { prepareTools } from './google-prepare-tools';\nimport { mapGoogleGenerativeAIFinishReason } from './map-google-generative-ai-finish-reason';\nimport {\n groundingChunkSchema,\n groundingMetadataSchema,\n} from './tool/google-search';\nimport { urlContextMetadataSchema } from './tool/url-context';\n\ntype GoogleGenerativeAIConfig = {\n provider: string;\n baseURL: string;\n headers: Resolvable<Record<string, string | undefined>>;\n fetch?: FetchFunction;\n generateId: () => string;\n\n /**\n * The supported URLs for the model.\n */\n supportedUrls?: () => LanguageModelV2['supportedUrls'];\n};\n\nexport class GoogleGenerativeAILanguageModel implements LanguageModelV2 {\n readonly specificationVersion = 'v2';\n\n readonly modelId: GoogleGenerativeAIModelId;\n\n private readonly config: GoogleGenerativeAIConfig;\n private readonly generateId: () => string;\n\n constructor(\n modelId: GoogleGenerativeAIModelId,\n config: GoogleGenerativeAIConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n this.generateId = config.generateId ?? generateId;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n get supportedUrls() {\n return this.config.supportedUrls?.() ?? {};\n }\n\n private async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n tools,\n toolChoice,\n providerOptions,\n }: Parameters<LanguageModelV2['doGenerate']>[0]) {\n const warnings: LanguageModelV2CallWarning[] = [];\n\n const googleOptions = await parseProviderOptions({\n provider: 'google',\n providerOptions,\n schema: googleGenerativeAIProviderOptions,\n });\n\n // Add warning if includeThoughts is used with a non-Vertex Google provider\n if (\n googleOptions?.thinkingConfig?.includeThoughts === true &&\n !this.config.provider.startsWith('google.vertex.')\n ) {\n warnings.push({\n type: 'other',\n message:\n \"The 'includeThoughts' option is only supported with the Google Vertex provider \" +\n 'and might not be supported or could behave unexpectedly with the current Google provider ' +\n `(${this.config.provider}).`,\n });\n }\n\n const isGemmaModel = this.modelId.toLowerCase().startsWith('gemma-');\n\n const { contents, systemInstruction } = convertToGoogleGenerativeAIMessages(\n prompt,\n { isGemmaModel },\n );\n\n const {\n tools: googleTools,\n toolConfig: googleToolConfig,\n toolWarnings,\n } = prepareTools({\n tools,\n toolChoice,\n modelId: this.modelId,\n });\n\n return {\n args: {\n generationConfig: {\n // standardized settings:\n maxOutputTokens,\n temperature,\n topK,\n topP,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n seed,\n\n // response format:\n responseMimeType:\n responseFormat?.type === 'json' ? 'application/json' : undefined,\n responseSchema:\n responseFormat?.type === 'json' &&\n responseFormat.schema != null &&\n // Google GenAI does not support all OpenAPI Schema features,\n // so this is needed as an escape hatch:\n // TODO convert into provider option\n (googleOptions?.structuredOutputs ?? true)\n ? convertJSONSchemaToOpenAPISchema(responseFormat.schema)\n : undefined,\n ...(googleOptions?.audioTimestamp && {\n audioTimestamp: googleOptions.audioTimestamp,\n }),\n\n // provider options:\n responseModalities: googleOptions?.responseModalities,\n thinkingConfig: googleOptions?.thinkingConfig,\n },\n contents,\n systemInstruction: isGemmaModel ? undefined : systemInstruction,\n safetySettings: googleOptions?.safetySettings,\n tools: googleTools,\n toolConfig: googleToolConfig,\n cachedContent: googleOptions?.cachedContent,\n labels: googleOptions?.labels,\n },\n warnings: [...warnings, ...toolWarnings],\n };\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>> {\n const { args, warnings } = await this.getArgs(options);\n const body = JSON.stringify(args);\n\n const mergedHeaders = combineHeaders(\n await resolve(this.config.headers),\n options.headers,\n );\n\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId,\n )}:generateContent`,\n headers: mergedHeaders,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(responseSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const candidate = response.candidates[0];\n const content: Array<LanguageModelV2Content> = [];\n\n // map ordered parts to content:\n const parts = candidate.content?.parts ?? [];\n\n const usageMetadata = response.usageMetadata;\n\n // Associates a code execution result with its preceding call.\n let lastCodeExecutionToolCallId: string | undefined;\n\n // Build content array from all parts\n for (const part of parts) {\n if ('executableCode' in part && part.executableCode?.code) {\n const toolCallId = this.config.generateId();\n lastCodeExecutionToolCallId = toolCallId;\n\n content.push({\n type: 'tool-call',\n toolCallId,\n toolName: 'code_execution',\n input: JSON.stringify(part.executableCode),\n providerExecuted: true,\n });\n } else if ('codeExecutionResult' in part && part.codeExecutionResult) {\n content.push({\n type: 'tool-result',\n // Assumes a result directly follows its corresponding call part.\n toolCallId: lastCodeExecutionToolCallId!,\n toolName: 'code_execution',\n result: {\n outcome: part.codeExecutionResult.outcome,\n output: part.codeExecutionResult.output,\n },\n providerExecuted: true,\n });\n // Clear the ID after use to avoid accidental reuse.\n lastCodeExecutionToolCallId = undefined;\n } else if ('text' in part && part.text != null && part.text.length > 0) {\n content.push({\n type: part.thought === true ? 'reasoning' : 'text',\n text: part.text,\n providerMetadata: part.thoughtSignature\n ? { google: { thoughtSignature: part.thoughtSignature } }\n : undefined,\n });\n } else if ('functionCall' in part) {\n content.push({\n type: 'tool-call' as const,\n toolCallId: this.config.generateId(),\n toolName: part.functionCall.name,\n input: JSON.stringify(part.functionCall.args),\n providerMetadata: part.thoughtSignature\n ? { google: { thoughtSignature: part.thoughtSignature } }\n : undefined,\n });\n } else if ('inlineData' in part) {\n content.push({\n type: 'file' as const,\n data: part.inlineData.data,\n mediaType: part.inlineData.mimeType,\n });\n }\n }\n\n const sources =\n extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId: this.config.generateId,\n }) ?? [];\n for (const source of sources) {\n content.push(source);\n }\n\n return {\n content,\n finishReason: mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n hasToolCalls: content.some(part => part.type === 'tool-call'),\n }),\n usage: {\n inputTokens: usageMetadata?.promptTokenCount ?? undefined,\n outputTokens: usageMetadata?.candidatesTokenCount ?? undefined,\n totalTokens: usageMetadata?.totalTokenCount ?? undefined,\n reasoningTokens: usageMetadata?.thoughtsTokenCount ?? undefined,\n cachedInputTokens: usageMetadata?.cachedContentTokenCount ?? undefined,\n },\n warnings,\n providerMetadata: {\n google: {\n groundingMetadata: candidate.groundingMetadata ?? null,\n urlContextMetadata: candidate.urlContextMetadata ?? null,\n safetyRatings: candidate.safetyRatings ?? null,\n usageMetadata: usageMetadata ?? null,\n },\n },\n request: { body },\n response: {\n // TODO timestamp, model id, id\n headers: responseHeaders,\n body: rawResponse,\n },\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV2['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = JSON.stringify(args);\n const headers = combineHeaders(\n await resolve(this.config.headers),\n options.headers,\n );\n\n const { responseHeaders, value: response } = await postJsonToApi({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId,\n )}:streamGenerateContent?alt=sse`,\n headers,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(chunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n let finishReason: LanguageModelV2FinishReason = 'unknown';\n const usage: LanguageModelV2Usage = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n };\n let providerMetadata: SharedV2ProviderMetadata | undefined = undefined;\n\n const generateId = this.config.generateId;\n let hasToolCalls = false;\n\n // Track active blocks to group consecutive parts of same type\n let currentTextBlockId: string | null = null;\n let currentReasoningBlockId: string | null = null;\n let blockCounter = 0;\n\n // Track emitted sources to prevent duplicates\n const emittedSourceUrls = new Set<string>();\n // Associates a code execution result with its preceding call.\n let lastCodeExecutionToolCallId: string | undefined;\n\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof chunkSchema>>,\n LanguageModelV2StreamPart\n >({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings });\n },\n\n transform(chunk, controller) {\n if (options.includeRawChunks) {\n controller.enqueue({ type: 'raw', rawValue: chunk.rawValue });\n }\n\n if (!chunk.success) {\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n const usageMetadata = value.usageMetadata;\n\n if (usageMetadata != null) {\n usage.inputTokens = usageMetadata.promptTokenCount ?? undefined;\n usage.outputTokens =\n usageMetadata.candidatesTokenCount ?? undefined;\n usage.totalTokens = usageMetadata.totalTokenCount ?? undefined;\n usage.reasoningTokens =\n usageMetadata.thoughtsTokenCount ?? undefined;\n usage.cachedInputTokens =\n usageMetadata.cachedContentTokenCount ?? undefined;\n }\n\n const candidate = value.candidates?.[0];\n\n // sometimes the API returns an empty candidates array\n if (candidate == null) {\n return;\n }\n\n const content = candidate.content;\n\n const sources = extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId,\n });\n if (sources != null) {\n for (const source of sources) {\n if (\n source.sourceType === 'url' &&\n !emittedSourceUrls.has(source.url)\n ) {\n emittedSourceUrls.add(source.url);\n controller.enqueue(source);\n }\n }\n }\n\n // Process tool call's parts before determining finishReason to ensure hasToolCalls is properly set\n if (content != null) {\n // Process text parts individually to handle reasoning parts\n const parts = content.parts ?? [];\n for (const part of parts) {\n if ('executableCode' in part && part.executableCode?.code) {\n const toolCallId = generateId();\n lastCodeExecutionToolCallId = toolCallId;\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId,\n toolName: 'code_execution',\n input: JSON.stringify(part.executableCode),\n providerExecuted: true,\n });\n\n hasToolCalls = true;\n } else if (\n 'codeExecutionResult' in part &&\n part.codeExecutionResult\n ) {\n // Assumes a result directly follows its corresponding call part.\n const toolCallId = lastCodeExecutionToolCallId;\n\n if (toolCallId) {\n controller.enqueue({\n type: 'tool-result',\n toolCallId,\n toolName: 'code_execution',\n result: {\n outcome: part.codeExecutionResult.outcome,\n output: part.codeExecutionResult.output,\n },\n providerExecuted: true,\n });\n // Clear the ID after use.\n lastCodeExecutionToolCallId = undefined;\n }\n } else if (\n 'text' in part &&\n part.text != null &&\n part.text.length > 0\n ) {\n if (part.thought === true) {\n // End any active text block before starting reasoning\n if (currentTextBlockId !== null) {\n controller.enqueue({\n type: 'text-end',\n id: currentTextBlockId,\n });\n currentTextBlockId = null;\n }\n\n // Start new reasoning block if not already active\n if (currentReasoningBlockId === null) {\n currentReasoningBlockId = String(blockCounter++);\n controller.enqueue({\n type: 'reasoning-start',\n id: currentReasoningBlockId,\n providerMetadata: part.thoughtSignature\n ? {\n google: {\n thoughtSignature: part.thoughtSignature,\n },\n }\n : undefined,\n });\n }\n\n controller.enqueue({\n type: 'reasoning-delta',\n id: currentReasoningBlockId,\n delta: part.text,\n providerMetadata: part.thoughtSignature\n ? {\n google: { thoughtSignature: part.thoughtSignature },\n }\n : undefined,\n });\n } else {\n // End any active reasoning block before starting text\n if (currentReasoningBlockId !== null) {\n controller.enqueue({\n type: 'reasoning-end',\n id: currentReasoningBlockId,\n });\n currentReasoningBlockId = null;\n }\n\n // Start new text block if not already active\n if (currentTextBlockId === null) {\n currentTextBlockId = String(blockCounter++);\n controller.enqueue({\n type: 'text-start',\n id: currentTextBlockId,\n providerMetadata: part.thoughtSignature\n ? {\n google: {\n thoughtSignature: part.thoughtSignature,\n },\n }\n : undefined,\n });\n }\n\n controller.enqueue({\n type: 'text-delta',\n id: currentTextBlockId,\n delta: part.text,\n providerMetadata: part.thoughtSignature\n ? {\n google: { thoughtSignature: part.thoughtSignature },\n }\n : undefined,\n });\n }\n }\n }\n\n const inlineDataParts = getInlineDataParts(content.parts);\n if (inlineDataParts != null) {\n for (const part of inlineDataParts) {\n controller.enqueue({\n type: 'file',\n mediaType: part.inlineData.mimeType,\n data: part.inlineData.data,\n });\n }\n }\n\n const toolCallDeltas = getToolCallsFromParts({\n parts: content.parts,\n generateId,\n });\n\n if (toolCallDeltas != null) {\n for (const toolCall of toolCallDeltas) {\n controller.enqueue({\n type: 'tool-input-start',\n id: toolCall.toolCallId,\n toolName: toolCall.toolName,\n providerMetadata: toolCall.providerMetadata,\n });\n\n controller.enqueue({\n type: 'tool-input-delta',\n id: toolCall.toolCallId,\n delta: toolCall.args,\n providerMetadata: toolCall.providerMetadata,\n });\n\n controller.enqueue({\n type: 'tool-input-end',\n id: toolCall.toolCallId,\n providerMetadata: toolCall.providerMetadata,\n });\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n input: toolCall.args,\n providerMetadata: toolCall.providerMetadata,\n });\n\n hasToolCalls = true;\n }\n }\n }\n\n if (candidate.finishReason != null) {\n finishReason = mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n hasToolCalls,\n });\n\n providerMetadata = {\n google: {\n groundingMetadata: candidate.groundingMetadata ?? null,\n urlContextMetadata: candidate.urlContextMetadata ?? null,\n safetyRatings: candidate.safetyRatings ?? null,\n },\n };\n if (usageMetadata != null) {\n providerMetadata.google.usageMetadata = usageMetadata;\n }\n }\n },\n\n flush(controller) {\n // Close any open blocks before finishing\n if (currentTextBlockId !== null) {\n controller.enqueue({\n type: 'text-end',\n id: currentTextBlockId,\n });\n }\n if (currentReasoningBlockId !== null) {\n controller.enqueue({\n type: 'reasoning-end',\n id: currentReasoningBlockId,\n });\n }\n\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage,\n providerMetadata,\n });\n },\n }),\n ),\n response: { headers: responseHeaders },\n request: { body },\n };\n }\n}\n\nfunction getToolCallsFromParts({\n parts,\n generateId,\n}: {\n parts: z.infer<typeof contentSchema>['parts'];\n generateId: () => string;\n}) {\n const functionCallParts = parts?.filter(\n part => 'functionCall' in part,\n ) as Array<\n GoogleGenerativeAIContentPart & {\n functionCall: { name: string; args: unknown };\n thoughtSignature?: string | null;\n }\n >;\n\n return functionCallParts == null || functionCallParts.length === 0\n ? undefined\n : functionCallParts.map(part => ({\n type: 'tool-call' as const,\n toolCallId: generateId(),\n toolName: part.functionCall.name,\n args: JSON.stringify(part.functionCall.args),\n providerMetadata: part.thoughtSignature\n ? { google: { thoughtSignature: part.thoughtSignature } }\n : undefined,\n }));\n}\n\nfunction getInlineDataParts(parts: z.infer<typeof contentSchema>['parts']) {\n return parts?.filter(\n (\n part,\n ): part is {\n inlineData: { mimeType: string; data: string };\n } => 'inlineData' in part,\n );\n}\n\nfunction extractSources({\n groundingMetadata,\n generateId,\n}: {\n groundingMetadata: z.infer<typeof groundingMetadataSchema> | undefined | null;\n generateId: () => string;\n}): undefined | LanguageModelV2Source[] {\n return groundingMetadata?.groundingChunks\n ?.filter(\n (\n chunk,\n ): chunk is z.infer<typeof groundingChunkSchema> & {\n web: { uri: string; title?: string };\n } => chunk.web != null,\n )\n .map(chunk => ({\n type: 'source',\n sourceType: 'url',\n id: generateId(),\n url: chunk.web.uri,\n title: chunk.web.title,\n }));\n}\n\nconst contentSchema = z.object({\n parts: z\n .array(\n z.union([\n // note: order matters since text can be fully empty\n z.object({\n functionCall: z.object({\n name: z.string(),\n args: z.unknown(),\n }),\n thoughtSignature: z.string().nullish(),\n }),\n z.object({\n inlineData: z.object({\n mimeType: z.string(),\n data: z.string(),\n }),\n }),\n z.object({\n executableCode: z\n .object({\n language: z.string(),\n code: z.string(),\n })\n .nullish(),\n codeExecutionResult: z\n .object({\n outcome: z.string(),\n output: z.string(),\n })\n .nullish(),\n text: z.string().nullish(),\n thought: z.boolean().nullish(),\n thoughtSignature: z.string().nullish(),\n }),\n ]),\n )\n .nullish(),\n});\n\n// https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-filters\nexport const safetyRatingSchema = z.object({\n category: z.string().nullish(),\n probability: z.string().nullish(),\n probabilityScore: z.number().nullish(),\n severity: z.string().nullish(),\n severityScore: z.number().nullish(),\n blocked: z.boolean().nullish(),\n});\n\nconst usageSchema = z.object({\n cachedContentTokenCount: z.number().nullish(),\n thoughtsTokenCount: z.number().nullish(),\n promptTokenCount: z.number().nullish(),\n candidatesTokenCount: z.number().nullish(),\n totalTokenCount: z.number().nullish(),\n});\n\nconst responseSchema = z.object({\n candidates: z.array(\n z.object({\n content: contentSchema.nullish().or(z.object({}).strict()),\n finishReason: z.string().nullish(),\n safetyRatings: z.array(safetyRatingSchema).nullish(),\n groundingMetadata: groundingMetadataSchema.nullish(),\n urlContextMetadata: urlContextMetadataSchema.nullish(),\n }),\n ),\n usageMetadata: usageSchema.nullish(),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst chunkSchema = z.object({\n candidates: z\n .array(\n z.object({\n content: contentSchema.nullish(),\n finishReason: z.string().nullish(),\n safetyRatings: z.array(safetyRatingSchema).nullish(),\n groundingMetadata: groundingMetadataSchema.nullish(),\n urlContextMetadata: urlContextMetadataSchema.nullish(),\n }),\n )\n .nullish(),\n usageMetadata: usageSchema.nullish(),\n});\n","import { createProviderDefinedToolFactoryWithOutputSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n/**\n * A tool that enables the model to generate and run Python code.\n *\n * @note Ensure the selected model supports Code Execution.\n * Multi-tool usage with the code execution tool is typically compatible with Gemini >=2 models.\n *\n * @see https://ai.google.dev/gemini-api/docs/code-execution (Google AI)\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/code-execution-api (Vertex AI)\n */\nexport const codeExecution = createProviderDefinedToolFactoryWithOutputSchema<\n {\n language: string;\n code: string;\n },\n {\n outcome: string;\n output: string;\n },\n {}\n>({\n id: 'google.code_execution',\n name: 'code_execution',\n inputSchema: z.object({\n language: z.string().describe('The programming language of the code.'),\n code: z.string().describe('The code to be executed.'),\n }),\n outputSchema: z.object({\n outcome: z\n .string()\n .describe('The outcome of the execution (e.g., \"OUTCOME_OK\").'),\n output: z.string().describe('The output from the code execution.'),\n }),\n});\n","import { codeExecution } from './tool/code-execution';\nimport { googleSearch } from './tool/google-search';\nimport { urlContext } from './tool/url-context';\n\nexport const googleTools = {\n /**\n * Creates a Google search tool that gives Google direct access to real-time web content.\n * Must have name \"google_search\".\n */\n googleSearch,\n\n /**\n * Creates a URL context tool that gives Google direct access to real-time web content.\n * Must have name \"url_context\".\n */\n urlContext,\n /**\n * A tool that enables the model to generate and run Python code.\n * Must have name \"code_execution\".\n *\n * @note Ensure the selected model supports Code Execution.\n * Multi-tool usage with the code execution tool is typically compatible with Gemini >=2 models.\n *\n * @see https://ai.google.dev/gemini-api/docs/code-execution (Google AI)\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/code-execution-api (Vertex AI)\n */\n codeExecution,\n};\n","import { ImageModelV2, ImageModelV2CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n resolve,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { googleFailedResponseHandler } from './google-error';\nimport {\n GoogleGenerativeAIImageModelId,\n GoogleGenerativeAIImageSettings,\n} from './google-generative-ai-image-settings';\nimport { FetchFunction, Resolvable } from '@ai-sdk/provider-utils';\n\ninterface GoogleGenerativeAIImageModelConfig {\n provider: string;\n baseURL: string;\n headers?: Resolvable<Record<string, string | undefined>>;\n fetch?: FetchFunction;\n generateId?: () => string;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GoogleGenerativeAIImageModel implements ImageModelV2 {\n readonly specificationVersion = 'v2';\n\n get maxImagesPerCall(): number {\n // https://ai.google.dev/gemini-api/docs/imagen#imagen-model\n return this.settings.maxImagesPerCall ?? 4;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: GoogleGenerativeAIImageModelId,\n private readonly settings: GoogleGenerativeAIImageSettings,\n private readonly config: GoogleGenerativeAIImageModelConfig,\n ) {}\n\n async doGenerate(\n options: Parameters<ImageModelV2['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>> {\n const {\n prompt,\n n = 1,\n size = '1024x1024',\n aspectRatio = '1:1',\n seed,\n providerOptions,\n headers,\n abortSignal,\n } = options;\n const warnings: Array<ImageModelV2CallWarning> = [];\n\n if (size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'size',\n details:\n 'This model does not support the `size` option. Use `aspectRatio` instead.',\n });\n }\n\n if (seed != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'seed',\n details:\n 'This model does not support the `seed` option through this provider.',\n });\n }\n\n const googleOptions = await parseProviderOptions({\n provider: 'google',\n providerOptions,\n schema: googleImageProviderOptionsSchema,\n });\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const parameters: Record<string, unknown> = {\n sampleCount: n,\n };\n\n if (aspectRatio != null) {\n parameters.aspectRatio = aspectRatio;\n }\n\n if (googleOptions) {\n Object.assign(parameters, googleOptions);\n }\n\n const body = {\n instances: [{ prompt }],\n parameters,\n };\n\n const { responseHeaders, value: response } = await postJsonToApi<{\n predictions: Array<{ bytesBase64Encoded: string }>;\n }>({\n url: `${this.config.baseURL}/models/${this.modelId}:predict`,\n headers: combineHeaders(await resolve(this.config.headers), headers),\n body,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n googleImageResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n return {\n images: response.predictions.map(\n (p: { bytesBase64Encoded: string }) => p.bytesBase64Encoded,\n ),\n warnings: warnings ?? [],\n providerMetadata: {\n google: {\n images: response.predictions.map(prediction => ({\n // Add any prediction-specific metadata here\n })),\n },\n },\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\n// minimal version of the schema\nconst googleImageResponseSchema = z.object({\n predictions: z\n .array(z.object({ bytesBase64Encoded: z.string() }))\n .default([]),\n});\n\n// Note: For the initial GA launch of Imagen 3, safety filters are not configurable.\n// https://ai.google.dev/gemini-api/docs/imagen#imagen-model\nconst googleImageProviderOptionsSchema = z.object({\n personGeneration: z\n .enum(['dont_allow', 'allow_adult', 'allow_all'])\n .nullish(),\n aspectRatio: z.enum(['1:1', '3:4', '4:3', '9:16', '16:9']).nullish(),\n});\n\nexport type GoogleGenerativeAIImageProviderOptions = z.infer<\n typeof googleImageProviderOptionsSchema\n>;\n","import {\n EmbeddingModelV2,\n LanguageModelV2,\n ProviderV2,\n ImageModelV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { GoogleGenerativeAIEmbeddingModel } from './google-generative-ai-embedding-model';\nimport { GoogleGenerativeAIEmbeddingModelId } from './google-generative-ai-embedding-options';\nimport { GoogleGenerativeAILanguageModel } from './google-generative-ai-language-model';\nimport { GoogleGenerativeAIModelId } from './google-generative-ai-options';\nimport { googleTools } from './google-tools';\n\nimport {\n GoogleGenerativeAIImageSettings,\n GoogleGenerativeAIImageModelId,\n} from './google-generative-ai-image-settings';\nimport { GoogleGenerativeAIImageModel } from './google-generative-ai-image-model';\n\nexport interface GoogleGenerativeAIProvider extends ProviderV2 {\n (modelId: GoogleGenerativeAIModelId): LanguageModelV2;\n\n languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV2;\n\n chat(modelId: GoogleGenerativeAIModelId): LanguageModelV2;\n\n /**\nCreates a model for image generation.\n */\n image(\n modelId: GoogleGenerativeAIImageModelId,\n settings?: GoogleGenerativeAIImageSettings,\n ): ImageModelV2;\n\n /**\n * @deprecated Use `chat()` instead.\n */\n generativeAI(modelId: GoogleGenerativeAIModelId): LanguageModelV2;\n\n /**\n@deprecated Use `textEmbedding()` instead.\n */\n embedding(\n modelId: GoogleGenerativeAIEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n textEmbedding(\n modelId: GoogleGenerativeAIEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n textEmbeddingModel(\n modelId: GoogleGenerativeAIEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n tools: typeof googleTools;\n}\n\nexport interface GoogleGenerativeAIProviderSettings {\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://generativelanguage.googleapis.com/v1beta`.\n */\n baseURL?: string;\n\n /**\nAPI key that is being send using the `x-goog-api-key` header.\nIt defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string | undefined>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\nOptional function to generate a unique ID for each request.\n */\n generateId?: () => string;\n}\n\n/**\nCreate a Google Generative AI provider instance.\n */\nexport function createGoogleGenerativeAI(\n options: GoogleGenerativeAIProviderSettings = {},\n): GoogleGenerativeAIProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ??\n 'https://generativelanguage.googleapis.com/v1beta';\n\n const getHeaders = () => ({\n 'x-goog-api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GOOGLE_GENERATIVE_AI_API_KEY',\n description: 'Google Generative AI',\n }),\n ...options.headers,\n });\n\n const createChatModel = (modelId: GoogleGenerativeAIModelId) =>\n new GoogleGenerativeAILanguageModel(modelId, {\n provider: 'google.generative-ai',\n baseURL,\n headers: getHeaders,\n generateId: options.generateId ?? generateId,\n supportedUrls: () => ({\n '*': [\n // Google Generative Language \"files\" endpoint\n // e.g. https://generativelanguage.googleapis.com/v1beta/files/...\n new RegExp(`^${baseURL}/files/.*$`),\n // YouTube URLs (public or unlisted videos)\n new RegExp(\n `^https://(?:www\\\\.)?youtube\\\\.com/watch\\\\?v=[\\\\w-]+(?:&[\\\\w=&.-]*)?$`,\n ),\n new RegExp(`^https://youtu\\\\.be/[\\\\w-]+(?:\\\\?[\\\\w=&.-]*)?$`),\n ],\n }),\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: GoogleGenerativeAIEmbeddingModelId) =>\n new GoogleGenerativeAIEmbeddingModel(modelId, {\n provider: 'google.generative-ai',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createImageModel = (\n modelId: GoogleGenerativeAIImageModelId,\n settings: GoogleGenerativeAIImageSettings = {},\n ) =>\n new GoogleGenerativeAIImageModel(modelId, settings, {\n provider: 'google.generative-ai',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (modelId: GoogleGenerativeAIModelId) {\n if (new.target) {\n throw new Error(\n 'The Google Generative AI model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.generativeAI = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.tools = googleTools;\n return provider as GoogleGenerativeAIProvider;\n}\n\n/**\nDefault Google Generative AI provider instance.\n */\nexport const google = createGoogleGenerativeAI();\n"]}
|