veryfront 0.1.839 → 0.1.841

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/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.839",
3
+ "version": "0.1.841",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,MAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,GAA6B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,QAAmC,CAAC;AACvE,eAAO,MAAM,iBAAiB,KAAK,CAAC;AA4BpC,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK/E"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,MAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,GAA6B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,QAAmC,CAAC;AACvE,eAAO,MAAM,iBAAiB,KAAK,CAAC;AA+BpC,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK/E"}
@@ -17,6 +17,9 @@ const MODEL_MAX_OUTPUT_TOKENS = {
17
17
  "google-ai-studio/gemini-3.1-flash-lite": 65_536,
18
18
  "google-ai-studio/gemini-2.5-pro": 65_536,
19
19
  "google-ai-studio/gemini-2.5-flash": 65_536,
20
+ "mistral/mistral-large-2512": 131_072,
21
+ "mistral/mistral-medium-3-5": 131_072,
22
+ "mistral/mistral-small-2603": 131_072,
20
23
  };
21
24
  const MODEL_MAX_OUTPUT_TOKEN_ALIASES = {
22
25
  "google/gemini-3.1-pro": "google-ai-studio/gemini-3.1-pro-preview",
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-resolution.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAyCvC,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AAeD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA6B1D"}
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-resolution.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAgDvC,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA6B1D"}
@@ -1,4 +1,4 @@
1
- import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getOpenAIEnvConfig, } from "../../config/env.js";
1
+ import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getMistralEnvConfig, getOpenAIEnvConfig, } from "../../config/env.js";
2
2
  import { findAvailableCloudModel } from "../../provider/index.js";
3
3
  import { DEFAULT_LOCAL_MODEL } from "../../provider/local/model-catalog.js";
4
4
  import { isVeryfrontCloudEnabled } from "../../platform/cloud/resolver.js";
@@ -7,6 +7,7 @@ const HOSTED_PROVIDER_NAMES = new Set([
7
7
  "anthropic",
8
8
  "google",
9
9
  "google-ai-studio",
10
+ "mistral",
10
11
  "moonshotai",
11
12
  "openai",
12
13
  ]);
@@ -40,6 +41,12 @@ const LEGACY_MODEL_ALIASES = {
40
41
  "gemini-2.5-flash": "google-ai-studio/gemini-2.5-flash",
41
42
  "kimi-k2.6": "moonshotai/kimi-k2.6",
42
43
  "kimi-k2.5": "moonshotai/kimi-k2.5",
44
+ "mistral-large": "mistral/mistral-large-2512",
45
+ "mistral-large-2512": "mistral/mistral-large-2512",
46
+ "mistral-medium": "mistral/mistral-medium-3-5",
47
+ "mistral-medium-3-5": "mistral/mistral-medium-3-5",
48
+ "mistral-small": "mistral/mistral-small-2603",
49
+ "mistral-small-2603": "mistral/mistral-small-2603",
43
50
  };
