@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,183 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Platform } from '@srouter/shared/types.js';
|
|
3
|
+
export declare const REASONING_EFFORTS: readonly ["none", "minimal", "low", "medium", "high"];
|
|
4
|
+
export type ReasoningEffort = typeof REASONING_EFFORTS[number];
|
|
5
|
+
/**
|
|
6
|
+
* Coerce a client-supplied effort value onto our scale: supported values pass
|
|
7
|
+
* through, known aliases clamp to the nearest supported one, and anything
|
|
8
|
+
* else (unknown word, wrong type, "auto") yields undefined — the knob is
|
|
9
|
+
* dropped and the provider's own default applies. Never throws, so a bad
|
|
10
|
+
* effort can't fail a request. Exported for tests.
|
|
11
|
+
*/
|
|
12
|
+
export declare function normalizeReasoningEffort(value: unknown): ReasoningEffort | undefined;
|
|
13
|
+
export declare const samplingParamSchemaFields: {
|
|
14
|
+
readonly top_k: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
15
|
+
readonly min_p: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
16
|
+
readonly seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
17
|
+
readonly presence_penalty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
18
|
+
readonly frequency_penalty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
19
|
+
readonly repetition_penalty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
20
|
+
readonly logit_bias: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
21
|
+
readonly logprobs: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
22
|
+
readonly top_logprobs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
23
|
+
readonly response_format: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
24
|
+
type: z.ZodEnum<["text", "json_object", "json_schema"]>;
|
|
25
|
+
json_schema: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
name: z.ZodOptional<z.ZodString>;
|
|
27
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
28
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
29
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
30
|
+
name: z.ZodOptional<z.ZodString>;
|
|
31
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
32
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
33
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
34
|
+
name: z.ZodOptional<z.ZodString>;
|
|
35
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
36
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
37
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
38
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
39
|
+
type: z.ZodEnum<["text", "json_object", "json_schema"]>;
|
|
40
|
+
json_schema: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
name: z.ZodOptional<z.ZodString>;
|
|
42
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
43
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
44
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
45
|
+
name: z.ZodOptional<z.ZodString>;
|
|
46
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
47
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
48
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
49
|
+
name: z.ZodOptional<z.ZodString>;
|
|
50
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
51
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
52
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
53
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
54
|
+
type: z.ZodEnum<["text", "json_object", "json_schema"]>;
|
|
55
|
+
json_schema: z.ZodOptional<z.ZodObject<{
|
|
56
|
+
name: z.ZodOptional<z.ZodString>;
|
|
57
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
58
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
59
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
60
|
+
name: z.ZodOptional<z.ZodString>;
|
|
61
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
62
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
63
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
64
|
+
name: z.ZodOptional<z.ZodString>;
|
|
65
|
+
strict: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
66
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
67
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
68
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
69
|
+
readonly reasoning_effort: z.ZodOptional<z.ZodUnknown>;
|
|
70
|
+
readonly reasoning: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
71
|
+
effort: z.ZodOptional<z.ZodUnknown>;
|
|
72
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
73
|
+
effort: z.ZodOptional<z.ZodUnknown>;
|
|
74
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
75
|
+
effort: z.ZodOptional<z.ZodUnknown>;
|
|
76
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
77
|
+
readonly max_completion_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
78
|
+
};
|
|
79
|
+
export interface ResponseFormat {
|
|
80
|
+
type: 'json_object' | 'json_schema';
|
|
81
|
+
json_schema?: {
|
|
82
|
+
name?: string;
|
|
83
|
+
strict?: boolean | null;
|
|
84
|
+
schema?: Record<string, unknown>;
|
|
85
|
+
} & Record<string, unknown>;
|
|
86
|
+
}
|
|
87
|
+
export interface ExtendedSamplingOptions {
|
|
88
|
+
top_k?: number;
|
|
89
|
+
min_p?: number;
|
|
90
|
+
seed?: number;
|
|
91
|
+
presence_penalty?: number;
|
|
92
|
+
frequency_penalty?: number;
|
|
93
|
+
repetition_penalty?: number;
|
|
94
|
+
logit_bias?: Record<string, number>;
|
|
95
|
+
logprobs?: boolean;
|
|
96
|
+
top_logprobs?: number;
|
|
97
|
+
response_format?: ResponseFormat;
|
|
98
|
+
reasoning_effort?: ReasoningEffort;
|
|
99
|
+
}
|
|
100
|
+
export declare const EXTENDED_SAMPLING_KEYS: readonly ["top_k", "min_p", "seed", "presence_penalty", "frequency_penalty", "repetition_penalty", "logit_bias", "logprobs", "top_logprobs", "response_format", "reasoning_effort"];
|
|
101
|
+
export type ExtendedSamplingKey = typeof EXTENDED_SAMPLING_KEYS[number];
|
|
102
|
+
type ParsedSamplingBody = {
|
|
103
|
+
[K in ExtendedSamplingKey]?: unknown;
|
|
104
|
+
} & {
|
|
105
|
+
reasoning?: {
|
|
106
|
+
effort?: unknown;
|
|
107
|
+
} | null;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Turn a schema-parsed request body into the extended CompletionOptions
|
|
111
|
+
* fields: nulls dropped, `response_format: {type:'text'}` dropped (it is the
|
|
112
|
+
* default and some providers 400 on receiving it explicitly), everything else
|
|
113
|
+
* forwarded as-is.
|
|
114
|
+
*/
|
|
115
|
+
export declare function pickSamplingParams(body: ParsedSamplingBody): ExtendedSamplingOptions;
|
|
116
|
+
export interface PlatformParamPolicy {
|
|
117
|
+
drop?: readonly ExtendedSamplingKey[];
|
|
118
|
+
rename?: Readonly<Partial<Record<ExtendedSamplingKey, string>>>;
|
|
119
|
+
jsonObjectToSchema?: boolean;
|
|
120
|
+
jsonSchemaToObject?: boolean;
|
|
121
|
+
reasoningEfforts?: readonly ReasoningEffort[];
|
|
122
|
+
defaultMaxTokens?: number;
|
|
123
|
+
maxTokensCap?: number;
|
|
124
|
+
}
|
|
125
|
+
/** GitHub Models' own output-token ceiling: asking for more 400s ("max_tokens
|
|
126
|
+
* is too large"), so the request never reaches the model. Wired into the
|
|
127
|
+
* github policy below as maxTokensCap. */
|
|
128
|
+
export declare const GITHUB_MAX_OUTPUT_TOKENS = 400;
|
|
129
|
+
export declare const PLATFORM_PARAM_POLICIES: Partial<Record<Platform, PlatformParamPolicy>>;
|
|
130
|
+
/**
|
|
131
|
+
* Build the extended wire-body fields for one platform: policy droplist
|
|
132
|
+
* applied, renames applied, undefined skipped. Adapters spread the result
|
|
133
|
+
* into their OpenAI-shaped request bodies.
|
|
134
|
+
*/
|
|
135
|
+
export declare function extendedBodyParams(platform: string, options: ExtendedSamplingOptions | undefined): Record<string, unknown>;
|
|
136
|
+
/** The output-token floor this platform sends for a request that carries no
|
|
137
|
+
* max_tokens at all, or undefined when the provider's own default is fine. */
|
|
138
|
+
export declare function defaultMaxTokensFor(platform: string): number | undefined;
|
|
139
|
+
/** This platform's own output-token ceiling, or undefined when it accepts
|
|
140
|
+
* whatever max_tokens the client asks for. */
|
|
141
|
+
export declare function maxTokensCapFor(platform: string): number | undefined;
|
|
142
|
+
/**
|
|
143
|
+
* The max_tokens to put on the wire for one request: whatever the client asked
|
|
144
|
+
* for, or the platform's floor when the client asked for nothing (#553), then
|
|
145
|
+
* lowered to the tightest ceiling that applies — the platform's own
|
|
146
|
+
* maxTokensCap, the operator's unified cap, or both. With neither in play
|
|
147
|
+
* nothing is clamped — a client-set value passes through untouched in both
|
|
148
|
+
* directions, and the gateway's own guardrails (token budget, routing reserve)
|
|
149
|
+
* have already had their say by the time an adapter calls this.
|
|
150
|
+
*
|
|
151
|
+
* EVERY adapter must send max_tokens through here, or the cap is not unified:
|
|
152
|
+
* openai-compat (and its subclasses), cloudflare, cohere, google and aihorde
|
|
153
|
+
* all do.
|
|
154
|
+
*/
|
|
155
|
+
export declare function resolveMaxTokens(platform: string, requested: number | undefined, contextBudget?: number): number | undefined;
|
|
156
|
+
export declare const UNIFIED_MAX_TOKENS_SETTING = "unified_max_tokens";
|
|
157
|
+
/** The ceiling 'auto' clamps to: the output limit of the largest common free
|
|
158
|
+
* catalog models. */
|
|
159
|
+
export declare const UNIFIED_MAX_TOKENS_AUTO = 32768;
|
|
160
|
+
/** The configured unified output cap, or null when disabled ('off'/unset).
|
|
161
|
+
* 'auto' resolves to UNIFIED_MAX_TOKENS_AUTO; an explicit integer is used
|
|
162
|
+
* verbatim; anything else is treated as disabled so a bad value can't 400
|
|
163
|
+
* requests. Reads the settings table on every call — cheap (better-sqlite3
|
|
164
|
+
* sync read) and picks up dashboard changes without a restart, mirroring
|
|
165
|
+
* guardrails.ts. */
|
|
166
|
+
export declare function unifiedMaxTokensCap(): number | null;
|
|
167
|
+
/** True when this platform's policy strips response_format before send — the
|
|
168
|
+
* router uses it to skip such platforms for structured-output requests. */
|
|
169
|
+
export declare function platformDropsResponseFormat(platform: string): boolean;
|
|
170
|
+
/** The advertised parameter list for a model on `platform` — the base set
|
|
171
|
+
* every surface supports, plus tools when the model does, minus the
|
|
172
|
+
* platform's droplist. */
|
|
173
|
+
export declare function supportedParametersFor(platform: string, caps?: {
|
|
174
|
+
tools?: boolean;
|
|
175
|
+
}): string[];
|
|
176
|
+
/** For a model served by several platforms (a unify group): the INTERSECTION
|
|
177
|
+
* of the members' supported sets — a param is only advertised when every
|
|
178
|
+
* platform the router might pick honors it. */
|
|
179
|
+
export declare function supportedParametersForPlatforms(platforms: string[], caps?: {
|
|
180
|
+
tools?: boolean;
|
|
181
|
+
}): string[];
|
|
182
|
+
export {};
|
|
183
|
+
//# sourceMappingURL=sampling-params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampling-params.d.ts","sourceRoot":"","sources":["../../src/lib/sampling-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
// Extended sampling / output-shape parameters forwarded to providers.
|
|
2
|
+
//
|
|
3
|
+
// Until now only temperature / max_tokens / top_p / stop reached upstream —
|
|
4
|
+
// everything else a client sent (seed, penalties, logit_bias, logprobs,
|
|
5
|
+
// response_format…) was validated away by the request schema and silently
|
|
6
|
+
// dropped, so "OpenAI-compatible" was quietly narrower than it claimed
|
|
7
|
+
// (structured outputs simply did not work). This module is the single source
|
|
8
|
+
// of truth for the extended set:
|
|
9
|
+
//
|
|
10
|
+
// - the zod fields each surface spreads into its request schema,
|
|
11
|
+
// - the pick helper that turns a parsed body into CompletionOptions fields,
|
|
12
|
+
// - the per-platform support policy (which params a provider is known to
|
|
13
|
+
// reject or ignore) used both by the adapters (drop before send) and by
|
|
14
|
+
// /v1/models `supported_parameters` (advertise per model).
|
|
15
|
+
//
|
|
16
|
+
// Forward-by-default: most OpenAI-compatible providers ignore unknown body
|
|
17
|
+
// fields, so the default is to send everything and let the per-platform
|
|
18
|
+
// droplist name the documented exceptions (Mistral 422s on unknown keys,
|
|
19
|
+
// Groq 400s on the logprobs family, Azure-backed GitHub Models rejects
|
|
20
|
+
// non-Azure knobs). A provider that still 400s fails over like any other
|
|
21
|
+
// provider-invalid request and shows up in the attempt trail — and its
|
|
22
|
+
// droplist entry is one line to add.
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
import { getSetting } from '../db/index.js';
|
|
25
|
+
// OpenAI's request-side reasoning knob. Wire values as of the current OpenAI
|
|
26
|
+
// API: 'minimal'|'low'|'medium'|'high', plus 'none' (gpt-5.1). Forwarded
|
|
27
|
+
// verbatim to openai-compat platforms per the policy below; the Google
|
|
28
|
+
// adapter maps it natively onto generationConfig.thinkingConfig.
|
|
29
|
+
export const REASONING_EFFORTS = ['none', 'minimal', 'low', 'medium', 'high'];
|
|
30
|
+
// Effort spellings clients actually send that aren't on OpenAI's scale, mapped
|
|
31
|
+
// to the nearest value we do support (#619: a strict enum turned a client's
|
|
32
|
+
// `reasoning_effort: 'max'` into a 400 from our own edge — a knob nobody asked
|
|
33
|
+
// to be fatal). Values that mean "let the model decide" ('auto', 'adaptive',
|
|
34
|
+
// 'default') are deliberately absent: they resolve to undefined below, i.e.
|
|
35
|
+
// nothing is forwarded and the provider default stands — same rule
|
|
36
|
+
// effortFromGeminiThinking applies to a -1 thinking budget.
|
|
37
|
+
const EFFORT_ALIASES = {
|
|
38
|
+
max: 'high', maximum: 'high', highest: 'high', ultra: 'high', xhigh: 'high', 'x-high': 'high',
|
|
39
|
+
mid: 'medium', moderate: 'medium', balanced: 'medium', normal: 'medium', standard: 'medium',
|
|
40
|
+
min: 'minimal', minimum: 'minimal', lowest: 'minimal', xlow: 'minimal', 'x-low': 'minimal',
|
|
41
|
+
off: 'none', disabled: 'none', disable: 'none',
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Coerce a client-supplied effort value onto our scale: supported values pass
|
|
45
|
+
* through, known aliases clamp to the nearest supported one, and anything
|
|
46
|
+
* else (unknown word, wrong type, "auto") yields undefined — the knob is
|
|
47
|
+
* dropped and the provider's own default applies. Never throws, so a bad
|
|
48
|
+
* effort can't fail a request. Exported for tests.
|
|
49
|
+
*/
|
|
50
|
+
export function normalizeReasoningEffort(value) {
|
|
51
|
+
if (typeof value !== 'string')
|
|
52
|
+
return undefined;
|
|
53
|
+
const key = value.trim().toLowerCase();
|
|
54
|
+
if (REASONING_EFFORTS.includes(key))
|
|
55
|
+
return key;
|
|
56
|
+
return EFFORT_ALIASES[key];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Clamp an effort to the nearest value a platform actually accepts, walking
|
|
60
|
+
* the ordered scale outward from the requested one (ties go to the stronger
|
|
61
|
+
* value, so 'medium' on a low/high platform becomes 'high'). Returns
|
|
62
|
+
* undefined only when the platform accepts nothing.
|
|
63
|
+
*/
|
|
64
|
+
function clampEffortTo(effort, supported) {
|
|
65
|
+
if (supported.includes(effort))
|
|
66
|
+
return effort;
|
|
67
|
+
const want = REASONING_EFFORTS.indexOf(effort);
|
|
68
|
+
let best;
|
|
69
|
+
let bestDistance = Infinity;
|
|
70
|
+
for (const candidate of supported) {
|
|
71
|
+
const distance = Math.abs(REASONING_EFFORTS.indexOf(candidate) - want);
|
|
72
|
+
if (distance < bestDistance
|
|
73
|
+
|| (distance === bestDistance && best !== undefined
|
|
74
|
+
&& REASONING_EFFORTS.indexOf(candidate) > REASONING_EFFORTS.indexOf(best))) {
|
|
75
|
+
best = candidate;
|
|
76
|
+
bestDistance = distance;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return best;
|
|
80
|
+
}
|
|
81
|
+
// Every field is `.nullable()` because real clients serialize their whole
|
|
82
|
+
// request struct and send explicit nulls for unset knobs (#200); null is
|
|
83
|
+
// treated as absent and never forwarded.
|
|
84
|
+
export const samplingParamSchemaFields = {
|
|
85
|
+
top_k: z.number().int().min(1).nullable().optional(),
|
|
86
|
+
min_p: z.number().min(0).max(1).nullable().optional(),
|
|
87
|
+
seed: z.number().int().nullable().optional(),
|
|
88
|
+
presence_penalty: z.number().min(-2).max(2).nullable().optional(),
|
|
89
|
+
frequency_penalty: z.number().min(-2).max(2).nullable().optional(),
|
|
90
|
+
repetition_penalty: z.number().positive().nullable().optional(),
|
|
91
|
+
logit_bias: z.record(z.string(), z.number()).nullable().optional(),
|
|
92
|
+
logprobs: z.boolean().nullable().optional(),
|
|
93
|
+
top_logprobs: z.number().int().min(0).max(20).nullable().optional(),
|
|
94
|
+
response_format: z.object({
|
|
95
|
+
type: z.enum(['text', 'json_object', 'json_schema']),
|
|
96
|
+
json_schema: z.object({
|
|
97
|
+
name: z.string().optional(),
|
|
98
|
+
strict: z.boolean().nullable().optional(),
|
|
99
|
+
schema: z.record(z.string(), z.unknown()).optional(),
|
|
100
|
+
}).passthrough().optional(),
|
|
101
|
+
}).passthrough().nullable().optional(),
|
|
102
|
+
// Accepted as free-form and normalized by pickSamplingParams rather than
|
|
103
|
+
// validated against the enum: clients invent effort values ('max', 'xhigh')
|
|
104
|
+
// and rejecting them made an advisory knob fatal (#619).
|
|
105
|
+
reasoning_effort: z.unknown().optional(),
|
|
106
|
+
// Object-form alias some clients send (OpenRouter-style chat clients, and
|
|
107
|
+
// the Responses API's native shape): `reasoning: { effort }`. Resolved into
|
|
108
|
+
// reasoning_effort by pickSamplingParams; the wrapper object itself is never
|
|
109
|
+
// forwarded. Extra keys (summary, max_tokens…) are tolerated and ignored.
|
|
110
|
+
reasoning: z.object({
|
|
111
|
+
effort: z.unknown().optional(),
|
|
112
|
+
}).passthrough().nullable().optional(),
|
|
113
|
+
// OpenAI's newer alias for max_tokens; surfaces resolve it into max_tokens
|
|
114
|
+
// themselves (it is not a forwarded param of its own).
|
|
115
|
+
max_completion_tokens: z.number().int().nullable().optional(),
|
|
116
|
+
};
|
|
117
|
+
export const EXTENDED_SAMPLING_KEYS = [
|
|
118
|
+
'top_k', 'min_p', 'seed', 'presence_penalty', 'frequency_penalty',
|
|
119
|
+
'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs',
|
|
120
|
+
'response_format', 'reasoning_effort',
|
|
121
|
+
];
|
|
122
|
+
/**
|
|
123
|
+
* Turn a schema-parsed request body into the extended CompletionOptions
|
|
124
|
+
* fields: nulls dropped, `response_format: {type:'text'}` dropped (it is the
|
|
125
|
+
* default and some providers 400 on receiving it explicitly), everything else
|
|
126
|
+
* forwarded as-is.
|
|
127
|
+
*/
|
|
128
|
+
export function pickSamplingParams(body) {
|
|
129
|
+
const out = {};
|
|
130
|
+
for (const key of EXTENDED_SAMPLING_KEYS) {
|
|
131
|
+
const value = body[key];
|
|
132
|
+
if (value === undefined || value === null)
|
|
133
|
+
continue;
|
|
134
|
+
if (key === 'response_format' && value.type === 'text')
|
|
135
|
+
continue;
|
|
136
|
+
if (key === 'reasoning_effort') {
|
|
137
|
+
const effort = normalizeReasoningEffort(value);
|
|
138
|
+
if (effort === undefined)
|
|
139
|
+
continue;
|
|
140
|
+
out[key] = effort;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
out[key] = value;
|
|
144
|
+
}
|
|
145
|
+
// Object-form fallback: `reasoning: { effort }` fills reasoning_effort only
|
|
146
|
+
// when the flat field wasn't sent (the explicit flat form wins on conflict).
|
|
147
|
+
if (out.reasoning_effort === undefined) {
|
|
148
|
+
const effort = normalizeReasoningEffort(body.reasoning?.effort);
|
|
149
|
+
if (effort !== undefined)
|
|
150
|
+
out.reasoning_effort = effort;
|
|
151
|
+
}
|
|
152
|
+
return out;
|
|
153
|
+
}
|
|
154
|
+
/** GitHub Models' own output-token ceiling: asking for more 400s ("max_tokens
|
|
155
|
+
* is too large"), so the request never reaches the model. Wired into the
|
|
156
|
+
* github policy below as maxTokensCap. */
|
|
157
|
+
export const GITHUB_MAX_OUTPUT_TOKENS = 400;
|
|
158
|
+
// Keyed by Platform (not string) so a typo'd platform id fails tsc instead of
|
|
159
|
+
// silently no-op'ing the policy; the string-typed accessors below cast at the
|
|
160
|
+
// boundary since routes carry platform ids as plain strings.
|
|
161
|
+
export const PLATFORM_PARAM_POLICIES = {
|
|
162
|
+
// Gizmo rejects all unlisted fields; reflect its text-only API in discovery
|
|
163
|
+
// as well as the adapter. This is the upstream ceiling, not a new quota.
|
|
164
|
+
gizmo: { drop: [...EXTENDED_SAMPLING_KEYS], defaultMaxTokens: 1024, maxTokensCap: 32768 },
|
|
165
|
+
// Moondream maps reasoning effort to a boolean and max_tokens to
|
|
166
|
+
// max_completion_tokens. 4096 is the documented upstream output ceiling.
|
|
167
|
+
moondream: {
|
|
168
|
+
drop: ['top_k', 'min_p', 'seed', 'presence_penalty', 'frequency_penalty', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs', 'response_format'],
|
|
169
|
+
maxTokensCap: 4096,
|
|
170
|
+
},
|
|
171
|
+
// ACLIDE uses Responses; these Chat Completions parameters have no mapping.
|
|
172
|
+
aclide: {
|
|
173
|
+
drop: ['top_k', 'min_p', 'seed', 'presence_penalty', 'frequency_penalty', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs'],
|
|
174
|
+
},
|
|
175
|
+
// Sail's stable Responses API accepts temperature/top_p, JSON Schema output,
|
|
176
|
+
// tools and reasoning effort. The remaining Chat Completions knobs are not
|
|
177
|
+
// supported and are intentionally omitted by the dedicated adapter.
|
|
178
|
+
sail: {
|
|
179
|
+
drop: ['top_k', 'min_p', 'seed', 'presence_penalty', 'frequency_penalty', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs'],
|
|
180
|
+
jsonObjectToSchema: true,
|
|
181
|
+
},
|
|
182
|
+
// Mistral's API is strict (422 on unknown body keys) and names its seed
|
|
183
|
+
// `random_seed`. It has no top_k/min_p/logit_bias/logprobs equivalents, and
|
|
184
|
+
// no reasoning_effort (Magistral's reasoning has no request-side knob).
|
|
185
|
+
mistral: {
|
|
186
|
+
drop: ['top_k', 'min_p', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs', 'reasoning_effort'],
|
|
187
|
+
rename: { seed: 'random_seed' },
|
|
188
|
+
},
|
|
189
|
+
// Groq documents logprobs / top_logprobs / logit_bias as unsupported and
|
|
190
|
+
// rejects requests that include them.
|
|
191
|
+
groq: { drop: ['logprobs', 'top_logprobs', 'logit_bias'] },
|
|
192
|
+
// GitHub Models sits on Azure OpenAI, which 400s "Unrecognized request
|
|
193
|
+
// argument" for knobs outside the OpenAI set. Its reasoning_effort enum is
|
|
194
|
+
// the older low/medium/high one, so 'none'/'minimal' are clamped rather
|
|
195
|
+
// than sent. Its free tier also refuses any max_tokens above
|
|
196
|
+
// GITHUB_MAX_OUTPUT_TOKENS, so the cap is clamped here instead of being
|
|
197
|
+
// spent as a wasted fallback hop.
|
|
198
|
+
github: {
|
|
199
|
+
drop: ['top_k', 'min_p', 'repetition_penalty'],
|
|
200
|
+
reasoningEfforts: ['low', 'medium', 'high'],
|
|
201
|
+
maxTokensCap: GITHUB_MAX_OUTPUT_TOKENS,
|
|
202
|
+
},
|
|
203
|
+
// Gemini's generationConfig has no equivalents for these; the adapter
|
|
204
|
+
// translates the rest natively (topK, seed, penalties, responseSchema, and
|
|
205
|
+
// reasoning_effort → thinkingConfig — see toGeminiExtendedConfig).
|
|
206
|
+
google: { drop: ['min_p', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs'] },
|
|
207
|
+
// Cohere's OpenAI-compat endpoint covers seed/penalties/response_format;
|
|
208
|
+
// the rest (incl. reasoning_effort — Cohere's own knob is a non-OpenAI
|
|
209
|
+
// `thinking` object) have no mapping there.
|
|
210
|
+
cohere: { drop: ['top_k', 'min_p', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs', 'reasoning_effort'] },
|
|
211
|
+
// Workers AI's OpenAI-compat endpoint parses a known subset; send only what
|
|
212
|
+
// it understands. It also applies a small server-side max_tokens default
|
|
213
|
+
// when the request omits one, so an SDK client that never sets max_tokens
|
|
214
|
+
// (the common case) sees answers stop a couple of seconds in — reported on
|
|
215
|
+
// @cf/openai/gpt-oss-120b, where the model's own reasoning trace eats the
|
|
216
|
+
// default before any visible text lands (#553). 8192 is the floor we send
|
|
217
|
+
// instead: generous for a chat turn plus reasoning, and small enough to fit
|
|
218
|
+
// inside the smallest context window in the Workers AI catalog (24K on
|
|
219
|
+
// @cf/meta/llama-3.3-70b-instruct-fp8-fast) with room left for the prompt.
|
|
220
|
+
cloudflare: {
|
|
221
|
+
drop: ['min_p', 'logit_bias', 'logprobs', 'top_logprobs', 'reasoning_effort'],
|
|
222
|
+
defaultMaxTokens: 8192,
|
|
223
|
+
},
|
|
224
|
+
// Radeon Cloud silently drops these fields. Keep reasoning_effort within the
|
|
225
|
+
// common subset of its current shared roster (Qwen: low/medium; DeepSeek is
|
|
226
|
+
// broader) so either model receives a supported value.
|
|
227
|
+
radeon: {
|
|
228
|
+
drop: ['top_k', 'min_p', 'seed', 'repetition_penalty', 'logit_bias', 'logprobs', 'top_logprobs'],
|
|
229
|
+
reasoningEfforts: ['low', 'medium'],
|
|
230
|
+
jsonSchemaToObject: true,
|
|
231
|
+
},
|
|
232
|
+
// AI Horde builds its own payload format; none of the extended set maps.
|
|
233
|
+
aihorde: { drop: [...EXTENDED_SAMPLING_KEYS] },
|
|
234
|
+
// Kilo's anonymous gateway 400s ("Provider returned error") whenever
|
|
235
|
+
// response_format is present — observed live 2026-07-11; seed passes fine.
|
|
236
|
+
// Dropping it also makes structured-output routing skip kilo entirely.
|
|
237
|
+
kilo: { drop: ['response_format'] },
|
|
238
|
+
// Reka supports json_schema but rejects json_object (live 2026-07-11);
|
|
239
|
+
// upgraded on the wire instead of dropped.
|
|
240
|
+
reka: { jsonObjectToSchema: true },
|
|
241
|
+
};
|
|
242
|
+
// The permissive schema a json_object request is upgraded to on platforms
|
|
243
|
+
// that only accept json_schema (any JSON object satisfies it). The empty
|
|
244
|
+
// `properties` map matters: Reka 503s on a bare {type:'object'} but accepts
|
|
245
|
+
// this shape (probed live 2026-07-11); additionalProperties keeps arbitrary
|
|
246
|
+
// keys legal.
|
|
247
|
+
const ANY_OBJECT_SCHEMA = {
|
|
248
|
+
type: 'json_schema',
|
|
249
|
+
json_schema: { name: 'json_output', schema: { type: 'object', properties: {}, additionalProperties: true } },
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Build the extended wire-body fields for one platform: policy droplist
|
|
253
|
+
* applied, renames applied, undefined skipped. Adapters spread the result
|
|
254
|
+
* into their OpenAI-shaped request bodies.
|
|
255
|
+
*/
|
|
256
|
+
export function extendedBodyParams(platform, options) {
|
|
257
|
+
if (!options)
|
|
258
|
+
return {};
|
|
259
|
+
const policy = PLATFORM_PARAM_POLICIES[platform];
|
|
260
|
+
const dropped = new Set(policy?.drop ?? []);
|
|
261
|
+
const out = {};
|
|
262
|
+
for (const key of EXTENDED_SAMPLING_KEYS) {
|
|
263
|
+
if (dropped.has(key))
|
|
264
|
+
continue;
|
|
265
|
+
let value = options[key];
|
|
266
|
+
if (value === undefined)
|
|
267
|
+
continue;
|
|
268
|
+
if (key === 'response_format' && policy?.jsonObjectToSchema
|
|
269
|
+
&& value.type === 'json_object') {
|
|
270
|
+
value = ANY_OBJECT_SCHEMA;
|
|
271
|
+
}
|
|
272
|
+
if (key === 'response_format' && policy?.jsonSchemaToObject
|
|
273
|
+
&& value.type === 'json_schema') {
|
|
274
|
+
value = { type: 'json_object' };
|
|
275
|
+
}
|
|
276
|
+
if (key === 'reasoning_effort' && policy?.reasoningEfforts) {
|
|
277
|
+
value = clampEffortTo(value, policy.reasoningEfforts);
|
|
278
|
+
if (value === undefined)
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
out[policy?.rename?.[key] ?? key] = value;
|
|
282
|
+
}
|
|
283
|
+
return out;
|
|
284
|
+
}
|
|
285
|
+
/** The output-token floor this platform sends for a request that carries no
|
|
286
|
+
* max_tokens at all, or undefined when the provider's own default is fine. */
|
|
287
|
+
export function defaultMaxTokensFor(platform) {
|
|
288
|
+
return PLATFORM_PARAM_POLICIES[platform]?.defaultMaxTokens;
|
|
289
|
+
}
|
|
290
|
+
/** This platform's own output-token ceiling, or undefined when it accepts
|
|
291
|
+
* whatever max_tokens the client asks for. */
|
|
292
|
+
export function maxTokensCapFor(platform) {
|
|
293
|
+
return PLATFORM_PARAM_POLICIES[platform]?.maxTokensCap;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* The max_tokens to put on the wire for one request: whatever the client asked
|
|
297
|
+
* for, or the platform's floor when the client asked for nothing (#553), then
|
|
298
|
+
* lowered to the tightest ceiling that applies — the platform's own
|
|
299
|
+
* maxTokensCap, the operator's unified cap, or both. With neither in play
|
|
300
|
+
* nothing is clamped — a client-set value passes through untouched in both
|
|
301
|
+
* directions, and the gateway's own guardrails (token budget, routing reserve)
|
|
302
|
+
* have already had their say by the time an adapter calls this.
|
|
303
|
+
*
|
|
304
|
+
* EVERY adapter must send max_tokens through here, or the cap is not unified:
|
|
305
|
+
* openai-compat (and its subclasses), cloudflare, cohere, google and aihorde
|
|
306
|
+
* all do.
|
|
307
|
+
*/
|
|
308
|
+
export function resolveMaxTokens(platform, requested, contextBudget) {
|
|
309
|
+
const resolved = requested ?? defaultMaxTokensFor(platform);
|
|
310
|
+
if (resolved == null)
|
|
311
|
+
return resolved;
|
|
312
|
+
// The tighter ceiling wins: a platform's hard reject applies even with the
|
|
313
|
+
// operator cap off, and an operator cap below it applies everywhere.
|
|
314
|
+
const caps = [unifiedMaxTokensCap(), maxTokensCapFor(platform), contextBudget].filter((c) => c != null && c > 0);
|
|
315
|
+
return caps.length === 0 ? resolved : Math.max(1, Math.min(resolved, ...caps));
|
|
316
|
+
}
|
|
317
|
+
// ── Unified output-token cap ─────────────────────────────────────────────────
|
|
318
|
+
// Optional operator-level ceiling on max_tokens for EVERY client. Aggressive
|
|
319
|
+
// clients (Open WebUI sends max_tokens=65536 by default) 400 against free
|
|
320
|
+
// models whose output limit is 32768 (CF qwen3-30b, zhipu glm), and without a
|
|
321
|
+
// ceiling the same invalid value rides every fallback candidate — the chain
|
|
322
|
+
// cannot rescue the request. The cap only LOWERS an
|
|
323
|
+
// excessive value; a client value at or below it is untouched, and clients that
|
|
324
|
+
// send nothing still get today's platform floor. 'off' (default) keeps the
|
|
325
|
+
// historical pass-through behaviour.
|
|
326
|
+
export const UNIFIED_MAX_TOKENS_SETTING = 'unified_max_tokens';
|
|
327
|
+
/** The ceiling 'auto' clamps to: the output limit of the largest common free
|
|
328
|
+
* catalog models. */
|
|
329
|
+
export const UNIFIED_MAX_TOKENS_AUTO = 32768;
|
|
330
|
+
/** The configured unified output cap, or null when disabled ('off'/unset).
|
|
331
|
+
* 'auto' resolves to UNIFIED_MAX_TOKENS_AUTO; an explicit integer is used
|
|
332
|
+
* verbatim; anything else is treated as disabled so a bad value can't 400
|
|
333
|
+
* requests. Reads the settings table on every call — cheap (better-sqlite3
|
|
334
|
+
* sync read) and picks up dashboard changes without a restart, mirroring
|
|
335
|
+
* guardrails.ts. */
|
|
336
|
+
export function unifiedMaxTokensCap() {
|
|
337
|
+
let raw;
|
|
338
|
+
try {
|
|
339
|
+
raw = getSetting(UNIFIED_MAX_TOKENS_SETTING);
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
return null; // DB not ready — never throw on the proxy hot path
|
|
343
|
+
}
|
|
344
|
+
if (!raw)
|
|
345
|
+
return null;
|
|
346
|
+
const value = raw.trim().toLowerCase();
|
|
347
|
+
if (value === '' || value === 'off' || value === '0')
|
|
348
|
+
return null;
|
|
349
|
+
if (value === 'auto')
|
|
350
|
+
return UNIFIED_MAX_TOKENS_AUTO;
|
|
351
|
+
const n = Number(value);
|
|
352
|
+
return Number.isInteger(n) && n > 0 ? n : null;
|
|
353
|
+
}
|
|
354
|
+
/** True when this platform's policy strips response_format before send — the
|
|
355
|
+
* router uses it to skip such platforms for structured-output requests. */
|
|
356
|
+
export function platformDropsResponseFormat(platform) {
|
|
357
|
+
return PLATFORM_PARAM_POLICIES[platform]?.drop?.includes('response_format') ?? false;
|
|
358
|
+
}
|
|
359
|
+
/** The advertised parameter list for a model on `platform` — the base set
|
|
360
|
+
* every surface supports, plus tools when the model does, minus the
|
|
361
|
+
* platform's droplist. */
|
|
362
|
+
export function supportedParametersFor(platform, caps = {}) {
|
|
363
|
+
// Unlike the generic base set, Moondream has neither stop nor tools.
|
|
364
|
+
if (platform === 'moondream')
|
|
365
|
+
return ['temperature', 'top_p', 'max_tokens', 'max_completion_tokens', 'stream', 'reasoning_effort'];
|
|
366
|
+
const policy = PLATFORM_PARAM_POLICIES[platform];
|
|
367
|
+
const dropped = new Set(policy?.drop ?? []);
|
|
368
|
+
const params = [
|
|
369
|
+
'temperature', 'top_p', 'max_tokens', 'max_completion_tokens', 'stop', 'stream',
|
|
370
|
+
...EXTENDED_SAMPLING_KEYS.filter(k => !dropped.has(k)),
|
|
371
|
+
];
|
|
372
|
+
if (caps.tools)
|
|
373
|
+
params.push('tools', 'tool_choice', 'parallel_tool_calls');
|
|
374
|
+
return params;
|
|
375
|
+
}
|
|
376
|
+
/** For a model served by several platforms (a unify group): the INTERSECTION
|
|
377
|
+
* of the members' supported sets — a param is only advertised when every
|
|
378
|
+
* platform the router might pick honors it. */
|
|
379
|
+
export function supportedParametersForPlatforms(platforms, caps = {}) {
|
|
380
|
+
if (platforms.length === 0)
|
|
381
|
+
return supportedParametersFor('', caps);
|
|
382
|
+
const [first, ...rest] = platforms.map(p => supportedParametersFor(p, caps));
|
|
383
|
+
const restSets = rest.map(list => new Set(list));
|
|
384
|
+
return first.filter(param => restSets.every(s => s.has(param)));
|
|
385
|
+
}
|
|
386
|
+
//# sourceMappingURL=sampling-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampling-params.js","sourceRoot":"","sources":["../../src/lib/sampling-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface Scheduler {
|
|
2
|
+
every(ms: number, fn: () => void | Promise<void>, opts?: {
|
|
3
|
+
name?: string;
|
|
4
|
+
}): () => void;
|
|
5
|
+
after(ms: number, fn: () => void | Promise<void>): () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare class NodeScheduler implements Scheduler {
|
|
8
|
+
every(ms: number, fn: () => void | Promise<void>, _opts?: {
|
|
9
|
+
name?: string;
|
|
10
|
+
}): () => void;
|
|
11
|
+
after(ms: number, fn: () => void | Promise<void>): () => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/lib/scheduler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;IACxF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CAC/D;AAED,qBAAa,aAAc,YAAW,SAAS;IAC7C,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,IAAI;IAKxF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI;CAI9D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class NodeScheduler {
|
|
2
|
+
every(ms, fn, _opts) {
|
|
3
|
+
const id = setInterval(() => { void fn(); }, ms);
|
|
4
|
+
return () => clearInterval(id);
|
|
5
|
+
}
|
|
6
|
+
after(ms, fn) {
|
|
7
|
+
const id = setTimeout(() => { void fn(); }, ms);
|
|
8
|
+
return () => clearTimeout(id);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/lib/scheduler.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,aAAa;IACxB,KAAK,CAAC,EAAU,EAAE,EAA8B,EAAE,KAAyB;QACzE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,EAA8B;QAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF"}
|