omniroute 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -0
- package/README.pt-BR.md +1 -0
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +24 -24
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +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 +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +2 -2
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- 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 +2 -2
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +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 +4 -4
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +4 -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 +4 -4
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- 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 +2 -2
- package/app/.next/server/app/api/auth/login/route.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/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_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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +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/cline-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +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/droid-settings/route.js +2 -2
- 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/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/kilo-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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +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_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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +1 -1
- package/app/.next/server/app/api/monitoring/health/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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +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_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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +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/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +2 -2
- 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/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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 +4 -4
- package/app/.next/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/analytics.html +2 -2
- package/app/.next/server/app/dashboard/analytics.rsc +6 -6
- package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/analytics.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/analytics.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/audit-log.html +1 -1
- package/app/.next/server/app/dashboard/audit-log.rsc +5 -5
- package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/audit-log.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/audit-log.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/audit-log.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/audit-log.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next/server/app/dashboard/cli-tools.rsc +6 -6
- 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 +6 -6
- 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 +4 -4
- package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/combos.html +1 -1
- package/app/.next/server/app/dashboard/combos.rsc +6 -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 +6 -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 +4 -4
- package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/costs.html +1 -1
- package/app/.next/server/app/dashboard/costs.rsc +6 -6
- package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/costs.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/costs.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/costs.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/endpoint.html +1 -1
- package/app/.next/server/app/dashboard/endpoint.rsc +6 -6
- 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 +6 -6
- package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/health.html +1 -1
- package/app/.next/server/app/dashboard/health.rsc +6 -6
- package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/health.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/health.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/health.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/limits.html +2 -2
- package/app/.next/server/app/dashboard/limits.rsc +6 -6
- package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/limits.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/limits.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/limits.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/limits.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/logs.html +1 -1
- package/app/.next/server/app/dashboard/logs.rsc +6 -6
- package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/logs.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/logs.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/logs.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/logs.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/onboarding.html +1 -1
- package/app/.next/server/app/dashboard/onboarding.rsc +5 -5
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/profile.html +1 -1
- package/app/.next/server/app/dashboard/profile.rsc +5 -5
- package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
- 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 +5 -5
- package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers/new.html +2 -2
- package/app/.next/server/app/dashboard/providers/new.rsc +6 -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 +6 -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 +4 -4
- package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/providers.html +2 -2
- package/app/.next/server/app/dashboard/providers.rsc +6 -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 +6 -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 +4 -4
- package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.html +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -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 +4 -4
- package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.html +1 -2
- package/app/.next/server/app/dashboard/settings.rsc +6 -6
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +6 -6
- package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/translator.html +2 -2
- package/app/.next/server/app/dashboard/translator.rsc +6 -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 +6 -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 +4 -4
- package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/dashboard/usage.html +1 -1
- package/app/.next/server/app/dashboard/usage.rsc +6 -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 +6 -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 +4 -4
- package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/docs/page.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs.html +1 -1
- package/app/.next/server/app/docs.rsc +4 -4
- package/app/.next/server/app/docs.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/docs.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden.html +1 -1
- package/app/.next/server/app/forbidden.rsc +4 -4
- package/app/.next/server/app/forbidden.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/forbidden.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/forbidden.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/forbidden.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/forbidden.segments/forbidden/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/forbidden.segments/forbidden.segment.rsc +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password.html +1 -1
- package/app/.next/server/app/forgot-password.rsc +5 -5
- package/app/.next/server/app/forgot-password.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/forgot-password.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +4 -4
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +4 -4
- package/app/.next/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next/server/app/login/page.js +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 +5 -5
- package/app/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -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/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy.html +1 -1
- package/app/.next/server/app/privacy.rsc +4 -4
- package/app/.next/server/app/privacy.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/privacy.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms.html +1 -1
- package/app/.next/server/app/terms.rsc +4 -4
- package/app/.next/server/app/terms.segments/_full.segment.rsc +4 -4
- package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/terms.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
- package/app/.next/server/app-paths-manifest.json +24 -24
- package/app/.next/server/chunks/1998.js +1 -0
- package/app/.next/server/chunks/2180.js +4 -4
- package/app/.next/server/chunks/2767.js +1 -1
- package/app/.next/server/chunks/2910.js +4 -4
- package/app/.next/server/chunks/4488.js +4 -4
- package/app/.next/server/chunks/9824.js +1 -1
- package/app/.next/server/chunks/9979.js +1 -1
- package/app/.next/server/instrumentation.js +1 -1
- package/app/.next/server/middleware.js +5 -5
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{5846-aeaf4d8166e66a9c.js → 5846-2239171d59388fe8.js} +1 -1
- package/app/.next/static/chunks/{993-7a4050ed1453c0f4.js → 993-549657c6dd78bae8.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-24700772c6569500.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-98664026bfb4b4a9.js +1 -0
- package/app/.next/static/chunks/app/login/page-ca4dde4376ccd169.js +1 -0
- package/app/.next/static/chunks/app/not-found-1dbd8c3e506fe00f.js +1 -0
- package/app/.next/static/css/67c4b9dbfb14fddd.css +1 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-572de2c66460c226.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1067b7b1be3728d7.js +0 -1
- package/app/.next/static/chunks/app/login/page-40a8824400706b5e.js +0 -1
- package/app/.next/static/chunks/app/not-found-38123f3e1e5abc33.js +0 -1
- package/app/.next/static/css/c5b80d2d58d2e417.css +0 -1
- /package/app/.next/static/{ab6RZSDVvUP4wjD8cY5sa → rS_1Zfl9zlKFJcFPfMyip}/_buildManifest.js +0 -0
- /package/app/.next/static/{ab6RZSDVvUP4wjD8cY5sa → rS_1Zfl9zlKFJcFPfMyip}/_ssgManifest.js +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-
|
|
2
|
+
2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-2239171d59388fe8.js","993","static/chunks/993-549657c6dd78bae8.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
|
|
5
5
|
5:I[74581,[],""]
|
|
6
|
-
6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-
|
|
6
|
+
6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-1dbd8c3e506fe00f.js"],"default"]
|
|
7
7
|
7:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
|
|
8
8
|
10:I[26719,["4219","static/chunks/app/global-error-41eef2a698918fc1.js"],"default"]
|
|
9
9
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
10
10
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
11
|
-
:HL["/_next/static/css/
|
|
11
|
+
:HL["/_next/static/css/67c4b9dbfb14fddd.css","style"]
|
|
12
12
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
13
|
-
0:{"P":null,"b":"
|
|
13
|
+
0:{"P":null,"b":"rS_1Zfl9zlKFJcFPfMyip","c":["","terms"],"q":"","i":false,"f":[[["",{"children":["terms",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/67c4b9dbfb14fddd.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[],"template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L6",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L7",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"3. How It Works"}],["$","p",null,{"children":"OmniRoute acts as an intermediary proxy. API calls sent to OmniRoute are translated and forwarded to your configured AI providers. OmniRoute does not modify the content of your requests or responses beyond the necessary protocol translation."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"4. Data Handling"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":["$L8","$L9","$La"]}]]}],"$Lb","$Lc"]}],"$Ld"]}]}],null,"$Le"]}],{},null,false,false]},null,false,false]},null,false,false],"$Lf",false]],"m":"$undefined","G":["$10",[]],"S":true}
|
|
14
14
|
11:I[90484,[],"OutletBoundary"]
|
|
15
15
|
12:"$Sreact.suspense"
|
|
16
16
|
14:I[90484,[],"ViewportBoundary"]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[90484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[86869,[],"IconMark"]
|
|
6
|
-
0:{"buildId":"
|
|
6
|
+
0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Terms of Service | OmniRoute"}],["$","meta","1",{"name":"description","content":"Terms of service for the OmniRoute AI API proxy router."}],["$","link","2",{"rel":"icon","href":"/favicon.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-touch-icon.svg"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-
|
|
2
|
+
2:I[55846,["8500","static/chunks/8500-98e13bcce54aa7a0.js","9751","static/chunks/9751-3a35163d337d54ea.js","782","static/chunks/782-5e138760b7f7bf48.js","1149","static/chunks/1149-fefe7f95f0e9842f.js","5846","static/chunks/5846-2239171d59388fe8.js","993","static/chunks/993-549657c6dd78bae8.js","9305","static/chunks/app/(dashboard)/layout-cf710bbfb7c3ba11.js"],"ThemeProvider"]
|
|
3
3
|
3:I[57121,[],""]
|
|
4
4
|
4:I[17267,["8039","static/chunks/app/error-0d59fc4efafbc38c.js"],"default"]
|
|
5
5
|
5:I[74581,[],""]
|
|
6
|
-
6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-
|
|
6
|
+
6:I[37145,["8500","static/chunks/8500-98e13bcce54aa7a0.js","4345","static/chunks/app/not-found-1dbd8c3e506fe00f.js"],"default"]
|
|
7
7
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
8
|
-
:HL["/_next/static/css/
|
|
8
|
+
:HL["/_next/static/css/67c4b9dbfb14fddd.css","style"]
|
|
9
9
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
10
|
-
0:{"buildId":"
|
|
10
|
+
0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/081a0afca5a9bd20.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/67c4b9dbfb14fddd.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","suppressHydrationWarning":true,"children":[["$","a",null,{"href":"#main-content","className":"sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-50 focus:px-4 focus:py-2 focus:bg-[#6366f1] focus:text-white focus:rounded-lg focus:text-sm focus:font-semibold focus:shadow-lg","children":"Skip to content"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[],"template":["$","$L5",null,{}],"notFound":[["$","$L6",null,{}],[]]}]}]]}]]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
2
2
|
:HL["/_next/static/css/081a0afca5a9bd20.css","style"]
|
|
3
|
-
:HL["/_next/static/css/
|
|
3
|
+
:HL["/_next/static/css/67c4b9dbfb14fddd.css","style"]
|
|
4
4
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap","style"]
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"terms","paramType":null,"paramKey":"terms","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
2:I[98500,["8500","static/chunks/8500-98e13bcce54aa7a0.js","7066","static/chunks/app/terms/page-8f74097544a61b9d.js"],""]
|
|
3
3
|
3:I[90484,[],"OutletBoundary"]
|
|
4
4
|
5:"$Sreact.suspense"
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","c",{"children":[["$","main",null,{"className":"min-h-screen bg-bg text-text-main","children":["$","div",null,{"className":"max-w-3xl mx-auto px-6 py-16","children":[["$","$L2",null,{"href":"/","className":"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary transition-colors mb-8","children":[["$","span",null,{"className":"material-symbols-outlined text-[18px]","children":"arrow_back"}],"Back to home"]}],["$","h1",null,{"className":"text-3xl font-bold mb-2","children":"Terms of Service"}],["$","p",null,{"className":"text-sm text-text-muted mb-10","children":"Last updated: February 13, 2026"}],["$","div",null,{"className":"space-y-8 text-text-muted leading-relaxed","children":[["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"1. Overview"}],["$","p",null,{"children":["OmniRoute is a ",["$","strong",null,{"className":"text-text-main","children":"local-first"}]," AI API proxy router that operates entirely on your machine. It routes requests to multiple AI providers with load balancing, failover, and usage tracking."]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"2. User Responsibilities"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":"You are solely responsible for managing your own API keys and credentials for third-party AI providers (OpenAI, Anthropic, Google, etc.)."}],["$","li",null,{"children":"You must comply with the terms of service of each AI provider whose API you access through OmniRoute."}],["$","li",null,{"children":"You are responsible for the security of your local OmniRoute installation, including setting a password and restricting network access."}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"3. How It Works"}],["$","p",null,{"children":"OmniRoute acts as an intermediary proxy. API calls sent to OmniRoute are translated and forwarded to your configured AI providers. OmniRoute does not modify the content of your requests or responses beyond the necessary protocol translation."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"4. Data Handling"}],["$","ul",null,{"className":"list-disc pl-6 space-y-2","children":[["$","li",null,{"children":["All data is stored ",["$","strong",null,{"className":"text-text-main","children":"locally"}]," on your machine in a SQLite database."]}],["$","li",null,{"children":"OmniRoute does not transmit any data to external servers unless you explicitly enable cloud sync features."}],["$","li",null,{"children":["Usage logs, API keys, and configuration are stored in"," ",["$","code",null,{"className":"text-primary text-sm","children":"~/.omniroute/"}],"."]}]]}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"5. Disclaimer"}],["$","p",null,{"children":"OmniRoute is provided “as is” without warranty of any kind. We are not responsible for any costs incurred through API usage, service disruptions, or data loss. Always maintain backups of your configuration."}]]}],["$","section",null,{"children":[["$","h2",null,{"className":"text-lg font-semibold text-text-main mb-3","children":"6. Open Source"}],["$","p",null,{"children":"OmniRoute is open-source software. You are free to inspect, modify, and distribute it under the terms of its license."}]]}]]}],["$","div",null,{"className":"mt-12 pt-8 border-t border-white/[0.06] text-sm text-text-muted","children":["$","p",null,{"children":["Questions? Visit our"," ",["$","a",null,{"href":"https://github.com/diegosouzapw/OmniRoute","className":"text-primary hover:underline","target":"_blank","rel":"noopener noreferrer","children":"GitHub repository"}],"."]}]}]]}]}],null,["$","$L3",null,{"children":"$L4"}]]}],"loading":null,"isPartial":false}
|
|
6
6
|
4:["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]
|
|
7
7
|
6:null
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"rS_1Zfl9zlKFJcFPfMyip","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"/api/cli-tools/codex-profiles/route": "app/api/cli-tools/codex-profiles/route.js",
|
|
12
12
|
"/api/cli-tools/guide-settings/[toolId]/route": "app/api/cli-tools/guide-settings/[toolId]/route.js",
|
|
13
13
|
"/api/cloud/auth/route": "app/api/cloud/auth/route.js",
|
|
14
|
-
"/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
|
|
15
14
|
"/api/cloud/model/resolve/route": "app/api/cloud/model/resolve/route.js",
|
|
15
|
+
"/api/cloud/credentials/update/route": "app/api/cloud/credentials/update/route.js",
|
|
16
16
|
"/api/cloud/models/alias/route": "app/api/cloud/models/alias/route.js",
|
|
17
17
|
"/api/combos/[id]/route": "app/api/combos/[id]/route.js",
|
|
18
18
|
"/api/combos/metrics/route": "app/api/combos/metrics/route.js",
|
|
@@ -23,24 +23,24 @@
|
|
|
23
23
|
"/api/db-backups/import/route": "app/api/db-backups/import/route.js",
|
|
24
24
|
"/api/db-backups/route": "app/api/db-backups/route.js",
|
|
25
25
|
"/api/evals/[suiteId]/route": "app/api/evals/[suiteId]/route.js",
|
|
26
|
-
"/api/evals/route": "app/api/evals/route.js",
|
|
27
26
|
"/api/fallback/chains/route": "app/api/fallback/chains/route.js",
|
|
27
|
+
"/api/evals/route": "app/api/evals/route.js",
|
|
28
28
|
"/api/init/route": "app/api/init/route.js",
|
|
29
29
|
"/api/keys/[id]/route": "app/api/keys/[id]/route.js",
|
|
30
30
|
"/api/keys/route": "app/api/keys/route.js",
|
|
31
|
-
"/api/models/alias/route": "app/api/models/alias/route.js",
|
|
32
31
|
"/api/logs/console/route": "app/api/logs/console/route.js",
|
|
32
|
+
"/api/models/alias/route": "app/api/models/alias/route.js",
|
|
33
33
|
"/api/models/availability/route": "app/api/models/availability/route.js",
|
|
34
34
|
"/api/models/catalog/route": "app/api/models/catalog/route.js",
|
|
35
35
|
"/api/models/route": "app/api/models/route.js",
|
|
36
36
|
"/api/monitoring/health/route": "app/api/monitoring/health/route.js",
|
|
37
|
+
"/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
|
|
37
38
|
"/api/oauth/cursor/auto-import/route": "app/api/oauth/cursor/auto-import/route.js",
|
|
38
39
|
"/api/oauth/cursor/import/route": "app/api/oauth/cursor/import/route.js",
|
|
39
40
|
"/api/oauth/kiro/auto-import/route": "app/api/oauth/kiro/auto-import/route.js",
|
|
40
|
-
"/api/oauth/[provider]/[action]/route": "app/api/oauth/[provider]/[action]/route.js",
|
|
41
41
|
"/api/oauth/kiro/import/route": "app/api/oauth/kiro/import/route.js",
|
|
42
|
-
"/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
|
|
43
42
|
"/api/oauth/kiro/social-exchange/route": "app/api/oauth/kiro/social-exchange/route.js",
|
|
43
|
+
"/api/oauth/kiro/social-authorize/route": "app/api/oauth/kiro/social-authorize/route.js",
|
|
44
44
|
"/api/policies/route": "app/api/policies/route.js",
|
|
45
45
|
"/api/pricing/defaults/route": "app/api/pricing/defaults/route.js",
|
|
46
46
|
"/api/pricing/models/route": "app/api/pricing/models/route.js",
|
|
@@ -48,15 +48,15 @@
|
|
|
48
48
|
"/api/provider-metrics/route": "app/api/provider-metrics/route.js",
|
|
49
49
|
"/api/provider-models/route": "app/api/provider-models/route.js",
|
|
50
50
|
"/api/provider-nodes/[id]/route": "app/api/provider-nodes/[id]/route.js",
|
|
51
|
-
"/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
|
|
52
51
|
"/api/provider-nodes/validate/route": "app/api/provider-nodes/validate/route.js",
|
|
53
52
|
"/api/providers/[id]/route": "app/api/providers/[id]/route.js",
|
|
53
|
+
"/api/providers/[id]/models/route": "app/api/providers/[id]/models/route.js",
|
|
54
54
|
"/api/providers/client/route": "app/api/providers/client/route.js",
|
|
55
55
|
"/api/providers/route": "app/api/providers/route.js",
|
|
56
56
|
"/api/providers/test-batch/route": "app/api/providers/test-batch/route.js",
|
|
57
57
|
"/api/providers/validate/route": "app/api/providers/validate/route.js",
|
|
58
|
-
"/api/rate-limits/route": "app/api/rate-limits/route.js",
|
|
59
58
|
"/api/rate-limit/route": "app/api/rate-limit/route.js",
|
|
59
|
+
"/api/rate-limits/route": "app/api/rate-limits/route.js",
|
|
60
60
|
"/api/resilience/reset/route": "app/api/resilience/reset/route.js",
|
|
61
61
|
"/api/resilience/route": "app/api/resilience/route.js",
|
|
62
62
|
"/api/restart/route": "app/api/restart/route.js",
|
|
@@ -72,28 +72,28 @@
|
|
|
72
72
|
"/api/sync/initialize/route": "app/api/sync/initialize/route.js",
|
|
73
73
|
"/api/sync/cloud/route": "app/api/sync/cloud/route.js",
|
|
74
74
|
"/api/tags/route": "app/api/tags/route.js",
|
|
75
|
-
"/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
|
|
76
75
|
"/api/token-health/route": "app/api/token-health/route.js",
|
|
76
|
+
"/api/telemetry/summary/route": "app/api/telemetry/summary/route.js",
|
|
77
77
|
"/api/translator/detect/route": "app/api/translator/detect/route.js",
|
|
78
|
-
"/api/translator/history/route": "app/api/translator/history/route.js",
|
|
79
78
|
"/api/translator/load/route": "app/api/translator/load/route.js",
|
|
79
|
+
"/api/translator/history/route": "app/api/translator/history/route.js",
|
|
80
80
|
"/api/translator/save/route": "app/api/translator/save/route.js",
|
|
81
81
|
"/api/translator/send/route": "app/api/translator/send/route.js",
|
|
82
|
+
"/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
|
|
82
83
|
"/api/translator/translate/route": "app/api/translator/translate/route.js",
|
|
83
84
|
"/api/usage/analytics/route": "app/api/usage/analytics/route.js",
|
|
84
|
-
"/api/usage/[connectionId]/route": "app/api/usage/[connectionId]/route.js",
|
|
85
85
|
"/api/usage/budget/route": "app/api/usage/budget/route.js",
|
|
86
|
-
"/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
|
|
87
86
|
"/api/usage/call-logs/route": "app/api/usage/call-logs/route.js",
|
|
88
|
-
"/api/usage/logs/route": "app/api/usage/logs/route.js",
|
|
87
|
+
"/api/usage/call-logs/[id]/route": "app/api/usage/call-logs/[id]/route.js",
|
|
89
88
|
"/api/usage/history/route": "app/api/usage/history/route.js",
|
|
89
|
+
"/api/usage/logs/route": "app/api/usage/logs/route.js",
|
|
90
90
|
"/api/usage/request-logs/route": "app/api/usage/request-logs/route.js",
|
|
91
91
|
"/api/v1/api/chat/route": "app/api/v1/api/chat/route.js",
|
|
92
92
|
"/api/v1/audio/speech/route": "app/api/v1/audio/speech/route.js",
|
|
93
93
|
"/api/v1/audio/transcriptions/route": "app/api/v1/audio/transcriptions/route.js",
|
|
94
|
-
"/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
|
|
95
94
|
"/api/v1/images/generations/route": "app/api/v1/images/generations/route.js",
|
|
96
95
|
"/api/v1/messages/count_tokens/route": "app/api/v1/messages/count_tokens/route.js",
|
|
96
|
+
"/api/v1/embeddings/route": "app/api/v1/embeddings/route.js",
|
|
97
97
|
"/api/v1/messages/route": "app/api/v1/messages/route.js",
|
|
98
98
|
"/api/v1/models/route": "app/api/v1/models/route.js",
|
|
99
99
|
"/api/v1/moderations/route": "app/api/v1/moderations/route.js",
|
|
@@ -109,30 +109,30 @@
|
|
|
109
109
|
"/api/cli-tools/claude-settings/route": "app/api/cli-tools/claude-settings/route.js",
|
|
110
110
|
"/api/cli-tools/cline-settings/route": "app/api/cli-tools/cline-settings/route.js",
|
|
111
111
|
"/api/cli-tools/droid-settings/route": "app/api/cli-tools/droid-settings/route.js",
|
|
112
|
-
"/api/cli-tools/
|
|
113
|
-
"/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
|
|
114
|
-
"/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
|
|
112
|
+
"/api/cli-tools/kilo-settings/route": "app/api/cli-tools/kilo-settings/route.js",
|
|
115
113
|
"/api/cli-tools/status/route": "app/api/cli-tools/status/route.js",
|
|
114
|
+
"/api/cli-tools/runtime/[toolId]/route": "app/api/cli-tools/runtime/[toolId]/route.js",
|
|
116
115
|
"/api/combos/test/route": "app/api/combos/test/route.js",
|
|
116
|
+
"/api/cli-tools/openclaw-settings/route": "app/api/cli-tools/openclaw-settings/route.js",
|
|
117
117
|
"/api/provider-nodes/route": "app/api/provider-nodes/route.js",
|
|
118
|
-
"/api/cli-tools/
|
|
118
|
+
"/api/cli-tools/codex-settings/route": "app/api/cli-tools/codex-settings/route.js",
|
|
119
119
|
"/api/providers/[id]/test/route": "app/api/providers/[id]/test/route.js",
|
|
120
|
-
"/api/settings/proxy/route": "app/api/settings/proxy/route.js",
|
|
121
120
|
"/api/settings/proxy/test/route": "app/api/settings/proxy/test/route.js",
|
|
122
|
-
"/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
|
|
123
121
|
"/api/v1/chat/completions/route": "app/api/v1/chat/completions/route.js",
|
|
122
|
+
"/api/usage/proxy-logs/route": "app/api/usage/proxy-logs/route.js",
|
|
123
|
+
"/api/settings/proxy/route": "app/api/settings/proxy/route.js",
|
|
124
124
|
"/callback/page": "app/callback/page.js",
|
|
125
|
-
"/forbidden/page": "app/forbidden/page.js",
|
|
126
125
|
"/docs/page": "app/docs/page.js",
|
|
127
|
-
"/landing/page": "app/landing/page.js",
|
|
128
126
|
"/forgot-password/page": "app/forgot-password/page.js",
|
|
127
|
+
"/forbidden/page": "app/forbidden/page.js",
|
|
128
|
+
"/landing/page": "app/landing/page.js",
|
|
129
129
|
"/login/page": "app/login/page.js",
|
|
130
130
|
"/page": "app/page.js",
|
|
131
|
-
"/terms/page": "app/terms/page.js",
|
|
132
131
|
"/privacy/page": "app/privacy/page.js",
|
|
132
|
+
"/terms/page": "app/terms/page.js",
|
|
133
133
|
"/(dashboard)/dashboard/analytics/page": "app/(dashboard)/dashboard/analytics/page.js",
|
|
134
|
-
"/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
|
|
135
134
|
"/(dashboard)/dashboard/cli-tools/page": "app/(dashboard)/dashboard/cli-tools/page.js",
|
|
135
|
+
"/(dashboard)/dashboard/audit-log/page": "app/(dashboard)/dashboard/audit-log/page.js",
|
|
136
136
|
"/(dashboard)/dashboard/costs/page": "app/(dashboard)/dashboard/costs/page.js",
|
|
137
137
|
"/(dashboard)/dashboard/endpoint/page": "app/(dashboard)/dashboard/endpoint/page.js",
|
|
138
138
|
"/(dashboard)/dashboard/health/page": "app/(dashboard)/dashboard/health/page.js",
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
"/(dashboard)/dashboard/profile/page": "app/(dashboard)/dashboard/profile/page.js",
|
|
142
142
|
"/(dashboard)/dashboard/settings/page": "app/(dashboard)/dashboard/settings/page.js",
|
|
143
143
|
"/(dashboard)/dashboard/settings/pricing/page": "app/(dashboard)/dashboard/settings/pricing/page.js",
|
|
144
|
-
"/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
|
|
145
144
|
"/(dashboard)/dashboard/logs/page": "app/(dashboard)/dashboard/logs/page.js",
|
|
145
|
+
"/(dashboard)/dashboard/page": "app/(dashboard)/dashboard/page.js",
|
|
146
146
|
"/(dashboard)/dashboard/onboarding/page": "app/(dashboard)/dashboard/onboarding/page.js",
|
|
147
147
|
"/(dashboard)/dashboard/translator/page": "app/(dashboard)/dashboard/translator/page.js",
|
|
148
148
|
"/(dashboard)/dashboard/usage/page": "app/(dashboard)/dashboard/usage/page.js",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=1998,exports.ids=[293,1998,4755],exports.modules={19225:(a,b,c)=>{"use strict";a.exports=c(44870)},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},60293:(a,b,c)=>{"use strict";c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},78335:()=>{},81565:(a,b,c)=>{"use strict";c.d(b,{FW:()=>i,Yj:()=>f,ah:()=>k,pD:()=>j,uM:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]}},e={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]}};function f(a){return d[a]||null}function g(a){return e[a]||null}function h(a,b){if(!a)return{provider:null,model:null};for(let[c,d]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function i(a){return h(a,d)}function j(a){return h(a,e)}function k(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"transcription"});for(let[b,c]of Object.entries(e))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"speech"});return a}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},96487:()=>{}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=2180,exports.ids=[2180,4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>
|
|
1
|
+
"use strict";exports.id=2180,exports.ids=[2180,4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>y});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}var p=c(73136);let q=function(){try{let a="file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts";if(a&&a.startsWith("file://")){let b=(0,p.fileURLToPath)(a);return g().join(g().dirname(b),"migrations")}}catch{}return g().join(process.cwd(),"src","lib","db","migrations")}(),r="object"==typeof globalThis.caches&&null!==globalThis.caches,s="phase-production-build"===process.env.NEXT_PHASE,t=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:r});r||o();let u=r?null:g().join(t,"storage.sqlite"),v=r?null:g().join(t,"db.json");r||g().join(t,"db_backups"),r||i().existsSync(t)||i().mkdirSync(t,{recursive:!0});let w=`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS provider_connections (
|
|
3
3
|
id TEXT PRIMARY KEY,
|
|
4
4
|
provider TEXT NOT NULL,
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
);
|
|
198
198
|
CREATE INDEX IF NOT EXISTS idx_sc_sig ON semantic_cache(signature);
|
|
199
199
|
CREATE INDEX IF NOT EXISTS idx_sc_model ON semantic_cache(model);
|
|
200
|
-
`,
|
|
200
|
+
`,x=null;function y(){if(x)return x;if(r||s)return s&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(x=new(e())(":memory:")).pragma("journal_mode = WAL"),x.exec(w),x;if(i().existsSync(u))try{let a=new(e())(u,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=u+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(u,a),["-wal","-shm"]))try{i().existsSync(u+b)&&i().unlinkSync(u+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(u)}catch{}}(x=new(e())(u)).pragma("journal_mode = WAL"),x.pragma("busy_timeout = 5000"),x.pragma("synchronous = NORMAL"),x.exec(w);var a=x;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return x.exec(`
|
|
201
201
|
CREATE TABLE IF NOT EXISTS _omniroute_migrations (
|
|
202
202
|
version TEXT PRIMARY KEY,
|
|
203
203
|
name TEXT NOT NULL,
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
name TEXT NOT NULL,
|
|
212
212
|
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
213
213
|
);
|
|
214
|
-
`);let b=i().existsSync(
|
|
214
|
+
`);let b=i().existsSync(q)?i().readdirSync(q).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(q,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(x),v&&i().existsSync(v)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
|
|
215
215
|
INSERT OR REPLACE INTO provider_connections (
|
|
216
216
|
id, provider, auth_type, name, email, priority, is_active,
|
|
217
217
|
access_token, refresh_token, expires_at, token_expires_at,
|
|
@@ -240,7 +240,7 @@
|
|
|
240
240
|
`);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
|
|
241
241
|
INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
|
|
242
242
|
VALUES (@id, @name, @key, @machineId, @createdAt)
|
|
243
|
-
`);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(
|
|
243
|
+
`);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(t,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(x,v),x.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${u}`),x}},82180:(a,b,c)=>{c.d(b,{cleanupExpiredLogs:()=>h,initAuditLog:()=>g});var d=c(44488);function e(){try{return(0,d.getDbInstance)()}catch{return null}}let f=parseInt(process.env.LOG_RETENTION_DAYS||"90",10);function g(){let a=e();a&&a.exec(`
|
|
244
244
|
CREATE TABLE IF NOT EXISTS audit_log (
|
|
245
245
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
246
246
|
timestamp TEXT NOT NULL DEFAULT (datetime('now')),
|
|
@@ -23,4 +23,4 @@ data: ${JSON.stringify({tokens_generated:f,elapsed_ms:Date.now()-g})}
|
|
|
23
23
|
`;try{d.enqueue(h.encode(a))}catch{clearInterval(c)}},a),b?.addEventListener("abort",()=>{clearInterval(c)},{once:!0})},transform(a,b){let c=("string"==typeof a?a:new TextDecoder().decode(a)).split("\n").filter(a=>a.startsWith("data: "));f+=c.length,b.enqueue(a)},flush(){if(clearInterval(c),e)try{let a=`event: progress
|
|
24
24
|
data: ${JSON.stringify({tokens_generated:f,elapsed_ms:Date.now()-g,done:!0})}
|
|
25
25
|
|
|
26
|
-
`;e.enqueue(h.encode(a))}catch{}}})}function e(a){return!!a&&"true"===("function"==typeof a.get?b=>a.get(b):b=>a[b])("x-omniroute-progress")}c.d(b,{Y:()=>d,Z:()=>e})},69590:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>C});var e=c(95982),f=c(32113),g=c(89575),h=c(55120),i=c(26695),j=c(6327),k=c(50101),l=c(87068),m=c(89122),n=c(23969),o=c(71861),p=c(60293),q=c(82795),r=c(27230),s=c(37544),t=c(50498),u=c(8550),v=c(54745),w=c(92937),x=c(1308),y=c(9315),z=c(79335),A=c(65982),B=a([s]);async function C({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:B,onRequestSuccess:C,onDisconnect:D,clientRawRequest:E,connectionId:F,apiKeyInfo:G=null,userAgent:H,comboName:I}){let J,K,L,M,N,O,{provider:P,model:Q}=b,R=Date.now(),S=(0,z.xp)(E?.headers),T=(0,z.ic)(S);if(T)return d?.debug?.("IDEMPOTENCY",`Hit for key=${S?.slice(0,12)}...`),{success:!0,response:new Response(JSON.stringify(T.response),{status:T.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Idempotent":"true"}})};await (0,x.rh)();let U=(0,f.Tz)(a),V=(E?.endpoint||"").toLowerCase().endsWith("/responses"),W=(0,q.c)(a,Q,H);if(W)return W;let X=n.PROVIDER_ID_TO_ALIAS[P]||P,Y=(0,n.ux)(X,Q)||(0,f.jJ)(P),Z=!1!==a.stream;if((0,y.TZ)(a,E?.headers)){let b=(0,y.gR)(Q,a.messages,a.temperature,a.top_p),c=(0,y.Cb)(b);if(c)return d?.debug?.("CACHE",`Semantic cache HIT for ${Q}`),{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Cache":"HIT"}})}}let $=await (0,m.q)(U,Y,Q);E&&$.logClientRawRequest(E.endpoint,E.body,E.headers),$.logRawRequest(a),d?.debug?.("FORMAT",`${U} → ${Y} | stream=${Z}`);let _=a;try{_=(0,g.GH)(U,Y,Q,a,Z,c,P,$)}catch(g){let a=Number(g?.statusCode),b=Number.isInteger(a)&&a>=400&&a<=599?a:p.gx.SERVER_ERROR,c=g?.message||"Invalid request",f="string"==typeof g?.errorType?g.errorType:null;if(d?.warn?.("TRANSLATE",`Request translation failed: ${c}`),f)return{success:!1,status:b,error:c,response:new Response(JSON.stringify({error:{message:c,type:f,code:f}}),{status:b,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)()}})};return(0,o.A1)(b,c)}let aa=_._toolNameMap;delete _._toolNameMap,_.model=Q;let ab=(0,s.SB)(P);(0,r.uw)(Q,P,F,!0),(0,r.E5)({model:Q,provider:P,connectionId:F,status:"PENDING"}).catch(()=>{});let ac=_.messages?.length||_.contents?.length||_.request?.contents?.length||0;d?.debug?.("REQUEST",`${P.toUpperCase()} | ${Q} | ${ac} msgs`);let ad=(0,j.jd)({onDisconnect:D,log:d,provider:P,model:Q});try{let a=await (0,x.YO)(P,F,Q,()=>ab.execute({model:Q,body:_,stream:Z,credentials:c,signal:ad.signal,log:d}));J=a.response,K=a.url,L=a.headers,M=a.transformedBody,$.logTargetRequest(K,L,M),(0,x.Kr)(P,F,J.headers,J.status,Q)}catch(c){if((0,r.uw)(Q,P,F,!1),(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${"AbortError"===c.name?499:p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:"AbortError"===c.name?499:p.gx.BAD_GATEWAY,model:Q,provider:P,connectionId:F,duration:Date.now()-R,requestBody:a,error:c.message,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{}),"AbortError"===c.name)return ad.handleError(c),(0,o.A1)(499,"Request aborted");let b=(0,o.lR)(c,P,Q,p.gx.BAD_GATEWAY);return console.log(`${i.lm.red}[ERROR] ${b}${i.lm.reset}`),(0,o.A1)(p.gx.BAD_GATEWAY,b)}if(J.status===p.gx.UNAUTHORIZED||J.status===p.gx.FORBIDDEN){let a=await (0,l.qZ)(()=>ab.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${P.toUpperCase()} | refreshed`),Object.assign(c,a),B&&a&&await B(a);try{let a=await ab.execute({model:Q,body:_,stream:Z,credentials:c,signal:ad.signal,log:d});a.response.ok&&(J=a.response,K=a.url)}catch(a){d?.warn?.("TOKEN",`${P.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${P.toUpperCase()} | refresh failed`)}if(!J.ok){(0,r.uw)(Q,P,F,!1);let{statusCode:b,message:c,retryAfterMs:e}=await (0,o.zL)(J,P);(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${b}`}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:b,model:Q,provider:P,connectionId:F,duration:Date.now()-R,requestBody:a,error:c,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{});let f=(0,o.lR)(Error(c),P,Q,b);if(console.log(`${i.lm.red}[ERROR] ${f}${i.lm.reset}`),e&&"antigravity"===P){let a=Math.ceil(e/1e3);d?.debug?.("RETRY",`Antigravity quota reset in ${a}s (${e}ms)`)}return $.logError(Error(c),M||_),(0,x.Kr)(P,F,J.headers,b,Q),(0,o.A1)(b,f,e)}if(!Z){let b;(0,r.uw)(Q,P,F,!1);let c=(J.headers.get("content-type")||"").toLowerCase(),f=await J.text();if(c.includes("text/event-stream")||/(^|\n)\s*(event|data):/m.test(f)){let a=Y===h.h.OPENAI_RESPONSES?(0,v.B)(f,Q):(0,v.F)(f,Q);if(!a)return(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,o.A1)(p.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");b=a}else try{b=f?JSON.parse(f):{}}catch{return(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,o.A1)(p.gx.BAD_GATEWAY,"Invalid JSON response from provider")}C&&await C();let j=(0,u.M)(b,P);if((0,r.E5)({model:Q,provider:P,connectionId:F,tokens:j,status:"200 OK"}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:200,model:Q,provider:P,connectionId:F,duration:Date.now()-R,tokens:j,requestBody:a,responseBody:b,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{}),j&&"object"==typeof j){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${P.toUpperCase()} | in=${j?.prompt_tokens||0} | out=${j?.completion_tokens||0}${F?` | account=${F.slice(0,8)}...`:""}`;console.log(`${i.lm.green}${a}${i.lm.reset}`),(0,r.sZ)({provider:P||"unknown",model:Q||"unknown",tokens:j,timestamp:new Date().toISOString(),connectionId:F||void 0,apiKeyId:G?.id||void 0,apiKeyName:G?.name||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}let l=(0,g.nZ)(Y,U)?(0,t.l)(b,Y,U):b;if(U===h.h.OPENAI&&(l=(0,w.LG)(l)),l?.usage){let a=(0,k.O9)(l.usage);l.usage=(0,k.WL)(a,U)}else{let b=JSON.stringify(l?.choices?.[0]?.message?.content||"").length;if(b>0){let c=(0,k.OF)(a,b,U);l.usage=(0,k.WL)(c,U)}}if((0,y.TZ)(a,E?.headers)){let b=(0,y.gR)(Q,a.messages,a.temperature,a.top_p),c=j?.prompt_tokens+j?.completion_tokens||0;(0,y.yv)(b,Q,l,c),d?.debug?.("CACHE",`Stored response for ${Q} (${c} tokens)`)}return(0,z.tm)(S,l,200),{success:!0,response:new Response(JSON.stringify(l),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Cache":"MISS"}})}}C&&await C();let ae={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,e.i)()},af=({status:b,usage:c})=>{(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:b||200,model:Q,provider:P,connectionId:F,duration:Date.now()-R,tokens:c||{},requestBody:a,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{})},ag=H?.toLowerCase().includes("droid")||H?.toLowerCase().includes("codex-cli");if("codex"!==P||Y!==h.h.OPENAI_RESPONSES||U!==h.h.OPENAI||V||ag?(0,g.nZ)(Y,U)?(d?.debug?.("STREAM",`Translation mode: ${Y} → ${U}`),N=(0,i.i5)(Y,U,P,$,aa,Q,F,a,af,G)):(d?.debug?.("STREAM","Standard passthrough mode"),N=(0,i.l2)(P,$,Q,F,a,af,G)):(d?.debug?.("STREAM",`Codex translation mode: openai-responses → openai`),N=(0,i.i5)("openai-responses","openai",P,$,aa,Q,F,a,af,G)),(0,A.Z)(E?.headers)){let a=(0,A.Y)({signal:ad.signal});O=(0,j.Jb)(J,N,ad).pipeThrough(a),ae["X-OmniRoute-Progress"]="enabled"}else O=(0,j.Jb)(J,N,ad);return{success:!0,response:new Response(O,{headers:ae})}}s=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})},76340:(a,b,c)=>{let d;c.d(b,{Wk:()=>s,jf:()=>p,qT:()=>r});var e=c(16698),f=c(79522);try{({createSession:d}=c(22546))}catch{d=null}class g{constructor(){this.session=null,this.available=!!d}async getSession(){if(!this.available)return null;if(this.session)return this.session;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),this.session=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){let c=await this.getSession();if(!c)throw Error("wreq-js not available");let d={method:(b.method||"GET").toUpperCase(),headers:b.headers,body:b.body,redirect:"manual"===b.redirect?"manual":"follow"};return b.signal&&(d.signal=b.signal),await c.fetch(a,d)}async exit(){this.session&&(await this.session.close(),this.session=null)}}let h=new g;function i(){return"true"===process.env.ENABLE_TLS_FINGERPRINT}let j=new e.AsyncLocalStorage,k="u">typeof caches&&"object"==typeof caches,l=Symbol.for("omniroute.proxyFetch.state"),m=(globalThis[l]||(globalThis[l]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),globalThis[l]),n=m.originalFetch,o=m.proxyContext;async function p(a,b){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let c=a?(0,f.HN)(a):null;return o.run(a||null,async()=>(c&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,f.OK)(c)}`),b()))}async function q(a,b={}){let c;if(b?.dispatcher)return n(a,b);let d="string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a);try{c=function(a){let b=o.getStore();if(b)return{source:"context",proxyUrl:(0,f.HN)(b)};let c=function(a){let b;if(function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(!c)return!1;try{b=new URL(a)}catch{return!1}let d=b.hostname.toLowerCase(),e=b.port||("https:"===b.protocol?"443":"80");return c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");return(!c||c===e)&&!!b&&(b.startsWith(".")?d.endsWith(b)||d===b.slice(1):d===b||d.endsWith(`.${b}`))})}(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,f.zP)(c,"environment proxy"):null}(a);return c?{source:"env",proxyUrl:c}:{source:"direct",proxyUrl:null}}(d)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:e,proxyUrl:g}=c;if(!g){if(i()&&h.available)try{let a=j.getStore();return a&&(a.used=!0),await h.fetch(d,b)}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=j.getStore();b&&(b.used=!1)}return n(a,b)}try{let c=(0,f.I_)(g);return await n(a,{...b,dispatcher:c})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${e}, fail-closed): ${a}`),b}}async function r(a){let b={used:!1};return{result:await j.run(b,a),tlsFingerprintUsed:b.used}}function s(){return i()&&h.available}k||m.isPatched||(globalThis.fetch=q,m.isPatched=!0)},77458:(a,b,c)=>{c.d(b,{Jh:()=>g});let d=[{name:"system_override",pattern:/\b(ignore|disregard|forget)\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?|rules?|context)/i,severity:"high"},{name:"role_hijack",pattern:/\b(you\s+are\s+now|act\s+as\s+if|pretend\s+(to\s+be|you\s+are)|from\s+now\s+on\s+you\s+are)\b/i,severity:"medium"},{name:"system_prompt_leak",pattern:/\b(reveal|show|display|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions?|initial\s+prompt|hidden\s+prompt)/i,severity:"high"},{name:"delimiter_injection",pattern:/(\[SYSTEM\]|\[INST\]|<<SYS>>|<\|im_start\|>|<\|system\|>|<\|user\|>)/i,severity:"high"},{name:"jailbreak_dan",pattern:/\b(DAN|do\s+anything\s+now|jailbreak|developer\s+mode|enable\s+developer)\b/i,severity:"medium"},{name:"encoding_evasion",pattern:/\b(base64\s+decode|rot13|hex\s+decode|unicode\s+escape)\b.*\b(instruction|prompt|command)\b/i,severity:"medium"}],e=[{name:"email",pattern:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"[EMAIL_REDACTED]"},{name:"cpf",pattern:/\b\d{3}\.\d{3}\.\d{3}-\d{2}\b/g,replacement:"[CPF_REDACTED]"},{name:"cnpj",pattern:/\b\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}\b/g,replacement:"[CNPJ_REDACTED]"},{name:"credit_card",pattern:/\b(?:\d{4}[-\s]?){3}\d{4}\b/g,replacement:"[CARD_REDACTED]"},{name:"phone_br",pattern:/\b\(?\d{2}\)?\s?\d{4,5}-?\d{4}\b/g,replacement:"[PHONE_REDACTED]"},{name:"ssn_us",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"[SSN_REDACTED]"}];function f(a,b=!1){let c=[],d=a;for(let f of e){let e=a.match(f.pattern);e&&e.length>0&&(c.push({type:f.name,count:e.length}),b&&(d=d.replace(f.pattern,f.replacement)))}return{text:d,detections:c}}function g(a,b=console){let c={enabled:"false"!==process.env.INPUT_SANITIZER_ENABLED,mode:process.env.INPUT_SANITIZER_MODE||"warn",piiRedaction:"true"===process.env.PII_REDACTION_ENABLED},e={blocked:!1,modified:!1,detections:[],piiDetections:[],sanitizedBody:null};if(!c.enabled)return e;let h=(function(a){let b=[];for(let c of a.messages||a.input||[])if("string"==typeof c)b.push(c);else if("string"==typeof c.content)b.push(c.content);else if(Array.isArray(c.content))for(let a of c.content)"string"==typeof a?b.push(a):a.text&&b.push(a.text);if("string"==typeof a.system)b.push(a.system);else if(Array.isArray(a.system))for(let c of a.system)"string"==typeof c?b.push(c):c.text&&b.push(c.text);return b})(a).join("\n"),i=function(a){let b=[];for(let c of d){let d=a.match(c.pattern);d&&b.push({pattern:c.name,severity:c.severity,match:d[0].slice(0,50)})}return b}(h);if(i.length>0){e.detections=i;let a=i.filter(a=>"high"===a.severity),d=a.length>0?"warn":"info";if(b[d]&&b[d](`[SANITIZER] Prompt injection detected: ${i.map(a=>a.pattern).join(", ")}`),"block"===c.mode&&a.length>0)return e.blocked=!0,e}if(c.piiRedaction){let d=f(h,"redact"===c.mode);e.piiDetections=d.detections,d.detections.length>0&&(b.warn?.(`[SANITIZER] PII detected: ${d.detections.map(a=>`${a.type}(${a.count})`).join(", ")}`),"redact"===c.mode&&(e.sanitizedBody=function(a){let b=JSON.parse(JSON.stringify(a));for(let a of b.messages||b.input||[])if("string"==typeof a.content)a.content=f(a.content,!0).text;else if(Array.isArray(a.content))for(let b of a.content)if("string"==typeof b){let c=a.content.indexOf(b);a.content[c]=f(b,!0).text}else b.text&&(b.text=f(b.text,!0).text);return"string"==typeof b.system&&(b.system=f(b.system,!0).text),b}(a),e.modified=!0))}return e}},78790:(a,b,c)=>{c.d(b,{Ik:()=>i,n5:()=>h,qV:()=>f,uN:()=>j});var d=c(97917);let e=new Map;function f(a,b){let c={dailyLimitUsd:b.dailyLimitUsd,monthlyLimitUsd:b.monthlyLimitUsd||0,warningThreshold:b.warningThreshold??.8};e.set(a,c);try{(0,d.zd)(a,c)}catch{}}function g(a){if(e.has(a))return e.get(a);try{let b=(0,d.io)(a);if(b)return e.set(a,b),b}catch{}return null}function h(a,b){let c=Date.now();try{(0,d.tv)(a,b,c)}catch{}}function i(a,b=0){let c=g(a);if(!c)return{allowed:!0,dailyUsed:0,dailyLimit:0,warningReached:!1};let e=function(a){let b=new Date;b.setHours(0,0,0,0);let c=b.getTime();try{return(0,d.qA)(a,c).reduce((a,b)=>a+b.cost,0)}catch{return 0}}(a),f=e+b,h=f>=c.dailyLimitUsd*c.warningThreshold;return f>c.dailyLimitUsd?{allowed:!1,reason:`Daily budget exceeded: $${f.toFixed(4)} / $${c.dailyLimitUsd.toFixed(2)}`,dailyUsed:e,dailyLimit:c.dailyLimitUsd,warningReached:!0}:{allowed:!0,dailyUsed:e,dailyLimit:c.dailyLimitUsd,warningReached:h}}function j(a){let b=new Date,c=new Date(b);c.setHours(0,0,0,0);let e=new Date(b.getFullYear(),b.getMonth(),1);try{let b=(0,d.qA)(a,c.getTime()),f=(0,d.qA)(a,e.getTime()),h=b.reduce((a,b)=>a+b.cost,0),i=f.reduce((a,b)=>a+b.cost,0);return{dailyTotal:h,monthlyTotal:i,totalEntries:f.length,budget:g(a)}}catch{return{dailyTotal:0,monthlyTotal:0,totalEntries:0,budget:g(a)}}}},79335:(a,b,c)=>{let d;c.d(b,{ic:()=>g,ne:()=>i,tm:()=>h,xp:()=>f});let e=new Map;function f(a){if(!a)return null;let b="function"==typeof a.get?b=>a.get(b):b=>a[b];return b("idempotency-key")||b("x-request-id")||null}function g(a){if(!a)return null;let b=e.get(a);return b?Date.now()>=b.expiresAt?(e.delete(a),null):{response:b.response,status:b.status}:null}function h(a,b,c,f=5e3){a&&(!d&&(d=setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>=c.expiresAt&&e.delete(b)},3e4)).unref&&d.unref(),e.set(a,{response:b,status:c,expiresAt:Date.now()+f}))}function i(){return{activeKeys:e.size,windowMs:5e3}}},79522:(a,b,c)=>{c.d(b,{HN:()=>m,I_:()=>n,OK:()=>k,QX:()=>j,zP:()=>l});var d=c(47774),e=c(20406);let f=Symbol.for("omniroute.proxyDispatcher.cache"),g=new Set(["http:","https:","socks5:"]);function h(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function i(a,b){if(!a)return h(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function j(){return"true"===process.env.ENABLE_SOCKS5_PROXY}function k(a){let b=new URL(a),c=b.port||h(b.protocol);return`${b.protocol}//${b.hostname}:${c}`}function l(a,b="proxy",{allowSocks5:c=j()}={}){let d;try{d=new URL(a)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!g.has(d.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${d.protocol.replace(":","")}`);if("socks5:"===d.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!d.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);return d.port=i(d.port,d.protocol),d.toString()}function m(a,{allowSocks5:b=j()}={}){if(!a)return null;if("string"==typeof a)return l(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");let c=String(a.type||"http").toLowerCase(),d=`${c}:`;if(!g.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!a.host)throw Error("[ProxyDispatcher] Context proxy host is required");let e=i(a.port,d),f=new URL(`${c}://${a.host}:${e}`);return a.username&&(f.username=a.username,f.password=a.password||""),l(f.toString(),"context proxy",{allowSocks5:b})}function n(a){let b=l(a,"proxy dispatcher"),c=(globalThis[f]||(globalThis[f]=new Map),globalThis[f]),g=c.get(b);if(g)return g;let h=new URL(b);if("socks5:"===h.protocol){let a={type:5,host:h.hostname,port:Number(i(h.port,h.protocol))};h.username&&(a.userId=decodeURIComponent(h.username)),h.password&&(a.password=decodeURIComponent(h.password)),g=(0,e.vI)(a)}else g=new d.ProxyAgent(b);return c.set(b,g),g}},82795:(a,b,c)=>{c.d(b,{c:()=>j});var d=c(95982),e=c(32113),f=c(89575),g=c(55120),h=c(60293),i=c(26695);function j(a,b,c=""){if(!c.includes("claude-cli")||!a.messages?.length)return null;let m=a.messages,n=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",o=!1,p=m[m.length-1];if(p?.role==="assistant"&&p.content?.[0]?.text==="{"&&(o=!0),o||"Warmup"===n(m[0]?.content)&&(o=!0),o||1!==m.length||m[0]?.role!=="user"||"count"===n(m[0]?.content)&&(o=!0),!o&&h.C8?.length){let a=m.filter(a=>"user"===a.role).map(a=>n(a.content)).join(" ");h.C8.some(b=>a.includes(b))&&(o=!0)}if(!o)return null;let q=(0,e.Tz)(a);return!1!==a.stream?function(a,b){let c=k(b),e=(0,f.Ws)(a);e.model=b;let h=l(c),j=[];for(let b of h){let c=(0,f.Y8)(g.h.OPENAI,a,b,e);if(c?.length>0)for(let b of c)j.push((0,i.v8)(b,a))}let m=(0,f.Y8)(g.h.OPENAI,a,null,e);if(m?.length>0)for(let b of m)j.push((0,i.v8)(b,a));return j.push("data: [DONE]\n\n"),{success:!0,response:new Response(j.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,d.i)()}})}}(q,b):function(a,b){let c=k(b);if(a===g.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,d.i)()}})};let e=(0,f.Ws)(a);e.model=b;let h=l(c),i=[];for(let b of h){let c=(0,f.Y8)(g.h.OPENAI,a,b,e);c?.length>0&&i.push(...c)}let j=(0,f.Y8)(g.h.OPENAI,a,null,e);return j?.length>0&&i.push(...j),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return k("unknown");let c=a[a.length-1];if(b===g.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(i,a)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,d.i)()}})}}(q,b)}function k(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function l(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},89122:(a,b,c)=>{c.d(b,{q:()=>m});let d="u">typeof process&&process.versions?.node&&!0,e="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",f=null,g=null,h=null;async function i(){if(d&&e&&!f)try{f=await Promise.resolve().then(c.t.bind(c,29021,23)),h=(g=await Promise.resolve().then(c.t.bind(c,33873,23))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function j(a,b,c){if(await i(),!f||!h)return null;try{await f.promises.mkdir(h,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}${d}${e}_${f}${g}${h}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),i=`${a}_${b}_${e}_${d}`,j=g.join(h,i);return await f.promises.mkdir(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function k(a,b,c){if(!f||!a)return;let d=g.join(a,b);f.promises.writeFile(d,JSON.stringify(c,null,2)).catch(a=>console.log(`[LOG] Failed to write ${b}:`,a.message))}function l(a){if(!a)return{};let b={...a},c=["authorization","x-api-key","cookie","token"];for(let a of Object.keys(b)){let d=a.toLowerCase();if(c.some(a=>d.includes(a))){let c=b[a];c&&c.length>20&&(b[a]=c.slice(0,10)+"..."+c.slice(-5))}}return b}async function m(a,b,c){if(!e)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await j(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){k(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:l(c),body:b})},logRawRequest(a,b={}){k(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:l(b),body:a})},logOpenAIRequest(a){k(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){k(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:l(b),body:c})},logProviderResponse(a,b,c,e){k(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:c?"function"==typeof c.entries?Object.fromEntries(c.entries()):c:{},body:e})},appendProviderChunk(a){if(!f||!d)return;let b=g.join(d,"5_res_provider.txt");f.promises.appendFile(b,a).catch(()=>{})},appendOpenAIChunk(a){if(!f||!d)return;let b=g.join(d,"6_res_openai.txt");f.promises.appendFile(b,a).catch(()=>{})},logConvertedResponse(a){k(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(!f||!d)return;let b=g.join(d,"7_res_client.txt");f.promises.appendFile(b,a).catch(()=>{})},logError(a,b=null){k(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}},92937:(a,b,c)=>{c.d(b,{LG:()=>g,LM:()=>j,Zb:()=>f});let d=new Set(["prompt_tokens","completion_tokens","total_tokens","prompt_tokens_details","completion_tokens_details"]),e=/<think>([\s\S]*?)<\/think>/gi;function f(a){if(!a||"string"!=typeof a)return{content:a||"",thinking:null};let b=[],c=!1,d=a.replace(e,(a,d)=>{c=!0;let e=d.trim();return e&&b.push(e),""});return c?{content:d.trim(),thinking:b.length>0?b.join("\n\n"):null}:{content:a,thinking:null}}function g(a){var b;if(!a||"object"!=typeof a)return a;let c={};return c.id=(b=a.id)&&"string"==typeof b?(b.startsWith("chatcmpl-"),b):`chatcmpl-${crypto.randomUUID().replace(/-/g,"").slice(0,29)}`,c.object=a.object||"chat.completion",c.created=a.created||Math.floor(Date.now()/1e3),c.model=a.model||"unknown",Array.isArray(a.choices)?c.choices=a.choices.map((a,b)=>{var c,d;let e;return c=a,d=b,e={index:c.index??d,finish_reason:c.finish_reason||null},c.message&&(e.message=h(c.message)),c.delta&&(e.delta=h(c.delta)),void 0!==c.logprobs&&(e.logprobs=c.logprobs),e}):c.choices=[],a.usage&&"object"==typeof a.usage&&(c.usage=i(a.usage)),a.system_fingerprint&&(c.system_fingerprint=a.system_fingerprint),c}function h(a){if(!a||"object"!=typeof a)return a;let b={};if(a.role&&(b.role=a.role),void 0!==a.refusal&&(b.refusal=a.refusal),"string"==typeof a.content){let{content:c,thinking:d}=f(a.content);b.content=c,d&&!a.reasoning_content&&(b.reasoning_content=d)}else void 0!==a.content&&(b.content=a.content);return a.reasoning_content&&!b.reasoning_content&&(b.reasoning_content=a.reasoning_content),a.tool_calls&&(b.tool_calls=a.tool_calls),a.function_call&&(b.function_call=a.function_call),b}function i(a){if(!a||"object"!=typeof a)return a;let b={};for(let c of d)void 0!==a[c]&&(b[c]=a[c]);return void 0===b.prompt_tokens&&(b.prompt_tokens=0),void 0===b.completion_tokens&&(b.completion_tokens=0),void 0===b.total_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function j(a){if(!a||"object"!=typeof a)return a;let b={};return void 0!==a.id&&(b.id=a.id),b.object=a.object||"chat.completion.chunk",void 0!==a.created&&(b.created=a.created),void 0!==a.model&&(b.model=a.model),Array.isArray(a.choices)&&(b.choices=a.choices.map(a=>{let b={index:a.index??0};if(void 0!==a.delta){b.delta={};let c=a.delta;void 0!==c.role&&(b.delta.role=c.role),void 0!==c.content&&(b.delta.content=c.content),void 0!==c.reasoning_content&&(b.delta.reasoning_content=c.reasoning_content),void 0!==c.tool_calls&&(b.delta.tool_calls=c.tool_calls),void 0!==c.function_call&&(b.delta.function_call=c.function_call)}return void 0!==a.finish_reason&&(b.finish_reason=a.finish_reason),void 0!==a.logprobs&&(b.logprobs=a.logprobs),b})),a.usage&&"object"==typeof a.usage&&(b.usage=i(a.usage)),a.system_fingerprint&&(b.system_fingerprint=a.system_fingerprint),b}}};
|
|
26
|
+
`;e.enqueue(h.encode(a))}catch{}}})}function e(a){return!!a&&"true"===("function"==typeof a.get?b=>a.get(b):b=>a[b])("x-omniroute-progress")}c.d(b,{Y:()=>d,Z:()=>e})},69590:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>C});var e=c(95982),f=c(32113),g=c(89575),h=c(55120),i=c(26695),j=c(6327),k=c(50101),l=c(87068),m=c(89122),n=c(23969),o=c(71861),p=c(60293),q=c(82795),r=c(27230),s=c(37544),t=c(50498),u=c(8550),v=c(54745),w=c(92937),x=c(1308),y=c(9315),z=c(79335),A=c(65982),B=a([s]);async function C({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:B,onRequestSuccess:C,onDisconnect:D,clientRawRequest:E,connectionId:F,apiKeyInfo:G=null,userAgent:H,comboName:I}){let J,K,L,M,N,O,{provider:P,model:Q}=b,R=Date.now(),S=(0,z.xp)(E?.headers),T=(0,z.ic)(S);if(T)return d?.debug?.("IDEMPOTENCY",`Hit for key=${S?.slice(0,12)}...`),{success:!0,response:new Response(JSON.stringify(T.response),{status:T.status,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Idempotent":"true"}})};await (0,x.rh)();let U=(0,f.Tz)(a),V=(E?.endpoint||"").toLowerCase().endsWith("/responses"),W=(0,q.c)(a,Q,H);if(W)return W;let X=n.PROVIDER_ID_TO_ALIAS[P]||P,Y=(0,n.ux)(X,Q)||(0,f.jJ)(P),Z=!0===a.stream;if((0,y.TZ)(a,E?.headers)){let b=(0,y.gR)(Q,a.messages,a.temperature,a.top_p),c=(0,y.Cb)(b);if(c)return d?.debug?.("CACHE",`Semantic cache HIT for ${Q}`),{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Cache":"HIT"}})}}let $=await (0,m.q)(U,Y,Q);E&&$.logClientRawRequest(E.endpoint,E.body,E.headers),$.logRawRequest(a),d?.debug?.("FORMAT",`${U} → ${Y} | stream=${Z}`);let _=a;try{_=(0,g.GH)(U,Y,Q,a,Z,c,P,$)}catch(g){let a=Number(g?.statusCode),b=Number.isInteger(a)&&a>=400&&a<=599?a:p.gx.SERVER_ERROR,c=g?.message||"Invalid request",f="string"==typeof g?.errorType?g.errorType:null;if(d?.warn?.("TRANSLATE",`Request translation failed: ${c}`),f)return{success:!1,status:b,error:c,response:new Response(JSON.stringify({error:{message:c,type:f,code:f}}),{status:b,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)()}})};return(0,o.A1)(b,c)}let aa=_._toolNameMap;delete _._toolNameMap,_.model=Q;let ab=(0,s.SB)(P);(0,r.uw)(Q,P,F,!0),(0,r.E5)({model:Q,provider:P,connectionId:F,status:"PENDING"}).catch(()=>{});let ac=_.messages?.length||_.contents?.length||_.request?.contents?.length||0;d?.debug?.("REQUEST",`${P.toUpperCase()} | ${Q} | ${ac} msgs`);let ad=(0,j.jd)({onDisconnect:D,log:d,provider:P,model:Q});try{let a=await (0,x.YO)(P,F,Q,()=>ab.execute({model:Q,body:_,stream:Z,credentials:c,signal:ad.signal,log:d}));J=a.response,K=a.url,L=a.headers,M=a.transformedBody,$.logTargetRequest(K,L,M),(0,x.Kr)(P,F,J.headers,J.status,Q)}catch(c){if((0,r.uw)(Q,P,F,!1),(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${"AbortError"===c.name?499:p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:"AbortError"===c.name?499:p.gx.BAD_GATEWAY,model:Q,provider:P,connectionId:F,duration:Date.now()-R,requestBody:a,error:c.message,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{}),"AbortError"===c.name)return ad.handleError(c),(0,o.A1)(499,"Request aborted");let b=(0,o.lR)(c,P,Q,p.gx.BAD_GATEWAY);return console.log(`${i.lm.red}[ERROR] ${b}${i.lm.reset}`),(0,o.A1)(p.gx.BAD_GATEWAY,b)}if(J.status===p.gx.UNAUTHORIZED||J.status===p.gx.FORBIDDEN){let a=await (0,l.qZ)(()=>ab.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${P.toUpperCase()} | refreshed`),Object.assign(c,a),B&&a&&await B(a);try{let a=await ab.execute({model:Q,body:_,stream:Z,credentials:c,signal:ad.signal,log:d});a.response.ok&&(J=a.response,K=a.url)}catch(a){d?.warn?.("TOKEN",`${P.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${P.toUpperCase()} | refresh failed`)}if(!J.ok){(0,r.uw)(Q,P,F,!1);let{statusCode:b,message:c,retryAfterMs:e}=await (0,o.zL)(J,P);(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${b}`}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:b,model:Q,provider:P,connectionId:F,duration:Date.now()-R,requestBody:a,error:c,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{});let f=(0,o.lR)(Error(c),P,Q,b);if(console.log(`${i.lm.red}[ERROR] ${f}${i.lm.reset}`),e&&"antigravity"===P){let a=Math.ceil(e/1e3);d?.debug?.("RETRY",`Antigravity quota reset in ${a}s (${e}ms)`)}return $.logError(Error(c),M||_),(0,x.Kr)(P,F,J.headers,b,Q),(0,o.A1)(b,f,e)}if(!Z){let b;(0,r.uw)(Q,P,F,!1);let c=(J.headers.get("content-type")||"").toLowerCase(),f=await J.text();if(c.includes("text/event-stream")||/(^|\n)\s*(event|data):/m.test(f)){let a=Y===h.h.OPENAI_RESPONSES?(0,v.B)(f,Q):(0,v.F)(f,Q);if(!a)return(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,o.A1)(p.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");b=a}else try{b=f?JSON.parse(f):{}}catch{return(0,r.E5)({model:Q,provider:P,connectionId:F,status:`FAILED ${p.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,o.A1)(p.gx.BAD_GATEWAY,"Invalid JSON response from provider")}C&&await C();let j=(0,u.M)(b,P);if((0,r.E5)({model:Q,provider:P,connectionId:F,tokens:j,status:"200 OK"}).catch(()=>{}),(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:200,model:Q,provider:P,connectionId:F,duration:Date.now()-R,tokens:j,requestBody:a,responseBody:b,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{}),j&&"object"==typeof j){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${P.toUpperCase()} | in=${j?.prompt_tokens||0} | out=${j?.completion_tokens||0}${F?` | account=${F.slice(0,8)}...`:""}`;console.log(`${i.lm.green}${a}${i.lm.reset}`),(0,r.sZ)({provider:P||"unknown",model:Q||"unknown",tokens:j,timestamp:new Date().toISOString(),connectionId:F||void 0,apiKeyId:G?.id||void 0,apiKeyName:G?.name||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}let l=(0,g.nZ)(Y,U)?(0,t.l)(b,Y,U):b;if(U===h.h.OPENAI&&(l=(0,w.LG)(l)),l?.usage){let a=(0,k.O9)(l.usage);l.usage=(0,k.WL)(a,U)}else{let b=JSON.stringify(l?.choices?.[0]?.message?.content||"").length;if(b>0){let c=(0,k.OF)(a,b,U);l.usage=(0,k.WL)(c,U)}}if((0,y.TZ)(a,E?.headers)){let b=(0,y.gR)(Q,a.messages,a.temperature,a.top_p),c=j?.prompt_tokens+j?.completion_tokens||0;(0,y.yv)(b,Q,l,c),d?.debug?.("CACHE",`Stored response for ${Q} (${c} tokens)`)}return(0,z.tm)(S,l,200),{success:!0,response:new Response(JSON.stringify(l),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,e.i)(),"X-OmniRoute-Cache":"MISS"}})}}C&&await C();let ae={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,e.i)()},af=({status:b,usage:c})=>{(0,r.gK)({method:"POST",path:E?.endpoint||"/v1/chat/completions",status:b||200,model:Q,provider:P,connectionId:F,duration:Date.now()-R,tokens:c||{},requestBody:a,sourceFormat:U,targetFormat:Y,comboName:I,apiKeyId:G?.id||null,apiKeyName:G?.name||null}).catch(()=>{})},ag=H?.toLowerCase().includes("droid")||H?.toLowerCase().includes("codex-cli");if("codex"!==P||Y!==h.h.OPENAI_RESPONSES||U!==h.h.OPENAI||V||ag?(0,g.nZ)(Y,U)?(d?.debug?.("STREAM",`Translation mode: ${Y} → ${U}`),N=(0,i.i5)(Y,U,P,$,aa,Q,F,a,af,G)):(d?.debug?.("STREAM","Standard passthrough mode"),N=(0,i.l2)(P,$,Q,F,a,af,G)):(d?.debug?.("STREAM",`Codex translation mode: openai-responses → openai`),N=(0,i.i5)("openai-responses","openai",P,$,aa,Q,F,a,af,G)),(0,A.Z)(E?.headers)){let a=(0,A.Y)({signal:ad.signal});O=(0,j.Jb)(J,N,ad).pipeThrough(a),ae["X-OmniRoute-Progress"]="enabled"}else O=(0,j.Jb)(J,N,ad);return{success:!0,response:new Response(O,{headers:ae})}}s=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})},76340:(a,b,c)=>{let d;c.d(b,{Wk:()=>s,jf:()=>p,qT:()=>r});var e=c(16698),f=c(79522);try{({createSession:d}=c(22546))}catch{d=null}class g{constructor(){this.session=null,this.available=!!d}async getSession(){if(!this.available)return null;if(this.session)return this.session;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),this.session=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){let c=await this.getSession();if(!c)throw Error("wreq-js not available");let d={method:(b.method||"GET").toUpperCase(),headers:b.headers,body:b.body,redirect:"manual"===b.redirect?"manual":"follow"};return b.signal&&(d.signal=b.signal),await c.fetch(a,d)}async exit(){this.session&&(await this.session.close(),this.session=null)}}let h=new g;function i(){return"true"===process.env.ENABLE_TLS_FINGERPRINT}let j=new e.AsyncLocalStorage,k="u">typeof caches&&"object"==typeof caches,l=Symbol.for("omniroute.proxyFetch.state"),m=(globalThis[l]||(globalThis[l]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),globalThis[l]),n=m.originalFetch,o=m.proxyContext;async function p(a,b){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let c=a?(0,f.HN)(a):null;return o.run(a||null,async()=>(c&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,f.OK)(c)}`),b()))}async function q(a,b={}){let c;if(b?.dispatcher)return n(a,b);let d="string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a);try{c=function(a){let b=o.getStore();if(b)return{source:"context",proxyUrl:(0,f.HN)(b)};let c=function(a){let b;if(function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(!c)return!1;try{b=new URL(a)}catch{return!1}let d=b.hostname.toLowerCase(),e=b.port||("https:"===b.protocol?"443":"80");return c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");return(!c||c===e)&&!!b&&(b.startsWith(".")?d.endsWith(b)||d===b.slice(1):d===b||d.endsWith(`.${b}`))})}(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,f.zP)(c,"environment proxy"):null}(a);return c?{source:"env",proxyUrl:c}:{source:"direct",proxyUrl:null}}(d)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:e,proxyUrl:g}=c;if(!g){if(i()&&h.available)try{let a=j.getStore();return a&&(a.used=!0),await h.fetch(d,b)}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=j.getStore();b&&(b.used=!1)}return n(a,b)}try{let c=(0,f.I_)(g);return await n(a,{...b,dispatcher:c})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${e}, fail-closed): ${a}`),b}}async function r(a){let b={used:!1};return{result:await j.run(b,a),tlsFingerprintUsed:b.used}}function s(){return i()&&h.available}k||m.isPatched||(globalThis.fetch=q,m.isPatched=!0)},77458:(a,b,c)=>{c.d(b,{Jh:()=>g});let d=[{name:"system_override",pattern:/\b(ignore|disregard|forget)\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?|rules?|context)/i,severity:"high"},{name:"role_hijack",pattern:/\b(you\s+are\s+now|act\s+as\s+if|pretend\s+(to\s+be|you\s+are)|from\s+now\s+on\s+you\s+are)\b/i,severity:"medium"},{name:"system_prompt_leak",pattern:/\b(reveal|show|display|print|output|repeat)\s+(your\s+)?(system\s+prompt|instructions?|initial\s+prompt|hidden\s+prompt)/i,severity:"high"},{name:"delimiter_injection",pattern:/(\[SYSTEM\]|\[INST\]|<<SYS>>|<\|im_start\|>|<\|system\|>|<\|user\|>)/i,severity:"high"},{name:"jailbreak_dan",pattern:/\b(DAN|do\s+anything\s+now|jailbreak|developer\s+mode|enable\s+developer)\b/i,severity:"medium"},{name:"encoding_evasion",pattern:/\b(base64\s+decode|rot13|hex\s+decode|unicode\s+escape)\b.*\b(instruction|prompt|command)\b/i,severity:"medium"}],e=[{name:"email",pattern:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"[EMAIL_REDACTED]"},{name:"cpf",pattern:/\b\d{3}\.\d{3}\.\d{3}-\d{2}\b/g,replacement:"[CPF_REDACTED]"},{name:"cnpj",pattern:/\b\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}\b/g,replacement:"[CNPJ_REDACTED]"},{name:"credit_card",pattern:/\b(?:\d{4}[-\s]?){3}\d{4}\b/g,replacement:"[CARD_REDACTED]"},{name:"phone_br",pattern:/\b\(?\d{2}\)?\s?\d{4,5}-?\d{4}\b/g,replacement:"[PHONE_REDACTED]"},{name:"ssn_us",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"[SSN_REDACTED]"}];function f(a,b=!1){let c=[],d=a;for(let f of e){let e=a.match(f.pattern);e&&e.length>0&&(c.push({type:f.name,count:e.length}),b&&(d=d.replace(f.pattern,f.replacement)))}return{text:d,detections:c}}function g(a,b=console){let c={enabled:"false"!==process.env.INPUT_SANITIZER_ENABLED,mode:process.env.INPUT_SANITIZER_MODE||"warn",piiRedaction:"true"===process.env.PII_REDACTION_ENABLED},e={blocked:!1,modified:!1,detections:[],piiDetections:[],sanitizedBody:null};if(!c.enabled)return e;let h=(function(a){let b=[];for(let c of a.messages||a.input||[])if("string"==typeof c)b.push(c);else if("string"==typeof c.content)b.push(c.content);else if(Array.isArray(c.content))for(let a of c.content)"string"==typeof a?b.push(a):a.text&&b.push(a.text);if("string"==typeof a.system)b.push(a.system);else if(Array.isArray(a.system))for(let c of a.system)"string"==typeof c?b.push(c):c.text&&b.push(c.text);return b})(a).join("\n"),i=function(a){let b=[];for(let c of d){let d=a.match(c.pattern);d&&b.push({pattern:c.name,severity:c.severity,match:d[0].slice(0,50)})}return b}(h);if(i.length>0){e.detections=i;let a=i.filter(a=>"high"===a.severity),d=a.length>0?"warn":"info";if(b[d]&&b[d](`[SANITIZER] Prompt injection detected: ${i.map(a=>a.pattern).join(", ")}`),"block"===c.mode&&a.length>0)return e.blocked=!0,e}if(c.piiRedaction){let d=f(h,"redact"===c.mode);e.piiDetections=d.detections,d.detections.length>0&&(b.warn?.(`[SANITIZER] PII detected: ${d.detections.map(a=>`${a.type}(${a.count})`).join(", ")}`),"redact"===c.mode&&(e.sanitizedBody=function(a){let b=JSON.parse(JSON.stringify(a));for(let a of b.messages||b.input||[])if("string"==typeof a.content)a.content=f(a.content,!0).text;else if(Array.isArray(a.content))for(let b of a.content)if("string"==typeof b){let c=a.content.indexOf(b);a.content[c]=f(b,!0).text}else b.text&&(b.text=f(b.text,!0).text);return"string"==typeof b.system&&(b.system=f(b.system,!0).text),b}(a),e.modified=!0))}return e}},78790:(a,b,c)=>{c.d(b,{Ik:()=>i,n5:()=>h,qV:()=>f,uN:()=>j});var d=c(97917);let e=new Map;function f(a,b){let c={dailyLimitUsd:b.dailyLimitUsd,monthlyLimitUsd:b.monthlyLimitUsd||0,warningThreshold:b.warningThreshold??.8};e.set(a,c);try{(0,d.zd)(a,c)}catch{}}function g(a){if(e.has(a))return e.get(a);try{let b=(0,d.io)(a);if(b)return e.set(a,b),b}catch{}return null}function h(a,b){let c=Date.now();try{(0,d.tv)(a,b,c)}catch{}}function i(a,b=0){let c=g(a);if(!c)return{allowed:!0,dailyUsed:0,dailyLimit:0,warningReached:!1};let e=function(a){let b=new Date;b.setHours(0,0,0,0);let c=b.getTime();try{return(0,d.qA)(a,c).reduce((a,b)=>a+b.cost,0)}catch{return 0}}(a),f=e+b,h=f>=c.dailyLimitUsd*c.warningThreshold;return f>c.dailyLimitUsd?{allowed:!1,reason:`Daily budget exceeded: $${f.toFixed(4)} / $${c.dailyLimitUsd.toFixed(2)}`,dailyUsed:e,dailyLimit:c.dailyLimitUsd,warningReached:!0}:{allowed:!0,dailyUsed:e,dailyLimit:c.dailyLimitUsd,warningReached:h}}function j(a){let b=new Date,c=new Date(b);c.setHours(0,0,0,0);let e=new Date(b.getFullYear(),b.getMonth(),1);try{let b=(0,d.qA)(a,c.getTime()),f=(0,d.qA)(a,e.getTime()),h=b.reduce((a,b)=>a+b.cost,0),i=f.reduce((a,b)=>a+b.cost,0);return{dailyTotal:h,monthlyTotal:i,totalEntries:f.length,budget:g(a)}}catch{return{dailyTotal:0,monthlyTotal:0,totalEntries:0,budget:g(a)}}}},79335:(a,b,c)=>{let d;c.d(b,{ic:()=>g,ne:()=>i,tm:()=>h,xp:()=>f});let e=new Map;function f(a){if(!a)return null;let b="function"==typeof a.get?b=>a.get(b):b=>a[b];return b("idempotency-key")||b("x-request-id")||null}function g(a){if(!a)return null;let b=e.get(a);return b?Date.now()>=b.expiresAt?(e.delete(a),null):{response:b.response,status:b.status}:null}function h(a,b,c,f=5e3){a&&(!d&&(d=setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>=c.expiresAt&&e.delete(b)},3e4)).unref&&d.unref(),e.set(a,{response:b,status:c,expiresAt:Date.now()+f}))}function i(){return{activeKeys:e.size,windowMs:5e3}}},79522:(a,b,c)=>{c.d(b,{HN:()=>m,I_:()=>n,OK:()=>k,QX:()=>j,zP:()=>l});var d=c(47774),e=c(20406);let f=Symbol.for("omniroute.proxyDispatcher.cache"),g=new Set(["http:","https:","socks5:"]);function h(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function i(a,b){if(!a)return h(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function j(){return"true"===process.env.ENABLE_SOCKS5_PROXY}function k(a){let b=new URL(a),c=b.port||h(b.protocol);return`${b.protocol}//${b.hostname}:${c}`}function l(a,b="proxy",{allowSocks5:c=j()}={}){let d;try{d=new URL(a)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!g.has(d.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${d.protocol.replace(":","")}`);if("socks5:"===d.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!d.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);return d.port=i(d.port,d.protocol),d.toString()}function m(a,{allowSocks5:b=j()}={}){if(!a)return null;if("string"==typeof a)return l(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");let c=String(a.type||"http").toLowerCase(),d=`${c}:`;if(!g.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!a.host)throw Error("[ProxyDispatcher] Context proxy host is required");let e=i(a.port,d),f=new URL(`${c}://${a.host}:${e}`);return a.username&&(f.username=a.username,f.password=a.password||""),l(f.toString(),"context proxy",{allowSocks5:b})}function n(a){let b=l(a,"proxy dispatcher"),c=(globalThis[f]||(globalThis[f]=new Map),globalThis[f]),g=c.get(b);if(g)return g;let h=new URL(b);if("socks5:"===h.protocol){let a={type:5,host:h.hostname,port:Number(i(h.port,h.protocol))};h.username&&(a.userId=decodeURIComponent(h.username)),h.password&&(a.password=decodeURIComponent(h.password)),g=(0,e.vI)(a)}else g=new d.ProxyAgent(b);return c.set(b,g),g}},82795:(a,b,c)=>{c.d(b,{c:()=>j});var d=c(95982),e=c(32113),f=c(89575),g=c(55120),h=c(60293),i=c(26695);function j(a,b,c=""){if(!c.includes("claude-cli")||!a.messages?.length)return null;let m=a.messages,n=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",o=!1,p=m[m.length-1];if(p?.role==="assistant"&&p.content?.[0]?.text==="{"&&(o=!0),o||"Warmup"===n(m[0]?.content)&&(o=!0),o||1!==m.length||m[0]?.role!=="user"||"count"===n(m[0]?.content)&&(o=!0),!o&&h.C8?.length){let a=m.filter(a=>"user"===a.role).map(a=>n(a.content)).join(" ");h.C8.some(b=>a.includes(b))&&(o=!0)}if(!o)return null;let q=(0,e.Tz)(a);return!1!==a.stream?function(a,b){let c=k(b),e=(0,f.Ws)(a);e.model=b;let h=l(c),j=[];for(let b of h){let c=(0,f.Y8)(g.h.OPENAI,a,b,e);if(c?.length>0)for(let b of c)j.push((0,i.v8)(b,a))}let m=(0,f.Y8)(g.h.OPENAI,a,null,e);if(m?.length>0)for(let b of m)j.push((0,i.v8)(b,a));return j.push("data: [DONE]\n\n"),{success:!0,response:new Response(j.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":(0,d.i)()}})}}(q,b):function(a,b){let c=k(b);if(a===g.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,d.i)()}})};let e=(0,f.Ws)(a);e.model=b;let h=l(c),i=[];for(let b of h){let c=(0,f.Y8)(g.h.OPENAI,a,b,e);c?.length>0&&i.push(...c)}let j=(0,f.Y8)(g.h.OPENAI,a,null,e);return j?.length>0&&i.push(...j),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return k("unknown");let c=a[a.length-1];if(b===g.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(i,a)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":(0,d.i)()}})}}(q,b)}function k(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function l(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},89122:(a,b,c)=>{c.d(b,{q:()=>m});let d="u">typeof process&&process.versions?.node&&!0,e="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",f=null,g=null,h=null;async function i(){if(d&&e&&!f)try{f=await Promise.resolve().then(c.t.bind(c,29021,23)),h=(g=await Promise.resolve().then(c.t.bind(c,33873,23))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function j(a,b,c){if(await i(),!f||!h)return null;try{await f.promises.mkdir(h,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}${d}${e}_${f}${g}${h}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),i=`${a}_${b}_${e}_${d}`,j=g.join(h,i);return await f.promises.mkdir(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function k(a,b,c){if(!f||!a)return;let d=g.join(a,b);f.promises.writeFile(d,JSON.stringify(c,null,2)).catch(a=>console.log(`[LOG] Failed to write ${b}:`,a.message))}function l(a){if(!a)return{};let b={...a},c=["authorization","x-api-key","cookie","token"];for(let a of Object.keys(b)){let d=a.toLowerCase();if(c.some(a=>d.includes(a))){let c=b[a];c&&c.length>20&&(b[a]=c.slice(0,10)+"..."+c.slice(-5))}}return b}async function m(a,b,c){if(!e)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await j(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){k(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:l(c),body:b})},logRawRequest(a,b={}){k(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:l(b),body:a})},logOpenAIRequest(a){k(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){k(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:l(b),body:c})},logProviderResponse(a,b,c,e){k(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:c?"function"==typeof c.entries?Object.fromEntries(c.entries()):c:{},body:e})},appendProviderChunk(a){if(!f||!d)return;let b=g.join(d,"5_res_provider.txt");f.promises.appendFile(b,a).catch(()=>{})},appendOpenAIChunk(a){if(!f||!d)return;let b=g.join(d,"6_res_openai.txt");f.promises.appendFile(b,a).catch(()=>{})},logConvertedResponse(a){k(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(!f||!d)return;let b=g.join(d,"7_res_client.txt");f.promises.appendFile(b,a).catch(()=>{})},logError(a,b=null){k(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}},92937:(a,b,c)=>{c.d(b,{LG:()=>g,LM:()=>j,Zb:()=>f});let d=new Set(["prompt_tokens","completion_tokens","total_tokens","prompt_tokens_details","completion_tokens_details"]),e=/<think>([\s\S]*?)<\/think>/gi;function f(a){if(!a||"string"!=typeof a)return{content:a||"",thinking:null};let b=[],c=!1,d=a.replace(e,(a,d)=>{c=!0;let e=d.trim();return e&&b.push(e),""});return c?{content:d.trim(),thinking:b.length>0?b.join("\n\n"):null}:{content:a,thinking:null}}function g(a){var b;if(!a||"object"!=typeof a)return a;let c={};return c.id=(b=a.id)&&"string"==typeof b?(b.startsWith("chatcmpl-"),b):`chatcmpl-${crypto.randomUUID().replace(/-/g,"").slice(0,29)}`,c.object=a.object||"chat.completion",c.created=a.created||Math.floor(Date.now()/1e3),c.model=a.model||"unknown",Array.isArray(a.choices)?c.choices=a.choices.map((a,b)=>{var c,d;let e;return c=a,d=b,e={index:c.index??d,finish_reason:c.finish_reason||null},c.message&&(e.message=h(c.message)),c.delta&&(e.delta=h(c.delta)),void 0!==c.logprobs&&(e.logprobs=c.logprobs),e}):c.choices=[],a.usage&&"object"==typeof a.usage&&(c.usage=i(a.usage)),a.system_fingerprint&&(c.system_fingerprint=a.system_fingerprint),c}function h(a){if(!a||"object"!=typeof a)return a;let b={};if(a.role&&(b.role=a.role),void 0!==a.refusal&&(b.refusal=a.refusal),"string"==typeof a.content){let{content:c,thinking:d}=f(a.content);b.content=c,d&&!a.reasoning_content&&(b.reasoning_content=d)}else void 0!==a.content&&(b.content=a.content);return a.reasoning_content&&!b.reasoning_content&&(b.reasoning_content=a.reasoning_content),a.tool_calls&&(b.tool_calls=a.tool_calls),a.function_call&&(b.function_call=a.function_call),b}function i(a){if(!a||"object"!=typeof a)return a;let b={};for(let c of d)void 0!==a[c]&&(b[c]=a[c]);return void 0===b.prompt_tokens&&(b.prompt_tokens=0),void 0===b.completion_tokens&&(b.completion_tokens=0),void 0===b.total_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function j(a){if(!a||"object"!=typeof a)return a;let b={};return void 0!==a.id&&(b.id=a.id),b.object=a.object||"chat.completion.chunk",void 0!==a.created&&(b.created=a.created),void 0!==a.model&&(b.model=a.model),Array.isArray(a.choices)&&(b.choices=a.choices.map(a=>{let b={index:a.index??0};if(void 0!==a.delta){b.delta={};let c=a.delta;void 0!==c.role&&(b.delta.role=c.role),void 0!==c.content&&(b.delta.content=c.content),void 0!==c.reasoning_content&&(b.delta.reasoning_content=c.reasoning_content),void 0!==c.tool_calls&&(b.delta.tool_calls=c.tool_calls),void 0!==c.function_call&&(b.delta.function_call=c.function_call)}return void 0!==a.finish_reason&&(b.finish_reason=a.finish_reason),void 0!==a.logprobs&&(b.logprobs=a.logprobs),b})),a.usage&&"object"==typeof a.usage&&(b.usage=i(a.usage)),a.system_fingerprint&&(b.system_fingerprint=a.system_fingerprint),b}}};
|