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 +1 -1
- package/esm/src/agent/runtime/constants.d.ts.map +1 -1
- package/esm/src/agent/runtime/constants.js +3 -0
- package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -1
- package/esm/src/agent/runtime/model-resolution.js +10 -1
- package/esm/src/config/env.d.ts +4 -0
- package/esm/src/config/env.d.ts.map +1 -1
- package/esm/src/config/env.js +6 -0
- package/esm/src/integrations/_data.js +2 -2
- package/esm/src/integrations/schema.d.ts +4 -4
- package/esm/src/provider/model-registry.d.ts.map +1 -1
- package/esm/src/provider/model-registry.js +24 -1
- package/esm/src/provider/veryfront-cloud/model-catalog.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/model-catalog.js +34 -2
- package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/provider.js +2 -1
- package/esm/src/provider/veryfront-cloud/shared.d.ts +1 -1
- package/esm/src/provider/veryfront-cloud/shared.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/shared.js +2 -0
- package/esm/src/release-assets/build-executor.d.ts +2 -2
- package/esm/src/release-assets/build-executor.d.ts.map +1 -1
- package/esm/src/release-assets/build-executor.js +85 -101
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -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;
|
|
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":"
|
|
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:
|
package/esm/src/config/env.d.ts
CHANGED
|
@@ -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":"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"}
|
package/esm/src/config/env.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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;
|
|
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;
|
|
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" ||
|
|
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 = [
|
|
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,
|
|
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;
|
|
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
|
-
* -
|
|
12
|
-
* -
|
|
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":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
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
|
-
* -
|
|
12
|
-
* -
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 `
|
|
920
|
+
* Modules not in `transformedModules` are recorded as closure gaps.
|
|
932
921
|
*/
|
|
933
|
-
async function
|
|
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
|
|
943
|
-
if (!
|
|
944
|
-
// Module referenced but not
|
|
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
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1098
|
-
|
|
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
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
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
|
|
1238
|
-
// Modules
|
|
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
|
|
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).
|