@vecteur/cli 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/package.json +2 -1
- package/src/contract.js +2 -2
- package/src/update.js +3 -3
package/README.md
CHANGED
|
@@ -154,9 +154,8 @@ discovery or local execution capability ships in this package.
|
|
|
154
154
|
The intended platform matrix includes Linux, macOS and Windows Terminal, plus screen-reader
|
|
155
155
|
qualification. Current evidence and unresolved cases belong in the stage-1 WBS/backlog; Linux
|
|
156
156
|
tests alone do not qualify other platforms. Standalone binaries are a later packaging option using
|
|
157
|
-
the same session owner. This
|
|
158
|
-
|
|
159
|
-
`stable` before freezing the published bytes. Updates across channels always ask explicitly.
|
|
157
|
+
the same session owner. This package uses the `stable` channel, visible even offline. Publication
|
|
158
|
+
freezes its reviewed package bytes and release identity. Updates across channels always ask explicitly.
|
|
160
159
|
|
|
161
160
|
## Drafting, recovery and updates
|
|
162
161
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vecteur/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"vecteur": "bin/vecteur.js"
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
},
|
|
52
52
|
"description": "The Vecteur command line \u2014 one login, the same product as the web app, from any directory.",
|
|
53
53
|
"license": "UNLICENSED",
|
|
54
|
+
"repository": "git+https://github.com/vecteurspace/vecteur-cli.git",
|
|
54
55
|
"publishConfig": {
|
|
55
56
|
"access": "public"
|
|
56
57
|
},
|
package/src/contract.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// GENERATED by scripts/gen-contract.mjs from owner TypeScript projections.
|
|
2
2
|
export const OWNER_CONTRACT_IDENTITY = "api-sha256:b78084db722fba9eb9c159fcc93b29d12db0760ded46263aca2ad2fcf97d6a3f;run-wire-sha256:7bc5c77a90d6093cff5179533d4f4b6326056057dd677740cac097ebc0c8fb54";
|
|
3
|
-
export const MODEL_CATALOGUE = Object.freeze([{"profile_id":"glm","label":"GLM 5.3","model":"z-ai/glm-5.3","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"9b77e192a34bc1e2dc909a84a736d4e21f5d5835f25aae763380ac6f7c7907a7","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"flash","label":"DeepSeek V4.1 Flash 1017","model":"deepseek/deepseek-v4.1-flash-1017","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"0bb3844773a56a555dde5f20b2c8cab0271d937a246b7c3ae642fd98e49516e9","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"kimi_k3","label":"Kimi K3","model":"moonshotai/kimi-k3","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"e69f8b077c57c5636da412ce31d2a2e2eff6210ecc8832044250ea81a6ce3d9b","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"deepseek_pro","label":"DeepSeek V4 Pro","model":"deepseek/deepseek-v4-pro-0813","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"82cb953f9b3d7ee90d4de9b8e3abc8dcff16379ac0f446d9d194cea5d3ec2585","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"glm_flash","label":"GLM 5.3 Flash","model":"z-ai/glm-5.3-flash","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":1000000,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"9b38c17e45100344956e5235c97ab6195de9e426108ceab63eba172b7a617592","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"mistral","label":"Mistral Small 4","model":"mistral-small-2603","provider":"mistral","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.mistral.ai/inference/regional-inference","admitted_context_window_tokens":262144,"dialect":"mistral_conversations","execution_placement":null,"eligibility_sha256":"8bf0ba9bc0ef536214e0248d8fc918f302f38b4e406883c4b9854ec9594aa77a","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Commercial API data has published privacy and retention controls with documented exceptions; zero data retention requires separate account approval and enablement.","zero_retention_endpoint":false,"policy_source_url":"https://docs.mistral.ai/admin/monitor-comply/privacy-data-controls","policy_checked_at":"2026-08-28","policy_expires_at":"2026-11-26","operator_entity":"Mistral AI","operator_country":"France","governing_law":"France","operator_source_url":"https://legal.mistral.ai/terms/commercial-terms-of-service","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"mistral_medium","label":"Mistral Medium 3.5","model":"mistral-medium-2604","provider":"mistral","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.mistral.ai/inference/regional-inference","admitted_context_window_tokens":262144,"dialect":"mistral_conversations","execution_placement":null,"eligibility_sha256":"8c52e7ab13e7ec0c21777e9742b675ced4ef07b3166d3bdec6a129b0200f67d7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Commercial API data has published privacy and retention controls with documented exceptions; zero data retention requires separate account approval and enablement.","zero_retention_endpoint":false,"policy_source_url":"https://docs.mistral.ai/admin/monitor-comply/privacy-data-controls","policy_checked_at":"2026-08-28","policy_expires_at":"2026-11-26","operator_entity":"Mistral AI","operator_country":"France","governing_law":"France","operator_source_url":"https://legal.mistral.ai/terms/commercial-terms-of-service","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"luna","label":"GPT-6 Luna","model":"gpt-6-luna","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"5aad437ed7ad769d6e824d6a24e0ce7253a2cf65483f9af998257ba4b3a62210","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"sol","label":"GPT-6.1 Sol","model":"gpt-6.1-sol","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"d8d6c3f90abcce5c33a0fbaca1e20c01be408460a5a0ade3ed676e31a09bf128","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"astra","label":"GPT-6 Astra","model":"gpt-6-astra","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"166b94ca70d14249e14bcf080b92643772d3ebdb75fd3ab81c15a6a7fb2d6e5a","hosting":"provider_api","reasoning":"high","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_fable","label":"Claude Fable 5.1","model":"claude-fable-5-1","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"75224e4a7464da37d21c6b4b1ed4567a73b4430faad20221560899534404a8a7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_opus","label":"Claude Opus 5.5","model":"claude-opus-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"70fcb6021cb82980290ea4d431106bdf5dd0ccace8b012e44e83f07c61019e4d","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_sonnet","label":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"8892913a3ed87bae501dcfc300c51cb1342ede2956ef3a40d44ce30602f5d939","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_haiku","label":"Claude Haiku 5.5","model":"claude-haiku-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"32647fa178a427705d04b7ec6447810da7016d36725c8625bbdc8ea5677e24f7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"nebius_nemotron","label":"Nemotron 3.5 Lightning","model":"nvidia/Nemotron-3_5-Lightning","provider":"nebius","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.tokenfactory.nebius.com/legal/legal-quick-guide","admitted_context_window_tokens":1048576,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"f0586d343f97c23ed000e00ed86236c3c0c91b3300b2763079e8f6879c081e16","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Without organization-level zero data retention, inputs and outputs may be retained solely for speculative decoding; retained data is stored in Finland in the European Union.","zero_retention_endpoint":false,"policy_source_url":"https://docs.tokenfactory.nebius.com/legal/legal-quick-guide","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Nebius B.V.","operator_country":"Netherlands","governing_law":"Netherlands","operator_source_url":"https://docs.nebius.com/legal/agreement","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"openrouter_glm","label":"GLM 5.3","model":"z-ai/glm-5.3","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"99d39ebcf0661d9556db669cfe118c59f94fb253476fa1a23bafb42938cc9a4b","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"DeepInfra","downstream_policy_fact":"DeepInfra does not train on API inputs for these models; in-memory processing has documented debugging and security logging exceptions."},{"profile_id":"openrouter_ling","label":"Ling 3.1 Flash","model":"inclusionai/ling-3.1-flash","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"713b2ca20ed060398e1589baa4f2d9759a462e7985c2c4ec8456e8216ed949d0","hosting":"provider_api","reasoning":"off","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"DeepInfra","downstream_policy_fact":"DeepInfra does not train on API inputs for these models and does not store submitted data on disk; it holds it in memory during inference."},{"profile_id":"gpt_terra","label":"GPT-6.1 Terra","model":"gpt-6.1-terra","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"09e58e0478782db24bd9cdca7a8d04805716045e622830c9770fd823a083c6f7","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"openrouter_gemini_flash","label":"Gemini 3.8 Flash","model":"google/gemini-3.8-flash","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"fe98eada28b9f5521600959ed87e6634923e1b10136c053ceae485919fb85ba8","hosting":"provider_api","reasoning":"medium","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":false,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"Google","downstream_policy_fact":"Google does not train on Vertex AI customer data without permission; prompts its abuse classifiers flag may be stored up to 90 days (OpenRouter Safety Retention on every Vertex endpoint since 2026-10-18), so this endpoint is not strict zero-retention."},{"profile_id":"openrouter_gemini_argon","label":"Gemini 4 Argon","model":"google/gemini-4-argon","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"80efc4df5597ab3e9d4584bb065e381a2ae91b4f5d3f9187d6de7e3e568035d2","hosting":"provider_api","reasoning":"high","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":false,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"Google","downstream_policy_fact":"Google does not train on Vertex AI customer data without permission; prompts its abuse classifiers flag may be stored up to 90 days (OpenRouter Safety Retention on every Vertex endpoint since 2026-10-18), so this endpoint is not strict zero-retention."},{"profile_id":"openrouter_grok","label":"Grok 4.7","model":"x-ai/grok-4.7","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"bf4c95e82a447814818183288ba7d8d8673453403ff93817fe6e3a8617968715","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"xAI","downstream_policy_fact":"xAI never trains on API inputs or outputs without permission; under ZDR inputs and outputs are never persisted to disk."}]);
|
|
3
|
+
export const MODEL_CATALOGUE = Object.freeze([{"profile_id":"glm","label":"GLM 5.3","model":"z-ai/glm-5.3","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"9b77e192a34bc1e2dc909a84a736d4e21f5d5835f25aae763380ac6f7c7907a7","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"flash","label":"DeepSeek V4.1 Flash 1017","model":"deepseek/deepseek-v4.1-flash-1017","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"0bb3844773a56a555dde5f20b2c8cab0271d937a246b7c3ae642fd98e49516e9","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"kimi_k3","label":"Kimi K3","model":"moonshotai/kimi-k3","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"e69f8b077c57c5636da412ce31d2a2e2eff6210ecc8832044250ea81a6ce3d9b","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"deepseek_pro","label":"DeepSeek V4 Pro","model":"deepseek/deepseek-v4-pro-0813","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"82cb953f9b3d7ee90d4de9b8e3abc8dcff16379ac0f446d9d194cea5d3ec2585","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"glm_flash","label":"GLM 5.3 Flash","model":"z-ai/glm-5.3-flash","provider":"tensorx","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://tensorx.ai/trust-security/","admitted_context_window_tokens":1000000,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"9b38c17e45100344956e5235c97ab6195de9e426108ceab63eba172b7a617592","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"zero_retention","retention_stated_days":null,"retention_fact":"Prompts and completions are processed with zero data retention.","zero_retention_endpoint":true,"policy_source_url":"https://tensorx.ai/terms-of-service/","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"TensorX Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://tensorx.ai/terms-of-service/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"mistral","label":"Mistral Small 4","model":"mistral-small-2603","provider":"mistral","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.mistral.ai/inference/regional-inference","admitted_context_window_tokens":262144,"dialect":"mistral_conversations","execution_placement":null,"eligibility_sha256":"8bf0ba9bc0ef536214e0248d8fc918f302f38b4e406883c4b9854ec9594aa77a","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Commercial API data has published privacy and retention controls with documented exceptions; zero data retention requires separate account approval and enablement.","zero_retention_endpoint":false,"policy_source_url":"https://docs.mistral.ai/admin/monitor-comply/privacy-data-controls","policy_checked_at":"2026-08-28","policy_expires_at":"2026-11-26","operator_entity":"Mistral AI","operator_country":"France","governing_law":"France","operator_source_url":"https://legal.mistral.ai/terms/commercial-terms-of-service","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"mistral_medium","label":"Mistral Medium 3.5","model":"mistral-medium-2604","provider":"mistral","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.mistral.ai/inference/regional-inference","admitted_context_window_tokens":262144,"dialect":"mistral_conversations","execution_placement":null,"eligibility_sha256":"8c52e7ab13e7ec0c21777e9742b675ced4ef07b3166d3bdec6a129b0200f67d7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Commercial API data has published privacy and retention controls with documented exceptions; zero data retention requires separate account approval and enablement.","zero_retention_endpoint":false,"policy_source_url":"https://docs.mistral.ai/admin/monitor-comply/privacy-data-controls","policy_checked_at":"2026-08-28","policy_expires_at":"2026-11-26","operator_entity":"Mistral AI","operator_country":"France","governing_law":"France","operator_source_url":"https://legal.mistral.ai/terms/commercial-terms-of-service","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"mistral_large","label":"Mistral Large 4","model":"mistral-large-4","provider":"mistral","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.mistral.ai/inference/regional-inference","admitted_context_window_tokens":1048576,"dialect":"mistral_conversations","execution_placement":null,"eligibility_sha256":"fd34bc87a87f1cbe9345e3a961fa0938fb51d51d7799bb6173e810df23895ebc","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Commercial API data has published privacy and retention controls with documented exceptions; zero data retention requires separate account approval and enablement.","zero_retention_endpoint":false,"policy_source_url":"https://docs.mistral.ai/admin/monitor-comply/privacy-data-controls","policy_checked_at":"2026-08-28","policy_expires_at":"2026-11-26","operator_entity":"Mistral AI","operator_country":"France","governing_law":"France","operator_source_url":"https://legal.mistral.ai/terms/commercial-terms-of-service","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"luna","label":"GPT-6 Luna","model":"gpt-6-luna","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"5aad437ed7ad769d6e824d6a24e0ce7253a2cf65483f9af998257ba4b3a62210","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"sol","label":"GPT-6.1 Sol","model":"gpt-6.1-sol","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"d8d6c3f90abcce5c33a0fbaca1e20c01be408460a5a0ade3ed676e31a09bf128","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"astra","label":"GPT-6 Astra","model":"gpt-6-astra","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"166b94ca70d14249e14bcf080b92643772d3ebdb75fd3ab81c15a6a7fb2d6e5a","hosting":"provider_api","reasoning":"high","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_fable","label":"Claude Fable 5.1","model":"claude-fable-5-1","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"75224e4a7464da37d21c6b4b1ed4567a73b4430faad20221560899534404a8a7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_opus","label":"Claude Opus 5.5","model":"claude-opus-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"70fcb6021cb82980290ea4d431106bdf5dd0ccace8b012e44e83f07c61019e4d","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_sonnet","label":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"8892913a3ed87bae501dcfc300c51cb1342ede2956ef3a40d44ce30602f5d939","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"claude_haiku","label":"Claude Haiku 5.5","model":"claude-haiku-5-5","provider":"anthropic","data_residency":"US","data_residency_source":"vendor","data_residency_source_url":"https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers","admitted_context_window_tokens":131072,"dialect":"anthropic_messages","execution_placement":null,"eligibility_sha256":"32647fa178a427705d04b7ec6447810da7016d36725c8625bbdc8ea5677e24f7","hosting":"provider_api","reasoning":null,"image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Commercial API inputs and outputs are normally retained up to 30 days, with documented legal, policy and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Anthropic Ireland, Limited","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://www.anthropic.com/legal/commercial-terms","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"nebius_nemotron","label":"Nemotron 3.5 Lightning","model":"nvidia/Nemotron-3_5-Lightning","provider":"nebius","data_residency":"EU","data_residency_source":"vendor","data_residency_source_url":"https://docs.tokenfactory.nebius.com/legal/legal-quick-guide","admitted_context_window_tokens":1048576,"dialect":"openai_chat","execution_placement":null,"eligibility_sha256":"f0586d343f97c23ed000e00ed86236c3c0c91b3300b2763079e8f6879c081e16","hosting":"provider_api","reasoning":null,"image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"Without organization-level zero data retention, inputs and outputs may be retained solely for speculative decoding; retained data is stored in Finland in the European Union.","zero_retention_endpoint":false,"policy_source_url":"https://docs.tokenfactory.nebius.com/legal/legal-quick-guide","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"Nebius B.V.","operator_country":"Netherlands","governing_law":"Netherlands","operator_source_url":"https://docs.nebius.com/legal/agreement","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"openrouter_glm","label":"GLM 5.3","model":"z-ai/glm-5.3","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"99d39ebcf0661d9556db669cfe118c59f94fb253476fa1a23bafb42938cc9a4b","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"DeepInfra","downstream_policy_fact":"DeepInfra does not train on API inputs for these models; in-memory processing has documented debugging and security logging exceptions."},{"profile_id":"openrouter_ling","label":"Ling 3.1 Flash","model":"inclusionai/ling-3.1-flash","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"713b2ca20ed060398e1589baa4f2d9759a462e7985c2c4ec8456e8216ed949d0","hosting":"provider_api","reasoning":"off","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"DeepInfra","downstream_policy_fact":"DeepInfra does not train on API inputs for these models and does not store submitted data on disk; it holds it in memory during inference."},{"profile_id":"gpt_terra","label":"GPT-6.1 Terra","model":"gpt-6.1-terra","provider":"openai","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://developers.openai.com/api/docs/guides/your-data","admitted_context_window_tokens":131072,"dialect":"openai_responses","execution_placement":null,"eligibility_sha256":"09e58e0478782db24bd9cdca7a8d04805716045e622830c9770fd823a083c6f7","hosting":"provider_api","reasoning":"medium","image_input":true,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":30,"retention_fact":"Chat Completions abuse-monitoring logs are normally retained up to 30 days, with documented legal and safety exceptions.","zero_retention_endpoint":false,"policy_source_url":"https://platform.openai.com/docs/models/default-usage-policies-by-endpoint","policy_checked_at":"2026-10-30","policy_expires_at":"2027-01-28","operator_entity":"OpenAI Ireland Ltd.","operator_country":"Ireland","governing_law":"Ireland","operator_source_url":"https://openai.com/policies/services-agreement/","downstream_provider":null,"downstream_policy_fact":null},{"profile_id":"openrouter_gemini_flash","label":"Gemini 3.8 Flash","model":"google/gemini-3.8-flash","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"fe98eada28b9f5521600959ed87e6634923e1b10136c053ceae485919fb85ba8","hosting":"provider_api","reasoning":"medium","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":false,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"Google","downstream_policy_fact":"Google does not train on Vertex AI customer data without permission; prompts its abuse classifiers flag may be stored up to 90 days (OpenRouter Safety Retention on every Vertex endpoint since 2026-10-18), so this endpoint is not strict zero-retention."},{"profile_id":"openrouter_gemini_argon","label":"Gemini 4 Argon","model":"google/gemini-4-argon","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"80efc4df5597ab3e9d4584bb065e381a2ae91b4f5d3f9187d6de7e3e568035d2","hosting":"provider_api","reasoning":"high","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":false,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"Google","downstream_policy_fact":"Google does not train on Vertex AI customer data without permission; prompts its abuse classifiers flag may be stored up to 90 days (OpenRouter Safety Retention on every Vertex endpoint since 2026-10-18), so this endpoint is not strict zero-retention."},{"profile_id":"openrouter_grok","label":"Grok 4.7","model":"x-ai/grok-4.7","provider":"openrouter","data_residency":"GLOBAL","data_residency_source":"vendor","data_residency_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","admitted_context_window_tokens":131072,"dialect":"openai_chat","execution_placement":"GLOBAL","eligibility_sha256":"bf4c95e82a447814818183288ba7d8d8673453403ff93817fe6e3a8617968715","hosting":"provider_api","reasoning":"low","image_input":false,"training_permitted":false,"retention_mode":"published_with_exceptions","retention_stated_days":null,"retention_fact":"OpenRouter retains prompts only on opt-in or for CSAM review, reporting and legal preservation, ZDR traffic included; downstream commercial policies have documented retention exceptions. This route makes no platform-wide zero-retention guarantee.","zero_retention_endpoint":true,"policy_source_url":"https://openrouter.ai/docs/guides/privacy/provider-logging","policy_checked_at":"2026-10-30","policy_expires_at":"2026-11-29","operator_entity":"OpenRouter, Inc.","operator_country":"United States","governing_law":"New York, United States","operator_source_url":"https://openrouter.ai/terms","downstream_provider":"xAI","downstream_policy_fact":"xAI never trains on API inputs or outputs without permission; under ZDR inputs and outputs are never persisted to disk."}]);
|
|
4
4
|
export const PRODUCT_ROUTES = Object.freeze([{"route_id":"auto","label":"Auto","level":"balanced","region":"GLOBAL","route_sha256":"3d76e34a3fc43eddafb9d16d45ffbb85ce0d7cad72add85101e83322eabb383a","max_provider_switches":1,"candidates":[{"profile_id":"gpt_terra","provider_id":"openai","model_id":"gpt-6.1-terra","jurisdiction":"GLOBAL"},{"profile_id":"flash","provider_id":"tensorx","model_id":"deepseek/deepseek-v4.1-flash-1017","jurisdiction":"EU"}]},{"route_id":"auto_eu","label":"Auto EU","level":"balanced","region":"EU","route_sha256":"a1d9f41cb4ce71bf1925e33a838c78c4009416fe04d05795b3fbb7d4ea482162","max_provider_switches":1,"candidates":[{"profile_id":"flash","provider_id":"tensorx","model_id":"deepseek/deepseek-v4.1-flash-1017","jurisdiction":"EU"},{"profile_id":"glm_flash","provider_id":"tensorx","model_id":"z-ai/glm-5.3-flash","jurisdiction":"EU"}]},{"route_id":"quality","label":"Best quality","level":"quality","region":"GLOBAL","route_sha256":"88474569b15517cbc3b8b004588b41622b16b88529b5178f7a5159d4c535d2fd","max_provider_switches":1,"candidates":[{"profile_id":"astra","provider_id":"openai","model_id":"gpt-6-astra","jurisdiction":"GLOBAL"},{"profile_id":"claude_opus","provider_id":"anthropic","model_id":"claude-opus-5-5","jurisdiction":"US"}]},{"route_id":"quality_eu","label":"Best quality EU","level":"quality","region":"EU","route_sha256":"00fd959a8d8106119969bdb21f19b23edefa772642b34cb4b7d4107aa36c22dc","max_provider_switches":1,"candidates":[{"profile_id":"flash","provider_id":"tensorx","model_id":"deepseek/deepseek-v4.1-flash-1017","jurisdiction":"EU"},{"profile_id":"glm","provider_id":"tensorx","model_id":"z-ai/glm-5.3","jurisdiction":"EU"}]},{"route_id":"economy","label":"Lowest cost","level":"economy","region":"GLOBAL","route_sha256":"f9a74312bb237c9f5fc1af1defa3ed1711d10dca8cd1c0ef0c44ab5ac5b27501","max_provider_switches":1,"candidates":[{"profile_id":"luna","provider_id":"openai","model_id":"gpt-6-luna","jurisdiction":"GLOBAL"},{"profile_id":"claude_haiku","provider_id":"anthropic","model_id":"claude-haiku-5-5","jurisdiction":"US"}]},{"route_id":"economy_eu","label":"Lowest cost EU","level":"economy","region":"EU","route_sha256":"e56851dc6469526a05132b82bc1905d27b4fe4a9143c31c7f3e9df7f1265dcad","max_provider_switches":1,"candidates":[{"profile_id":"glm_flash","provider_id":"tensorx","model_id":"z-ai/glm-5.3-flash","jurisdiction":"EU"},{"profile_id":"flash","provider_id":"tensorx","model_id":"deepseek/deepseek-v4.1-flash-1017","jurisdiction":"EU"}]}]);
|
|
5
5
|
export const EXECUTION_HORIZONS = Object.freeze([{"tier":"free","max_steps":30},{"tier":"pro","max_steps":50},{"tier":"enterprise","max_steps":null}]);
|
|
6
|
-
export const CATALOGUE_ENVELOPE_SHA256 = Object.freeze("
|
|
6
|
+
export const CATALOGUE_ENVELOPE_SHA256 = Object.freeze("39127ad6b8c5fe026872dd15d42e2a052575a1fde28f7a103134e47a899da6d0");
|
|
7
7
|
export const RECOVERY_ACTIONS = Object.freeze({"delete_project":{"label":"Delete a project","href":"/projects"},"upgrade_plan":{"label":"Upgrade your plan","href":"/dashboard/billing"},"wait_for_reset":{"label":"Wait until the UTC reset","href":null}});
|
|
8
8
|
export const EVENT_KINDS = Object.freeze(["source","step_started","step_finished","tool_call","tool_result","synthesis","artifact","terminal","heartbeat","assistant_delta","knowledge_binding","engineering_projection","provider_attempt","clarification","clarification_evidence","input_rows"]);
|
|
9
9
|
export const RETIRED_EVENT_KINDS = Object.freeze(["context_frame","cta","step_label"]);
|
package/src/update.js
CHANGED
|
@@ -210,8 +210,8 @@ export async function stageUpdate(plan, { signal, progress = () => {} } = {}) {
|
|
|
210
210
|
const recovery = join(directory, "recover.mjs");
|
|
211
211
|
receipt.recovery = recovery;
|
|
212
212
|
writeStore(join(directory, "activation.json"), receipt);
|
|
213
|
-
writeFileSync(recovery, `import {readFileSync,symlinkSync,renameSync,
|
|
214
|
-
import {dirname,join} from 'node:path';
|
|
213
|
+
writeFileSync(recovery, `import {readFileSync,symlinkSync,renameSync,lstatSync,readlinkSync,openSync,closeSync,writeFileSync,fsyncSync,unlinkSync} from 'node:fs';
|
|
214
|
+
import {dirname,join,resolve} from 'node:path';
|
|
215
215
|
import {randomUUID} from 'node:crypto';
|
|
216
216
|
${syncDirectory.toString()}
|
|
217
217
|
${activateLauncher.toString()}
|
|
@@ -268,7 +268,7 @@ export function rollbackLauncher(receipt) {
|
|
|
268
268
|
catch { throw new Error(`Recovery deferred: another updater owns ${lock}`); }
|
|
269
269
|
try {
|
|
270
270
|
writeFileSync(fd, JSON.stringify({ pid: process.pid, launcher: receipt.launcher })); fsyncSync(fd);
|
|
271
|
-
if (
|
|
271
|
+
if (!lstatSync(receipt.launcher).isSymbolicLink() || resolve(dirname(receipt.launcher), readlinkSync(receipt.launcher)) !== receipt.target) throw new Error("Recovery refused: another process changed the launcher");
|
|
272
272
|
activateLauncher(receipt.launcher, receipt.previous);
|
|
273
273
|
} finally { closeSync(fd); unlinkSync(lock); }
|
|
274
274
|
}
|