44
51
  export function normalizeAgentModelConfig(model) {
45
52
  const normalized = model?.trim();
@@ -61,6 +68,8 @@ function hasDirectProviderCredentials(provider) {
61
68
  return Boolean(getAnthropicEnvConfig().apiKey);
62
69
  case "google":
63
70
  return Boolean(getGoogleGenAIEnvConfig().apiKey);
71
+ case "mistral":
72
+ return Boolean(getMistralEnvConfig().apiKey);
64
73
  case "openai":
65
74
  return Boolean(getOpenAIEnvConfig().apiKey);
66
75
  default:
@@ -24,6 +24,10 @@ export declare function getAnthropicEnvConfig(): {
24
24
  export declare function getGoogleGenAIEnvConfig(): {
25
25
  apiKey?: string;
26
26
  };
27
+ export declare function getMistralEnvConfig(): {
28
+ apiKey?: string;
29
+ baseURL?: string;
30
+ };
27
31
  export declare function isDebugEnvEnabled(env?: EnvironmentConfig): boolean;
28
32
  export declare function isCiEnv(env?: EnvironmentConfig): boolean;
29
33
  export declare function isDenoTestingEnv(env?: EnvironmentConfig): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/src/config/env.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,yBAAyB,CAAC;AAqBvF,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAEjG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,iBAA0C,GAAG,MAAM,CAExF;AAED,wBAAgB,gCAAgC,CAC9C,YAAY,SAAI,EAChB,GAAG,GAAE,iBAA0C,GAC9C,MAAM,CAER;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,iBAA0C,GAAG,MAAM,CAErF;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAEzF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,iBAA0C,GAAG;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAOA;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,kBAAkB,IAAI;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAKA;AAED,wBAAgB,qBAAqB,IAAI;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAKA;AAED,wBAAgB,uBAAuB,IAAI;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAEA;AAED,wBAAgB,mBAAmB,IAAI;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAKA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAE1F;AAED,wBAAgB,OAAO,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAEhF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAEzF;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,iBAA0C,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAEjG;AAED,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,iBAA0C,GAC9C,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,iBAA0C,GAAG;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAUA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,iBAA0C,GAAG;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAOA"}
@@ -72,6 +72,12 @@ export function getAnthropicEnvConfig() {
72
72
  export function getGoogleGenAIEnvConfig() {
73
73
  return { apiKey: getEnv("GOOGLE_API_KEY") || getEnv("GOOGLE_GENERATIVE_AI_API_KEY") };
74
74
  }
75
+ export function getMistralEnvConfig() {
76
+ return {
77
+ apiKey: getEnv("MISTRAL_API_KEY"),
78
+ baseURL: getEnv("MISTRAL_BASE_URL") || "https://api.mistral.ai/v1",
79
+ };
80
+ }
75
81
  export function isDebugEnvEnabled(env = getEnvironmentConfig()) {
76
82
  return env.debug;
77
83
  }
@@ -32465,7 +32465,7 @@ export const connectors = [
32465
32465
  "model": {
32466
32466
  "type": "string",
32467
32467
  "in": "path",
32468
- "description": "Model ID, e.g. mistral-large-latest or mistral-small-latest",
32468
+ "description": "Model ID, e.g. mistral-large-2512 or mistral-small-2603",
32469
32469
  "required": true,
32470
32470
  },
32471
32471
  },
@@ -32481,7 +32481,7 @@ export const connectors = [
32481
32481
  "body": {
32482
32482
  "model": {
32483
32483
  "type": "string",
32484
- "description": "Model ID to use, e.g. mistral-large-latest",
32484
+ "description": "Model ID to use, e.g. mistral-large-2512",
32485
32485
  "required": true,
32486
32486
  },
32487
32487
  "messages": {
@@ -1,7 +1,7 @@
1
1
  import type { InferSchema } from "../extensions/schema/index.js";
2
- export declare const getIntegrationNameSchema: () => import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "mistral" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
2
+ export declare const getIntegrationNameSchema: () => import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "mistral" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
3
3
  /** Zod schema for integration name. */
4
- export declare const IntegrationNameSchema: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "mistral" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
4
+ export declare const IntegrationNameSchema: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "mistral" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
5
5
  /**
6
6
  * Every registered integration name. The single source of truth for catalog
7
7
  * surfaces (CLI validation, MCP listings) — derive from this instead of
@@ -515,7 +515,7 @@ export declare const IntegrationPromptSchema: import("../internal-agents/schema.
515
515
  icon: import("../internal-agents/schema.js").Schema<string | undefined>;
516
516
  }>>;
517
517
  export declare const getIntegrationConfigSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
518
- name: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "mistral" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
518
+ name: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "mistral" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
519
519
  displayName: import("../internal-agents/schema.js").Schema<string>;
520
520
  icon: import("../internal-agents/schema.js").Schema<string | undefined>;
521
521
  description: import("../internal-agents/schema.js").Schema<string>;
@@ -677,7 +677,7 @@ export declare const getIntegrationConfigSchema: () => import("../internal-agent
677
677
  }>>;
678
678
  /** Zod schema for integration config. */
679
679
  export declare const IntegrationConfigSchema: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
680
- name: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "mistral" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
680
+ name: import("../internal-agents/schema.js").Schema<"close" | "render" | "openai" | "cohere" | "github" | "cloudflare" | "square" | "anthropic" | "polygon" | "mistral" | "segment" | "zoom" | "twitter" | "azure" | "linear" | "gmail" | "slack" | "calendar" | "jira" | "notion" | "servicenow" | "confluence" | "gitlab" | "outlook" | "teams" | "figma" | "sap" | "sheets" | "airtable" | "supabase" | "neon" | "sharepoint" | "stripe" | "salesforce" | "onedrive" | "bitbucket" | "sentry" | "posthog" | "persona" | "zendesk" | "asana" | "harvest" | "hubspot" | "monday" | "trello" | "box" | "shopify" | "clickup" | "intercom" | "pipedrive" | "mailchimp" | "webex" | "freshdesk" | "quickbooks" | "xero" | "drive" | "docs-google" | "snowflake" | "mixpanel" | "twilio" | "aws" | "todoist" | "calendly" | "google-analytics" | "klaviyo" | "datadog" | "paypal" | "activecampaign" | "algolia" | "amplitude" | "apollo" | "ashby" | "attio" | "basecamp" | "brevo" | "circleci" | "coda" | "dialpad" | "digitalocean" | "exa" | "fathom" | "firecrawl" | "fireflies" | "folk" | "gemini" | "gong" | "google-chat" | "gusto" | "jotform" | "lever" | "metabase" | "pagerduty" | "perplexity" | "productboard" | "razorpay" | "resend" | "salesflare" | "sendgrid" | "shortcut" | "tavily" | "typeform" | "apify" | "assemblyai" | "axiom" | "betterstack" | "browserbase" | "buildkite" | "checkly" | "clickhouse" | "deepgram" | "elevenlabs" | "fal" | "fireworks-ai" | "fly-io" | "grafana-cloud" | "groq" | "heroku" | "huggingface" | "langfuse" | "langsmith" | "launchdarkly" | "mongodb-atlas" | "netlify" | "new-relic" | "openrouter" | "pinecone" | "planetscale" | "qdrant" | "railway" | "redis-cloud" | "replicate" | "snyk" | "stability-ai" | "together-ai" | "vercel" | "weaviate" | "bamboohr" | "cal-com" | "customer-io" | "discord" | "docusign" | "gocardless" | "google-bigquery" | "google-contacts" | "help-scout" | "telegram" | "whatsapp" | "woocommerce" | "zoho-crm" | "adyen" | "azure-blob-storage" | "bigcommerce" | "brave-search" | "chargebee" | "databricks" | "deel" | "front" | "google-cloud-storage" | "google-forms" | "gorgias" | "greenhouse" | "guru" | "mollie" | "paddle" | "pandadoc" | "personio" | "portkey" | "power-bi" | "ramp" | "rippling" | "serpapi" | "shopware" | "surveymonkey" | "tally" | "wix" | "workable" | "azure-document-intelligence" | "billbee" | "cleverreach" | "datev" | "factorial" | "finapi" | "gcp" | "hetzner" | "ionos" | "klarna" | "lexoffice" | "mindee" | "moss" | "neo4j" | "north-data" | "qonto" | "sendcloud" | "sevdesk" | "skribble" | "stackit" | "trusted-shops" | "unstructured" | "unzer" | "voyage-ai" | "xentral" | "alphavantage" | "daytona" | "e2b" | "sprites">;
681
681
  displayName: import("../internal-agents/schema.js").Schema<string>;
682
682
  icon: import("../internal-agents/schema.js").Schema<string | undefined>;
683
683
  description: import("../internal-agents/schema.js").Schema<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../src/src/provider/model-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;AAOrE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAEN;AAoKD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAWvD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CA6D9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAGtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../src/src/provider/model-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;AAOrE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAEN;AAgMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAWvD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CA6D9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAGtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -13,7 +13,7 @@
13
13
  * @module
14
14
  */
15
15
  import { createError, fromError, toError } from "../errors/veryfront-error.js";
16
- import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getOpenAIEnvConfig, } from "../config/env.js";
16
+ import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getMistralEnvConfig, getOpenAIEnvConfig, } from "../config/env.js";
17
17
  import { ensureBuiltinLLMProviders } from "../extensions/builtin-extensions.js";
18
18
  import { tryResolve } from "../extensions/contracts.js";
19
19
  import { LLMProviderRegistryName } from "../extensions/llm/index.js";
@@ -125,6 +125,29 @@ function autoInitializeFromEnv() {
125
125
  }));
126
126
  });
127
127
  }
