@geminilight/mindos 0.6.74 → 0.6.75
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/_standalone/.antigravity/mcp_config.json +14 -0
- package/_standalone/.mindos-build-version +1 -0
- package/_standalone/.next/BUILD_ID +1 -0
- package/_standalone/.next/app-path-routes-manifest.json +92 -0
- package/_standalone/.next/build-manifest.json +20 -0
- package/_standalone/.next/cache/.previewinfo +1 -0
- package/_standalone/.next/cache/.rscinfo +1 -0
- package/_standalone/.next/cache/config.json +7 -0
- package/_standalone/.next/diagnostics/build-diagnostics.json +6 -0
- package/_standalone/.next/diagnostics/framework.json +1 -0
- package/_standalone/.next/lock +0 -0
- package/_standalone/.next/package.json +1 -0
- package/_standalone/.next/prerender-manifest.json +65 -0
- package/_standalone/.next/react-loadable-manifest.json +179 -0
- package/_standalone/.next/required-server-files.json +352 -0
- package/_standalone/.next/routes-manifest.json +591 -0
- package/_standalone/.next/server/app/.well-known/agent-card.json/route.js +1 -0
- package/_standalone/.next/server/app/.well-known/agent-card.json/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/_global-error/page.js +3 -0
- package/_standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/_global-error.html +2 -0
- package/_standalone/.next/server/app/_global-error.meta +16 -0
- package/_standalone/.next/server/app/_global-error.rsc +18 -0
- package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
- package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +4 -0
- package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +10 -0
- package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/_standalone/.next/server/app/_not-found/page.js +2 -0
- package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/agents/[agentKey]/page.js +2 -0
- package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/agents/page.js +2 -0
- package/_standalone/.next/server/app/agents/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/a2a/agents/route.js +1 -0
- package/_standalone/.next/server/app/api/a2a/agents/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/a2a/delegations/route.js +1 -0
- package/_standalone/.next/server/app/api/a2a/delegations/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/a2a/discover/route.js +1 -0
- package/_standalone/.next/server/app/api/a2a/discover/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/a2a/route.js +1 -0
- package/_standalone/.next/server/app/api/a2a/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/acp/config/route.js +1 -0
- package/_standalone/.next/server/app/api/acp/config/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/acp/detect/route.js +1 -0
- package/_standalone/.next/server/app/api/acp/detect/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/acp/install/route.js +1 -0
- package/_standalone/.next/server/app/api/acp/install/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/acp/registry/route.js +1 -0
- package/_standalone/.next/server/app/api/acp/registry/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/acp/session/route.js +1 -0
- package/_standalone/.next/server/app/api/acp/session/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/agent-activity/route.js +1 -0
- package/_standalone/.next/server/app/api/agent-activity/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/agents/copy-skill/route.js +1 -0
- package/_standalone/.next/server/app/api/agents/copy-skill/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -0
- package/_standalone/.next/server/app/api/agents/custom/detect/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/agents/custom/route.js +1 -0
- package/_standalone/.next/server/app/api/agents/custom/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/ask/route.js +130 -0
- package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/ask-sessions/route.js +1 -0
- package/_standalone/.next/server/app/api/ask-sessions/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/auth/route.js +1 -0
- package/_standalone/.next/server/app/api/auth/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/backlinks/route.js +1 -0
- package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/bootstrap/route.js +1 -0
- package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/changes/route.js +1 -0
- package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/channels/verify/route.js +1 -0
- package/_standalone/.next/server/app/api/channels/verify/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/channels/verify/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/connect/route.js +1 -0
- package/_standalone/.next/server/app/api/connect/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/connect/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/embedding/route.js +1 -0
- package/_standalone/.next/server/app/api/embedding/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/embedding/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/export/route.js +57 -0
- package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/extract-pdf/route.js +3 -0
- package/_standalone/.next/server/app/api/extract-pdf/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/file/import/route.js +4 -0
- package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/file/raw/route.js +1 -0
- package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/file/route.js +1 -0
- package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/files/route.js +1 -0
- package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/git/route.js +1 -0
- package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/graph/route.js +1 -0
- package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/health/route.js +1 -0
- package/_standalone/.next/server/app/api/health/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/activity/route.js +1 -0
- package/_standalone/.next/server/app/api/im/activity/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/activity/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/config/route.js +1 -0
- package/_standalone/.next/server/app/api/im/config/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/config/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/status/route.js +1 -0
- package/_standalone/.next/server/app/api/im/status/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/status/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/test/route.js +1 -0
- package/_standalone/.next/server/app/api/im/test/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/test/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/webhook/feishu/route.js +1 -0
- package/_standalone/.next/server/app/api/im/webhook/feishu/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/webhook/feishu/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/im/webhook-status/route.js +1 -0
- package/_standalone/.next/server/app/api/im/webhook-status/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/im/webhook-status/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/inbox/clip/route.js +8 -0
- package/_standalone/.next/server/app/api/inbox/clip/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/inbox/clip/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/inbox/route.js +1 -0
- package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/init/route.js +1 -0
- package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/lint/route.js +1 -0
- package/_standalone/.next/server/app/api/lint/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/lint/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/direct-tools/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/direct-tools/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/direct-tools/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/install/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/install/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/install-skill/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/install-skill/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/restart/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/restart/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/status/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/status/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/tools/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/tools/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/mcp/uninstall/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/uninstall/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/monitoring/route.js +1 -0
- package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/recent-files/route.js +1 -0
- package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/restart/route.js +1 -0
- package/_standalone/.next/server/app/api/restart/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/search/route.js +1 -0
- package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -0
- package/_standalone/.next/server/app/api/settings/list-models/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/settings/reset-token/route.js +1 -0
- package/_standalone/.next/server/app/api/settings/reset-token/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/settings/route.js +1 -0
- package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -0
- package/_standalone/.next/server/app/api/settings/test-key/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/setup/check-path/route.js +1 -0
- package/_standalone/.next/server/app/api/setup/check-path/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/setup/check-port/route.js +1 -0
- package/_standalone/.next/server/app/api/setup/check-port/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/setup/generate-token/route.js +1 -0
- package/_standalone/.next/server/app/api/setup/generate-token/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/setup/ls/route.js +1 -0
- package/_standalone/.next/server/app/api/setup/ls/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/setup/route.js +1 -0
- package/_standalone/.next/server/app/api/setup/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/skills/route.js +6 -0
- package/_standalone/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/space-overview/route.js +60 -0
- package/_standalone/.next/server/app/api/space-overview/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/space-overview/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/sync/route.js +1 -0
- package/_standalone/.next/server/app/api/sync/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/tree-version/route.js +1 -0
- package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/uninstall/route.js +4 -0
- package/_standalone/.next/server/app/api/uninstall/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/update/route.js +1 -0
- package/_standalone/.next/server/app/api/update/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/update-check/route.js +1 -0
- package/_standalone/.next/server/app/api/update-check/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/update-status/route.js +1 -0
- package/_standalone/.next/server/app/api/update-status/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/api/workflows/route.js +9 -0
- package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/changelog/page.js +2 -0
- package/_standalone/.next/server/app/changelog/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/changelog/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/changes/page.js +2 -0
- package/_standalone/.next/server/app/changes/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/echo/[segment]/page.js +158 -0
- package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/echo/page.js +2 -0
- package/_standalone/.next/server/app/echo/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/explore/page.js +5 -0
- package/_standalone/.next/server/app/explore/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/help/page.js +2 -0
- package/_standalone/.next/server/app/help/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/icon.svg/route.js +1 -0
- package/_standalone/.next/server/app/icon.svg/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/icon.svg.body +37 -0
- package/_standalone/.next/server/app/icon.svg.meta +1 -0
- package/_standalone/.next/server/app/inbox/history/page.js +2 -0
- package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/login/page.js +2 -0
- package/_standalone/.next/server/app/login/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/page.js +2 -0
- package/_standalone/.next/server/app/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/setup/page.js +2 -0
- package/_standalone/.next/server/app/setup/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/trash/page.js +3 -0
- package/_standalone/.next/server/app/trash/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app/view/[...path]/page.js +13 -0
- package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -0
- package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -0
- package/_standalone/.next/server/app-paths-manifest.json +92 -0
- package/_standalone/.next/server/chunks/1076.js +1 -0
- package/_standalone/.next/server/chunks/1104.js +1 -0
- package/_standalone/.next/server/chunks/1299.js +133 -0
- package/_standalone/.next/server/chunks/1546.js +1 -0
- package/_standalone/.next/server/chunks/1549.js +1 -0
- package/_standalone/.next/server/chunks/1550.js +1 -0
- package/_standalone/.next/server/chunks/206.js +2 -0
- package/_standalone/.next/server/chunks/2250.js +38 -0
- package/_standalone/.next/server/chunks/2424.js +54 -0
- package/_standalone/.next/server/chunks/2792.js +1 -0
- package/_standalone/.next/server/chunks/2885.js +7 -0
- package/_standalone/.next/server/chunks/3036.js +1 -0
- package/_standalone/.next/server/chunks/3123.js +3 -0
- package/_standalone/.next/server/chunks/3437.js +60 -0
- package/_standalone/.next/server/chunks/3445.js +22 -0
- package/_standalone/.next/server/chunks/3528.js +1 -0
- package/_standalone/.next/server/chunks/3800.js +1 -0
- package/_standalone/.next/server/chunks/3965.js +11 -0
- package/_standalone/.next/server/chunks/4241.js +1 -0
- package/_standalone/.next/server/chunks/5165.js +1 -0
- package/_standalone/.next/server/chunks/5299.js +1 -0
- package/_standalone/.next/server/chunks/5464.js +9 -0
- package/_standalone/.next/server/chunks/5576.js +36 -0
- package/_standalone/.next/server/chunks/5592.js +1 -0
- package/_standalone/.next/server/chunks/5945.js +1 -0
- package/_standalone/.next/server/chunks/6022.js +193 -0
- package/_standalone/.next/server/chunks/6117.js +13 -0
- package/_standalone/.next/server/chunks/6140.js +1 -0
- package/_standalone/.next/server/chunks/6539.js +1 -0
- package/_standalone/.next/server/chunks/6949.js +1 -0
- package/_standalone/.next/server/chunks/7032.js +1 -0
- package/_standalone/.next/server/chunks/7198.js +23 -0
- package/_standalone/.next/server/chunks/7712.js +1 -0
- package/_standalone/.next/server/chunks/791.js +1 -0
- package/_standalone/.next/server/chunks/7948.js +2 -0
- package/_standalone/.next/server/chunks/8326.js +1 -0
- package/_standalone/.next/server/chunks/8388.js +17 -0
- package/_standalone/.next/server/chunks/9503.js +1 -0
- package/_standalone/.next/server/chunks/953.js +57 -0
- package/_standalone/.next/server/chunks/9938.js +24 -0
- package/_standalone/.next/server/functions-config-manifest.json +22 -0
- package/_standalone/.next/server/instrumentation.js +1 -0
- package/_standalone/.next/server/middleware-build-manifest.js +1 -0
- package/_standalone/.next/server/middleware-manifest.json +6 -0
- package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/_standalone/.next/server/middleware.js +15 -0
- package/_standalone/.next/server/next-font-manifest.js +1 -0
- package/_standalone/.next/server/next-font-manifest.json +1 -0
- package/_standalone/.next/server/pages/500.html +2 -0
- package/_standalone/.next/server/pages-manifest.json +3 -0
- package/_standalone/.next/server/server-reference-manifest.js +1 -0
- package/_standalone/.next/server/server-reference-manifest.json +1 -0
- package/_standalone/.next/server/webpack-runtime.js +1 -0
- package/_standalone/.next/static/chunks/1239.10a0710c2772ab34.js +1 -0
- package/_standalone/.next/static/chunks/1477.33df3cce509578c2.js +1 -0
- package/_standalone/.next/static/chunks/1814.8a1fef15856dce84.js +1 -0
- package/_standalone/.next/static/chunks/1a258343-9803591e4aaee1f6.js +2 -0
- package/_standalone/.next/static/chunks/2631.dc56e83472bde281.js +1 -0
- package/_standalone/.next/static/chunks/2647.e0b67d0c432ad7e7.js +18 -0
- package/_standalone/.next/static/chunks/2872.045858d00bd8307f.js +8 -0
- package/_standalone/.next/static/chunks/2935.a7fdb3a7fb681d61.js +1 -0
- package/_standalone/.next/static/chunks/2968.f10ccee9e7e2324d.js +2 -0
- package/_standalone/.next/static/chunks/3013-3d4aa69636f4a7bd.js +1 -0
- package/_standalone/.next/static/chunks/3523-4e4bb442a2d2f4f5.js +1 -0
- package/_standalone/.next/static/chunks/3562-fadd7213646defa8.js +1 -0
- package/_standalone/.next/static/chunks/362.2bfa40005767b578.js +2 -0
- package/_standalone/.next/static/chunks/363642f4.1ab94f095d889c3a.js +1 -0
- package/_standalone/.next/static/chunks/3637.2b2697198968d83f.js +1 -0
- package/_standalone/.next/static/chunks/3794-c66343cd6a42366f.js +2 -0
- package/_standalone/.next/static/chunks/4033.6666700547b20141.js +1 -0
- package/_standalone/.next/static/chunks/4237-ffc6e7c15d4007b6.js +1 -0
- package/_standalone/.next/static/chunks/4342.ccc18d7a45f204a4.js +48 -0
- package/_standalone/.next/static/chunks/4496.f77a677ac2034e48.js +1 -0
- package/_standalone/.next/static/chunks/4568-6791c1bc47a63f80.js +1 -0
- package/_standalone/.next/static/chunks/4925-6e9a5eb97c10d532.js +1 -0
- package/_standalone/.next/static/chunks/4bd1b696-10cb4c9d2844a506.js +1 -0
- package/_standalone/.next/static/chunks/516.24ee058b1d4b1fed.js +8 -0
- package/_standalone/.next/static/chunks/5358-15ceeb8c1cd9889d.js +28 -0
- package/_standalone/.next/static/chunks/54a60aa6.7a74f547ec1bdd5a.js +79 -0
- package/_standalone/.next/static/chunks/5576.c468f41f1126e837.js +9 -0
- package/_standalone/.next/static/chunks/5581-c3be891101a3e511.js +29 -0
- package/_standalone/.next/static/chunks/5592-85f69f6161d7a028.js +1 -0
- package/_standalone/.next/static/chunks/5627.c4337d7289acb31f.js +1 -0
- package/_standalone/.next/static/chunks/5956.b445072b35915129.js +1 -0
- package/_standalone/.next/static/chunks/6087.e4ec392aa2239719.js +1 -0
- package/_standalone/.next/static/chunks/6636-1b6d7047cffa7dbc.js +6 -0
- package/_standalone/.next/static/chunks/6826.7b7d94dd0fd83812.js +1 -0
- package/_standalone/.next/static/chunks/6902-53a31f849968ddf8.js +3 -0
- package/_standalone/.next/static/chunks/7025-9a4369e5f94b3915.js +1 -0
- package/_standalone/.next/static/chunks/70e0d97a.6903b8594c742784.js +1 -0
- package/_standalone/.next/static/chunks/7249-b0a9c77b9a84b11c.js +11 -0
- package/_standalone/.next/static/chunks/7540-811b466ff82538ac.js +13 -0
- package/_standalone/.next/static/chunks/7753.63831cfc54a55fbb.js +1 -0
- package/_standalone/.next/static/chunks/8252-888b87f30fde5786.js +1 -0
- package/_standalone/.next/static/chunks/8409-de5726a4a278d28f.js +1 -0
- package/_standalone/.next/static/chunks/862.9f526e964489e2e5.js +1 -0
- package/_standalone/.next/static/chunks/8719-becd06dd739825ea.js +1 -0
- package/_standalone/.next/static/chunks/9207-456dc6941d557f33.js +1 -0
- package/_standalone/.next/static/chunks/9300.118b8c840634383f.js +28 -0
- package/_standalone/.next/static/chunks/95247769.3b5caae1c1a76ce1.js +4 -0
- package/_standalone/.next/static/chunks/9688-85f7c423a1dce82c.js +1 -0
- package/_standalone/.next/static/chunks/9748-3e19c82c77c98c0a.js +1 -0
- package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/_global-error/page-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/_not-found/page-a4fd983951533d8f.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-d4d8277433073461.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/page-6f021b5bec8169d5.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/agents/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/config/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/detect/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/install/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/registry/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/session/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agent-activity/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agents/copy-skill/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agents/custom/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/auth/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/backlinks/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/bootstrap/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/changes/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/channels/verify/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/connect/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/embedding/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/export/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/import/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/raw/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/files/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/git/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/graph/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/health/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/activity/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/config/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/status/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/test/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/webhook/feishu/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/im/webhook-status/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/inbox/clip/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/inbox/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/init/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/lint/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/direct-tools/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/status/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/tools/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/monitoring/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/recent-files/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/restart/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/search/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/ls/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/skills/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/space-overview/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/sync/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/tree-version/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/uninstall/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-check/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-status/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/api/workflows/route-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/changelog/page-297e0af14471e935.js +1 -0
- package/_standalone/.next/static/chunks/app/changes/page-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-75a6330292613587.js +157 -0
- package/_standalone/.next/static/chunks/app/echo/page-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/error-fc1491d554a28327.js +1 -0
- package/_standalone/.next/static/chunks/app/explore/page-d9f58000bc445360.js +4 -0
- package/_standalone/.next/static/chunks/app/global-error-c37d50db6128ec01.js +1 -0
- package/_standalone/.next/static/chunks/app/help/page-f8cb806371b3175f.js +1 -0
- package/_standalone/.next/static/chunks/app/inbox/history/page-26e71fb6f716a4c4.js +1 -0
- package/_standalone/.next/static/chunks/app/layout-09f08f52e3cbfc47.js +133 -0
- package/_standalone/.next/static/chunks/app/loading-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/login/page-686d7c84262f2e7c.js +1 -0
- package/_standalone/.next/static/chunks/app/page-174dadc481ca9c86.js +1 -0
- package/_standalone/.next/static/chunks/app/setup/page-64d7fa097ef3f367.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/page-8e0ea3ba71702757.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/error-ec03f5d0a5b93073.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/loading-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/not-found-6e0c75ad26ce8572.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/page-04f43178679a8bfb.js +12 -0
- package/_standalone/.next/static/chunks/e71f6c19-4df85185bf989b49.js +1 -0
- package/_standalone/.next/static/chunks/framework-a17258b880e6120c.js +1 -0
- package/_standalone/.next/static/chunks/main-app-85439cf6d0f88401.js +1 -0
- package/_standalone/.next/static/chunks/main-dbbd70b57dd91565.js +5 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2471b275cd82ff8d.js +1 -0
- package/_standalone/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/_standalone/.next/static/chunks/webpack-ec9c6076012b75f3.js +1 -0
- package/_standalone/.next/static/css/86153be34ee0f215.css +1 -0
- package/_standalone/.next/static/css/a4a2b71142b311af.css +31 -0
- package/_standalone/.next/static/dZDCx13MSM8QVQk2QNRs8/_buildManifest.js +1 -0
- package/_standalone/.next/static/dZDCx13MSM8QVQk2QNRs8/_ssgManifest.js +1 -0
- package/_standalone/.next/static/media/0086f8992871c45b-s.woff2 +0 -0
- package/_standalone/.next/static/media/011e180705008d6f-s.woff2 +0 -0
- package/_standalone/.next/static/media/03b436aa846269de-s.woff2 +0 -0
- package/_standalone/.next/static/media/05a58683eb2ffca7-s.woff2 +0 -0
- package/_standalone/.next/static/media/08aedeceaf1dcd57-s.woff2 +0 -0
- package/_standalone/.next/static/media/110cbef534704ef8-s.p.woff2 +0 -0
- package/_standalone/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/_standalone/.next/static/media/20535187d867b7b9-s.woff2 +0 -0
- package/_standalone/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/_standalone/.next/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
- package/_standalone/.next/static/media/2801417b65625cf5-s.woff2 +0 -0
- package/_standalone/.next/static/media/28793f5c5e3d822d-s.woff2 +0 -0
- package/_standalone/.next/static/media/36008747766f78c6-s.woff2 +0 -0
- package/_standalone/.next/static/media/4f19a67e08e18f3c-s.woff2 +0 -0
- package/_standalone/.next/static/media/5356a6a4f2c8c8d8-s.woff2 +0 -0
- package/_standalone/.next/static/media/58f386aa6b1a2a92-s.woff2 +0 -0
- package/_standalone/.next/static/media/5c0c2bcbaa4149ca-s.p.woff2 +0 -0
- package/_standalone/.next/static/media/6d38f9d4e0f4772b-s.woff2 +0 -0
- package/_standalone/.next/static/media/714ad00c3d008517-s.woff2 +0 -0
- package/_standalone/.next/static/media/73cb51aac9c97f90-s.woff2 +0 -0
- package/_standalone/.next/static/media/7b19b489dc6743ba-s.woff2 +0 -0
- package/_standalone/.next/static/media/7ba5fb2a8c88521c-s.woff2 +0 -0
- package/_standalone/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/_standalone/.next/static/media/92eeb95d069020cc-s.woff2 +0 -0
- package/_standalone/.next/static/media/99bbede094da1c3f-s.woff2 +0 -0
- package/_standalone/.next/static/media/ab00a911ac2adf48-s.woff2 +0 -0
- package/_standalone/.next/static/media/b3bf17a9041d9433-s.woff2 +0 -0
- package/_standalone/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/_standalone/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/_standalone/.next/static/media/c80eef6a0c97798e-s.woff2 +0 -0
- package/_standalone/.next/static/media/c9c3823090ec8b55-s.woff2 +0 -0
- package/_standalone/.next/static/media/d26bbd13d6b70f89-s.woff2 +0 -0
- package/_standalone/.next/static/media/d2f466e69dd54845-s.woff2 +0 -0
- package/_standalone/.next/static/media/d3ebbfd689654d3a-s.p.woff2 +0 -0
- package/_standalone/.next/static/media/db96af6b531dc71f-s.p.woff2 +0 -0
- package/_standalone/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/_standalone/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/_standalone/.next/trace +72 -0
- package/_standalone/.next/types/routes.d.ts +158 -0
- package/_standalone/.next/types/validator.ts +844 -0
- package/_standalone/__tests__/a2a/agent-card.test.ts +60 -0
- package/_standalone/__tests__/a2a/client.test.ts +264 -0
- package/_standalone/__tests__/a2a/delegation-history.test.ts +133 -0
- package/_standalone/__tests__/a2a/orchestrator.test.ts +280 -0
- package/_standalone/__tests__/a2a/task-handler.test.ts +86 -0
- package/_standalone/__tests__/acp/acp-types.test.ts +273 -0
- package/_standalone/__tests__/acp/agent-descriptors.test.ts +284 -0
- package/_standalone/__tests__/acp/bridge.test.ts +188 -0
- package/_standalone/__tests__/acp/registry.test.ts +193 -0
- package/_standalone/__tests__/acp/session.test.ts +466 -0
- package/_standalone/__tests__/agent/backend-retry.test.ts +143 -0
- package/_standalone/__tests__/agent/chat-mode.test.ts +103 -0
- package/_standalone/__tests__/agent/loop-detection.test.ts +85 -0
- package/_standalone/__tests__/agent/paragraph-extract.test.ts +76 -0
- package/_standalone/__tests__/agent/prompt.test.ts +21 -0
- package/_standalone/__tests__/agent/provider-endpoints.test.ts +70 -0
- package/_standalone/__tests__/agent/provider-presets.test.ts +32 -0
- package/_standalone/__tests__/agent/retry-reconnect.test.ts +120 -0
- package/_standalone/__tests__/agent/stream-consumer-status.test.ts +103 -0
- package/_standalone/__tests__/agent/token-estimation.test.ts +54 -0
- package/_standalone/__tests__/agents/agents-content-dashboard.test.tsx +181 -0
- package/_standalone/__tests__/agents/agents-content-model.test.ts +209 -0
- package/_standalone/__tests__/api/ask-attachments.test.ts +194 -0
- package/_standalone/__tests__/api/backlinks.test.ts +55 -0
- package/_standalone/__tests__/api/bootstrap.test.ts +70 -0
- package/_standalone/__tests__/api/changes.test.ts +96 -0
- package/_standalone/__tests__/api/channels-verify.test.ts +75 -0
- package/_standalone/__tests__/api/check-port.test.ts +100 -0
- package/_standalone/__tests__/api/extract-pdf.test.ts +265 -0
- package/_standalone/__tests__/api/file.test.ts +423 -0
- package/_standalone/__tests__/api/files.test.ts +43 -0
- package/_standalone/__tests__/api/git.test.ts +80 -0
- package/_standalone/__tests__/api/im-activity.test.ts +36 -0
- package/_standalone/__tests__/api/im-config-feishu-conversation.test.ts +142 -0
- package/_standalone/__tests__/api/im-webhook-feishu.test.ts +97 -0
- package/_standalone/__tests__/api/install-skill.test.ts +283 -0
- package/_standalone/__tests__/api/mcp-install.test.ts +400 -0
- package/_standalone/__tests__/api/pi-subagents.test.ts +81 -0
- package/_standalone/__tests__/api/recent-files.test.ts +43 -0
- package/_standalone/__tests__/api/retry.test.ts +49 -0
- package/_standalone/__tests__/api/search.test.ts +48 -0
- package/_standalone/__tests__/api/settings.test.ts +56 -0
- package/_standalone/__tests__/api/setup-paths.test.ts +81 -0
- package/_standalone/__tests__/api/setup.test.ts +428 -0
- package/_standalone/__tests__/api/skills.test.ts +362 -0
- package/_standalone/__tests__/api/space-overview.test.ts +79 -0
- package/_standalone/__tests__/api/test-key.test.ts +187 -0
- package/_standalone/__tests__/ask/ask-content-agent-selection.test.tsx +266 -0
- package/_standalone/__tests__/ask/ask-content-attach-menu.test.tsx +205 -0
- package/_standalone/__tests__/ask/ask-content-input-during-run.test.tsx +248 -0
- package/_standalone/__tests__/ask/auto-reconnect.test.ts +142 -0
- package/_standalone/__tests__/ask/file-chip-variants.test.tsx +18 -0
- package/_standalone/__tests__/ask/message-list-agent-attribution.test.tsx +73 -0
- package/_standalone/__tests__/ask/mode-capsule.test.ts +95 -0
- package/_standalone/__tests__/ask/non-streaming-api.test.ts +281 -0
- package/_standalone/__tests__/ask/save-insight.test.ts +84 -0
- package/_standalone/__tests__/ask/save-session.test.ts +73 -0
- package/_standalone/__tests__/channel-cli-layers.test.ts +108 -0
- package/_standalone/__tests__/channel-cli-subprocess.test.ts +73 -0
- package/_standalone/__tests__/channel-command-env.test.ts +82 -0
- package/_standalone/__tests__/channel-mgmt.test.js +75 -0
- package/_standalone/__tests__/channel-prompts.test.ts +48 -0
- package/_standalone/__tests__/cli/agent-routing.test.ts +232 -0
- package/_standalone/__tests__/cli/file-subcommands.test.ts +379 -0
- package/_standalone/__tests__/compile/compile-incremental.test.ts +103 -0
- package/_standalone/__tests__/compile/compile-meta.test.ts +74 -0
- package/_standalone/__tests__/compile/compile.test.ts +98 -0
- package/_standalone/__tests__/components/UpdateToast.test.ts +344 -0
- package/_standalone/__tests__/components/breadcrumb-header-ux.test.ts +14 -0
- package/_standalone/__tests__/components/channel-detail-redesign.test.tsx +222 -0
- package/_standalone/__tests__/components/header-toc-vertical-alignment.test.ts +23 -0
- package/_standalone/__tests__/components/line-diff.test.ts +37 -0
- package/_standalone/__tests__/components/search-modal-drag-drop.test.tsx +466 -0
- package/_standalone/__tests__/components/table-of-contents-header-layout.test.ts +15 -0
- package/_standalone/__tests__/components/view-page-header-layout.test.ts +13 -0
- package/_standalone/__tests__/components/view-page-header-scroll-stability.test.ts +34 -0
- package/_standalone/__tests__/core/agent-audit-log.test.ts +71 -0
- package/_standalone/__tests__/core/api.test.ts +135 -0
- package/_standalone/__tests__/core/atomic-append.test.ts +47 -0
- package/_standalone/__tests__/core/backlinks.test.ts +72 -0
- package/_standalone/__tests__/core/bm25-search.test.ts +78 -0
- package/_standalone/__tests__/core/chinese-segmentation.test.ts +69 -0
- package/_standalone/__tests__/core/config.test.ts +101 -0
- package/_standalone/__tests__/core/content-changes.test.ts +131 -0
- package/_standalone/__tests__/core/context.test.ts +50 -0
- package/_standalone/__tests__/core/create-space.test.ts +39 -0
- package/_standalone/__tests__/core/csv.test.ts +49 -0
- package/_standalone/__tests__/core/detect-agents.test.ts +139 -0
- package/_standalone/__tests__/core/errors.test.ts +119 -0
- package/_standalone/__tests__/core/file-convert.test.ts +148 -0
- package/_standalone/__tests__/core/fs-ops.test.ts +162 -0
- package/_standalone/__tests__/core/helpers.ts +35 -0
- package/_standalone/__tests__/core/hybrid-search.test.ts +109 -0
- package/_standalone/__tests__/core/inbox-url-utils.test.ts +37 -0
- package/_standalone/__tests__/core/inbox.test.ts +418 -0
- package/_standalone/__tests__/core/jwt.test.ts +62 -0
- package/_standalone/__tests__/core/lines.test.ts +148 -0
- package/_standalone/__tests__/core/link-index.test.ts +107 -0
- package/_standalone/__tests__/core/list-spaces.test.ts +45 -0
- package/_standalone/__tests__/core/metrics.test.ts +103 -0
- package/_standalone/__tests__/core/organize.test.ts +90 -0
- package/_standalone/__tests__/core/request-scoped-tools.test.ts +19 -0
- package/_standalone/__tests__/core/resolve-script.test.ts +115 -0
- package/_standalone/__tests__/core/search-index.test.ts +239 -0
- package/_standalone/__tests__/core/search.test.ts +68 -0
- package/_standalone/__tests__/core/security.test.ts +85 -0
- package/_standalone/__tests__/core/skill-install-logic.test.ts +230 -0
- package/_standalone/__tests__/core/space-aware-tree.test.ts +162 -0
- package/_standalone/__tests__/core/space-scaffold.test.ts +120 -0
- package/_standalone/__tests__/core/sync-status.test.ts +121 -0
- package/_standalone/__tests__/core/sync.test.ts +354 -0
- package/_standalone/__tests__/core/tools.test.ts +339 -0
- package/_standalone/__tests__/core/tree-async.test.ts +43 -0
- package/_standalone/__tests__/core/tree.test.ts +160 -0
- package/_standalone/__tests__/core/web-clip.test.ts +229 -0
- package/_standalone/__tests__/hooks/useAiOrganize.test.ts +633 -0
- package/_standalone/__tests__/hooks/useMention.test.ts +92 -0
- package/_standalone/__tests__/hooks/useSlashCommand.test.ts +152 -0
- package/_standalone/__tests__/im/activity.test.ts +74 -0
- package/_standalone/__tests__/im/config.test.ts +114 -0
- package/_standalone/__tests__/im/dingtalk.test.ts +23 -0
- package/_standalone/__tests__/im/feishu-conversation-processing.test.ts +96 -0
- package/_standalone/__tests__/im/feishu-dispatcher.test.ts +151 -0
- package/_standalone/__tests__/im/feishu-webhook.test.ts +187 -0
- package/_standalone/__tests__/im/feishu-ws-client.test.ts +91 -0
- package/_standalone/__tests__/im/format.test.ts +134 -0
- package/_standalone/__tests__/im/qq.test.ts +23 -0
- package/_standalone/__tests__/im/types.test.ts +97 -0
- package/_standalone/__tests__/im/wechat.test.ts +23 -0
- package/_standalone/__tests__/integration/drag-drop-format-verification.test.ts +289 -0
- package/_standalone/__tests__/integration/search-askcontent-drag-drop.test.tsx +565 -0
- package/_standalone/__tests__/lib/ask-agent.test.ts +84 -0
- package/_standalone/__tests__/lib/daily-echo-aggregation.test.ts +225 -0
- package/_standalone/__tests__/lib/daily-echo-config.test.ts +254 -0
- package/_standalone/__tests__/lib/daily-echo-prompts.test.ts +236 -0
- package/_standalone/__tests__/lib/daily-echo-snapshot.test.ts +86 -0
- package/_standalone/__tests__/lib/daily-echo-storage.test.ts +392 -0
- package/_standalone/__tests__/lib/echo-insight-prompt.test.ts +57 -0
- package/_standalone/__tests__/lib/echo-pages-visual-i18n.test.ts +31 -0
- package/_standalone/__tests__/lib/echo-segments.test.ts +48 -0
- package/_standalone/__tests__/lib/explore-use-cases.test.ts +70 -0
- package/_standalone/__tests__/lib/i18n-new-keys.test.ts +153 -0
- package/_standalone/__tests__/lib/mcp-snippets.test.ts +163 -0
- package/_standalone/__tests__/lib/mindos-copy-alignment.test.ts +36 -0
- package/_standalone/__tests__/lib/pi-extensions.test.ts +42 -0
- package/_standalone/__tests__/lib/pi-skills.test.ts +117 -0
- package/_standalone/__tests__/lib/session-store.test.ts +58 -0
- package/_standalone/__tests__/lib/settings-ai-client.test.ts +93 -0
- package/_standalone/__tests__/lib/walkthrough-steps.test.ts +25 -0
- package/_standalone/__tests__/lib/web-search.test.ts +141 -0
- package/_standalone/__tests__/lint/lint.test.ts +257 -0
- package/_standalone/__tests__/middleware.test.ts +112 -0
- package/_standalone/__tests__/obsidian-compat/command-registry.test.ts +56 -0
- package/_standalone/__tests__/obsidian-compat/component-plugin.test.ts +130 -0
- package/_standalone/__tests__/obsidian-compat/integration.test.ts +160 -0
- package/_standalone/__tests__/obsidian-compat/loader.test.ts +130 -0
- package/_standalone/__tests__/obsidian-compat/manifest.test.ts +58 -0
- package/_standalone/__tests__/obsidian-compat/plugin-manager.test.ts +112 -0
- package/_standalone/__tests__/obsidian-compat/ui.test.ts +71 -0
- package/_standalone/__tests__/obsidian-compat/vault.test.ts +93 -0
- package/_standalone/__tests__/panels/agents-panel-hub.test.tsx +66 -0
- package/_standalone/__tests__/panels/search-panel-drag-drop.test.tsx +259 -0
- package/_standalone/__tests__/renderers/csv-core-builtin.test.ts +11 -0
- package/_standalone/__tests__/renderers/plugin-renderers-filtering.test.ts +49 -0
- package/_standalone/__tests__/renderers/renderer-surface-classification.test.ts +45 -0
- package/_standalone/__tests__/renderers/workflow-yaml-execution.test.ts +232 -0
- package/_standalone/__tests__/renderers/workflow-yaml-parser.test.ts +181 -0
- package/_standalone/__tests__/renderers/workflow-yaml-serializer.test.ts +64 -0
- package/_standalone/__tests__/settings/activity-bar-rail-navigation.test.tsx +178 -0
- package/_standalone/__tests__/settings/activity-bar-update-badge.test.tsx +91 -0
- package/_standalone/__tests__/settings/custom-provider-form.test.ts +30 -0
- package/_standalone/__tests__/settings/settings-update-badge.test.tsx +134 -0
- package/_standalone/__tests__/settings/update-tab-availability-sync.test.tsx +115 -0
- package/_standalone/__tests__/settings/update-tab-browser.test.tsx +159 -0
- package/_standalone/__tests__/settings/update-tab-desktop.test.tsx +169 -0
- package/_standalone/__tests__/setup.ts +100 -0
- package/_standalone/__tests__/skills/mindos-skill-copy-alignment.test.ts +27 -0
- package/_standalone/app/globals.css +534 -0
- package/_standalone/app/icon.svg +37 -0
- package/_standalone/components/ActivityBar.tsx +293 -0
- package/_standalone/components/AskFab.tsx +57 -0
- package/_standalone/components/AskModal.tsx +48 -0
- package/_standalone/components/Backlinks.tsx +75 -0
- package/_standalone/components/Breadcrumb.tsx +72 -0
- package/_standalone/components/CreateSpaceModal.tsx +235 -0
- package/_standalone/components/CsvView.tsx +346 -0
- package/_standalone/components/CustomSelect.tsx +256 -0
- package/_standalone/components/DirPicker.tsx +217 -0
- package/_standalone/components/EchoSpotlight.tsx +115 -0
- package/_standalone/components/Editor.tsx +242 -0
- package/_standalone/components/EditorWrapper.tsx +17 -0
- package/_standalone/components/ExportModal.tsx +223 -0
- package/_standalone/components/FileTree.tsx +619 -0
- package/_standalone/components/FindInPage.tsx +211 -0
- package/_standalone/components/GuideCard.tsx +358 -0
- package/_standalone/components/ImportModal.tsx +521 -0
- package/_standalone/components/JsonView.tsx +23 -0
- package/_standalone/components/KeyboardShortcuts.tsx +102 -0
- package/_standalone/components/Logo.tsx +39 -0
- package/_standalone/components/MarkdownEditor.tsx +94 -0
- package/_standalone/components/MarkdownView.tsx +192 -0
- package/_standalone/components/OnboardingView.tsx +164 -0
- package/_standalone/components/OrganizeToast.tsx +543 -0
- package/_standalone/components/Panel.tsx +385 -0
- package/_standalone/components/QuickSuggestion.tsx +69 -0
- package/_standalone/components/RightAgentDetailPanel.tsx +125 -0
- package/_standalone/components/RightAskPanel.tsx +174 -0
- package/_standalone/components/SearchModal.tsx +446 -0
- package/_standalone/components/SettingsModal.tsx +30 -0
- package/_standalone/components/Sidebar.tsx +190 -0
- package/_standalone/components/SidebarLayout.tsx +713 -0
- package/_standalone/components/SpaceInitToast.tsx +173 -0
- package/_standalone/components/SyncStatusBar.tsx +294 -0
- package/_standalone/components/SystemPulse.tsx +216 -0
- package/_standalone/components/TableOfContents.tsx +207 -0
- package/_standalone/components/ThemeToggle.tsx +36 -0
- package/_standalone/components/WysiwygEditor.tsx +165 -0
- package/_standalone/components/agents/AcpRegistrySection.tsx +457 -0
- package/_standalone/components/agents/ActivitySection.tsx +35 -0
- package/_standalone/components/agents/AgentActivitySection.tsx +225 -0
- package/_standalone/components/agents/AgentsContentChannelDetail.tsx +815 -0
- package/_standalone/components/agents/AgentsContentChannels.tsx +150 -0
- package/_standalone/components/agents/AgentsMcpSection.tsx +568 -0
- package/_standalone/components/agents/AgentsOverviewSection.tsx +488 -0
- package/_standalone/components/agents/AgentsPanelA2aTab.tsx +298 -0
- package/_standalone/components/agents/AgentsPanelSessionsTab.tsx +171 -0
- package/_standalone/components/agents/AgentsPrimitives.tsx +360 -0
- package/_standalone/components/agents/AgentsSkillsByAgent.tsx +231 -0
- package/_standalone/components/agents/AgentsSkillsSection.tsx +655 -0
- package/_standalone/components/agents/CustomAgentModal.tsx +691 -0
- package/_standalone/components/agents/DiscoverAgentModal.tsx +149 -0
- package/_standalone/components/agents/EnvPermSection.tsx +82 -0
- package/_standalone/components/agents/KnowledgeInteractionSection.tsx +241 -0
- package/_standalone/components/agents/RecentActivityFeed.tsx +137 -0
- package/_standalone/components/agents/RuntimeDiagSection.tsx +93 -0
- package/_standalone/components/agents/SkillDetailPopover.tsx +584 -0
- package/_standalone/components/agents/agent-activity-shared.tsx +110 -0
- package/_standalone/components/agents/agent-detail-primitives.tsx +43 -0
- package/_standalone/components/ask/AgentSelectorCapsule.tsx +218 -0
- package/_standalone/components/ask/AskContent.tsx +849 -0
- package/_standalone/components/ask/AskHeader.tsx +279 -0
- package/_standalone/components/ask/FileChip.tsx +181 -0
- package/_standalone/components/ask/HighlightMatch.tsx +14 -0
- package/_standalone/components/ask/MentionPopover.tsx +92 -0
- package/_standalone/components/ask/MessageList.tsx +371 -0
- package/_standalone/components/ask/ModeCapsule.tsx +180 -0
- package/_standalone/components/ask/ProviderModelCapsule.tsx +589 -0
- package/_standalone/components/ask/SaveInsightInline.tsx +286 -0
- package/_standalone/components/ask/SaveSessionInline.tsx +491 -0
- package/_standalone/components/ask/SessionHistory.tsx +164 -0
- package/_standalone/components/ask/SessionHistoryPanel.tsx +398 -0
- package/_standalone/components/ask/SessionTabBar.tsx +78 -0
- package/_standalone/components/ask/SlashCommandPopover.tsx +82 -0
- package/_standalone/components/ask/ThinkingBlock.tsx +56 -0
- package/_standalone/components/ask/ToolCallBlock.tsx +187 -0
- package/_standalone/components/ask/save-insight-utils.ts +101 -0
- package/_standalone/components/changes/ChangesBanner.tsx +145 -0
- package/_standalone/components/changes/ChangesContentPage.tsx +540 -0
- package/_standalone/components/echo/DailyEcho/DailyEchoReportButton.tsx +88 -0
- package/_standalone/components/echo/DailyEcho/DailyEchoReportDrawer.tsx +129 -0
- package/_standalone/components/echo/DailyEcho/sections/DailyEchoAlignmentSection.tsx +76 -0
- package/_standalone/components/echo/DailyEcho/sections/DailyEchoReflectionSection.tsx +37 -0
- package/_standalone/components/echo/DailyEcho/sections/DailyEchoSnapshotSection.tsx +39 -0
- package/_standalone/components/echo/DailyEcho/sections/DailyEchoThemesSection.tsx +44 -0
- package/_standalone/components/echo/EchoHero.tsx +35 -0
- package/_standalone/components/echo/EchoInsightCollapsible.tsx +197 -0
- package/_standalone/components/echo/EchoPageSections.tsx +51 -0
- package/_standalone/components/echo/EchoSegmentNav.tsx +57 -0
- package/_standalone/components/explore/UseCaseCard.tsx +56 -0
- package/_standalone/components/explore/use-cases.generated.ts +76 -0
- package/_standalone/components/explore/use-cases.yaml +185 -0
- package/_standalone/components/file-tree/FileTreeContextMenus.tsx +160 -0
- package/_standalone/components/home/InboxSection.tsx +707 -0
- package/_standalone/components/panels/AgentsPanel.tsx +203 -0
- package/_standalone/components/panels/AgentsPanelAgentDetail.tsx +191 -0
- package/_standalone/components/panels/AgentsPanelAgentGroups.tsx +113 -0
- package/_standalone/components/panels/AgentsPanelAgentListRow.tsx +133 -0
- package/_standalone/components/panels/AgentsPanelHubNav.tsx +76 -0
- package/_standalone/components/panels/DiscoverPanel.tsx +212 -0
- package/_standalone/components/panels/EchoPanel.tsx +49 -0
- package/_standalone/components/panels/EchoSidebarStats.tsx +136 -0
- package/_standalone/components/panels/IMChannelsView.tsx +114 -0
- package/_standalone/components/panels/ImportHistoryPanel.tsx +195 -0
- package/_standalone/components/panels/PanelHeader.tsx +35 -0
- package/_standalone/components/panels/PanelNavRow.tsx +77 -0
- package/_standalone/components/panels/PluginsPanel.tsx +168 -0
- package/_standalone/components/panels/SearchPanel.tsx +283 -0
- package/_standalone/components/panels/SyncPopover.tsx +105 -0
- package/_standalone/components/panels/WorkflowsPanel.tsx +206 -0
- package/_standalone/components/panels/agents-panel-resolve-status.ts +13 -0
- package/_standalone/components/renderers/agent-inspector/AgentInspectorRenderer.tsx +322 -0
- package/_standalone/components/renderers/audio/AudioRenderer.tsx +79 -0
- package/_standalone/components/renderers/backlinks/BacklinksRenderer.tsx +147 -0
- package/_standalone/components/renderers/change-log/ChangeLogRenderer.tsx +472 -0
- package/_standalone/components/renderers/config/ConfigRenderer.tsx +236 -0
- package/_standalone/components/renderers/csv/BoardView.tsx +146 -0
- package/_standalone/components/renderers/csv/ConfigPanel.tsx +119 -0
- package/_standalone/components/renderers/csv/CsvRenderer.tsx +70 -0
- package/_standalone/components/renderers/csv/EditableCell.tsx +43 -0
- package/_standalone/components/renderers/csv/GalleryView.tsx +40 -0
- package/_standalone/components/renderers/csv/TableView.tsx +163 -0
- package/_standalone/components/renderers/csv/types.ts +87 -0
- package/_standalone/components/renderers/graph/GraphRenderer.tsx +427 -0
- package/_standalone/components/renderers/image/ImageRenderer.tsx +203 -0
- package/_standalone/components/renderers/pdf/PdfRenderer.tsx +57 -0
- package/_standalone/components/renderers/summary/SummaryRenderer.tsx +226 -0
- package/_standalone/components/renderers/timeline/TimelineRenderer.tsx +213 -0
- package/_standalone/components/renderers/todo/FilterBar.tsx +106 -0
- package/_standalone/components/renderers/todo/SectionCard.tsx +354 -0
- package/_standalone/components/renderers/todo/TodoRenderer.tsx +137 -0
- package/_standalone/components/renderers/video/VideoRenderer.tsx +91 -0
- package/_standalone/components/renderers/workflow-yaml/StepEditor.tsx +164 -0
- package/_standalone/components/renderers/workflow-yaml/WorkflowEditor.tsx +201 -0
- package/_standalone/components/renderers/workflow-yaml/WorkflowRunner.tsx +282 -0
- package/_standalone/components/renderers/workflow-yaml/WorkflowYamlRenderer.tsx +126 -0
- package/_standalone/components/renderers/workflow-yaml/execution.ts +229 -0
- package/_standalone/components/renderers/workflow-yaml/index.ts +6 -0
- package/_standalone/components/renderers/workflow-yaml/parser.ts +172 -0
- package/_standalone/components/renderers/workflow-yaml/selectors.tsx +574 -0
- package/_standalone/components/renderers/workflow-yaml/serializer.ts +56 -0
- package/_standalone/components/renderers/workflow-yaml/types.ts +46 -0
- package/_standalone/components/settings/AiTab.tsx +610 -0
- package/_standalone/components/settings/AppearanceTab.tsx +268 -0
- package/_standalone/components/settings/CustomProviderFields.tsx +121 -0
- package/_standalone/components/settings/CustomProvidersCard.tsx +157 -0
- package/_standalone/components/settings/DesktopUpdateCards.tsx +517 -0
- package/_standalone/components/settings/KnowledgeTab.tsx +719 -0
- package/_standalone/components/settings/McpAgentInstall.tsx +280 -0
- package/_standalone/components/settings/McpConnectGuides.tsx +439 -0
- package/_standalone/components/settings/McpExternalTools.tsx +252 -0
- package/_standalone/components/settings/McpPortSection.tsx +207 -0
- package/_standalone/components/settings/McpSkillCreateForm.tsx +177 -0
- package/_standalone/components/settings/McpSkillRow.tsx +144 -0
- package/_standalone/components/settings/McpSkillsSection.tsx +460 -0
- package/_standalone/components/settings/McpTab.tsx +310 -0
- package/_standalone/components/settings/MonitoringTab.tsx +202 -0
- package/_standalone/components/settings/PluginsTab.tsx +75 -0
- package/_standalone/components/settings/Primitives.tsx +325 -0
- package/_standalone/components/settings/ProviderModal.tsx +87 -0
- package/_standalone/components/settings/SettingsContent.tsx +437 -0
- package/_standalone/components/settings/ShortcutsTab.tsx +20 -0
- package/_standalone/components/settings/SyncEmptyState.tsx +233 -0
- package/_standalone/components/settings/SyncTab.tsx +556 -0
- package/_standalone/components/settings/TestButton.tsx +65 -0
- package/_standalone/components/settings/UninstallTab.tsx +169 -0
- package/_standalone/components/settings/UpdateTab.tsx +362 -0
- package/_standalone/components/settings/WebPortSection.tsx +263 -0
- package/_standalone/components/settings/types.ts +210 -0
- package/_standalone/components/settings/useCustomProviderForm.ts +186 -0
- package/_standalone/components/setup/StepAI.tsx +217 -0
- package/_standalone/components/setup/StepAgents.tsx +324 -0
- package/_standalone/components/setup/StepDots.tsx +51 -0
- package/_standalone/components/setup/StepKB.tsx +263 -0
- package/_standalone/components/setup/StepPorts.tsx +121 -0
- package/_standalone/components/setup/StepReview.tsx +414 -0
- package/_standalone/components/setup/StepSecurity.tsx +77 -0
- package/_standalone/components/setup/constants.tsx +14 -0
- package/_standalone/components/setup/types.ts +61 -0
- package/_standalone/components/shared/ModelInput.tsx +220 -0
- package/_standalone/components/shared/ProviderSelect.tsx +225 -0
- package/_standalone/components/ui/button.tsx +60 -0
- package/_standalone/components/ui/dialog.tsx +157 -0
- package/_standalone/components/ui/input.tsx +20 -0
- package/_standalone/components/ui/scroll-area.tsx +55 -0
- package/_standalone/components/ui/toggle.tsx +44 -0
- package/_standalone/components/walkthrough/WalkthroughOverlay.tsx +266 -0
- package/_standalone/components/walkthrough/WalkthroughTooltip.tsx +131 -0
- package/_standalone/components/walkthrough/index.ts +3 -0
- package/_standalone/components/walkthrough/steps.ts +23 -0
- package/_standalone/components.json +25 -0
- package/_standalone/eslint.config.mjs +18 -0
- package/_standalone/hooks/useA2aRegistry.ts +58 -0
- package/_standalone/hooks/useAcpConfig.ts +96 -0
- package/_standalone/hooks/useAcpDetection.ts +126 -0
- package/_standalone/hooks/useAcpRegistry.ts +86 -0
- package/_standalone/hooks/useAiOrganize.ts +464 -0
- package/_standalone/hooks/useAskChat.ts +339 -0
- package/_standalone/hooks/useAskModal.ts +51 -0
- package/_standalone/hooks/useAskPanel.ts +164 -0
- package/_standalone/hooks/useAskSession.ts +310 -0
- package/_standalone/hooks/useComposerVerticalResize.ts +74 -0
- package/_standalone/hooks/useDelegationHistory.ts +49 -0
- package/_standalone/hooks/useEditorImageUpload.ts +113 -0
- package/_standalone/hooks/useFileImport.ts +233 -0
- package/_standalone/hooks/useFileUpload.ts +206 -0
- package/_standalone/hooks/useImageUpload.ts +153 -0
- package/_standalone/hooks/useLeftPanel.ts +81 -0
- package/_standalone/hooks/useMention.ts +108 -0
- package/_standalone/hooks/useResizeDrag.ts +84 -0
- package/_standalone/hooks/useSettingsAiAvailable.ts +35 -0
- package/_standalone/hooks/useSlashCommand.ts +128 -0
- package/_standalone/instrumentation.ts +60 -0
- package/_standalone/lib/a2a/index.ts +31 -0
- package/_standalone/lib/acp/bridge.ts +144 -0
- package/_standalone/lib/acp/index.ts +38 -0
- package/_standalone/lib/acp/types.ts +247 -0
- package/_standalone/lib/agent/diff-worker.ts +51 -0
- package/_standalone/lib/agent/file-context.ts +116 -0
- package/_standalone/lib/agent/index.ts +8 -0
- package/_standalone/lib/agent/stream-consumer.ts +231 -0
- package/_standalone/lib/api/request-utils.ts +57 -0
- package/_standalone/lib/api.ts +83 -0
- package/_standalone/lib/ask-agent.ts +46 -0
- package/_standalone/lib/clipboard.ts +29 -0
- package/_standalone/lib/config/animation.ts +76 -0
- package/_standalone/lib/config/icon-scale.ts +35 -0
- package/_standalone/lib/config/panel-sizes.ts +58 -0
- package/_standalone/lib/core/types.ts +53 -0
- package/_standalone/lib/daily-echo/aggregator.ts +149 -0
- package/_standalone/lib/daily-echo/ask-llm.ts +77 -0
- package/_standalone/lib/daily-echo/config.ts +72 -0
- package/_standalone/lib/daily-echo/generator.ts +192 -0
- package/_standalone/lib/daily-echo/prompts.ts +200 -0
- package/_standalone/lib/daily-echo/snapshot.ts +19 -0
- package/_standalone/lib/daily-echo/types.ts +340 -0
- package/_standalone/lib/db/daily-echo-db.ts +194 -0
- package/_standalone/lib/echo-insight-prompt.ts +38 -0
- package/_standalone/lib/hooks/useDirectoryDragDrop.ts +94 -0
- package/_standalone/lib/hooks/useFocusTrap.ts +65 -0
- package/_standalone/lib/hooks/usePinnedFiles.ts +95 -0
- package/_standalone/lib/i18n/_core.ts +22 -0
- package/_standalone/lib/im/adapters/dingtalk.ts +210 -0
- package/_standalone/lib/im/adapters/discord.ts +128 -0
- package/_standalone/lib/im/adapters/feishu.ts +248 -0
- package/_standalone/lib/im/adapters/qq.ts +176 -0
- package/_standalone/lib/im/adapters/slack.ts +150 -0
- package/_standalone/lib/im/adapters/telegram.ts +156 -0
- package/_standalone/lib/im/adapters/wechat.ts +127 -0
- package/_standalone/lib/im/adapters/wecom.ts +160 -0
- package/_standalone/lib/im/index.ts +122 -0
- package/_standalone/lib/im/platforms.ts +152 -0
- package/_standalone/lib/image.ts +47 -0
- package/_standalone/lib/inbox-upload.ts +260 -0
- package/_standalone/lib/mcp-snippets.ts +107 -0
- package/_standalone/lib/obsidian-compat/command-registry.ts +85 -0
- package/_standalone/lib/obsidian-compat/component.ts +84 -0
- package/_standalone/lib/obsidian-compat/errors.ts +27 -0
- package/_standalone/lib/obsidian-compat/events.ts +50 -0
- package/_standalone/lib/obsidian-compat/index.ts +18 -0
- package/_standalone/lib/obsidian-compat/loader.ts +225 -0
- package/_standalone/lib/obsidian-compat/manifest.ts +90 -0
- package/_standalone/lib/obsidian-compat/plugin-manager.ts +149 -0
- package/_standalone/lib/obsidian-compat/shims/app.ts +74 -0
- package/_standalone/lib/obsidian-compat/shims/metadata-cache.ts +125 -0
- package/_standalone/lib/obsidian-compat/shims/obsidian.ts +25 -0
- package/_standalone/lib/obsidian-compat/shims/plugin.ts +111 -0
- package/_standalone/lib/obsidian-compat/shims/settings.ts +173 -0
- package/_standalone/lib/obsidian-compat/shims/ui.ts +73 -0
- package/_standalone/lib/obsidian-compat/shims/vault.ts +247 -0
- package/_standalone/lib/obsidian-compat/types.ts +197 -0
- package/_standalone/lib/organize-history.ts +80 -0
- package/_standalone/lib/parsing/parse-todos.ts +325 -0
- package/_standalone/lib/pdf-extract.ts +37 -0
- package/_standalone/lib/pi-integration/session-store.ts +62 -0
- package/_standalone/lib/renderers/useRendererState.ts +114 -0
- package/_standalone/lib/settings-ai-client.ts +36 -0
- package/_standalone/lib/space-ai-init.ts +66 -0
- package/_standalone/lib/stores/McpStoreInit.tsx +18 -0
- package/_standalone/lib/stores/WalkthroughInit.tsx +20 -0
- package/_standalone/lib/stores/hidden-files.ts +43 -0
- package/_standalone/lib/stores/locale-store.ts +69 -0
- package/_standalone/lib/stores/mcp-store.ts +166 -0
- package/_standalone/lib/stores/walkthrough-store.ts +150 -0
- package/_standalone/lib/toast.ts +85 -0
- package/_standalone/lib/utils.ts +45 -0
- package/_standalone/next-env.d.ts +6 -0
- package/_standalone/next.config.ts +68 -0
- package/_standalone/package-lock.json +18664 -0
- package/_standalone/package.json +106 -0
- package/_standalone/postcss.config.mjs +7 -0
- package/_standalone/proxy.ts +88 -0
- package/_standalone/public/file.svg +1 -0
- package/_standalone/public/globe.svg +1 -0
- package/_standalone/public/icons/icon-192.png +0 -0
- package/_standalone/public/icons/icon-512.png +0 -0
- package/_standalone/public/logo-square.svg +37 -0
- package/_standalone/public/logo.svg +37 -0
- package/_standalone/public/manifest.json +26 -0
- package/_standalone/public/next.svg +1 -0
- package/_standalone/public/sw.js +66 -0
- package/_standalone/public/vercel.svg +1 -0
- package/_standalone/public/window.svg +1 -0
- package/_standalone/scripts/extract-pdf.cjs +163 -0
- package/_standalone/scripts/feishu-long-connection.ts +32 -0
- package/_standalone/scripts/generate-explore.ts +145 -0
- package/_standalone/server.js +38 -0
- package/_standalone/tsconfig.json +34 -0
- package/_standalone/tsconfig.tsbuildinfo +1 -0
- package/_standalone/types/semver.d.ts +8 -0
- package/_standalone/vitest.config.ts +14 -0
- package/app/__tests__/agent/provider-presets.test.ts +32 -0
- package/app/__tests__/api/im-config-feishu-conversation.test.ts +39 -0
- package/app/__tests__/api/im-webhook-feishu.test.ts +21 -12
- package/app/__tests__/api/pi-subagents.test.ts +81 -0
- package/app/__tests__/ask/file-chip-variants.test.tsx +18 -0
- package/app/__tests__/ask/message-list-agent-attribution.test.tsx +2 -0
- package/app/__tests__/im/feishu-dispatcher.test.ts +151 -0
- package/app/__tests__/im/feishu-webhook.test.ts +85 -57
- package/app/__tests__/im/feishu-ws-client.test.ts +91 -0
- package/app/__tests__/settings/custom-provider-form.test.ts +30 -0
- package/app/app/api/ask/route.ts +2 -0
- package/app/app/api/im/config/route.ts +2 -0
- package/app/app/api/im/webhook/feishu/route.ts +4 -2
- package/app/components/ask/FileChip.tsx +1 -1
- package/app/components/ask/MessageList.tsx +2 -2
- package/app/components/settings/CustomProviderFields.tsx +1 -1
- package/app/components/settings/CustomProvidersCard.tsx +3 -0
- package/app/components/settings/useCustomProviderForm.ts +78 -24
- package/app/components/shared/ProviderSelect.tsx +6 -5
- package/app/lib/agent/providers.ts +44 -6
- package/app/lib/im/feishu-dispatcher.ts +111 -0
- package/app/lib/im/feishu-ws-client.ts +72 -0
- package/app/lib/im/types.ts +14 -0
- package/app/lib/im/webhook/feishu.ts +44 -55
- package/app/next-env.d.ts +1 -1
- package/app/next.config.ts +28 -4
- package/app/package.json +3 -1
- package/app/scripts/feishu-long-connection.ts +32 -0
- package/bin/cli.js +3 -1
- package/bin/commands/feishu-ws.js +39 -0
- package/package.json +1 -1
- package/scripts/build-runtime-archive.sh +36 -2
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3798],{33829:(e,t,n)=>{let i,r,l,o;n.d(t,{HL:()=>eb,M4:()=>rA,ce:()=>eO,eD:()=>eD});var s,a,u,p,d,c,h,f,m,g,y,E,I,_,v,T,A,C,S,O,b,R,N,P,w,D,M,U,G,x,L,k,q,H,F,j,V,B,J,K,Y,$,W,z,X,Q,Z,ee,et,en,ei,er,el,eo,es,ea,eu,ep,ed,ec,eh,ef,em,eg,ey,eE,eI,e_,ev,eT,eA,eC,eS,eO,eb,eR,eN,eP,ew,eD,eM,eU,eG,ex,eL,ek,eq,eH,eF,ej,eV,eB,eJ,eK,eY,e$,eW,ez,eX,eQ,eZ,e0,e1,e2,e4,e5,e9,e3,e8,e6,e7,te,tt,tn,ti,tr,tl,to,ts,ta,tu,tp,td,tc,th,tf,tm,tg=n(79411);class ty{}function tE(e,t){return e.replace(/\{([^}]+)\}/g,(e,n)=>{if(Object.prototype.hasOwnProperty.call(t,n)){let e=t[n];return null!=e?String(e):""}throw Error(`Key '${n}' not found in valueMap.`)})}function tI(e,t,n){for(let i=0;i<t.length-1;i++){let r=t[i];if(r.endsWith("[]")){let l=r.slice(0,-2);if(!(l in e))if(Array.isArray(n))e[l]=Array.from({length:n.length},()=>({}));else throw Error(`Value must be a list given an array path ${r}`);if(Array.isArray(e[l])){let r=e[l];if(Array.isArray(n))for(let e=0;e<r.length;e++)tI(r[e],t.slice(i+1),n[e]);else for(let e of r)tI(e,t.slice(i+1),n)}return}if(r.endsWith("[0]")){let l=r.slice(0,-3);l in e||(e[l]=[{}]),tI(e[l][0],t.slice(i+1),n);return}e[r]&&"object"==typeof e[r]||(e[r]={}),e=e[r]}let i=t[t.length-1],r=e[i];if(void 0!==r){if(!n||"object"==typeof n&&0===Object.keys(n).length||n===r)return;if("object"==typeof r&&"object"==typeof n&&null!==r&&null!==n)Object.assign(r,n);else throw Error(`Cannot set value for an existing key. Key: ${i}`)}else"_self"!==i||"object"!=typeof n||null===n||Array.isArray(n)?e[i]=n:Object.assign(e,n)}function t_(e,t,n){try{if(1===t.length&&"_self"===t[0])return e;for(let i=0;i<t.length;i++){if("object"!=typeof e||null===e)return n;let r=t[i];if(r.endsWith("[]")){let l=r.slice(0,-2);if(!(l in e))return n;{let r=e[l];if(!Array.isArray(r))return n;return r.map(e=>t_(e,t.slice(i+1),n))}}e=e[r]}return e}catch(e){if(e instanceof TypeError)return n;throw e}}function tv(e){if("string"!=typeof e)throw Error("fromImageBytes must be a string");return e}function tT(e){var t;let n,i,r,l,o={},s=t_(e,["name"]);null!=s&&tI(o,["name"],s);let a=t_(e,["metadata"]);null!=a&&tI(o,["metadata"],a);let u=t_(e,["done"]);null!=u&&tI(o,["done"],u);let p=t_(e,["error"]);null!=p&&tI(o,["error"],p);let d=t_(e,["response"]);return null!=d&&tI(o,["response"],(n={},null!=(i=t_(t=d,["sdkHttpResponse"]))&&tI(n,["sdkHttpResponse"],i),null!=(r=t_(t,["parent"]))&&tI(n,["parent"],r),null!=(l=t_(t,["documentName"]))&&tI(n,["documentName"],l),n)),o}(s=eg||(eg={})).LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",s.PYTHON="PYTHON",(a=ey||(ey={})).OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",a.OUTCOME_OK="OUTCOME_OK",a.OUTCOME_FAILED="OUTCOME_FAILED",a.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED",(u=eE||(eE={})).SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",u.SILENT="SILENT",u.WHEN_IDLE="WHEN_IDLE",u.INTERRUPT="INTERRUPT",(p=eI||(eI={})).TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",p.STRING="STRING",p.NUMBER="NUMBER",p.INTEGER="INTEGER",p.BOOLEAN="BOOLEAN",p.ARRAY="ARRAY",p.OBJECT="OBJECT",p.NULL="NULL",(d=e_||(e_={})).PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",d.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",d.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",d.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",d.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",d.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",d.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH",(c=ev||(ev={})).AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",c.NO_AUTH="NO_AUTH",c.API_KEY_AUTH="API_KEY_AUTH",c.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",c.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",c.OAUTH="OAUTH",c.OIDC_AUTH="OIDC_AUTH",(h=eT||(eT={})).HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",h.HTTP_IN_QUERY="HTTP_IN_QUERY",h.HTTP_IN_HEADER="HTTP_IN_HEADER",h.HTTP_IN_PATH="HTTP_IN_PATH",h.HTTP_IN_BODY="HTTP_IN_BODY",h.HTTP_IN_COOKIE="HTTP_IN_COOKIE",(f=eA||(eA={})).API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",f.SIMPLE_SEARCH="SIMPLE_SEARCH",f.ELASTIC_SEARCH="ELASTIC_SEARCH",(m=eC||(eC={})).UNSPECIFIED="UNSPECIFIED",m.BLOCKING="BLOCKING",m.NON_BLOCKING="NON_BLOCKING",(g=eS||(eS={})).MODE_UNSPECIFIED="MODE_UNSPECIFIED",g.MODE_DYNAMIC="MODE_DYNAMIC",(y=eO||(eO={})).MODE_UNSPECIFIED="MODE_UNSPECIFIED",y.AUTO="AUTO",y.ANY="ANY",y.NONE="NONE",y.VALIDATED="VALIDATED",(E=eb||(eb={})).THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",E.LOW="LOW",E.MEDIUM="MEDIUM",E.HIGH="HIGH",E.MINIMAL="MINIMAL",(I=eR||(eR={})).DONT_ALLOW="DONT_ALLOW",I.ALLOW_ADULT="ALLOW_ADULT",I.ALLOW_ALL="ALLOW_ALL",(_=eN||(eN={})).HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",_.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",_.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",_.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",_.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",_.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",_.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",_.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",_.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",_.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",_.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK",(v=eP||(eP={})).HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",v.SEVERITY="SEVERITY",v.PROBABILITY="PROBABILITY",(T=ew||(ew={})).HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",T.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",T.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",T.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",T.BLOCK_NONE="BLOCK_NONE",T.OFF="OFF",(A=eD||(eD={})).FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",A.STOP="STOP",A.MAX_TOKENS="MAX_TOKENS",A.SAFETY="SAFETY",A.RECITATION="RECITATION",A.LANGUAGE="LANGUAGE",A.OTHER="OTHER",A.BLOCKLIST="BLOCKLIST",A.PROHIBITED_CONTENT="PROHIBITED_CONTENT",A.SPII="SPII",A.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",A.IMAGE_SAFETY="IMAGE_SAFETY",A.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",A.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",A.NO_IMAGE="NO_IMAGE",A.IMAGE_RECITATION="IMAGE_RECITATION",A.IMAGE_OTHER="IMAGE_OTHER",(C=eM||(eM={})).HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",C.NEGLIGIBLE="NEGLIGIBLE",C.LOW="LOW",C.MEDIUM="MEDIUM",C.HIGH="HIGH",(S=eU||(eU={})).HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",S.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",S.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",S.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",S.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH",(O=eG||(eG={})).URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",O.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",O.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",O.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",O.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE",(b=ex||(ex={})).BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",b.SAFETY="SAFETY",b.OTHER="OTHER",b.BLOCKLIST="BLOCKLIST",b.PROHIBITED_CONTENT="PROHIBITED_CONTENT",b.IMAGE_SAFETY="IMAGE_SAFETY",b.MODEL_ARMOR="MODEL_ARMOR",b.JAILBREAK="JAILBREAK",(R=eL||(eL={})).TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",R.ON_DEMAND="ON_DEMAND",R.ON_DEMAND_PRIORITY="ON_DEMAND_PRIORITY",R.ON_DEMAND_FLEX="ON_DEMAND_FLEX",R.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT",(N=ek||(ek={})).MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",N.TEXT="TEXT",N.IMAGE="IMAGE",N.AUDIO="AUDIO",(P=eq||(eq={})).MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",P.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",P.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",P.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",(w=eH||(eH={})).TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",w.TUNING_MODE_FULL="TUNING_MODE_FULL",w.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER",(D=eF||(eF={})).ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",D.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",D.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",D.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",D.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",D.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",D.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO",(M=ej||(ej={})).JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",M.JOB_STATE_QUEUED="JOB_STATE_QUEUED",M.JOB_STATE_PENDING="JOB_STATE_PENDING",M.JOB_STATE_RUNNING="JOB_STATE_RUNNING",M.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",M.JOB_STATE_FAILED="JOB_STATE_FAILED",M.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",M.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",M.JOB_STATE_PAUSED="JOB_STATE_PAUSED",M.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",M.JOB_STATE_UPDATING="JOB_STATE_UPDATING",M.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED",(U=eV||(eV={})).TUNING_JOB_STATE_UNSPECIFIED="TUNING_JOB_STATE_UNSPECIFIED",U.TUNING_JOB_STATE_WAITING_FOR_QUOTA="TUNING_JOB_STATE_WAITING_FOR_QUOTA",U.TUNING_JOB_STATE_PROCESSING_DATASET="TUNING_JOB_STATE_PROCESSING_DATASET",U.TUNING_JOB_STATE_WAITING_FOR_CAPACITY="TUNING_JOB_STATE_WAITING_FOR_CAPACITY",U.TUNING_JOB_STATE_TUNING="TUNING_JOB_STATE_TUNING",U.TUNING_JOB_STATE_POST_PROCESSING="TUNING_JOB_STATE_POST_PROCESSING",(G=eB||(eB={})).AGGREGATION_METRIC_UNSPECIFIED="AGGREGATION_METRIC_UNSPECIFIED",G.AVERAGE="AVERAGE",G.MODE="MODE",G.STANDARD_DEVIATION="STANDARD_DEVIATION",G.VARIANCE="VARIANCE",G.MINIMUM="MINIMUM",G.MAXIMUM="MAXIMUM",G.MEDIAN="MEDIAN",G.PERCENTILE_P90="PERCENTILE_P90",G.PERCENTILE_P95="PERCENTILE_P95",G.PERCENTILE_P99="PERCENTILE_P99",(x=eJ||(eJ={})).PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",x.BASELINE="BASELINE",x.CANDIDATE="CANDIDATE",x.TIE="TIE",(L=eK||(eK={})).TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",L.TUNING_TASK_I2V="TUNING_TASK_I2V",L.TUNING_TASK_T2V="TUNING_TASK_T2V",L.TUNING_TASK_R2V="TUNING_TASK_R2V",(k=eY||(eY={})).MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",k.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",k.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",k.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",k.MEDIA_RESOLUTION_ULTRA_HIGH="MEDIA_RESOLUTION_ULTRA_HIGH",(q=e$||(e$={})).TOOL_TYPE_UNSPECIFIED="TOOL_TYPE_UNSPECIFIED",q.GOOGLE_SEARCH_WEB="GOOGLE_SEARCH_WEB",q.GOOGLE_SEARCH_IMAGE="GOOGLE_SEARCH_IMAGE",q.URL_CONTEXT="URL_CONTEXT",q.GOOGLE_MAPS="GOOGLE_MAPS",q.FILE_SEARCH="FILE_SEARCH",(eW||(eW={})).COLLECTION="COLLECTION",(H=ez||(ez={})).FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",H.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",H.BALANCED="BALANCED",H.PRIORITIZE_COST="PRIORITIZE_COST",(F=eX||(eX={})).ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",F.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER",(j=eQ||(eQ={})).PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",j.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",j.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE",(V=eZ||(eZ={})).PREDICT="PREDICT",V.EMBED_CONTENT="EMBED_CONTENT",(B=e0||(e0={})).BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",B.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",B.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",B.BLOCK_NONE="BLOCK_NONE",(J=e1||(e1={})).auto="auto",J.en="en",J.ja="ja",J.ko="ko",J.hi="hi",J.zh="zh",J.pt="pt",J.es="es",(K=e2||(e2={})).MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",K.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",K.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",K.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",K.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC",(Y=e4||(e4={})).CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",Y.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",Y.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",Y.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH",($=e5||(e5={})).SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",$.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",$.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",$.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT",(W=e9||(e9={})).EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",W.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",W.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",W.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",W.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",W.EDIT_MODE_STYLE="EDIT_MODE_STYLE",W.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",W.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE",(z=e3||(e3={})).FOREGROUND="FOREGROUND",z.BACKGROUND="BACKGROUND",z.PROMPT="PROMPT",z.SEMANTIC="SEMANTIC",z.INTERACTIVE="INTERACTIVE",(X=e8||(e8={})).ASSET="ASSET",X.STYLE="STYLE",(Q=e6||(e6={})).INSERT="INSERT",Q.REMOVE="REMOVE",Q.REMOVE_STATIC="REMOVE_STATIC",Q.OUTPAINT="OUTPAINT",(Z=e7||(e7={})).OPTIMIZED="OPTIMIZED",Z.LOSSLESS="LOSSLESS",(ee=te||(te={})).SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",ee.PREFERENCE_TUNING="PREFERENCE_TUNING",ee.DISTILLATION="DISTILLATION",(et=tt||(tt={})).STATE_UNSPECIFIED="STATE_UNSPECIFIED",et.STATE_PENDING="STATE_PENDING",et.STATE_ACTIVE="STATE_ACTIVE",et.STATE_FAILED="STATE_FAILED",(en=tn||(tn={})).STATE_UNSPECIFIED="STATE_UNSPECIFIED",en.PROCESSING="PROCESSING",en.ACTIVE="ACTIVE",en.FAILED="FAILED",(ei=ti||(ti={})).SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",ei.UPLOADED="UPLOADED",ei.GENERATED="GENERATED",ei.REGISTERED="REGISTERED",(er=tr||(tr={})).TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",er.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",er.RESPONSE_REJECTED="RESPONSE_REJECTED",er.NEED_MORE_INPUT="NEED_MORE_INPUT",(el=tl||(tl={})).MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",el.TEXT="TEXT",el.IMAGE="IMAGE",el.VIDEO="VIDEO",el.AUDIO="AUDIO",el.DOCUMENT="DOCUMENT",(eo=to||(to={})).VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",eo.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",eo.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS",(es=ts||(ts={})).TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",es.ACTIVITY_START="ACTIVITY_START",es.ACTIVITY_END="ACTIVITY_END",(ea=ta||(ta={})).START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",ea.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",ea.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW",(eu=tu||(tu={})).END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",eu.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",eu.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW",(ep=tp||(tp={})).ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",ep.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",ep.NO_INTERRUPTION="NO_INTERRUPTION",(ed=td||(td={})).TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",ed.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",ed.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT",(ec=tc||(tc={})).SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",ec.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",ec.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",ec.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",ec.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",ec.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",ec.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",ec.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",ec.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",ec.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",ec.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",ec.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",ec.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR",(eh=th||(th={})).MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",eh.QUALITY="QUALITY",eh.DIVERSITY="DIVERSITY",eh.VOCALIZATION="VOCALIZATION",(ef=tf||(tf={})).PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",ef.PLAY="PLAY",ef.PAUSE="PAUSE",ef.STOP="STOP",ef.RESET_CONTEXT="RESET_CONTEXT";class tA{constructor(e){const t={};for(const n of e.headers.entries())t[n[0]]=n[1];this.headers=t,this.responseInternal=e}json(){return this.responseInternal.json()}}class tC{get text(){var e,t,n,i,r,l,o,s;if((null==(i=null==(n=null==(t=null==(e=this.candidates)?void 0:e[0])?void 0:t.content)?void 0:n.parts)?void 0:i.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let a="",u=!1,p=[];for(let e of null!=(s=null==(o=null==(l=null==(r=this.candidates)?void 0:r[0])?void 0:l.content)?void 0:o.parts)?s:[]){for(let[t,n]of Object.entries(e))"text"!==t&&"thought"!==t&&"thoughtSignature"!==t&&(null!==n||void 0!==n)&&p.push(t);if("string"==typeof e.text){if("boolean"==typeof e.thought&&e.thought)continue;u=!0,a+=e.text}}return p.length>0&&console.warn(`there are non-text parts ${p} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),u?a:void 0}get data(){var e,t,n,i,r,l,o,s;if((null==(i=null==(n=null==(t=null==(e=this.candidates)?void 0:e[0])?void 0:t.content)?void 0:n.parts)?void 0:i.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let a="",u=[];for(let e of null!=(s=null==(o=null==(l=null==(r=this.candidates)?void 0:r[0])?void 0:l.content)?void 0:o.parts)?s:[]){for(let[t,n]of Object.entries(e))"inlineData"!==t&&(null!==n||void 0!==n)&&u.push(t);e.inlineData&&"string"==typeof e.inlineData.data&&(a+=atob(e.inlineData.data))}return u.length>0&&console.warn(`there are non-data parts ${u} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),a.length>0?btoa(a):void 0}get functionCalls(){var e,t,n,i,r,l,o,s;if((null==(i=null==(n=null==(t=null==(e=this.candidates)?void 0:e[0])?void 0:t.content)?void 0:n.parts)?void 0:i.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");let a=null==(s=null==(o=null==(l=null==(r=this.candidates)?void 0:r[0])?void 0:l.content)?void 0:o.parts)?void 0:s.filter(e=>e.functionCall).map(e=>e.functionCall).filter(e=>void 0!==e);if((null==a?void 0:a.length)!==0)return a}get executableCode(){var e,t,n,i,r,l,o,s,a;if((null==(i=null==(n=null==(t=null==(e=this.candidates)?void 0:e[0])?void 0:t.content)?void 0:n.parts)?void 0:i.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");let u=null==(s=null==(o=null==(l=null==(r=this.candidates)?void 0:r[0])?void 0:l.content)?void 0:o.parts)?void 0:s.filter(e=>e.executableCode).map(e=>e.executableCode).filter(e=>void 0!==e);if((null==u?void 0:u.length)!==0)return null==(a=null==u?void 0:u[0])?void 0:a.code}get codeExecutionResult(){var e,t,n,i,r,l,o,s,a;if((null==(i=null==(n=null==(t=null==(e=this.candidates)?void 0:e[0])?void 0:t.content)?void 0:n.parts)?void 0:i.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let u=null==(s=null==(o=null==(l=null==(r=this.candidates)?void 0:r[0])?void 0:l.content)?void 0:o.parts)?void 0:s.filter(e=>e.codeExecutionResult).map(e=>e.codeExecutionResult).filter(e=>void 0!==e);if((null==u?void 0:u.length)!==0)return null==(a=null==u?void 0:u[0])?void 0:a.output}}class tS{}class tO{}class tb{}class tR{}class tN{}class tP{}class tw{}class tD{}class tM{}class tU{}class tG{_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let n,i=new tG;if(t){let t,i,r,l,o,s;t={},null!=(i=t_(e,["name"]))&&tI(t,["name"],i),null!=(r=t_(e,["metadata"]))&&tI(t,["metadata"],r),null!=(l=t_(e,["done"]))&&tI(t,["done"],l),null!=(o=t_(e,["error"]))&&tI(t,["error"],o),null!=(s=t_(e,["response"]))&&tI(t,["response"],function(e){let t={},n=t_(e,["videos"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s;return n={},null!=(i=t_(e,["_self"]))&&tI(n,["video"],(r={},null!=(l=t_(t=i,["gcsUri"]))&&tI(r,["uri"],l),null!=(o=t_(t,["bytesBase64Encoded"]))&&tI(r,["videoBytes"],tv(o)),null!=(s=t_(t,["mimeType"]))&&tI(r,["mimeType"],s),r)),n})),tI(t,["generatedVideos"],e)}let i=t_(e,["raiMediaFilteredCount"]);null!=i&&tI(t,["raiMediaFilteredCount"],i);let r=t_(e,["raiMediaFilteredReasons"]);return null!=r&&tI(t,["raiMediaFilteredReasons"],r),t}(s)),n=t}else{let t,i,r,l,o,s;t={},null!=(i=t_(e,["name"]))&&tI(t,["name"],i),null!=(r=t_(e,["metadata"]))&&tI(t,["metadata"],r),null!=(l=t_(e,["done"]))&&tI(t,["done"],l),null!=(o=t_(e,["error"]))&&tI(t,["error"],o),null!=(s=t_(e,["response","generateVideoResponse"]))&&tI(t,["response"],function(e){let t={},n=t_(e,["generatedSamples"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s;return n={},null!=(i=t_(e,["video"]))&&tI(n,["video"],(r={},null!=(l=t_(t=i,["uri"]))&&tI(r,["uri"],l),null!=(o=t_(t,["encodedVideo"]))&&tI(r,["videoBytes"],tv(o)),null!=(s=t_(t,["encoding"]))&&tI(r,["mimeType"],s),r)),n})),tI(t,["generatedVideos"],e)}let i=t_(e,["raiMediaFilteredCount"]);null!=i&&tI(t,["raiMediaFilteredCount"],i);let r=t_(e,["raiMediaFilteredReasons"]);return null!=r&&tI(t,["raiMediaFilteredReasons"],r),t}(s)),n=t}return Object.assign(i,n),i}}class tx{}class tL{}class tk{}class tq{}class tH{}class tF{}class tj{}class tV{_fromAPIResponse({apiResponse:e,_isVertexAI:t}){var n;let i,r,l,o,s,a,u,p,d,c,h=new tV;return Object.assign(h,(s={},null!=(a=t_(e,["name"]))&&tI(s,["name"],a),null!=(u=t_(e,["metadata"]))&&tI(s,["metadata"],u),null!=(p=t_(e,["done"]))&&tI(s,["done"],p),null!=(d=t_(e,["error"]))&&tI(s,["error"],d),null!=(c=t_(e,["response"]))&&tI(s,["response"],(i={},null!=(r=t_(n=c,["sdkHttpResponse"]))&&tI(i,["sdkHttpResponse"],r),null!=(l=t_(n,["parent"]))&&tI(i,["parent"],l),null!=(o=t_(n,["documentName"]))&&tI(i,["documentName"],o),i)),s)),h}}class tB{}class tJ{}class tK{}class tY{}class t${}class tW{get text(){var e,t,n;let i="",r=!1,l=[];for(let o of null!=(n=null==(t=null==(e=this.serverContent)?void 0:e.modelTurn)?void 0:t.parts)?n:[]){for(let[e,t]of Object.entries(o))"text"!==e&&"thought"!==e&&null!==t&&l.push(e);if("string"==typeof o.text){if("boolean"==typeof o.thought&&o.thought)continue;r=!0,i+=o.text}}return l.length>0&&console.warn(`there are non-text parts ${l} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),r?i:void 0}get data(){var e,t,n;let i="",r=[];for(let l of null!=(n=null==(t=null==(e=this.serverContent)?void 0:e.modelTurn)?void 0:t.parts)?n:[]){for(let[e,t]of Object.entries(l))"inlineData"!==e&&null!==t&&r.push(e);l.inlineData&&"string"==typeof l.inlineData.data&&(i+=atob(l.inlineData.data))}return r.length>0&&console.warn(`there are non-data parts ${r} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),i.length>0?btoa(i):void 0}}class tz{get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0]}}class tX{_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let n=new tX;return Object.assign(n,tT(e)),n}}function tQ(e,t){if(!t||"string"!=typeof t)throw Error("model is required and must be a string");if(t.includes("..")||t.includes("?")||t.includes("&"))throw Error("invalid model parameter");if(e.isVertexAI())if(t.startsWith("publishers/")||t.startsWith("projects/")||t.startsWith("models/"))return t;else{if(!(t.indexOf("/")>=0))return`publishers/google/models/${t}`;let e=t.split("/",2);return`publishers/${e[0]}/models/${e[1]}`}return t.startsWith("models/")||t.startsWith("tunedModels/")?t:`models/${t}`}function tZ(e,t){let n=tQ(e,t);return n?n.startsWith("publishers/")&&e.isVertexAI()?`projects/${e.getProject()}/locations/${e.getLocation()}/${n}`:n.startsWith("models/")&&e.isVertexAI()?`projects/${e.getProject()}/locations/${e.getLocation()}/publishers/google/${n}`:n:""}function t0(e){return Array.isArray(e)?e.map(e=>t1(e)):[t1(e)]}function t1(e){if("object"==typeof e&&null!==e)return e;throw Error(`Could not parse input as Blob. Unsupported blob type: ${typeof e}`)}function t2(e){let t=t1(e);if(t.mimeType&&t.mimeType.startsWith("image/"))return t;throw Error(`Unsupported mime type: ${t.mimeType}`)}function t4(e){let t=t1(e);if(t.mimeType&&t.mimeType.startsWith("audio/"))return t;throw Error(`Unsupported mime type: ${t.mimeType}`)}function t5(e){if(null==e)throw Error("PartUnion is required");if("object"==typeof e)return e;if("string"==typeof e)return{text:e};throw Error(`Unsupported part type: ${typeof e}`)}function t9(e){if(null==e||Array.isArray(e)&&0===e.length)throw Error("PartListUnion is required");return Array.isArray(e)?e.map(e=>t5(e)):[t5(e)]}function t3(e){return null!=e&&"object"==typeof e&&"parts"in e&&Array.isArray(e.parts)}function t8(e){return null!=e&&"object"==typeof e&&"functionCall"in e}function t6(e){return null!=e&&"object"==typeof e&&"functionResponse"in e}function t7(e){if(null==e)throw Error("ContentUnion is required");return t3(e)?e:{role:"user",parts:t9(e)}}function ne(e,t){if(!t)return[];if(e.isVertexAI()&&Array.isArray(t))return t.flatMap(e=>{let t=t7(e);return t.parts&&t.parts.length>0&&void 0!==t.parts[0].text?[t.parts[0].text]:[]});if(e.isVertexAI()){let e=t7(t);return e.parts&&e.parts.length>0&&void 0!==e.parts[0].text?[e.parts[0].text]:[]}return Array.isArray(t)?t.map(e=>t7(e)):[t7(t)]}function nt(e){if(null==e||Array.isArray(e)&&0===e.length)throw Error("contents are required");if(!Array.isArray(e)){if(t8(e)||t6(e))throw Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[t7(e)]}let t=[],n=[],i=t3(e[0]);for(let r of e){let e=t3(r);if(e!=i)throw Error("Mixing Content and Parts is not supported, please group the parts into a the appropriate Content objects and specify the roles for them");if(e)t.push(r);else if(t8(r)||t6(r))throw Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");else n.push(r)}return i||t.push({role:"user",parts:t9(n)}),t}function nn(e){let t={},n=["items"],i=["anyOf"],r=["properties"];if(e.type&&e.anyOf)throw Error("type and anyOf cannot be both populated.");let l=e.anyOf;for(let[o,s]of(null!=l&&2==l.length&&("null"===l[0].type?(t.nullable=!0,e=l[1]):"null"===l[1].type&&(t.nullable=!0,e=l[0])),e.type instanceof Array&&function(e,t){e.includes("null")&&(t.nullable=!0);let n=e.filter(e=>"null"!==e);if(1===n.length)t.type=Object.values(eI).includes(n[0].toUpperCase())?n[0].toUpperCase():eI.TYPE_UNSPECIFIED;else for(let e of(t.anyOf=[],n))t.anyOf.push({type:Object.values(eI).includes(e.toUpperCase())?e.toUpperCase():eI.TYPE_UNSPECIFIED})}(e.type,t),Object.entries(e)))if(null!=s)if("type"==o){if("null"===s)throw Error("type: null can not be the only possible type for the field.");if(s instanceof Array)continue;t.type=Object.values(eI).includes(s.toUpperCase())?s.toUpperCase():eI.TYPE_UNSPECIFIED}else if(n.includes(o))t[o]=nn(s);else if(i.includes(o)){let e=[];for(let n of s){if("null"==n.type){t.nullable=!0;continue}e.push(nn(n))}t[o]=e}else if(r.includes(o)){let e={};for(let[t,n]of Object.entries(s))e[t]=nn(n);t[o]=e}else{if("additionalProperties"===o)continue;t[o]=s}return t}function ni(e){if("object"==typeof e)return e;if("string"==typeof e)return{voiceConfig:{prebuiltVoiceConfig:{voiceName:e}}};throw Error(`Unsupported speechConfig type: ${typeof e}`)}function nr(e){if("multiSpeakerVoiceConfig"in e)throw Error("multiSpeakerVoiceConfig is not supported in the live API.");return e}function nl(e){if(e.functionDeclarations)for(let t of e.functionDeclarations)t.parameters&&(Object.keys(t.parameters).includes("$schema")?t.parametersJsonSchema||(t.parametersJsonSchema=t.parameters,delete t.parameters):t.parameters=nn(t.parameters)),t.response&&(Object.keys(t.response).includes("$schema")?t.responseJsonSchema||(t.responseJsonSchema=t.response,delete t.response):t.response=nn(t.response));return e}function no(e){if(null==e)throw Error("tools is required");if(!Array.isArray(e))throw Error("tools is required and must be an array of Tools");let t=[];for(let n of e)t.push(n);return t}function ns(e,t){if("string"!=typeof t)throw Error("name must be a string");return function(e,t,n,i=1){let r=!t.startsWith(`${n}/`)&&t.split("/").length===i;if(e.isVertexAI())if(t.startsWith("projects/"))return t;else if(t.startsWith("locations/"))return`projects/${e.getProject()}/${t}`;else if(t.startsWith(`${n}/`))return`projects/${e.getProject()}/locations/${e.getLocation()}/${t}`;else if(r)return`projects/${e.getProject()}/locations/${e.getLocation()}/${n}/${t}`;else return t;return r?`${n}/${t}`:t}(e,t,"cachedContents")}function na(e){switch(e){case"STATE_UNSPECIFIED":return"JOB_STATE_UNSPECIFIED";case"CREATING":return"JOB_STATE_RUNNING";case"ACTIVE":return"JOB_STATE_SUCCEEDED";case"FAILED":return"JOB_STATE_FAILED";default:return e}}function nu(e){var t;let n;if(null!=e&&"object"==typeof e&&"name"in e&&(n=e.name),null==e||"object"!=typeof e||!("uri"in e)||void 0!==(n=e.uri)){if(null==e||"object"!=typeof e||!("video"in e)||void 0!==(n=null==(t=e.video)?void 0:t.uri)){if("string"==typeof e&&(n=e),void 0===n)throw Error("Could not extract file name from the provided input.");if(n.startsWith("https://")){let e=n.split("files/")[1].match(/[a-z0-9]+/);if(null===e)throw Error(`Could not extract file name from URI ${n}`);n=e[0]}else n.startsWith("files/")&&(n=n.split("files/")[1]);return n}}}function np(e,t){return e.isVertexAI()?t?"publishers/google/models":"models":t?"models":"tunedModels"}function nd(e){for(let i of["models","tunedModels","publisherModels"]){var t,n;if(t=e,n=i,null!==t&&"object"==typeof t&&n in t)return e[i]}return[]}function nc(e,t){let n;if("string"==typeof t)if(e.isVertexAI())if(t.startsWith("gs://"))n={format:"jsonl",gcsUri:[t]};else if(t.startsWith("bq://"))n={format:"bigquery",bigqueryUri:t};else throw Error(`Unsupported string source for Vertex AI: ${t}`);else if(t.startsWith("files/"))n={fileName:t};else throw Error(`Unsupported string source for Gemini API: ${t}`);else if(Array.isArray(t)){if(e.isVertexAI())throw Error("InlinedRequest[] is not supported in Vertex AI.");n={inlinedRequests:t}}else n=t;let i=[n.gcsUri,n.bigqueryUri].filter(Boolean).length,r=[n.inlinedRequests,n.fileName].filter(Boolean).length;if(e.isVertexAI()){if(r>0||1!==i)throw Error("Exactly one of `gcsUri` or `bigqueryUri` must be set for Vertex AI.")}else if(i>0||1!==r)throw Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return n}function nh(e){if("object"!=typeof e||null===e)return{};let t=e.inlinedResponses;if("object"!=typeof t||null===t)return e;let n=t.inlinedResponses;if(!Array.isArray(n)||0===n.length)return e;let i=!1;for(let e of n){if("object"!=typeof e||null===e)continue;let t=e.response;if("object"==typeof t&&null!==t&&void 0!==t.embedding){i=!0;break}}return i&&(e.inlinedEmbedContentResponses=e.inlinedResponses,delete e.inlinedResponses),e}function nf(e,t){if(!e.isVertexAI()){if(/batches\/[^/]+$/.test(t))return t.split("/").pop();throw Error(`Invalid batch job name: ${t}.`)}if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();if(/^\d+$/.test(t))return t;throw Error(`Invalid batch job name: ${t}.`)}function nm(e){if("BATCH_STATE_UNSPECIFIED"===e)return"JOB_STATE_UNSPECIFIED";if("BATCH_STATE_PENDING"===e)return"JOB_STATE_PENDING";if("BATCH_STATE_RUNNING"===e)return"JOB_STATE_RUNNING";if("BATCH_STATE_SUCCEEDED"===e)return"JOB_STATE_SUCCEEDED";if("BATCH_STATE_FAILED"===e)return"JOB_STATE_FAILED";else if("BATCH_STATE_CANCELLED"===e)return"JOB_STATE_CANCELLED";else if("BATCH_STATE_EXPIRED"===e)return"JOB_STATE_EXPIRED";else return e}function ng(e){let t={},n=t_(e,["name"]);null!=n&&tI(t,["name"],n);let i=t_(e,["metadata","displayName"]);null!=i&&tI(t,["displayName"],i);let r=t_(e,["metadata","state"]);null!=r&&tI(t,["state"],nm(r));let l=t_(e,["metadata","createTime"]);null!=l&&tI(t,["createTime"],l);let o=t_(e,["metadata","endTime"]);null!=o&&tI(t,["endTime"],o);let s=t_(e,["metadata","updateTime"]);null!=s&&tI(t,["updateTime"],s);let a=t_(e,["metadata","model"]);null!=a&&tI(t,["model"],a);let u=t_(e,["metadata","output"]);return null!=u&&tI(t,["dest"],function(e){let t={},n=t_(e,["responsesFile"]);null!=n&&tI(t,["fileName"],n);let i=t_(e,["inlinedResponses","inlinedResponses"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l;return n={},null!=(i=t_(t=e,["response"]))&&tI(n,["response"],function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["candidates"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["content"]);null!=n&&tI(t,["content"],n);let i=t_(e,["citationMetadata"]);null!=i&&tI(t,["citationMetadata"],function(e){let t={},n=t_(e,["citationSources"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["citations"],e)}return t}(i));let r=t_(e,["tokenCount"]);null!=r&&tI(t,["tokenCount"],r);let l=t_(e,["finishReason"]);null!=l&&tI(t,["finishReason"],l);let o=t_(e,["groundingMetadata"]);null!=o&&tI(t,["groundingMetadata"],o);let s=t_(e,["avgLogprobs"]);null!=s&&tI(t,["avgLogprobs"],s);let a=t_(e,["index"]);null!=a&&tI(t,["index"],a);let u=t_(e,["logprobsResult"]);null!=u&&tI(t,["logprobsResult"],u);let p=t_(e,["safetyRatings"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["safetyRatings"],e)}let d=t_(e,["urlContextMetadata"]);return null!=d&&tI(t,["urlContextMetadata"],d),t})(e))),tI(t,["candidates"],e)}let r=t_(e,["modelVersion"]);null!=r&&tI(t,["modelVersion"],r);let l=t_(e,["promptFeedback"]);null!=l&&tI(t,["promptFeedback"],l);let o=t_(e,["responseId"]);null!=o&&tI(t,["responseId"],o);let s=t_(e,["usageMetadata"]);return null!=s&&tI(t,["usageMetadata"],s),t}(i)),null!=(r=t_(t,["metadata"]))&&tI(n,["metadata"],r),null!=(l=t_(t,["error"]))&&tI(n,["error"],l),n})),tI(t,["inlinedResponses"],e)}let r=t_(e,["inlinedEmbedContentResponses","inlinedResponses"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["inlinedEmbedContentResponses"],e)}return t}(nh(u))),t}function ny(e){var t,n;let i,r,l,o,s,a,u,p,d={},c=t_(e,["name"]);null!=c&&tI(d,["name"],c);let h=t_(e,["displayName"]);null!=h&&tI(d,["displayName"],h);let f=t_(e,["state"]);null!=f&&tI(d,["state"],nm(f));let m=t_(e,["error"]);null!=m&&tI(d,["error"],m);let g=t_(e,["createTime"]);null!=g&&tI(d,["createTime"],g);let y=t_(e,["startTime"]);null!=y&&tI(d,["startTime"],y);let E=t_(e,["endTime"]);null!=E&&tI(d,["endTime"],E);let I=t_(e,["updateTime"]);null!=I&&tI(d,["updateTime"],I);let _=t_(e,["model"]);null!=_&&tI(d,["model"],_);let v=t_(e,["inputConfig"]);null!=v&&tI(d,["src"],(i={},null!=(r=t_(n=v,["instancesFormat"]))&&tI(i,["format"],r),null!=(l=t_(n,["gcsSource","uris"]))&&tI(i,["gcsUri"],l),null!=(o=t_(n,["bigquerySource","inputUri"]))&&tI(i,["bigqueryUri"],o),i));let T=t_(e,["outputConfig"]);null!=T&&tI(d,["dest"],(t=nh(T),s={},null!=(a=t_(t,["predictionsFormat"]))&&tI(s,["format"],a),null!=(u=t_(t,["gcsDestination","outputUriPrefix"]))&&tI(s,["gcsUri"],u),null!=(p=t_(t,["bigqueryDestination","outputUri"]))&&tI(s,["bigqueryUri"],p),s));let A=t_(e,["completionStats"]);return null!=A&&tI(d,["completionStats"],A),d}function nE(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c,h,f,m;return n={},null!=(i=t_(t=e,["mediaResolution"]))&&tI(n,["mediaResolution"],i),null!=(r=t_(t,["codeExecutionResult"]))&&tI(n,["codeExecutionResult"],r),null!=(l=t_(t,["executableCode"]))&&tI(n,["executableCode"],l),null!=(o=t_(t,["fileData"]))&&tI(n,["fileData"],function(e){let t={};if(void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let n=t_(e,["fileUri"]);null!=n&&tI(t,["fileUri"],n);let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(o)),null!=(s=t_(t,["functionCall"]))&&tI(n,["functionCall"],function(e){let t={},n=t_(e,["id"]);null!=n&&tI(t,["id"],n);let i=t_(e,["args"]);null!=i&&tI(t,["args"],i);let r=t_(e,["name"]);if(null!=r&&tI(t,["name"],r),void 0!==t_(e,["partialArgs"]))throw Error("partialArgs parameter is not supported in Gemini API.");if(void 0!==t_(e,["willContinue"]))throw Error("willContinue parameter is not supported in Gemini API.");return t}(s)),null!=(a=t_(t,["functionResponse"]))&&tI(n,["functionResponse"],a),null!=(u=t_(t,["inlineData"]))&&tI(n,["inlineData"],function(e){let t={},n=t_(e,["data"]);if(null!=n&&tI(t,["data"],n),void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(u)),null!=(p=t_(t,["text"]))&&tI(n,["text"],p),null!=(d=t_(t,["thought"]))&&tI(n,["thought"],d),null!=(c=t_(t,["thoughtSignature"]))&&tI(n,["thoughtSignature"],c),null!=(h=t_(t,["videoMetadata"]))&&tI(n,["videoMetadata"],h),null!=(f=t_(t,["toolCall"]))&&tI(n,["toolCall"],f),null!=(m=t_(t,["toolResponse"]))&&tI(n,["toolResponse"],m),n})),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}function nI(e,t){let n={},i=t_(t,["model"]);null!=i&&tI(n,["_url","model"],tQ(e,i));let r=t_(t,["src"]);null!=r&&tI(n,["batch","inputConfig"],function(e,t){let n={};if(void 0!==t_(t,["format"]))throw Error("format parameter is not supported in Gemini API.");if(void 0!==t_(t,["gcsUri"]))throw Error("gcsUri parameter is not supported in Gemini API.");if(void 0!==t_(t,["bigqueryUri"]))throw Error("bigqueryUri parameter is not supported in Gemini API.");let i=t_(t,["fileName"]);null!=i&&tI(n,["fileName"],i);let r=t_(t,["inlinedRequests"]);if(null!=r){let t=r;Array.isArray(t)&&(t=t.map(t=>(function(e,t){let n={},i=t_(t,["model"]);null!=i&&tI(n,["request","model"],tQ(e,i));let r=t_(t,["contents"]);if(null!=r){let e=nt(r);Array.isArray(e)&&(e=e.map(e=>nE(e))),tI(n,["request","contents"],e)}let l=t_(t,["metadata"]);null!=l&&tI(n,["metadata"],l);let o=t_(t,["config"]);return null!=o&&tI(n,["request","generationConfig"],function(e,t,n){var i;let r,l,o,s,a={},u=t_(t,["systemInstruction"]);void 0!==n&&null!=u&&tI(n,["systemInstruction"],nE(t7(u)));let p=t_(t,["temperature"]);null!=p&&tI(a,["temperature"],p);let d=t_(t,["topP"]);null!=d&&tI(a,["topP"],d);let c=t_(t,["topK"]);null!=c&&tI(a,["topK"],c);let h=t_(t,["candidateCount"]);null!=h&&tI(a,["candidateCount"],h);let f=t_(t,["maxOutputTokens"]);null!=f&&tI(a,["maxOutputTokens"],f);let m=t_(t,["stopSequences"]);null!=m&&tI(a,["stopSequences"],m);let g=t_(t,["responseLogprobs"]);null!=g&&tI(a,["responseLogprobs"],g);let y=t_(t,["logprobs"]);null!=y&&tI(a,["logprobs"],y);let E=t_(t,["presencePenalty"]);null!=E&&tI(a,["presencePenalty"],E);let I=t_(t,["frequencyPenalty"]);null!=I&&tI(a,["frequencyPenalty"],I);let _=t_(t,["seed"]);null!=_&&tI(a,["seed"],_);let v=t_(t,["responseMimeType"]);null!=v&&tI(a,["responseMimeType"],v);let T=t_(t,["responseSchema"]);null!=T&&tI(a,["responseSchema"],nn(T));let A=t_(t,["responseJsonSchema"]);if(null!=A&&tI(a,["responseJsonSchema"],A),void 0!==t_(t,["routingConfig"]))throw Error("routingConfig parameter is not supported in Gemini API.");if(void 0!==t_(t,["modelSelectionConfig"]))throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let C=t_(t,["safetySettings"]);if(void 0!==n&&null!=C){let e=C;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["category"]);if(null!=n&&tI(t,["category"],n),void 0!==t_(e,["method"]))throw Error("method parameter is not supported in Gemini API.");let i=t_(e,["threshold"]);return null!=i&&tI(t,["threshold"],i),t})(e))),tI(n,["safetySettings"],e)}let S=t_(t,["tools"]);if(void 0!==n&&null!=S){let e=no(S);Array.isArray(e)&&(e=e.map(e=>(function(e){let t,n,i,r={};if(void 0!==t_(e,["retrieval"]))throw Error("retrieval parameter is not supported in Gemini API.");let l=t_(e,["computerUse"]);null!=l&&tI(r,["computerUse"],l);let o=t_(e,["fileSearch"]);null!=o&&tI(r,["fileSearch"],o);let s=t_(e,["googleSearch"]);null!=s&&tI(r,["googleSearch"],function(e){let t={},n=t_(e,["searchTypes"]);if(null!=n&&tI(t,["searchTypes"],n),void 0!==t_(e,["blockingConfidence"]))throw Error("blockingConfidence parameter is not supported in Gemini API.");if(void 0!==t_(e,["excludeDomains"]))throw Error("excludeDomains parameter is not supported in Gemini API.");let i=t_(e,["timeRangeFilter"]);return null!=i&&tI(t,["timeRangeFilter"],i),t}(s));let a=t_(e,["googleMaps"]);null!=a&&tI(r,["googleMaps"],(t={},null!=(n=t_(a,["authConfig"]))&&tI(t,["authConfig"],function(e){let t={},n=t_(e,["apiKey"]);if(null!=n&&tI(t,["apiKey"],n),void 0!==t_(e,["apiKeyConfig"]))throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["authType"]))throw Error("authType parameter is not supported in Gemini API.");if(void 0!==t_(e,["googleServiceAccountConfig"]))throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["httpBasicAuthConfig"]))throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oauthConfig"]))throw Error("oauthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oidcConfig"]))throw Error("oidcConfig parameter is not supported in Gemini API.");return t}(n)),null!=(i=t_(a,["enableWidget"]))&&tI(t,["enableWidget"],i),t));let u=t_(e,["codeExecution"]);if(null!=u&&tI(r,["codeExecution"],u),void 0!==t_(e,["enterpriseWebSearch"]))throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let p=t_(e,["functionDeclarations"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["functionDeclarations"],e)}let d=t_(e,["googleSearchRetrieval"]);if(null!=d&&tI(r,["googleSearchRetrieval"],d),void 0!==t_(e,["parallelAiSearch"]))throw Error("parallelAiSearch parameter is not supported in Gemini API.");let c=t_(e,["urlContext"]);null!=c&&tI(r,["urlContext"],c);let h=t_(e,["mcpServers"]);if(null!=h){let e=h;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["mcpServers"],e)}return r})(nl(e)))),tI(n,["tools"],e)}let O=t_(t,["toolConfig"]);if(void 0!==n&&null!=O&&tI(n,["toolConfig"],(r={},null!=(l=t_(i=O,["retrievalConfig"]))&&tI(r,["retrievalConfig"],l),null!=(o=t_(i,["functionCallingConfig"]))&&tI(r,["functionCallingConfig"],function(e){let t={},n=t_(e,["allowedFunctionNames"]);null!=n&&tI(t,["allowedFunctionNames"],n);let i=t_(e,["mode"]);if(null!=i&&tI(t,["mode"],i),void 0!==t_(e,["streamFunctionCallArguments"]))throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return t}(o)),null!=(s=t_(i,["includeServerSideToolInvocations"]))&&tI(r,["includeServerSideToolInvocations"],s),r)),void 0!==t_(t,["labels"]))throw Error("labels parameter is not supported in Gemini API.");let b=t_(t,["cachedContent"]);void 0!==n&&null!=b&&tI(n,["cachedContent"],ns(e,b));let R=t_(t,["responseModalities"]);null!=R&&tI(a,["responseModalities"],R);let N=t_(t,["mediaResolution"]);null!=N&&tI(a,["mediaResolution"],N);let P=t_(t,["speechConfig"]);if(null!=P&&tI(a,["speechConfig"],ni(P)),void 0!==t_(t,["audioTimestamp"]))throw Error("audioTimestamp parameter is not supported in Gemini API.");let w=t_(t,["thinkingConfig"]);null!=w&&tI(a,["thinkingConfig"],w);let D=t_(t,["imageConfig"]);null!=D&&tI(a,["imageConfig"],function(e){let t={},n=t_(e,["aspectRatio"]);null!=n&&tI(t,["aspectRatio"],n);let i=t_(e,["imageSize"]);if(null!=i&&tI(t,["imageSize"],i),void 0!==t_(e,["personGeneration"]))throw Error("personGeneration parameter is not supported in Gemini API.");if(void 0!==t_(e,["prominentPeople"]))throw Error("prominentPeople parameter is not supported in Gemini API.");if(void 0!==t_(e,["outputMimeType"]))throw Error("outputMimeType parameter is not supported in Gemini API.");if(void 0!==t_(e,["outputCompressionQuality"]))throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(void 0!==t_(e,["imageOutputOptions"]))throw Error("imageOutputOptions parameter is not supported in Gemini API.");return t}(D));let M=t_(t,["enableEnhancedCivicAnswers"]);if(null!=M&&tI(a,["enableEnhancedCivicAnswers"],M),void 0!==t_(t,["modelArmorConfig"]))throw Error("modelArmorConfig parameter is not supported in Gemini API.");return a}(e,o,t_(n,["request"],{}))),n})(e,t))),tI(n,["requests","requests"],t)}return n}(e,nc(e,r)));let l=t_(t,["config"]);return null!=l&&function(e,t){let n=t_(e,["displayName"]);if(void 0!==t&&null!=n&&tI(t,["batch","displayName"],n),void 0!==t_(e,["dest"]))throw Error("dest parameter is not supported in Gemini API.")}(l,n),n}(em=tm||(tm={})).PAGED_ITEM_BATCH_JOBS="batchJobs",em.PAGED_ITEM_MODELS="models",em.PAGED_ITEM_TUNING_JOBS="tuningJobs",em.PAGED_ITEM_FILES="files",em.PAGED_ITEM_CACHED_CONTENTS="cachedContents",em.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",em.PAGED_ITEM_DOCUMENTS="documents";class n_{constructor(e,t,n,i){this.pageInternal=[],this.paramsInternal={},this.requestInternal=t,this.init(e,n,i)}init(e,t,n){var i,r;this.nameInternal=e,this.pageInternal=t[this.nameInternal]||[],this.sdkHttpResponseInternal=null==t?void 0:t.sdkHttpResponse,this.idxInternal=0;let l={config:{}};(l=n&&0!==Object.keys(n).length?"object"==typeof n?Object.assign({},n):n:{config:{}}).config&&(l.config.pageToken=t.nextPageToken),this.paramsInternal=l,this.pageInternalSize=null!=(r=null==(i=l.config)?void 0:i.pageSize)?r:this.pageInternal.length}initNextPage(e){this.init(this.nameInternal,e,this.paramsInternal)}get page(){return this.pageInternal}get name(){return this.nameInternal}get pageSize(){return this.pageInternalSize}get sdkHttpResponse(){return this.sdkHttpResponseInternal}get params(){return this.paramsInternal}get pageLength(){return this.pageInternal.length}getItem(e){return this.pageInternal[e]}[Symbol.asyncIterator](){return{next:async()=>{if(this.idxInternal>=this.pageLength)if(!this.hasNextPage())return{value:void 0,done:!0};else await this.nextPage();let e=this.getItem(this.idxInternal);return this.idxInternal+=1,{value:e,done:!1}},return:async()=>({value:void 0,done:!0})}}async nextPage(){if(!this.hasNextPage())throw Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;return(null==(e=this.params.config)?void 0:e.pageToken)!==void 0}}class nv extends ty{constructor(e){super(),this.apiClient=e,this.list=async(e={})=>new n_(tm.PAGED_ITEM_BATCH_JOBS,e=>this.listInternal(e),await this.listInternal(e),e),this.create=async e=>(this.apiClient.isVertexAI()&&(e.config=this.formatDestination(e.src,e.config)),this.createInternal(e)),this.createEmbeddings=async e=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw Error("Vertex AI does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(e)}}createInlinedGenerateContentRequest(e){let t=nI(this.apiClient,e),n=tE("{model}:batchGenerateContent",t._url),i=t.batch.inputConfig.requests,r=i.requests,l=[];for(let e of r){let t=Object.assign({},e);if(t.systemInstruction){let e=t.systemInstruction;delete t.systemInstruction;let n=t.request;n.systemInstruction=e,t.request=n}l.push(t)}return i.requests=l,delete t.config,delete t._url,delete t._query,{path:n,body:t}}getGcsUri(e){return"string"==typeof e?e.startsWith("gs://")?e:void 0:!Array.isArray(e)&&e.gcsUri&&e.gcsUri.length>0?e.gcsUri[0]:void 0}getBigqueryUri(e){return"string"==typeof e?e.startsWith("bq://")?e:void 0:Array.isArray(e)?void 0:e.bigqueryUri}formatDestination(e,t){let n=t?Object.assign({},t):{},i=Date.now().toString();if(n.displayName||(n.displayName=`genaiBatchJob_${i}`),void 0===n.dest){let t=this.getGcsUri(e),r=this.getBigqueryUri(e);if(t)t.endsWith(".jsonl")?n.dest=`${t.slice(0,-6)}/dest`:n.dest=`${t}_dest_${i}`;else if(r)n.dest=`${r}_dest_${i}`;else throw Error("Unsupported source for Vertex AI: No GCS or BigQuery URI found.")}return n}async createInternal(e){var t,n,i,r,l;let o="",s={};if(this.apiClient.isVertexAI()){let i,r,a,u,p,d,c=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["model"],tQ(l,r)),null!=(a=t_(e,["src"]))&&tI(i,["inputConfig"],function(e){let t={},n=t_(e,["format"]);null!=n&&tI(t,["instancesFormat"],n);let i=t_(e,["gcsUri"]);null!=i&&tI(t,["gcsSource","uris"],i);let r=t_(e,["bigqueryUri"]);if(null!=r&&tI(t,["bigquerySource","inputUri"],r),void 0!==t_(e,["fileName"]))throw Error("fileName parameter is not supported in Vertex AI.");if(void 0!==t_(e,["inlinedRequests"]))throw Error("inlinedRequests parameter is not supported in Vertex AI.");return t}(nc(l,a))),null!=(u=t_(e,["config"]))&&(p=t_(u,["displayName"]),void 0!==i&&null!=p&&tI(i,["displayName"],p),d=t_(u,["dest"]),void 0!==i&&null!=d&&tI(i,["outputConfig"],function(e){let t={},n=t_(e,["format"]);null!=n&&tI(t,["predictionsFormat"],n);let i=t_(e,["gcsUri"]);null!=i&&tI(t,["gcsDestination","outputUriPrefix"],i);let r=t_(e,["bigqueryUri"]);if(null!=r&&tI(t,["bigqueryDestination","outputUri"],r),void 0!==t_(e,["fileName"]))throw Error("fileName parameter is not supported in Vertex AI.");if(void 0!==t_(e,["inlinedResponses"]))throw Error("inlinedResponses parameter is not supported in Vertex AI.");if(void 0!==t_(e,["inlinedEmbedContentResponses"]))throw Error("inlinedEmbedContentResponses parameter is not supported in Vertex AI.");return t}(function(e){if("string"!=typeof e)return e;if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:e};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};throw Error(`Unsupported destination: ${e}`)}(d)))),i);return o=tE("batchPredictionJobs",c._url),s=c._query,delete c._url,delete c._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(c),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>ny(e))}{let t=nI(this.apiClient,e);return o=tE("{model}:batchGenerateContent",t._url),s=t._query,delete t._url,delete t._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(t),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>ng(e))}}async createEmbeddingsInternal(e){var t,n,i,r,l;let o="",s={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let a,u,p,d,c,h,f,m,g=(i=this.apiClient,d={},null!=(c=t_(e,["model"]))&&tI(d,["_url","model"],tQ(i,c)),null!=(h=t_(e,["src"]))&&tI(d,["batch","inputConfig"],(r=i,a={},null!=(u=t_(l=h,["fileName"]))&&tI(a,["file_name"],u),null!=(p=t_(l,["inlinedRequests"]))&&tI(a,["requests"],function(e,t){let n={},i=t_(t,["contents"]);if(null!=i){let t=ne(e,i);Array.isArray(t)&&(t=t.map(e=>e)),tI(n,["requests[]","request","content"],t)}let r=t_(t,["config"]);return null!=r&&(tI(n,["_self"],function(e,t){let n=t_(e,["taskType"]);void 0!==t&&null!=n&&tI(t,["requests[]","taskType"],n);let i=t_(e,["title"]);void 0!==t&&null!=i&&tI(t,["requests[]","title"],i);let r=t_(e,["outputDimensionality"]);if(void 0!==t&&null!=r&&tI(t,["requests[]","outputDimensionality"],r),void 0!==t_(e,["mimeType"]))throw Error("mimeType parameter is not supported in Gemini API.");if(void 0!==t_(e,["autoTruncate"]))throw Error("autoTruncate parameter is not supported in Gemini API.");return{}}(r,n)),!function(e,t){for(let[n,i]of Object.entries(t)){let t=n.split("."),r=i.split("."),l=new Set,o=-1;for(let e=0;e<t.length;e++)if("*"===t[e]){o=e;break}if(-1!==o&&r.length>o)for(let e=o;e<r.length;e++){let t=r[e];"*"===t||t.endsWith("[]")||t.endsWith("[0]")||l.add(t)}!function e(t,n,i,r,l){if(r>=n.length||"object"!=typeof t||null===t)return;let o=n[r];if(o.endsWith("[]")){let s=o.slice(0,-2);if(s in t&&Array.isArray(t[s]))for(let o of t[s])e(o,n,i,r+1,l)}else if("*"===o){if("object"==typeof t&&null!==t&&!Array.isArray(t)){let e=Object.keys(t).filter(e=>!e.startsWith("_")&&!l.has(e)),n={};for(let i of e)n[i]=t[i];for(let[e,l]of Object.entries(n)){let n=[];for(let t of i.slice(r))"*"===t?n.push(e):n.push(t);tI(t,n,l)}for(let n of e)delete t[n]}}else o in t&&e(t[o],n,i,r+1,l)}(e,t,r,0,l)}}(n,{"requests[].*":"requests[].request.*"})),n}(r,p)),a)),null!=(f=t_(e,["config"]))&&(m=t_(f,["displayName"]),void 0!==d&&null!=m&&tI(d,["batch","displayName"],m)),d);return o=tE("{model}:asyncBatchEmbedContent",g._url),s=g._query,delete g._url,delete g._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(g),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>ng(e))}}async get(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],nf(l,r)),i);return s=tE("batchPredictionJobs/{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>ny(e))}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],nf(o,n)),t);return s=tE("batches/{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>ng(e))}}async cancel(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],nf(l,r)),i);s=tE("batchPredictionJobs/{name}:cancel",o._url),a=o._query,delete o._url,delete o._query,await this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal})}else{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],nf(o,n)),t);s=tE("batches/{name}:cancel",l._url),a=l._query,delete l._url,delete l._query,await this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal})}}async listInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s,a,u,p=(i={},null!=(r=t_(e,["config"]))&&(s=t_(r,["pageSize"]),void 0!==i&&null!=s&&tI(i,["_query","pageSize"],s),a=t_(r,["pageToken"]),void 0!==i&&null!=a&&tI(i,["_query","pageToken"],a),u=t_(r,["filter"]),void 0!==i&&null!=u&&tI(i,["_query","filter"],u)),i);return l=tE("batchPredictionJobs",p._url),o=p._query,delete p._url,delete p._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(p),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["batchPredictionJobs"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>ny(e))),tI(t,["batchJobs"],e)}return t}(e),n=new t$;return Object.assign(n,t),n})}{let t,n,s=(t={},null!=(n=t_(e,["config"]))&&function(e,t){let n=t_(e,["pageSize"]);void 0!==t&&null!=n&&tI(t,["_query","pageSize"],n);let i=t_(e,["pageToken"]);if(void 0!==t&&null!=i&&tI(t,["_query","pageToken"],i),void 0!==t_(e,["filter"]))throw Error("filter parameter is not supported in Gemini API.")}(n,t),t);return l=tE("batches",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["operations"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>ng(e))),tI(t,["batchJobs"],e)}return t}(e),n=new t$;return Object.assign(n,t),n})}}async delete(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],nf(l,r)),i);return s=tE("batchPredictionJobs/{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i,r,l;return t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),null!=(i=t_(e,["name"]))&&tI(t,["name"],i),null!=(r=t_(e,["done"]))&&tI(t,["done"],r),null!=(l=t_(e,["error"]))&&tI(t,["error"],l),t})}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],nf(o,n)),t);return s=tE("batches/{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"DELETE",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i,r,l;return t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),null!=(i=t_(e,["name"]))&&tI(t,["name"],i),null!=(r=t_(e,["done"]))&&tI(t,["done"],r),null!=(l=t_(e,["error"]))&&tI(t,["error"],l),t})}}}function nT(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c,h,f,m;return n={},null!=(i=t_(t=e,["mediaResolution"]))&&tI(n,["mediaResolution"],i),null!=(r=t_(t,["codeExecutionResult"]))&&tI(n,["codeExecutionResult"],r),null!=(l=t_(t,["executableCode"]))&&tI(n,["executableCode"],l),null!=(o=t_(t,["fileData"]))&&tI(n,["fileData"],function(e){let t={};if(void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let n=t_(e,["fileUri"]);null!=n&&tI(t,["fileUri"],n);let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(o)),null!=(s=t_(t,["functionCall"]))&&tI(n,["functionCall"],function(e){let t={},n=t_(e,["id"]);null!=n&&tI(t,["id"],n);let i=t_(e,["args"]);null!=i&&tI(t,["args"],i);let r=t_(e,["name"]);if(null!=r&&tI(t,["name"],r),void 0!==t_(e,["partialArgs"]))throw Error("partialArgs parameter is not supported in Gemini API.");if(void 0!==t_(e,["willContinue"]))throw Error("willContinue parameter is not supported in Gemini API.");return t}(s)),null!=(a=t_(t,["functionResponse"]))&&tI(n,["functionResponse"],a),null!=(u=t_(t,["inlineData"]))&&tI(n,["inlineData"],function(e){let t={},n=t_(e,["data"]);if(null!=n&&tI(t,["data"],n),void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(u)),null!=(p=t_(t,["text"]))&&tI(n,["text"],p),null!=(d=t_(t,["thought"]))&&tI(n,["thought"],d),null!=(c=t_(t,["thoughtSignature"]))&&tI(n,["thoughtSignature"],c),null!=(h=t_(t,["videoMetadata"]))&&tI(n,["videoMetadata"],h),null!=(f=t_(t,["toolCall"]))&&tI(n,["toolCall"],f),null!=(m=t_(t,["toolResponse"]))&&tI(n,["toolResponse"],m),n})),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}function nA(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["mediaResolution"]);null!=n&&tI(t,["mediaResolution"],n);let i=t_(e,["codeExecutionResult"]);null!=i&&tI(t,["codeExecutionResult"],i);let r=t_(e,["executableCode"]);null!=r&&tI(t,["executableCode"],r);let l=t_(e,["fileData"]);null!=l&&tI(t,["fileData"],l);let o=t_(e,["functionCall"]);null!=o&&tI(t,["functionCall"],o);let s=t_(e,["functionResponse"]);null!=s&&tI(t,["functionResponse"],s);let a=t_(e,["inlineData"]);null!=a&&tI(t,["inlineData"],a);let u=t_(e,["text"]);null!=u&&tI(t,["text"],u);let p=t_(e,["thought"]);null!=p&&tI(t,["thought"],p);let d=t_(e,["thoughtSignature"]);null!=d&&tI(t,["thoughtSignature"],d);let c=t_(e,["videoMetadata"]);if(null!=c&&tI(t,["videoMetadata"],c),void 0!==t_(e,["toolCall"]))throw Error("toolCall parameter is not supported in Vertex AI.");if(void 0!==t_(e,["toolResponse"]))throw Error("toolResponse parameter is not supported in Vertex AI.");return t})(e))),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}class nC extends ty{constructor(e){super(),this.apiClient=e,this.list=async(e={})=>new n_(tm.PAGED_ITEM_CACHED_CONTENTS,e=>this.listInternal(e),await this.listInternal(e),e)}async create(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o,u=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["model"],tZ(l,r)),null!=(o=t_(e,["config"]))&&function(e,t){let n=t_(e,["ttl"]);void 0!==t&&null!=n&&tI(t,["ttl"],n);let i=t_(e,["expireTime"]);void 0!==t&&null!=i&&tI(t,["expireTime"],i);let r=t_(e,["displayName"]);void 0!==t&&null!=r&&tI(t,["displayName"],r);let l=t_(e,["contents"]);if(void 0!==t&&null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nA(e))),tI(t,["contents"],e)}let o=t_(e,["systemInstruction"]);void 0!==t&&null!=o&&tI(t,["systemInstruction"],nA(t7(o)));let s=t_(e,["tools"]);if(void 0!==t&&null!=s){let e=s;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["retrieval"]);null!=n&&tI(t,["retrieval"],n);let i=t_(e,["computerUse"]);if(null!=i&&tI(t,["computerUse"],i),void 0!==t_(e,["fileSearch"]))throw Error("fileSearch parameter is not supported in Vertex AI.");let r=t_(e,["googleSearch"]);null!=r&&tI(t,["googleSearch"],r);let l=t_(e,["googleMaps"]);null!=l&&tI(t,["googleMaps"],l);let o=t_(e,["codeExecution"]);null!=o&&tI(t,["codeExecution"],o);let s=t_(e,["enterpriseWebSearch"]);null!=s&&tI(t,["enterpriseWebSearch"],s);let a=t_(e,["functionDeclarations"]);if(null!=a){let e=a;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["description"]);null!=n&&tI(t,["description"],n);let i=t_(e,["name"]);null!=i&&tI(t,["name"],i);let r=t_(e,["parameters"]);null!=r&&tI(t,["parameters"],r);let l=t_(e,["parametersJsonSchema"]);null!=l&&tI(t,["parametersJsonSchema"],l);let o=t_(e,["response"]);null!=o&&tI(t,["response"],o);let s=t_(e,["responseJsonSchema"]);if(null!=s&&tI(t,["responseJsonSchema"],s),void 0!==t_(e,["behavior"]))throw Error("behavior parameter is not supported in Vertex AI.");return t})(e))),tI(t,["functionDeclarations"],e)}let u=t_(e,["googleSearchRetrieval"]);null!=u&&tI(t,["googleSearchRetrieval"],u);let p=t_(e,["parallelAiSearch"]);null!=p&&tI(t,["parallelAiSearch"],p);let d=t_(e,["urlContext"]);if(null!=d&&tI(t,["urlContext"],d),void 0!==t_(e,["mcpServers"]))throw Error("mcpServers parameter is not supported in Vertex AI.");return t})(e))),tI(t,["tools"],e)}let a=t_(e,["toolConfig"]);void 0!==t&&null!=a&&tI(t,["toolConfig"],function(e){let t={},n=t_(e,["retrievalConfig"]);null!=n&&tI(t,["retrievalConfig"],n);let i=t_(e,["functionCallingConfig"]);if(null!=i&&tI(t,["functionCallingConfig"],i),void 0!==t_(e,["includeServerSideToolInvocations"]))throw Error("includeServerSideToolInvocations parameter is not supported in Vertex AI.");return t}(a));let u=t_(e,["kmsKeyName"]);void 0!==t&&null!=u&&tI(t,["encryption_spec","kmsKeyName"],u)}(o,i),i);return s=tE("cachedContents",u._url),a=u._query,delete u._url,delete u._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}{let t,n,l,u=(o=this.apiClient,t={},null!=(n=t_(e,["model"]))&&tI(t,["model"],tZ(o,n)),null!=(l=t_(e,["config"]))&&function(e,t){var n;let i,r,l,o,s=t_(e,["ttl"]);void 0!==t&&null!=s&&tI(t,["ttl"],s);let a=t_(e,["expireTime"]);void 0!==t&&null!=a&&tI(t,["expireTime"],a);let u=t_(e,["displayName"]);void 0!==t&&null!=u&&tI(t,["displayName"],u);let p=t_(e,["contents"]);if(void 0!==t&&null!=p){let e=nt(p);Array.isArray(e)&&(e=e.map(e=>nT(e))),tI(t,["contents"],e)}let d=t_(e,["systemInstruction"]);void 0!==t&&null!=d&&tI(t,["systemInstruction"],nT(t7(d)));let c=t_(e,["tools"]);if(void 0!==t&&null!=c){let e=c;Array.isArray(e)&&(e=e.map(e=>(function(e){let t,n,i,r={};if(void 0!==t_(e,["retrieval"]))throw Error("retrieval parameter is not supported in Gemini API.");let l=t_(e,["computerUse"]);null!=l&&tI(r,["computerUse"],l);let o=t_(e,["fileSearch"]);null!=o&&tI(r,["fileSearch"],o);let s=t_(e,["googleSearch"]);null!=s&&tI(r,["googleSearch"],function(e){let t={},n=t_(e,["searchTypes"]);if(null!=n&&tI(t,["searchTypes"],n),void 0!==t_(e,["blockingConfidence"]))throw Error("blockingConfidence parameter is not supported in Gemini API.");if(void 0!==t_(e,["excludeDomains"]))throw Error("excludeDomains parameter is not supported in Gemini API.");let i=t_(e,["timeRangeFilter"]);return null!=i&&tI(t,["timeRangeFilter"],i),t}(s));let a=t_(e,["googleMaps"]);null!=a&&tI(r,["googleMaps"],(t={},null!=(n=t_(a,["authConfig"]))&&tI(t,["authConfig"],function(e){let t={},n=t_(e,["apiKey"]);if(null!=n&&tI(t,["apiKey"],n),void 0!==t_(e,["apiKeyConfig"]))throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["authType"]))throw Error("authType parameter is not supported in Gemini API.");if(void 0!==t_(e,["googleServiceAccountConfig"]))throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["httpBasicAuthConfig"]))throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oauthConfig"]))throw Error("oauthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oidcConfig"]))throw Error("oidcConfig parameter is not supported in Gemini API.");return t}(n)),null!=(i=t_(a,["enableWidget"]))&&tI(t,["enableWidget"],i),t));let u=t_(e,["codeExecution"]);if(null!=u&&tI(r,["codeExecution"],u),void 0!==t_(e,["enterpriseWebSearch"]))throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let p=t_(e,["functionDeclarations"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["functionDeclarations"],e)}let d=t_(e,["googleSearchRetrieval"]);if(null!=d&&tI(r,["googleSearchRetrieval"],d),void 0!==t_(e,["parallelAiSearch"]))throw Error("parallelAiSearch parameter is not supported in Gemini API.");let c=t_(e,["urlContext"]);null!=c&&tI(r,["urlContext"],c);let h=t_(e,["mcpServers"]);if(null!=h){let e=h;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["mcpServers"],e)}return r})(e))),tI(t,["tools"],e)}let h=t_(e,["toolConfig"]);if(void 0!==t&&null!=h&&tI(t,["toolConfig"],(i={},null!=(r=t_(n=h,["retrievalConfig"]))&&tI(i,["retrievalConfig"],r),null!=(l=t_(n,["functionCallingConfig"]))&&tI(i,["functionCallingConfig"],function(e){let t={},n=t_(e,["allowedFunctionNames"]);null!=n&&tI(t,["allowedFunctionNames"],n);let i=t_(e,["mode"]);if(null!=i&&tI(t,["mode"],i),void 0!==t_(e,["streamFunctionCallArguments"]))throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return t}(l)),null!=(o=t_(n,["includeServerSideToolInvocations"]))&&tI(i,["includeServerSideToolInvocations"],o),i)),void 0!==t_(e,["kmsKeyName"]))throw Error("kmsKeyName parameter is not supported in Gemini API.")}(l,t),t);return s=tE("cachedContents",u._url),a=u._query,delete u._url,delete u._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(u),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>e)}}async get(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],ns(l,r)),i);return s=tE("{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],ns(o,n)),t);return s=tE("{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>e)}}async delete(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],ns(l,r)),i);return s=tE("{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tk;return Object.assign(r,i),r})}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],ns(o,n)),t);return s=tE("{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"DELETE",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tk;return Object.assign(r,i),r})}}async update(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o,u,p,d=(l=this.apiClient,i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],ns(l,r)),null!=(o=t_(e,["config"]))&&(u=t_(o,["ttl"]),void 0!==i&&null!=u&&tI(i,["ttl"],u),p=t_(o,["expireTime"]),void 0!==i&&null!=p&&tI(i,["expireTime"],p)),i);return s=tE("{name}",d._url),a=d._query,delete d._url,delete d._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(d),httpMethod:"PATCH",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}{let t,n,l,u,p,d=(o=this.apiClient,t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],ns(o,n)),null!=(l=t_(e,["config"]))&&(u=t_(l,["ttl"]),void 0!==t&&null!=u&&tI(t,["ttl"],u),p=t_(l,["expireTime"]),void 0!==t&&null!=p&&tI(t,["expireTime"],p)),t);return s=tE("{name}",d._url),a=d._query,delete d._url,delete d._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(d),httpMethod:"PATCH",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>e)}}async listInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s,a,u=(i={},null!=(r=t_(e,["config"]))&&(s=t_(r,["pageSize"]),void 0!==i&&null!=s&&tI(i,["_query","pageSize"],s),a=t_(r,["pageToken"]),void 0!==i&&null!=a&&tI(i,["_query","pageToken"],a)),i);return l=tE("cachedContents",u._url),o=u._query,delete u._url,delete u._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(u),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["cachedContents"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["cachedContents"],e)}return t}(e),n=new tq;return Object.assign(n,t),n})}{let t,n,s,a,u=(t={},null!=(n=t_(e,["config"]))&&(s=t_(n,["pageSize"]),void 0!==t&&null!=s&&tI(t,["_query","pageSize"],s),a=t_(n,["pageToken"]),void 0!==t&&null!=a&&tI(t,["_query","pageToken"],a)),t);return l=tE("cachedContents",u._url),o=u._query,delete u._url,delete u._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(u),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["cachedContents"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["cachedContents"],e)}return t}(e),n=new tq;return Object.assign(n,t),n})}}}function nS(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,i=Object.getOwnPropertySymbols(e);r<i.length;r++)0>t.indexOf(i[r])&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]]);return n}function nO(e){return this instanceof nO?(this.v=e,this):new nO(e)}function nb(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(e,t||[]),l=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),i[Symbol.asyncIterator]=function(){return this},i;function o(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,i){l.push([e,t,n,i])>1||s(e,t)})},t&&(i[e]=t(i[e])))}function s(e,t){try{var n;(n=r[e](t)).value instanceof nO?Promise.resolve(n.value.v).then(a,u):p(l[0][2],n)}catch(e){p(l[0][3],e)}}function a(e){s("next",e)}function u(e){s("throw",e)}function p(e,t){e(t),l.shift(),l.length&&s(l[0][0],l[0][1])}}function nR(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=e[n]&&function(t){return new Promise(function(i,r){var l,o,s;l=i,o=r,s=(t=e[n](t)).done,Promise.resolve(t.value).then(function(e){l({value:e,done:s})},o)})}}}function nN(e){if(void 0===e.parts||0===e.parts.length)return!1;for(let t of e.parts)if(void 0===t||0===Object.keys(t).length)return!1;return!0}function nP(e){if(void 0===e||0===e.length)return[];let t=[],n=e.length,i=0;for(;i<n;)if("user"===e[i].role)t.push(e[i]),i++;else{let r=[],l=!0;for(;i<n&&"model"===e[i].role;)r.push(e[i]),l&&!nN(e[i])&&(l=!1),i++;l?t.push(...r):t.pop()}return t}"function"==typeof SuppressedError&&SuppressedError;class nw{constructor(e,t){this.modelsModule=e,this.apiClient=t}create(e){return new nD(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class nD{constructor(e,t,n,i={},r=[]){this.apiClient=e,this.modelsModule=t,this.model=n,this.config=i,this.history=r,this.sendPromise=Promise.resolve(),function(e){if(0!==e.length){for(let t of e)if("user"!==t.role&&"model"!==t.role)throw Error(`Role must be user or model, but got ${t.role}.`)}}(r)}async sendMessage(e){var t;await this.sendPromise;let n=t7(e.message),i=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(n),config:null!=(t=e.config)?t:this.config});return this.sendPromise=(async()=>{var e,t,r;let l=await i,o=null==(t=null==(e=l.candidates)?void 0:e[0])?void 0:t.content,s=l.automaticFunctionCallingHistory,a=this.getHistory(!0).length,u=[];null!=s&&(u=null!=(r=s.slice(a))?r:[]),this.recordHistory(n,o?[o]:[],u)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),i}async sendMessageStream(e){var t;await this.sendPromise;let n=t7(e.message),i=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(n),config:null!=(t=e.config)?t:this.config});this.sendPromise=i.then(()=>void 0).catch(()=>void 0);let r=await i;return this.processStreamResponse(r,n)}getHistory(e=!1){return structuredClone(e?nP(this.history):this.history)}processStreamResponse(e,t){return nb(this,arguments,function*(){let n=[];try{for(var i,r,l,o,s,a,u,p=!0,d=nR(e);!(i=(u=yield nO(d.next())).done);p=!0){if(o=u.value,p=!1,function(e){var t;if(void 0==e.candidates||0===e.candidates.length)return!1;let n=null==(t=e.candidates[0])?void 0:t.content;return void 0!==n&&nN(n)}(o)){let e=null==(a=null==(s=o.candidates)?void 0:s[0])?void 0:a.content;void 0!==e&&n.push(e)}yield yield nO(o)}}catch(e){r={error:e}}finally{try{!p&&!i&&(l=d.return)&&(yield nO(l.call(d)))}finally{if(r)throw r.error}}this.recordHistory(t,n)})}recordHistory(e,t,n){let i=[];t.length>0&&t.every(e=>void 0!==e.role)?i=t:i.push({role:"model",parts:[]}),n&&n.length>0?this.history.push(...nP(n)):this.history.push(e),this.history.push(...i)}}class nM extends Error{constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,nM.prototype)}}class nU extends ty{constructor(e){super(),this.apiClient=e,this.list=async(e={})=>new n_(tm.PAGED_ITEM_FILES,e=>this.listInternal(e),await this.listInternal(e),e)}async upload(e){if(this.apiClient.isVertexAI())throw Error("Vertex AI does not support uploading files. You can share files through a GCS bucket.");return this.apiClient.uploadFile(e.file,e.config).then(e=>e)}async download(e){await this.apiClient.downloadFile(e)}async registerFiles(e){throw Error("registerFiles is only supported in Node.js environments.")}async _registerFiles(e){return this.registerFilesInternal(e)}async listInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u=(l={},null!=(o=t_(e,["config"]))&&(s=t_(o,["pageSize"]),void 0!==l&&null!=s&&tI(l,["_query","pageSize"],s),a=t_(o,["pageToken"]),void 0!==l&&null!=a&&tI(l,["_query","pageToken"],a)),l);return i=tE("files",u._url),r=u._query,delete u._url,delete u._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(u),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["files"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["files"],e)}return t}(e),n=new tB;return Object.assign(n,t),n})}}async createInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["file"]))&&tI(l,["file"],o),l);return i=tE("upload/v1beta/files",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tJ;return Object.assign(r,i),r})}}async get(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","file"],nu(o)),l);return i=tE("files/{file}",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}}async delete(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","file"],nu(o)),l);return i=tE("files/{file}",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tK;return Object.assign(r,i),r})}}async registerFilesInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["uris"]))&&tI(l,["uris"],o),l);return i=tE("files:register",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["files"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["files"],e)}return t}(e),n=new tY;return Object.assign(n,t),n})}}}function nG(e){if(void 0!==t_(e,["languageCodes"]))throw Error("languageCodes parameter is not supported in Gemini API.");return{}}function nx(e){let t={},n=t_(e,["data"]);if(null!=n&&tI(t,["data"],n),void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}function nL(e,t){let n={},i=t_(e,["parts"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c,h,f,m;return n={},null!=(i=t_(t=e,["mediaResolution"]))&&tI(n,["mediaResolution"],i),null!=(r=t_(t,["codeExecutionResult"]))&&tI(n,["codeExecutionResult"],r),null!=(l=t_(t,["executableCode"]))&&tI(n,["executableCode"],l),null!=(o=t_(t,["fileData"]))&&tI(n,["fileData"],function(e,t){let n={};if(void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let i=t_(e,["fileUri"]);null!=i&&tI(n,["fileUri"],i);let r=t_(e,["mimeType"]);return null!=r&&tI(n,["mimeType"],r),n}(o)),null!=(s=t_(t,["functionCall"]))&&tI(n,["functionCall"],function(e,t){let n={},i=t_(e,["id"]);null!=i&&tI(n,["id"],i);let r=t_(e,["args"]);null!=r&&tI(n,["args"],r);let l=t_(e,["name"]);if(null!=l&&tI(n,["name"],l),void 0!==t_(e,["partialArgs"]))throw Error("partialArgs parameter is not supported in Gemini API.");if(void 0!==t_(e,["willContinue"]))throw Error("willContinue parameter is not supported in Gemini API.");return n}(s)),null!=(a=t_(t,["functionResponse"]))&&tI(n,["functionResponse"],a),null!=(u=t_(t,["inlineData"]))&&tI(n,["inlineData"],function(e,t){let n={},i=t_(e,["data"]);if(null!=i&&tI(n,["data"],i),void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let r=t_(e,["mimeType"]);return null!=r&&tI(n,["mimeType"],r),n}(u)),null!=(p=t_(t,["text"]))&&tI(n,["text"],p),null!=(d=t_(t,["thought"]))&&tI(n,["thought"],d),null!=(c=t_(t,["thoughtSignature"]))&&tI(n,["thoughtSignature"],c),null!=(h=t_(t,["videoMetadata"]))&&tI(n,["videoMetadata"],h),null!=(f=t_(t,["toolCall"]))&&tI(n,["toolCall"],f),null!=(m=t_(t,["toolResponse"]))&&tI(n,["toolResponse"],m),n})),tI(n,["parts"],e)}let r=t_(e,["role"]);return null!=r&&tI(n,["role"],r),n}function nk(e,t){let n={},i=t_(e,["parts"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n={},i=t_(e,["mediaResolution"]);null!=i&&tI(n,["mediaResolution"],i);let r=t_(e,["codeExecutionResult"]);null!=r&&tI(n,["codeExecutionResult"],r);let l=t_(e,["executableCode"]);null!=l&&tI(n,["executableCode"],l);let o=t_(e,["fileData"]);null!=o&&tI(n,["fileData"],o);let s=t_(e,["functionCall"]);null!=s&&tI(n,["functionCall"],s);let a=t_(e,["functionResponse"]);null!=a&&tI(n,["functionResponse"],a);let u=t_(e,["inlineData"]);null!=u&&tI(n,["inlineData"],u);let p=t_(e,["text"]);null!=p&&tI(n,["text"],p);let d=t_(e,["thought"]);null!=d&&tI(n,["thought"],d);let c=t_(e,["thoughtSignature"]);null!=c&&tI(n,["thoughtSignature"],c);let h=t_(e,["videoMetadata"]);if(null!=h&&tI(n,["videoMetadata"],h),void 0!==t_(e,["toolCall"]))throw Error("toolCall parameter is not supported in Vertex AI.");if(void 0!==t_(e,["toolResponse"]))throw Error("toolResponse parameter is not supported in Vertex AI.");return n})(e))),tI(n,["parts"],e)}let r=t_(e,["role"]);return null!=r&&tI(n,["role"],r),n}function nq(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nL(e))),tI(i,["contents"],e)}let o=t_(t,["config"]);return null!=o&&tI(i,["generationConfig"],function(e,t,n,i){var r;let l,o,s,a,u={},p=t_(t,["systemInstruction"]);void 0!==n&&null!=p&&tI(n,["systemInstruction"],nL(t7(p)));let d=t_(t,["temperature"]);null!=d&&tI(u,["temperature"],d);let c=t_(t,["topP"]);null!=c&&tI(u,["topP"],c);let h=t_(t,["topK"]);null!=h&&tI(u,["topK"],h);let f=t_(t,["candidateCount"]);null!=f&&tI(u,["candidateCount"],f);let m=t_(t,["maxOutputTokens"]);null!=m&&tI(u,["maxOutputTokens"],m);let g=t_(t,["stopSequences"]);null!=g&&tI(u,["stopSequences"],g);let y=t_(t,["responseLogprobs"]);null!=y&&tI(u,["responseLogprobs"],y);let E=t_(t,["logprobs"]);null!=E&&tI(u,["logprobs"],E);let I=t_(t,["presencePenalty"]);null!=I&&tI(u,["presencePenalty"],I);let _=t_(t,["frequencyPenalty"]);null!=_&&tI(u,["frequencyPenalty"],_);let v=t_(t,["seed"]);null!=v&&tI(u,["seed"],v);let T=t_(t,["responseMimeType"]);null!=T&&tI(u,["responseMimeType"],T);let A=t_(t,["responseSchema"]);null!=A&&tI(u,["responseSchema"],nn(A));let C=t_(t,["responseJsonSchema"]);if(null!=C&&tI(u,["responseJsonSchema"],C),void 0!==t_(t,["routingConfig"]))throw Error("routingConfig parameter is not supported in Gemini API.");if(void 0!==t_(t,["modelSelectionConfig"]))throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let S=t_(t,["safetySettings"]);if(void 0!==n&&null!=S){let e=S;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n={},i=t_(e,["category"]);if(null!=i&&tI(n,["category"],i),void 0!==t_(e,["method"]))throw Error("method parameter is not supported in Gemini API.");let r=t_(e,["threshold"]);return null!=r&&tI(n,["threshold"],r),n})(e))),tI(n,["safetySettings"],e)}let O=t_(t,["tools"]);if(void 0!==n&&null!=O){let e=no(O);Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n,i,r,l={};if(void 0!==t_(e,["retrieval"]))throw Error("retrieval parameter is not supported in Gemini API.");let o=t_(e,["computerUse"]);null!=o&&tI(l,["computerUse"],o);let s=t_(e,["fileSearch"]);null!=s&&tI(l,["fileSearch"],s);let a=t_(e,["googleSearch"]);null!=a&&tI(l,["googleSearch"],function(e,t){let n={},i=t_(e,["searchTypes"]);if(null!=i&&tI(n,["searchTypes"],i),void 0!==t_(e,["blockingConfidence"]))throw Error("blockingConfidence parameter is not supported in Gemini API.");if(void 0!==t_(e,["excludeDomains"]))throw Error("excludeDomains parameter is not supported in Gemini API.");let r=t_(e,["timeRangeFilter"]);return null!=r&&tI(n,["timeRangeFilter"],r),n}(a));let u=t_(e,["googleMaps"]);null!=u&&tI(l,["googleMaps"],(n={},null!=(i=t_(u,["authConfig"]))&&tI(n,["authConfig"],function(e,t){let n={},i=t_(e,["apiKey"]);if(null!=i&&tI(n,["apiKey"],i),void 0!==t_(e,["apiKeyConfig"]))throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["authType"]))throw Error("authType parameter is not supported in Gemini API.");if(void 0!==t_(e,["googleServiceAccountConfig"]))throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["httpBasicAuthConfig"]))throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oauthConfig"]))throw Error("oauthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oidcConfig"]))throw Error("oidcConfig parameter is not supported in Gemini API.");return n}(i)),null!=(r=t_(u,["enableWidget"]))&&tI(n,["enableWidget"],r),n));let p=t_(e,["codeExecution"]);if(null!=p&&tI(l,["codeExecution"],p),void 0!==t_(e,["enterpriseWebSearch"]))throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=t_(e,["functionDeclarations"]);if(null!=d){let e=d;Array.isArray(e)&&(e=e.map(e=>e)),tI(l,["functionDeclarations"],e)}let c=t_(e,["googleSearchRetrieval"]);if(null!=c&&tI(l,["googleSearchRetrieval"],c),void 0!==t_(e,["parallelAiSearch"]))throw Error("parallelAiSearch parameter is not supported in Gemini API.");let h=t_(e,["urlContext"]);null!=h&&tI(l,["urlContext"],h);let f=t_(e,["mcpServers"]);if(null!=f){let e=f;Array.isArray(e)&&(e=e.map(e=>e)),tI(l,["mcpServers"],e)}return l})(nl(e)))),tI(n,["tools"],e)}let b=t_(t,["toolConfig"]);if(void 0!==n&&null!=b&&tI(n,["toolConfig"],(l={},null!=(o=t_(r=b,["retrievalConfig"]))&&tI(l,["retrievalConfig"],o),null!=(s=t_(r,["functionCallingConfig"]))&&tI(l,["functionCallingConfig"],function(e,t){let n={},i=t_(e,["allowedFunctionNames"]);null!=i&&tI(n,["allowedFunctionNames"],i);let r=t_(e,["mode"]);if(null!=r&&tI(n,["mode"],r),void 0!==t_(e,["streamFunctionCallArguments"]))throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}(s)),null!=(a=t_(r,["includeServerSideToolInvocations"]))&&tI(l,["includeServerSideToolInvocations"],a),l)),void 0!==t_(t,["labels"]))throw Error("labels parameter is not supported in Gemini API.");let R=t_(t,["cachedContent"]);void 0!==n&&null!=R&&tI(n,["cachedContent"],ns(e,R));let N=t_(t,["responseModalities"]);null!=N&&tI(u,["responseModalities"],N);let P=t_(t,["mediaResolution"]);null!=P&&tI(u,["mediaResolution"],P);let w=t_(t,["speechConfig"]);if(null!=w&&tI(u,["speechConfig"],ni(w)),void 0!==t_(t,["audioTimestamp"]))throw Error("audioTimestamp parameter is not supported in Gemini API.");let D=t_(t,["thinkingConfig"]);null!=D&&tI(u,["thinkingConfig"],D);let M=t_(t,["imageConfig"]);null!=M&&tI(u,["imageConfig"],function(e,t){let n={},i=t_(e,["aspectRatio"]);null!=i&&tI(n,["aspectRatio"],i);let r=t_(e,["imageSize"]);if(null!=r&&tI(n,["imageSize"],r),void 0!==t_(e,["personGeneration"]))throw Error("personGeneration parameter is not supported in Gemini API.");if(void 0!==t_(e,["prominentPeople"]))throw Error("prominentPeople parameter is not supported in Gemini API.");if(void 0!==t_(e,["outputMimeType"]))throw Error("outputMimeType parameter is not supported in Gemini API.");if(void 0!==t_(e,["outputCompressionQuality"]))throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(void 0!==t_(e,["imageOutputOptions"]))throw Error("imageOutputOptions parameter is not supported in Gemini API.");return n}(M));let U=t_(t,["enableEnhancedCivicAnswers"]);if(null!=U&&tI(u,["enableEnhancedCivicAnswers"],U),void 0!==t_(t,["modelArmorConfig"]))throw Error("modelArmorConfig parameter is not supported in Gemini API.");return u}(e,o,i)),i}function nH(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nk(e))),tI(i,["contents"],e)}let o=t_(t,["config"]);return null!=o&&tI(i,["generationConfig"],function(e,t,n,i){var r;let l,o,s,a,u,p,d,c,h={},f=t_(t,["systemInstruction"]);void 0!==n&&null!=f&&tI(n,["systemInstruction"],nk(t7(f)));let m=t_(t,["temperature"]);null!=m&&tI(h,["temperature"],m);let g=t_(t,["topP"]);null!=g&&tI(h,["topP"],g);let y=t_(t,["topK"]);null!=y&&tI(h,["topK"],y);let E=t_(t,["candidateCount"]);null!=E&&tI(h,["candidateCount"],E);let I=t_(t,["maxOutputTokens"]);null!=I&&tI(h,["maxOutputTokens"],I);let _=t_(t,["stopSequences"]);null!=_&&tI(h,["stopSequences"],_);let v=t_(t,["responseLogprobs"]);null!=v&&tI(h,["responseLogprobs"],v);let T=t_(t,["logprobs"]);null!=T&&tI(h,["logprobs"],T);let A=t_(t,["presencePenalty"]);null!=A&&tI(h,["presencePenalty"],A);let C=t_(t,["frequencyPenalty"]);null!=C&&tI(h,["frequencyPenalty"],C);let S=t_(t,["seed"]);null!=S&&tI(h,["seed"],S);let O=t_(t,["responseMimeType"]);null!=O&&tI(h,["responseMimeType"],O);let b=t_(t,["responseSchema"]);null!=b&&tI(h,["responseSchema"],nn(b));let R=t_(t,["responseJsonSchema"]);null!=R&&tI(h,["responseJsonSchema"],R);let N=t_(t,["routingConfig"]);null!=N&&tI(h,["routingConfig"],N);let P=t_(t,["modelSelectionConfig"]);null!=P&&tI(h,["modelConfig"],P);let w=t_(t,["safetySettings"]);if(void 0!==n&&null!=w){let e=w;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["safetySettings"],e)}let D=t_(t,["tools"]);if(void 0!==n&&null!=D){let e=no(D);Array.isArray(e)&&(e=e.map(e=>nX(nl(e)))),tI(n,["tools"],e)}let M=t_(t,["toolConfig"]);void 0!==n&&null!=M&&tI(n,["toolConfig"],function(e,t){let n={},i=t_(e,["retrievalConfig"]);null!=i&&tI(n,["retrievalConfig"],i);let r=t_(e,["functionCallingConfig"]);if(null!=r&&tI(n,["functionCallingConfig"],r),void 0!==t_(e,["includeServerSideToolInvocations"]))throw Error("includeServerSideToolInvocations parameter is not supported in Vertex AI.");return n}(M));let U=t_(t,["labels"]);void 0!==n&&null!=U&&tI(n,["labels"],U);let G=t_(t,["cachedContent"]);void 0!==n&&null!=G&&tI(n,["cachedContent"],ns(e,G));let x=t_(t,["responseModalities"]);null!=x&&tI(h,["responseModalities"],x);let L=t_(t,["mediaResolution"]);null!=L&&tI(h,["mediaResolution"],L);let k=t_(t,["speechConfig"]);null!=k&&tI(h,["speechConfig"],ni(k));let q=t_(t,["audioTimestamp"]);null!=q&&tI(h,["audioTimestamp"],q);let H=t_(t,["thinkingConfig"]);null!=H&&tI(h,["thinkingConfig"],H);let F=t_(t,["imageConfig"]);if(null!=F&&tI(h,["imageConfig"],(l={},null!=(o=t_(r=F,["aspectRatio"]))&&tI(l,["aspectRatio"],o),null!=(s=t_(r,["imageSize"]))&&tI(l,["imageSize"],s),null!=(a=t_(r,["personGeneration"]))&&tI(l,["personGeneration"],a),null!=(u=t_(r,["prominentPeople"]))&&tI(l,["prominentPeople"],u),null!=(p=t_(r,["outputMimeType"]))&&tI(l,["imageOutputOptions","mimeType"],p),null!=(d=t_(r,["outputCompressionQuality"]))&&tI(l,["imageOutputOptions","compressionQuality"],d),null!=(c=t_(r,["imageOutputOptions"]))&&tI(l,["imageOutputOptions"],c),l)),void 0!==t_(t,["enableEnhancedCivicAnswers"]))throw Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");let j=t_(t,["modelArmorConfig"]);return void 0!==n&&null!=j&&tI(n,["modelArmorConfig"],j),h}(e,o,i)),i}function nF(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["candidates"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n={},i=t_(e,["content"]);null!=i&&tI(n,["content"],i);let r=t_(e,["citationMetadata"]);null!=r&&tI(n,["citationMetadata"],function(e,t){let n={},i=t_(e,["citationSources"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["citations"],e)}return n}(r));let l=t_(e,["tokenCount"]);null!=l&&tI(n,["tokenCount"],l);let o=t_(e,["finishReason"]);null!=o&&tI(n,["finishReason"],o);let s=t_(e,["groundingMetadata"]);null!=s&&tI(n,["groundingMetadata"],s);let a=t_(e,["avgLogprobs"]);null!=a&&tI(n,["avgLogprobs"],a);let u=t_(e,["index"]);null!=u&&tI(n,["index"],u);let p=t_(e,["logprobsResult"]);null!=p&&tI(n,["logprobsResult"],p);let d=t_(e,["safetyRatings"]);if(null!=d){let e=d;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["safetyRatings"],e)}let c=t_(e,["urlContextMetadata"]);return null!=c&&tI(n,["urlContextMetadata"],c),n})(e))),tI(n,["candidates"],e)}let l=t_(e,["modelVersion"]);null!=l&&tI(n,["modelVersion"],l);let o=t_(e,["promptFeedback"]);null!=o&&tI(n,["promptFeedback"],o);let s=t_(e,["responseId"]);null!=s&&tI(n,["responseId"],s);let a=t_(e,["usageMetadata"]);return null!=a&&tI(n,["usageMetadata"],a),n}function nj(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["candidates"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["candidates"],e)}let l=t_(e,["createTime"]);null!=l&&tI(n,["createTime"],l);let o=t_(e,["modelVersion"]);null!=o&&tI(n,["modelVersion"],o);let s=t_(e,["promptFeedback"]);null!=s&&tI(n,["promptFeedback"],s);let a=t_(e,["responseId"]);null!=a&&tI(n,["responseId"],a);let u=t_(e,["usageMetadata"]);return null!=u&&tI(n,["usageMetadata"],u),n}function nV(e,t){let n={},i=t_(e,["_self"]);null!=i&&tI(n,["image"],nB(i));let r=t_(e,["raiFilteredReason"]);null!=r&&tI(n,["raiFilteredReason"],r);let l=t_(e,["_self"]);null!=l&&tI(n,["safetyAttributes"],nz(l));let o=t_(e,["prompt"]);return null!=o&&tI(n,["enhancedPrompt"],o),n}function nB(e,t){let n={},i=t_(e,["gcsUri"]);null!=i&&tI(n,["gcsUri"],i);let r=t_(e,["bytesBase64Encoded"]);null!=r&&tI(n,["imageBytes"],tv(r));let l=t_(e,["mimeType"]);return null!=l&&tI(n,["mimeType"],l),n}function nJ(e,t){let n={};if(void 0!==t_(e,["gcsUri"]))throw Error("gcsUri parameter is not supported in Gemini API.");let i=t_(e,["imageBytes"]);null!=i&&tI(n,["bytesBase64Encoded"],tv(i));let r=t_(e,["mimeType"]);return null!=r&&tI(n,["mimeType"],r),n}function nK(e,t){let n={},i=t_(e,["gcsUri"]);null!=i&&tI(n,["gcsUri"],i);let r=t_(e,["imageBytes"]);null!=r&&tI(n,["bytesBase64Encoded"],tv(r));let l=t_(e,["mimeType"]);return null!=l&&tI(n,["mimeType"],l),n}function nY(e,t){var n;let i,r,l,o,s={},a=t_(e,["name"]);null!=a&&tI(s,["name"],a);let u=t_(e,["displayName"]);null!=u&&tI(s,["displayName"],u);let p=t_(e,["description"]);null!=p&&tI(s,["description"],p);let d=t_(e,["version"]);null!=d&&tI(s,["version"],d);let c=t_(e,["_self"]);null!=c&&tI(s,["tunedModelInfo"],(i={},null!=(r=t_(n=c,["baseModel"]))&&tI(i,["baseModel"],r),null!=(l=t_(n,["createTime"]))&&tI(i,["createTime"],l),null!=(o=t_(n,["updateTime"]))&&tI(i,["updateTime"],o),i));let h=t_(e,["inputTokenLimit"]);null!=h&&tI(s,["inputTokenLimit"],h);let f=t_(e,["outputTokenLimit"]);null!=f&&tI(s,["outputTokenLimit"],f);let m=t_(e,["supportedGenerationMethods"]);null!=m&&tI(s,["supportedActions"],m);let g=t_(e,["temperature"]);null!=g&&tI(s,["temperature"],g);let y=t_(e,["maxTemperature"]);null!=y&&tI(s,["maxTemperature"],y);let E=t_(e,["topP"]);null!=E&&tI(s,["topP"],E);let I=t_(e,["topK"]);null!=I&&tI(s,["topK"],I);let _=t_(e,["thinking"]);return null!=_&&tI(s,["thinking"],_),s}function n$(e,t){var n;let i,r,l,o,s={},a=t_(e,["name"]);null!=a&&tI(s,["name"],a);let u=t_(e,["displayName"]);null!=u&&tI(s,["displayName"],u);let p=t_(e,["description"]);null!=p&&tI(s,["description"],p);let d=t_(e,["versionId"]);null!=d&&tI(s,["version"],d);let c=t_(e,["deployedModels"]);if(null!=c){let e=c;Array.isArray(e)&&(e=e.map(e=>{let t,n,i;return t={},null!=(n=t_(e,["endpoint"]))&&tI(t,["name"],n),null!=(i=t_(e,["deployedModelId"]))&&tI(t,["deployedModelId"],i),t})),tI(s,["endpoints"],e)}let h=t_(e,["labels"]);null!=h&&tI(s,["labels"],h);let f=t_(e,["_self"]);null!=f&&tI(s,["tunedModelInfo"],(i={},null!=(r=t_(n=f,["labels","google-vertex-llm-tuning-base-model-id"]))&&tI(i,["baseModel"],r),null!=(l=t_(n,["createTime"]))&&tI(i,["createTime"],l),null!=(o=t_(n,["updateTime"]))&&tI(i,["updateTime"],o),i));let m=t_(e,["defaultCheckpointId"]);null!=m&&tI(s,["defaultCheckpointId"],m);let g=t_(e,["checkpoints"]);if(null!=g){let e=g;Array.isArray(e)&&(e=e.map(e=>e)),tI(s,["checkpoints"],e)}return s}function nW(e,t){let n={},i=t_(e,["safetyAttributes","categories"]);null!=i&&tI(n,["categories"],i);let r=t_(e,["safetyAttributes","scores"]);null!=r&&tI(n,["scores"],r);let l=t_(e,["contentType"]);return null!=l&&tI(n,["contentType"],l),n}function nz(e,t){let n={},i=t_(e,["safetyAttributes","categories"]);null!=i&&tI(n,["categories"],i);let r=t_(e,["safetyAttributes","scores"]);null!=r&&tI(n,["scores"],r);let l=t_(e,["contentType"]);return null!=l&&tI(n,["contentType"],l),n}function nX(e,t){let n={},i=t_(e,["retrieval"]);null!=i&&tI(n,["retrieval"],i);let r=t_(e,["computerUse"]);if(null!=r&&tI(n,["computerUse"],r),void 0!==t_(e,["fileSearch"]))throw Error("fileSearch parameter is not supported in Vertex AI.");let l=t_(e,["googleSearch"]);null!=l&&tI(n,["googleSearch"],l);let o=t_(e,["googleMaps"]);null!=o&&tI(n,["googleMaps"],o);let s=t_(e,["codeExecution"]);null!=s&&tI(n,["codeExecution"],s);let a=t_(e,["enterpriseWebSearch"]);null!=a&&tI(n,["enterpriseWebSearch"],a);let u=t_(e,["functionDeclarations"]);if(null!=u){let e=u;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n={},i=t_(e,["description"]);null!=i&&tI(n,["description"],i);let r=t_(e,["name"]);null!=r&&tI(n,["name"],r);let l=t_(e,["parameters"]);null!=l&&tI(n,["parameters"],l);let o=t_(e,["parametersJsonSchema"]);null!=o&&tI(n,["parametersJsonSchema"],o);let s=t_(e,["response"]);null!=s&&tI(n,["response"],s);let a=t_(e,["responseJsonSchema"]);if(null!=a&&tI(n,["responseJsonSchema"],a),void 0!==t_(e,["behavior"]))throw Error("behavior parameter is not supported in Vertex AI.");return n})(e))),tI(n,["functionDeclarations"],e)}let p=t_(e,["googleSearchRetrieval"]);null!=p&&tI(n,["googleSearchRetrieval"],p);let d=t_(e,["parallelAiSearch"]);null!=d&&tI(n,["parallelAiSearch"],d);let c=t_(e,["urlContext"]);if(null!=c&&tI(n,["urlContext"],c),void 0!==t_(e,["mcpServers"]))throw Error("mcpServers parameter is not supported in Vertex AI.");return n}function nQ(e,t){let n={},i=t_(e,["uri"]);null!=i&&tI(n,["uri"],i);let r=t_(e,["videoBytes"]);null!=r&&tI(n,["encodedVideo"],tv(r));let l=t_(e,["mimeType"]);return null!=l&&tI(n,["encoding"],l),n}function nZ(e,t){let n={},i=t_(e,["uri"]);null!=i&&tI(n,["gcsUri"],i);let r=t_(e,["videoBytes"]);null!=r&&tI(n,["bytesBase64Encoded"],tv(r));let l=t_(e,["mimeType"]);return null!=l&&tI(n,["mimeType"],l),n}function n0(e,t){let n=t_(e,["mimeType"]);void 0!==t&&null!=n&&tI(t,["mimeType"],n);let i=t_(e,["displayName"]);void 0!==t&&null!=i&&tI(t,["displayName"],i);let r=t_(e,["customMetadata"]);if(void 0!==t&&null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["customMetadata"],e)}let l=t_(e,["chunkingConfig"]);return void 0!==t&&null!=l&&tI(t,["chunkingConfig"],l),{}}let n1="x-goog-api-client",n2=[408,429,500,502,503,504];class n4{constructor(e){var t,n,i;this.clientOptions=Object.assign({},e),this.customBaseUrl=null==(t=e.httpOptions)?void 0:t.baseUrl,this.clientOptions.vertexai&&(this.clientOptions.project&&this.clientOptions.location?this.clientOptions.apiKey=void 0:this.clientOptions.apiKey&&(this.clientOptions.project=void 0,this.clientOptions.location=void 0));const r={};if(this.clientOptions.vertexai){if(this.clientOptions.location||this.clientOptions.apiKey||this.customBaseUrl||(this.clientOptions.location="global"),!(this.clientOptions.project&&this.clientOptions.location||this.clientOptions.apiKey)&&!this.customBaseUrl)throw Error("Authentication is not set up. Please provide either a project and location, or an API key, or a custom base URL.");const t=e.project&&e.location||!!e.apiKey;this.customBaseUrl&&!t?(r.baseUrl=this.customBaseUrl,this.clientOptions.project=void 0,this.clientOptions.location=void 0):this.clientOptions.apiKey||"global"===this.clientOptions.location?r.baseUrl="https://aiplatform.googleapis.com/":this.clientOptions.project&&this.clientOptions.location&&(r.baseUrl=`https://${this.clientOptions.location}-aiplatform.googleapis.com/`),r.apiVersion=null!=(n=this.clientOptions.apiVersion)?n:"v1beta1"}else this.clientOptions.apiKey||console.warn("API key should be set when using the Gemini API."),r.apiVersion=null!=(i=this.clientOptions.apiVersion)?i:"v1beta",r.baseUrl="https://generativelanguage.googleapis.com/";r.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=r,e.httpOptions&&(this.clientOptions.httpOptions=this.patchHttpOptions(r,e.httpOptions))}isVertexAI(){var e;return null!=(e=this.clientOptions.vertexai)&&e}getProject(){return this.clientOptions.project}getLocation(){return this.clientOptions.location}getCustomBaseUrl(){return this.customBaseUrl}async getAuthHeaders(){let e=new Headers;return await this.clientOptions.auth.addAuthHeaders(e),e}getApiVersion(){if(this.clientOptions.httpOptions&&void 0!==this.clientOptions.httpOptions.apiVersion)return this.clientOptions.httpOptions.apiVersion;throw Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&void 0!==this.clientOptions.httpOptions.baseUrl)return this.clientOptions.httpOptions.baseUrl;throw Error("Base URL is not set.")}getRequestUrl(){return this.getRequestUrlInternal(this.clientOptions.httpOptions)}getHeaders(){if(this.clientOptions.httpOptions&&void 0!==this.clientOptions.httpOptions.headers)return this.clientOptions.httpOptions.headers;throw Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||void 0===e.baseUrl||void 0===e.apiVersion)throw Error("HTTP options are not correctly set.");let t=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&""!==e.apiVersion&&t.push(e.apiVersion),t.join("/")}getBaseResourcePath(){return`projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`}getApiKey(){return this.clientOptions.apiKey}getWebsocketBaseUrl(){let e=new URL(this.getBaseUrl());return e.protocol="http:"==e.protocol?"ws":"wss",e.toString()}setBaseUrl(e){if(this.clientOptions.httpOptions)this.clientOptions.httpOptions.baseUrl=e;else throw Error("HTTP options are not correctly set.")}constructUrl(e,t,n){let i=[this.getRequestUrlInternal(t)];return n&&i.push(this.getBaseResourcePath()),""!==e&&i.push(e),new URL(`${i.join("/")}`)}shouldPrependVertexProjectPath(e,t){return!(t.baseUrl&&t.baseUrlResourceScope===eW.COLLECTION||this.clientOptions.apiKey||!this.clientOptions.vertexai||e.path.startsWith("projects/")||"GET"===e.httpMethod&&e.path.startsWith("publishers/google/models"))}async request(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let n=this.shouldPrependVertexProjectPath(e,t),i=this.constructUrl(e.path,t,n);if(e.queryParams)for(let[t,n]of Object.entries(e.queryParams))i.searchParams.append(t,String(n));let r={};if("GET"===e.httpMethod){if(e.body&&"{}"!==e.body)throw Error("Request body should be empty for GET request, but got non empty request body")}else r.body=e.body;return r=await this.includeExtraHttpOptionsToRequestInit(r,t,i.toString(),e.abortSignal),this.unaryApiCall(i,r,e.httpMethod)}patchHttpOptions(e,t){let n=JSON.parse(JSON.stringify(e));for(let[e,i]of Object.entries(t))"object"==typeof i?n[e]=Object.assign(Object.assign({},n[e]),i):void 0!==i&&(n[e]=i);return n}async requestStream(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let n=this.shouldPrependVertexProjectPath(e,t),i=this.constructUrl(e.path,t,n);i.searchParams.has("alt")&&"sse"===i.searchParams.get("alt")||i.searchParams.set("alt","sse");let r={};return r.body=e.body,r=await this.includeExtraHttpOptionsToRequestInit(r,t,i.toString(),e.abortSignal),this.streamApiCall(i,r,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,t,n,i){if(t&&t.timeout||i){let n=new AbortController,r=n.signal;if(t.timeout&&(null==t?void 0:t.timeout)>0){let e=setTimeout(()=>n.abort(),t.timeout);e&&"function"==typeof e.unref&&e.unref()}i&&i.addEventListener("abort",()=>{n.abort()}),e.signal=r}return t&&null!==t.extraBody&&function(e,t){if(!t||0===Object.keys(t).length)return;if(e.body instanceof Blob)return console.warn("includeExtraBodyToRequestInit: extraBody provided but current request body is a Blob. extraBody will be ignored as merging is not supported for Blob bodies.");let n={};if("string"==typeof e.body&&e.body.length>0)try{let t=JSON.parse(e.body);if("object"!=typeof t||null===t||Array.isArray(t))return void console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");n=t}catch(e){console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}e.body=JSON.stringify(function e(t,n){let i=Object.assign({},t);for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){let r=n[t],l=i[t];r&&"object"==typeof r&&!Array.isArray(r)&&l&&"object"==typeof l&&!Array.isArray(l)?i[t]=e(l,r):(l&&r&&typeof l!=typeof r&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${t}". Original type: ${typeof l}, New type: ${typeof r}. Overwriting.`),i[t]=r)}return i}(n,t))}(e,t.extraBody),e.headers=await this.getHeadersInternal(t,n),e}async unaryApiCall(e,t,n){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:n})).then(async e=>(await n5(e),new tA(e))).catch(e=>{if(e instanceof Error)throw e;throw Error(JSON.stringify(e))})}async streamApiCall(e,t,n){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:n})).then(async e=>(await n5(e),this.processStreamResponse(e))).catch(e=>{if(e instanceof Error)throw e;throw Error(JSON.stringify(e))})}processStreamResponse(e){return nb(this,arguments,function*(){var t;let n=null==(t=null==e?void 0:e.body)?void 0:t.getReader(),i=new TextDecoder("utf-8");if(!n)throw Error("Response body is empty");try{let t="",r="data:",l=["\n\n","\r\r","\r\n\r\n"];for(;;){let{done:o,value:s}=yield nO(n.read());if(o){if(t.trim().length>0)throw Error("Incomplete JSON segment at the end");break}let a=i.decode(s,{stream:!0});try{let e=JSON.parse(a);if("error"in e){let t=JSON.parse(JSON.stringify(e.error)),n=t.status,i=t.code,r=`got status: ${n}. ${JSON.stringify(e)}`;if(i>=400&&i<600)throw new nM({message:r,status:i})}}catch(e){if("ApiError"===e.name)throw e}t+=a;let u=-1,p=0;for(;;){for(let e of(u=-1,p=0,l)){let n=t.indexOf(e);-1!==n&&(-1===u||n<u)&&(u=n,p=e.length)}if(-1===u)break;let n=t.substring(0,u);t=t.substring(u+p);let i=n.trim();if(i.startsWith(r)){let t=i.substring(r.length).trim();try{let n=new Response(t,{headers:null==e?void 0:e.headers,status:null==e?void 0:e.status,statusText:null==e?void 0:e.statusText});yield yield nO(new tA(n))}catch(e){throw Error(`exception parsing stream chunk ${t}. ${e}`)}}}}}finally{n.releaseLock()}})}async apiCall(e,t){var n;if(!this.clientOptions.httpOptions||!this.clientOptions.httpOptions.retryOptions)return fetch(e,t);let i=this.clientOptions.httpOptions.retryOptions,r=async()=>{let n=await fetch(e,t);if(n.ok)return n;if(n2.includes(n.status))throw Error(`Retryable HTTP Error: ${n.statusText}`);throw new tg.AbortError(`Non-retryable exception ${n.statusText} sending request`)};return tg(r,{retries:(null!=(n=i.attempts)?n:5)-1})}getDefaultHeaders(){let e={},t="google-genai-sdk/1.46.0 "+this.clientOptions.userAgentExtra;return e["User-Agent"]=t,e[n1]=t,e["Content-Type"]="application/json",e}async getHeadersInternal(e,t){let n=new Headers;if(e&&e.headers){for(let[t,i]of Object.entries(e.headers))n.append(t,i);e.timeout&&e.timeout>0&&n.append("X-Server-Timeout",String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(n,t),n}getFileName(e){var t;let n="";return"string"==typeof e&&(n=null!=(t=(n=e.replace(/[/\\]+$/,"")).split(/[/\\]/).pop())?t:""),n}async uploadFile(e,t){var n;let i={};null!=t&&(i.mimeType=t.mimeType,i.name=t.name,i.displayName=t.displayName),i.name&&!i.name.startsWith("files/")&&(i.name=`files/${i.name}`);let r=this.clientOptions.uploader,l=await r.stat(e);i.sizeBytes=String(l.size);let o=null!=(n=null==t?void 0:t.mimeType)?n:l.type;if(void 0===o||""===o)throw Error("Can not determine mimeType. Please provide mimeType in the config.");i.mimeType=o;let s={file:i},a=this.getFileName(e),u=tE("upload/v1beta/files",s._url),p=await this.fetchUploadUrl(u,i.sizeBytes,i.mimeType,a,s,null==t?void 0:t.httpOptions);return r.upload(e,p,this)}async uploadFileToFileSearchStore(e,t,n){var i;let r=this.clientOptions.uploader,l=await r.stat(t),o=String(l.size),s=null!=(i=null==n?void 0:n.mimeType)?i:l.type;if(void 0===s||""===s)throw Error("Can not determine mimeType. Please provide mimeType in the config.");let a=`upload/v1beta/${e}:uploadToFileSearchStore`,u=this.getFileName(t),p={};null!=n&&n0(n,p);let d=await this.fetchUploadUrl(a,o,s,u,p,null==n?void 0:n.httpOptions);return r.uploadToFileSearchStore(t,d,this)}async downloadFile(e){let t=this.clientOptions.downloader;await t.download(e,this)}async fetchUploadUrl(e,t,n,i,r,l){var o;let s={};s=l||{apiVersion:"",headers:Object.assign({"Content-Type":"application/json","X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${t}`,"X-Goog-Upload-Header-Content-Type":`${n}`},i?{"X-Goog-Upload-File-Name":i}:{})};let a=await this.request({path:e,body:JSON.stringify(r),httpMethod:"POST",httpOptions:s});if(!a||!(null==a?void 0:a.headers))throw Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");let u=null==(o=null==a?void 0:a.headers)?void 0:o["x-goog-upload-url"];if(void 0===u)throw Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return u}}async function n5(e){var t;if(void 0===e)throw Error("response is undefined");if(!e.ok){let n=e.status,i=JSON.stringify((null==(t=e.headers.get("content-type"))?void 0:t.includes("application/json"))?await e.json():{error:{message:await e.text(),code:e.status,status:e.statusText}});if(n>=400&&n<600)throw new nM({message:i,status:n});throw Error(i)}}function n9(e){for(let n of e){var t;if(null!==(t=n)&&"object"==typeof t&&t instanceof n8||"object"==typeof n&&"inputSchema"in n)return!0}return!1}function n3(e){var t;let n=null!=(t=e[n1])?t:"";e[n1]=(n+" mcp_used/unknown").trimStart()}class n8{constructor(e=[],t){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=t}static create(e,t){return new n8(e,t)}async initialize(){var e,t,n,i;if(this.mcpTools.length>0)return;let r={},l=[];for(let u of this.mcpClients)try{for(var o,s=!0,a=(t=void 0,nR(function(e){return nb(this,arguments,function*(e,t=100){let n,i=0;for(;i<t;){let t=yield nO(e.listTools({cursor:n}));for(let e of t.tools)yield yield nO(e),i++;if(!t.nextCursor)break;n=t.nextCursor}})}(u)));!(e=(o=await a.next()).done);s=!0){i=o.value,s=!1,l.push(i);let e=i.name;if(r[e])throw Error(`Duplicate function name ${e} found in MCP tools. Please ensure function names are unique.`);r[e]=u}}catch(e){t={error:e}}finally{try{!s&&!e&&(n=a.return)&&await n.call(a)}finally{if(t)throw t.error}}this.mcpTools=l,this.functionNameToMcpClient=r}async tool(){return await this.initialize(),function(e,t={}){let n=[],i=new Set;for(let r of e){let e=r.name;if(i.has(e))throw Error(`Duplicate function name ${e} found in MCP tools. Please ensure function names are unique.`);i.add(e);let l=function(e,t={}){let n={name:e.name,description:e.description,parametersJsonSchema:e.inputSchema};return e.outputSchema&&(n.responseJsonSchema=e.outputSchema),t.behavior&&(n.behavior=t.behavior),{functionDeclarations:[n]}}(r,t);l.functionDeclarations&&n.push(...l.functionDeclarations)}return{functionDeclarations:n}}(this.mcpTools,this.config)}async callTool(e){await this.initialize();let t=[];for(let n of e)if(n.name in this.functionNameToMcpClient){let e,i=this.functionNameToMcpClient[n.name];this.config.timeout&&(e={timeout:this.config.timeout});let r=await i.callTool({name:n.name,arguments:n.args},void 0,e);t.push({functionResponse:{name:n.name,response:r.isError?{error:r}:r}})}return t}}async function n6(e,t,n){let i=new tz;Object.assign(i,n.data instanceof Blob?JSON.parse(await n.data.text()):JSON.parse(n.data)),t(i)}class n7{constructor(e,t,n){this.apiClient=e,this.auth=t,this.webSocketFactory=n}async connect(e){var t,n;let i;if(this.apiClient.isVertexAI())throw Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");let r=this.apiClient.getWebsocketBaseUrl(),l=this.apiClient.getApiVersion(),o=function(e){let t=new Headers;for(let[n,i]of Object.entries(e))t.append(n,i);return t}(this.apiClient.getDefaultHeaders()),s=this.apiClient.getApiKey(),a=`${r}/ws/google.ai.generativelanguage.${l}.GenerativeService.BidiGenerateMusic?key=${s}`,u=()=>{},p=new Promise(e=>{u=e}),d=e.callbacks,c=this.apiClient,h={onopen:function(){u({})},onmessage:e=>{n6(c,d.onmessage,e)},onerror:null!=(t=null==d?void 0:d.onerror)?t:function(e){},onclose:null!=(n=null==d?void 0:d.onclose)?n:function(e){}},f=this.webSocketFactory.create(a,(i={},o.forEach((e,t)=>{i[t]=e}),i),h);f.connect(),await p;let m=tQ(this.apiClient,e.model);return f.send(JSON.stringify({setup:{model:m}})),new ie(f,this.apiClient)}}class ie{constructor(e,t){this.conn=e,this.apiClient=t}async setWeightedPrompts(e){if(!e.weightedPrompts||0===Object.keys(e.weightedPrompts).length)throw Error("Weighted prompts must be set and contain at least one entry.");let t=function(e){let t={},n=t_(e,["weightedPrompts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["weightedPrompts"],e)}return t}(e);this.conn.send(JSON.stringify({clientContent:t}))}async setMusicGenerationConfig(e){let t,n;e.musicGenerationConfig||(e.musicGenerationConfig={});let i=(t={},null!=(n=t_(e,["musicGenerationConfig"]))&&tI(t,["musicGenerationConfig"],n),t);this.conn.send(JSON.stringify(i))}sendPlaybackControl(e){this.conn.send(JSON.stringify({playbackControl:e}))}play(){this.sendPlaybackControl(tf.PLAY)}pause(){this.sendPlaybackControl(tf.PAUSE)}stop(){this.sendPlaybackControl(tf.STOP)}resetContext(){this.sendPlaybackControl(tf.RESET_CONTEXT)}close(){this.conn.close()}}async function it(e,t,n){let i=new tW,r=JSON.parse(n.data instanceof Blob?await n.data.text():n.data instanceof ArrayBuffer?new TextDecoder().decode(n.data):n.data);if(e.isVertexAI()){let e,t,n,l,o,s,a,u,p,d,c,h;Object.assign(i,(e={},null!=(t=t_(r,["setupComplete"]))&&tI(e,["setupComplete"],t),null!=(n=t_(r,["serverContent"]))&&tI(e,["serverContent"],n),null!=(l=t_(r,["toolCall"]))&&tI(e,["toolCall"],l),null!=(o=t_(r,["toolCallCancellation"]))&&tI(e,["toolCallCancellation"],o),null!=(s=t_(r,["usageMetadata"]))&&tI(e,["usageMetadata"],function(e){let t={},n=t_(e,["promptTokenCount"]);null!=n&&tI(t,["promptTokenCount"],n);let i=t_(e,["cachedContentTokenCount"]);null!=i&&tI(t,["cachedContentTokenCount"],i);let r=t_(e,["candidatesTokenCount"]);null!=r&&tI(t,["responseTokenCount"],r);let l=t_(e,["toolUsePromptTokenCount"]);null!=l&&tI(t,["toolUsePromptTokenCount"],l);let o=t_(e,["thoughtsTokenCount"]);null!=o&&tI(t,["thoughtsTokenCount"],o);let s=t_(e,["totalTokenCount"]);null!=s&&tI(t,["totalTokenCount"],s);let a=t_(e,["promptTokensDetails"]);if(null!=a){let e=a;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["promptTokensDetails"],e)}let u=t_(e,["cacheTokensDetails"]);if(null!=u){let e=u;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["cacheTokensDetails"],e)}let p=t_(e,["candidatesTokensDetails"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["responseTokensDetails"],e)}let d=t_(e,["toolUsePromptTokensDetails"]);if(null!=d){let e=d;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["toolUsePromptTokensDetails"],e)}let c=t_(e,["trafficType"]);return null!=c&&tI(t,["trafficType"],c),t}(s)),null!=(a=t_(r,["goAway"]))&&tI(e,["goAway"],a),null!=(u=t_(r,["sessionResumptionUpdate"]))&&tI(e,["sessionResumptionUpdate"],u),null!=(p=t_(r,["voiceActivityDetectionSignal"]))&&tI(e,["voiceActivityDetectionSignal"],p),null!=(d=t_(r,["voiceActivity"]))&&tI(e,["voiceActivity"],(c={},null!=(h=t_(d,["type"]))&&tI(c,["voiceActivityType"],h),c)),e))}else Object.assign(i,r);t(i)}class ii{constructor(e,t,n){this.apiClient=e,this.auth=t,this.webSocketFactory=n,this.music=new n7(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var t,n,i,r,l,o,s,a;let u,p;if(e.config&&e.config.httpOptions)throw Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");let d=this.apiClient.getWebsocketBaseUrl(),c=this.apiClient.getApiVersion(),h=this.apiClient.getHeaders();e.config&&e.config.tools&&n9(e.config.tools)&&n3(h);let f=function(e){let t=new Headers;for(let[n,i]of Object.entries(e))t.append(n,i);return t}(h);if(this.apiClient.isVertexAI()){let e=this.apiClient.getProject(),t=this.apiClient.getLocation(),n=this.apiClient.getApiKey();this.apiClient.getCustomBaseUrl()&&!(e&&t||n)?u=d:(u=`${d}/ws/google.cloud.aiplatform.${c}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(f,u))}else{let e=this.apiClient.getApiKey(),t="BidiGenerateContent",n="key";(null==e?void 0:e.startsWith("auth_tokens/"))&&(console.warn("Warning: Ephemeral token support is experimental and may change in future versions."),"v1alpha"!==c&&console.warn("Warning: The SDK's ephemeral token support is in v1alpha only. Please use const ai = new GoogleGenAI({apiKey: token.name, httpOptions: { apiVersion: 'v1alpha' }}); before session connection."),t="BidiGenerateContentConstrained",n="access_token"),u=`${d}/ws/google.ai.generativelanguage.${c}.GenerativeService.${t}?${n}=${e}`}let m=()=>{},g=new Promise(e=>{m=e}),y=e.callbacks,E=this.apiClient,I={onopen:function(){var e;null==(e=null==y?void 0:y.onopen)||e.call(y),m({})},onmessage:e=>{it(E,y.onmessage,e)},onerror:null!=(t=null==y?void 0:y.onerror)?t:function(e){},onclose:null!=(n=null==y?void 0:y.onclose)?n:function(e){}},_=this.webSocketFactory.create(u,(p={},f.forEach((e,t)=>{p[t]=e}),p),I);_.connect(),await g;let v=tQ(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&v.startsWith("publishers/")){let e=this.apiClient.getProject(),t=this.apiClient.getLocation();e&&t&&(v=`projects/${e}/locations/${t}/`+v)}let T={};this.apiClient.isVertexAI()&&(null==(i=e.config)?void 0:i.responseModalities)===void 0&&(void 0===e.config?e.config={responseModalities:[ek.AUDIO]}:e.config.responseModalities=[ek.AUDIO]),(null==(r=e.config)?void 0:r.generationConfig)&&console.warn("Setting `LiveConnectConfig.generation_config` is deprecated, please set the fields on `LiveConnectConfig` directly. This will become an error in a future version (not before Q3 2025).");let A=null!=(o=null==(l=e.config)?void 0:l.tools)?o:[],C=[];for(let e of A)this.isCallableTool(e)?C.push(await e.tool()):C.push(e);C.length>0&&(e.config.tools=C);let S={model:v,config:e.config,callbacks:e.callbacks};if(this.apiClient.isVertexAI()){let e,t,n;s=this.apiClient,e={},null!=(t=t_(S,["model"]))&&tI(e,["setup","model"],tQ(s,t)),null!=(n=t_(S,["config"]))&&tI(e,["config"],function(e,t){let n=t_(e,["generationConfig"]);void 0!==t&&null!=n&&tI(t,["setup","generationConfig"],function(e){let t={},n=t_(e,["modelSelectionConfig"]);null!=n&&tI(t,["modelConfig"],n);let i=t_(e,["responseJsonSchema"]);null!=i&&tI(t,["responseJsonSchema"],i);let r=t_(e,["audioTimestamp"]);null!=r&&tI(t,["audioTimestamp"],r);let l=t_(e,["candidateCount"]);null!=l&&tI(t,["candidateCount"],l);let o=t_(e,["enableAffectiveDialog"]);null!=o&&tI(t,["enableAffectiveDialog"],o);let s=t_(e,["frequencyPenalty"]);null!=s&&tI(t,["frequencyPenalty"],s);let a=t_(e,["logprobs"]);null!=a&&tI(t,["logprobs"],a);let u=t_(e,["maxOutputTokens"]);null!=u&&tI(t,["maxOutputTokens"],u);let p=t_(e,["mediaResolution"]);null!=p&&tI(t,["mediaResolution"],p);let d=t_(e,["presencePenalty"]);null!=d&&tI(t,["presencePenalty"],d);let c=t_(e,["responseLogprobs"]);null!=c&&tI(t,["responseLogprobs"],c);let h=t_(e,["responseMimeType"]);null!=h&&tI(t,["responseMimeType"],h);let f=t_(e,["responseModalities"]);null!=f&&tI(t,["responseModalities"],f);let m=t_(e,["responseSchema"]);null!=m&&tI(t,["responseSchema"],m);let g=t_(e,["routingConfig"]);null!=g&&tI(t,["routingConfig"],g);let y=t_(e,["seed"]);null!=y&&tI(t,["seed"],y);let E=t_(e,["speechConfig"]);null!=E&&tI(t,["speechConfig"],E);let I=t_(e,["stopSequences"]);null!=I&&tI(t,["stopSequences"],I);let _=t_(e,["temperature"]);null!=_&&tI(t,["temperature"],_);let v=t_(e,["thinkingConfig"]);null!=v&&tI(t,["thinkingConfig"],v);let T=t_(e,["topK"]);null!=T&&tI(t,["topK"],T);let A=t_(e,["topP"]);if(null!=A&&tI(t,["topP"],A),void 0!==t_(e,["enableEnhancedCivicAnswers"]))throw Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return t}(n));let i=t_(e,["responseModalities"]);void 0!==t&&null!=i&&tI(t,["setup","generationConfig","responseModalities"],i);let r=t_(e,["temperature"]);void 0!==t&&null!=r&&tI(t,["setup","generationConfig","temperature"],r);let l=t_(e,["topP"]);void 0!==t&&null!=l&&tI(t,["setup","generationConfig","topP"],l);let o=t_(e,["topK"]);void 0!==t&&null!=o&&tI(t,["setup","generationConfig","topK"],o);let s=t_(e,["maxOutputTokens"]);void 0!==t&&null!=s&&tI(t,["setup","generationConfig","maxOutputTokens"],s);let a=t_(e,["mediaResolution"]);void 0!==t&&null!=a&&tI(t,["setup","generationConfig","mediaResolution"],a);let u=t_(e,["seed"]);void 0!==t&&null!=u&&tI(t,["setup","generationConfig","seed"],u);let p=t_(e,["speechConfig"]);void 0!==t&&null!=p&&tI(t,["setup","generationConfig","speechConfig"],nr(p));let d=t_(e,["thinkingConfig"]);void 0!==t&&null!=d&&tI(t,["setup","generationConfig","thinkingConfig"],d);let c=t_(e,["enableAffectiveDialog"]);void 0!==t&&null!=c&&tI(t,["setup","generationConfig","enableAffectiveDialog"],c);let h=t_(e,["systemInstruction"]);void 0!==t&&null!=h&&tI(t,["setup","systemInstruction"],function(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["mediaResolution"]);null!=n&&tI(t,["mediaResolution"],n);let i=t_(e,["codeExecutionResult"]);null!=i&&tI(t,["codeExecutionResult"],i);let r=t_(e,["executableCode"]);null!=r&&tI(t,["executableCode"],r);let l=t_(e,["fileData"]);null!=l&&tI(t,["fileData"],l);let o=t_(e,["functionCall"]);null!=o&&tI(t,["functionCall"],o);let s=t_(e,["functionResponse"]);null!=s&&tI(t,["functionResponse"],s);let a=t_(e,["inlineData"]);null!=a&&tI(t,["inlineData"],a);let u=t_(e,["text"]);null!=u&&tI(t,["text"],u);let p=t_(e,["thought"]);null!=p&&tI(t,["thought"],p);let d=t_(e,["thoughtSignature"]);null!=d&&tI(t,["thoughtSignature"],d);let c=t_(e,["videoMetadata"]);if(null!=c&&tI(t,["videoMetadata"],c),void 0!==t_(e,["toolCall"]))throw Error("toolCall parameter is not supported in Vertex AI.");if(void 0!==t_(e,["toolResponse"]))throw Error("toolResponse parameter is not supported in Vertex AI.");return t})(e))),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}(t7(h)));let f=t_(e,["tools"]);if(void 0!==t&&null!=f){let e=no(f);Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["retrieval"]);null!=n&&tI(t,["retrieval"],n);let i=t_(e,["computerUse"]);if(null!=i&&tI(t,["computerUse"],i),void 0!==t_(e,["fileSearch"]))throw Error("fileSearch parameter is not supported in Vertex AI.");let r=t_(e,["googleSearch"]);null!=r&&tI(t,["googleSearch"],r);let l=t_(e,["googleMaps"]);null!=l&&tI(t,["googleMaps"],l);let o=t_(e,["codeExecution"]);null!=o&&tI(t,["codeExecution"],o);let s=t_(e,["enterpriseWebSearch"]);null!=s&&tI(t,["enterpriseWebSearch"],s);let a=t_(e,["functionDeclarations"]);if(null!=a){let e=a;Array.isArray(e)&&(e=e.map(e=>(function(e){let t={},n=t_(e,["description"]);null!=n&&tI(t,["description"],n);let i=t_(e,["name"]);null!=i&&tI(t,["name"],i);let r=t_(e,["parameters"]);null!=r&&tI(t,["parameters"],r);let l=t_(e,["parametersJsonSchema"]);null!=l&&tI(t,["parametersJsonSchema"],l);let o=t_(e,["response"]);null!=o&&tI(t,["response"],o);let s=t_(e,["responseJsonSchema"]);if(null!=s&&tI(t,["responseJsonSchema"],s),void 0!==t_(e,["behavior"]))throw Error("behavior parameter is not supported in Vertex AI.");return t})(e))),tI(t,["functionDeclarations"],e)}let u=t_(e,["googleSearchRetrieval"]);null!=u&&tI(t,["googleSearchRetrieval"],u);let p=t_(e,["parallelAiSearch"]);null!=p&&tI(t,["parallelAiSearch"],p);let d=t_(e,["urlContext"]);if(null!=d&&tI(t,["urlContext"],d),void 0!==t_(e,["mcpServers"]))throw Error("mcpServers parameter is not supported in Vertex AI.");return t})(nl(e)))),tI(t,["setup","tools"],e)}let m=t_(e,["sessionResumption"]);void 0!==t&&null!=m&&tI(t,["setup","sessionResumption"],m);let g=t_(e,["inputAudioTranscription"]);void 0!==t&&null!=g&&tI(t,["setup","inputAudioTranscription"],g);let y=t_(e,["outputAudioTranscription"]);void 0!==t&&null!=y&&tI(t,["setup","outputAudioTranscription"],y);let E=t_(e,["realtimeInputConfig"]);void 0!==t&&null!=E&&tI(t,["setup","realtimeInputConfig"],E);let I=t_(e,["contextWindowCompression"]);void 0!==t&&null!=I&&tI(t,["setup","contextWindowCompression"],I);let _=t_(e,["proactivity"]);void 0!==t&&null!=_&&tI(t,["setup","proactivity"],_);let v=t_(e,["explicitVadSignal"]);return void 0!==t&&null!=v&&tI(t,["setup","explicitVadSignal"],v),{}}(n,e)),T=e}else{let e,t,n;a=this.apiClient,e={},null!=(t=t_(S,["model"]))&&tI(e,["setup","model"],tQ(a,t)),null!=(n=t_(S,["config"]))&&tI(e,["config"],function(e,t){let n=t_(e,["generationConfig"]);void 0!==t&&null!=n&&tI(t,["setup","generationConfig"],n);let i=t_(e,["responseModalities"]);void 0!==t&&null!=i&&tI(t,["setup","generationConfig","responseModalities"],i);let r=t_(e,["temperature"]);void 0!==t&&null!=r&&tI(t,["setup","generationConfig","temperature"],r);let l=t_(e,["topP"]);void 0!==t&&null!=l&&tI(t,["setup","generationConfig","topP"],l);let o=t_(e,["topK"]);void 0!==t&&null!=o&&tI(t,["setup","generationConfig","topK"],o);let s=t_(e,["maxOutputTokens"]);void 0!==t&&null!=s&&tI(t,["setup","generationConfig","maxOutputTokens"],s);let a=t_(e,["mediaResolution"]);void 0!==t&&null!=a&&tI(t,["setup","generationConfig","mediaResolution"],a);let u=t_(e,["seed"]);void 0!==t&&null!=u&&tI(t,["setup","generationConfig","seed"],u);let p=t_(e,["speechConfig"]);void 0!==t&&null!=p&&tI(t,["setup","generationConfig","speechConfig"],nr(p));let d=t_(e,["thinkingConfig"]);void 0!==t&&null!=d&&tI(t,["setup","generationConfig","thinkingConfig"],d);let c=t_(e,["enableAffectiveDialog"]);void 0!==t&&null!=c&&tI(t,["setup","generationConfig","enableAffectiveDialog"],c);let h=t_(e,["systemInstruction"]);void 0!==t&&null!=h&&tI(t,["setup","systemInstruction"],function(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c,h,f,m;return n={},null!=(i=t_(t=e,["mediaResolution"]))&&tI(n,["mediaResolution"],i),null!=(r=t_(t,["codeExecutionResult"]))&&tI(n,["codeExecutionResult"],r),null!=(l=t_(t,["executableCode"]))&&tI(n,["executableCode"],l),null!=(o=t_(t,["fileData"]))&&tI(n,["fileData"],function(e){let t={};if(void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let n=t_(e,["fileUri"]);null!=n&&tI(t,["fileUri"],n);let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(o)),null!=(s=t_(t,["functionCall"]))&&tI(n,["functionCall"],function(e){let t={},n=t_(e,["id"]);null!=n&&tI(t,["id"],n);let i=t_(e,["args"]);null!=i&&tI(t,["args"],i);let r=t_(e,["name"]);if(null!=r&&tI(t,["name"],r),void 0!==t_(e,["partialArgs"]))throw Error("partialArgs parameter is not supported in Gemini API.");if(void 0!==t_(e,["willContinue"]))throw Error("willContinue parameter is not supported in Gemini API.");return t}(s)),null!=(a=t_(t,["functionResponse"]))&&tI(n,["functionResponse"],a),null!=(u=t_(t,["inlineData"]))&&tI(n,["inlineData"],nx(u)),null!=(p=t_(t,["text"]))&&tI(n,["text"],p),null!=(d=t_(t,["thought"]))&&tI(n,["thought"],d),null!=(c=t_(t,["thoughtSignature"]))&&tI(n,["thoughtSignature"],c),null!=(h=t_(t,["videoMetadata"]))&&tI(n,["videoMetadata"],h),null!=(f=t_(t,["toolCall"]))&&tI(n,["toolCall"],f),null!=(m=t_(t,["toolResponse"]))&&tI(n,["toolResponse"],m),n})),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}(t7(h)));let f=t_(e,["tools"]);if(void 0!==t&&null!=f){let e=no(f);Array.isArray(e)&&(e=e.map(e=>(function(e){let t,n,i,r={};if(void 0!==t_(e,["retrieval"]))throw Error("retrieval parameter is not supported in Gemini API.");let l=t_(e,["computerUse"]);null!=l&&tI(r,["computerUse"],l);let o=t_(e,["fileSearch"]);null!=o&&tI(r,["fileSearch"],o);let s=t_(e,["googleSearch"]);null!=s&&tI(r,["googleSearch"],function(e){let t={},n=t_(e,["searchTypes"]);if(null!=n&&tI(t,["searchTypes"],n),void 0!==t_(e,["blockingConfidence"]))throw Error("blockingConfidence parameter is not supported in Gemini API.");if(void 0!==t_(e,["excludeDomains"]))throw Error("excludeDomains parameter is not supported in Gemini API.");let i=t_(e,["timeRangeFilter"]);return null!=i&&tI(t,["timeRangeFilter"],i),t}(s));let a=t_(e,["googleMaps"]);null!=a&&tI(r,["googleMaps"],(t={},null!=(n=t_(a,["authConfig"]))&&tI(t,["authConfig"],function(e){let t={},n=t_(e,["apiKey"]);if(null!=n&&tI(t,["apiKey"],n),void 0!==t_(e,["apiKeyConfig"]))throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["authType"]))throw Error("authType parameter is not supported in Gemini API.");if(void 0!==t_(e,["googleServiceAccountConfig"]))throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["httpBasicAuthConfig"]))throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oauthConfig"]))throw Error("oauthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oidcConfig"]))throw Error("oidcConfig parameter is not supported in Gemini API.");return t}(n)),null!=(i=t_(a,["enableWidget"]))&&tI(t,["enableWidget"],i),t));let u=t_(e,["codeExecution"]);if(null!=u&&tI(r,["codeExecution"],u),void 0!==t_(e,["enterpriseWebSearch"]))throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let p=t_(e,["functionDeclarations"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["functionDeclarations"],e)}let d=t_(e,["googleSearchRetrieval"]);if(null!=d&&tI(r,["googleSearchRetrieval"],d),void 0!==t_(e,["parallelAiSearch"]))throw Error("parallelAiSearch parameter is not supported in Gemini API.");let c=t_(e,["urlContext"]);null!=c&&tI(r,["urlContext"],c);let h=t_(e,["mcpServers"]);if(null!=h){let e=h;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["mcpServers"],e)}return r})(nl(e)))),tI(t,["setup","tools"],e)}let m=t_(e,["sessionResumption"]);void 0!==t&&null!=m&&tI(t,["setup","sessionResumption"],function(e){let t={},n=t_(e,["handle"]);if(null!=n&&tI(t,["handle"],n),void 0!==t_(e,["transparent"]))throw Error("transparent parameter is not supported in Gemini API.");return t}(m));let g=t_(e,["inputAudioTranscription"]);void 0!==t&&null!=g&&tI(t,["setup","inputAudioTranscription"],nG(g));let y=t_(e,["outputAudioTranscription"]);void 0!==t&&null!=y&&tI(t,["setup","outputAudioTranscription"],nG(y));let E=t_(e,["realtimeInputConfig"]);void 0!==t&&null!=E&&tI(t,["setup","realtimeInputConfig"],E);let I=t_(e,["contextWindowCompression"]);void 0!==t&&null!=I&&tI(t,["setup","contextWindowCompression"],I);let _=t_(e,["proactivity"]);if(void 0!==t&&null!=_&&tI(t,["setup","proactivity"],_),void 0!==t_(e,["explicitVadSignal"]))throw Error("explicitVadSignal parameter is not supported in Gemini API.");return{}}(n,e)),T=e}return delete T.config,_.send(JSON.stringify(T)),new il(_,this.apiClient)}isCallableTool(e){return"callTool"in e&&"function"==typeof e.callTool}}let ir={turnComplete:!0};class il{constructor(e,t){this.conn=e,this.apiClient=t}tLiveClientContent(e,t){if(null!==t.turns&&void 0!==t.turns){let n=[];try{n=nt(t.turns),e.isVertexAI()||(n=n.map(e=>nL(e)))}catch(e){throw Error(`Failed to parse client content "turns", type: '${typeof t.turns}'`)}return{clientContent:{turns:n,turnComplete:t.turnComplete}}}return{clientContent:{turnComplete:t.turnComplete}}}tLiveClienttToolResponse(e,t){let n=[];if(null==t.functionResponses||0===(n=Array.isArray(t.functionResponses)?t.functionResponses:[t.functionResponses]).length)throw Error("functionResponses is required.");for(let t of n){if("object"!=typeof t||null===t||!("name"in t)||!("response"in t))throw Error(`Could not parse function response, type '${typeof t}'.`);if(!e.isVertexAI()&&!("id"in t))throw Error("FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.")}return{toolResponse:{functionResponses:n}}}sendClientContent(e){e=Object.assign(Object.assign({},ir),e);let t=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(t))}sendRealtimeInput(e){let t={};t=this.apiClient.isVertexAI()?{realtimeInput:function(e){let t={},n=t_(e,["media"]);if(null!=n){let e=t0(n);Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["mediaChunks"],e)}let i=t_(e,["audio"]);null!=i&&tI(t,["audio"],t4(i));let r=t_(e,["audioStreamEnd"]);null!=r&&tI(t,["audioStreamEnd"],r);let l=t_(e,["video"]);null!=l&&tI(t,["video"],t2(l));let o=t_(e,["text"]);null!=o&&tI(t,["text"],o);let s=t_(e,["activityStart"]);null!=s&&tI(t,["activityStart"],s);let a=t_(e,["activityEnd"]);return null!=a&&tI(t,["activityEnd"],a),t}(e)}:{realtimeInput:function(e){let t={},n=t_(e,["media"]);if(null!=n){let e=t0(n);Array.isArray(e)&&(e=e.map(e=>nx(e))),tI(t,["mediaChunks"],e)}let i=t_(e,["audio"]);null!=i&&tI(t,["audio"],nx(t4(i)));let r=t_(e,["audioStreamEnd"]);null!=r&&tI(t,["audioStreamEnd"],r);let l=t_(e,["video"]);null!=l&&tI(t,["video"],nx(t2(l)));let o=t_(e,["text"]);null!=o&&tI(t,["text"],o);let s=t_(e,["activityStart"]);null!=s&&tI(t,["activityStart"],s);let a=t_(e,["activityEnd"]);return null!=a&&tI(t,["activityEnd"],a),t}(e)},this.conn.send(JSON.stringify(t))}sendToolResponse(e){if(null==e.functionResponses)throw Error("Tool response parameters are required.");let t=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(t))}close(){this.conn.close()}}function io(e){var t,n,i;if(null==(t=null==e?void 0:e.automaticFunctionCalling)?void 0:t.disable)return!0;let r=!1;for(let t of null!=(n=null==e?void 0:e.tools)?n:[])if(is(t)){r=!0;break}if(!r)return!0;let l=null==(i=null==e?void 0:e.automaticFunctionCalling)?void 0:i.maximumRemoteCalls;return(!(!l||!(l<0)&&Number.isInteger(l))||0==l)&&(console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",l),!0)}function is(e){return"callTool"in e&&"function"==typeof e.callTool}function ia(e){var t;let n=[];return(null==(t=null==e?void 0:e.config)?void 0:t.tools)&&e.config.tools.forEach((e,t)=>{is(e)||e.functionDeclarations&&e.functionDeclarations.length>0&&n.push(t)}),n}function iu(e){var t;return!(null==(t=null==e?void 0:e.automaticFunctionCalling)?void 0:t.ignoreCallHistory)}class ip extends ty{constructor(e){super(),this.apiClient=e,this.embedContent=async e=>{if(!this.apiClient.isVertexAI())return await this.embedContentInternal(e);if(e.model.includes("gemini")&&"gemini-embedding-001"!==e.model||e.model.includes("maas")){let t=nt(e.contents);if(t.length>1)throw Error("The embedContent API for this model only supports one content at a time.");let n=Object.assign(Object.assign({},e),{content:t[0],embeddingApiType:eZ.EMBED_CONTENT});return await this.embedContentInternal(n)}{let t=Object.assign(Object.assign({},e),{embeddingApiType:eZ.PREDICT});return await this.embedContentInternal(t)}},this.generateContent=async e=>{var t,n,i,r,l,o,s,a;let u,p,d=await this.processParamsMaybeAddMcpUsage(e);if(this.maybeMoveToResponseJsonSchem(e),!(null!=(a=null==(s=null==(o=e.config)?void 0:o.tools)?void 0:s.some(e=>is(e)))&&a)||io(e.config))return await this.generateContentInternal(d);let c=ia(e);if(c.length>0){let e=c.map(e=>`tools[${e}]`).join(", ");throw Error(`Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations is not yet supported. Incompatible tools found at ${e}.`)}let h=nt(d.contents),f=null!=(i=null==(n=null==(t=d.config)?void 0:t.automaticFunctionCalling)?void 0:n.maximumRemoteCalls)?i:10,m=0;for(;m<f&&(u=await this.generateContentInternal(d)).functionCalls&&0!==u.functionCalls.length;){let t=u.candidates[0].content,n=[];for(let t of null!=(l=null==(r=e.config)?void 0:r.tools)?l:[])if(is(t)){let e=await t.callTool(u.functionCalls);n.push(...e)}m++,p={role:"user",parts:n},d.contents=nt(d.contents),d.contents.push(t),d.contents.push(p),iu(d.config)&&(h.push(t),h.push(p))}return iu(d.config)&&(u.automaticFunctionCallingHistory=h),u},this.generateContentStream=async e=>{var t,n,i,r,l;if(this.maybeMoveToResponseJsonSchem(e),io(e.config)){let t=await this.processParamsMaybeAddMcpUsage(e);return await this.generateContentStreamInternal(t)}let o=ia(e);if(o.length>0){let e=o.map(e=>`tools[${e}]`).join(", ");throw Error(`Incompatible tools found at ${e}. Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations" is not yet supported.`)}let s=null==(i=null==(n=null==(t=null==e?void 0:e.config)?void 0:t.toolConfig)?void 0:n.functionCallingConfig)?void 0:i.streamFunctionCallArguments,a=null==(l=null==(r=null==e?void 0:e.config)?void 0:r.automaticFunctionCalling)?void 0:l.disable;if(s&&!a)throw Error("Running in streaming mode with 'streamFunctionCallArguments' enabled, this feature is not compatible with automatic function calling (AFC). Please set 'config.automaticFunctionCalling.disable' to true to disable AFC or leave 'config.toolConfig.functionCallingConfig.streamFunctionCallArguments' to be undefined or set to false to disable streaming function call arguments feature.");return await this.processAfcStream(e)},this.generateImages=async e=>await this.generateImagesInternal(e).then(e=>{var t;let n,i=[];if(null==e?void 0:e.generatedImages)for(let r of e.generatedImages)r&&(null==r?void 0:r.safetyAttributes)&&(null==(t=null==r?void 0:r.safetyAttributes)?void 0:t.contentType)==="Positive Prompt"?n=null==r?void 0:r.safetyAttributes:i.push(r);return n?{generatedImages:i,positivePromptSafetyAttributes:n,sdkHttpResponse:e.sdkHttpResponse}:{generatedImages:i,sdkHttpResponse:e.sdkHttpResponse}}),this.list=async e=>{var t;let n={config:Object.assign(Object.assign({},{queryBase:!0}),null==e?void 0:e.config)};if(this.apiClient.isVertexAI()&&!n.config.queryBase)if(null==(t=n.config)?void 0:t.filter)throw Error("Filtering tuned models list for Vertex AI is not currently supported");else n.config.filter="labels.tune-type:*";return new n_(tm.PAGED_ITEM_MODELS,e=>this.listInternal(e),await this.listInternal(n),n)},this.editImage=async e=>{let t={model:e.model,prompt:e.prompt,referenceImages:[],config:e.config};return e.referenceImages&&e.referenceImages&&(t.referenceImages=e.referenceImages.map(e=>e.toReferenceImageAPI())),await this.editImageInternal(t)},this.upscaleImage=async e=>{let t={numberOfImages:1,mode:"upscale"};e.config&&(t=Object.assign(Object.assign({},t),e.config));let n={model:e.model,image:e.image,upscaleFactor:e.upscaleFactor,config:t};return await this.upscaleImageInternal(n)},this.generateVideos=async e=>{var t,n,i,r,l,o;if((e.prompt||e.image||e.video)&&e.source)throw Error("Source and prompt/image/video are mutually exclusive. Please only use source.");return!this.apiClient.isVertexAI()&&((null==(t=e.video)?void 0:t.uri)&&(null==(n=e.video)?void 0:n.videoBytes)?e.video={uri:e.video.uri,mimeType:e.video.mimeType}:(null==(r=null==(i=e.source)?void 0:i.video)?void 0:r.uri)&&(null==(o=null==(l=e.source)?void 0:l.video)?void 0:o.videoBytes)&&(e.source.video={uri:e.source.video.uri,mimeType:e.source.video.mimeType})),await this.generateVideosInternal(e)}}maybeMoveToResponseJsonSchem(e){e.config&&e.config.responseSchema&&!e.config.responseJsonSchema&&Object.keys(e.config.responseSchema).includes("$schema")&&(e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema)}async processParamsMaybeAddMcpUsage(e){var t,n,i;let r=null==(t=e.config)?void 0:t.tools;if(!r)return e;let l=await Promise.all(r.map(async e=>is(e)?await e.tool():e)),o={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:l})};if(o.config.tools=l,e.config&&e.config.tools&&n9(e.config.tools)){let t=Object.assign({},null!=(i=null==(n=e.config.httpOptions)?void 0:n.headers)?i:{});0===Object.keys(t).length&&(t=this.apiClient.getDefaultHeaders()),n3(t),o.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:t})}return o}async initAfcToolsMap(e){var t,n,i;let r=new Map;for(let l of null!=(n=null==(t=e.config)?void 0:t.tools)?n:[])if(is(l))for(let e of null!=(i=(await l.tool()).functionDeclarations)?i:[]){if(!e.name)throw Error("Function declaration name is required.");if(r.has(e.name))throw Error(`Duplicate tool declaration name: ${e.name}`);r.set(e.name,l)}return r}async processAfcStream(e){var t,n,i;let r=null!=(i=null==(n=null==(t=e.config)?void 0:t.automaticFunctionCalling)?void 0:n.maximumRemoteCalls)?i:10,l=!1,o=0;return function(e,t,n){return nb(this,arguments,function*(){for(;o<r;){l&&(o++,l=!1);let m=yield nO(e.processParamsMaybeAddMcpUsage(n)),g=yield nO(e.generateContentStreamInternal(m)),y=[],E=[];try{for(var i,s,a,u,p,d,c,h=!0,f=(s=void 0,nR(g));!(i=(c=yield nO(f.next())).done);h=!0)if(u=c.value,h=!1,yield yield nO(u),u.candidates&&(null==(p=u.candidates[0])?void 0:p.content)){for(let e of(E.push(u.candidates[0].content),null!=(d=u.candidates[0].content.parts)?d:[]))if(o<r&&e.functionCall){if(!e.functionCall.name)throw Error("Function call name was not returned by the model.");if(t.has(e.functionCall.name)){let n=yield nO(t.get(e.functionCall.name).callTool([e.functionCall]));y.push(...n)}else throw Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${t.keys()}, mising tool: ${e.functionCall.name}`)}}}catch(e){s={error:e}}finally{try{!h&&!i&&(a=f.return)&&(yield nO(a.call(f)))}finally{if(s)throw s.error}}if(y.length>0){l=!0;let e=new tC;e.candidates=[{content:{role:"user",parts:y}}],yield yield nO(e);let t=[];t.push(...E),t.push({role:"user",parts:y});let i=nt(n.contents).concat(t);n.contents=i}else break}})}(this,await this.initAfcToolsMap(e),e)}async generateContentInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i=nH(this.apiClient,e);return l=tE("{model}:generateContent",i._url),o=i._query,delete i._url,delete i._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(i),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=nj(e),n=new tC;return Object.assign(n,t),n})}{let t=nq(this.apiClient,e);return l=tE("{model}:generateContent",t._url),o=t._query,delete t._url,delete t._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(t),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=nF(e),n=new tC;return Object.assign(n,t),n})}}async generateContentStreamInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i=nH(this.apiClient,e);return l=tE("{model}:streamGenerateContent?alt=sse",i._url),o=i._query,delete i._url,delete i._query,this.apiClient.requestStream({path:l,queryParams:o,body:JSON.stringify(i),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(function(t){return nb(this,arguments,function*(){var n,i,r,l;try{for(var o,s=!0,a=nR(t);!(n=(o=yield nO(a.next())).done);s=!0){l=o.value,s=!1;let t=nj((yield nO(l.json())),e);t.sdkHttpResponse={headers:l.headers};let n=new tC;Object.assign(n,t),yield yield nO(n)}}catch(e){i={error:e}}finally{try{!s&&!n&&(r=a.return)&&(yield nO(r.call(a)))}finally{if(i)throw i.error}}})})}{let t=nq(this.apiClient,e);return l=tE("{model}:streamGenerateContent?alt=sse",t._url),o=t._query,delete t._url,delete t._query,this.apiClient.requestStream({path:l,queryParams:o,body:JSON.stringify(t),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(function(t){return nb(this,arguments,function*(){var n,i,r,l;try{for(var o,s=!0,a=nR(t);!(n=(o=yield nO(a.next())).done);s=!0){l=o.value,s=!1;let t=nF((yield nO(l.json())),e);t.sdkHttpResponse={headers:l.headers};let n=new tC;Object.assign(n,t),yield yield nO(n)}}catch(e){i={error:e}}finally{try{!s&&!n&&(r=a.return)&&(yield nO(r.call(a)))}finally{if(i)throw i.error}}})})}}async embedContentInternal(e){var t,n,i,r,l;let o="",s={};if(this.apiClient.isVertexAI()){let i=function(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(n,["embeddingApiType"]);if(void 0===l&&(l="PREDICT"),"PREDICT"===l){let n=t_(t,["contents"]);if(null!=n){let t=ne(e,n);Array.isArray(t)&&(t=t.map(e=>e)),tI(i,["instances[]","content"],t)}}let o=t_(n,["embeddingApiType"]);if(void 0===o&&(o="PREDICT"),"EMBED_CONTENT"===o){let e=t_(t,["content"]);null!=e&&tI(i,["content"],nk(t7(e)))}let s=t_(t,["config"]);return null!=s&&function(e,t,n){let i=t_(n,["embeddingApiType"]);if(void 0===i&&(i="PREDICT"),"PREDICT"===i){let n=t_(e,["taskType"]);void 0!==t&&null!=n&&tI(t,["instances[]","task_type"],n)}else if("EMBED_CONTENT"===i){let n=t_(e,["taskType"]);void 0!==t&&null!=n&&tI(t,["taskType"],n)}let r=t_(n,["embeddingApiType"]);if(void 0===r&&(r="PREDICT"),"PREDICT"===r){let n=t_(e,["title"]);void 0!==t&&null!=n&&tI(t,["instances[]","title"],n)}else if("EMBED_CONTENT"===r){let n=t_(e,["title"]);void 0!==t&&null!=n&&tI(t,["title"],n)}let l=t_(n,["embeddingApiType"]);if(void 0===l&&(l="PREDICT"),"PREDICT"===l){let n=t_(e,["outputDimensionality"]);void 0!==t&&null!=n&&tI(t,["parameters","outputDimensionality"],n)}else if("EMBED_CONTENT"===l){let n=t_(e,["outputDimensionality"]);void 0!==t&&null!=n&&tI(t,["outputDimensionality"],n)}let o=t_(n,["embeddingApiType"]);if(void 0===o&&(o="PREDICT"),"PREDICT"===o){let n=t_(e,["mimeType"]);void 0!==t&&null!=n&&tI(t,["instances[]","mimeType"],n)}let s=t_(n,["embeddingApiType"]);if(void 0===s&&(s="PREDICT"),"PREDICT"===s){let n=t_(e,["autoTruncate"]);void 0!==t&&null!=n&&tI(t,["parameters","autoTruncate"],n)}else if("EMBED_CONTENT"===s){let n=t_(e,["autoTruncate"]);void 0!==t&&null!=n&&tI(t,["autoTruncate"],n)}}(s,i,n),i}(this.apiClient,e,e);return o=tE((l=e.model).includes("gemini")&&"gemini-embedding-001"!==l||l.includes("maas")?"{model}:embedContent":"{model}:predict",i._url),s=i._query,delete i._url,delete i._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(i),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(t=>{let n=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["predictions[]","embeddings"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s;return n={},null!=(i=t_(e,["values"]))&&tI(n,["values"],i),null!=(r=t_(e,["statistics"]))&&tI(n,["statistics"],(l={},null!=(o=t_(t=r,["truncated"]))&&tI(l,["truncated"],o),null!=(s=t_(t,["token_count"]))&&tI(l,["tokenCount"],s),l)),n})),tI(n,["embeddings"],e)}let l=t_(e,["metadata"]);if(null!=l&&tI(n,["metadata"],l),t&&"EMBED_CONTENT"===t_(t,["embeddingApiType"])){let t=t_(e,["embedding"]),i=t_(e,["usageMetadata"]),r=t_(e,["truncated"]);if(t){let e={};i&&i.promptTokenCount&&(e.tokenCount=i.promptTokenCount),r&&(e.truncated=r),t.statistics=e,tI(n,["embeddings"],[t])}}return n}(t,e),i=new tS;return Object.assign(i,n),i})}{let t=function(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let t=ne(e,l);Array.isArray(t)&&(t=t.map(e=>e)),tI(i,["requests[]","content"],t)}let o=t_(t,["content"]);null!=o&&nL(t7(o));let s=t_(t,["config"]);null!=s&&function(e,t,n){let i=t_(e,["taskType"]);void 0!==t&&null!=i&&tI(t,["requests[]","taskType"],i);let r=t_(e,["title"]);void 0!==t&&null!=r&&tI(t,["requests[]","title"],r);let l=t_(e,["outputDimensionality"]);if(void 0!==t&&null!=l&&tI(t,["requests[]","outputDimensionality"],l),void 0!==t_(e,["mimeType"]))throw Error("mimeType parameter is not supported in Gemini API.");if(void 0!==t_(e,["autoTruncate"]))throw Error("autoTruncate parameter is not supported in Gemini API.")}(s,i);let a=t_(t,["model"]);return void 0!==a&&tI(i,["requests[]","model"],tQ(e,a)),i}(this.apiClient,e);return o=tE("{model}:batchEmbedContents",t._url),s=t._query,delete t._url,delete t._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(t),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["embeddings"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["embeddings"],e)}let l=t_(e,["metadata"]);return null!=l&&tI(n,["metadata"],l),n}(e),n=new tS;return Object.assign(n,t),n})}}async generateImagesInternal(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o,u,p,d,c,h,f,m,g,y,E,I,_,v,T,A,C,S,O,b=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["_url","model"],tQ(l,r)),null!=(o=t_(e,["prompt"]))&&tI(i,["instances[0]","prompt"],o),null!=(u=t_(e,["config"]))&&(p=t_(u,["outputGcsUri"]),void 0!==i&&null!=p&&tI(i,["parameters","storageUri"],p),d=t_(u,["negativePrompt"]),void 0!==i&&null!=d&&tI(i,["parameters","negativePrompt"],d),c=t_(u,["numberOfImages"]),void 0!==i&&null!=c&&tI(i,["parameters","sampleCount"],c),h=t_(u,["aspectRatio"]),void 0!==i&&null!=h&&tI(i,["parameters","aspectRatio"],h),f=t_(u,["guidanceScale"]),void 0!==i&&null!=f&&tI(i,["parameters","guidanceScale"],f),m=t_(u,["seed"]),void 0!==i&&null!=m&&tI(i,["parameters","seed"],m),g=t_(u,["safetyFilterLevel"]),void 0!==i&&null!=g&&tI(i,["parameters","safetySetting"],g),y=t_(u,["personGeneration"]),void 0!==i&&null!=y&&tI(i,["parameters","personGeneration"],y),E=t_(u,["includeSafetyAttributes"]),void 0!==i&&null!=E&&tI(i,["parameters","includeSafetyAttributes"],E),I=t_(u,["includeRaiReason"]),void 0!==i&&null!=I&&tI(i,["parameters","includeRaiReason"],I),_=t_(u,["language"]),void 0!==i&&null!=_&&tI(i,["parameters","language"],_),v=t_(u,["outputMimeType"]),void 0!==i&&null!=v&&tI(i,["parameters","outputOptions","mimeType"],v),T=t_(u,["outputCompressionQuality"]),void 0!==i&&null!=T&&tI(i,["parameters","outputOptions","compressionQuality"],T),A=t_(u,["addWatermark"]),void 0!==i&&null!=A&&tI(i,["parameters","addWatermark"],A),C=t_(u,["labels"]),void 0!==i&&null!=C&&tI(i,["labels"],C),S=t_(u,["imageSize"]),void 0!==i&&null!=S&&tI(i,["parameters","sampleImageSize"],S),O=t_(u,["enhancePrompt"]),void 0!==i&&null!=O&&tI(i,["parameters","enhancePrompt"],O)),i);return s=tE("{model}:predict",b._url),a=b._query,delete b._url,delete b._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(b),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["predictions"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>nV(e))),tI(n,["generatedImages"],e)}let l=t_(e,["positivePromptSafetyAttributes"]);return null!=l&&tI(n,["positivePromptSafetyAttributes"],nz(l)),n}(e),n=new tO;return Object.assign(n,t),n})}{let t,n,l,u,p=(o=this.apiClient,t={},null!=(n=t_(e,["model"]))&&tI(t,["_url","model"],tQ(o,n)),null!=(l=t_(e,["prompt"]))&&tI(t,["instances[0]","prompt"],l),null!=(u=t_(e,["config"]))&&function(e,t,n){if(void 0!==t_(e,["outputGcsUri"]))throw Error("outputGcsUri parameter is not supported in Gemini API.");if(void 0!==t_(e,["negativePrompt"]))throw Error("negativePrompt parameter is not supported in Gemini API.");let i=t_(e,["numberOfImages"]);void 0!==t&&null!=i&&tI(t,["parameters","sampleCount"],i);let r=t_(e,["aspectRatio"]);void 0!==t&&null!=r&&tI(t,["parameters","aspectRatio"],r);let l=t_(e,["guidanceScale"]);if(void 0!==t&&null!=l&&tI(t,["parameters","guidanceScale"],l),void 0!==t_(e,["seed"]))throw Error("seed parameter is not supported in Gemini API.");let o=t_(e,["safetyFilterLevel"]);void 0!==t&&null!=o&&tI(t,["parameters","safetySetting"],o);let s=t_(e,["personGeneration"]);void 0!==t&&null!=s&&tI(t,["parameters","personGeneration"],s);let a=t_(e,["includeSafetyAttributes"]);void 0!==t&&null!=a&&tI(t,["parameters","includeSafetyAttributes"],a);let u=t_(e,["includeRaiReason"]);void 0!==t&&null!=u&&tI(t,["parameters","includeRaiReason"],u);let p=t_(e,["language"]);void 0!==t&&null!=p&&tI(t,["parameters","language"],p);let d=t_(e,["outputMimeType"]);void 0!==t&&null!=d&&tI(t,["parameters","outputOptions","mimeType"],d);let c=t_(e,["outputCompressionQuality"]);if(void 0!==t&&null!=c&&tI(t,["parameters","outputOptions","compressionQuality"],c),void 0!==t_(e,["addWatermark"]))throw Error("addWatermark parameter is not supported in Gemini API.");if(void 0!==t_(e,["labels"]))throw Error("labels parameter is not supported in Gemini API.");let h=t_(e,["imageSize"]);if(void 0!==t&&null!=h&&tI(t,["parameters","sampleImageSize"],h),void 0!==t_(e,["enhancePrompt"]))throw Error("enhancePrompt parameter is not supported in Gemini API.")}(u,t),t);return s=tE("{model}:predict",p._url),a=p._query,delete p._url,delete p._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(p),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["predictions"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>{var t,n;let i,r,l,o,s,a,u;return i={},null!=(r=t_(t=e,["_self"]))&&tI(i,["image"],(l={},null!=(o=t_(n=r,["bytesBase64Encoded"]))&&tI(l,["imageBytes"],tv(o)),null!=(s=t_(n,["mimeType"]))&&tI(l,["mimeType"],s),l)),null!=(a=t_(t,["raiFilteredReason"]))&&tI(i,["raiFilteredReason"],a),null!=(u=t_(t,["_self"]))&&tI(i,["safetyAttributes"],nW(u)),i})),tI(n,["generatedImages"],e)}let l=t_(e,["positivePromptSafetyAttributes"]);return null!=l&&tI(n,["positivePromptSafetyAttributes"],nW(l)),n}(e),n=new tO;return Object.assign(n,t),n})}}async editImageInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI()){let l=function(e,t,n){let i,r,l,o,s,a,u,p,d,c,h,f,m,g,y,E,I,_={},v=t_(t,["model"]);null!=v&&tI(_,["_url","model"],tQ(e,v));let T=t_(t,["prompt"]);null!=T&&tI(_,["instances[0]","prompt"],T);let A=t_(t,["referenceImages"]);if(null!=A){let e=A;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n,i,r,l,o,s,a,u={},p=t_(e,["referenceImage"]);null!=p&&tI(u,["referenceImage"],nK(p));let d=t_(e,["referenceId"]);null!=d&&tI(u,["referenceId"],d);let c=t_(e,["referenceType"]);null!=c&&tI(u,["referenceType"],c);let h=t_(e,["maskImageConfig"]);null!=h&&tI(u,["maskImageConfig"],(n={},null!=(i=t_(h,["maskMode"]))&&tI(n,["maskMode"],i),null!=(r=t_(h,["segmentationClasses"]))&&tI(n,["maskClasses"],r),null!=(l=t_(h,["maskDilation"]))&&tI(n,["dilation"],l),n));let f=t_(e,["controlImageConfig"]);null!=f&&tI(u,["controlImageConfig"],(o={},null!=(s=t_(f,["controlType"]))&&tI(o,["controlType"],s),null!=(a=t_(f,["enableControlImageComputation"]))&&tI(o,["computeControl"],a),o));let m=t_(e,["styleImageConfig"]);null!=m&&tI(u,["styleImageConfig"],m);let g=t_(e,["subjectImageConfig"]);return null!=g&&tI(u,["subjectImageConfig"],g),u})(e))),tI(_,["instances[0]","referenceImages"],e)}let C=t_(t,["config"]);return null!=C&&(i=t_(C,["outputGcsUri"]),void 0!==_&&null!=i&&tI(_,["parameters","storageUri"],i),r=t_(C,["negativePrompt"]),void 0!==_&&null!=r&&tI(_,["parameters","negativePrompt"],r),l=t_(C,["numberOfImages"]),void 0!==_&&null!=l&&tI(_,["parameters","sampleCount"],l),o=t_(C,["aspectRatio"]),void 0!==_&&null!=o&&tI(_,["parameters","aspectRatio"],o),s=t_(C,["guidanceScale"]),void 0!==_&&null!=s&&tI(_,["parameters","guidanceScale"],s),a=t_(C,["seed"]),void 0!==_&&null!=a&&tI(_,["parameters","seed"],a),u=t_(C,["safetyFilterLevel"]),void 0!==_&&null!=u&&tI(_,["parameters","safetySetting"],u),p=t_(C,["personGeneration"]),void 0!==_&&null!=p&&tI(_,["parameters","personGeneration"],p),d=t_(C,["includeSafetyAttributes"]),void 0!==_&&null!=d&&tI(_,["parameters","includeSafetyAttributes"],d),c=t_(C,["includeRaiReason"]),void 0!==_&&null!=c&&tI(_,["parameters","includeRaiReason"],c),h=t_(C,["language"]),void 0!==_&&null!=h&&tI(_,["parameters","language"],h),f=t_(C,["outputMimeType"]),void 0!==_&&null!=f&&tI(_,["parameters","outputOptions","mimeType"],f),m=t_(C,["outputCompressionQuality"]),void 0!==_&&null!=m&&tI(_,["parameters","outputOptions","compressionQuality"],m),g=t_(C,["addWatermark"]),void 0!==_&&null!=g&&tI(_,["parameters","addWatermark"],g),y=t_(C,["labels"]),void 0!==_&&null!=y&&tI(_,["labels"],y),E=t_(C,["editMode"]),void 0!==_&&null!=E&&tI(_,["parameters","editMode"],E),I=t_(C,["baseSteps"]),void 0!==_&&null!=I&&tI(_,["parameters","editConfig","baseSteps"],I)),_}(this.apiClient,e);return i=tE("{model}:predict",l._url),r=l._query,delete l._url,delete l._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(l),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["predictions"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>nV(e))),tI(n,["generatedImages"],e)}return n}(e),n=new tb;return Object.assign(n,t),n})}throw Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var t,n,i;let r="",l={};if(this.apiClient.isVertexAI()){let o,s,a,u,p,d,c,h,f,m,g,y,E,I,_,v,T=(i=this.apiClient,o={},null!=(s=t_(e,["model"]))&&tI(o,["_url","model"],tQ(i,s)),null!=(a=t_(e,["image"]))&&tI(o,["instances[0]","image"],nK(a)),null!=(u=t_(e,["upscaleFactor"]))&&tI(o,["parameters","upscaleConfig","upscaleFactor"],u),null!=(p=t_(e,["config"]))&&(d=t_(p,["outputGcsUri"]),void 0!==o&&null!=d&&tI(o,["parameters","storageUri"],d),c=t_(p,["safetyFilterLevel"]),void 0!==o&&null!=c&&tI(o,["parameters","safetySetting"],c),h=t_(p,["personGeneration"]),void 0!==o&&null!=h&&tI(o,["parameters","personGeneration"],h),f=t_(p,["includeRaiReason"]),void 0!==o&&null!=f&&tI(o,["parameters","includeRaiReason"],f),m=t_(p,["outputMimeType"]),void 0!==o&&null!=m&&tI(o,["parameters","outputOptions","mimeType"],m),g=t_(p,["outputCompressionQuality"]),void 0!==o&&null!=g&&tI(o,["parameters","outputOptions","compressionQuality"],g),y=t_(p,["enhanceInputImage"]),void 0!==o&&null!=y&&tI(o,["parameters","upscaleConfig","enhanceInputImage"],y),E=t_(p,["imagePreservationFactor"]),void 0!==o&&null!=E&&tI(o,["parameters","upscaleConfig","imagePreservationFactor"],E),I=t_(p,["labels"]),void 0!==o&&null!=I&&tI(o,["labels"],I),_=t_(p,["numberOfImages"]),void 0!==o&&null!=_&&tI(o,["parameters","sampleCount"],_),v=t_(p,["mode"]),void 0!==o&&null!=v&&tI(o,["parameters","mode"],v)),o);return r=tE("{model}:predict",T._url),l=T._query,delete T._url,delete T._query,this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(T),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["predictions"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>nV(e))),tI(n,["generatedImages"],e)}return n}(e),n=new tR;return Object.assign(n,t),n})}throw Error("This method is only supported by the Vertex AI.")}async recontextImage(e){var t,n,i;let r="",l={};if(this.apiClient.isVertexAI()){let o,s,a,u,p,d,c,h,f,m,g,y,E,I,_,v=(i=this.apiClient,o={},null!=(s=t_(e,["model"]))&&tI(o,["_url","model"],tQ(i,s)),null!=(a=t_(e,["source"]))&&function(e,t,n){let i=t_(e,["prompt"]);void 0!==t&&null!=i&&tI(t,["instances[0]","prompt"],i);let r=t_(e,["personImage"]);void 0!==t&&null!=r&&tI(t,["instances[0]","personImage","image"],nK(r));let l=t_(e,["productImages"]);if(void 0!==t&&null!=l){let e=l;Array.isArray(e)&&(e=e.map(e=>{let t,n;return t={},null!=(n=t_(e,["productImage"]))&&tI(t,["image"],nK(n)),t})),tI(t,["instances[0]","productImages"],e)}}(a,o),null!=(u=t_(e,["config"]))&&(p=t_(u,["numberOfImages"]),void 0!==o&&null!=p&&tI(o,["parameters","sampleCount"],p),d=t_(u,["baseSteps"]),void 0!==o&&null!=d&&tI(o,["parameters","baseSteps"],d),c=t_(u,["outputGcsUri"]),void 0!==o&&null!=c&&tI(o,["parameters","storageUri"],c),h=t_(u,["seed"]),void 0!==o&&null!=h&&tI(o,["parameters","seed"],h),f=t_(u,["safetyFilterLevel"]),void 0!==o&&null!=f&&tI(o,["parameters","safetySetting"],f),m=t_(u,["personGeneration"]),void 0!==o&&null!=m&&tI(o,["parameters","personGeneration"],m),g=t_(u,["addWatermark"]),void 0!==o&&null!=g&&tI(o,["parameters","addWatermark"],g),y=t_(u,["outputMimeType"]),void 0!==o&&null!=y&&tI(o,["parameters","outputOptions","mimeType"],y),E=t_(u,["outputCompressionQuality"]),void 0!==o&&null!=E&&tI(o,["parameters","outputOptions","compressionQuality"],E),I=t_(u,["enhancePrompt"]),void 0!==o&&null!=I&&tI(o,["parameters","enhancePrompt"],I),_=t_(u,["labels"]),void 0!==o&&null!=_&&tI(o,["labels"],_)),o);return r=tE("{model}:predict",v._url),l=v._query,delete v._url,delete v._query,this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(v),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t=function(e,t){let n={},i=t_(e,["predictions"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>nV(e))),tI(n,["generatedImages"],e)}return n}(e),n=new tN;return Object.assign(n,t),n})}throw Error("This method is only supported by the Vertex AI.")}async segmentImage(e){var t,n,i,r,l;let o="",s={};if(this.apiClient.isVertexAI()){let a,u,p,d,c,h,f,m,g,y,E,I,_,v,T,A=(i=this.apiClient,h={},null!=(f=t_(e,["model"]))&&tI(h,["_url","model"],tQ(i,f)),null!=(m=t_(e,["source"]))&&(r=m,l=h,p=t_(r,["prompt"]),void 0!==l&&null!=p&&tI(l,["instances[0]","prompt"],p),d=t_(r,["image"]),void 0!==l&&null!=d&&tI(l,["instances[0]","image"],nK(d)),c=t_(r,["scribbleImage"]),void 0!==l&&null!=c&&tI(l,["instances[0]","scribble"],(a={},null!=(u=t_(c,["image"]))&&tI(a,["image"],nK(u)),a))),null!=(g=t_(e,["config"]))&&(y=t_(g,["mode"]),void 0!==h&&null!=y&&tI(h,["parameters","mode"],y),E=t_(g,["maxPredictions"]),void 0!==h&&null!=E&&tI(h,["parameters","maxPredictions"],E),I=t_(g,["confidenceThreshold"]),void 0!==h&&null!=I&&tI(h,["parameters","confidenceThreshold"],I),_=t_(g,["maskDilation"]),void 0!==h&&null!=_&&tI(h,["parameters","maskDilation"],_),v=t_(g,["binaryColorThreshold"]),void 0!==h&&null!=v&&tI(h,["parameters","binaryColorThreshold"],v),T=t_(g,["labels"]),void 0!==h&&null!=T&&tI(h,["labels"],T)),h);return o=tE("{model}:predict",A._url),s=A._query,delete A._url,delete A._query,this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(A),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t=function(e,t){let n={},i=t_(e,["predictions"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>(function(e,t){let n={},i=t_(e,["_self"]);null!=i&&tI(n,["mask"],nB(i));let r=t_(e,["labels"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["labels"],e)}return n})(e))),tI(n,["generatedMasks"],e)}return n}(e),n=new tP;return Object.assign(n,t),n})}throw Error("This method is only supported by the Vertex AI.")}async get(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["_url","name"],tQ(l,r)),i);return s=tE("{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>n$(e))}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["model"]))&&tI(t,["_url","name"],tQ(o,n)),t);return s=tE("{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>nY(e))}}async listInternal(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o,u,p,d,c=(l=this.apiClient,i={},null!=(r=t_(e,["config"]))&&(o=t_(r,["pageSize"]),void 0!==i&&null!=o&&tI(i,["_query","pageSize"],o),u=t_(r,["pageToken"]),void 0!==i&&null!=u&&tI(i,["_query","pageToken"],u),p=t_(r,["filter"]),void 0!==i&&null!=p&&tI(i,["_query","filter"],p),d=t_(r,["queryBase"]),void 0!==i&&null!=d&&tI(i,["_url","models_url"],np(l,d))),i);return s=tE("{models_url}",c._url),a=c._query,delete c._url,delete c._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["nextPageToken"]);null!=r&&tI(n,["nextPageToken"],r);let l=t_(e,["_self"]);if(null!=l){let e=nd(l);Array.isArray(e)&&(e=e.map(e=>n$(e))),tI(n,["models"],e)}return n}(e),n=new tw;return Object.assign(n,t),n})}{let t,n,l,u,p,d,c=(o=this.apiClient,t={},null!=(n=t_(e,["config"]))&&(l=t_(n,["pageSize"]),void 0!==t&&null!=l&&tI(t,["_query","pageSize"],l),u=t_(n,["pageToken"]),void 0!==t&&null!=u&&tI(t,["_query","pageToken"],u),p=t_(n,["filter"]),void 0!==t&&null!=p&&tI(t,["_query","filter"],p),d=t_(n,["queryBase"]),void 0!==t&&null!=d&&tI(t,["_url","models_url"],np(o,d))),t);return s=tE("{models_url}",c._url),a=c._query,delete c._url,delete c._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["nextPageToken"]);null!=r&&tI(n,["nextPageToken"],r);let l=t_(e,["_self"]);if(null!=l){let e=nd(l);Array.isArray(e)&&(e=e.map(e=>nY(e))),tI(n,["models"],e)}return n}(e),n=new tw;return Object.assign(n,t),n})}}async update(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o,u,p,d,c=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["_url","model"],tQ(l,r)),null!=(o=t_(e,["config"]))&&(u=t_(o,["displayName"]),void 0!==i&&null!=u&&tI(i,["displayName"],u),p=t_(o,["description"]),void 0!==i&&null!=p&&tI(i,["description"],p),d=t_(o,["defaultCheckpointId"]),void 0!==i&&null!=d&&tI(i,["defaultCheckpointId"],d)),i);return s=tE("{model}",c._url),a=c._query,delete c._url,delete c._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>n$(e))}{let t,n,l,u,p,d,c=(o=this.apiClient,t={},null!=(n=t_(e,["model"]))&&tI(t,["_url","name"],tQ(o,n)),null!=(l=t_(e,["config"]))&&(u=t_(l,["displayName"]),void 0!==t&&null!=u&&tI(t,["displayName"],u),p=t_(l,["description"]),void 0!==t&&null!=p&&tI(t,["description"],p),d=t_(l,["defaultCheckpointId"]),void 0!==t&&null!=d&&tI(t,["defaultCheckpointId"],d)),t);return s=tE("{name}",c._url),a=c._query,delete c._url,delete c._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>nY(e))}}async delete(e){var t,n,i,r,l,o;let s="",a={};if(this.apiClient.isVertexAI()){let i,r,o=(l=this.apiClient,i={},null!=(r=t_(e,["model"]))&&tI(i,["_url","name"],tQ(l,r)),i);return s=tE("{name}",o._url),a=o._query,delete o._url,delete o._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(o),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tD;return Object.assign(r,i),r})}{let t,n,l=(o=this.apiClient,t={},null!=(n=t_(e,["model"]))&&tI(t,["_url","name"],tQ(o,n)),t);return s=tE("{name}",l._url),a=l._query,delete l._url,delete l._query,this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(l),httpMethod:"DELETE",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tD;return Object.assign(r,i),r})}}async countTokens(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i=function(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nk(e))),tI(i,["contents"],e)}let o=t_(t,["config"]);return null!=o&&function(e,t,n){let i=t_(e,["systemInstruction"]);void 0!==t&&null!=i&&tI(t,["systemInstruction"],nk(t7(i)));let r=t_(e,["tools"]);if(void 0!==t&&null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>nX(e))),tI(t,["tools"],e)}let l=t_(e,["generationConfig"]);void 0!==t&&null!=l&&tI(t,["generationConfig"],function(e,t){let n={},i=t_(e,["modelSelectionConfig"]);null!=i&&tI(n,["modelConfig"],i);let r=t_(e,["responseJsonSchema"]);null!=r&&tI(n,["responseJsonSchema"],r);let l=t_(e,["audioTimestamp"]);null!=l&&tI(n,["audioTimestamp"],l);let o=t_(e,["candidateCount"]);null!=o&&tI(n,["candidateCount"],o);let s=t_(e,["enableAffectiveDialog"]);null!=s&&tI(n,["enableAffectiveDialog"],s);let a=t_(e,["frequencyPenalty"]);null!=a&&tI(n,["frequencyPenalty"],a);let u=t_(e,["logprobs"]);null!=u&&tI(n,["logprobs"],u);let p=t_(e,["maxOutputTokens"]);null!=p&&tI(n,["maxOutputTokens"],p);let d=t_(e,["mediaResolution"]);null!=d&&tI(n,["mediaResolution"],d);let c=t_(e,["presencePenalty"]);null!=c&&tI(n,["presencePenalty"],c);let h=t_(e,["responseLogprobs"]);null!=h&&tI(n,["responseLogprobs"],h);let f=t_(e,["responseMimeType"]);null!=f&&tI(n,["responseMimeType"],f);let m=t_(e,["responseModalities"]);null!=m&&tI(n,["responseModalities"],m);let g=t_(e,["responseSchema"]);null!=g&&tI(n,["responseSchema"],g);let y=t_(e,["routingConfig"]);null!=y&&tI(n,["routingConfig"],y);let E=t_(e,["seed"]);null!=E&&tI(n,["seed"],E);let I=t_(e,["speechConfig"]);null!=I&&tI(n,["speechConfig"],I);let _=t_(e,["stopSequences"]);null!=_&&tI(n,["stopSequences"],_);let v=t_(e,["temperature"]);null!=v&&tI(n,["temperature"],v);let T=t_(e,["thinkingConfig"]);null!=T&&tI(n,["thinkingConfig"],T);let A=t_(e,["topK"]);null!=A&&tI(n,["topK"],A);let C=t_(e,["topP"]);if(null!=C&&tI(n,["topP"],C),void 0!==t_(e,["enableEnhancedCivicAnswers"]))throw Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return n}(l))}(o,i),i}(this.apiClient,e);return l=tE("{model}:countTokens",i._url),o=i._query,delete i._url,delete i._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(i),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i,r=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),null!=(i=t_(e,["totalTokens"]))&&tI(t,["totalTokens"],i),t),l=new tM;return Object.assign(l,r),l})}{let t=function(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nL(e))),tI(i,["contents"],e)}let o=t_(t,["config"]);return null!=o&&function(e,t){if(void 0!==t_(e,["systemInstruction"]))throw Error("systemInstruction parameter is not supported in Gemini API.");if(void 0!==t_(e,["tools"]))throw Error("tools parameter is not supported in Gemini API.");if(void 0!==t_(e,["generationConfig"]))throw Error("generationConfig parameter is not supported in Gemini API.")}(o),i}(this.apiClient,e);return l=tE("{model}:countTokens",t._url),o=t._query,delete t._url,delete t._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(t),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i,r,l=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),null!=(i=t_(e,["totalTokens"]))&&tI(t,["totalTokens"],i),null!=(r=t_(e,["cachedContentTokenCount"]))&&tI(t,["cachedContentTokenCount"],r),t),o=new tM;return Object.assign(o,l),o})}}async computeTokens(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI()){let l=function(e,t,n){let i={},r=t_(t,["model"]);null!=r&&tI(i,["_url","model"],tQ(e,r));let l=t_(t,["contents"]);if(null!=l){let e=nt(l);Array.isArray(e)&&(e=e.map(e=>nk(e))),tI(i,["contents"],e)}return i}(this.apiClient,e);return i=tE("{model}:computeTokens",l._url),r=l._query,delete l._url,delete l._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(l),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["tokensInfo"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["tokensInfo"],e)}return n}(e),n=new tU;return Object.assign(n,t),n})}throw Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var t,n,i,r,l,o,s,a,u,p;let d="",c={};if(this.apiClient.isVertexAI()){let i,r,o,u,p,h,f,m,g,y,E=(l=this.apiClient,u={},null!=(p=t_(e,["model"]))&&tI(u,["_url","model"],tQ(l,p)),null!=(h=t_(e,["prompt"]))&&tI(u,["instances[0]","prompt"],h),null!=(f=t_(e,["image"]))&&tI(u,["instances[0]","image"],nK(f)),null!=(m=t_(e,["video"]))&&tI(u,["instances[0]","video"],nZ(m)),null!=(g=t_(e,["source"]))&&(s=g,a=u,i=t_(s,["prompt"]),void 0!==a&&null!=i&&tI(a,["instances[0]","prompt"],i),r=t_(s,["image"]),void 0!==a&&null!=r&&tI(a,["instances[0]","image"],nK(r)),o=t_(s,["video"]),void 0!==a&&null!=o&&tI(a,["instances[0]","video"],nZ(o))),null!=(y=t_(e,["config"]))&&function(e,t,n){var i;let r,l,o,s=t_(e,["numberOfVideos"]);void 0!==t&&null!=s&&tI(t,["parameters","sampleCount"],s);let a=t_(e,["outputGcsUri"]);void 0!==t&&null!=a&&tI(t,["parameters","storageUri"],a);let u=t_(e,["fps"]);void 0!==t&&null!=u&&tI(t,["parameters","fps"],u);let p=t_(e,["durationSeconds"]);void 0!==t&&null!=p&&tI(t,["parameters","durationSeconds"],p);let d=t_(e,["seed"]);void 0!==t&&null!=d&&tI(t,["parameters","seed"],d);let c=t_(e,["aspectRatio"]);void 0!==t&&null!=c&&tI(t,["parameters","aspectRatio"],c);let h=t_(e,["resolution"]);void 0!==t&&null!=h&&tI(t,["parameters","resolution"],h);let f=t_(e,["personGeneration"]);void 0!==t&&null!=f&&tI(t,["parameters","personGeneration"],f);let m=t_(e,["pubsubTopic"]);void 0!==t&&null!=m&&tI(t,["parameters","pubsubTopic"],m);let g=t_(e,["negativePrompt"]);void 0!==t&&null!=g&&tI(t,["parameters","negativePrompt"],g);let y=t_(e,["enhancePrompt"]);void 0!==t&&null!=y&&tI(t,["parameters","enhancePrompt"],y);let E=t_(e,["generateAudio"]);void 0!==t&&null!=E&&tI(t,["parameters","generateAudio"],E);let I=t_(e,["lastFrame"]);void 0!==t&&null!=I&&tI(t,["instances[0]","lastFrame"],nK(I));let _=t_(e,["referenceImages"]);if(void 0!==t&&null!=_){let e=_;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r;return n={},null!=(i=t_(t=e,["image"]))&&tI(n,["image"],nK(i)),null!=(r=t_(t,["referenceType"]))&&tI(n,["referenceType"],r),n})),tI(t,["instances[0]","referenceImages"],e)}let v=t_(e,["mask"]);void 0!==t&&null!=v&&tI(t,["instances[0]","mask"],(r={},null!=(l=t_(i=v,["image"]))&&tI(r,["_self"],nK(l)),null!=(o=t_(i,["maskMode"]))&&tI(r,["maskMode"],o),r));let T=t_(e,["compressionQuality"]);void 0!==t&&null!=T&&tI(t,["parameters","compressionQuality"],T)}(y,u),u);return d=tE("{model}:predictLongRunning",E._url),c=E._query,delete E._url,delete E._query,this.apiClient.request({path:d,queryParams:c,body:JSON.stringify(E),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t,n,i,r,l,o,s=(t={},null!=(n=t_(e,["name"]))&&tI(t,["name"],n),null!=(i=t_(e,["metadata"]))&&tI(t,["metadata"],i),null!=(r=t_(e,["done"]))&&tI(t,["done"],r),null!=(l=t_(e,["error"]))&&tI(t,["error"],l),null!=(o=t_(e,["response"]))&&tI(t,["response"],function(e,t){let n={},i=t_(e,["videos"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s;return n={},null!=(i=t_(e,["_self"]))&&tI(n,["video"],(r={},null!=(l=t_(t=i,["gcsUri"]))&&tI(r,["uri"],l),null!=(o=t_(t,["bytesBase64Encoded"]))&&tI(r,["videoBytes"],tv(o)),null!=(s=t_(t,["mimeType"]))&&tI(r,["mimeType"],s),r)),n})),tI(n,["generatedVideos"],e)}let r=t_(e,["raiMediaFilteredCount"]);null!=r&&tI(n,["raiMediaFilteredCount"],r);let l=t_(e,["raiMediaFilteredReasons"]);return null!=l&&tI(n,["raiMediaFilteredReasons"],l),n}(o)),t),a=new tG;return Object.assign(a,s),a})}{let t,n,l,s,a,h,f,m,g,y,E=(o=this.apiClient,s={},null!=(a=t_(e,["model"]))&&tI(s,["_url","model"],tQ(o,a)),null!=(h=t_(e,["prompt"]))&&tI(s,["instances[0]","prompt"],h),null!=(f=t_(e,["image"]))&&tI(s,["instances[0]","image"],nJ(f)),null!=(m=t_(e,["video"]))&&tI(s,["instances[0]","video"],nQ(m)),null!=(g=t_(e,["source"]))&&(u=g,p=s,t=t_(u,["prompt"]),void 0!==p&&null!=t&&tI(p,["instances[0]","prompt"],t),n=t_(u,["image"]),void 0!==p&&null!=n&&tI(p,["instances[0]","image"],nJ(n)),l=t_(u,["video"]),void 0!==p&&null!=l&&tI(p,["instances[0]","video"],nQ(l))),null!=(y=t_(e,["config"]))&&function(e,t,n){let i=t_(e,["numberOfVideos"]);if(void 0!==t&&null!=i&&tI(t,["parameters","sampleCount"],i),void 0!==t_(e,["outputGcsUri"]))throw Error("outputGcsUri parameter is not supported in Gemini API.");if(void 0!==t_(e,["fps"]))throw Error("fps parameter is not supported in Gemini API.");let r=t_(e,["durationSeconds"]);if(void 0!==t&&null!=r&&tI(t,["parameters","durationSeconds"],r),void 0!==t_(e,["seed"]))throw Error("seed parameter is not supported in Gemini API.");let l=t_(e,["aspectRatio"]);void 0!==t&&null!=l&&tI(t,["parameters","aspectRatio"],l);let o=t_(e,["resolution"]);void 0!==t&&null!=o&&tI(t,["parameters","resolution"],o);let s=t_(e,["personGeneration"]);if(void 0!==t&&null!=s&&tI(t,["parameters","personGeneration"],s),void 0!==t_(e,["pubsubTopic"]))throw Error("pubsubTopic parameter is not supported in Gemini API.");let a=t_(e,["negativePrompt"]);void 0!==t&&null!=a&&tI(t,["parameters","negativePrompt"],a);let u=t_(e,["enhancePrompt"]);if(void 0!==t&&null!=u&&tI(t,["parameters","enhancePrompt"],u),void 0!==t_(e,["generateAudio"]))throw Error("generateAudio parameter is not supported in Gemini API.");let p=t_(e,["lastFrame"]);void 0!==t&&null!=p&&tI(t,["instances[0]","lastFrame"],nJ(p));let d=t_(e,["referenceImages"]);if(void 0!==t&&null!=d){let e=d;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r;return n={},null!=(i=t_(t=e,["image"]))&&tI(n,["image"],nJ(i)),null!=(r=t_(t,["referenceType"]))&&tI(n,["referenceType"],r),n})),tI(t,["instances[0]","referenceImages"],e)}if(void 0!==t_(e,["mask"]))throw Error("mask parameter is not supported in Gemini API.");if(void 0!==t_(e,["compressionQuality"]))throw Error("compressionQuality parameter is not supported in Gemini API.")}(y,s),s);return d=tE("{model}:predictLongRunning",E._url),c=E._query,delete E._url,delete E._query,this.apiClient.request({path:d,queryParams:c,body:JSON.stringify(E),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json()).then(e=>{let t,n,i,r,l,o,s=(t={},null!=(n=t_(e,["name"]))&&tI(t,["name"],n),null!=(i=t_(e,["metadata"]))&&tI(t,["metadata"],i),null!=(r=t_(e,["done"]))&&tI(t,["done"],r),null!=(l=t_(e,["error"]))&&tI(t,["error"],l),null!=(o=t_(e,["response","generateVideoResponse"]))&&tI(t,["response"],function(e,t){let n={},i=t_(e,["generatedSamples"]);if(null!=i){let e=i;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s;return n={},null!=(i=t_(e,["video"]))&&tI(n,["video"],(r={},null!=(l=t_(t=i,["uri"]))&&tI(r,["uri"],l),null!=(o=t_(t,["encodedVideo"]))&&tI(r,["videoBytes"],tv(o)),null!=(s=t_(t,["encoding"]))&&tI(r,["mimeType"],s),r)),n})),tI(n,["generatedVideos"],e)}let r=t_(e,["raiMediaFilteredCount"]);null!=r&&tI(n,["raiMediaFilteredCount"],r);let l=t_(e,["raiMediaFilteredReasons"]);return null!=l&&tI(n,["raiMediaFilteredReasons"],l),n}(o)),t),a=new tG;return Object.assign(a,s),a})}}}class id extends ty{constructor(e){super(),this.apiClient=e}async getVideosOperation(e){let t=e.operation,n=e.config;if(void 0===t.name||""===t.name)throw Error("Operation name is required.");if(this.apiClient.isVertexAI()){let e,i=t.name.split("/operations/")[0];n&&"httpOptions"in n&&(e=n.httpOptions);let r=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:i,config:{httpOptions:e}});return t._fromAPIResponse({apiResponse:r,_isVertexAI:!0})}{let e=await this.getVideosOperationInternal({operationName:t.name,config:n});return t._fromAPIResponse({apiResponse:e,_isVertexAI:!1})}}async get(e){let t=e.operation,n=e.config;if(void 0===t.name||""===t.name)throw Error("Operation name is required.");if(this.apiClient.isVertexAI()){let e,i=t.name.split("/operations/")[0];n&&"httpOptions"in n&&(e=n.httpOptions);let r=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:i,config:{httpOptions:e}});return t._fromAPIResponse({apiResponse:r,_isVertexAI:!0})}{let e=await this.getVideosOperationInternal({operationName:t.name,config:n});return t._fromAPIResponse({apiResponse:e,_isVertexAI:!1})}}async getVideosOperationInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s=(i={},null!=(r=t_(e,["operationName"]))&&tI(i,["_url","operationName"],r),i);return l=tE("{operationName}",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json())}{let t,n,s=(t={},null!=(n=t_(e,["operationName"]))&&tI(t,["_url","operationName"],n),t);return l=tE("{operationName}",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json())}}async fetchPredictVideosOperationInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI()){let l,o,s,a=(l={},null!=(o=t_(e,["operationName"]))&&tI(l,["operationName"],o),null!=(s=t_(e,["resourceName"]))&&tI(l,["_url","resourceName"],s),l);return i=tE("{resourceName}:fetchPredictOperation",a._url),r=a._query,delete a._url,delete a._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(a),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json())}throw Error("This method is only supported by the Vertex AI.")}}function ic(e){if(void 0!==t_(e,["languageCodes"]))throw Error("languageCodes parameter is not supported in Gemini API.");return{}}class ih extends ty{constructor(e){super(),this.apiClient=e}async create(e){var t,n,i,r,l;let o="",s={};if(this.apiClient.isVertexAI())throw Error("The client.tokens.create method is only supported by the Gemini Developer API.");{let a,u,p,d,c,h,f,m,g,y,E=(i=this.apiClient,d={},null!=(c=t_(e,["config"]))&&tI(d,["config"],(h=t_(c,["expireTime"]),void 0!==d&&null!=h&&tI(d,["expireTime"],h),f=t_(c,["newSessionExpireTime"]),void 0!==d&&null!=f&&tI(d,["newSessionExpireTime"],f),m=t_(c,["uses"]),void 0!==d&&null!=m&&tI(d,["uses"],m),g=t_(c,["liveConnectConstraints"]),void 0!==d&&null!=g&&tI(d,["bidiGenerateContentSetup"],(r=i,a={},null!=(u=t_(l=g,["model"]))&&tI(a,["setup","model"],tQ(r,u)),null!=(p=t_(l,["config"]))&&tI(a,["config"],function(e,t){let n=t_(e,["generationConfig"]);void 0!==t&&null!=n&&tI(t,["setup","generationConfig"],n);let i=t_(e,["responseModalities"]);void 0!==t&&null!=i&&tI(t,["setup","generationConfig","responseModalities"],i);let r=t_(e,["temperature"]);void 0!==t&&null!=r&&tI(t,["setup","generationConfig","temperature"],r);let l=t_(e,["topP"]);void 0!==t&&null!=l&&tI(t,["setup","generationConfig","topP"],l);let o=t_(e,["topK"]);void 0!==t&&null!=o&&tI(t,["setup","generationConfig","topK"],o);let s=t_(e,["maxOutputTokens"]);void 0!==t&&null!=s&&tI(t,["setup","generationConfig","maxOutputTokens"],s);let a=t_(e,["mediaResolution"]);void 0!==t&&null!=a&&tI(t,["setup","generationConfig","mediaResolution"],a);let u=t_(e,["seed"]);void 0!==t&&null!=u&&tI(t,["setup","generationConfig","seed"],u);let p=t_(e,["speechConfig"]);void 0!==t&&null!=p&&tI(t,["setup","generationConfig","speechConfig"],nr(p));let d=t_(e,["thinkingConfig"]);void 0!==t&&null!=d&&tI(t,["setup","generationConfig","thinkingConfig"],d);let c=t_(e,["enableAffectiveDialog"]);void 0!==t&&null!=c&&tI(t,["setup","generationConfig","enableAffectiveDialog"],c);let h=t_(e,["systemInstruction"]);void 0!==t&&null!=h&&tI(t,["setup","systemInstruction"],function(e){let t={},n=t_(e,["parts"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c,h,f,m;return n={},null!=(i=t_(t=e,["mediaResolution"]))&&tI(n,["mediaResolution"],i),null!=(r=t_(t,["codeExecutionResult"]))&&tI(n,["codeExecutionResult"],r),null!=(l=t_(t,["executableCode"]))&&tI(n,["executableCode"],l),null!=(o=t_(t,["fileData"]))&&tI(n,["fileData"],function(e){let t={};if(void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let n=t_(e,["fileUri"]);null!=n&&tI(t,["fileUri"],n);let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(o)),null!=(s=t_(t,["functionCall"]))&&tI(n,["functionCall"],function(e){let t={},n=t_(e,["id"]);null!=n&&tI(t,["id"],n);let i=t_(e,["args"]);null!=i&&tI(t,["args"],i);let r=t_(e,["name"]);if(null!=r&&tI(t,["name"],r),void 0!==t_(e,["partialArgs"]))throw Error("partialArgs parameter is not supported in Gemini API.");if(void 0!==t_(e,["willContinue"]))throw Error("willContinue parameter is not supported in Gemini API.");return t}(s)),null!=(a=t_(t,["functionResponse"]))&&tI(n,["functionResponse"],a),null!=(u=t_(t,["inlineData"]))&&tI(n,["inlineData"],function(e){let t={},n=t_(e,["data"]);if(null!=n&&tI(t,["data"],n),void 0!==t_(e,["displayName"]))throw Error("displayName parameter is not supported in Gemini API.");let i=t_(e,["mimeType"]);return null!=i&&tI(t,["mimeType"],i),t}(u)),null!=(p=t_(t,["text"]))&&tI(n,["text"],p),null!=(d=t_(t,["thought"]))&&tI(n,["thought"],d),null!=(c=t_(t,["thoughtSignature"]))&&tI(n,["thoughtSignature"],c),null!=(h=t_(t,["videoMetadata"]))&&tI(n,["videoMetadata"],h),null!=(f=t_(t,["toolCall"]))&&tI(n,["toolCall"],f),null!=(m=t_(t,["toolResponse"]))&&tI(n,["toolResponse"],m),n})),tI(t,["parts"],e)}let i=t_(e,["role"]);return null!=i&&tI(t,["role"],i),t}(t7(h)));let f=t_(e,["tools"]);if(void 0!==t&&null!=f){let e=no(f);Array.isArray(e)&&(e=e.map(e=>(function(e){let t,n,i,r={};if(void 0!==t_(e,["retrieval"]))throw Error("retrieval parameter is not supported in Gemini API.");let l=t_(e,["computerUse"]);null!=l&&tI(r,["computerUse"],l);let o=t_(e,["fileSearch"]);null!=o&&tI(r,["fileSearch"],o);let s=t_(e,["googleSearch"]);null!=s&&tI(r,["googleSearch"],function(e){let t={},n=t_(e,["searchTypes"]);if(null!=n&&tI(t,["searchTypes"],n),void 0!==t_(e,["blockingConfidence"]))throw Error("blockingConfidence parameter is not supported in Gemini API.");if(void 0!==t_(e,["excludeDomains"]))throw Error("excludeDomains parameter is not supported in Gemini API.");let i=t_(e,["timeRangeFilter"]);return null!=i&&tI(t,["timeRangeFilter"],i),t}(s));let a=t_(e,["googleMaps"]);null!=a&&tI(r,["googleMaps"],(t={},null!=(n=t_(a,["authConfig"]))&&tI(t,["authConfig"],function(e){let t={},n=t_(e,["apiKey"]);if(null!=n&&tI(t,["apiKey"],n),void 0!==t_(e,["apiKeyConfig"]))throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["authType"]))throw Error("authType parameter is not supported in Gemini API.");if(void 0!==t_(e,["googleServiceAccountConfig"]))throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["httpBasicAuthConfig"]))throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oauthConfig"]))throw Error("oauthConfig parameter is not supported in Gemini API.");if(void 0!==t_(e,["oidcConfig"]))throw Error("oidcConfig parameter is not supported in Gemini API.");return t}(n)),null!=(i=t_(a,["enableWidget"]))&&tI(t,["enableWidget"],i),t));let u=t_(e,["codeExecution"]);if(null!=u&&tI(r,["codeExecution"],u),void 0!==t_(e,["enterpriseWebSearch"]))throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let p=t_(e,["functionDeclarations"]);if(null!=p){let e=p;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["functionDeclarations"],e)}let d=t_(e,["googleSearchRetrieval"]);if(null!=d&&tI(r,["googleSearchRetrieval"],d),void 0!==t_(e,["parallelAiSearch"]))throw Error("parallelAiSearch parameter is not supported in Gemini API.");let c=t_(e,["urlContext"]);null!=c&&tI(r,["urlContext"],c);let h=t_(e,["mcpServers"]);if(null!=h){let e=h;Array.isArray(e)&&(e=e.map(e=>e)),tI(r,["mcpServers"],e)}return r})(nl(e)))),tI(t,["setup","tools"],e)}let m=t_(e,["sessionResumption"]);void 0!==t&&null!=m&&tI(t,["setup","sessionResumption"],function(e){let t={},n=t_(e,["handle"]);if(null!=n&&tI(t,["handle"],n),void 0!==t_(e,["transparent"]))throw Error("transparent parameter is not supported in Gemini API.");return t}(m));let g=t_(e,["inputAudioTranscription"]);void 0!==t&&null!=g&&tI(t,["setup","inputAudioTranscription"],ic(g));let y=t_(e,["outputAudioTranscription"]);void 0!==t&&null!=y&&tI(t,["setup","outputAudioTranscription"],ic(y));let E=t_(e,["realtimeInputConfig"]);void 0!==t&&null!=E&&tI(t,["setup","realtimeInputConfig"],E);let I=t_(e,["contextWindowCompression"]);void 0!==t&&null!=I&&tI(t,["setup","contextWindowCompression"],I);let _=t_(e,["proactivity"]);if(void 0!==t&&null!=_&&tI(t,["setup","proactivity"],_),void 0!==t_(e,["explicitVadSignal"]))throw Error("explicitVadSignal parameter is not supported in Gemini API.");return{}}(p,a)),a)),y=t_(c,["lockAdditionalFields"]),void 0!==d&&null!=y&&tI(d,["fieldMask"],y),{})),d);o=tE("auth_tokens",E._url),s=E._query,delete E.config,delete E._url,delete E._query;let I=function(e,t){let n=null,i=e.bidiGenerateContentSetup;if("object"==typeof i&&null!==i&&"setup"in i){let t=i.setup;"object"==typeof t&&null!==t?(e.bidiGenerateContentSetup=t,n=t):delete e.bidiGenerateContentSetup}else void 0!==i&&delete e.bidiGenerateContentSetup;let r=e.fieldMask;if(n){let i=function(e){let t=[];for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n];if("object"==typeof i&&null!=i&&Object.keys(i).length>0){let e=Object.keys(i).map(e=>`${n}.${e}`);t.push(...e)}else t.push(n)}return t.join(",")}(n);if(Array.isArray(null==t?void 0:t.lockAdditionalFields)&&(null==t?void 0:t.lockAdditionalFields.length)===0)i?e.fieldMask=i:delete e.fieldMask;else if((null==t?void 0:t.lockAdditionalFields)&&t.lockAdditionalFields.length>0&&null!==r&&Array.isArray(r)&&r.length>0){let t=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"],n=[];r.length>0&&(n=r.map(e=>t.includes(e)?`generationConfig.${e}`:e));let l=[];i&&l.push(i),n.length>0&&l.push(...n),l.length>0?e.fieldMask=l.join(","):delete e.fieldMask}else delete e.fieldMask}else null!==r&&Array.isArray(r)&&r.length>0?e.fieldMask=r.join(","):delete e.fieldMask;return e}(E,e.config);return this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(I),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}}}class im extends ty{constructor(e){super(),this.apiClient=e,this.list=async e=>new n_(tm.PAGED_ITEM_DOCUMENTS,t=>this.listInternal({parent:e.parent,config:t.config}),await this.listInternal(e),e)}async get(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","name"],o),l);return i=tE("{name}",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}}async delete(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","name"],o),null!=(s=t_(e,["config"]))&&(a=t_(s,["force"]),void 0!==l&&null!=a&&tI(l,["_query","force"],a)),l);i=tE("{name}",u._url),r=u._query,delete u._url,delete u._query,await this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal})}}async listInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u,p=(l={},null!=(o=t_(e,["parent"]))&&tI(l,["_url","parent"],o),null!=(s=t_(e,["config"]))&&(a=t_(s,["pageSize"]),void 0!==l&&null!=a&&tI(l,["_query","pageSize"],a),u=t_(s,["pageToken"]),void 0!==l&&null!=u&&tI(l,["_query","pageToken"],u)),l);return i=tE("{parent}/documents",p._url),r=p._query,delete p._url,delete p._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(p),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["documents"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["documents"],e)}return t}(e),n=new tH;return Object.assign(n,t),n})}}}class ig extends ty{constructor(e,t=new im(e)){super(),this.apiClient=e,this.documents=t,this.list=async(e={})=>new n_(tm.PAGED_ITEM_FILE_SEARCH_STORES,e=>this.listInternal(e),await this.listInternal(e),e)}async uploadToFileSearchStore(e){if(this.apiClient.isVertexAI())throw Error("Vertex AI does not support uploading files to a file search store.");return this.apiClient.uploadFileToFileSearchStore(e.fileSearchStoreName,e.file,e.config)}async create(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a=(l={},null!=(o=t_(e,["config"]))&&(s=t_(o,["displayName"]),void 0!==l&&null!=s&&tI(l,["displayName"],s)),l);return i=tE("fileSearchStores",a._url),r=a._query,delete a._url,delete a._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(a),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}}async get(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","name"],o),l);return i=tE("{name}",s._url),r=s._query,delete s._url,delete s._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>e)}}async delete(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u=(l={},null!=(o=t_(e,["name"]))&&tI(l,["_url","name"],o),null!=(s=t_(e,["config"]))&&(a=t_(s,["force"]),void 0!==l&&null!=a&&tI(l,["_query","force"],a)),l);i=tE("{name}",u._url),r=u._query,delete u._url,delete u._query,await this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal})}}async listInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u=(l={},null!=(o=t_(e,["config"]))&&(s=t_(o,["pageSize"]),void 0!==l&&null!=s&&tI(l,["_query","pageSize"],s),a=t_(o,["pageToken"]),void 0!==l&&null!=a&&tI(l,["_query","pageToken"],a)),l);return i=tE("fileSearchStores",u._url),r=u._query,delete u._url,delete u._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(u),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t=function(e){let t={},n=t_(e,["sdkHttpResponse"]);null!=n&&tI(t,["sdkHttpResponse"],n);let i=t_(e,["nextPageToken"]);null!=i&&tI(t,["nextPageToken"],i);let r=t_(e,["fileSearchStores"]);if(null!=r){let e=r;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["fileSearchStores"],e)}return t}(e),n=new tF;return Object.assign(n,t),n})}}async uploadToFileSearchStoreInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a=(l={},null!=(o=t_(e,["fileSearchStoreName"]))&&tI(l,["_url","file_search_store_name"],o),null!=(s=t_(e,["config"]))&&n0(s,l),l);return i=tE("upload/v1beta/{file_search_store_name}:uploadToFileSearchStore",a._url),r=a._query,delete a._url,delete a._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(a),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tj;return Object.assign(r,i),r})}}async importFile(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u=(l={},null!=(o=t_(e,["fileSearchStoreName"]))&&tI(l,["_url","file_search_store_name"],o),null!=(s=t_(e,["fileName"]))&&tI(l,["fileName"],s),null!=(a=t_(e,["config"]))&&function(e,t){let n=t_(e,["customMetadata"]);if(void 0!==t&&null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>e)),tI(t,["customMetadata"],e)}let i=t_(e,["chunkingConfig"]);void 0!==t&&null!=i&&tI(t,["chunkingConfig"],i)}(a,l),l);return i=tE("{file_search_store_name}:importFile",u._url),r=u._query,delete u._url,delete u._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(u),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json()).then(e=>{var t;let n,i,r,l,o,s,a,u,p,d,c=(o={},null!=(s=t_(e,["name"]))&&tI(o,["name"],s),null!=(a=t_(e,["metadata"]))&&tI(o,["metadata"],a),null!=(u=t_(e,["done"]))&&tI(o,["done"],u),null!=(p=t_(e,["error"]))&&tI(o,["error"],p),null!=(d=t_(e,["response"]))&&tI(o,["response"],(n={},null!=(i=t_(t=d,["sdkHttpResponse"]))&&tI(n,["sdkHttpResponse"],i),null!=(r=t_(t,["parent"]))&&tI(n,["parent"],r),null!=(l=t_(t,["documentName"]))&&tI(n,["documentName"],l),n)),o),h=new tV;return Object.assign(h,c),h})}}}let iy=function(){let{crypto:e}=globalThis;if(null==e?void 0:e.randomUUID)return iy=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function iE(e){return"object"==typeof e&&null!==e&&("name"in e&&"AbortError"===e.name||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}let iI=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e){try{if("[object Error]"===Object.prototype.toString.call(e)){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch(e){}try{return Error(JSON.stringify(e))}catch(e){}}return Error(e)};class i_ extends Error{}class iv extends i_{constructor(e,t,n,i){super(`${iv.makeMessage(e,t,n)}`),this.status=e,this.headers=i,this.error=t}static makeMessage(e,t,n){let i=(null==t?void 0:t.message)?"string"==typeof t.message?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&i?`${e} ${i}`:e?`${e} status code (no body)`:i||"(no status code or body)"}static generate(e,t,n,i){return e&&i?400===e?new iS(e,t,n,i):401===e?new iO(e,t,n,i):403===e?new ib(e,t,n,i):404===e?new iR(e,t,n,i):409===e?new iN(e,t,n,i):422===e?new iP(e,t,n,i):429===e?new iw(e,t,n,i):e>=500?new iD(e,t,n,i):new iv(e,t,n,i):new iA({message:n,cause:iI(t)})}}class iT extends iv{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class iA extends iv{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class iC extends iA{constructor({message:e}={}){super({message:null!=e?e:"Request timed out."})}}class iS extends iv{}class iO extends iv{}class ib extends iv{}class iR extends iv{}class iN extends iv{}class iP extends iv{}class iw extends iv{}class iD extends iv{}let iM=/^[a-z][a-z0-9+.-]*:/i,iU=e=>(iU=Array.isArray)(e),iG=iU;function ix(e){if(!e)return!0;for(let t in e)return!1;return!0}function iL(...e){let t=globalThis.ReadableStream;if(void 0===t)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ik(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return(null==e?void 0:e.done)&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function iq(e){var t,n;if(null===e||"object"!=typeof e)return;if(e[Symbol.asyncIterator])return void await (null==(n=(t=e[Symbol.asyncIterator]()).return)?void 0:n.call(t));let i=e.getReader(),r=i.cancel();i.releaseLock(),await r}let iH=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)}),iF=()=>{var e;if("u"<typeof File){let{process:t}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof(null==(e=null==t?void 0:t.versions)?void 0:e.node)&&20>parseInt(t.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function ij(e,t,n){return iF(),new File(e,null!=t?t:"unknown_file",n)}let iV=e=>null!=e&&"object"==typeof e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.text&&"function"==typeof e.slice&&"function"==typeof e.arrayBuffer;async function iB(e,t,n){var i;let r,l;if(iF(),null!=(r=e=await e)&&"object"==typeof r&&"string"==typeof r.name&&"number"==typeof r.lastModified&&iV(r))return e instanceof File?e:ij([await e.arrayBuffer()],e.name);if(null!=(l=e)&&"object"==typeof l&&"string"==typeof l.url&&"function"==typeof l.blob){let i=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),ij(await iJ(i),t,n)}let o=await iJ(e);if(t||(t=("object"==typeof(i=e)&&null!==i&&("name"in i&&i.name&&String(i.name)||"url"in i&&i.url&&String(i.url)||"filename"in i&&i.filename&&String(i.filename)||"path"in i&&i.path&&String(i.path))||"").split(/[\\/]/).pop()||void 0),!(null==n?void 0:n.type)){let e=o.find(e=>"object"==typeof e&&"type"in e&&e.type);"string"==typeof e&&(n=Object.assign(Object.assign({},n),{type:e}))}return ij(o,t,n)}async function iJ(e){let t=[];if("string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(iV(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(null!=e&&"object"==typeof e&&"function"==typeof e[Symbol.asyncIterator])try{for(var n,i,r,l,o,s,a=!0,u=nR(e);!(n=(s=await u.next()).done);a=!0)l=s.value,a=!1,t.push(...await iJ(l))}catch(e){i={error:e}}finally{try{!a&&!n&&(r=u.return)&&await r.call(u)}finally{if(i)throw i.error}}else{let t=null==(o=null==e?void 0:e.constructor)?void 0:o.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:""}${function(e){if("object"!=typeof e||null===e)return"";let t=Object.getOwnPropertyNames(e);return`; props: [${t.map(e=>`"${e}"`).join(", ")}]`}(e)}`)}return t}class iK{constructor(e){this._client=e}}function iY(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}iK._key=[];let i$=Object.freeze(Object.create(null)),iW=((e=iY)=>function(t,...n){let i;if(1===t.length)return t[0];let r=!1,l=[],o=t.reduce((t,i,o)=>{var s,a,u;/[?#]/.test(i)&&(r=!0);let p=n[o],d=(r?encodeURIComponent:e)(""+p);return o!==n.length&&(null==p||"object"==typeof p&&p.toString===(null==(u=Object.getPrototypeOf(null!=(a=Object.getPrototypeOf(null!=(s=p.hasOwnProperty)?s:i$))?a:i$))?void 0:u.toString))&&(d=p+"",l.push({start:t.length+i.length,length:d.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),t+i+(o===n.length?"":d)},""),s=o.split(/[?#]/,1)[0],a=/(^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(i=a.exec(s));){let e=i[0].startsWith("/"),t=+!!e,n=e?i[0].slice(1):i[0];l.push({start:i.index+t,length:n.length,error:`Value "${n}" can't be safely passed as a path parameter`})}if(l.sort((e,t)=>e.start-t.start),l.length>0){let e=0,t=l.reduce((t,n)=>{let i=" ".repeat(n.start-e),r="^".repeat(n.length);return e=n.start+n.length,t+i+r},"");throw new i_(`Path parameters result in path with invalid segments:
|
|
2
|
+
${l.map(e=>e.error).join("\n")}
|
|
3
|
+
${o}
|
|
4
|
+
${t}`)}return o})(iY);class iz extends iK{create(e,t){var n;let{api_version:i=this._client.apiVersion}=e,r=nS(e,["api_version"]);if("model"in r&&"agent_config"in r)throw new i_("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in r&&"generation_config"in r)throw new i_("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");return this._client.post(iW`/${i}/interactions`,Object.assign(Object.assign({body:r},t),{stream:null!=(n=e.stream)&&n}))}delete(e,t={},n){let{api_version:i=this._client.apiVersion}=null!=t?t:{};return this._client.delete(iW`/${i}/interactions/${e}`,n)}cancel(e,t={},n){let{api_version:i=this._client.apiVersion}=null!=t?t:{};return this._client.post(iW`/${i}/interactions/${e}/cancel`,n)}get(e,t={},n){var i;let r=null!=t?t:{},{api_version:l=this._client.apiVersion}=r,o=nS(r,["api_version"]);return this._client.get(iW`/${l}/interactions/${e}`,Object.assign(Object.assign({query:o},n),{stream:null!=(i=null==t?void 0:t.stream)&&i}))}}iz._key=Object.freeze(["interactions"]);class iX extends iz{}function iQ(e){let t;return(null!=i?i:i=(t=new globalThis.TextEncoder).encode.bind(t))(e)}function iZ(e){let t;return(null!=r?r:r=(t=new globalThis.TextDecoder).decode.bind(t))(e)}class i0{constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null,this.searchIndex=0}decode(e){var t,n,i;let r,l,o,s,a;if(null==e)return[];let u=e instanceof ArrayBuffer?new Uint8Array(e):"string"==typeof e?iQ(e):e;this.buffer=function(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),i=0;for(let t of e)n.set(t,i),i+=t.length;return n}([this.buffer,u]);let p=[];for(;null!=(n=this.buffer,o=null!=(i=null!=(t=this.carriageReturnIndex)?t:this.searchIndex)?i:0,s=n.indexOf(10,o),a=n.indexOf(13,o),r=-1===s&&-1===a?null:10===n[l=-1!==s&&-1!==a?Math.min(s,a):-1!==s?s:a]?{preceding:l,index:l+1,carriage:!1}:{preceding:l,index:l+1,carriage:!0});){if(r.carriage&&null==this.carriageReturnIndex){this.carriageReturnIndex=r.index;continue}if(null!=this.carriageReturnIndex&&(r.index!==this.carriageReturnIndex+1||r.carriage)){p.push(iZ(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null,this.searchIndex=0;continue}let e=null!==this.carriageReturnIndex?r.preceding-1:r.preceding,t=iZ(this.buffer.subarray(0,e));p.push(t),this.buffer=this.buffer.subarray(r.index),this.carriageReturnIndex=null,this.searchIndex=0}return this.searchIndex=Math.max(0,this.buffer.length-1),p}flush(){return this.buffer.length?this.decode("\n"):[]}}i0.NEWLINE_CHARS=new Set(["\n","\r"]),i0.NEWLINE_REGEXP=/\r\n|[\n\r]/g;let i1={off:0,error:200,warn:300,info:400,debug:500},i2=(e,t,n)=>{if(e){if(Object.prototype.hasOwnProperty.call(i1,e))return e;i8(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(i1))}`)}};function i4(){}function i5(e,t,n){return!t||i1[e]>i1[n]?i4:t[e].bind(t)}let i9={error:i4,warn:i4,info:i4,debug:i4},i3=new WeakMap;function i8(e){var t;let n=e.logger,i=null!=(t=e.logLevel)?t:"off";if(!n)return i9;let r=i3.get(n);if(r&&r[0]===i)return r[1];let l={error:i5("error",n,i),warn:i5("warn",n,i),info:i5("info",n,i),debug:i5("debug",n,i)};return i3.set(n,[i,l]),l}let i6=e=>(e.options&&(e.options=Object.assign({},e.options),delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,"x-goog-api-key"===e.toLowerCase()||"authorization"===e.toLowerCase()||"cookie"===e.toLowerCase()||"set-cookie"===e.toLowerCase()?"***":t]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);class i7{constructor(e,t,n){this.iterator=e,this.controller=t,this.client=n}static fromSSEResponse(e,t,n){let i=!1,r=n?i8(n):console;return new i7(function(){return nb(this,arguments,function*(){var n,l,o,s;if(i)throw new i_("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let a=!1;try{try{for(var u,p=!0,d=nR(function(e,t){return nb(this,arguments,function*(){var n,i,r,l;if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new i_("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new i_("Attempted to iterate over a response with no body")}let o=new re,s=new i0,a=ik(e.body);try{for(var u,p=!0,d=nR(function(e){return nb(this,arguments,function*(){var t,n,i,r;try{for(var l,o=!0,s=nR(e);!(t=(l=yield nO(s.next())).done);o=!0){if(r=l.value,o=!1,null==r)continue;let e=r instanceof ArrayBuffer?new Uint8Array(r):"string"==typeof r?iQ(r):r;yield yield nO(e)}}catch(e){n={error:e}}finally{try{!o&&!t&&(i=s.return)&&(yield nO(i.call(s)))}finally{if(n)throw n.error}}})}(a));!(n=(u=yield nO(d.next())).done);p=!0)for(let e of(l=u.value,p=!1,s.decode(l))){let t=o.decode(e);t&&(yield yield nO(t))}}catch(e){i={error:e}}finally{try{!p&&!n&&(r=d.return)&&(yield nO(r.call(d)))}finally{if(i)throw i.error}}for(let e of s.flush()){let t=o.decode(e);t&&(yield yield nO(t))}})}(e,t));!(n=(u=yield nO(d.next())).done);p=!0)if(s=u.value,p=!1,!a)if(s.data.startsWith("[DONE]")){a=!0;continue}else try{yield yield nO(JSON.parse(s.data))}catch(e){throw r.error("Could not parse message into JSON:",s.data),r.error("From chunk:",s.raw),e}}catch(e){l={error:e}}finally{try{!p&&!n&&(o=d.return)&&(yield nO(o.call(d)))}finally{if(l)throw l.error}}a=!0}catch(e){if(iE(e))return yield nO(void 0);throw e}finally{a||t.abort()}})},t,n)}static fromReadableStream(e,t,n){let i=!1;return new i7(function(){return nb(this,arguments,function*(){var n,r,l,o;if(i)throw new i_("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let s=!1;try{try{for(var a,u=!0,p=nR(function(){return nb(this,arguments,function*(){var t,n,i,r;let l=new i0,o=ik(e);try{for(var s,a=!0,u=nR(o);!(t=(s=yield nO(u.next())).done);a=!0)for(let e of(r=s.value,a=!1,l.decode(r)))yield yield nO(e)}catch(e){n={error:e}}finally{try{!a&&!t&&(i=u.return)&&(yield nO(i.call(u)))}finally{if(n)throw n.error}}for(let e of l.flush())yield yield nO(e)})}());!(n=(a=yield nO(p.next())).done);u=!0)o=a.value,u=!1,!s&&o&&(yield yield nO(JSON.parse(o)))}catch(e){r={error:e}}finally{try{!u&&!n&&(l=p.return)&&(yield nO(l.call(p)))}finally{if(r)throw r.error}}s=!0}catch(e){if(iE(e))return yield nO(void 0);throw e}finally{s||t.abort()}})},t,n)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],t=[],n=this.iterator(),i=i=>({next:()=>{if(0===i.length){let i=n.next();e.push(i),t.push(i)}return i.shift()}});return[new i7(()=>i(e),this.controller,this.client),new i7(()=>i(t),this.controller,this.client)]}toReadableStream(){let e,t=this;return iL({async start(){e=t[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:i}=await e.next();if(i)return t.close();let r=iQ(JSON.stringify(n)+"\n");t.enqueue(r)}catch(e){t.error(e)}},async cancel(){var t;await (null==(t=e.return)?void 0:t.call(e))}})}}class re{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){var t;let n;if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(":"))return null;let[i,r,l]=-1!==(n=(t=e).indexOf(":"))?[t.substring(0,n),":",t.substring(n+1)]:[t,"",""];return l.startsWith(" ")&&(l=l.substring(1)),"event"===i?this.event=l:"data"===i&&this.data.push(l),null}}async function rt(e,t){let{response:n,requestLogID:i,retryOfRequestLogID:r,startTime:l}=t,o=await (async()=>{var i;if(t.options.stream)return(i8(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass)?t.options.__streamClass.fromSSEResponse(n,t.controller,e):i7.fromSSEResponse(n,t.controller,e);if(204===n.status)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get("content-type"),l=null==(i=null==r?void 0:r.split(";")[0])?void 0:i.trim();if((null==l?void 0:l.includes("application/json"))||(null==l?void 0:l.endsWith("+json"))){if("0"===n.headers.get("content-length"))return;return await n.json()}return await n.text()})();return i8(e).debug(`[${i}] response parsed`,i6({retryOfRequestLogID:r,url:n.url,status:n.status,body:o,durationMs:Date.now()-l})),o}class rn extends Promise{constructor(e,t,n=rt){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,this.client=e}_thenUnwrap(e){return new rn(this.client,this.responsePromise,async(t,n)=>e(await this.parseResponse(t,n),n))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(this.client,e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}let ri=Symbol("brand.privateNullableHeaders"),rr=e=>{let t=new Headers,n=new Set;for(let i of e){let e=new Set;for(let[r,l]of function*(e){let t;if(!e)return;if(ri in e){let{values:t,nulls:n}=e;for(let e of(yield*t.entries(),n))yield[e,null];return}let n=!1;for(let i of(e instanceof Headers?t=e.entries():iG(e)?t=e:(n=!0,t=Object.entries(null!=e?e:{})),t)){let e=i[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=iG(i[1])?i[1]:[i[1]],r=!1;for(let i of t)void 0!==i&&(n&&!r&&(r=!0,yield[e,null]),yield[e,i])}}(i)){let i=r.toLowerCase();e.has(i)||(t.delete(r),e.add(i)),null===l?(t.delete(r),n.add(i)):(t.append(r,l),n.delete(i))}}return{[ri]:!0,values:t,nulls:n}},rl=e=>{var t,n,i,r,l,o;return void 0!==globalThis.process?null!=(i=null==(n=null==(t=globalThis.process.env)?void 0:t[e])?void 0:n.trim())?i:void 0:void 0!==globalThis.Deno?null==(o=null==(l=null==(r=globalThis.Deno.env)?void 0:r.get)?void 0:l.call(r,e))?void 0:o.trim():void 0};class ro{constructor(e){var t,n,i,r,l,o,s,{baseURL:a=rl("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:u=null!=(t=rl("GEMINI_API_KEY"))?t:null,apiVersion:p="v1beta"}=e;const d=Object.assign(Object.assign({apiKey:u,apiVersion:p},nS(e,["baseURL","apiKey","apiVersion"])),{baseURL:a||"https://generativelanguage.googleapis.com"});this.baseURL=d.baseURL,this.timeout=null!=(n=d.timeout)?n:ro.DEFAULT_TIMEOUT,this.logger=null!=(i=d.logger)?i:console;const c="warn";this.logLevel=c,this.logLevel=null!=(l=null!=(r=i2(d.logLevel,"ClientOptions.logLevel",this))?r:i2(rl("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))?l:c,this.fetchOptions=d.fetchOptions,this.maxRetries=null!=(o=d.maxRetries)?o:2,this.fetch=null!=(s=d.fetch)?s:function(){if("u">typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}(),this.encoder=iH,this._options=d,this.apiKey=u,this.apiVersion=p,this.clientAdapter=d.clientAdapter}withOptions(e){return new this.constructor(Object.assign(Object.assign(Object.assign({},this._options),{baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,apiVersion:this.apiVersion}),e))}baseURLOverridden(){return"https://generativelanguage.googleapis.com"!==this.baseURL}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(e.has("authorization")||e.has("x-goog-api-key")||this.apiKey&&e.get("x-goog-api-key"))&&!t.has("x-goog-api-key"))throw Error('Could not resolve authentication method. Expected the apiKey to be set. Or for the "x-goog-api-key" headers to be explicitly omitted')}async authHeaders(e){let t=rr([e.headers]);if(!(t.values.has("authorization")||t.values.has("x-goog-api-key"))){if(this.apiKey)return rr([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter.isVertexAI())return rr([await this.clientAdapter.getAuthHeaders()])}}stringifyQuery(e){return Object.entries(e).filter(([e,t])=>void 0!==t).map(([e,t])=>{if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(null===t)return`${encodeURIComponent(e)}=`;throw new i_(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS 0.0.1`}defaultIdempotencyKey(){return`stainless-node-retry-${iy()}`}makeStatusError(e,t,n,i){return iv.generate(e,t,n,i)}buildURL(e,t,n){let i=!this.baseURLOverridden()&&n||this.baseURL,r=new URL(iM.test(e)?e:i+(i.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),l=this.defaultQuery(),o=Object.fromEntries(r.searchParams);return ix(l)&&ix(o)||(t=Object.assign(Object.assign(Object.assign({},o),l),t)),"object"==typeof t&&t&&!Array.isArray(t)&&(r.search=this.stringifyQuery(t)),r.toString()}async prepareOptions(e){if(this.clientAdapter&&this.clientAdapter.isVertexAI()&&!e.path.startsWith(`/${this.apiVersion}/projects/`)){let t=e.path.slice(this.apiVersion.length+1);e.path=`/${this.apiVersion}/projects/${this.clientAdapter.getProject()}/locations/${this.clientAdapter.getLocation()}${t}`}}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>Object.assign({method:e,path:t},n)))}request(e,t=null){return new rn(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){var i,r,l;let o=await e,s=null!=(i=o.maxRetries)?i:this.maxRetries;null==t&&(t=s),await this.prepareOptions(o);let{req:a,url:u,timeout:p}=await this.buildRequest(o,{retryCount:s-t});await this.prepareRequest(a,{url:u,options:o});let d="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),c=void 0===n?"":`, retryOf: ${n}`,h=Date.now();if(i8(this).debug(`[${d}] sending request`,i6({retryOfRequestLogID:n,method:o.method,url:u,options:o,headers:a.headers})),null==(r=o.signal)?void 0:r.aborted)throw new iT;let f=new AbortController,m=await this.fetchWithTimeout(u,a,p,f).catch(iI),g=Date.now();if(m instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(null==(l=o.signal)?void 0:l.aborted)throw new iT;let i=iE(m)||/timed? ?out/i.test(String(m)+("cause"in m?String(m.cause):""));if(t)return i8(this).info(`[${d}] connection ${i?"timed out":"failed"} - ${e}`),i8(this).debug(`[${d}] connection ${i?"timed out":"failed"} (${e})`,i6({retryOfRequestLogID:n,url:u,durationMs:g-h,message:m.message})),this.retryRequest(o,t,null!=n?n:d);if(i8(this).info(`[${d}] connection ${i?"timed out":"failed"} - error; no more retries left`),i8(this).debug(`[${d}] connection ${i?"timed out":"failed"} (error; no more retries left)`,i6({retryOfRequestLogID:n,url:u,durationMs:g-h,message:m.message})),i)throw new iC;throw new iA({cause:m})}let y=`[${d}${c}] ${a.method} ${u} ${m.ok?"succeeded":"failed"} with status ${m.status} in ${g-h}ms`;if(!m.ok){let e=await this.shouldRetry(m);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await iq(m.body),i8(this).info(`${y} - ${e}`),i8(this).debug(`[${d}] response error (${e})`,i6({retryOfRequestLogID:n,url:m.url,status:m.status,headers:m.headers,durationMs:g-h})),this.retryRequest(o,t,null!=n?n:d,m.headers)}let i=e?"error; no more retries left":"error; not retryable";i8(this).info(`${y} - ${i}`);let r=await m.text().catch(e=>iI(e).message),l=(e=>{try{return JSON.parse(e)}catch(e){return}})(r),s=l?void 0:r;throw i8(this).debug(`[${d}] response error (${i})`,i6({retryOfRequestLogID:n,url:m.url,status:m.status,headers:m.headers,message:s,durationMs:Date.now()-h})),this.makeStatusError(m.status,l,s,m.headers)}return i8(this).info(y),i8(this).debug(`[${d}] response start`,i6({retryOfRequestLogID:n,url:m.url,status:m.status,headers:m.headers,durationMs:g-h})),{response:m,options:o,controller:f,requestLogID:d,retryOfRequestLogID:n,startTime:h}}async fetchWithTimeout(e,t,n,i){let r=t||{},{signal:l,method:o}=r,s=nS(r,["signal","method"]),a=this._makeAbort(i);l&&l.addEventListener("abort",a,{once:!0});let u=setTimeout(a,n),p=globalThis.ReadableStream&&s.body instanceof globalThis.ReadableStream||"object"==typeof s.body&&null!==s.body&&Symbol.asyncIterator in s.body,d=Object.assign(Object.assign(Object.assign({signal:i.signal},p?{duplex:"half"}:{}),{method:"GET"}),s);o&&(d.method=o.toUpperCase());try{return await this.fetch.call(void 0,e,d)}finally{clearTimeout(u)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||!!(e.status>=500))}async retryRequest(e,t,n,i){var r;let l,o,s=null==i?void 0:i.get("retry-after-ms");if(s){let e=parseFloat(s);Number.isNaN(e)||(l=e)}let a=null==i?void 0:i.get("retry-after");if(a&&!l){let e=parseFloat(a);l=Number.isNaN(e)?Date.parse(a)-Date.now():1e3*e}if(void 0===l){let n=null!=(r=e.maxRetries)?r:this.maxRetries;l=this.calculateDefaultRetryTimeoutMillis(t,n)}return await (o=l,new Promise(e=>setTimeout(e,o))),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}async buildRequest(e,{retryCount:t=0}={}){var n,i,r;let l=Object.assign({},e),{method:o,path:s,query:a,defaultBaseURL:u}=l,p=this.buildURL(s,a,u);"timeout"in l&&((e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new i_(`${e} must be an integer`);if(t<0)throw new i_(`${e} must be a positive integer`)})("timeout",l.timeout),l.timeout=null!=(n=l.timeout)?n:this.timeout;let{bodyHeaders:d,body:c}=this.buildBody({options:l}),h=await this.buildHeaders({options:e,method:o,bodyHeaders:d,retryCount:t});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:o,headers:h},l.signal&&{signal:l.signal}),globalThis.ReadableStream&&c instanceof globalThis.ReadableStream&&{duplex:"half"}),c&&{body:c}),null!=(i=this.fetchOptions)?i:{}),null!=(r=l.fetchOptions)?r:{}),url:p,timeout:l.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:i}){let r={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),r[this.idempotencyHeader]=e.idempotencyKey);let l=await this.authHeaders(e),o=rr([r,{Accept:"application/json","User-Agent":this.getUserAgent()},this._options.defaultHeaders,n,e.headers,l]);return this.validateHeaders(o),o.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=rr([t]);if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:e};if("object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)){let t;return{bodyHeaders:void 0,body:(t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator](),iL({start(){},async pull(e){let{done:n,value:i}=await t.next();n?e.close():e.enqueue(i)},async cancel(){var e;await (null==(e=t.return)?void 0:e.call(t))}}))}}return"object"==typeof e&&"application/x-www-form-urlencoded"===n.values.get("content-type")?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)}:this.encoder({body:e,headers:n})}}ro.DEFAULT_TIMEOUT=6e4;class rs extends ro{constructor(){super(...arguments),this.interactions=new iX(this)}}function ra(e,t){let n,i,r,l={},o=t_(e,["sdkHttpResponse"]);null!=o&&tI(l,["sdkHttpResponse"],o);let s=t_(e,["name"]);null!=s&&tI(l,["name"],s);let a=t_(e,["state"]);null!=a&&tI(l,["state"],na(a));let u=t_(e,["createTime"]);null!=u&&tI(l,["createTime"],u);let p=t_(e,["tuningTask","startTime"]);null!=p&&tI(l,["startTime"],p);let d=t_(e,["tuningTask","completeTime"]);null!=d&&tI(l,["endTime"],d);let c=t_(e,["updateTime"]);null!=c&&tI(l,["updateTime"],c);let h=t_(e,["description"]);null!=h&&tI(l,["description"],h);let f=t_(e,["baseModel"]);null!=f&&tI(l,["baseModel"],f);let m=t_(e,["_self"]);return null!=m&&tI(l,["tunedModel"],(n={},null!=(i=t_(m,["name"]))&&tI(n,["model"],i),null!=(r=t_(m,["name"]))&&tI(n,["endpoint"],r),n)),l}function ru(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["name"]);null!=r&&tI(n,["name"],r);let l=t_(e,["state"]);null!=l&&tI(n,["state"],na(l));let o=t_(e,["createTime"]);null!=o&&tI(n,["createTime"],o);let s=t_(e,["startTime"]);null!=s&&tI(n,["startTime"],s);let a=t_(e,["endTime"]);null!=a&&tI(n,["endTime"],a);let u=t_(e,["updateTime"]);null!=u&&tI(n,["updateTime"],u);let p=t_(e,["error"]);null!=p&&tI(n,["error"],p);let d=t_(e,["description"]);null!=d&&tI(n,["description"],d);let c=t_(e,["baseModel"]);null!=c&&tI(n,["baseModel"],c);let h=t_(e,["tunedModel"]);null!=h&&tI(n,["tunedModel"],h);let f=t_(e,["preTunedModel"]);null!=f&&tI(n,["preTunedModel"],f);let m=t_(e,["supervisedTuningSpec"]);null!=m&&tI(n,["supervisedTuningSpec"],m);let g=t_(e,["preferenceOptimizationSpec"]);null!=g&&tI(n,["preferenceOptimizationSpec"],g);let y=t_(e,["distillationSpec"]);null!=y&&tI(n,["distillationSpec"],y);let E=t_(e,["tuningDataStats"]);null!=E&&tI(n,["tuningDataStats"],E);let I=t_(e,["encryptionSpec"]);null!=I&&tI(n,["encryptionSpec"],I);let _=t_(e,["partnerModelTuningSpec"]);null!=_&&tI(n,["partnerModelTuningSpec"],_);let v=t_(e,["customBaseModel"]);null!=v&&tI(n,["customBaseModel"],v);let T=t_(e,["evaluateDatasetRuns"]);if(null!=T){let e=T;Array.isArray(e)&&(e=e.map(e=>e)),tI(n,["evaluateDatasetRuns"],e)}let A=t_(e,["experiment"]);null!=A&&tI(n,["experiment"],A);let C=t_(e,["fullFineTuningSpec"]);null!=C&&tI(n,["fullFineTuningSpec"],C);let S=t_(e,["labels"]);null!=S&&tI(n,["labels"],S);let O=t_(e,["outputUri"]);null!=O&&tI(n,["outputUri"],O);let b=t_(e,["pipelineJob"]);null!=b&&tI(n,["pipelineJob"],b);let R=t_(e,["serviceAccount"]);null!=R&&tI(n,["serviceAccount"],R);let N=t_(e,["tunedModelDisplayName"]);null!=N&&tI(n,["tunedModelDisplayName"],N);let P=t_(e,["tuningJobState"]);null!=P&&tI(n,["tuningJobState"],P);let w=t_(e,["veoTuningSpec"]);return null!=w&&tI(n,["veoTuningSpec"],w),n}function rp(e,t){let n={},i=t_(e,["gcsUri"]);null!=i&&tI(n,["validationDatasetUri"],i);let r=t_(e,["vertexDatasetResource"]);return null!=r&&tI(n,["validationDatasetUri"],r),n}rs.GeminiNextGenAPIClient=rs,rs.GeminiNextGenAPIClientError=i_,rs.APIError=iv,rs.APIConnectionError=iA,rs.APIConnectionTimeoutError=iC,rs.APIUserAbortError=iT,rs.NotFoundError=iR,rs.ConflictError=iN,rs.RateLimitError=iw,rs.BadRequestError=iS,rs.AuthenticationError=iO,rs.InternalServerError=iD,rs.PermissionDeniedError=ib,rs.UnprocessableEntityError=iP,rs.toFile=iB,rs.Interactions=iX;class rd extends ty{constructor(e){super(),this.apiClient=e,this.list=async(e={})=>new n_(tm.PAGED_ITEM_TUNING_JOBS,e=>this.listInternal(e),await this.listInternal(e),e),this.get=async e=>await this.getInternal(e),this.tune=async e=>{var t;if(this.apiClient.isVertexAI())if(e.baseModel.startsWith("projects/")){let n={tunedModelName:e.baseModel};(null==(t=e.config)?void 0:t.preTunedModelCheckpointId)&&(n.checkpointId=e.config.preTunedModelCheckpointId);let i=Object.assign(Object.assign({},e),{preTunedModel:n});return i.baseModel=void 0,await this.tuneInternal(i)}else{let t=Object.assign({},e);return await this.tuneInternal(t)}{let t=Object.assign({},e),n=await this.tuneMldevInternal(t),i="";return void 0!==n.metadata&&void 0!==n.metadata.tunedModel?i=n.metadata.tunedModel:void 0!==n.name&&n.name.includes("/operations/")&&(i=n.name.split("/operations/")[0]),{name:i,state:ej.JOB_STATE_QUEUED}}}}async getInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s=(i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],r),i);return l=tE("{name}",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>ru(e))}{let t,n,s=(t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],n),t);return l=tE("{name}",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>ra(e))}}async listInternal(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s,a,u,p=(i={},null!=(r=t_(e,["config"]))&&(s=t_(r,["pageSize"]),void 0!==i&&null!=s&&tI(i,["_query","pageSize"],s),a=t_(r,["pageToken"]),void 0!==i&&null!=a&&tI(i,["_query","pageToken"],a),u=t_(r,["filter"]),void 0!==i&&null!=u&&tI(i,["_query","filter"],u)),i);return l=tE("tuningJobs",p._url),o=p._query,delete p._url,delete p._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(p),httpMethod:"GET",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["nextPageToken"]);null!=r&&tI(n,["nextPageToken"],r);let l=t_(e,["tuningJobs"]);if(null!=l){let e=l;Array.isArray(e)&&(e=e.map(e=>ru(e))),tI(n,["tuningJobs"],e)}return n}(e),n=new tx;return Object.assign(n,t),n})}{let t,n,s,a,u,p=(t={},null!=(n=t_(e,["config"]))&&(s=t_(n,["pageSize"]),void 0!==t&&null!=s&&tI(t,["_query","pageSize"],s),a=t_(n,["pageToken"]),void 0!==t&&null!=a&&tI(t,["_query","pageToken"],a),u=t_(n,["filter"]),void 0!==t&&null!=u&&tI(t,["_query","filter"],u)),t);return l=tE("tunedModels",p._url),o=p._query,delete p._url,delete p._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(p),httpMethod:"GET",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t=function(e,t){let n={},i=t_(e,["sdkHttpResponse"]);null!=i&&tI(n,["sdkHttpResponse"],i);let r=t_(e,["nextPageToken"]);null!=r&&tI(n,["nextPageToken"],r);let l=t_(e,["tunedModels"]);if(null!=l){let e=l;Array.isArray(e)&&(e=e.map(e=>ra(e))),tI(n,["tuningJobs"],e)}return n}(e),n=new tx;return Object.assign(n,t),n})}}async cancel(e){var t,n,i,r;let l="",o={};if(this.apiClient.isVertexAI()){let i,r,s=(i={},null!=(r=t_(e,["name"]))&&tI(i,["_url","name"],r),i);return l=tE("{name}:cancel",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tL;return Object.assign(r,i),r})}{let t,n,s=(t={},null!=(n=t_(e,["name"]))&&tI(t,["_url","name"],n),t);return l=tE("{name}:cancel",s._url),o=s._query,delete s._url,delete s._query,this.apiClient.request({path:l,queryParams:o,body:JSON.stringify(s),httpMethod:"POST",httpOptions:null==(i=e.config)?void 0:i.httpOptions,abortSignal:null==(r=e.config)?void 0:r.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i=(t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),t),r=new tL;return Object.assign(r,i),r})}}async tuneInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI()){let l,o,s,a,u,p=(l={},null!=(o=t_(e,["baseModel"]))&&tI(l,["baseModel"],o),null!=(s=t_(e,["preTunedModel"]))&&tI(l,["preTunedModel"],s),null!=(a=t_(e,["trainingDataset"]))&&function(e,t,n){let i=t_(n,["config","method"]);if(void 0===i&&(i="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===i){let n=t_(e,["gcsUri"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","trainingDatasetUri"],n)}else if("PREFERENCE_TUNING"===i){let n=t_(e,["gcsUri"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","trainingDatasetUri"],n)}else if("DISTILLATION"===i){let n=t_(e,["gcsUri"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","promptDatasetUri"],n)}let r=t_(n,["config","method"]);if(void 0===r&&(r="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===r){let n=t_(e,["vertexDatasetResource"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","trainingDatasetUri"],n)}else if("PREFERENCE_TUNING"===r){let n=t_(e,["vertexDatasetResource"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","trainingDatasetUri"],n)}else if("DISTILLATION"===r){let n=t_(e,["vertexDatasetResource"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","promptDatasetUri"],n)}if(void 0!==t_(e,["examples"]))throw Error("examples parameter is not supported in Vertex AI.")}(a,l,e),null!=(u=t_(e,["config"]))&&function(e,t,n){let i=t_(n,["config","method"]);if(void 0===i&&(i="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===i){let n=t_(e,["validationDataset"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec"],rp(n))}else if("PREFERENCE_TUNING"===i){let n=t_(e,["validationDataset"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec"],rp(n))}else if("DISTILLATION"===i){let n=t_(e,["validationDataset"]);void 0!==t&&null!=n&&tI(t,["distillationSpec"],rp(n))}let r=t_(e,["tunedModelDisplayName"]);void 0!==t&&null!=r&&tI(t,["tunedModelDisplayName"],r);let l=t_(e,["description"]);void 0!==t&&null!=l&&tI(t,["description"],l);let o=t_(n,["config","method"]);if(void 0===o&&(o="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===o){let n=t_(e,["epochCount"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","hyperParameters","epochCount"],n)}else if("PREFERENCE_TUNING"===o){let n=t_(e,["epochCount"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","hyperParameters","epochCount"],n)}else if("DISTILLATION"===o){let n=t_(e,["epochCount"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","hyperParameters","epochCount"],n)}let s=t_(n,["config","method"]);if(void 0===s&&(s="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===s){let n=t_(e,["learningRateMultiplier"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],n)}else if("PREFERENCE_TUNING"===s){let n=t_(e,["learningRateMultiplier"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],n)}else if("DISTILLATION"===s){let n=t_(e,["learningRateMultiplier"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","hyperParameters","learningRateMultiplier"],n)}let a=t_(n,["config","method"]);if(void 0===a&&(a="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===a){let n=t_(e,["exportLastCheckpointOnly"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","exportLastCheckpointOnly"],n)}else if("PREFERENCE_TUNING"===a){let n=t_(e,["exportLastCheckpointOnly"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","exportLastCheckpointOnly"],n)}else if("DISTILLATION"===a){let n=t_(e,["exportLastCheckpointOnly"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","exportLastCheckpointOnly"],n)}let u=t_(n,["config","method"]);if(void 0===u&&(u="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===u){let n=t_(e,["adapterSize"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","hyperParameters","adapterSize"],n)}else if("PREFERENCE_TUNING"===u){let n=t_(e,["adapterSize"]);void 0!==t&&null!=n&&tI(t,["preferenceOptimizationSpec","hyperParameters","adapterSize"],n)}else if("DISTILLATION"===u){let n=t_(e,["adapterSize"]);void 0!==t&&null!=n&&tI(t,["distillationSpec","hyperParameters","adapterSize"],n)}let p=t_(n,["config","method"]);if(void 0===p&&(p="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===p){let n=t_(e,["tuningMode"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","tuningMode"],n)}let d=t_(e,["customBaseModel"]);void 0!==t&&null!=d&&tI(t,["customBaseModel"],d);let c=t_(n,["config","method"]);if(void 0===c&&(c="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===c){let n=t_(e,["batchSize"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","hyperParameters","batchSize"],n)}let h=t_(n,["config","method"]);if(void 0===h&&(h="SUPERVISED_FINE_TUNING"),"SUPERVISED_FINE_TUNING"===h){let n=t_(e,["learningRate"]);void 0!==t&&null!=n&&tI(t,["supervisedTuningSpec","hyperParameters","learningRate"],n)}let f=t_(e,["labels"]);void 0!==t&&null!=f&&tI(t,["labels"],f);let m=t_(e,["beta"]);void 0!==t&&null!=m&&tI(t,["preferenceOptimizationSpec","hyperParameters","beta"],m);let g=t_(e,["baseTeacherModel"]);void 0!==t&&null!=g&&tI(t,["distillationSpec","baseTeacherModel"],g);let y=t_(e,["tunedTeacherModelSource"]);void 0!==t&&null!=y&&tI(t,["distillationSpec","tunedTeacherModelSource"],y);let E=t_(e,["sftLossWeightMultiplier"]);void 0!==t&&null!=E&&tI(t,["distillationSpec","hyperParameters","sftLossWeightMultiplier"],E);let I=t_(e,["outputUri"]);void 0!==t&&null!=I&&tI(t,["outputUri"],I);let _=t_(e,["encryptionSpec"]);void 0!==t&&null!=_&&tI(t,["encryptionSpec"],_)}(u,l,e),l);return i=tE("tuningJobs",p._url),r=p._query,delete p._url,delete p._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(p),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>ru(e))}throw Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var t,n;let i="",r={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");{let l,o,s,a,u,p=(l={},null!=(o=t_(e,["baseModel"]))&&tI(l,["baseModel"],o),null!=(s=t_(e,["preTunedModel"]))&&tI(l,["preTunedModel"],s),null!=(a=t_(e,["trainingDataset"]))&&function(e,t){if(void 0!==t_(e,["gcsUri"]))throw Error("gcsUri parameter is not supported in Gemini API.");if(void 0!==t_(e,["vertexDatasetResource"]))throw Error("vertexDatasetResource parameter is not supported in Gemini API.");let n=t_(e,["examples"]);if(null!=n){let e=n;Array.isArray(e)&&(e=e.map(e=>e)),tI({},["examples","examples"],e)}}(a),null!=(u=t_(e,["config"]))&&function(e,t,n){if(void 0!==t_(e,["validationDataset"]))throw Error("validationDataset parameter is not supported in Gemini API.");let i=t_(e,["tunedModelDisplayName"]);if(void 0!==t&&null!=i&&tI(t,["displayName"],i),void 0!==t_(e,["description"]))throw Error("description parameter is not supported in Gemini API.");let r=t_(e,["epochCount"]);void 0!==t&&null!=r&&tI(t,["tuningTask","hyperparameters","epochCount"],r);let l=t_(e,["learningRateMultiplier"]);if(null!=l&&tI({},["tuningTask","hyperparameters","learningRateMultiplier"],l),void 0!==t_(e,["exportLastCheckpointOnly"]))throw Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(void 0!==t_(e,["preTunedModelCheckpointId"]))throw Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(void 0!==t_(e,["adapterSize"]))throw Error("adapterSize parameter is not supported in Gemini API.");if(void 0!==t_(e,["tuningMode"]))throw Error("tuningMode parameter is not supported in Gemini API.");if(void 0!==t_(e,["customBaseModel"]))throw Error("customBaseModel parameter is not supported in Gemini API.");let o=t_(e,["batchSize"]);void 0!==t&&null!=o&&tI(t,["tuningTask","hyperparameters","batchSize"],o);let s=t_(e,["learningRate"]);if(void 0!==t&&null!=s&&tI(t,["tuningTask","hyperparameters","learningRate"],s),void 0!==t_(e,["labels"]))throw Error("labels parameter is not supported in Gemini API.");if(void 0!==t_(e,["beta"]))throw Error("beta parameter is not supported in Gemini API.");if(void 0!==t_(e,["baseTeacherModel"]))throw Error("baseTeacherModel parameter is not supported in Gemini API.");if(void 0!==t_(e,["tunedTeacherModelSource"]))throw Error("tunedTeacherModelSource parameter is not supported in Gemini API.");if(void 0!==t_(e,["sftLossWeightMultiplier"]))throw Error("sftLossWeightMultiplier parameter is not supported in Gemini API.");if(void 0!==t_(e,["outputUri"]))throw Error("outputUri parameter is not supported in Gemini API.");if(void 0!==t_(e,["encryptionSpec"]))throw Error("encryptionSpec parameter is not supported in Gemini API.")}(u,l),l);return i=tE("tunedModels",p._url),r=p._query,delete p._url,delete p._query,this.apiClient.request({path:i,queryParams:r,body:JSON.stringify(p),httpMethod:"POST",httpOptions:null==(t=e.config)?void 0:t.httpOptions,abortSignal:null==(n=e.config)?void 0:n.abortSignal}).then(e=>e.json().then(t=>(t.sdkHttpResponse={headers:e.headers},t))).then(e=>{let t,n,i,r,l,o;return t={},null!=(n=t_(e,["sdkHttpResponse"]))&&tI(t,["sdkHttpResponse"],n),null!=(i=t_(e,["name"]))&&tI(t,["name"],i),null!=(r=t_(e,["metadata"]))&&tI(t,["metadata"],r),null!=(l=t_(e,["done"]))&&tI(t,["done"],l),null!=(o=t_(e,["error"]))&&tI(t,["error"],o),t})}}}class rc{async download(e,t){throw Error("Download to file is not supported in the browser, please use a browser compliant download like an <a> tag.")}}let rh="x-goog-upload-status";async function rf(e,t,n,i){var r;let l=await rg(e,t,n,i),o=await (null==l?void 0:l.json());if((null==(r=null==l?void 0:l.headers)?void 0:r[rh])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return o.file}async function rm(e,t,n,i){var r;let l=await rg(e,t,n,i),o=await (null==l?void 0:l.json());if((null==(r=null==l?void 0:l.headers)?void 0:r[rh])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let s=tT(o),a=new tX;return Object.assign(a,s),a}async function rg(e,t,n,i){var r,l,o;let s=t,a=(null==i?void 0:i.baseUrl)||(null==(r=n.clientOptions.httpOptions)?void 0:r.baseUrl);if(a){let e=new URL(a),n=new URL(t);n.protocol=e.protocol,n.host=e.host,n.port=e.port,s=n.toString()}let u=0,p=0,d=new tA(new Response),c="upload";for(u=e.size;p<u;){let t=Math.min(8388608,u-p),r=e.slice(p,p+t);p+t>=u&&(c+=", finalize");let a=0,h=1e3;for(;a<3;){let e=Object.assign(Object.assign({},(null==i?void 0:i.headers)||{}),{"X-Goog-Upload-Command":c,"X-Goog-Upload-Offset":String(p),"Content-Length":String(t)});if(null==(l=null==(d=await n.request({path:"",body:r,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},i),{apiVersion:"",baseUrl:s,headers:e})}))?void 0:d.headers)?void 0:l[rh])break;a++,await function(e){return new Promise(t=>setTimeout(t,e))}(h),h*=2}if(p+=t,(null==(o=null==d?void 0:d.headers)?void 0:o[rh])!=="active")break;if(u<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return d}async function ry(e){return{size:e.size,type:e.type}}class rE{async upload(e,t,n,i){if("string"==typeof e)throw Error("File path is not supported in browser uploader.");return await rf(e,t,n,i)}async uploadToFileSearchStore(e,t,n,i){if("string"==typeof e)throw Error("File path is not supported in browser uploader.");return await rm(e,t,n,i)}async stat(e){if("string"!=typeof e)return await ry(e);throw Error("File path is not supported in browser uploader.")}}class rI{create(e,t,n){return new r_(e,t,n)}}class r_{constructor(e,t,n){this.url=e,this.headers=t,this.callbacks=n}connect(){this.ws=new WebSocket(this.url),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(void 0===this.ws)throw Error("WebSocket is not connected");this.ws.send(e)}close(){if(void 0===this.ws)throw Error("WebSocket is not connected");this.ws.close()}}let rv="x-goog-api-key";class rT{constructor(e){this.apiKey=e}async addAuthHeaders(e,t){if(null===e.get(rv)){if(this.apiKey.startsWith("auth_tokens/"))throw Error("Ephemeral tokens are only supported by the live API.");if(!this.apiKey)throw Error("API key is missing. Please provide a valid API key.");e.append(rv,this.apiKey)}}}class rA{get interactions(){var e;if(void 0!==this._interactions)return this._interactions;console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions.");let t=this.httpOptions;(null==t?void 0:t.extraBody)&&console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");let n=new rs({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,apiVersion:this.apiClient.getApiVersion(),clientAdapter:this.apiClient,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:null==t?void 0:t.timeout,maxRetries:null==(e=null==t?void 0:t.retryOptions)?void 0:e.attempts});return this._interactions=n.interactions,this._interactions}constructor(e){var t;if(null==e.apiKey)throw Error("An API Key must be set when running in a browser");if(e.project||e.location)throw Error("Vertex AI project based authentication is not supported on browser runtimes. Please do not provide a project or location.");this.vertexai=null!=(t=e.vertexai)&&t,this.apiKey=e.apiKey;const n=function(e,t,n,i){return(null==e?void 0:e.baseUrl)?e.baseUrl:t?null!=o?o:n:null!=l?l:i}(e.httpOptions,e.vertexai,void 0,void 0);n&&(e.httpOptions?e.httpOptions.baseUrl=n:e.httpOptions={baseUrl:n}),this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;const i=new rT(this.apiKey);this.apiClient=new n4({auth:i,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:"gl-node/web",uploader:new rE,downloader:new rc}),this.models=new ip(this.apiClient),this.live=new ii(this.apiClient,i,new rI),this.batches=new nv(this.apiClient),this.chats=new nw(this.models,this.apiClient),this.caches=new nC(this.apiClient),this.files=new nU(this.apiClient),this.operations=new id(this.apiClient),this.authTokens=new ih(this.apiClient),this.tunings=new rd(this.apiClient),this.fileSearchStores=new ig(this.apiClient)}}}}]);
|