@thangnm.nip/irouter 0.0.10 → 0.0.11
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/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +7 -5
- package/app/.next/build-manifest.json +4 -4
- package/app/.next/prerender-manifest.json +27 -3
- package/app/.next/required-server-files.json +6 -3
- package/app/.next/routes-manifest.json +12 -0
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -0
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/employees/[keyId]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/employees/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/employees/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/employees/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +5 -4
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +5 -4
- package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/employees/[keyId]/stats/route.js +66 -1
- package/app/.next/server/app/api/employees/[keyId]/stats/route.js.nft.json +1 -1
- package/app/.next/server/app/api/employees/[keyId]/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/employees/stats/route.js +66 -1
- package/app/.next/server/app/api/employees/stats/route.js.nft.json +1 -1
- package/app/.next/server/app/api/employees/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/locale/route.js +1 -1
- package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -0
- package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -0
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/test/route.js +1 -1
- package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/database/route.js +1 -1
- package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/chart/route.js +66 -1
- package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js +66 -1
- package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +66 -1
- package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/providers/route.js +66 -1
- package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-details/[id]/route.js +1 -1
- package/app/.next/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-details/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-details/route.js +66 -1
- package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +66 -1
- package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stats/route.js +66 -1
- package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/stream/route.js +69 -4
- package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1internal/route.js +1 -1
- package/app/.next/server/app/api/v1internal/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1internal/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/version/route.js +1 -1
- package/app/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback.html +1 -1
- package/app/.next/server/app/callback.rsc +6 -5
- package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/basic-chat.html +1 -0
- package/app/.next/server/app/dashboard/basic-chat.meta +17 -0
- package/app/.next/server/app/dashboard/basic-chat.rsc +24 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +24 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +9 -0
- package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +6 -0
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +8 -7
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +7 -6
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/employees.html +1 -1
- package/app/.next/server/app/dashboard/employees.rsc +7 -6
- package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard/employees/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard/employees.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/employees.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/employees.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/employees.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/employees.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/employees.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +8 -7
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/mitm.html +1 -1
- package/app/.next/server/app/dashboard/mitm.rsc +7 -6
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +7 -6
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/providers/new.html +1 -1
- package/app/.next/server/app/dashboard/providers/new.rsc +7 -6
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/providers.html +1 -1
- package/app/.next/server/app/dashboard/providers.rsc +7 -6
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.rsc +7 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/quota.html +2 -2
- package/app/.next/server/app/dashboard/quota.rsc +8 -7
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +8 -7
- package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.rsc +6 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.html +1 -1
- package/app/.next/server/app/dashboard/translator.rsc +7 -6
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +7 -6
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +7 -6
- package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/dashboard.html +1 -1
- package/app/.next/server/app/dashboard.rsc +6 -5
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/favicon.ico/route.js +1 -1
- package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +5 -4
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +5 -4
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing.html +1 -1
- package/app/.next/server/app/landing.rsc +6 -5
- package/app/.next/server/app/landing.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login.html +1 -1
- package/app/.next/server/app/login.rsc +6 -5
- package/app/.next/server/app/login.segments/_full.segment.rsc +6 -5
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +5 -4
- package/app/.next/server/app/login.segments/_tree.segment.rsc +3 -2
- package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +7 -5
- package/app/.next/server/chunks/1130.js +1 -1
- package/app/.next/server/chunks/118.js +1 -0
- package/app/.next/server/chunks/1220.js +1 -1
- package/app/.next/server/chunks/1424.js +1 -1
- package/app/.next/server/chunks/2664.js +1 -0
- package/app/.next/server/chunks/3093.js +72 -7
- package/app/.next/server/chunks/336.js +66 -1
- package/app/.next/server/chunks/412.js +2 -2
- package/app/.next/server/chunks/5270.js +1 -1
- package/app/.next/server/chunks/5708.js +1 -0
- package/app/.next/server/chunks/6072.js +43 -0
- package/app/.next/server/chunks/6182.js +4 -4
- package/app/.next/server/chunks/63.js +3 -3
- package/app/.next/server/chunks/649.js +1 -1
- package/app/.next/server/chunks/6828.js +1 -1
- package/app/.next/server/chunks/7774.js +2 -2
- package/app/.next/server/chunks/8895.js +2 -2
- package/app/.next/server/chunks/9201.js +1 -1
- package/app/.next/server/chunks/9718.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +3 -3
- package/app/.next/server/next-font-manifest.js +1 -1
- package/app/.next/server/next-font-manifest.json +1 -1
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/9Nr3N83B_j66eng2tH-u9/_buildManifest.js +1 -0
- package/app/.next/static/chunks/5242-250aca99680a5860.js +1 -0
- package/app/.next/static/chunks/5497-c246d6c185ae4515.js +7 -0
- package/app/.next/static/chunks/5772-901f1092d831ec37.js +3 -0
- package/app/.next/static/chunks/6902-135c924f2deafe46.js +1 -0
- package/app/.next/static/chunks/{9242-b33771537db21368.js → 9242-35c67551a31e8ed3.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-dbf8fae8c8837130.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-89c2a22ca02ca0d8.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-db322270ec972db0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-7b0d61cbbe1a47c2.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/[keyId]/page-260c2e244f08d44e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/{page-8eb8511823bab5a8.js → page-1186beab09df32f8.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/{page-5c259d7d447b6aee.js → page-11d04ce754400525.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/{page-2346c1fbdc93e171.js → page-7bb014b116bacd70.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-f113b1a6fd5bf364.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4d697847e773ee9f.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-f38b4a179ec6ebeb.js → page-7d54c03780f36a77.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-07b03df6908bbfc0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-e4f676cf79e465b1.js → page-5268c095e868ce3d.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-f33a92ade5e4806e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-2bb6f99a3d1d9206.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-527700ed764617bf.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/{layout-0c70201c7bb15ab5.js → layout-fc4ee3669b9e2432.js} +1 -1
- package/app/.next/static/chunks/app/_global-error/page-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/_not-found/page-277ff0ac5be7dff3.js +1 -0
- package/app/.next/static/chunks/app/api/auth/login/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/auth/logout/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/auth/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/combos/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/combos/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/employees/[keyId]/stats/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/employees/stats/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/init/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/keys/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/keys/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/locale/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/models/alias/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/models/availability/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/models/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/models/test/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/pricing/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/client/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/test-batch/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/providers/validate/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/proxy-pools/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/settings/database/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/settings/require-login/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/settings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/shutdown/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/tags/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/load/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/save/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/send/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/translator/translate/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/disable/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/enable/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/tunnel/status/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/chart/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/history/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/logs/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/providers/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-details/[id]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-details/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/request-logs/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stats/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/usage/stream/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/api/chat/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/embeddings/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/messages/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/models/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/responses/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1beta/models/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/v1internal/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/api/version/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/callback/{page-9d25f25730ec1a87.js → page-a288ef2f47fd5eb3.js} +1 -1
- package/app/.next/static/chunks/app/dashboard/settings/pricing/{page-107a395e4ebca682.js → page-f94017840394ebe8.js} +1 -1
- package/app/.next/static/chunks/app/landing/page-1d109564bc0bc007.js +1 -0
- package/app/.next/static/chunks/app/{layout-24366c741111b3ce.js → layout-372932853e1ca466.js} +1 -1
- package/app/.next/static/chunks/app/login/page-60dcddda96a06c28.js +1 -0
- package/app/.next/static/chunks/app/manifest.webmanifest/route-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/app/page-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/{main-app-d65284096ddebd50.js → main-app-825c409f56c59467.js} +1 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-45c792615bbed600.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bc93a8fd4c287f29.js +1 -0
- package/app/.next/static/chunks/{webpack-1094c4a28660424b.js → webpack-a2cf08368369c277.js} +1 -1
- package/app/.next/static/css/081a0afca5a9bd20.css +1 -0
- package/app/.next/static/css/bc7b15f1fd95fc16.css +1 -0
- package/app/i18n/README.ja-JP.md +1209 -0
- package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/app/node_modules/better-sqlite3/lib/database.js +90 -0
- package/app/node_modules/better-sqlite3/lib/index.js +3 -0
- package/app/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/app/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/app/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/app/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/app/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/app/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/app/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/app/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/app/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/app/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/app/node_modules/better-sqlite3/lib/util.js +12 -0
- package/app/node_modules/better-sqlite3/package.json +59 -0
- package/app/node_modules/bindings/bindings.js +221 -0
- package/app/node_modules/bindings/package.json +28 -0
- package/app/node_modules/file-uri-to-path/index.js +66 -0
- package/app/node_modules/file-uri-to-path/package.json +32 -0
- package/app/open-sse/executors/iflow.js +5 -1
- package/app/open-sse/handlers/chatCore/nonStreamingHandler.js +10 -0
- package/app/open-sse/handlers/chatCore/sseToJsonHandler.js +61 -4
- package/app/open-sse/services/accountFallback.js +6 -0
- package/app/open-sse/services/combo.js +59 -7
- package/app/open-sse/translator/helpers/geminiHelper.js +9 -1
- package/app/open-sse/translator/request/openai-to-claude.js +5 -0
- package/app/open-sse/translator/request/openai-to-gemini.js +4 -2
- package/app/open-sse/translator/request/openai-to-kiro.js +32 -19
- package/app/open-sse/translator/response/openai-responses.js +6 -3
- package/app/package.json +3 -2
- package/app/public/providers/assemblyai.png +0 -0
- package/app/public/providers/deepgram.png +0 -0
- package/app/public/providers/hyperbolic.png +0 -0
- package/app/public/providers/nanobanana.png +0 -0
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/4755.js +0 -1
- package/app/.next/server/chunks/4989.js +0 -2
- package/app/.next/server/chunks/5984.js +0 -1
- package/app/.next/server/chunks/6649.js +0 -1
- package/app/.next/server/chunks/6836.js +0 -1
- package/app/.next/static/6NQ1tUqoUU-Vnz_TZ3Qh-/_buildManifest.js +0 -1
- package/app/.next/static/chunks/5497-9d0bc17e435a8c93.js +0 -7
- package/app/.next/static/chunks/5772-81f907ca6ec17897.js +0 -3
- package/app/.next/static/chunks/6902-59c9bd4da89daa6c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-498aa76895400b7f.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-a2900807101b8a33.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-6f9b44a8af082c71.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/employees/[keyId]/page-349626384b53a093.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-493eb2eac64153a5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-7efc5c1ea19f02ec.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-cd17e15c22790e9b.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-a6bd29ee2d2672c6.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-173679dc8c62c4a0.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-de3fbce2b737ec72.js +0 -1
- package/app/.next/static/chunks/app/_global-error/page-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/_not-found/page-7e26da6572c546ac.js +0 -1
- package/app/.next/static/chunks/app/api/auth/login/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/auth/logout/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/auth/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/credentials/update/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/model/resolve/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/cloud/models/alias/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/combos/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/combos/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/employees/[keyId]/stats/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/employees/stats/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/init/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/keys/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/keys/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/locale/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/models/alias/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/models/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/models/test/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/cursor/import/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/import/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/pricing/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/provider-nodes/validate/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/models/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/client/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/test-batch/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/providers/validate/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/proxy-pools/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/settings/database/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/settings/proxy-test/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/settings/require-login/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/settings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/shutdown/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/tags/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/load/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/save/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/send/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/translator/translate/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/disable/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/enable/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/tunnel/status/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/[connectionId]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/chart/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/history/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/logs/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/providers/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/[id]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-details/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/request-logs/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stats/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/usage/stream/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/api/chat/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/chat/completions/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/embeddings/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/messages/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/models/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/responses/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1beta/models/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/v1internal/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/api/version/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/landing/page-a9fde23d5773613c.js +0 -1
- package/app/.next/static/chunks/app/login/page-650676272c54863b.js +0 -1
- package/app/.next/static/chunks/app/manifest.webmanifest/route-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/app/page-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/global-error-3c2797dc10ec6327.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-aed1b231bb49a704.js +0 -1
- package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aed1b231bb49a704.js +0 -1
- package/app/.next/static/css/d8615a67dff78a65.css +0 -3
- /package/app/.next/static/{6NQ1tUqoUU-Vnz_TZ3Qh- → 9Nr3N83B_j66eng2tH-u9}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const util = require('./util');
|
|
5
|
+
const SqliteError = require('./sqlite-error');
|
|
6
|
+
|
|
7
|
+
let DEFAULT_ADDON;
|
|
8
|
+
|
|
9
|
+
function Database(filenameGiven, options) {
|
|
10
|
+
if (new.target == null) {
|
|
11
|
+
return new Database(filenameGiven, options);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Apply defaults
|
|
15
|
+
let buffer;
|
|
16
|
+
if (Buffer.isBuffer(filenameGiven)) {
|
|
17
|
+
buffer = filenameGiven;
|
|
18
|
+
filenameGiven = ':memory:';
|
|
19
|
+
}
|
|
20
|
+
if (filenameGiven == null) filenameGiven = '';
|
|
21
|
+
if (options == null) options = {};
|
|
22
|
+
|
|
23
|
+
// Validate arguments
|
|
24
|
+
if (typeof filenameGiven !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
25
|
+
if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');
|
|
26
|
+
if ('readOnly' in options) throw new TypeError('Misspelled option "readOnly" should be "readonly"');
|
|
27
|
+
if ('memory' in options) throw new TypeError('Option "memory" was removed in v7.0.0 (use ":memory:" filename instead)');
|
|
28
|
+
|
|
29
|
+
// Interpret options
|
|
30
|
+
const filename = filenameGiven.trim();
|
|
31
|
+
const anonymous = filename === '' || filename === ':memory:';
|
|
32
|
+
const readonly = util.getBooleanOption(options, 'readonly');
|
|
33
|
+
const fileMustExist = util.getBooleanOption(options, 'fileMustExist');
|
|
34
|
+
const timeout = 'timeout' in options ? options.timeout : 5000;
|
|
35
|
+
const verbose = 'verbose' in options ? options.verbose : null;
|
|
36
|
+
const nativeBinding = 'nativeBinding' in options ? options.nativeBinding : null;
|
|
37
|
+
|
|
38
|
+
// Validate interpreted options
|
|
39
|
+
if (readonly && anonymous && !buffer) throw new TypeError('In-memory/temporary databases cannot be readonly');
|
|
40
|
+
if (!Number.isInteger(timeout) || timeout < 0) throw new TypeError('Expected the "timeout" option to be a positive integer');
|
|
41
|
+
if (timeout > 0x7fffffff) throw new RangeError('Option "timeout" cannot be greater than 2147483647');
|
|
42
|
+
if (verbose != null && typeof verbose !== 'function') throw new TypeError('Expected the "verbose" option to be a function');
|
|
43
|
+
if (nativeBinding != null && typeof nativeBinding !== 'string' && typeof nativeBinding !== 'object') throw new TypeError('Expected the "nativeBinding" option to be a string or addon object');
|
|
44
|
+
|
|
45
|
+
// Load the native addon
|
|
46
|
+
let addon;
|
|
47
|
+
if (nativeBinding == null) {
|
|
48
|
+
addon = DEFAULT_ADDON || (DEFAULT_ADDON = require('bindings')('better_sqlite3.node'));
|
|
49
|
+
} else if (typeof nativeBinding === 'string') {
|
|
50
|
+
// See <https://webpack.js.org/api/module-variables/#__non_webpack_require__-webpack-specific>
|
|
51
|
+
const requireFunc = typeof __non_webpack_require__ === 'function' ? __non_webpack_require__ : require;
|
|
52
|
+
addon = requireFunc(path.resolve(nativeBinding).replace(/(\.node)?$/, '.node'));
|
|
53
|
+
} else {
|
|
54
|
+
// See <https://github.com/WiseLibs/better-sqlite3/issues/972>
|
|
55
|
+
addon = nativeBinding;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (!addon.isInitialized) {
|
|
59
|
+
addon.setErrorConstructor(SqliteError);
|
|
60
|
+
addon.isInitialized = true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Make sure the specified directory exists
|
|
64
|
+
if (!anonymous && !filename.startsWith('file:') && !fs.existsSync(path.dirname(filename))) {
|
|
65
|
+
throw new TypeError('Cannot open database because the directory does not exist');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Object.defineProperties(this, {
|
|
69
|
+
[util.cppdb]: { value: new addon.Database(filename, filenameGiven, anonymous, readonly, fileMustExist, timeout, verbose || null, buffer || null) },
|
|
70
|
+
...wrappers.getters,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const wrappers = require('./methods/wrappers');
|
|
75
|
+
Database.prototype.prepare = wrappers.prepare;
|
|
76
|
+
Database.prototype.transaction = require('./methods/transaction');
|
|
77
|
+
Database.prototype.pragma = require('./methods/pragma');
|
|
78
|
+
Database.prototype.backup = require('./methods/backup');
|
|
79
|
+
Database.prototype.serialize = require('./methods/serialize');
|
|
80
|
+
Database.prototype.function = require('./methods/function');
|
|
81
|
+
Database.prototype.aggregate = require('./methods/aggregate');
|
|
82
|
+
Database.prototype.table = require('./methods/table');
|
|
83
|
+
Database.prototype.loadExtension = wrappers.loadExtension;
|
|
84
|
+
Database.prototype.exec = wrappers.exec;
|
|
85
|
+
Database.prototype.close = wrappers.close;
|
|
86
|
+
Database.prototype.defaultSafeIntegers = wrappers.defaultSafeIntegers;
|
|
87
|
+
Database.prototype.unsafeMode = wrappers.unsafeMode;
|
|
88
|
+
Database.prototype[util.inspect] = require('./methods/inspect');
|
|
89
|
+
|
|
90
|
+
module.exports = Database;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { getBooleanOption, cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
module.exports = function defineAggregate(name, options) {
|
|
5
|
+
// Validate arguments
|
|
6
|
+
if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
7
|
+
if (typeof options !== 'object' || options === null) throw new TypeError('Expected second argument to be an options object');
|
|
8
|
+
if (!name) throw new TypeError('User-defined function name cannot be an empty string');
|
|
9
|
+
|
|
10
|
+
// Interpret options
|
|
11
|
+
const start = 'start' in options ? options.start : null;
|
|
12
|
+
const step = getFunctionOption(options, 'step', true);
|
|
13
|
+
const inverse = getFunctionOption(options, 'inverse', false);
|
|
14
|
+
const result = getFunctionOption(options, 'result', false);
|
|
15
|
+
const safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2;
|
|
16
|
+
const deterministic = getBooleanOption(options, 'deterministic');
|
|
17
|
+
const directOnly = getBooleanOption(options, 'directOnly');
|
|
18
|
+
const varargs = getBooleanOption(options, 'varargs');
|
|
19
|
+
let argCount = -1;
|
|
20
|
+
|
|
21
|
+
// Determine argument count
|
|
22
|
+
if (!varargs) {
|
|
23
|
+
argCount = Math.max(getLength(step), inverse ? getLength(inverse) : 0);
|
|
24
|
+
if (argCount > 0) argCount -= 1;
|
|
25
|
+
if (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
this[cppdb].aggregate(start, step, inverse, result, name, argCount, safeIntegers, deterministic, directOnly);
|
|
29
|
+
return this;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const getFunctionOption = (options, key, required) => {
|
|
33
|
+
const value = key in options ? options[key] : null;
|
|
34
|
+
if (typeof value === 'function') return value;
|
|
35
|
+
if (value != null) throw new TypeError(`Expected the "${key}" option to be a function`);
|
|
36
|
+
if (required) throw new TypeError(`Missing required option "${key}"`);
|
|
37
|
+
return null;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const getLength = ({ length }) => {
|
|
41
|
+
if (Number.isInteger(length) && length >= 0) return length;
|
|
42
|
+
throw new TypeError('Expected function.length to be a positive integer');
|
|
43
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { promisify } = require('util');
|
|
5
|
+
const { cppdb } = require('../util');
|
|
6
|
+
const fsAccess = promisify(fs.access);
|
|
7
|
+
|
|
8
|
+
module.exports = async function backup(filename, options) {
|
|
9
|
+
if (options == null) options = {};
|
|
10
|
+
|
|
11
|
+
// Validate arguments
|
|
12
|
+
if (typeof filename !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
13
|
+
if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');
|
|
14
|
+
|
|
15
|
+
// Interpret options
|
|
16
|
+
filename = filename.trim();
|
|
17
|
+
const attachedName = 'attached' in options ? options.attached : 'main';
|
|
18
|
+
const handler = 'progress' in options ? options.progress : null;
|
|
19
|
+
|
|
20
|
+
// Validate interpreted options
|
|
21
|
+
if (!filename) throw new TypeError('Backup filename cannot be an empty string');
|
|
22
|
+
if (filename === ':memory:') throw new TypeError('Invalid backup filename ":memory:"');
|
|
23
|
+
if (typeof attachedName !== 'string') throw new TypeError('Expected the "attached" option to be a string');
|
|
24
|
+
if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string');
|
|
25
|
+
if (handler != null && typeof handler !== 'function') throw new TypeError('Expected the "progress" option to be a function');
|
|
26
|
+
|
|
27
|
+
// Make sure the specified directory exists
|
|
28
|
+
await fsAccess(path.dirname(filename)).catch(() => {
|
|
29
|
+
throw new TypeError('Cannot save backup because the directory does not exist');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const isNewFile = await fsAccess(filename).then(() => false, () => true);
|
|
33
|
+
return runBackup(this[cppdb].backup(this, attachedName, filename, isNewFile), handler || null);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const runBackup = (backup, handler) => {
|
|
37
|
+
let rate = 0;
|
|
38
|
+
let useDefault = true;
|
|
39
|
+
|
|
40
|
+
return new Promise((resolve, reject) => {
|
|
41
|
+
setImmediate(function step() {
|
|
42
|
+
try {
|
|
43
|
+
const progress = backup.transfer(rate);
|
|
44
|
+
if (!progress.remainingPages) {
|
|
45
|
+
backup.close();
|
|
46
|
+
resolve(progress);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (useDefault) {
|
|
50
|
+
useDefault = false;
|
|
51
|
+
rate = 100;
|
|
52
|
+
}
|
|
53
|
+
if (handler) {
|
|
54
|
+
const ret = handler(progress);
|
|
55
|
+
if (ret !== undefined) {
|
|
56
|
+
if (typeof ret === 'number' && ret === ret) rate = Math.max(0, Math.min(0x7fffffff, Math.round(ret)));
|
|
57
|
+
else throw new TypeError('Expected progress callback to return a number or undefined');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
setImmediate(step);
|
|
61
|
+
} catch (err) {
|
|
62
|
+
backup.close();
|
|
63
|
+
reject(err);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { getBooleanOption, cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
module.exports = function defineFunction(name, options, fn) {
|
|
5
|
+
// Apply defaults
|
|
6
|
+
if (options == null) options = {};
|
|
7
|
+
if (typeof options === 'function') { fn = options; options = {}; }
|
|
8
|
+
|
|
9
|
+
// Validate arguments
|
|
10
|
+
if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
11
|
+
if (typeof fn !== 'function') throw new TypeError('Expected last argument to be a function');
|
|
12
|
+
if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');
|
|
13
|
+
if (!name) throw new TypeError('User-defined function name cannot be an empty string');
|
|
14
|
+
|
|
15
|
+
// Interpret options
|
|
16
|
+
const safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2;
|
|
17
|
+
const deterministic = getBooleanOption(options, 'deterministic');
|
|
18
|
+
const directOnly = getBooleanOption(options, 'directOnly');
|
|
19
|
+
const varargs = getBooleanOption(options, 'varargs');
|
|
20
|
+
let argCount = -1;
|
|
21
|
+
|
|
22
|
+
// Determine argument count
|
|
23
|
+
if (!varargs) {
|
|
24
|
+
argCount = fn.length;
|
|
25
|
+
if (!Number.isInteger(argCount) || argCount < 0) throw new TypeError('Expected function.length to be a positive integer');
|
|
26
|
+
if (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
this[cppdb].function(fn, name, argCount, safeIntegers, deterministic, directOnly);
|
|
30
|
+
return this;
|
|
31
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { getBooleanOption, cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
module.exports = function pragma(source, options) {
|
|
5
|
+
if (options == null) options = {};
|
|
6
|
+
if (typeof source !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
7
|
+
if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object');
|
|
8
|
+
const simple = getBooleanOption(options, 'simple');
|
|
9
|
+
|
|
10
|
+
const stmt = this[cppdb].prepare(`PRAGMA ${source}`, this, true);
|
|
11
|
+
return simple ? stmt.pluck().get() : stmt.all();
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
module.exports = function serialize(options) {
|
|
5
|
+
if (options == null) options = {};
|
|
6
|
+
|
|
7
|
+
// Validate arguments
|
|
8
|
+
if (typeof options !== 'object') throw new TypeError('Expected first argument to be an options object');
|
|
9
|
+
|
|
10
|
+
// Interpret and validate options
|
|
11
|
+
const attachedName = 'attached' in options ? options.attached : 'main';
|
|
12
|
+
if (typeof attachedName !== 'string') throw new TypeError('Expected the "attached" option to be a string');
|
|
13
|
+
if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string');
|
|
14
|
+
|
|
15
|
+
return this[cppdb].serialize(attachedName);
|
|
16
|
+
};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
module.exports = function defineTable(name, factory) {
|
|
5
|
+
// Validate arguments
|
|
6
|
+
if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string');
|
|
7
|
+
if (!name) throw new TypeError('Virtual table module name cannot be an empty string');
|
|
8
|
+
|
|
9
|
+
// Determine whether the module is eponymous-only or not
|
|
10
|
+
let eponymous = false;
|
|
11
|
+
if (typeof factory === 'object' && factory !== null) {
|
|
12
|
+
eponymous = true;
|
|
13
|
+
factory = defer(parseTableDefinition(factory, 'used', name));
|
|
14
|
+
} else {
|
|
15
|
+
if (typeof factory !== 'function') throw new TypeError('Expected second argument to be a function or a table definition object');
|
|
16
|
+
factory = wrapFactory(factory);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
this[cppdb].table(factory, name, eponymous);
|
|
20
|
+
return this;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
function wrapFactory(factory) {
|
|
24
|
+
return function virtualTableFactory(moduleName, databaseName, tableName, ...args) {
|
|
25
|
+
const thisObject = {
|
|
26
|
+
module: moduleName,
|
|
27
|
+
database: databaseName,
|
|
28
|
+
table: tableName,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Generate a new table definition by invoking the factory
|
|
32
|
+
const def = apply.call(factory, thisObject, args);
|
|
33
|
+
if (typeof def !== 'object' || def === null) {
|
|
34
|
+
throw new TypeError(`Virtual table module "${moduleName}" did not return a table definition object`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return parseTableDefinition(def, 'returned', moduleName);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function parseTableDefinition(def, verb, moduleName) {
|
|
42
|
+
// Validate required properties
|
|
43
|
+
if (!hasOwnProperty.call(def, 'rows')) {
|
|
44
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "rows" property`);
|
|
45
|
+
}
|
|
46
|
+
if (!hasOwnProperty.call(def, 'columns')) {
|
|
47
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "columns" property`);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Validate "rows" property
|
|
51
|
+
const rows = def.rows;
|
|
52
|
+
if (typeof rows !== 'function' || Object.getPrototypeOf(rows) !== GeneratorFunctionPrototype) {
|
|
53
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "rows" property (should be a generator function)`);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Validate "columns" property
|
|
57
|
+
let columns = def.columns;
|
|
58
|
+
if (!Array.isArray(columns) || !(columns = [...columns]).every(x => typeof x === 'string')) {
|
|
59
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "columns" property (should be an array of strings)`);
|
|
60
|
+
}
|
|
61
|
+
if (columns.length !== new Set(columns).size) {
|
|
62
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate column names`);
|
|
63
|
+
}
|
|
64
|
+
if (!columns.length) {
|
|
65
|
+
throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with zero columns`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Validate "parameters" property
|
|
69
|
+
let parameters;
|
|
70
|
+
if (hasOwnProperty.call(def, 'parameters')) {
|
|
71
|
+
parameters = def.parameters;
|
|
72
|
+
if (!Array.isArray(parameters) || !(parameters = [...parameters]).every(x => typeof x === 'string')) {
|
|
73
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "parameters" property (should be an array of strings)`);
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
parameters = inferParameters(rows);
|
|
77
|
+
}
|
|
78
|
+
if (parameters.length !== new Set(parameters).size) {
|
|
79
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate parameter names`);
|
|
80
|
+
}
|
|
81
|
+
if (parameters.length > 32) {
|
|
82
|
+
throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with more than the maximum number of 32 parameters`);
|
|
83
|
+
}
|
|
84
|
+
for (const parameter of parameters) {
|
|
85
|
+
if (columns.includes(parameter)) {
|
|
86
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with column "${parameter}" which was ambiguously defined as both a column and parameter`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Validate "safeIntegers" option
|
|
91
|
+
let safeIntegers = 2;
|
|
92
|
+
if (hasOwnProperty.call(def, 'safeIntegers')) {
|
|
93
|
+
const bool = def.safeIntegers;
|
|
94
|
+
if (typeof bool !== 'boolean') {
|
|
95
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "safeIntegers" property (should be a boolean)`);
|
|
96
|
+
}
|
|
97
|
+
safeIntegers = +bool;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Validate "directOnly" option
|
|
101
|
+
let directOnly = false;
|
|
102
|
+
if (hasOwnProperty.call(def, 'directOnly')) {
|
|
103
|
+
directOnly = def.directOnly;
|
|
104
|
+
if (typeof directOnly !== 'boolean') {
|
|
105
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "directOnly" property (should be a boolean)`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Generate SQL for the virtual table definition
|
|
110
|
+
const columnDefinitions = [
|
|
111
|
+
...parameters.map(identifier).map(str => `${str} HIDDEN`),
|
|
112
|
+
...columns.map(identifier),
|
|
113
|
+
];
|
|
114
|
+
return [
|
|
115
|
+
`CREATE TABLE x(${columnDefinitions.join(', ')});`,
|
|
116
|
+
wrapGenerator(rows, new Map(columns.map((x, i) => [x, parameters.length + i])), moduleName),
|
|
117
|
+
parameters,
|
|
118
|
+
safeIntegers,
|
|
119
|
+
directOnly,
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function wrapGenerator(generator, columnMap, moduleName) {
|
|
124
|
+
return function* virtualTable(...args) {
|
|
125
|
+
/*
|
|
126
|
+
We must defensively clone any buffers in the arguments, because
|
|
127
|
+
otherwise the generator could mutate one of them, which would cause
|
|
128
|
+
us to return incorrect values for hidden columns, potentially
|
|
129
|
+
corrupting the database.
|
|
130
|
+
*/
|
|
131
|
+
const output = args.map(x => Buffer.isBuffer(x) ? Buffer.from(x) : x);
|
|
132
|
+
for (let i = 0; i < columnMap.size; ++i) {
|
|
133
|
+
output.push(null); // Fill with nulls to prevent gaps in array (v8 optimization)
|
|
134
|
+
}
|
|
135
|
+
for (const row of generator(...args)) {
|
|
136
|
+
if (Array.isArray(row)) {
|
|
137
|
+
extractRowArray(row, output, columnMap.size, moduleName);
|
|
138
|
+
yield output;
|
|
139
|
+
} else if (typeof row === 'object' && row !== null) {
|
|
140
|
+
extractRowObject(row, output, columnMap, moduleName);
|
|
141
|
+
yield output;
|
|
142
|
+
} else {
|
|
143
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded something that isn't a valid row object`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function extractRowArray(row, output, columnCount, moduleName) {
|
|
150
|
+
if (row.length !== columnCount) {
|
|
151
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an incorrect number of columns`);
|
|
152
|
+
}
|
|
153
|
+
const offset = output.length - columnCount;
|
|
154
|
+
for (let i = 0; i < columnCount; ++i) {
|
|
155
|
+
output[i + offset] = row[i];
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function extractRowObject(row, output, columnMap, moduleName) {
|
|
160
|
+
let count = 0;
|
|
161
|
+
for (const key of Object.keys(row)) {
|
|
162
|
+
const index = columnMap.get(key);
|
|
163
|
+
if (index === undefined) {
|
|
164
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an undeclared column "${key}"`);
|
|
165
|
+
}
|
|
166
|
+
output[index] = row[key];
|
|
167
|
+
count += 1;
|
|
168
|
+
}
|
|
169
|
+
if (count !== columnMap.size) {
|
|
170
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with missing columns`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function inferParameters({ length }) {
|
|
175
|
+
if (!Number.isInteger(length) || length < 0) {
|
|
176
|
+
throw new TypeError('Expected function.length to be a positive integer');
|
|
177
|
+
}
|
|
178
|
+
const params = [];
|
|
179
|
+
for (let i = 0; i < length; ++i) {
|
|
180
|
+
params.push(`$${i + 1}`);
|
|
181
|
+
}
|
|
182
|
+
return params;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const { hasOwnProperty } = Object.prototype;
|
|
186
|
+
const { apply } = Function.prototype;
|
|
187
|
+
const GeneratorFunctionPrototype = Object.getPrototypeOf(function*(){});
|
|
188
|
+
const identifier = str => `"${str.replace(/"/g, '""')}"`;
|
|
189
|
+
const defer = x => () => x;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { cppdb } = require('../util');
|
|
3
|
+
const controllers = new WeakMap();
|
|
4
|
+
|
|
5
|
+
module.exports = function transaction(fn) {
|
|
6
|
+
if (typeof fn !== 'function') throw new TypeError('Expected first argument to be a function');
|
|
7
|
+
|
|
8
|
+
const db = this[cppdb];
|
|
9
|
+
const controller = getController(db, this);
|
|
10
|
+
const { apply } = Function.prototype;
|
|
11
|
+
|
|
12
|
+
// Each version of the transaction function has these same properties
|
|
13
|
+
const properties = {
|
|
14
|
+
default: { value: wrapTransaction(apply, fn, db, controller.default) },
|
|
15
|
+
deferred: { value: wrapTransaction(apply, fn, db, controller.deferred) },
|
|
16
|
+
immediate: { value: wrapTransaction(apply, fn, db, controller.immediate) },
|
|
17
|
+
exclusive: { value: wrapTransaction(apply, fn, db, controller.exclusive) },
|
|
18
|
+
database: { value: this, enumerable: true },
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
Object.defineProperties(properties.default.value, properties);
|
|
22
|
+
Object.defineProperties(properties.deferred.value, properties);
|
|
23
|
+
Object.defineProperties(properties.immediate.value, properties);
|
|
24
|
+
Object.defineProperties(properties.exclusive.value, properties);
|
|
25
|
+
|
|
26
|
+
// Return the default version of the transaction function
|
|
27
|
+
return properties.default.value;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// Return the database's cached transaction controller, or create a new one
|
|
31
|
+
const getController = (db, self) => {
|
|
32
|
+
let controller = controllers.get(db);
|
|
33
|
+
if (!controller) {
|
|
34
|
+
const shared = {
|
|
35
|
+
commit: db.prepare('COMMIT', self, false),
|
|
36
|
+
rollback: db.prepare('ROLLBACK', self, false),
|
|
37
|
+
savepoint: db.prepare('SAVEPOINT `\t_bs3.\t`', self, false),
|
|
38
|
+
release: db.prepare('RELEASE `\t_bs3.\t`', self, false),
|
|
39
|
+
rollbackTo: db.prepare('ROLLBACK TO `\t_bs3.\t`', self, false),
|
|
40
|
+
};
|
|
41
|
+
controllers.set(db, controller = {
|
|
42
|
+
default: Object.assign({ begin: db.prepare('BEGIN', self, false) }, shared),
|
|
43
|
+
deferred: Object.assign({ begin: db.prepare('BEGIN DEFERRED', self, false) }, shared),
|
|
44
|
+
immediate: Object.assign({ begin: db.prepare('BEGIN IMMEDIATE', self, false) }, shared),
|
|
45
|
+
exclusive: Object.assign({ begin: db.prepare('BEGIN EXCLUSIVE', self, false) }, shared),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return controller;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Return a new transaction function by wrapping the given function
|
|
52
|
+
const wrapTransaction = (apply, fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function sqliteTransaction() {
|
|
53
|
+
let before, after, undo;
|
|
54
|
+
if (db.inTransaction) {
|
|
55
|
+
before = savepoint;
|
|
56
|
+
after = release;
|
|
57
|
+
undo = rollbackTo;
|
|
58
|
+
} else {
|
|
59
|
+
before = begin;
|
|
60
|
+
after = commit;
|
|
61
|
+
undo = rollback;
|
|
62
|
+
}
|
|
63
|
+
before.run();
|
|
64
|
+
try {
|
|
65
|
+
const result = apply.call(fn, this, arguments);
|
|
66
|
+
if (result && typeof result.then === 'function') {
|
|
67
|
+
throw new TypeError('Transaction function cannot return a promise');
|
|
68
|
+
}
|
|
69
|
+
after.run();
|
|
70
|
+
return result;
|
|
71
|
+
} catch (ex) {
|
|
72
|
+
if (db.inTransaction) {
|
|
73
|
+
undo.run();
|
|
74
|
+
if (undo !== rollback) after.run();
|
|
75
|
+
}
|
|
76
|
+
throw ex;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { cppdb } = require('../util');
|
|
3
|
+
|
|
4
|
+
exports.prepare = function prepare(sql) {
|
|
5
|
+
return this[cppdb].prepare(sql, this, false);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
exports.exec = function exec(sql) {
|
|
9
|
+
this[cppdb].exec(sql);
|
|
10
|
+
return this;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports.close = function close() {
|
|
14
|
+
this[cppdb].close();
|
|
15
|
+
return this;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.loadExtension = function loadExtension(...args) {
|
|
19
|
+
this[cppdb].loadExtension(...args);
|
|
20
|
+
return this;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.defaultSafeIntegers = function defaultSafeIntegers(...args) {
|
|
24
|
+
this[cppdb].defaultSafeIntegers(...args);
|
|
25
|
+
return this;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.unsafeMode = function unsafeMode(...args) {
|
|
29
|
+
this[cppdb].unsafeMode(...args);
|
|
30
|
+
return this;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.getters = {
|
|
34
|
+
name: {
|
|
35
|
+
get: function name() { return this[cppdb].name; },
|
|
36
|
+
enumerable: true,
|
|
37
|
+
},
|
|
38
|
+
open: {
|
|
39
|
+
get: function open() { return this[cppdb].open; },
|
|
40
|
+
enumerable: true,
|
|
41
|
+
},
|
|
42
|
+
inTransaction: {
|
|
43
|
+
get: function inTransaction() { return this[cppdb].inTransaction; },
|
|
44
|
+
enumerable: true,
|
|
45
|
+
},
|
|
46
|
+
readonly: {
|
|
47
|
+
get: function readonly() { return this[cppdb].readonly; },
|
|
48
|
+
enumerable: true,
|
|
49
|
+
},
|
|
50
|
+
memory: {
|
|
51
|
+
get: function memory() { return this[cppdb].memory; },
|
|
52
|
+
enumerable: true,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const descriptor = { value: 'SqliteError', writable: true, enumerable: false, configurable: true };
|
|
3
|
+
|
|
4
|
+
function SqliteError(message, code) {
|
|
5
|
+
if (new.target !== SqliteError) {
|
|
6
|
+
return new SqliteError(message, code);
|
|
7
|
+
}
|
|
8
|
+
if (typeof code !== 'string') {
|
|
9
|
+
throw new TypeError('Expected second argument to be a string');
|
|
10
|
+
}
|
|
11
|
+
Error.call(this, message);
|
|
12
|
+
descriptor.value = '' + message;
|
|
13
|
+
Object.defineProperty(this, 'message', descriptor);
|
|
14
|
+
Error.captureStackTrace(this, SqliteError);
|
|
15
|
+
this.code = code;
|
|
16
|
+
}
|
|
17
|
+
Object.setPrototypeOf(SqliteError, Error);
|
|
18
|
+
Object.setPrototypeOf(SqliteError.prototype, Error.prototype);
|
|
19
|
+
Object.defineProperty(SqliteError.prototype, 'name', descriptor);
|
|
20
|
+
module.exports = SqliteError;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.getBooleanOption = (options, key) => {
|
|
4
|
+
let value = false;
|
|
5
|
+
if (key in options && typeof (value = options[key]) !== 'boolean') {
|
|
6
|
+
throw new TypeError(`Expected the "${key}" option to be a boolean`);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
exports.cppdb = Symbol();
|
|
12
|
+
exports.inspect = Symbol.for('nodejs.util.inspect.custom');
|