128
+ if (!manager.has("mistral")) {
129
+ manager.registerShared("mistral", (id) => {
130
+ const config = getMistralEnvConfig();
131
+ if (!config.apiKey) {
132
+ throw toError(createError({
133
+ type: "config",
134
+ message: "MISTRAL_API_KEY not set. Set the environment variable or register a custom provider with registerModelProvider().",
135
+ }));
136
+ }
137
+ const registry = ensureBuiltinLLMProviders();
138
+ const provider = registry.get("openai");
139
+ if (provider) {
140
+ return provider.createModel(id, {
141
+ credential: config.apiKey,
142
+ baseURL: config.baseURL,
143
+ });
144
+ }
145
+ throw toError(createError({
146
+ type: "config",
147
+ message: "OpenAI-compatible provider not installed. Add @veryfront/ext-llm-openai to use mistral/* models.",
148
+ }));
149
+ });
150
+ }
128
151
  // Register the local provider (always available, no API key needed).
129
152
  // createLocalModel is a lightweight synchronous constructor — the actual
130
153
  // @huggingface/transformers import and model loading happen lazily on
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,4DAA4D;AAC5D,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gCAAgC,SAAS,CAAC;AACvD,iDAAiD;AACjD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAU/D,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAoDhE,CAAC;AAEF,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEvF;AAED,2CAA2C;AAC3C,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS,CAGrC;AAED,qDAAqD;AACrD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,wBAAwB,CAO1B;AAED,yDAAyD;AACzD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,MAAM,GACd,wBAAwB,GAAG,SAAS,CAMtC;AAED,yCAAyC;AACzC,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;AAED,iDAAiD;AACjD,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAcpB;AAED,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iCAAiC,GAAG,SAAS,CAc/C;AAED,qEAAqE;AACrE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iCAAiC,GAAG,SAAS,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAqBrC;AAWD,gDAAgD;AAChD,wBAAgB,mCAAmC,IAAI,KAAK,CAAC;IAC3D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC,CAMD;AAED,gDAAgD;AAChD,eAAO,MAAM,kCAAkC,4CAAsC,CAAC"}
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,4DAA4D;AAC5D,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gCAAgC,SAAS,CAAC;AACvD,iDAAiD;AACjD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAW/D,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAyEhE,CAAC;AAEF,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEvF;AAED,2CAA2C;AAC3C,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS,CAGrC;AAED,qDAAqD;AACrD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,wBAAwB,CAY1B;AAED,yDAAyD;AACzD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,MAAM,GACd,wBAAwB,GAAG,SAAS,CAMtC;AAED,yCAAyC;AACzC,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;AAED,iDAAiD;AACjD,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAcpB;AAED,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iCAAiC,GAAG,SAAS,CAc/C;AAED,qEAAqE;AACrE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iCAAiC,GAAG,SAAS,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAqBrC;AAkBD,gDAAgD;AAChD,wBAAgB,mCAAmC,IAAI,KAAK,CAAC;IAC3D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC,CAMD;AAED,gDAAgD;AAChD,eAAO,MAAM,kCAAkC,4CAAsC,CAAC"}
@@ -8,6 +8,7 @@ const VERYFRONT_CLOUD_GATEWAY_MODEL_PROVIDER_PREFIXES = [
8
8
  "google/",
9
9
  "google-ai-studio/",
10
10
  "moonshotai/",
11
+ "mistral/",
11
12
  ];
