@srouterhq/server 0.0.0-stage → 0.9.0
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/LICENSE +21 -0
- package/client/dist/assets/am-TQ7Jmdqe.js +1 -0
- package/client/dist/assets/ar-Bf5a7yfC.js +1 -0
- package/client/dist/assets/az-CrosE1xH.js +1 -0
- package/client/dist/assets/bg-BvWnmcUz.js +1 -0
- package/client/dist/assets/bn-ams5TsJp.js +1 -0
- package/client/dist/assets/cs-Dh67CaJ_.js +1 -0
- package/client/dist/assets/da-9WlT8Iq7.js +1 -0
- package/client/dist/assets/de-lWhJJzz7.js +1 -0
- package/client/dist/assets/el-Cu7_GhNq.js +1 -0
- package/client/dist/assets/es-BZuzsBcP.js +1 -0
- package/client/dist/assets/fa-Dwdn-jKS.js +1 -0
- package/client/dist/assets/fi-BFrFyOTy.js +1 -0
- package/client/dist/assets/fr-XhbtmPpj.js +1 -0
- package/client/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/client/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/client/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/client/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/client/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
- package/client/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
- package/client/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
- package/client/dist/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
- package/client/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/client/dist/assets/gu-D0uhLUB8.js +1 -0
- package/client/dist/assets/ha-CVlm9pqp.js +1 -0
- package/client/dist/assets/he-CMIFeoWr.js +1 -0
- package/client/dist/assets/hi-ENTwhBpn.js +1 -0
- package/client/dist/assets/hr-fc03vMy_.js +1 -0
- package/client/dist/assets/hu-YBo2BIYt.js +1 -0
- package/client/dist/assets/id-BEWXYX69.js +1 -0
- package/client/dist/assets/ig-BKLZFKka.js +1 -0
- package/client/dist/assets/index-D9I4KtvR.js +145 -0
- package/client/dist/assets/index-txhEmCdb.css +2 -0
- package/client/dist/assets/it-Bzmei1Y2.js +1 -0
- package/client/dist/assets/ja-BfcpuqEl.js +1 -0
- package/client/dist/assets/ka-CnWjRgLo.js +1 -0
- package/client/dist/assets/km-BAjPR3Qj.js +1 -0
- package/client/dist/assets/kn-B15WKU5m.js +1 -0
- package/client/dist/assets/ko-C61fAB-w.js +1 -0
- package/client/dist/assets/lt-CYTr4_YW.js +1 -0
- package/client/dist/assets/ml-CtqxgyH3.js +1 -0
- package/client/dist/assets/mr-X5TMY7aR.js +1 -0
- package/client/dist/assets/ms-DSg8RqPS.js +1 -0
- package/client/dist/assets/my-D7RqR8uE.js +1 -0
- package/client/dist/assets/ne-DaflxkDj.js +1 -0
- package/client/dist/assets/nl-BOqqtsC8.js +1 -0
- package/client/dist/assets/no-BSHp_StB.js +1 -0
- package/client/dist/assets/or-BkLR9Vub.js +1 -0
- package/client/dist/assets/pa-CarJ2XgI.js +1 -0
- package/client/dist/assets/pl-C2n0V-0k.js +1 -0
- package/client/dist/assets/pt-BR-CqJdNhg2.js +1 -0
- package/client/dist/assets/pt-PT-C_HpMyKz.js +1 -0
- package/client/dist/assets/ro-DVRZqSAS.js +1 -0
- package/client/dist/assets/ru-DwAJG7VC.js +1 -0
- package/client/dist/assets/si-BxUezXm0.js +1 -0
- package/client/dist/assets/sk-eI1VcIfY.js +1 -0
- package/client/dist/assets/sr-CJF3auCr.js +1 -0
- package/client/dist/assets/srouter-logo-C6ZfjGIi.svg +14 -0
- package/client/dist/assets/sv-nqvwHAq_.js +1 -0
- package/client/dist/assets/sw-DWynE2pW.js +1 -0
- package/client/dist/assets/ta-BVM12knC.js +1 -0
- package/client/dist/assets/te-oyzEkF7_.js +1 -0
- package/client/dist/assets/th-COVeE0ZQ.js +1 -0
- package/client/dist/assets/tl-DsJANnQz.js +1 -0
- package/client/dist/assets/tr-B-Fl-urO.js +1 -0
- package/client/dist/assets/uk-C5qketAO.js +1 -0
- package/client/dist/assets/ur-QU9KugfV.js +1 -0
- package/client/dist/assets/uz-DL9cG_mY.js +1 -0
- package/client/dist/assets/vi-CQiVy3Pu.js +1 -0
- package/client/dist/assets/yo-DqazMdrZ.js +1 -0
- package/client/dist/assets/zh-CN-DnYL_Kio.js +1 -0
- package/client/dist/assets/zh-TW-5bdbosKj.js +1 -0
- package/client/dist/favicon.svg +14 -0
- package/client/dist/icons.svg +24 -0
- package/client/dist/index.html +37 -0
- package/dist/app.d.ts +4 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +372 -0
- package/dist/app.js.map +1 -0
- package/dist/db/index.d.ts +49 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +203 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrate/TEMPLATE.d.ts +4 -0
- package/dist/db/migrate/TEMPLATE.d.ts.map +1 -0
- package/dist/db/migrate/TEMPLATE.js +18 -0
- package/dist/db/migrate/TEMPLATE.js.map +1 -0
- package/dist/db/migrate/cli.d.ts +2 -0
- package/dist/db/migrate/cli.d.ts.map +1 -0
- package/dist/db/migrate/cli.js +177 -0
- package/dist/db/migrate/cli.js.map +1 -0
- package/dist/db/migrate/defaults.d.ts +52 -0
- package/dist/db/migrate/defaults.d.ts.map +1 -0
- package/dist/db/migrate/defaults.js +126 -0
- package/dist/db/migrate/defaults.js.map +1 -0
- package/dist/db/migrate/runner.d.ts +16 -0
- package/dist/db/migrate/runner.d.ts.map +1 -0
- package/dist/db/migrate/runner.js +178 -0
- package/dist/db/migrate/runner.js.map +1 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts +4 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts.map +1 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.js +2240 -0
- package/dist/db/migrations/20260101_000000_legacy_baseline.js.map +1 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts +4 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts.map +1 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.js +27 -0
- package/dist/db/migrations/20260627_000001_custom_provider_modalities.js.map +1 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts +4 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts.map +1 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.js +30 -0
- package/dist/db/migrations/20260627_000002_catalog_model_state.js.map +1 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.d.ts +6 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.d.ts.map +1 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.js +104 -0
- package/dist/db/migrations/20260628_120000_request_aggregates.js.map +1 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts +9 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts.map +1 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.js +22 -0
- package/dist/db/migrations/20260630_000001_github_gpt41_context.js.map +1 -0
- package/dist/db/migrations/20260706_000001_request_client_info.d.ts +4 -0
- package/dist/db/migrations/20260706_000001_request_client_info.d.ts.map +1 -0
- package/dist/db/migrations/20260706_000001_request_client_info.js +30 -0
- package/dist/db/migrations/20260706_000001_request_client_info.js.map +1 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts +17 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts.map +1 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.js +20 -0
- package/dist/db/migrations/20260706_000002_custom_model_tool_support.js.map +1 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts +12 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts.map +1 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.js +45 -0
- package/dist/db/migrations/20260714_000001_profile_chain_backfill.js.map +1 -0
- package/dist/db/migrations/20260720_000001_key_health_error.d.ts +5 -0
- package/dist/db/migrations/20260720_000001_key_health_error.d.ts.map +1 -0
- package/dist/db/migrations/20260720_000001_key_health_error.js +16 -0
- package/dist/db/migrations/20260720_000001_key_health_error.js.map +1 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts +4 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js +38 -0
- package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js.map +1 -0
- package/dist/db/migrations/20260726_000002_request_attempts.d.ts +4 -0
- package/dist/db/migrations/20260726_000002_request_attempts.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000002_request_attempts.js +43 -0
- package/dist/db/migrations/20260726_000002_request_attempts.js.map +1 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts +4 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.js +80 -0
- package/dist/db/migrations/20260726_000003_model_source_provenance.js.map +1 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.d.ts +4 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.js +34 -0
- package/dist/db/migrations/20260726_000004_media_model_meta.js.map +1 -0
- package/dist/db/migrations/20260726_000005_request_served_model.d.ts +4 -0
- package/dist/db/migrations/20260726_000005_request_served_model.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000005_request_served_model.js +31 -0
- package/dist/db/migrations/20260726_000005_request_served_model.js.map +1 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts +4 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts.map +1 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.js +29 -0
- package/dist/db/migrations/20260726_000006_attempt_error_summary.js.map +1 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts +4 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts.map +1 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.js +41 -0
- package/dist/db/migrations/20260727_000001_agent_compatibility.js.map +1 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts +12 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts.map +1 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.js +37 -0
- package/dist/db/migrations/20260728_000001_tombstone_provenance.js.map +1 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts +4 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts.map +1 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js +145 -0
- package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js.map +1 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts +6 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts.map +1 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js +52 -0
- package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js.map +1 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.d.ts +6 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.d.ts.map +1 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.js +17 -0
- package/dist/db/migrations/20260805_000001_key_model_scope.js.map +1 -0
- package/dist/db/migrations/20260805_000002_client_profiles.d.ts +4 -0
- package/dist/db/migrations/20260805_000002_client_profiles.d.ts.map +1 -0
- package/dist/db/migrations/20260805_000002_client_profiles.js +33 -0
- package/dist/db/migrations/20260805_000002_client_profiles.js.map +1 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts +4 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts.map +1 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.js +33 -0
- package/dist/db/migrations/20260810_000001_api_key_proxy.js.map +1 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts +4 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts.map +1 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.js +19 -0
- package/dist/db/migrations/20260819_000001_custom_model_tombstones.js.map +1 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.d.ts +4 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.d.ts.map +1 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.js +47 -0
- package/dist/db/migrations/20260820_000001_playground_conversations.js.map +1 -0
- package/dist/db/migrations/20260823_000001_server_logs.d.ts +4 -0
- package/dist/db/migrations/20260823_000001_server_logs.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000001_server_logs.js +53 -0
- package/dist/db/migrations/20260823_000001_server_logs.js.map +1 -0
- package/dist/db/migrations/20260823_000002_backups_table.d.ts +8 -0
- package/dist/db/migrations/20260823_000002_backups_table.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000002_backups_table.js +22 -0
- package/dist/db/migrations/20260823_000002_backups_table.js.map +1 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts +19 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.js +28 -0
- package/dist/db/migrations/20260823_000003_attempt_key_label.js.map +1 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts +14 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts.map +1 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.js +25 -0
- package/dist/db/migrations/20260823_000004_profile_auto_include.js.map +1 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts +4 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.js +46 -0
- package/dist/db/migrations/20260901_000001_idempotency_claims.js.map +1 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts +4 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.js +37 -0
- package/dist/db/migrations/20260901_000002_quota_observation_lookup.js.map +1 -0
- package/dist/db/migrations/20260901_000003_request_caller.d.ts +4 -0
- package/dist/db/migrations/20260901_000003_request_caller.d.ts.map +1 -0
- package/dist/db/migrations/20260901_000003_request_caller.js +27 -0
- package/dist/db/migrations/20260901_000003_request_caller.js.map +1 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts +4 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts.map +1 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js +35 -0
- package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js.map +1 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts +4 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts.map +1 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.js +37 -0
- package/dist/db/migrations/20260903_000001_mcp_enabled_default.js.map +1 -0
- package/dist/db/migrations/20260903_000002_response_cache.d.ts +4 -0
- package/dist/db/migrations/20260903_000002_response_cache.d.ts.map +1 -0
- package/dist/db/migrations/20260903_000002_response_cache.js +53 -0
- package/dist/db/migrations/20260903_000002_response_cache.js.map +1 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts +13 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts.map +1 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.js +35 -0
- package/dist/db/migrations/20260904_000001_key_monthly_budget.js.map +1 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts +4 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts.map +1 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.js +68 -0
- package/dist/db/migrations/20260913_000001_request_model_attribution.js.map +1 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts +5 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts.map +1 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.js +37 -0
- package/dist/db/migrations/20260914_000001_key_monthly_usage.js.map +1 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts +4 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts.map +1 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js +28 -0
- package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js.map +1 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts +4 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts.map +1 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js +25 -0
- package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js.map +1 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.d.ts +10 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.d.ts.map +1 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.js +78 -0
- package/dist/db/migrations/20261005_000001_key_budget_period.js.map +1 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts +21 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts.map +1 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.js +41 -0
- package/dist/db/migrations/20261005_000002_key_budget_period_auto.js.map +1 -0
- package/dist/db/model-pricing.d.ts +39 -0
- package/dist/db/model-pricing.d.ts.map +1 -0
- package/dist/db/model-pricing.js +274 -0
- package/dist/db/model-pricing.js.map +1 -0
- package/dist/db/node-sqlite.d.ts +9 -0
- package/dist/db/node-sqlite.d.ts.map +1 -0
- package/dist/db/node-sqlite.js +87 -0
- package/dist/db/node-sqlite.js.map +1 -0
- package/dist/db/types.d.ts +22 -0
- package/dist/db/types.d.ts.map +1 -0
- package/dist/db/types.js +2 -0
- package/dist/db/types.js.map +1 -0
- package/dist/docs/docs-page.d.ts +2 -0
- package/dist/docs/docs-page.d.ts.map +1 -0
- package/dist/docs/docs-page.js +319 -0
- package/dist/docs/docs-page.js.map +1 -0
- package/dist/docs/openapi.d.ts +1896 -0
- package/dist/docs/openapi.d.ts.map +1 -0
- package/dist/docs/openapi.js +1096 -0
- package/dist/docs/openapi.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +9 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +144 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/anthropic-documents.d.ts +41 -0
- package/dist/lib/anthropic-documents.d.ts.map +1 -0
- package/dist/lib/anthropic-documents.js +132 -0
- package/dist/lib/anthropic-documents.js.map +1 -0
- package/dist/lib/app-version.d.ts +5 -0
- package/dist/lib/app-version.d.ts.map +1 -0
- package/dist/lib/app-version.js +61 -0
- package/dist/lib/app-version.js.map +1 -0
- package/dist/lib/attempt-trace.d.ts +23 -0
- package/dist/lib/attempt-trace.d.ts.map +1 -0
- package/dist/lib/attempt-trace.js +32 -0
- package/dist/lib/attempt-trace.js.map +1 -0
- package/dist/lib/budget.d.ts +6 -0
- package/dist/lib/budget.d.ts.map +1 -0
- package/dist/lib/budget.js +40 -0
- package/dist/lib/budget.js.map +1 -0
- package/dist/lib/client-classifier.d.ts +10 -0
- package/dist/lib/client-classifier.d.ts.map +1 -0
- package/dist/lib/client-classifier.js +126 -0
- package/dist/lib/client-classifier.js.map +1 -0
- package/dist/lib/client-context.d.ts +10 -0
- package/dist/lib/client-context.d.ts.map +1 -0
- package/dist/lib/client-context.js +39 -0
- package/dist/lib/client-context.js.map +1 -0
- package/dist/lib/config.d.ts +33 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +94 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/content.d.ts +33 -0
- package/dist/lib/content.d.ts.map +1 -0
- package/dist/lib/content.js +201 -0
- package/dist/lib/content.js.map +1 -0
- package/dist/lib/credential.d.ts +11 -0
- package/dist/lib/credential.d.ts.map +1 -0
- package/dist/lib/credential.js +18 -0
- package/dist/lib/credential.js.map +1 -0
- package/dist/lib/crypto.d.ts +31 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +206 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/lib/custom-provider-cleanup.d.ts +13 -0
- package/dist/lib/custom-provider-cleanup.d.ts.map +1 -0
- package/dist/lib/custom-provider-cleanup.js +43 -0
- package/dist/lib/custom-provider-cleanup.js.map +1 -0
- package/dist/lib/db-backup.d.ts +31 -0
- package/dist/lib/db-backup.d.ts.map +1 -0
- package/dist/lib/db-backup.js +255 -0
- package/dist/lib/db-backup.js.map +1 -0
- package/dist/lib/endpoint-scope.d.ts +42 -0
- package/dist/lib/endpoint-scope.d.ts.map +1 -0
- package/dist/lib/endpoint-scope.js +95 -0
- package/dist/lib/endpoint-scope.js.map +1 -0
- package/dist/lib/env-drift.d.ts +17 -0
- package/dist/lib/env-drift.d.ts.map +1 -0
- package/dist/lib/env-drift.js +108 -0
- package/dist/lib/env-drift.js.map +1 -0
- package/dist/lib/error-classify.d.ts +40 -0
- package/dist/lib/error-classify.d.ts.map +1 -0
- package/dist/lib/error-classify.js +687 -0
- package/dist/lib/error-classify.js.map +1 -0
- package/dist/lib/error-redaction.d.ts +8 -0
- package/dist/lib/error-redaction.d.ts.map +1 -0
- package/dist/lib/error-redaction.js +45 -0
- package/dist/lib/error-redaction.js.map +1 -0
- package/dist/lib/fallback-loop.d.ts +306 -0
- package/dist/lib/fallback-loop.d.ts.map +1 -0
- package/dist/lib/fallback-loop.js +1336 -0
- package/dist/lib/fallback-loop.js.map +1 -0
- package/dist/lib/file-permissions.d.ts +98 -0
- package/dist/lib/file-permissions.d.ts.map +1 -0
- package/dist/lib/file-permissions.js +159 -0
- package/dist/lib/file-permissions.js.map +1 -0
- package/dist/lib/gemini-wire.d.ts +76 -0
- package/dist/lib/gemini-wire.d.ts.map +1 -0
- package/dist/lib/gemini-wire.js +392 -0
- package/dist/lib/gemini-wire.js.map +1 -0
- package/dist/lib/guardrails.d.ts +37 -0
- package/dist/lib/guardrails.d.ts.map +1 -0
- package/dist/lib/guardrails.js +106 -0
- package/dist/lib/guardrails.js.map +1 -0
- package/dist/lib/header-value.d.ts +8 -0
- package/dist/lib/header-value.d.ts.map +1 -0
- package/dist/lib/header-value.js +55 -0
- package/dist/lib/header-value.js.map +1 -0
- package/dist/lib/image-normalize.d.ts +21 -0
- package/dist/lib/image-normalize.d.ts.map +1 -0
- package/dist/lib/image-normalize.js +218 -0
- package/dist/lib/image-normalize.js.map +1 -0
- package/dist/lib/inbound-chat.d.ts +48 -0
- package/dist/lib/inbound-chat.d.ts.map +1 -0
- package/dist/lib/inbound-chat.js +406 -0
- package/dist/lib/inbound-chat.js.map +1 -0
- package/dist/lib/key-parser.d.ts +79 -0
- package/dist/lib/key-parser.d.ts.map +1 -0
- package/dist/lib/key-parser.js +701 -0
- package/dist/lib/key-parser.js.map +1 -0
- package/dist/lib/key-proxy.d.ts +49 -0
- package/dist/lib/key-proxy.d.ts.map +1 -0
- package/dist/lib/key-proxy.js +92 -0
- package/dist/lib/key-proxy.js.map +1 -0
- package/dist/lib/log-redaction.d.ts +28 -0
- package/dist/lib/log-redaction.d.ts.map +1 -0
- package/dist/lib/log-redaction.js +166 -0
- package/dist/lib/log-redaction.js.map +1 -0
- package/dist/lib/model-scope.d.ts +9 -0
- package/dist/lib/model-scope.d.ts.map +1 -0
- package/dist/lib/model-scope.js +29 -0
- package/dist/lib/model-scope.js.map +1 -0
- package/dist/lib/one-time-code.d.ts +15 -0
- package/dist/lib/one-time-code.d.ts.map +1 -0
- package/dist/lib/one-time-code.js +41 -0
- package/dist/lib/one-time-code.js.map +1 -0
- package/dist/lib/output-cap.d.ts +24 -0
- package/dist/lib/output-cap.d.ts.map +1 -0
- package/dist/lib/output-cap.js +80 -0
- package/dist/lib/output-cap.js.map +1 -0
- package/dist/lib/password.d.ts +3 -0
- package/dist/lib/password.d.ts.map +1 -0
- package/dist/lib/password.js +27 -0
- package/dist/lib/password.js.map +1 -0
- package/dist/lib/process-safety-net.d.ts +32 -0
- package/dist/lib/process-safety-net.d.ts.map +1 -0
- package/dist/lib/process-safety-net.js +123 -0
- package/dist/lib/process-safety-net.js.map +1 -0
- package/dist/lib/provider-identity.d.ts +37 -0
- package/dist/lib/provider-identity.d.ts.map +1 -0
- package/dist/lib/provider-identity.js +110 -0
- package/dist/lib/provider-identity.js.map +1 -0
- package/dist/lib/provider-size-parser.d.ts +6 -0
- package/dist/lib/provider-size-parser.d.ts.map +1 -0
- package/dist/lib/provider-size-parser.js +72 -0
- package/dist/lib/provider-size-parser.js.map +1 -0
- package/dist/lib/provider-timeout.d.ts +17 -0
- package/dist/lib/provider-timeout.d.ts.map +1 -0
- package/dist/lib/provider-timeout.js +70 -0
- package/dist/lib/provider-timeout.js.map +1 -0
- package/dist/lib/proxy.d.ts +180 -0
- package/dist/lib/proxy.d.ts.map +1 -0
- package/dist/lib/proxy.js +1002 -0
- package/dist/lib/proxy.js.map +1 -0
- package/dist/lib/request-log.d.ts +4 -0
- package/dist/lib/request-log.d.ts.map +1 -0
- package/dist/lib/request-log.js +161 -0
- package/dist/lib/request-log.js.map +1 -0
- package/dist/lib/reset-code.d.ts +5 -0
- package/dist/lib/reset-code.d.ts.map +1 -0
- package/dist/lib/reset-code.js +39 -0
- package/dist/lib/reset-code.js.map +1 -0
- package/dist/lib/retry-hint.d.ts +14 -0
- package/dist/lib/retry-hint.d.ts.map +1 -0
- package/dist/lib/retry-hint.js +36 -0
- package/dist/lib/retry-hint.js.map +1 -0
- package/dist/lib/route-live.d.ts +29 -0
- package/dist/lib/route-live.d.ts.map +1 -0
- package/dist/lib/route-live.js +97 -0
- package/dist/lib/route-live.js.map +1 -0
- package/dist/lib/sampling-params.d.ts +183 -0
- package/dist/lib/sampling-params.d.ts.map +1 -0
- package/dist/lib/sampling-params.js +386 -0
- package/dist/lib/sampling-params.js.map +1 -0
- package/dist/lib/scheduler.d.ts +13 -0
- package/dist/lib/scheduler.d.ts.map +1 -0
- package/dist/lib/scheduler.js +11 -0
- package/dist/lib/scheduler.js.map +1 -0
- package/dist/lib/served-model.d.ts +16 -0
- package/dist/lib/served-model.d.ts.map +1 -0
- package/dist/lib/served-model.js +0 -0
- package/dist/lib/served-model.js.map +1 -0
- package/dist/lib/server-logs.d.ts +132 -0
- package/dist/lib/server-logs.d.ts.map +1 -0
- package/dist/lib/server-logs.js +473 -0
- package/dist/lib/server-logs.js.map +1 -0
- package/dist/lib/setup-code.d.ts +5 -0
- package/dist/lib/setup-code.d.ts.map +1 -0
- package/dist/lib/setup-code.js +35 -0
- package/dist/lib/setup-code.js.map +1 -0
- package/dist/lib/structured-output.d.ts +9 -0
- package/dist/lib/structured-output.d.ts.map +1 -0
- package/dist/lib/structured-output.js +72 -0
- package/dist/lib/structured-output.js.map +1 -0
- package/dist/lib/system-prompt.d.ts +30 -0
- package/dist/lib/system-prompt.d.ts.map +1 -0
- package/dist/lib/system-prompt.js +66 -0
- package/dist/lib/system-prompt.js.map +1 -0
- package/dist/lib/task-type.d.ts +18 -0
- package/dist/lib/task-type.d.ts.map +1 -0
- package/dist/lib/task-type.js +92 -0
- package/dist/lib/task-type.js.map +1 -0
- package/dist/lib/think-tags.d.ts +37 -0
- package/dist/lib/think-tags.d.ts.map +1 -0
- package/dist/lib/think-tags.js +203 -0
- package/dist/lib/think-tags.js.map +1 -0
- package/dist/lib/tool-args.d.ts +36 -0
- package/dist/lib/tool-args.d.ts.map +1 -0
- package/dist/lib/tool-args.js +190 -0
- package/dist/lib/tool-args.js.map +1 -0
- package/dist/lib/tool-call-rescue.d.ts +62 -0
- package/dist/lib/tool-call-rescue.d.ts.map +1 -0
- package/dist/lib/tool-call-rescue.js +258 -0
- package/dist/lib/tool-call-rescue.js.map +1 -0
- package/dist/lib/tool-capability.d.ts +13 -0
- package/dist/lib/tool-capability.d.ts.map +1 -0
- package/dist/lib/tool-capability.js +70 -0
- package/dist/lib/tool-capability.js.map +1 -0
- package/dist/lib/tool-validate.d.ts +44 -0
- package/dist/lib/tool-validate.d.ts.map +1 -0
- package/dist/lib/tool-validate.js +165 -0
- package/dist/lib/tool-validate.js.map +1 -0
- package/dist/lib/ttfb-budget.d.ts +13 -0
- package/dist/lib/ttfb-budget.d.ts.map +1 -0
- package/dist/lib/ttfb-budget.js +153 -0
- package/dist/lib/ttfb-budget.js.map +1 -0
- package/dist/lib/url-guard.d.ts +47 -0
- package/dist/lib/url-guard.d.ts.map +1 -0
- package/dist/lib/url-guard.js +229 -0
- package/dist/lib/url-guard.js.map +1 -0
- package/dist/lib/wake-detect.d.ts +12 -0
- package/dist/lib/wake-detect.d.ts.map +1 -0
- package/dist/lib/wake-detect.js +99 -0
- package/dist/lib/wake-detect.js.map +1 -0
- package/dist/middleware/errorHandler.d.ts +3 -0
- package/dist/middleware/errorHandler.d.ts.map +1 -0
- package/dist/middleware/errorHandler.js +45 -0
- package/dist/middleware/errorHandler.js.map +1 -0
- package/dist/middleware/rateLimit.d.ts +4 -0
- package/dist/middleware/rateLimit.d.ts.map +1 -0
- package/dist/middleware/rateLimit.js +125 -0
- package/dist/middleware/rateLimit.js.map +1 -0
- package/dist/middleware/requireAuth.d.ts +3 -0
- package/dist/middleware/requireAuth.d.ts.map +1 -0
- package/dist/middleware/requireAuth.js +17 -0
- package/dist/middleware/requireAuth.js.map +1 -0
- package/dist/providers/aclide.d.ts +18 -0
- package/dist/providers/aclide.d.ts.map +1 -0
- package/dist/providers/aclide.js +174 -0
- package/dist/providers/aclide.js.map +1 -0
- package/dist/providers/aihorde.d.ts +42 -0
- package/dist/providers/aihorde.d.ts.map +1 -0
- package/dist/providers/aihorde.js +192 -0
- package/dist/providers/aihorde.js.map +1 -0
- package/dist/providers/airforce.d.ts +11 -0
- package/dist/providers/airforce.d.ts.map +1 -0
- package/dist/providers/airforce.js +32 -0
- package/dist/providers/airforce.js.map +1 -0
- package/dist/providers/base.d.ts +177 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +354 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/blaze.d.ts +11 -0
- package/dist/providers/blaze.d.ts.map +1 -0
- package/dist/providers/blaze.js +33 -0
- package/dist/providers/blaze.js.map +1 -0
- package/dist/providers/blockrun.d.ts +14 -0
- package/dist/providers/blockrun.d.ts.map +1 -0
- package/dist/providers/blockrun.js +36 -0
- package/dist/providers/blockrun.js.map +1 -0
- package/dist/providers/clod.d.ts +11 -0
- package/dist/providers/clod.d.ts.map +1 -0
- package/dist/providers/clod.js +39 -0
- package/dist/providers/clod.js.map +1 -0
- package/dist/providers/cloudflare.d.ts +15 -0
- package/dist/providers/cloudflare.d.ts.map +1 -0
- package/dist/providers/cloudflare.js +175 -0
- package/dist/providers/cloudflare.js.map +1 -0
- package/dist/providers/cohere.d.ts +11 -0
- package/dist/providers/cohere.d.ts.map +1 -0
- package/dist/providers/cohere.js +117 -0
- package/dist/providers/cohere.js.map +1 -0
- package/dist/providers/dreamprompting.d.ts +11 -0
- package/dist/providers/dreamprompting.d.ts.map +1 -0
- package/dist/providers/dreamprompting.js +41 -0
- package/dist/providers/dreamprompting.js.map +1 -0
- package/dist/providers/electronhub.d.ts +10 -0
- package/dist/providers/electronhub.d.ts.map +1 -0
- package/dist/providers/electronhub.js +56 -0
- package/dist/providers/electronhub.js.map +1 -0
- package/dist/providers/experiential.d.ts +10 -0
- package/dist/providers/experiential.d.ts.map +1 -0
- package/dist/providers/experiential.js +33 -0
- package/dist/providers/experiential.js.map +1 -0
- package/dist/providers/gizmo.d.ts +15 -0
- package/dist/providers/gizmo.d.ts.map +1 -0
- package/dist/providers/gizmo.js +54 -0
- package/dist/providers/gizmo.js.map +1 -0
- package/dist/providers/google.d.ts +30 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +766 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +561 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/llmtr.d.ts +15 -0
- package/dist/providers/llmtr.d.ts.map +1 -0
- package/dist/providers/llmtr.js +51 -0
- package/dist/providers/llmtr.js.map +1 -0
- package/dist/providers/logfare.d.ts +11 -0
- package/dist/providers/logfare.d.ts.map +1 -0
- package/dist/providers/logfare.js +33 -0
- package/dist/providers/logfare.js.map +1 -0
- package/dist/providers/lucidity.d.ts +11 -0
- package/dist/providers/lucidity.d.ts.map +1 -0
- package/dist/providers/lucidity.js +37 -0
- package/dist/providers/lucidity.js.map +1 -0
- package/dist/providers/modelscope.d.ts +50 -0
- package/dist/providers/modelscope.d.ts.map +1 -0
- package/dist/providers/modelscope.js +143 -0
- package/dist/providers/modelscope.js.map +1 -0
- package/dist/providers/moondream.d.ts +17 -0
- package/dist/providers/moondream.d.ts.map +1 -0
- package/dist/providers/moondream.js +140 -0
- package/dist/providers/moondream.js.map +1 -0
- package/dist/providers/openai-compat.d.ts +140 -0
- package/dist/providers/openai-compat.d.ts.map +1 -0
- package/dist/providers/openai-compat.js +537 -0
- package/dist/providers/openai-compat.js.map +1 -0
- package/dist/providers/opencode-free.d.ts +24 -0
- package/dist/providers/opencode-free.d.ts.map +1 -0
- package/dist/providers/opencode-free.js +262 -0
- package/dist/providers/opencode-free.js.map +1 -0
- package/dist/providers/pollinations.d.ts +32 -0
- package/dist/providers/pollinations.d.ts.map +1 -0
- package/dist/providers/pollinations.js +65 -0
- package/dist/providers/pollinations.js.map +1 -0
- package/dist/providers/router9.d.ts +16 -0
- package/dist/providers/router9.d.ts.map +1 -0
- package/dist/providers/router9.js +42 -0
- package/dist/providers/router9.js.map +1 -0
- package/dist/providers/sail.d.ts +44 -0
- package/dist/providers/sail.d.ts.map +1 -0
- package/dist/providers/sail.js +302 -0
- package/dist/providers/sail.js.map +1 -0
- package/dist/providers/septor.d.ts +10 -0
- package/dist/providers/septor.d.ts.map +1 -0
- package/dist/providers/septor.js +36 -0
- package/dist/providers/septor.js.map +1 -0
- package/dist/providers/speechify.d.ts +14 -0
- package/dist/providers/speechify.d.ts.map +1 -0
- package/dist/providers/speechify.js +28 -0
- package/dist/providers/speechify.js.map +1 -0
- package/dist/providers/speka.d.ts +12 -0
- package/dist/providers/speka.d.ts.map +1 -0
- package/dist/providers/speka.js +37 -0
- package/dist/providers/speka.js.map +1 -0
- package/dist/providers/waterfall.d.ts +11 -0
- package/dist/providers/waterfall.d.ts.map +1 -0
- package/dist/providers/waterfall.js +33 -0
- package/dist/providers/waterfall.js.map +1 -0
- package/dist/providers/xkiro.d.ts +71 -0
- package/dist/providers/xkiro.d.ts.map +1 -0
- package/dist/providers/xkiro.js +119 -0
- package/dist/providers/xkiro.js.map +1 -0
- package/dist/providers/zhipu.d.ts +43 -0
- package/dist/providers/zhipu.d.ts.map +1 -0
- package/dist/providers/zhipu.js +95 -0
- package/dist/providers/zhipu.js.map +1 -0
- package/dist/routes/analytics.d.ts +2 -0
- package/dist/routes/analytics.d.ts.map +1 -0
- package/dist/routes/analytics.js +738 -0
- package/dist/routes/analytics.js.map +1 -0
- package/dist/routes/anthropic.d.ts +7 -0
- package/dist/routes/anthropic.d.ts.map +1 -0
- package/dist/routes/anthropic.js +1076 -0
- package/dist/routes/anthropic.js.map +1 -0
- package/dist/routes/auth.d.ts +2 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +310 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/backups.d.ts +2 -0
- package/dist/routes/backups.d.ts.map +1 -0
- package/dist/routes/backups.js +127 -0
- package/dist/routes/backups.js.map +1 -0
- package/dist/routes/cache.d.ts +2 -0
- package/dist/routes/cache.d.ts.map +1 -0
- package/dist/routes/cache.js +40 -0
- package/dist/routes/cache.js.map +1 -0
- package/dist/routes/client-profiles.d.ts +2 -0
- package/dist/routes/client-profiles.d.ts.map +1 -0
- package/dist/routes/client-profiles.js +128 -0
- package/dist/routes/client-profiles.js.map +1 -0
- package/dist/routes/compression.d.ts +2 -0
- package/dist/routes/compression.d.ts.map +1 -0
- package/dist/routes/compression.js +82 -0
- package/dist/routes/compression.js.map +1 -0
- package/dist/routes/conversations.d.ts +3 -0
- package/dist/routes/conversations.d.ts.map +1 -0
- package/dist/routes/conversations.js +215 -0
- package/dist/routes/conversations.js.map +1 -0
- package/dist/routes/docs.d.ts +2 -0
- package/dist/routes/docs.d.ts.map +1 -0
- package/dist/routes/docs.js +21 -0
- package/dist/routes/docs.js.map +1 -0
- package/dist/routes/embeddings.d.ts +2 -0
- package/dist/routes/embeddings.d.ts.map +1 -0
- package/dist/routes/embeddings.js +255 -0
- package/dist/routes/embeddings.js.map +1 -0
- package/dist/routes/fallback.d.ts +2 -0
- package/dist/routes/fallback.d.ts.map +1 -0
- package/dist/routes/fallback.js +631 -0
- package/dist/routes/fallback.js.map +1 -0
- package/dist/routes/free-tier.d.ts +22 -0
- package/dist/routes/free-tier.d.ts.map +1 -0
- package/dist/routes/free-tier.js +175 -0
- package/dist/routes/free-tier.js.map +1 -0
- package/dist/routes/gemini.d.ts +2 -0
- package/dist/routes/gemini.d.ts.map +1 -0
- package/dist/routes/gemini.js +218 -0
- package/dist/routes/gemini.js.map +1 -0
- package/dist/routes/health.d.ts +2 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +72 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/keys.d.ts +17 -0
- package/dist/routes/keys.d.ts.map +1 -0
- package/dist/routes/keys.js +1787 -0
- package/dist/routes/keys.js.map +1 -0
- package/dist/routes/logs.d.ts +2 -0
- package/dist/routes/logs.d.ts.map +1 -0
- package/dist/routes/logs.js +88 -0
- package/dist/routes/logs.js.map +1 -0
- package/dist/routes/mcp.d.ts +4 -0
- package/dist/routes/mcp.d.ts.map +1 -0
- package/dist/routes/mcp.js +563 -0
- package/dist/routes/mcp.js.map +1 -0
- package/dist/routes/media.d.ts +2 -0
- package/dist/routes/media.d.ts.map +1 -0
- package/dist/routes/media.js +180 -0
- package/dist/routes/media.js.map +1 -0
- package/dist/routes/models.d.ts +2 -0
- package/dist/routes/models.d.ts.map +1 -0
- package/dist/routes/models.js +439 -0
- package/dist/routes/models.js.map +1 -0
- package/dist/routes/ollama.d.ts +7 -0
- package/dist/routes/ollama.d.ts.map +1 -0
- package/dist/routes/ollama.js +595 -0
- package/dist/routes/ollama.js.map +1 -0
- package/dist/routes/profiles.d.ts +3 -0
- package/dist/routes/profiles.d.ts.map +1 -0
- package/dist/routes/profiles.js +431 -0
- package/dist/routes/profiles.js.map +1 -0
- package/dist/routes/proxy.d.ts +32 -0
- package/dist/routes/proxy.d.ts.map +1 -0
- package/dist/routes/proxy.js +2793 -0
- package/dist/routes/proxy.js.map +1 -0
- package/dist/routes/responses.d.ts +1161 -0
- package/dist/routes/responses.d.ts.map +1 -0
- package/dist/routes/responses.js +1521 -0
- package/dist/routes/responses.js.map +1 -0
- package/dist/routes/settings.d.ts +2 -0
- package/dist/routes/settings.d.ts.map +1 -0
- package/dist/routes/settings.js +549 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/routes/status.d.ts +3 -0
- package/dist/routes/status.d.ts.map +1 -0
- package/dist/routes/status.js +214 -0
- package/dist/routes/status.js.map +1 -0
- package/dist/routes/update.d.ts +31 -0
- package/dist/routes/update.d.ts.map +1 -0
- package/dist/routes/update.js +536 -0
- package/dist/routes/update.js.map +1 -0
- package/dist/routes/url-tokens.d.ts +2 -0
- package/dist/routes/url-tokens.d.ts.map +1 -0
- package/dist/routes/url-tokens.js +31 -0
- package/dist/routes/url-tokens.js.map +1 -0
- package/dist/scripts/export-catalog.d.ts +2 -0
- package/dist/scripts/export-catalog.d.ts.map +1 -0
- package/dist/scripts/export-catalog.js +114 -0
- package/dist/scripts/export-catalog.js.map +1 -0
- package/dist/scripts/rotate-encryption-key.d.ts +81 -0
- package/dist/scripts/rotate-encryption-key.d.ts.map +1 -0
- package/dist/scripts/rotate-encryption-key.js +232 -0
- package/dist/scripts/rotate-encryption-key.js.map +1 -0
- package/dist/scripts/routing-sim.d.ts +2 -0
- package/dist/scripts/routing-sim.d.ts.map +1 -0
- package/dist/scripts/routing-sim.js +130 -0
- package/dist/scripts/routing-sim.js.map +1 -0
- package/dist/scripts/test-all-models.d.ts +2 -0
- package/dist/scripts/test-all-models.d.ts.map +1 -0
- package/dist/scripts/test-all-models.js +56 -0
- package/dist/scripts/test-all-models.js.map +1 -0
- package/dist/services/anthropic-map.d.ts +39 -0
- package/dist/services/anthropic-map.d.ts.map +1 -0
- package/dist/services/anthropic-map.js +138 -0
- package/dist/services/anthropic-map.js.map +1 -0
- package/dist/services/auth.d.ts +30 -0
- package/dist/services/auth.d.ts.map +1 -0
- package/dist/services/auth.js +124 -0
- package/dist/services/auth.js.map +1 -0
- package/dist/services/auto-discover.d.ts +77 -0
- package/dist/services/auto-discover.d.ts.map +1 -0
- package/dist/services/auto-discover.js +1047 -0
- package/dist/services/auto-discover.js.map +1 -0
- package/dist/services/backups.d.ts +67 -0
- package/dist/services/backups.d.ts.map +1 -0
- package/dist/services/backups.js +444 -0
- package/dist/services/backups.js.map +1 -0
- package/dist/services/builtin-model-discovery.d.ts +107 -0
- package/dist/services/builtin-model-discovery.d.ts.map +1 -0
- package/dist/services/builtin-model-discovery.js +296 -0
- package/dist/services/builtin-model-discovery.js.map +1 -0
- package/dist/services/cache.d.ts +190 -0
- package/dist/services/cache.d.ts.map +1 -0
- package/dist/services/cache.js +617 -0
- package/dist/services/cache.js.map +1 -0
- package/dist/services/catalog-sync.d.ts +257 -0
- package/dist/services/catalog-sync.d.ts.map +1 -0
- package/dist/services/catalog-sync.js +1041 -0
- package/dist/services/catalog-sync.js.map +1 -0
- package/dist/services/compression/config.d.ts +33 -0
- package/dist/services/compression/config.d.ts.map +1 -0
- package/dist/services/compression/config.js +158 -0
- package/dist/services/compression/config.js.map +1 -0
- package/dist/services/compression/engines/aging.d.ts +2 -0
- package/dist/services/compression/engines/aging.d.ts.map +1 -0
- package/dist/services/compression/engines/aging.js +53 -0
- package/dist/services/compression/engines/aging.js.map +1 -0
- package/dist/services/compression/engines/custom-filters.d.ts +4 -0
- package/dist/services/compression/engines/custom-filters.d.ts.map +1 -0
- package/dist/services/compression/engines/custom-filters.js +49 -0
- package/dist/services/compression/engines/custom-filters.js.map +1 -0
- package/dist/services/compression/engines/dedup.d.ts +2 -0
- package/dist/services/compression/engines/dedup.d.ts.map +1 -0
- package/dist/services/compression/engines/dedup.js +61 -0
- package/dist/services/compression/engines/dedup.js.map +1 -0
- package/dist/services/compression/engines/filter-definitions.d.ts +75 -0
- package/dist/services/compression/engines/filter-definitions.d.ts.map +1 -0
- package/dist/services/compression/engines/filter-definitions.js +45 -0
- package/dist/services/compression/engines/filter-definitions.js.map +1 -0
- package/dist/services/compression/engines/hard-budget.d.ts +2 -0
- package/dist/services/compression/engines/hard-budget.d.ts.map +1 -0
- package/dist/services/compression/engines/hard-budget.js +52 -0
- package/dist/services/compression/engines/hard-budget.js.map +1 -0
- package/dist/services/compression/engines/index.d.ts +9 -0
- package/dist/services/compression/engines/index.d.ts.map +1 -0
- package/dist/services/compression/engines/index.js +9 -0
- package/dist/services/compression/engines/index.js.map +1 -0
- package/dist/services/compression/engines/jsoncompact.d.ts +3 -0
- package/dist/services/compression/engines/jsoncompact.d.ts.map +1 -0
- package/dist/services/compression/engines/jsoncompact.js +145 -0
- package/dist/services/compression/engines/jsoncompact.js.map +1 -0
- package/dist/services/compression/engines/lite.d.ts +2 -0
- package/dist/services/compression/engines/lite.d.ts.map +1 -0
- package/dist/services/compression/engines/lite.js +34 -0
- package/dist/services/compression/engines/lite.js.map +1 -0
- package/dist/services/compression/engines/read-lifecycle.d.ts +2 -0
- package/dist/services/compression/engines/read-lifecycle.d.ts.map +1 -0
- package/dist/services/compression/engines/read-lifecycle.js +70 -0
- package/dist/services/compression/engines/read-lifecycle.js.map +1 -0
- package/dist/services/compression/engines/relevance.d.ts +2 -0
- package/dist/services/compression/engines/relevance.d.ts.map +1 -0
- package/dist/services/compression/engines/relevance.js +74 -0
- package/dist/services/compression/engines/relevance.js.map +1 -0
- package/dist/services/compression/engines/toolfilter.d.ts +2 -0
- package/dist/services/compression/engines/toolfilter.d.ts.map +1 -0
- package/dist/services/compression/engines/toolfilter.js +195 -0
- package/dist/services/compression/engines/toolfilter.js.map +1 -0
- package/dist/services/compression/fidelity-gate.d.ts +12 -0
- package/dist/services/compression/fidelity-gate.d.ts.map +1 -0
- package/dist/services/compression/fidelity-gate.js +90 -0
- package/dist/services/compression/fidelity-gate.js.map +1 -0
- package/dist/services/compression/helpers.d.ts +9 -0
- package/dist/services/compression/helpers.d.ts.map +1 -0
- package/dist/services/compression/helpers.js +52 -0
- package/dist/services/compression/helpers.js.map +1 -0
- package/dist/services/compression/pipeline.d.ts +7 -0
- package/dist/services/compression/pipeline.d.ts.map +1 -0
- package/dist/services/compression/pipeline.js +245 -0
- package/dist/services/compression/pipeline.js.map +1 -0
- package/dist/services/compression/preservation.d.ts +27 -0
- package/dist/services/compression/preservation.d.ts.map +1 -0
- package/dist/services/compression/preservation.js +109 -0
- package/dist/services/compression/preservation.js.map +1 -0
- package/dist/services/compression/registry.d.ts +6 -0
- package/dist/services/compression/registry.d.ts.map +1 -0
- package/dist/services/compression/registry.js +16 -0
- package/dist/services/compression/registry.js.map +1 -0
- package/dist/services/compression/stats.d.ts +29 -0
- package/dist/services/compression/stats.d.ts.map +1 -0
- package/dist/services/compression/stats.js +55 -0
- package/dist/services/compression/stats.js.map +1 -0
- package/dist/services/compression/types.d.ts +90 -0
- package/dist/services/compression/types.d.ts.map +1 -0
- package/dist/services/compression/types.js +2 -0
- package/dist/services/compression/types.js.map +1 -0
- package/dist/services/context-handoff.d.ts +22 -0
- package/dist/services/context-handoff.d.ts.map +1 -0
- package/dist/services/context-handoff.js +164 -0
- package/dist/services/context-handoff.js.map +1 -0
- package/dist/services/cooldown-probe.d.ts +24 -0
- package/dist/services/cooldown-probe.d.ts.map +1 -0
- package/dist/services/cooldown-probe.js +181 -0
- package/dist/services/cooldown-probe.js.map +1 -0
- package/dist/services/custom-endpoint.d.ts +58 -0
- package/dist/services/custom-endpoint.d.ts.map +1 -0
- package/dist/services/custom-endpoint.js +167 -0
- package/dist/services/custom-endpoint.js.map +1 -0
- package/dist/services/custom-media-register.d.ts +22 -0
- package/dist/services/custom-media-register.d.ts.map +1 -0
- package/dist/services/custom-media-register.js +45 -0
- package/dist/services/custom-media-register.js.map +1 -0
- package/dist/services/custom-model-register.d.ts +50 -0
- package/dist/services/custom-model-register.d.ts.map +1 -0
- package/dist/services/custom-model-register.js +103 -0
- package/dist/services/custom-model-register.js.map +1 -0
- package/dist/services/custom-model-seed.d.ts +18 -0
- package/dist/services/custom-model-seed.d.ts.map +1 -0
- package/dist/services/custom-model-seed.js +42 -0
- package/dist/services/custom-model-seed.js.map +1 -0
- package/dist/services/custom-model-sync.d.ts +37 -0
- package/dist/services/custom-model-sync.d.ts.map +1 -0
- package/dist/services/custom-model-sync.js +118 -0
- package/dist/services/custom-model-sync.js.map +1 -0
- package/dist/services/custom-model-tombstone.d.ts +5 -0
- package/dist/services/custom-model-tombstone.d.ts.map +1 -0
- package/dist/services/custom-model-tombstone.js +30 -0
- package/dist/services/custom-model-tombstone.js.map +1 -0
- package/dist/services/declarative-config.d.ts +356 -0
- package/dist/services/declarative-config.d.ts.map +1 -0
- package/dist/services/declarative-config.js +427 -0
- package/dist/services/declarative-config.js.map +1 -0
- package/dist/services/degradation.d.ts +40 -0
- package/dist/services/degradation.d.ts.map +1 -0
- package/dist/services/degradation.js +119 -0
- package/dist/services/degradation.js.map +1 -0
- package/dist/services/embeddings.d.ts +76 -0
- package/dist/services/embeddings.d.ts.map +1 -0
- package/dist/services/embeddings.js +319 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/fusion.d.ts +162 -0
- package/dist/services/fusion.d.ts.map +1 -0
- package/dist/services/fusion.js +789 -0
- package/dist/services/fusion.js.map +1 -0
- package/dist/services/gemini-map.d.ts +14 -0
- package/dist/services/gemini-map.d.ts.map +1 -0
- package/dist/services/gemini-map.js +78 -0
- package/dist/services/gemini-map.js.map +1 -0
- package/dist/services/health.d.ts +52 -0
- package/dist/services/health.d.ts.map +1 -0
- package/dist/services/health.js +352 -0
- package/dist/services/health.js.map +1 -0
- package/dist/services/idempotency.d.ts +49 -0
- package/dist/services/idempotency.d.ts.map +1 -0
- package/dist/services/idempotency.js +140 -0
- package/dist/services/idempotency.js.map +1 -0
- package/dist/services/key-budget.d.ts +74 -0
- package/dist/services/key-budget.d.ts.map +1 -0
- package/dist/services/key-budget.js +200 -0
- package/dist/services/key-budget.js.map +1 -0
- package/dist/services/media.d.ts +123 -0
- package/dist/services/media.d.ts.map +1 -0
- package/dist/services/media.js +954 -0
- package/dist/services/media.js.map +1 -0
- package/dist/services/model-discovery.d.ts +126 -0
- package/dist/services/model-discovery.d.ts.map +1 -0
- package/dist/services/model-discovery.js +662 -0
- package/dist/services/model-discovery.js.map +1 -0
- package/dist/services/model-groups.d.ts +149 -0
- package/dist/services/model-groups.d.ts.map +1 -0
- package/dist/services/model-groups.js +314 -0
- package/dist/services/model-groups.js.map +1 -0
- package/dist/services/model-listing.d.ts +18 -0
- package/dist/services/model-listing.d.ts.map +1 -0
- package/dist/services/model-listing.js +94 -0
- package/dist/services/model-listing.js.map +1 -0
- package/dist/services/model-retirement.d.ts +29 -0
- package/dist/services/model-retirement.d.ts.map +1 -0
- package/dist/services/model-retirement.js +86 -0
- package/dist/services/model-retirement.js.map +1 -0
- package/dist/services/model-state.d.ts +90 -0
- package/dist/services/model-state.d.ts.map +1 -0
- package/dist/services/model-state.js +342 -0
- package/dist/services/model-state.js.map +1 -0
- package/dist/services/model-weight-overrides.d.ts +48 -0
- package/dist/services/model-weight-overrides.d.ts.map +1 -0
- package/dist/services/model-weight-overrides.js +127 -0
- package/dist/services/model-weight-overrides.js.map +1 -0
- package/dist/services/notification-emitter.d.ts +50 -0
- package/dist/services/notification-emitter.d.ts.map +1 -0
- package/dist/services/notification-emitter.js +177 -0
- package/dist/services/notification-emitter.js.map +1 -0
- package/dist/services/opencode-free-sync.d.ts +29 -0
- package/dist/services/opencode-free-sync.d.ts.map +1 -0
- package/dist/services/opencode-free-sync.js +206 -0
- package/dist/services/opencode-free-sync.js.map +1 -0
- package/dist/services/penalty-inspector.d.ts +56 -0
- package/dist/services/penalty-inspector.d.ts.map +1 -0
- package/dist/services/penalty-inspector.js +167 -0
- package/dist/services/penalty-inspector.js.map +1 -0
- package/dist/services/profile-models.d.ts +5 -0
- package/dist/services/profile-models.d.ts.map +1 -0
- package/dist/services/profile-models.js +62 -0
- package/dist/services/profile-models.js.map +1 -0
- package/dist/services/provider-credential.d.ts +19 -0
- package/dist/services/provider-credential.d.ts.map +1 -0
- package/dist/services/provider-credential.js +51 -0
- package/dist/services/provider-credential.js.map +1 -0
- package/dist/services/provider-quota.d.ts +64 -0
- package/dist/services/provider-quota.d.ts.map +1 -0
- package/dist/services/provider-quota.js +563 -0
- package/dist/services/provider-quota.js.map +1 -0
- package/dist/services/quirks.d.ts +0 -0
- package/dist/services/quirks.d.ts.map +1 -0
- package/dist/services/quirks.js +0 -0
- package/dist/services/quirks.js.map +1 -0
- package/dist/services/quota-forecast.d.ts +50 -0
- package/dist/services/quota-forecast.d.ts.map +1 -0
- package/dist/services/quota-forecast.js +150 -0
- package/dist/services/quota-forecast.js.map +1 -0
- package/dist/services/quota-outlook.d.ts +4 -0
- package/dist/services/quota-outlook.d.ts.map +1 -0
- package/dist/services/quota-outlook.js +92 -0
- package/dist/services/quota-outlook.js.map +1 -0
- package/dist/services/ratelimit.d.ts +249 -0
- package/dist/services/ratelimit.d.ts.map +1 -0
- package/dist/services/ratelimit.js +1182 -0
- package/dist/services/ratelimit.js.map +1 -0
- package/dist/services/request-retention.d.ts +60 -0
- package/dist/services/request-retention.d.ts.map +1 -0
- package/dist/services/request-retention.js +229 -0
- package/dist/services/request-retention.js.map +1 -0
- package/dist/services/router.d.ts +384 -0
- package/dist/services/router.d.ts.map +1 -0
- package/dist/services/router.js +1986 -0
- package/dist/services/router.js.map +1 -0
- package/dist/services/scoring.d.ts +156 -0
- package/dist/services/scoring.d.ts.map +1 -0
- package/dist/services/scoring.js +435 -0
- package/dist/services/scoring.js.map +1 -0
- package/dist/services/url-tokens.d.ts +15 -0
- package/dist/services/url-tokens.d.ts.map +1 -0
- package/dist/services/url-tokens.js +55 -0
- package/dist/services/url-tokens.js.map +1 -0
- package/package.json +77 -4
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAoD,MAAM,WAAW,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mCAAmC,EAAgC,MAAM,+BAA+B,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,QAAQ,GAAG,kDAAkD,CAAC;AAEpE,SAAS,eAAe,CAAC,GAAa,EAAE,IAAS;IAC/C,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;IACtH,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC9C,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,6CAA6C;eAChE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;eAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAc,EAAE,EAAE,CAC3C,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4CAA4C;AACvF,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwC,CAAC;AAExE,SAAS,uBAAuB,CAAC,IAAa;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB,EAAE,IAAa;IAChE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,QAAQ,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,mDAAmD;AACnD,MAAM,uBAAuB,GAAG,sCAAsC,CAAC;AAEvE,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAElC,SAAS,yBAAyB,CAAC,IAAwB;IACzD,IAAI,qBAAqB;QAAE,OAAO;IAClC,qBAAqB,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,IAAI,CACV,2DAA2D,IAAI,IAAI,SAAS,KAAK;QACjF,4EAA4E;QAC5E,0EAA0E;QAC1E,4BAA4B,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAuB,EAAE,GAAuB;IAC7E,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO;IACzB,8EAA8E;IAC9E,IAAI,eAAe,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS;YAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA0B,EAAE,GAAuB,EAAE,IAAa,EAAE,IAAc;IAC5G,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAChE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAuB;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACzB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,IAAa,EAAE,IAAc;IACjF,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;WAC1D,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAsCD,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,qBAAqB,CAAC,iBAAmE;IAChG,MAAM,IAAI,GAAG,iBAAiB,EAAE,KAAK;QACnC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,IAAI,CAAC,MAAM,CAAC;SACZ,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,sDAAsD;AACtD,SAAS,gBAAgB,CACvB,OAAe,EACf,QAAyB,EACzB,iBAAiE;IAEjE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAEnE,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAErC,OAAO;QACL,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;YAC/C,GAAG,QAAQ;SACZ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAqB;IACjD,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC5G,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qEAAqE;AACrE,yEAAyE;AACzE,oDAAoD;AACpD,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAEnG,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,sBAAsB,GAA8C;IACxE,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA2B;IAChE,MAAM,GAAG,GAA4B;QACnC,IAAI,EAAE,OAAO,EAAE,KAAK;QACpB,IAAI,EAAE,OAAO,EAAE,IAAI;QACnB,eAAe,EAAE,OAAO,EAAE,gBAAgB;QAC1C,gBAAgB,EAAE,OAAO,EAAE,iBAAiB;KAC7C,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,EAAE,eAAe,CAAC;IACpC,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,YAAY;IACZ,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5G,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,GAAG,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;QAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,MAAM;YAAE,GAAG,CAAC,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,6DAA6D;IAC7D,4BAA4B;IAC5B,MAAM,MAAM,GAAG,OAAO,EAAE,gBAAgB,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,cAAc,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC;YAC9D,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;YACvB,CAAC,CAAC,EAAE,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAA4B;IACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnD,MAAM,oBAAoB,GAAmC,EAAE,CAAC;IAChE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5D,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QACD,oBAAoB,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;YACnC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,IAAI,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACxE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAsC;IACrE,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;AAChE,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA2B;IACrD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GACR,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,UAAU,KAAK,UAAU;gBACzB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,qBAAqB,EAAE;YACrB,IAAI,EAAE,KAAK;YACX,oBAAoB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;SACjD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,qCAAqC;AAE9E,6EAA6E;AAC7E,0EAA0E;AAC1E,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,EAAE,GAAI,KAAiC,EAAE,SAAS,CAAC;IACzD,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,EAAE,IAAI,OAAQ,EAAwB,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAQ,EAAsB,CAAC,GAAG,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,2EAA2E;AAC3E,KAAK,UAAU,oBAAoB,CAAC,GAAW;IAC7C,MAAM,SAAS,GAAG,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,mEAAmE;YACnE,oEAAoE;YACpE,qEAAqE;YACrE,wDAAwD;YACxD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtG,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,eAAe;gBAAE,OAAO,IAAI,CAAC;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC;YACxF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,KAAK,UAAU,kBAAkB,CAAC,OAA+B;IAC/D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAI,KAA2B,EAAE,IAAI,CAAC;YAChD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO;gBAAE,SAAS;YACvD,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,KAAK,UAAU,gBAAgB,CAAC,QAAuB;IAIrD,MAAM,cAAc,GAAG,QAAQ;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACpC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAChC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAmE,EAAE;QAChF,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAiB,EAAE,CAAC;YAE/B,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACtC,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,kEAAkE;gBAClE,mEAAmE;gBACnE,qCAAqC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/G,IAAI,CAAC,KAAK;oBAAE,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,KAAK,IAAI,uBAAuB,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC;oBACT,gBAAgB,EAAE,GAAG;oBACrB,YAAY,EAAE;wBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;wBACxB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAC/C;iBACF,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK;aACN,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;YAClC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAE7B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;YACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAE7D,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;wBACN,gBAAgB,EAAE;4BAChB,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,QAAQ;4BACd,QAAQ;yBACT;qBACF,CAAC;aACH,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;SAC3C,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;SACH,MAAM,CAAC,CAAC,KAAK,EAA4D,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAE/F,OAAO;QACL,QAAQ;QACR,iBAAiB,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACpD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+B;IACvD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI;YAAE,SAAS;QAEvC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzD,6EAA6E;QAC7E,2EAA2E;QAC3E,sDAAsD;QACtD,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC;YACT,EAAE;YACF,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;gBAC5B,SAAS,EAAE,IAAI;aAChB;YACD,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAA+B;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA+B;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,KAAK;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA+B;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AASD,MAAM,OAAO,cAAe,SAAQ,YAAY;IACrC,QAAQ,GAAG,QAAiB,CAAC;IAC7B,IAAI,GAAG,kBAAkB,CAAC;IAClB,SAAS,CAAS;IAEnC,YAAY,OAA8B,EAAE;QAC1C,KAAK,EAAE,CAAC;QACR,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,QAAuB,EACvB,OAAe,EACf,OAA2B,EAC3B,YAAsC;QAEtC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE;gBAChB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,eAAe,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC;gBAC7F,IAAI,EAAE,OAAO,EAAE,KAAK;gBACpB,aAAa,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC;gBACnD,GAAG,sBAAsB,CAAC,OAAO,CAAC;aACnC;YACD,KAAK;YACL,4EAA4E;YAC5E,oEAAoE;YACpE,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAClG,CAAC;QACF,IAAI,OAAO,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAElF,MAAM,GAAG,GAAG,GAAG,QAAQ,WAAW,OAAO,kBAAkB,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,oEAAoE;YACpE,kEAAkE;SACnE,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;QAEhG,mCAAmC,CAAC,GAAG,EAAE;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,YAAY,EAAE,KAAK;YAC1B,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;YAClD,OAAO;YACP,YAAY,EAAE,YAAY,EAAE,YAAY;YACxC,QAAQ,EAAE,kBAAkB;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAoB,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;QACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAExD,MAAM,KAAK,GAAe;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,IAAI,CAAC;YACxD,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,IAAI,CAAC;YAChE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,IAAI,CAAC;SACvD,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,IAAI;wBACb,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC3D;oBACD,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC;iBACnG,CAAC;YACF,KAAK;YACL,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CACzB,MAAc,EACd,QAAuB,EACvB,OAAe,EACf,OAA2B,EAC3B,YAAsC;QAEtC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE;gBAChB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,eAAe,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC;gBAC7F,IAAI,EAAE,OAAO,EAAE,KAAK;gBACpB,aAAa,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC;gBACnD,GAAG,sBAAsB,CAAC,OAAO,CAAC;aACnC;YACD,KAAK;YACL,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAClG,CAAC;QACF,IAAI,OAAO,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAElF,MAAM,GAAG,GAAG,GAAG,QAAQ,WAAW,OAAO,gCAAgC,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACzE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,uEAAuE;YACvE,gEAAgE;SACjE,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtE,mCAAmC,CAAC,GAAG,EAAE;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,YAAY,EAAE,KAAK;YAC1B,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;YAClD,OAAO;YACP,YAAY,EAAE,YAAY,EAAE,YAAY;YACxC,QAAQ,EAAE,kBAAkB;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,4EAA4E;QAC5E,4EAA4E;QAC5E,mEAAmE;QACnE,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACtG,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,iBAAiB;oBACvC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;oBAC9G,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAC9E,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,mEAAmE;oBACnE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS;oBACvD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC/C,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,aAAa,GAAG,IAAI,CAAC;4BACrB,MAAM;gCACJ,EAAE;gCACF,MAAM,EAAE,uBAAuB;gCAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gCACtC,KAAK,EAAE,OAAO;gCACd,OAAO,EAAE,CAAC;wCACR,KAAK,EAAE,CAAC;wCACR,KAAK,EAAE,EAAE;wCACT,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;qCACpD,CAAC;6BACH,CAAC;wBACJ,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,kEAAkE;oBAClE,sEAAsE;oBACtE,uEAAuE;oBACvE,IAAI,KAAqB,CAAC;oBAC1B,IAAI,CAAC;wBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;oBAC5C,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxC,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;oBAE9C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBACtD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;wBAC1E,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;4BAAE,OAAO,KAAK,CAAC;wBAC5C,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC1B,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3G,YAAY,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;wBACpD,MAAM;4BACJ,EAAE;4BACF,MAAM,EAAE,uBAAuB;4BAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;4BACtC,KAAK,EAAE,OAAO;4BACd,OAAO,EAAE,CAAC;oCACR,KAAK,EAAE,CAAC;oCACR,KAAK,EAAE;wCACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wCAClC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wCACpE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qCAC3D;oCACD,aAAa,EAAE,IAAI;iCACpB,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,IAAI,SAAS,EAAE,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC9C,aAAa,GAAG,IAAI,CAAC;wBACrB,MAAM;4BACJ,EAAE;4BACF,MAAM,EAAE,uBAAuB;4BAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;4BACtC,KAAK,EAAE,OAAO;4BACd,OAAO,EAAE,CAAC;oCACR,KAAK,EAAE,CAAC;oCACR,KAAK,EAAE,EAAE;oCACT,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;iCAC1F,CAAC;yBACH,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,sEAAsE;YACtE,yEAAyE;YACzE,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAA+B,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,8BAA8B;QAC9B,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,mGAAmG,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,YAAsC;QACtE,sEAAsE;QACtE,gCAAgC;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACrC,GAAG,QAAQ,SAAS,EACpB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EACxD,KAAK,EACL,EAAE,aAAa,EAAE,SAAS,EAAE,CAC7B,CAAC;QACF,mCAAmC,CAAC,GAAG,EAAE;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,YAAY,EAAE,KAAK;YAC1B,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;YAClD,OAAO,EAAE,YAAY,EAAE,OAAO;YAC9B,YAAY,EAAE,YAAY,EAAE,YAAY;YACxC,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAexB,IAAI,IAAI,GAA2B,IAAI,CAAC;QACxC,IAAI,CAAC;YAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAI,CAAC,OAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,EAAE,MAA4B,CAAC;QAC9F,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzE,MAAM,cAAc,GAClB,GAAG,CAAC,MAAM,KAAK,GAAG;YAClB,MAAM,KAAK,iBAAiB;YAC5B,oDAAoD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,uDAAuD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChH,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,sCAAsC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACxH,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CACV,2CAA2C,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;YACzI,6HAA6H,CAC9H,CAAC;QACF,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YACrH,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Platform } from '@srouter/shared/types.js';
|
|
2
|
+
import type { BaseProvider } from './base.js';
|
|
3
|
+
export declare function getProvider(platform: Platform): BaseProvider | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the provider for a route. Built-in platforms return their registered
|
|
6
|
+
* singleton; the 'custom' platform builds a fresh OpenAICompatProvider bound to
|
|
7
|
+
* the caller-supplied base URL (stored per api_keys row). Returns undefined for
|
|
8
|
+
* a custom provider with no base URL configured.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveProvider(platform: Platform, baseUrl?: string | null): BaseProvider | undefined;
|
|
11
|
+
export declare function getAllProviders(): BaseProvider[];
|
|
12
|
+
export declare function hasProvider(platform: Platform): boolean;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA0kB9C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,CAYrG;AAED,wBAAgB,eAAe,IAAI,YAAY,EAAE,CAEhD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
import { GoogleProvider } from './google.js';
|
|
2
|
+
import { OpenAICompatProvider } from './openai-compat.js';
|
|
3
|
+
import { CohereProvider } from './cohere.js';
|
|
4
|
+
import { CloudflareProvider } from './cloudflare.js';
|
|
5
|
+
import { AIHordeProvider } from './aihorde.js';
|
|
6
|
+
import { ModelScopeProvider } from './modelscope.js';
|
|
7
|
+
import { PollinationsProvider } from './pollinations.js';
|
|
8
|
+
import { ZhipuProvider } from './zhipu.js';
|
|
9
|
+
import { SailProvider } from './sail.js';
|
|
10
|
+
import { AclideProvider } from './aclide.js';
|
|
11
|
+
import { SpekaProvider } from './speka.js';
|
|
12
|
+
import { LlmtrProvider } from './llmtr.js';
|
|
13
|
+
import { GizmoProvider } from './gizmo.js';
|
|
14
|
+
import { BlockRunProvider } from './blockrun.js';
|
|
15
|
+
import { MoondreamProvider } from './moondream.js';
|
|
16
|
+
import { ElectronHubProvider } from './electronhub.js';
|
|
17
|
+
import { ExperientialProvider } from './experiential.js';
|
|
18
|
+
import { Router9Provider } from './router9.js';
|
|
19
|
+
import { SeptorProvider } from './septor.js';
|
|
20
|
+
import { ClodProvider } from './clod.js';
|
|
21
|
+
import { SpeechifyProvider } from './speechify.js';
|
|
22
|
+
import { BlazeProvider } from './blaze.js';
|
|
23
|
+
import { LucidityProvider } from './lucidity.js';
|
|
24
|
+
import { AirforceProvider } from './airforce.js';
|
|
25
|
+
import { DreamPromptingProvider } from './dreamprompting.js';
|
|
26
|
+
import { WaterfallProvider } from './waterfall.js';
|
|
27
|
+
import { LogfareProvider } from './logfare.js';
|
|
28
|
+
import { XKiroProvider } from './xkiro.js';
|
|
29
|
+
import { OpenCodeFreeProvider } from './opencode-free.js';
|
|
30
|
+
const providers = new Map();
|
|
31
|
+
function register(provider) {
|
|
32
|
+
providers.set(provider.platform, provider);
|
|
33
|
+
}
|
|
34
|
+
// Google - unique Gemini API format. Gemma reasoning variants take 20-60s on
|
|
35
|
+
// cold start; the default 15s false-flags them as broken. 60s covers the
|
|
36
|
+
// bulk; per-call overrides via CompletionOptions.timeoutMs still win.
|
|
37
|
+
register(new GoogleProvider({ timeoutMs: 60_000 }));
|
|
38
|
+
// Groq - OpenAI-compatible
|
|
39
|
+
register(new OpenAICompatProvider({
|
|
40
|
+
platform: 'groq',
|
|
41
|
+
name: 'Groq',
|
|
42
|
+
baseUrl: 'https://api.groq.com/openai/v1',
|
|
43
|
+
}));
|
|
44
|
+
// xAI (Grok) - OpenAI-compatible
|
|
45
|
+
register(new OpenAICompatProvider({
|
|
46
|
+
platform: 'xai',
|
|
47
|
+
name: 'xAI (Grok)',
|
|
48
|
+
baseUrl: 'https://api.x.ai/v1',
|
|
49
|
+
}));
|
|
50
|
+
// Cerebras - OpenAI-compatible
|
|
51
|
+
register(new OpenAICompatProvider({
|
|
52
|
+
platform: 'cerebras',
|
|
53
|
+
name: 'Cerebras',
|
|
54
|
+
baseUrl: 'https://api.cerebras.ai/v1',
|
|
55
|
+
}));
|
|
56
|
+
// Sail Research — its stable API is /v1/responses and all calls are submitted
|
|
57
|
+
// as background jobs, then polled. The dedicated adapter translates terminal
|
|
58
|
+
// Responses objects back to Chat Completions and handles flex-only models.
|
|
59
|
+
// Sail grants $5 in free credits every month when a payment method is attached;
|
|
60
|
+
// usage beyond that grant is pay-as-you-go. Live-tested 2026-09-01. Model rows
|
|
61
|
+
// stay in Oracle so the existing catalog age-in gate applies.
|
|
62
|
+
register(new SailProvider());
|
|
63
|
+
register(new AclideProvider());
|
|
64
|
+
register(new SpekaProvider());
|
|
65
|
+
register(new LlmtrProvider());
|
|
66
|
+
register(new GizmoProvider());
|
|
67
|
+
register(new BlockRunProvider());
|
|
68
|
+
register(new MoondreamProvider());
|
|
69
|
+
// Free-plan grants are shared wallets, not free credits per model. Eligibility
|
|
70
|
+
// and tested model rows belong in Oracle, never in bundled DB migrations.
|
|
71
|
+
register(new ElectronHubProvider());
|
|
72
|
+
register(new ExperientialProvider());
|
|
73
|
+
// Router9 has shared monthly credits; Septor's zero-price models share daily
|
|
74
|
+
// quota (its signup credit is one-time). Model rows live only in Oracle so
|
|
75
|
+
// the existing catalog age-in gate remains authoritative.
|
|
76
|
+
register(new Router9Provider());
|
|
77
|
+
register(new SeptorProvider());
|
|
78
|
+
register(new ClodProvider());
|
|
79
|
+
register(new SpeechifyProvider());
|
|
80
|
+
register(new BlazeProvider());
|
|
81
|
+
// Five more OpenAI-compatible gateways. Each pins the response model to the
|
|
82
|
+
// requested route (502 on substitution); rows stay in the hosted catalog.
|
|
83
|
+
register(new LucidityProvider());
|
|
84
|
+
register(new AirforceProvider());
|
|
85
|
+
register(new DreamPromptingProvider());
|
|
86
|
+
register(new WaterfallProvider());
|
|
87
|
+
register(new LogfareProvider());
|
|
88
|
+
// B.AI — OpenAI-compatible gateway. Provider support is first-class, but the
|
|
89
|
+
// only free catalog row currently published is a limited-time 0-credit promo;
|
|
90
|
+
// keep commercial eligibility in the hosted catalog rather than seeding it.
|
|
91
|
+
register(new OpenAICompatProvider({
|
|
92
|
+
platform: 'bai',
|
|
93
|
+
name: 'B.AI',
|
|
94
|
+
baseUrl: 'https://api.b.ai/v1',
|
|
95
|
+
}));
|
|
96
|
+
// AnyAPI - OpenAI-compatible gateway (anyapi.ai). Free tier (checked against
|
|
97
|
+
// anyapi.ai/pricing 2026-08-10): $0, no card, recurring — but the binding limit
|
|
98
|
+
// is 100K TOKENS PER DAY, and only "free and basic" models are in scope. AnyAPI
|
|
99
|
+
// publishes no RPM/RPD numbers at all; the 20 RPM / 200 RPD figures in #732 are
|
|
100
|
+
// OpenRouter's, not AnyAPI's, so nothing here asserts a request rate.
|
|
101
|
+
//
|
|
102
|
+
// Model rows are NOT seeded here or in migrations — they are authored in the
|
|
103
|
+
// hosted catalog and arrive via catalog-sync once the platform is registered
|
|
104
|
+
// (see services/catalog-sync.ts, which gates on hasProvider). The ids proposed
|
|
105
|
+
// in #732 (meta-llama/llama-3.3-70b-instruct:free, qwen/qwen3-coder:free,
|
|
106
|
+
// nvidia/nemotron-3-ultra-550b-a55b:free, google/gemma-4-26b-a4b-it:free) came
|
|
107
|
+
// from a third-party list and are UNVERIFIED against the live /v1/models, which
|
|
108
|
+
// needs a key; treat them as candidates for catalog authoring, where a bad id
|
|
109
|
+
// is caught by the health check instead of shipped as a default.
|
|
110
|
+
register(new OpenAICompatProvider({
|
|
111
|
+
platform: 'anyapi',
|
|
112
|
+
name: 'AnyAPI',
|
|
113
|
+
baseUrl: 'https://api.anyapi.ai/v1',
|
|
114
|
+
}));
|
|
115
|
+
// AMD Radeon Cloud TokenFactory — the shared Model API is OpenAI-compatible
|
|
116
|
+
// and its current public roster is free without consuming GPU-instance
|
|
117
|
+
// credits. Public models are experimental and may rotate, so their ids remain
|
|
118
|
+
// in the hosted catalog rather than migrations. Both current models reject
|
|
119
|
+
// parallel tool calls; long reasoning requests may run for up to ten minutes.
|
|
120
|
+
register(new OpenAICompatProvider({
|
|
121
|
+
platform: 'radeon',
|
|
122
|
+
name: 'AMD Radeon Cloud',
|
|
123
|
+
baseUrl: 'https://developer.amd.com.cn/radeon/api/v1',
|
|
124
|
+
forceSingleToolCall: true,
|
|
125
|
+
timeoutMs: 600_000,
|
|
126
|
+
}));
|
|
127
|
+
// SambaNova was dropped in V23 (June 2026): the free tier is permanently gone.
|
|
128
|
+
// The always-free tier was retired in early 2025 for a one-time $5 trial
|
|
129
|
+
// credit (expires in 3 months); once it lapses, every chat call 402s
|
|
130
|
+
// "payment method required" with no recurring no-card path back.
|
|
131
|
+
// NVIDIA NIM - OpenAI-compatible. Several NIM models reject parallel tool calls
|
|
132
|
+
// ("This model only supports single tool-calls at once!"), so pin
|
|
133
|
+
// parallel_tool_calls to false when tools are present. See issue #255.
|
|
134
|
+
// Reasoning models (deepseek-v4-pro, llama-4-maverick, llama-3.1/3.3-70b) take
|
|
135
|
+
// 30-60s on cold start; the default 15s false-flags them as broken. 180s:
|
|
136
|
+
// NIM sends SSE headers instantly, then prefills 100k-token prompts for
|
|
137
|
+
// minutes before the first byte, and this value doubles as the streaming
|
|
138
|
+
// first-byte grace budget (#584). Env-tunable via PROVIDER_TIMEOUT_NVIDIA.
|
|
139
|
+
register(new OpenAICompatProvider({
|
|
140
|
+
platform: 'nvidia',
|
|
141
|
+
name: 'NVIDIA NIM',
|
|
142
|
+
baseUrl: 'https://integrate.api.nvidia.com/v1',
|
|
143
|
+
forceSingleToolCall: true,
|
|
144
|
+
timeoutMs: 180_000,
|
|
145
|
+
}));
|
|
146
|
+
// Mistral - OpenAI-compatible
|
|
147
|
+
register(new OpenAICompatProvider({
|
|
148
|
+
platform: 'mistral',
|
|
149
|
+
name: 'Mistral',
|
|
150
|
+
baseUrl: 'https://api.mistral.ai/v1',
|
|
151
|
+
}));
|
|
152
|
+
// OpenRouter - OpenAI-compatible with extra headers
|
|
153
|
+
register(new OpenAICompatProvider({
|
|
154
|
+
platform: 'openrouter',
|
|
155
|
+
name: 'OpenRouter',
|
|
156
|
+
baseUrl: 'https://openrouter.ai/api/v1',
|
|
157
|
+
extraHeaders: {
|
|
158
|
+
'HTTP-Referer': 'http://localhost:20268',
|
|
159
|
+
'X-Title': 'srouter',
|
|
160
|
+
},
|
|
161
|
+
}));
|
|
162
|
+
// GitHub Models — OpenAI-compatible. Catalog uses `<publisher>/<model>` ids
|
|
163
|
+
// (e.g. `openai/gpt-4.1`); the old Azure endpoint rejects that prefix with
|
|
164
|
+
// "Unknown model", so route to the current models.github.ai endpoint.
|
|
165
|
+
register(new OpenAICompatProvider({
|
|
166
|
+
platform: 'github',
|
|
167
|
+
name: 'GitHub Models',
|
|
168
|
+
baseUrl: 'https://models.github.ai/inference',
|
|
169
|
+
}));
|
|
170
|
+
// Cohere - OpenAI-compatible via Cohere compatibility endpoint
|
|
171
|
+
register(new CohereProvider());
|
|
172
|
+
// Cloudflare Workers AI - OpenAI-compatible endpoint (key = "account_id:token")
|
|
173
|
+
register(new CloudflareProvider());
|
|
174
|
+
// Zhipu (Z.ai / bigmodel.cn) - OpenAI-compatible. ZhipuProvider is stock
|
|
175
|
+
// openai-compat chat routing plus console autodetect: the domestic
|
|
176
|
+
// open.bigmodel.cn host stays the default, and a key it rejects is re-probed
|
|
177
|
+
// against the global api.z.ai host during validation instead of being written
|
|
178
|
+
// off as invalid (the two consoles don't share a key namespace).
|
|
179
|
+
//
|
|
180
|
+
// glm-4.7-flash is a hidden-reasoning model: it burns through a long
|
|
181
|
+
// reasoning_content before the first answer byte (live-probed 41s TTFB on a
|
|
182
|
+
// one-word completion, 2026-07-11), and Zhipu buffers that phase even when
|
|
183
|
+
// streaming — so the default 15s timeout aborted every attempt. 60s covers
|
|
184
|
+
// the observed worst case with headroom.
|
|
185
|
+
register(new ZhipuProvider({ timeoutMs: 60_000 }));
|
|
186
|
+
// Hugging Face Inference Providers router — re-added in V13. The V4 removal
|
|
187
|
+
// reason ("tool-call format issues") was the legacy serverless route that
|
|
188
|
+
// emitted tool calls as text; the new router.huggingface.co meta-router
|
|
189
|
+
// uses each backend's native protocol then normalizes the response.
|
|
190
|
+
// Recurring $0.10/mo router credit on the free tier, no card required.
|
|
191
|
+
register(new OpenAICompatProvider({
|
|
192
|
+
platform: 'huggingface',
|
|
193
|
+
name: 'HuggingFace Router',
|
|
194
|
+
baseUrl: 'https://router.huggingface.co/v1',
|
|
195
|
+
}));
|
|
196
|
+
// Moonshot direct integration was dropped in V4 (paid-only); MiniMax direct
|
|
197
|
+
// was dropped in V4 (superseded by the OpenRouter route).
|
|
198
|
+
// Ollama Cloud — OpenAI-compatible. Free plan: 1 concurrent model, 5h session
|
|
199
|
+
// caps, GPU-time-based quota (not per-token). Many catalog models on the
|
|
200
|
+
// /v1/models list are subscription-only — Free returns 403 with an explicit
|
|
201
|
+
// "this model requires a subscription" message. Catalog rows are filtered to
|
|
202
|
+
// confirmed-Free entries.
|
|
203
|
+
//
|
|
204
|
+
// Frontier reasoning models (glm-4.7, kimi-k2-thinking, cogito-2.1:671b)
|
|
205
|
+
// regularly take 30-90s on Ollama Cloud Free, so the timeout is bumped from
|
|
206
|
+
// the default 15s. Ollama returns reasoning in `message.reasoning` (not
|
|
207
|
+
// `reasoning_content`) — handled by normalizeChoices.
|
|
208
|
+
register(new OpenAICompatProvider({
|
|
209
|
+
platform: 'ollama',
|
|
210
|
+
name: 'Ollama Cloud',
|
|
211
|
+
baseUrl: 'https://ollama.com/v1',
|
|
212
|
+
timeoutMs: 120000,
|
|
213
|
+
}));
|
|
214
|
+
// Kilo AI Gateway — OpenAI-compatible aggregator. Kilo documents anonymous
|
|
215
|
+
// (keyless) access for `:free` routes, rate-limited 200 req/hr per IP — so this
|
|
216
|
+
// is registered `keyless: true`: the provider omits the Authorization header and
|
|
217
|
+
// the Keys page stores a sentinel row so routing treats it as configured. Free
|
|
218
|
+
// prompts/outputs are logged for training. validateUrl points at the gateway's
|
|
219
|
+
// real model list (`/api/gateway/models`, no `/v1`) which answers GET keyless;
|
|
220
|
+
// the `/v1/models` path only accepts POST (405). Probe before adding catalog
|
|
221
|
+
// rows — most named "free" routes eventually transition to paid.
|
|
222
|
+
register(new OpenAICompatProvider({
|
|
223
|
+
platform: 'kilo',
|
|
224
|
+
name: 'Kilo Gateway',
|
|
225
|
+
baseUrl: 'https://api.kilo.ai/api/gateway/v1',
|
|
226
|
+
validateUrl: 'https://api.kilo.ai/api/gateway/models',
|
|
227
|
+
keyless: true,
|
|
228
|
+
}));
|
|
229
|
+
// Pollinations — OpenAI-compatible recurring shared-capacity tier. The legacy
|
|
230
|
+
// text.pollinations.ai host returned 502 in the July 2026 audit; publishable
|
|
231
|
+
// keys now use the unified gen.pollinations.ai endpoint. Free capacity accrues
|
|
232
|
+
// at one pollen per IP per hour, so chat requires a real publishable key.
|
|
233
|
+
// Dedicated PollinationsProvider (not plain OpenAICompatProvider) because
|
|
234
|
+
// GET /v1/models is public — it answers 200 for a revoked key — so validation
|
|
235
|
+
// probes the authenticated /account/key instead; see providers/pollinations.ts
|
|
236
|
+
// and issue #608.
|
|
237
|
+
register(new PollinationsProvider());
|
|
238
|
+
// LLM7.io — OpenAI-compatible aggregator. 100 req/hr free; anonymous access
|
|
239
|
+
// also works for basic models. Wraps a handful of upstream models behind one
|
|
240
|
+
// token (GPT-OSS, Llama 3.1 Turbo via Meta, Codestral via Mistral, Ministral,
|
|
241
|
+
// GLM-4.6V-Flash).
|
|
242
|
+
register(new OpenAICompatProvider({
|
|
243
|
+
platform: 'llm7',
|
|
244
|
+
name: 'LLM7',
|
|
245
|
+
baseUrl: 'https://api.llm7.io/v1',
|
|
246
|
+
}));
|
|
247
|
+
// OpenCode Zen — OpenAI-compatible gateway (https://opencode.ai/zen/v1), same
|
|
248
|
+
// adapter as Groq/OpenRouter. A handful of promotional models are free for a
|
|
249
|
+
// limited time; they need a free account key from https://opencode.ai/auth
|
|
250
|
+
// (no card required — billing only applies to paid models). The free roster is
|
|
251
|
+
// trial-only and prompts/outputs may be used to improve the models, so we seed
|
|
252
|
+
// just the docs-confirmed free IDs (migrateModelsV18) with conservative limits.
|
|
253
|
+
// Since 2026-09 the free roster is locked to the OpenCode client (#1249): every
|
|
254
|
+
// free model answers 403 FreeTierError "OpenCode's free tier can only be used
|
|
255
|
+
// from within OpenCode" on a valid key, and sending the OpenCode client headers
|
|
256
|
+
// (#1204, reverted) does not change that. The catalog disables the free rows;
|
|
257
|
+
// the provider stays registered for keys on OpenCode's paid models.
|
|
258
|
+
register(new OpenAICompatProvider({
|
|
259
|
+
platform: 'opencode',
|
|
260
|
+
name: 'OpenCode Zen',
|
|
261
|
+
baseUrl: 'https://opencode.ai/zen/v1',
|
|
262
|
+
}));
|
|
263
|
+
// OpenCode Free — keyless provider that spoofs the OpenCode CLI identity to
|
|
264
|
+
// access the zen free tier without an API key. Since 2026-09 the free roster
|
|
265
|
+
// is gated on CLI headers; this adapter forges them (User-Agent, fingerprint
|
|
266
|
+
// tools, session/request IDs) so the proxy can route free models without
|
|
267
|
+
// requiring users to obtain an OpenCode account key.
|
|
268
|
+
register(new OpenCodeFreeProvider());
|
|
269
|
+
// OpenCode Go — separate tier from Zen with its own model roster
|
|
270
|
+
// (minimax, kimi, qwen, deepseek, grok, gpt-6-luna). Requires its own API
|
|
271
|
+
// key from opencode.ai; Bearer public does NOT work on this endpoint.
|
|
272
|
+
register(new OpenAICompatProvider({
|
|
273
|
+
platform: 'opencode-go',
|
|
274
|
+
name: 'OpenCode Go',
|
|
275
|
+
baseUrl: 'https://opencode.ai/zen/go/v1',
|
|
276
|
+
}));
|
|
277
|
+
// OVHcloud AI Endpoints — OpenAI-compatible. Two free modes: anonymous
|
|
278
|
+
// (documented 2 req/min per IP per model — observed even stricter across
|
|
279
|
+
// models in practice) and authenticated (400 req/min), but an API key
|
|
280
|
+
// requires a Public Cloud project with a payment method on file, so the
|
|
281
|
+
// keyless row is the no-card path this catalog ships. Live-probed keyless
|
|
282
|
+
// 2026-06-10: structured tool_calls on gpt-oss-120b and
|
|
283
|
+
// Meta-Llama-3_3-70B-Instruct. OVH reserves the right to add token caps;
|
|
284
|
+
// individual models get deprecated on notice. See migrateModelsV26.
|
|
285
|
+
register(new OpenAICompatProvider({
|
|
286
|
+
platform: 'ovh',
|
|
287
|
+
name: 'OVH AI Endpoints',
|
|
288
|
+
baseUrl: 'https://oai.endpoints.kepler.ai.cloud.ovh.net/v1',
|
|
289
|
+
keyless: true,
|
|
290
|
+
}));
|
|
291
|
+
// Agnes AI (Sapiens AI) — OpenAI-compatible, backed by LiteLLM + vLLM. Its
|
|
292
|
+
// proprietary Agnes models are currently served at $0/token: live-probed
|
|
293
|
+
// 2026-06-15, the LiteLLM cost headers (x-litellm-response-cost-original) come
|
|
294
|
+
// back 0.0 with no credit drain, so usage is genuinely free rather than a
|
|
295
|
+
// one-time signup-credit grant. The $0 is promotional ("previously $X" /
|
|
296
|
+
// "during this period"), and there is a paid Token/Unlimited subscription
|
|
297
|
+
// underneath, so watch for reversion to paid. ~30 concurrent requests succeed
|
|
298
|
+
// before 429s (no documented RPM/RPD). Free key from platform.agnes-ai.com,
|
|
299
|
+
// no card. Catalog rows live in the catalog (age-in); not
|
|
300
|
+
// shipped as srouter model migrations.
|
|
301
|
+
// agnes-2.0-flash reasons before answering (live-probed 20s TTFB on a
|
|
302
|
+
// one-word completion, 2026-07-11), so the default 15s timeout aborted it;
|
|
303
|
+
// 60s matches the other reasoning-hosting platforms.
|
|
304
|
+
register(new OpenAICompatProvider({
|
|
305
|
+
platform: 'agnes',
|
|
306
|
+
name: 'Agnes AI',
|
|
307
|
+
baseUrl: 'https://apihub.agnes-ai.com/v1',
|
|
308
|
+
timeoutMs: 60_000,
|
|
309
|
+
}));
|
|
310
|
+
// Chutes was evaluated for V11 and dropped: probe with a free-tier key
|
|
311
|
+
// returned 402 on every model — "Quota exceeded and account balance is
|
|
312
|
+
// $0.0, please pay with fiat or send tao". The "free" tier requires a
|
|
313
|
+
// non-zero balance, which conflicts with the project's no-card criterion.
|
|
314
|
+
// Reka — OpenAI-compatible (api.reka.ai/v1). No longer free for new accounts
|
|
315
|
+
// (#1202): Reka's FAQ now requires prepaid credits and a $0 balance answers
|
|
316
|
+
// P001 Insufficient Balance. Accounts that still hold credit keep working
|
|
317
|
+
// (both models answered 200 on 2026-09-17), so the provider stays registered;
|
|
318
|
+
// the old `reka-flash` id 404s and is disabled in the catalog.
|
|
319
|
+
// The OpenAI-compatible /v1/models lists two models:
|
|
320
|
+
// reka-flash-3 (text reasoning) and reka-edge-2603 (natively multimodal —
|
|
321
|
+
// accepts image/video input). Balance is dashboard-only (no credits API).
|
|
322
|
+
// Catalog rows live in the catalog (age-in); they are NOT
|
|
323
|
+
// shipped as srouter model migrations.
|
|
324
|
+
register(new OpenAICompatProvider({
|
|
325
|
+
platform: 'reka',
|
|
326
|
+
name: 'Reka',
|
|
327
|
+
baseUrl: 'https://api.reka.ai/v1',
|
|
328
|
+
}));
|
|
329
|
+
// SiliconFlow — OpenAI-compatible (api.siliconflow.com/v1). Registered mainly
|
|
330
|
+
// for its FREE generative-media models (FLUX.1-schnell image, CosyVoice2 TTS),
|
|
331
|
+
// which route via services/media.ts; OpenAI-compatible chat is supported too.
|
|
332
|
+
// Key from siliconflow.com, no card; validateKey uses GET /v1/models (200 with
|
|
333
|
+
// a valid key). Catalog rows live in the catalog (age-in).
|
|
334
|
+
register(new OpenAICompatProvider({
|
|
335
|
+
platform: 'siliconflow',
|
|
336
|
+
name: 'SiliconFlow',
|
|
337
|
+
baseUrl: 'https://api.siliconflow.com/v1',
|
|
338
|
+
}));
|
|
339
|
+
// Routeway — OpenAI-compatible aggregator (api.routeway.ai/v1). Free models
|
|
340
|
+
// carry a ':free' suffix and cost $0; the free pool is rate-limited (docs say
|
|
341
|
+
// 20 rpm / 200 rpd, but a live test on 2026-06-26 observed a stricter 5 rpm).
|
|
342
|
+
// Cloudflare in front rejects non-browser User-Agents with error 1010, so a
|
|
343
|
+
// browser-style UA is required. Free key from routeway.ai (no card). Catalog
|
|
344
|
+
// rows live in the catalog (age-in).
|
|
345
|
+
register(new OpenAICompatProvider({
|
|
346
|
+
platform: 'routeway',
|
|
347
|
+
name: 'Routeway',
|
|
348
|
+
baseUrl: 'https://api.routeway.ai/v1',
|
|
349
|
+
extraHeaders: {
|
|
350
|
+
'User-Agent': 'Mozilla/5.0 srouter/1.0',
|
|
351
|
+
},
|
|
352
|
+
}));
|
|
353
|
+
// BazaarLink — OpenAI-compatible aggregator (bazaarlink.ai/api/v1). The
|
|
354
|
+
// 'auto:free' route picks a currently-available zero-cost model (routed to
|
|
355
|
+
// deepseek-v4-flash in a 2026-06-26 live test, usage.cost 0); direct model IDs
|
|
356
|
+
// are paid, so only 'auto:free' is cataloged. Free key from bazaarlink.ai
|
|
357
|
+
// (no card, supports agent self-registration). Reasoning models can consume a
|
|
358
|
+
// tiny max_tokens internally, so default to a non-trivial output cap.
|
|
359
|
+
register(new OpenAICompatProvider({
|
|
360
|
+
platform: 'bazaarlink',
|
|
361
|
+
name: 'BazaarLink',
|
|
362
|
+
baseUrl: 'https://bazaarlink.ai/api/v1',
|
|
363
|
+
}));
|
|
364
|
+
// AINative Studio — OpenAI-compatible aggregator (api.ainative.studio/api/v1).
|
|
365
|
+
// Advertises a recurring ~10M tokens/month free allocation (no card), though
|
|
366
|
+
// its own pages disagree on scale; treat the quota as unverified until a real
|
|
367
|
+
// account confirms it. Bearer auth works (X-API-Key also accepted). Catalog
|
|
368
|
+
// rows live in the catalog (age-in).
|
|
369
|
+
register(new OpenAICompatProvider({
|
|
370
|
+
platform: 'ainative',
|
|
371
|
+
name: 'AINative Studio',
|
|
372
|
+
baseUrl: 'https://api.ainative.studio/api/v1',
|
|
373
|
+
}));
|
|
374
|
+
// Aion Labs — OpenAI-compatible aggregator (api.aionlabs.ai/v1). Free key from
|
|
375
|
+
// aionlabs.ai (no card); recurring free availability is catalog-managed.
|
|
376
|
+
register(new OpenAICompatProvider({
|
|
377
|
+
platform: 'aion',
|
|
378
|
+
name: 'Aion Labs',
|
|
379
|
+
baseUrl: 'https://api.aionlabs.ai/v1',
|
|
380
|
+
}));
|
|
381
|
+
// Requesty — OpenAI-compatible router (router.requesty.ai/v1). Free key from
|
|
382
|
+
// requesty.ai (no card); free model rows age into the public monthly catalog
|
|
383
|
+
// through the standard 30-day gate.
|
|
384
|
+
register(new OpenAICompatProvider({
|
|
385
|
+
platform: 'requesty',
|
|
386
|
+
name: 'Requesty',
|
|
387
|
+
baseUrl: 'https://router.requesty.ai/v1',
|
|
388
|
+
}));
|
|
389
|
+
// NavyAI — OpenAI-compatible unified API (api.navy/v1). Free key from the
|
|
390
|
+
// Discord-backed dashboard; the free plan is 150K tokens/day and 20 RPM.
|
|
391
|
+
// Live smoke tests required an explicit User-Agent header.
|
|
392
|
+
register(new OpenAICompatProvider({
|
|
393
|
+
platform: 'navy',
|
|
394
|
+
name: 'NavyAI',
|
|
395
|
+
baseUrl: 'https://api.navy/v1',
|
|
396
|
+
extraHeaders: {
|
|
397
|
+
'User-Agent': 'srouter/1.0',
|
|
398
|
+
},
|
|
399
|
+
}));
|
|
400
|
+
// NaraRouter — OpenAI-compatible aggregator (router.bynara.id/v1). Free plan
|
|
401
|
+
// requires a no-card API key plus Telegram channel/link verification. Live
|
|
402
|
+
// probed 2026-07-09: `mistral-large`, `mistral-medium-3-5`, and `tencent-hy3`
|
|
403
|
+
// answered 200 with a zero-balance account; the rest of /v1/models was
|
|
404
|
+
// credit- or plan-gated. Catalog rows live in the catalog (age-in).
|
|
405
|
+
register(new OpenAICompatProvider({
|
|
406
|
+
platform: 'nara',
|
|
407
|
+
name: 'NaraRouter',
|
|
408
|
+
baseUrl: 'https://router.bynara.id/v1',
|
|
409
|
+
}));
|
|
410
|
+
// SEA-LION (AI Singapore) — OpenAI-compatible first-party API (api.sea-lion.ai/v1).
|
|
411
|
+
// Free key from sea-lion.ai (Google sign-in, no card, no region wall); recurring
|
|
412
|
+
// free tier at 10 RPM. Catalog rows live in the catalog (age-in).
|
|
413
|
+
register(new OpenAICompatProvider({
|
|
414
|
+
platform: 'sealion',
|
|
415
|
+
name: 'SEA-LION',
|
|
416
|
+
baseUrl: 'https://api.sea-lion.ai/v1',
|
|
417
|
+
}));
|
|
418
|
+
// OrcaRouter — OpenAI-compatible aggregator (api.orcarouter.ai/v1). Free key
|
|
419
|
+
// from orcarouter.ai (no card, `sk-orca-` prefix). Recurring rate-limited free
|
|
420
|
+
// aliases at $0 (`*-free` ids plus the `orcarouter/free` auto route); limits
|
|
421
|
+
// are intentionally unpublished (429 on cap) and free routes never fall back
|
|
422
|
+
// to paid models, so a 429 is a clean quota signal, not a wallet risk.
|
|
423
|
+
// Live-verified 2026-08-15. Catalog rows live in the catalog (age-in).
|
|
424
|
+
register(new OpenAICompatProvider({
|
|
425
|
+
platform: 'orcarouter',
|
|
426
|
+
name: 'OrcaRouter',
|
|
427
|
+
baseUrl: 'https://api.orcarouter.ai/v1',
|
|
428
|
+
}));
|
|
429
|
+
// UnoRouter (unorouter.com) — OpenAI-compatible aggregator. The web app is a
|
|
430
|
+
// Next.js site at unorouter.com (which redirects /v1/* to the marketing app,
|
|
431
|
+
// NOT the API); the real API is api.unorouter.com/v1. Free key from
|
|
432
|
+
// unorouter.com (no card); free models carry a `:free` suffix and a per-minute
|
|
433
|
+
// rate limit (429 on cap — "1 request(s) every 1 min per account on <model>").
|
|
434
|
+
// Live-probed 2026-08-23: GET /v1/models is public (200 with no key) but
|
|
435
|
+
// answers 401 "Invalid token" to a wrong key, and chat/completions is 401
|
|
436
|
+
// without a key — so the default /v1/models key validation (which sends the
|
|
437
|
+
// key) is a real check; no validateUrl override needed. A burst of parallel
|
|
438
|
+
// requests trips an account-wide 429 on every :free model for several
|
|
439
|
+
// minutes, which is why provider-quota pools the platform as one allowance.
|
|
440
|
+
// Catalog rows live in the hosted catalog (age-in).
|
|
441
|
+
register(new OpenAICompatProvider({
|
|
442
|
+
platform: 'unorouter',
|
|
443
|
+
name: 'UnoRouter',
|
|
444
|
+
baseUrl: 'https://api.unorouter.com/v1',
|
|
445
|
+
}));
|
|
446
|
+
// xKiro (xkiro.com) — OpenAI-compatible gateway at api.xkiro.com/v1 (the apex
|
|
447
|
+
// serves the same API today, but the docs name api.). Free key from xkiro.com
|
|
448
|
+
// (no card). GET /v1/models answers 200 with NO key (public catalog), so the
|
|
449
|
+
// default /v1/models key validation would be a false positive — validateUrl
|
|
450
|
+
// points at /v1/usage instead, which 401s on a missing or invalid
|
|
451
|
+
// ClientApiKey. Accepts Authorization: Bearer or x-api-key.
|
|
452
|
+
//
|
|
453
|
+
// Dedicated adapter (not a plain OpenAICompatProvider) because its published
|
|
454
|
+
// metadata misdescribes the free roster twice over: the `:free` id suffix omits
|
|
455
|
+
// 30 of the 58 free models, and all five `deepseek/*` rows claim
|
|
456
|
+
// `access_tier: 'free'` while refusing a free key with a paid-plan 403. See
|
|
457
|
+
// providers/xkiro.ts for the live-probe evidence behind both.
|
|
458
|
+
register(new XKiroProvider());
|
|
459
|
+
// ModelScope (魔搭社区, Alibaba) — OpenAI-compatible inference API
|
|
460
|
+
// (api-inference.modelscope.cn/v1, Bearer auth). Free tier: 2000 requests/day
|
|
461
|
+
// account-wide. Token from modelscope.cn/my/myaccesstoken, BUT calls only work
|
|
462
|
+
// after binding the ModelScope account to an Alibaba Cloud CHINA-site (cn)
|
|
463
|
+
// account with Chinese real-name verification — unbound tokens 401 on every
|
|
464
|
+
// call ("please bind your alibaba cloud account before use"). Dedicated
|
|
465
|
+
// ModelScopeProvider (not plain OpenAICompatProvider) because GET /v1/models
|
|
466
|
+
// answers 200 even for garbage tokens, so key validation needs a 1-token chat
|
|
467
|
+
// probe instead — see providers/modelscope.ts.
|
|
468
|
+
//
|
|
469
|
+
// RETIRED-model gotcha (#581): ModelScope answers requests for retired models
|
|
470
|
+
// with `429 insufficient balance (1008)`. isPaymentRequiredError
|
|
471
|
+
// (lib/error-classify.ts) reads "insufficient balance" as out-of-credits and
|
|
472
|
+
// benches the key ~24h — intentionally NOT special-cased in the shared
|
|
473
|
+
// classifier (the string is a genuine payment marker everywhere else). Keep
|
|
474
|
+
// retired ids out of the catalog instead; the quota-header path in
|
|
475
|
+
// provider-quota.ts keys on response headers, never on that message text.
|
|
476
|
+
register(new ModelScopeProvider());
|
|
477
|
+
// ── Chinese domestic providers (#922/#923/#924) ─────────────────────────────
|
|
478
|
+
// Plain OpenAI-compatible Bearer endpoints, so no dedicated provider class is
|
|
479
|
+
// needed. Every one of these requires Chinese real-name verification on the
|
|
480
|
+
// cloud account before a key serves traffic (LongCat aside — it takes an email
|
|
481
|
+
// signup from outside mainland China). Catalog rows live in the hosted catalog,
|
|
482
|
+
// never in a migration, so a free user cannot pick them up from a binary
|
|
483
|
+
// upgrade ahead of the age-in window.
|
|
484
|
+
// Baidu Qianfan (百度千帆). ERNIE-Speed / ERNIE-Lite / ERNIE-Tiny are free via
|
|
485
|
+
// pay-as-you-go billing, bounded by rate limits rather than a token balance.
|
|
486
|
+
register(new OpenAICompatProvider({
|
|
487
|
+
platform: 'qianfan',
|
|
488
|
+
name: 'Baidu Qianfan',
|
|
489
|
+
baseUrl: 'https://qianfan.baidubce.com/v2',
|
|
490
|
+
}));
|
|
491
|
+
// Volcengine Ark (火山方舟, ByteDance). Doubao models on a recurring daily
|
|
492
|
+
// per-model free reward quota (2M tokens/day/model for individual developers).
|
|
493
|
+
register(new OpenAICompatProvider({
|
|
494
|
+
platform: 'volcengine',
|
|
495
|
+
name: 'Volcengine Ark',
|
|
496
|
+
baseUrl: 'https://ark.cn-beijing.volces.com/api/v3',
|
|
497
|
+
}));
|
|
498
|
+
// LongCat (Meituan / 美团). Daily free quota; the platform also speaks the
|
|
499
|
+
// Anthropic wire format at /anthropic, which we do not use here.
|
|
500
|
+
register(new OpenAICompatProvider({
|
|
501
|
+
platform: 'longcat',
|
|
502
|
+
name: 'LongCat',
|
|
503
|
+
baseUrl: 'https://api.longcat.chat/openai/v1',
|
|
504
|
+
}));
|
|
505
|
+
// iFlytek Spark (讯飞星火). Auth is the console APIPassword as a Bearer token;
|
|
506
|
+
// the Lite model is the free one.
|
|
507
|
+
register(new OpenAICompatProvider({
|
|
508
|
+
platform: 'xfyun',
|
|
509
|
+
name: 'iFlytek Spark',
|
|
510
|
+
baseUrl: 'https://spark-api-open.xf-yun.com/v1',
|
|
511
|
+
}));
|
|
512
|
+
// AI Horde — free, community-powered inference (volunteer workers) via an
|
|
513
|
+
// OpenAI-compatible proxy. Dedicated AIHordeProvider (not OpenAICompatProvider)
|
|
514
|
+
// because the proxy is queue-based and diverges from the OpenAI contract:
|
|
515
|
+
// max_tokens must be >=16, stop must be an array, no tool calling, usage is
|
|
516
|
+
// reported as kudos (synthesized into token counts), and calls can take tens of
|
|
517
|
+
// seconds (120s timeout, no upstream streaming). Registered keyless so it
|
|
518
|
+
// auto-configures and works anonymously (key 0000000000, lowest queue
|
|
519
|
+
// priority); a registered aihorde.net key raises priority. See issue #345.
|
|
520
|
+
register(new AIHordeProvider());
|
|
521
|
+
// Placeholder so getProvider('custom')/hasProvider('custom')/getAllProviders()
|
|
522
|
+
// behave — but the real instance is built per-key by resolveProvider(), since
|
|
523
|
+
// a custom provider's base URL is user-supplied and lives on the api_keys row.
|
|
524
|
+
register(new OpenAICompatProvider({
|
|
525
|
+
platform: 'custom',
|
|
526
|
+
name: 'Custom (OpenAI-compatible)',
|
|
527
|
+
baseUrl: '',
|
|
528
|
+
}));
|
|
529
|
+
// Locally-hosted inference (llama.cpp / vLLM / Ollama on CPU) can be slow, so
|
|
530
|
+
// custom providers get the same extended timeout as Ollama Cloud.
|
|
531
|
+
const CUSTOM_PROVIDER_TIMEOUT_MS = 120000;
|
|
532
|
+
export function getProvider(platform) {
|
|
533
|
+
return providers.get(platform);
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Resolve the provider for a route. Built-in platforms return their registered
|
|
537
|
+
* singleton; the 'custom' platform builds a fresh OpenAICompatProvider bound to
|
|
538
|
+
* the caller-supplied base URL (stored per api_keys row). Returns undefined for
|
|
539
|
+
* a custom provider with no base URL configured.
|
|
540
|
+
*/
|
|
541
|
+
export function resolveProvider(platform, baseUrl) {
|
|
542
|
+
if (platform === 'custom') {
|
|
543
|
+
const trimmed = baseUrl?.trim();
|
|
544
|
+
if (!trimmed)
|
|
545
|
+
return undefined;
|
|
546
|
+
return new OpenAICompatProvider({
|
|
547
|
+
platform: 'custom',
|
|
548
|
+
name: 'Custom (OpenAI-compatible)',
|
|
549
|
+
baseUrl: trimmed,
|
|
550
|
+
timeoutMs: CUSTOM_PROVIDER_TIMEOUT_MS,
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
return providers.get(platform);
|
|
554
|
+
}
|
|
555
|
+
export function getAllProviders() {
|
|
556
|
+
return Array.from(providers.values());
|
|
557
|
+
}
|
|
558
|
+
export function hasProvider(platform) {
|
|
559
|
+
return providers.has(platform);
|
|
560
|
+
}
|
|
561
|
+
//# sourceMappingURL=index.js.map
|