12
13
  /** Shared Veryfront Cloud chat models value. */
13
14
  export const VERYFRONT_CLOUD_CHAT_MODELS = [
@@ -62,6 +63,27 @@ export const VERYFRONT_CLOUD_CHAT_MODELS = [
62
63
  name: "Kimi K2.6",
63
64
  description: "Deep thinking and multimodal",
64
65
  },
66
+ {
67
+ id: "mistral-large",
68
+ modelId: "mistral/mistral-large-2512",
69
+ provider: "mistral",
70
+ name: "Mistral Large 3",
71
+ description: "Flagship multimodal Mistral model",
72
+ },
73
+ {
74
+ id: "mistral-medium",
75
+ modelId: "mistral/mistral-medium-3-5",
76
+ provider: "mistral",
77
+ name: "Mistral Medium 3.5",
78
+ description: "Balanced Mistral model for agentic and coding tasks",
79
+ },
80
+ {
81
+ id: "mistral-small",
82
+ modelId: "mistral/mistral-small-2603",
83
+ provider: "mistral",
84
+ name: "Mistral Small 4",
85
+ description: "Fast Mistral model for lightweight tasks",
86
+ },
65
87
  ];
66
88
  /** Find Veryfront Cloud model. */
67
89
  export function findVeryfrontCloudModel(id) {
@@ -84,7 +106,10 @@ export function getVeryfrontCloudProviderFromModelId(modelId) {
84
106
  const prefix = normalizedModelId.split("/")[0];
85
107
  if (prefix === "google-ai-studio")
86
108
  return "google";
87
- if (prefix === "openai" || prefix === "anthropic" || prefix === "moonshotai")
109
+ if (prefix === "openai" ||
110
+ prefix === "anthropic" ||
111
+ prefix === "moonshotai" ||
112
+ prefix === "mistral")
88
113
  return prefix;
89
114
  throw new Error(`Unknown model provider prefix "${prefix}" in model ID "${modelId}"`);
90
115
  }
@@ -163,8 +188,15 @@ const PROVIDER_LABELS = {
163
188
  openai: "OpenAI",
164
189
  google: "Google",
165
190
  moonshotai: "Kimi",
191
+ mistral: "Mistral",
166
192
  };
167
- const PROVIDER_ORDER = ["anthropic", "openai", "google", "moonshotai"];
193
+ const PROVIDER_ORDER = [
194
+ "anthropic",
195
+ "openai",
196
+ "google",
197
+ "moonshotai",
198
+ "mistral",
199
+ ];
168
200
  /** Group Veryfront Cloud models by provider. */
169
201
  export function groupVeryfrontCloudModelsByProvider() {
170
202
  return PROVIDER_ORDER.map((provider) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAsEvE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAuEvE"}
@@ -35,7 +35,8 @@ export function createVeryfrontCloudModel(modelId) {
35
35
  break;
36
36
  }
37
37
  case "openai":
38
- case "moonshotai": {
38
+ case "moonshotai":
39
+ case "mistral": {
39
40
  const openai = registry.get("openai");
40
41
  if (openai) {
41
42
  return openai.createModel(upstreamModelId, {
@@ -1,5 +1,5 @@
1
1
  /** Public API contract for Veryfront Cloud provider ID. */
2
- export type VeryfrontCloudProviderId = "anthropic" | "openai" | "google" | "moonshotai";
2
+ export type VeryfrontCloudProviderId = "anthropic" | "openai" | "google" | "moonshotai" | "mistral";
3
3
  interface ParsedVeryfrontCloudModelId {
4
4
  provider: VeryfrontCloudProviderId;
5
5
  modelId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/shared.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,CAAC;AAEjB,UAAU,2BAA2B;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AA+BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,2BAA2B,CA+B7B;AAED,wBAAgB,8BAA8B,IAAI;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,wBAAwB,GACjC,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,KAAK,CAed"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/shared.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAC;AAEd,UAAU,2BAA2B;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,2BAA2B,CA+B7B;AAED,wBAAgB,8BAA8B,IAAI;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,wBAAwB,GACjC,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,KAAK,CAed"}
@@ -6,12 +6,14 @@ const PROVIDER_ALIASES = {
6
6
  google: "google",
7
7
  "google-ai-studio": "google",
8
8
  moonshotai: "moonshotai",
9
+ mistral: "mistral",
9
10
  };
10
11
  const GATEWAY_PATHS = {
11
12
  anthropic: "ai/gateway/anthropic/v1",
12
13
  openai: "ai/gateway/openai/v1",
13
14
  google: "ai/gateway/google/v1beta",
14
15
  moonshotai: "ai/gateway/moonshotai/v1",
16
+ mistral: "ai/gateway/mistral/v1",
15
17
  };
16
18
  function joinUrl(base, path) {
17
19
  return `${base.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
@@ -8,8 +8,8 @@
8
8
  * uploads each asset, then assembles and PUTs the manifest (→ ready).
9
9
  *
10
10
  * Defensive by construction:
11
- * - Any module transform failure reports `failed` and stops without PUTting.
12
- * - Any other build failure (list/hash/upload/PUT) also reports `failed`.
11
+ * - Browser graph failures that can fall back to JIT are recorded as gaps.
12
+ * - Other build failures (list/hash/upload/PUT) report `failed`.
13
13
  * - The temp dir is always cleaned up by the caller.
14
14
  *
15
15
  * @module release-assets/build-executor
@@ -1 +1 @@
1
- {"version":3,"file":"build-executor.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/build-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-executor.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/build-executor.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,14 @@
8
8
  * uploads each asset, then assembles and PUTs the manifest (→ ready).
9
9
  *
10
10
  * Defensive by construction:
11
- * - Any module transform failure reports `failed` and stops without PUTting.
12
- * - Any other build failure (list/hash/upload/PUT) also reports `failed`.
11
+ * - Browser graph failures that can fall back to JIT are recorded as gaps.
12
+ * - Other build failures (list/hash/upload/PUT) report `failed`.
13
13
  * - The temp dir is always cleaned up by the caller.
14
14
  *
15
15
  * @module release-assets/build-executor
16
16
  */
17
17
  import { serverLogger } from "../utils/index.js";
18
18
  import { VERSION } from "../utils/version.js";
19
- import { resolve } from "../extensions/contracts.js";
20
19
  import { createFileSystem } from "../platform/compat/fs.js";
21
20
  import { getHostEnv } from "../platform/compat/process.js";
22
21
  import { dirname, join, normalize } from "../platform/compat/path/index.js";
@@ -88,46 +87,6 @@ function isBrowserModule(path) {
88
87
  return false;
89
88
  return BROWSER_MODULE_DIRS.some((dir) => path.startsWith(dir));
90
89
  }
91
- /**
92
- * Statically resolve runtime imports in a TS/JSX source file to logical paths.
93
- * Uses the CodeParser AST contract so type-only imports do not enter route
94
- * preload closure.
95
- */
96
- async function collectStaticProjectModuleImports(source, moduleLogicalPath, knownPaths) {
97
- return await collectAstStaticProjectModuleImports(source, moduleLogicalPath, knownPaths);
98
- }
99
- function readModuleSource(node) {
100
- return typeof node.source?.value === "string" ? node.source.value : null;
101
- }
102
- function isTypeOnlyModuleDeclaration(node) {
103
- if (node.importKind === "type" || node.exportKind === "type")
104
- return true;
105
- if (!node.specifiers?.length)
106
- return false;
107
- return node.specifiers.every((specifier) => specifier.importKind === "type" || specifier.exportKind === "type");
108
- }
109
- async function collectAstStaticProjectModuleImports(source, moduleLogicalPath, knownPaths) {
110
- const parser = resolve("CodeParser");
111
- const ast = await parser.parse({ code: source, filePath: moduleLogicalPath });
112
- const results = new Set();
113
- const visit = (path) => {
114
- const node = path.node;
115
- if (isTypeOnlyModuleDeclaration(node))
116
- return;
117
- const specifier = readModuleSource(node);
118
- if (!specifier)
119
- return;
120
- const importedPath = resolveProjectModuleSpecifier(specifier, moduleLogicalPath, knownPaths);
121
- if (importedPath)
122
- results.add(importedPath);
123
- };
124
- parser.traverse(ast, {
125
- ImportDeclaration: visit,
126
- ExportNamedDeclaration: visit,
127
- ExportAllDeclaration: visit,
128
- });
129
- return [...results];
130
- }
131
90
  function resolveKnownModulePath(path, knownPaths) {
132
91
  const normalized = normalizeLogicalPath(path
133
92
  .replace(/^\/?_vf_modules\//, "")
@@ -324,6 +283,10 @@ function addDependencyModule(dependencies, dependency) {
324
283
  function normalizeDependencySpecifier(specifier) {
325
284
  return specifier.replace(/[?#].*$/, "");
326
285
  }
286
+ function pushGap(gaps, gap) {
287
+ if (!gaps.includes(gap))
288
+ gaps.push(gap);
289
+ }
327
290
  function dependencyLookupKeys(specifier) {
328
291
  const keys = new Set([specifier, normalizeDependencySpecifier(specifier)]);
329
292
  if (specifier.startsWith("http://") || specifier.startsWith("https://")) {
@@ -710,7 +673,18 @@ async function finalizeProjectModules(transformedModules, knownPaths, dependency
710
673
  if (!transformed)
711
674
  return null;
712
675
  const nextStack = [...stack, logicalPath];
713
- const imports = await collectProjectModuleImports(transformed.code, logicalPath, knownPaths);
676
+ let imports;
677
+ try {
678
+ imports = await collectProjectModuleImports(transformed.code, logicalPath, knownPaths);
679
+ }
680
+ catch (error) {
681
+ pushGap(gaps, `module-import-parse-failed:${logicalPath}`);
682
+ logger.warn("Module import parse failed during release asset finalization", {
683
+ path: logicalPath,
684
+ error: sanitizeError(error),
685
+ });
686
+ return null;
687
+ }
714
688
  for (const importedPath of imports.values()) {
715
689
  await finalize(importedPath, nextStack);
716
690
  }
@@ -762,7 +736,22 @@ async function collectCyclicProjectModules(transformedModules, knownPaths, gaps)
762
736
  return;
763
737
  visiting.add(logicalPath);
764
738
  stack.push(logicalPath);
765
- const imports = await collectProjectModuleImports(transformed.code, logicalPath, knownPaths);
739
+ let imports;
740
+ try {
741
+ imports = await collectProjectModuleImports(transformed.code, logicalPath, knownPaths);
742
+ }
743
+ catch (error) {
744
+ cyclic.add(logicalPath);
745
+ pushGap(gaps, `module-import-parse-failed:${logicalPath}`);
746
+ logger.warn("Module import parse failed during release asset cycle collection", {
747
+ path: logicalPath,
748
+ error: sanitizeError(error),
749
+ });
750
+ stack.pop();
751
+ visiting.delete(logicalPath);
752
+ visited.add(logicalPath);
753
+ return;
754
+ }
766
755
  for (const importedPath of imports.values()) {
767
756
  if (transformedModules.has(importedPath))
768
757
  await visit(importedPath);
@@ -926,11 +915,11 @@ function addFrameworkDependencyUrlAliases(urls, dependencies) {
926
915
  }
927
916
  }
928
917
  /**
929
- * Walk the static import graph from a set of entry points using BFS.
918
+ * Walk the transformed import graph from a set of entry points using BFS.
930
919
  * Returns all reachable logical paths (entries included).
931
- * Modules not in `sourceByPath` are recorded as closure gaps.
920
+ * Modules not in `transformedModules` are recorded as closure gaps.
932
921
  */
933
- async function collectClosure(entrypoints, sourceByPath, knownPaths) {
922
+ async function collectRouteClosure(entrypoints, transformedModules, knownPaths) {
934
923
  const visited = new Set();
935
924
  const queue = [...entrypoints];
936
925
  const gaps = [];
@@ -939,16 +928,27 @@ async function collectClosure(entrypoints, sourceByPath, knownPaths) {
939
928
  if (visited.has(current))
940
929
  continue;
941
930
  visited.add(current);
942
- const source = sourceByPath.get(current);
943
- if (!source) {
944
- // Module referenced but not in the materialized file set.
931
+ const transformed = transformedModules.get(current);
932
+ if (!transformed) {
933
+ // Module referenced but not transformable or not successfully transformed.
945
934
  gaps.push(`closure-missing:${current}`);
946
935
  continue;
947
936
  }
948
- const imports = await collectStaticProjectModuleImports(source, current, knownPaths);
949
- for (const imp of imports) {
950
- if (!visited.has(imp))
951
- queue.push(imp);
937
+ let imports;
938
+ try {
939
+ imports = await collectProjectModuleImports(transformed.code, current, knownPaths);
940
+ }
941
+ catch (error) {
942
+ pushGap(gaps, `closure-import-parse-failed:${current}`);
943
+ logger.warn("Route closure import parse failed during release asset build", {
944
+ path: current,
945
+ error: sanitizeError(error),
946
+ });
947
+ continue;
948
+ }
949
+ for (const importedPath of imports.values()) {
950
+ if (!visited.has(importedPath))
951
+ queue.push(importedPath);
952
952
  }
953
953
  }
954
954
  return { modules: [...visited], gaps };
@@ -1048,23 +1048,15 @@ async function runBuildInner(input, tempDir, client, transform) {
1048
1048
  });
1049
1049
  }
1050
1050
  catch (error) {
1051
- // Hard requirement: any module transform failure -> report failed, stop.
1052
1051
  const sanitized = sanitizeError(error);
1052
+ pushGap(gaps, `module-transform-failed:${logicalPath}`);
1053
1053
  logger.warn("Module transform failed during release asset build", {
1054
1054
  path: logicalPath,
1055
1055
  error: sanitized,
1056
1056
  });
1057
- await client.reportReleaseAssetManifestState(input.releaseVersionRef, "failed", sanitized);
1058
- return {
1059
- success: false,
1060
- state: "failed",
1061
- moduleCount: 0,
1062
- cssCount: 0,
1063
- routeCount: 0,
1064
- gaps,
1065
- error: sanitized,
1066
- };
1057
+ return null;
1067
1058
  }
1059
+ const unvendoredCode = code;
1068
1060
  if (vendorDependencies) {
1069
1061
  try {
1070
1062
  const vendored = await vendorHttpImports(code, {
@@ -1078,24 +1070,28 @@ async function runBuildInner(input, tempDir, client, transform) {
1078
1070
  }
1079
1071
  catch (error) {
1080
1072
  const sanitized = sanitizeError(error);
1073
+ pushGap(gaps, `module-dependency-vendor-failed:${logicalPath}`);
1081
1074
  logger.warn("HTTP dependency vendoring failed during release asset build", {
1082
1075
  path: logicalPath,
1083
1076
  error: sanitized,
1084
1077
  });
1085
- await client.reportReleaseAssetManifestState(input.releaseVersionRef, "failed", sanitized);
1086
- return {
1087
- success: false,
1088
- state: "failed",
1089
- moduleCount: 0,
1090
- cssCount: 0,
1091
- routeCount: 0,
1092
- gaps,
1093
- error: sanitized,
1094
- };
1078
+ code = unvendoredCode;
1095
1079
  }
1096
1080
  }
1097
- transformedModules.set(logicalPath, { logicalPath, code });
1098
- const imports = await collectProjectModuleImports(code, logicalPath, knownPaths);
1081
+ let imports;
1082
+ try {
1083
+ imports = await collectProjectModuleImports(code, logicalPath, knownPaths);
1084
+ }
1085
+ catch (error) {
1086
+ const sanitized = sanitizeError(error);
1087
+ pushGap(gaps, `module-import-parse-failed:${logicalPath}`);
1088
+ logger.warn("Module import parse failed during release asset build", {
1089
+ path: logicalPath,
1090
+ error: sanitized,
1091
+ });
1092
+ return null;
1093
+ }
1094
+ transformedModules.set(logicalPath, { logicalPath, code, unvendoredCode });
1099
1095
  for (const importedPath of imports.values()) {
1100
1096
  const failure = await transformProjectModule(importedPath);
1101
1097
  if (failure)
@@ -1120,19 +1116,10 @@ async function runBuildInner(input, tempDir, client, transform) {
1120
1116
  }
1121
1117
  catch (error) {
1122
1118
  const sanitized = sanitizeError(error);
1119
+ pushGap(gaps, "dependency-vendor-failed:react-import-map");
1123
1120
  logger.warn("React import-map dependency vendoring failed during release asset build", {
1124
1121
  error: sanitized,
1125
1122
  });
1126
- await client.reportReleaseAssetManifestState(input.releaseVersionRef, "failed", sanitized);
1127
- return {
1128
- success: false,
1129
- state: "failed",
1130
- moduleCount: 0,
1131
- cssCount: 0,
1132
- routeCount: 0,
1133
- gaps,
1134
- error: sanitized,
1135
- };
1136
1123
  }
1137
1124
  }
1138
1125
  let httpDependencies;
@@ -1144,19 +1131,16 @@ async function runBuildInner(input, tempDir, client, transform) {
1144
1131
  }
1145
1132
  catch (error) {
1146
1133
  const sanitized = sanitizeError(error);
1134
+ pushGap(gaps, "dependency-finalize-failed");
1147
1135
  logger.warn("HTTP dependency finalization failed during release asset build", {
1148
1136
  error: sanitized,
1149
1137
  });
1150
- await client.reportReleaseAssetManifestState(input.releaseVersionRef, "failed", sanitized);
1151
- return {
1152
- success: false,
1153
- state: "failed",
1154
- moduleCount: 0,
1155
- cssCount: 0,
1156
- routeCount: 0,
1157
- gaps,
1158
- error: sanitized,
1159
- };
1138
+ for (const transformed of transformedModules.values()) {
1139
+ transformed.code = transformed.unvendoredCode;
1140
+ }
1141
+ dependencyModules.clear();
1142
+ httpDependencies = {};
1143
+ httpDependencyFallbackUrls = new Map();
1160
1144
  }
1161
1145
  httpDependencies = exposeDependencySpecifierAliases(httpDependencies, dependencyModules);
1162
1146
  const dependencyUrls = buildDependencyUrlMap(httpDependencies, dependencyModules);
@@ -1234,15 +1218,15 @@ async function runBuildInner(input, tempDir, client, transform) {
1234
1218
  // M3: drop bytes immediately after upload.
1235
1219
  pendingBytes.delete(asset.contentHash);
1236
1220
  });
1237
- // B2. Routes: walk the full static import closure from each page entrypoint.
1238
- // Modules whose source is not in sourceByPath are recorded as closure gaps.
1221
+ // B2. Routes: walk the transformed browser import closure from each page entrypoint.
1222
+ // Modules missing from transformedModules are recorded as closure gaps.
1239
1223
  const routes = {};
1240
1224
  const pageModules = Object.keys(modules).filter((p) => p.startsWith("pages/"));
1241
1225
  for (const logicalPath of pageModules) {
1242
1226
  const route = routeForPage(logicalPath);
1243
1227
  if (!route)
1244
1228
  continue;
1245
- const { modules: closureModules, gaps: closureGaps } = await collectClosure([logicalPath], sourceByPath, knownPaths);
1229
+ const { modules: closureModules, gaps: closureGaps } = await collectRouteClosure([logicalPath], transformedModules, knownPaths);
1246
1230
  // Include only modules we actually have in the manifest (transformed +
1247
1231
  // within size limit). Framework lib/* modules are excluded per contract
1248
1232
  // (they are embedded by the runtime, not shipped as release assets).
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.839";
2
+ export declare const VERSION = "0.1.841";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.839";
4
+ export const VERSION = "0.1.841";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.839",
3
+ "version": "0.1.841",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",