@shipfox/api-agent-dto 9.0.1 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  $ shipfox-swc
2
- Successfully compiled: 11 files with swc (350.19ms)
2
+ Successfully compiled: 11 files with swc (267.68ms)
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @shipfox/api-agent-dto
2
2
 
3
+ ## 10.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 43ce975: Align Pi harness compatibility and provider catalog metadata with the current Pi SDK.
8
+ - @shipfox/inter-module@0.2.2
9
+ - @shipfox/workflow-document@2.1.3
10
+
11
+ ## 9.0.2
12
+
13
+ ### Patch Changes
14
+
15
+ - 4b85404: Adds versioned architecture identity to participating package artifacts during publication.
16
+ - Updated dependencies [4b85404]
17
+ - @shipfox/inter-module@0.2.2
18
+ - @shipfox/workflow-document@2.1.3
19
+
3
20
  ## 9.0.1
4
21
 
5
22
  ### Patch Changes
@@ -43,6 +43,8 @@ export declare const modelProviderCatalogSeedSchema: z.ZodObject<{
43
43
  fireworks: "fireworks";
44
44
  together: "together";
45
45
  "kimi-coding": "kimi-coding";
46
+ "qwen-token-plan": "qwen-token-plan";
47
+ "qwen-token-plan-cn": "qwen-token-plan-cn";
46
48
  minimax: "minimax";
47
49
  "minimax-cn": "minimax-cn";
48
50
  moonshotai: "moonshotai";
@@ -95,6 +97,8 @@ export declare const modelProviderCatalogEntrySchema: z.ZodObject<{
95
97
  fireworks: "fireworks";
96
98
  together: "together";
97
99
  "kimi-coding": "kimi-coding";
100
+ "qwen-token-plan": "qwen-token-plan";
101
+ "qwen-token-plan-cn": "qwen-token-plan-cn";
98
102
  minimax: "minimax";
99
103
  "minimax-cn": "minimax-cn";
100
104
  moonshotai: "moonshotai";
@@ -152,6 +156,8 @@ export declare const modelProviderCatalogResponseSchema: z.ZodObject<{
152
156
  fireworks: "fireworks";
153
157
  together: "together";
154
158
  "kimi-coding": "kimi-coding";
159
+ "qwen-token-plan": "qwen-token-plan";
160
+ "qwen-token-plan-cn": "qwen-token-plan-cn";
155
161
  minimax: "minimax";
156
162
  "minimax-cn": "minimax-cn";
157
163
  moonshotai: "moonshotai";
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/schemas/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAStB,YAAY,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,GACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,eAAO,MAAM,kCAAkC;;;;iBAI7C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAEjG,eAAO,MAAM,gCAAgC;;;EAAuC,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAc1F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAC+B,CAAC;AAE3E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEzF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCxC,CAAC;AAEL,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE3F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAoBjG,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,EA8DpE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAEzF;AAED,wBAAgB,2BAA2B,IAAI,2BAA2B,EAAE,CAE3E"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/schemas/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAStB,YAAY,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACvE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,GACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,eAAO,MAAM,kCAAkC;;;;iBAI7C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAEjG,eAAO,MAAM,gCAAgC;;;EAAuC,CAAC;AAErF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAc1F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAC+B,CAAC;AAE3E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEzF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCxC,CAAC;AAEL,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE3F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAoBjG,eAAO,MAAM,2BAA2B,EAAE,2BAA2B,EAgEpE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAEzF;AAED,wBAAgB,2BAA2B,IAAI,2BAA2B,EAAE,CAE3E"}
@@ -101,7 +101,9 @@ export const MODEL_PROVIDER_CATALOG_SEED = [
101
101
  supportedProvider('huggingface', 'Hugging Face', 'deepseek-ai/DeepSeek-V4-Pro'),
102
102
  supportedProvider('fireworks', 'Fireworks', 'accounts/fireworks/models/deepseek-v4-pro'),
103
103
  supportedProvider('together', 'Together AI', 'deepseek-ai/DeepSeek-V4-Pro'),
104
- supportedProvider('kimi-coding', 'Kimi Coding', 'k2p7'),
104
+ supportedProvider('kimi-coding', 'Kimi Coding', 'kimi-for-coding'),
105
+ supportedProvider('qwen-token-plan', 'Qwen Token Plan', 'qwen3.8-max-preview'),
106
+ supportedProvider('qwen-token-plan-cn', 'Qwen Token Plan CN', 'qwen3.8-max-preview'),
105
107
  supportedProvider('minimax', 'MiniMax', 'MiniMax-M3'),
106
108
  supportedProvider('minimax-cn', 'MiniMax CN', 'MiniMax-M3'),
107
109
  supportedProvider('moonshotai', 'Moonshot AI', 'kimi-k2.7-code'),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/catalog.ts"],"sourcesContent":["import {\n agentThinkingByHarness,\n agentThinkingSchema,\n claudeAgentThinkingSchema,\n DEFAULT_AGENT_THINKING,\n DEFAULT_HARNESS,\n DEFAULT_MODEL_PROVIDER,\n harnessSchema,\n piAgentThinkingSchema,\n thinkingLevelsForHarness,\n} from '@shipfox/workflow-document';\nimport {z} from 'zod';\nimport {\n type ModelProviderId,\n providerIdSchema,\n SUPPORTED_MODEL_PROVIDER_IDS,\n type SupportedModelProviderId,\n UNSUPPORTED_MODEL_PROVIDER_IDS,\n} from './model-provider-id.js';\n\nexport type {AgentThinking, Harness} from '@shipfox/workflow-document';\nexport {\n agentThinkingByHarness,\n agentThinkingSchema,\n claudeAgentThinkingSchema,\n DEFAULT_AGENT_THINKING,\n DEFAULT_HARNESS,\n DEFAULT_MODEL_PROVIDER,\n harnessSchema,\n piAgentThinkingSchema,\n thinkingLevelsForHarness,\n};\n\nexport const agentModelOptionSchema = z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n});\n\nexport type AgentModelOptionDto = z.infer<typeof agentModelOptionSchema>;\n\nexport const modelProviderCredentialFieldSchema = z.object({\n key: z.string().min(1),\n label: z.string().min(1),\n secret: z.boolean(),\n});\n\nexport type ModelProviderCredentialFieldDto = z.infer<typeof modelProviderCredentialFieldSchema>;\n\nexport const modelProviderSupportStatusSchema = z.enum(['supported', 'unsupported']);\n\nexport type ModelProviderSupportStatus = z.infer<typeof modelProviderSupportStatusSchema>;\n\nconst supportedModelProviderIds = new Set<string>(SUPPORTED_MODEL_PROVIDER_IDS);\nconst unsupportedModelProviderIds = new Set<string>(UNSUPPORTED_MODEL_PROVIDER_IDS);\n\nconst modelProviderCatalogSeedBaseSchema = z.object({\n id: providerIdSchema,\n label: z.string().min(1),\n support_status: modelProviderSupportStatusSchema,\n default_model: z.string().min(1).nullable(),\n credential_fields: z.array(modelProviderCredentialFieldSchema),\n unsupported_reason: z.string().min(1).nullable(),\n});\n\nexport const modelProviderCatalogSeedSchema =\n modelProviderCatalogSeedBaseSchema.superRefine(validateCatalogSeedEntry);\n\nexport type ModelProviderCatalogSeedDto = z.infer<typeof modelProviderCatalogSeedSchema>;\n\nexport const modelProviderCatalogEntrySchema = modelProviderCatalogSeedBaseSchema\n .extend({\n models: z.array(agentModelOptionSchema),\n })\n .superRefine((entry, ctx) => {\n validateCatalogSeedEntry(entry, ctx);\n\n if (entry.support_status === 'supported') {\n if (entry.models.length === 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['models'],\n message: 'Supported model providers must include at least one model.',\n });\n }\n if (\n entry.default_model !== null &&\n !entry.models.some((model) => model.id === entry.default_model)\n ) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Supported model provider default_model must be present in models.',\n });\n }\n } else if (entry.models.length > 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['models'],\n message: 'Unsupported model providers must not include models.',\n });\n }\n });\n\nexport type ModelProviderCatalogEntryDto = z.infer<typeof modelProviderCatalogEntrySchema>;\n\nexport const modelProviderCatalogResponseSchema = z.object({\n providers: z.array(modelProviderCatalogEntrySchema),\n});\n\nexport type ModelProviderCatalogResponseDto = z.infer<typeof modelProviderCatalogResponseSchema>;\n\nconst apiKeyCredentialFields = [credentialField('api_key', 'API key', true)];\n\nconst azureCredentialFields = [\n credentialField('endpoint', 'Endpoint', false),\n credentialField('api_key', 'API key', true),\n];\n\nconst cloudflareAiGatewayCredentialFields = [\n credentialField('api_key', 'API token', true),\n credentialField('account_id', 'Account ID', false),\n credentialField('gateway_id', 'Gateway ID', false),\n];\n\nconst cloudflareWorkersAiCredentialFields = [\n credentialField('api_key', 'API token', true),\n credentialField('account_id', 'Account ID', false),\n];\n\nexport const MODEL_PROVIDER_CATALOG_SEED: ModelProviderCatalogSeedDto[] = [\n supportedProvider('anthropic', 'Anthropic', 'claude-opus-4-8'),\n supportedProvider('ant-ling', 'Ant Ling', 'Ring-2.6-1T'),\n supportedProvider('azure-openai-responses', 'Azure OpenAI', 'gpt-5.5-pro', azureCredentialFields),\n supportedProvider('openai', 'OpenAI', 'gpt-5.5-pro'),\n supportedProvider('deepseek', 'DeepSeek', 'deepseek-v4-pro'),\n supportedProvider('nvidia', 'NVIDIA', 'nvidia/nemotron-3-ultra-550b-a55b'),\n supportedProvider('google', 'Google AI Studio', 'gemini-3.1-pro-preview'),\n supportedProvider('mistral', 'Mistral', 'mistral-large-latest'),\n supportedProvider('groq', 'Groq', 'openai/gpt-oss-120b'),\n supportedProvider('cerebras', 'Cerebras', 'gpt-oss-120b'),\n supportedProvider(\n 'cloudflare-ai-gateway',\n 'Cloudflare AI Gateway',\n 'claude-opus-4-8',\n cloudflareAiGatewayCredentialFields,\n ),\n supportedProvider(\n 'cloudflare-workers-ai',\n 'Cloudflare Workers AI',\n '@cf/moonshotai/kimi-k2.7-code',\n cloudflareWorkersAiCredentialFields,\n ),\n supportedProvider('xai', 'xAI', 'grok-4.3'),\n supportedProvider('openrouter', 'OpenRouter', 'anthropic/claude-opus-4.8'),\n supportedProvider('vercel-ai-gateway', 'Vercel AI Gateway', 'anthropic/claude-opus-4.8'),\n supportedProvider('zai', 'Z.ai', 'glm-5.2'),\n supportedProvider('zai-coding-cn', 'Z.ai Coding CN', 'glm-5.2'),\n supportedProvider('opencode', 'OpenCode', 'claude-opus-4-8'),\n supportedProvider('opencode-go', 'OpenCode Go', 'kimi-k2.7-code'),\n supportedProvider('huggingface', 'Hugging Face', 'deepseek-ai/DeepSeek-V4-Pro'),\n supportedProvider('fireworks', 'Fireworks', 'accounts/fireworks/models/deepseek-v4-pro'),\n supportedProvider('together', 'Together AI', 'deepseek-ai/DeepSeek-V4-Pro'),\n supportedProvider('kimi-coding', 'Kimi Coding', 'k2p7'),\n supportedProvider('minimax', 'MiniMax', 'MiniMax-M3'),\n supportedProvider('minimax-cn', 'MiniMax CN', 'MiniMax-M3'),\n supportedProvider('moonshotai', 'Moonshot AI', 'kimi-k2.7-code'),\n supportedProvider('moonshotai-cn', 'Moonshot AI CN', 'kimi-k2.7-code'),\n supportedProvider('xiaomi', 'Xiaomi', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-cn', 'Xiaomi Token Plan CN', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-ams', 'Xiaomi Token Plan AMS', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-sgp', 'Xiaomi Token Plan SGP', 'mimo-v2.5-pro'),\n unsupportedProvider(\n 'amazon-bedrock',\n 'Amazon Bedrock',\n 'AWS cloud credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'google-vertex',\n 'Google Vertex AI',\n 'GCP cloud credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'openai-codex',\n 'OpenAI Codex',\n 'ChatGPT subscription and OAuth credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'github-copilot',\n 'GitHub Copilot',\n 'GitHub Copilot OAuth credentials are not supported by workspace API-key provider configs yet.',\n ),\n];\n\nexport function getModelProviderEntry(id: string): ModelProviderCatalogSeedDto | undefined {\n return MODEL_PROVIDER_CATALOG_SEED.find((entry) => entry.id === id);\n}\n\nexport function listSupportedModelProviders(): ModelProviderCatalogSeedDto[] {\n return MODEL_PROVIDER_CATALOG_SEED.filter((entry) => entry.support_status === 'supported');\n}\n\nfunction validateCatalogSeedEntry(\n entry: z.infer<typeof modelProviderCatalogSeedBaseSchema>,\n ctx: z.RefinementCtx,\n): void {\n if (entry.support_status === 'supported') {\n if (!supportedModelProviderIds.has(entry.id)) {\n ctx.addIssue({\n code: 'custom',\n path: ['id'],\n message: 'Supported catalog entries must use a supported model provider id.',\n });\n }\n if (entry.default_model === null) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Supported model providers must define a default_model.',\n });\n }\n if (entry.credential_fields.length === 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['credential_fields'],\n message: 'Supported model providers must define credential_fields.',\n });\n }\n if (entry.unsupported_reason !== null) {\n ctx.addIssue({\n code: 'custom',\n path: ['unsupported_reason'],\n message: 'Supported model providers must not define unsupported_reason.',\n });\n }\n } else {\n if (!unsupportedModelProviderIds.has(entry.id)) {\n ctx.addIssue({\n code: 'custom',\n path: ['id'],\n message: 'Unsupported catalog entries must use an unsupported model provider id.',\n });\n }\n if (entry.default_model !== null) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Unsupported model providers must not define a default_model.',\n });\n }\n if (entry.credential_fields.length > 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['credential_fields'],\n message: 'Unsupported model providers must not define credential_fields.',\n });\n }\n if (entry.unsupported_reason === null) {\n ctx.addIssue({\n code: 'custom',\n path: ['unsupported_reason'],\n message: 'Unsupported model providers must define unsupported_reason.',\n });\n }\n }\n}\n\nfunction credentialField(\n key: string,\n label: string,\n secret: boolean,\n): ModelProviderCredentialFieldDto {\n return {key, label, secret};\n}\n\nfunction supportedProvider(\n id: SupportedModelProviderId,\n label: string,\n defaultModel: string,\n credentialFields: ModelProviderCredentialFieldDto[] = apiKeyCredentialFields,\n): ModelProviderCatalogSeedDto {\n return {\n id,\n label,\n support_status: 'supported',\n default_model: defaultModel,\n credential_fields: credentialFields.map((field) => ({...field})),\n unsupported_reason: null,\n };\n}\n\nfunction unsupportedProvider(\n id: ModelProviderId,\n label: string,\n unsupportedReason: string,\n): ModelProviderCatalogSeedDto {\n return {\n id,\n label,\n support_status: 'unsupported',\n default_model: null,\n credential_fields: [],\n unsupported_reason: unsupportedReason,\n };\n}\n"],"names":["agentThinkingByHarness","agentThinkingSchema","claudeAgentThinkingSchema","DEFAULT_AGENT_THINKING","DEFAULT_HARNESS","DEFAULT_MODEL_PROVIDER","harnessSchema","piAgentThinkingSchema","thinkingLevelsForHarness","z","providerIdSchema","SUPPORTED_MODEL_PROVIDER_IDS","UNSUPPORTED_MODEL_PROVIDER_IDS","agentModelOptionSchema","object","id","string","min","label","modelProviderCredentialFieldSchema","key","secret","boolean","modelProviderSupportStatusSchema","enum","supportedModelProviderIds","Set","unsupportedModelProviderIds","modelProviderCatalogSeedBaseSchema","support_status","default_model","nullable","credential_fields","array","unsupported_reason","modelProviderCatalogSeedSchema","superRefine","validateCatalogSeedEntry","modelProviderCatalogEntrySchema","extend","models","entry","ctx","length","addIssue","code","path","message","some","model","modelProviderCatalogResponseSchema","providers","apiKeyCredentialFields","credentialField","azureCredentialFields","cloudflareAiGatewayCredentialFields","cloudflareWorkersAiCredentialFields","MODEL_PROVIDER_CATALOG_SEED","supportedProvider","unsupportedProvider","getModelProviderEntry","find","listSupportedModelProviders","filter","has","defaultModel","credentialFields","map","field","unsupportedReason"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schemas/catalog.ts"],"sourcesContent":["import {\n agentThinkingByHarness,\n agentThinkingSchema,\n claudeAgentThinkingSchema,\n DEFAULT_AGENT_THINKING,\n DEFAULT_HARNESS,\n DEFAULT_MODEL_PROVIDER,\n harnessSchema,\n piAgentThinkingSchema,\n thinkingLevelsForHarness,\n} from '@shipfox/workflow-document';\nimport {z} from 'zod';\nimport {\n type ModelProviderId,\n providerIdSchema,\n SUPPORTED_MODEL_PROVIDER_IDS,\n type SupportedModelProviderId,\n UNSUPPORTED_MODEL_PROVIDER_IDS,\n} from './model-provider-id.js';\n\nexport type {AgentThinking, Harness} from '@shipfox/workflow-document';\nexport {\n agentThinkingByHarness,\n agentThinkingSchema,\n claudeAgentThinkingSchema,\n DEFAULT_AGENT_THINKING,\n DEFAULT_HARNESS,\n DEFAULT_MODEL_PROVIDER,\n harnessSchema,\n piAgentThinkingSchema,\n thinkingLevelsForHarness,\n};\n\nexport const agentModelOptionSchema = z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n});\n\nexport type AgentModelOptionDto = z.infer<typeof agentModelOptionSchema>;\n\nexport const modelProviderCredentialFieldSchema = z.object({\n key: z.string().min(1),\n label: z.string().min(1),\n secret: z.boolean(),\n});\n\nexport type ModelProviderCredentialFieldDto = z.infer<typeof modelProviderCredentialFieldSchema>;\n\nexport const modelProviderSupportStatusSchema = z.enum(['supported', 'unsupported']);\n\nexport type ModelProviderSupportStatus = z.infer<typeof modelProviderSupportStatusSchema>;\n\nconst supportedModelProviderIds = new Set<string>(SUPPORTED_MODEL_PROVIDER_IDS);\nconst unsupportedModelProviderIds = new Set<string>(UNSUPPORTED_MODEL_PROVIDER_IDS);\n\nconst modelProviderCatalogSeedBaseSchema = z.object({\n id: providerIdSchema,\n label: z.string().min(1),\n support_status: modelProviderSupportStatusSchema,\n default_model: z.string().min(1).nullable(),\n credential_fields: z.array(modelProviderCredentialFieldSchema),\n unsupported_reason: z.string().min(1).nullable(),\n});\n\nexport const modelProviderCatalogSeedSchema =\n modelProviderCatalogSeedBaseSchema.superRefine(validateCatalogSeedEntry);\n\nexport type ModelProviderCatalogSeedDto = z.infer<typeof modelProviderCatalogSeedSchema>;\n\nexport const modelProviderCatalogEntrySchema = modelProviderCatalogSeedBaseSchema\n .extend({\n models: z.array(agentModelOptionSchema),\n })\n .superRefine((entry, ctx) => {\n validateCatalogSeedEntry(entry, ctx);\n\n if (entry.support_status === 'supported') {\n if (entry.models.length === 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['models'],\n message: 'Supported model providers must include at least one model.',\n });\n }\n if (\n entry.default_model !== null &&\n !entry.models.some((model) => model.id === entry.default_model)\n ) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Supported model provider default_model must be present in models.',\n });\n }\n } else if (entry.models.length > 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['models'],\n message: 'Unsupported model providers must not include models.',\n });\n }\n });\n\nexport type ModelProviderCatalogEntryDto = z.infer<typeof modelProviderCatalogEntrySchema>;\n\nexport const modelProviderCatalogResponseSchema = z.object({\n providers: z.array(modelProviderCatalogEntrySchema),\n});\n\nexport type ModelProviderCatalogResponseDto = z.infer<typeof modelProviderCatalogResponseSchema>;\n\nconst apiKeyCredentialFields = [credentialField('api_key', 'API key', true)];\n\nconst azureCredentialFields = [\n credentialField('endpoint', 'Endpoint', false),\n credentialField('api_key', 'API key', true),\n];\n\nconst cloudflareAiGatewayCredentialFields = [\n credentialField('api_key', 'API token', true),\n credentialField('account_id', 'Account ID', false),\n credentialField('gateway_id', 'Gateway ID', false),\n];\n\nconst cloudflareWorkersAiCredentialFields = [\n credentialField('api_key', 'API token', true),\n credentialField('account_id', 'Account ID', false),\n];\n\nexport const MODEL_PROVIDER_CATALOG_SEED: ModelProviderCatalogSeedDto[] = [\n supportedProvider('anthropic', 'Anthropic', 'claude-opus-4-8'),\n supportedProvider('ant-ling', 'Ant Ling', 'Ring-2.6-1T'),\n supportedProvider('azure-openai-responses', 'Azure OpenAI', 'gpt-5.5-pro', azureCredentialFields),\n supportedProvider('openai', 'OpenAI', 'gpt-5.5-pro'),\n supportedProvider('deepseek', 'DeepSeek', 'deepseek-v4-pro'),\n supportedProvider('nvidia', 'NVIDIA', 'nvidia/nemotron-3-ultra-550b-a55b'),\n supportedProvider('google', 'Google AI Studio', 'gemini-3.1-pro-preview'),\n supportedProvider('mistral', 'Mistral', 'mistral-large-latest'),\n supportedProvider('groq', 'Groq', 'openai/gpt-oss-120b'),\n supportedProvider('cerebras', 'Cerebras', 'gpt-oss-120b'),\n supportedProvider(\n 'cloudflare-ai-gateway',\n 'Cloudflare AI Gateway',\n 'claude-opus-4-8',\n cloudflareAiGatewayCredentialFields,\n ),\n supportedProvider(\n 'cloudflare-workers-ai',\n 'Cloudflare Workers AI',\n '@cf/moonshotai/kimi-k2.7-code',\n cloudflareWorkersAiCredentialFields,\n ),\n supportedProvider('xai', 'xAI', 'grok-4.3'),\n supportedProvider('openrouter', 'OpenRouter', 'anthropic/claude-opus-4.8'),\n supportedProvider('vercel-ai-gateway', 'Vercel AI Gateway', 'anthropic/claude-opus-4.8'),\n supportedProvider('zai', 'Z.ai', 'glm-5.2'),\n supportedProvider('zai-coding-cn', 'Z.ai Coding CN', 'glm-5.2'),\n supportedProvider('opencode', 'OpenCode', 'claude-opus-4-8'),\n supportedProvider('opencode-go', 'OpenCode Go', 'kimi-k2.7-code'),\n supportedProvider('huggingface', 'Hugging Face', 'deepseek-ai/DeepSeek-V4-Pro'),\n supportedProvider('fireworks', 'Fireworks', 'accounts/fireworks/models/deepseek-v4-pro'),\n supportedProvider('together', 'Together AI', 'deepseek-ai/DeepSeek-V4-Pro'),\n supportedProvider('kimi-coding', 'Kimi Coding', 'kimi-for-coding'),\n supportedProvider('qwen-token-plan', 'Qwen Token Plan', 'qwen3.8-max-preview'),\n supportedProvider('qwen-token-plan-cn', 'Qwen Token Plan CN', 'qwen3.8-max-preview'),\n supportedProvider('minimax', 'MiniMax', 'MiniMax-M3'),\n supportedProvider('minimax-cn', 'MiniMax CN', 'MiniMax-M3'),\n supportedProvider('moonshotai', 'Moonshot AI', 'kimi-k2.7-code'),\n supportedProvider('moonshotai-cn', 'Moonshot AI CN', 'kimi-k2.7-code'),\n supportedProvider('xiaomi', 'Xiaomi', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-cn', 'Xiaomi Token Plan CN', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-ams', 'Xiaomi Token Plan AMS', 'mimo-v2.5-pro'),\n supportedProvider('xiaomi-token-plan-sgp', 'Xiaomi Token Plan SGP', 'mimo-v2.5-pro'),\n unsupportedProvider(\n 'amazon-bedrock',\n 'Amazon Bedrock',\n 'AWS cloud credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'google-vertex',\n 'Google Vertex AI',\n 'GCP cloud credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'openai-codex',\n 'OpenAI Codex',\n 'ChatGPT subscription and OAuth credentials are not supported by workspace API-key provider configs yet.',\n ),\n unsupportedProvider(\n 'github-copilot',\n 'GitHub Copilot',\n 'GitHub Copilot OAuth credentials are not supported by workspace API-key provider configs yet.',\n ),\n];\n\nexport function getModelProviderEntry(id: string): ModelProviderCatalogSeedDto | undefined {\n return MODEL_PROVIDER_CATALOG_SEED.find((entry) => entry.id === id);\n}\n\nexport function listSupportedModelProviders(): ModelProviderCatalogSeedDto[] {\n return MODEL_PROVIDER_CATALOG_SEED.filter((entry) => entry.support_status === 'supported');\n}\n\nfunction validateCatalogSeedEntry(\n entry: z.infer<typeof modelProviderCatalogSeedBaseSchema>,\n ctx: z.RefinementCtx,\n): void {\n if (entry.support_status === 'supported') {\n if (!supportedModelProviderIds.has(entry.id)) {\n ctx.addIssue({\n code: 'custom',\n path: ['id'],\n message: 'Supported catalog entries must use a supported model provider id.',\n });\n }\n if (entry.default_model === null) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Supported model providers must define a default_model.',\n });\n }\n if (entry.credential_fields.length === 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['credential_fields'],\n message: 'Supported model providers must define credential_fields.',\n });\n }\n if (entry.unsupported_reason !== null) {\n ctx.addIssue({\n code: 'custom',\n path: ['unsupported_reason'],\n message: 'Supported model providers must not define unsupported_reason.',\n });\n }\n } else {\n if (!unsupportedModelProviderIds.has(entry.id)) {\n ctx.addIssue({\n code: 'custom',\n path: ['id'],\n message: 'Unsupported catalog entries must use an unsupported model provider id.',\n });\n }\n if (entry.default_model !== null) {\n ctx.addIssue({\n code: 'custom',\n path: ['default_model'],\n message: 'Unsupported model providers must not define a default_model.',\n });\n }\n if (entry.credential_fields.length > 0) {\n ctx.addIssue({\n code: 'custom',\n path: ['credential_fields'],\n message: 'Unsupported model providers must not define credential_fields.',\n });\n }\n if (entry.unsupported_reason === null) {\n ctx.addIssue({\n code: 'custom',\n path: ['unsupported_reason'],\n message: 'Unsupported model providers must define unsupported_reason.',\n });\n }\n }\n}\n\nfunction credentialField(\n key: string,\n label: string,\n secret: boolean,\n): ModelProviderCredentialFieldDto {\n return {key, label, secret};\n}\n\nfunction supportedProvider(\n id: SupportedModelProviderId,\n label: string,\n defaultModel: string,\n credentialFields: ModelProviderCredentialFieldDto[] = apiKeyCredentialFields,\n): ModelProviderCatalogSeedDto {\n return {\n id,\n label,\n support_status: 'supported',\n default_model: defaultModel,\n credential_fields: credentialFields.map((field) => ({...field})),\n unsupported_reason: null,\n };\n}\n\nfunction unsupportedProvider(\n id: ModelProviderId,\n label: string,\n unsupportedReason: string,\n): ModelProviderCatalogSeedDto {\n return {\n id,\n label,\n support_status: 'unsupported',\n default_model: null,\n credential_fields: [],\n unsupported_reason: unsupportedReason,\n };\n}\n"],"names":["agentThinkingByHarness","agentThinkingSchema","claudeAgentThinkingSchema","DEFAULT_AGENT_THINKING","DEFAULT_HARNESS","DEFAULT_MODEL_PROVIDER","harnessSchema","piAgentThinkingSchema","thinkingLevelsForHarness","z","providerIdSchema","SUPPORTED_MODEL_PROVIDER_IDS","UNSUPPORTED_MODEL_PROVIDER_IDS","agentModelOptionSchema","object","id","string","min","label","modelProviderCredentialFieldSchema","key","secret","boolean","modelProviderSupportStatusSchema","enum","supportedModelProviderIds","Set","unsupportedModelProviderIds","modelProviderCatalogSeedBaseSchema","support_status","default_model","nullable","credential_fields","array","unsupported_reason","modelProviderCatalogSeedSchema","superRefine","validateCatalogSeedEntry","modelProviderCatalogEntrySchema","extend","models","entry","ctx","length","addIssue","code","path","message","some","model","modelProviderCatalogResponseSchema","providers","apiKeyCredentialFields","credentialField","azureCredentialFields","cloudflareAiGatewayCredentialFields","cloudflareWorkersAiCredentialFields","MODEL_PROVIDER_CATALOG_SEED","supportedProvider","unsupportedProvider","getModelProviderEntry","find","listSupportedModelProviders","filter","has","defaultModel","credentialFields","map","field","unsupportedReason"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- export declare const SUPPORTED_MODEL_PROVIDER_IDS: readonly ["anthropic", "ant-ling", "azure-openai-responses", "openai", "deepseek", "nvidia", "google", "mistral", "groq", "cerebras", "cloudflare-ai-gateway", "cloudflare-workers-ai", "xai", "openrouter", "vercel-ai-gateway", "zai", "zai-coding-cn", "opencode", "opencode-go", "huggingface", "fireworks", "together", "kimi-coding", "minimax", "minimax-cn", "moonshotai", "moonshotai-cn", "xiaomi", "xiaomi-token-plan-cn", "xiaomi-token-plan-ams", "xiaomi-token-plan-sgp"];
2
+ export declare const SUPPORTED_MODEL_PROVIDER_IDS: readonly ["anthropic", "ant-ling", "azure-openai-responses", "openai", "deepseek", "nvidia", "google", "mistral", "groq", "cerebras", "cloudflare-ai-gateway", "cloudflare-workers-ai", "xai", "openrouter", "vercel-ai-gateway", "zai", "zai-coding-cn", "opencode", "opencode-go", "huggingface", "fireworks", "together", "kimi-coding", "qwen-token-plan", "qwen-token-plan-cn", "minimax", "minimax-cn", "moonshotai", "moonshotai-cn", "xiaomi", "xiaomi-token-plan-cn", "xiaomi-token-plan-ams", "xiaomi-token-plan-sgp"];
3
3
  export declare const UNSUPPORTED_MODEL_PROVIDER_IDS: readonly ["amazon-bedrock", "google-vertex", "openai-codex", "github-copilot"];
4
- export declare const MODEL_PROVIDER_IDS: readonly ["anthropic", "ant-ling", "azure-openai-responses", "openai", "deepseek", "nvidia", "google", "mistral", "groq", "cerebras", "cloudflare-ai-gateway", "cloudflare-workers-ai", "xai", "openrouter", "vercel-ai-gateway", "zai", "zai-coding-cn", "opencode", "opencode-go", "huggingface", "fireworks", "together", "kimi-coding", "minimax", "minimax-cn", "moonshotai", "moonshotai-cn", "xiaomi", "xiaomi-token-plan-cn", "xiaomi-token-plan-ams", "xiaomi-token-plan-sgp", "amazon-bedrock", "google-vertex", "openai-codex", "github-copilot"];
4
+ export declare const MODEL_PROVIDER_IDS: readonly ["anthropic", "ant-ling", "azure-openai-responses", "openai", "deepseek", "nvidia", "google", "mistral", "groq", "cerebras", "cloudflare-ai-gateway", "cloudflare-workers-ai", "xai", "openrouter", "vercel-ai-gateway", "zai", "zai-coding-cn", "opencode", "opencode-go", "huggingface", "fireworks", "together", "kimi-coding", "qwen-token-plan", "qwen-token-plan-cn", "minimax", "minimax-cn", "moonshotai", "moonshotai-cn", "xiaomi", "xiaomi-token-plan-cn", "xiaomi-token-plan-ams", "xiaomi-token-plan-sgp", "amazon-bedrock", "google-vertex", "openai-codex", "github-copilot"];
5
5
  export declare const supportedModelProviderIdSchema: z.ZodEnum<{
6
6
  anthropic: "anthropic";
7
7
  "ant-ling": "ant-ling";
@@ -26,6 +26,8 @@ export declare const supportedModelProviderIdSchema: z.ZodEnum<{
26
26
  fireworks: "fireworks";
27
27
  together: "together";
28
28
  "kimi-coding": "kimi-coding";
29
+ "qwen-token-plan": "qwen-token-plan";
30
+ "qwen-token-plan-cn": "qwen-token-plan-cn";
29
31
  minimax: "minimax";
30
32
  "minimax-cn": "minimax-cn";
31
33
  moonshotai: "moonshotai";
@@ -59,6 +61,8 @@ export declare const providerIdSchema: z.ZodEnum<{
59
61
  fireworks: "fireworks";
60
62
  together: "together";
61
63
  "kimi-coding": "kimi-coding";
64
+ "qwen-token-plan": "qwen-token-plan";
65
+ "qwen-token-plan-cn": "qwen-token-plan-cn";
62
66
  minimax: "minimax";
63
67
  "minimax-cn": "minimax-cn";
64
68
  moonshotai: "moonshotai";
@@ -1 +1 @@
1
- {"version":3,"file":"model-provider-id.d.ts","sourceRoot":"","sources":["../../src/schemas/model-provider-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,4BAA4B,ydAgC/B,CAAC;AAEX,eAAO,MAAM,8BAA8B,gFAKjC,CAAC;AAEX,eAAO,MAAM,kBAAkB,8hBAGrB,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAC;AAC3D,eAAO,MAAM,2BAA2B,QAAsC,CAAC;AAC/E,eAAO,MAAM,sBAAsB,aAAgD,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE"}
1
+ {"version":3,"file":"model-provider-id.d.ts","sourceRoot":"","sources":["../../src/schemas/model-provider-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,4BAA4B,kgBAkC/B,CAAC;AAEX,eAAO,MAAM,8BAA8B,gFAKjC,CAAC;AAEX,eAAO,MAAM,kBAAkB,ukBAGrB,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuC,CAAC;AACnF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAC;AAC3D,eAAO,MAAM,2BAA2B,QAAsC,CAAC;AAC/E,eAAO,MAAM,sBAAsB,aAAgD,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE"}
@@ -23,6 +23,8 @@ export const SUPPORTED_MODEL_PROVIDER_IDS = [
23
23
  'fireworks',
24
24
  'together',
25
25
  'kimi-coding',
26
+ 'qwen-token-plan',
27
+ 'qwen-token-plan-cn',
26
28
  'minimax',
27
29
  'minimax-cn',
28
30
  'moonshotai',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/model-provider-id.ts"],"sourcesContent":["import {z} from 'zod';\n\nexport const SUPPORTED_MODEL_PROVIDER_IDS = [\n 'anthropic',\n 'ant-ling',\n 'azure-openai-responses',\n 'openai',\n 'deepseek',\n 'nvidia',\n 'google',\n 'mistral',\n 'groq',\n 'cerebras',\n 'cloudflare-ai-gateway',\n 'cloudflare-workers-ai',\n 'xai',\n 'openrouter',\n 'vercel-ai-gateway',\n 'zai',\n 'zai-coding-cn',\n 'opencode',\n 'opencode-go',\n 'huggingface',\n 'fireworks',\n 'together',\n 'kimi-coding',\n 'minimax',\n 'minimax-cn',\n 'moonshotai',\n 'moonshotai-cn',\n 'xiaomi',\n 'xiaomi-token-plan-cn',\n 'xiaomi-token-plan-ams',\n 'xiaomi-token-plan-sgp',\n] as const;\n\nexport const UNSUPPORTED_MODEL_PROVIDER_IDS = [\n 'amazon-bedrock',\n 'google-vertex',\n 'openai-codex',\n 'github-copilot',\n] as const;\n\nexport const MODEL_PROVIDER_IDS = [\n ...SUPPORTED_MODEL_PROVIDER_IDS,\n ...UNSUPPORTED_MODEL_PROVIDER_IDS,\n] as const;\n\nexport const supportedModelProviderIdSchema = z.enum(SUPPORTED_MODEL_PROVIDER_IDS);\nexport const providerIdSchema = z.enum(MODEL_PROVIDER_IDS);\nexport const MODEL_PROVIDER_SLUG_PATTERN = /^[a-z0-9][a-z0-9-]{1,38}[a-z0-9]$/;\nexport const modelProviderRefSchema = z.string().regex(MODEL_PROVIDER_SLUG_PATTERN);\n\nexport type SupportedModelProviderId = z.infer<typeof supportedModelProviderIdSchema>;\nexport type ModelProviderId = z.infer<typeof providerIdSchema>;\nexport type ModelProviderRef = z.infer<typeof modelProviderRefSchema>;\n\nexport function isReservedModelProviderId(value: string): boolean {\n return (MODEL_PROVIDER_IDS as readonly string[]).includes(value);\n}\n"],"names":["z","SUPPORTED_MODEL_PROVIDER_IDS","UNSUPPORTED_MODEL_PROVIDER_IDS","MODEL_PROVIDER_IDS","supportedModelProviderIdSchema","enum","providerIdSchema","MODEL_PROVIDER_SLUG_PATTERN","modelProviderRefSchema","string","regex","isReservedModelProviderId","value","includes"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AAEtB,OAAO,MAAMC,+BAA+B;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAU;AAEX,OAAO,MAAMC,iCAAiC;IAC5C;IACA;IACA;IACA;CACD,CAAU;AAEX,OAAO,MAAMC,qBAAqB;OAC7BF;OACAC;CACJ,CAAU;AAEX,OAAO,MAAME,iCAAiCJ,EAAEK,IAAI,CAACJ,8BAA8B;AACnF,OAAO,MAAMK,mBAAmBN,EAAEK,IAAI,CAACF,oBAAoB;AAC3D,OAAO,MAAMI,8BAA8B,oCAAoC;AAC/E,OAAO,MAAMC,yBAAyBR,EAAES,MAAM,GAAGC,KAAK,CAACH,6BAA6B;AAMpF,OAAO,SAASI,0BAA0BC,KAAa;IACrD,OAAO,AAACT,mBAAyCU,QAAQ,CAACD;AAC5D"}
1
+ {"version":3,"sources":["../../src/schemas/model-provider-id.ts"],"sourcesContent":["import {z} from 'zod';\n\nexport const SUPPORTED_MODEL_PROVIDER_IDS = [\n 'anthropic',\n 'ant-ling',\n 'azure-openai-responses',\n 'openai',\n 'deepseek',\n 'nvidia',\n 'google',\n 'mistral',\n 'groq',\n 'cerebras',\n 'cloudflare-ai-gateway',\n 'cloudflare-workers-ai',\n 'xai',\n 'openrouter',\n 'vercel-ai-gateway',\n 'zai',\n 'zai-coding-cn',\n 'opencode',\n 'opencode-go',\n 'huggingface',\n 'fireworks',\n 'together',\n 'kimi-coding',\n 'qwen-token-plan',\n 'qwen-token-plan-cn',\n 'minimax',\n 'minimax-cn',\n 'moonshotai',\n 'moonshotai-cn',\n 'xiaomi',\n 'xiaomi-token-plan-cn',\n 'xiaomi-token-plan-ams',\n 'xiaomi-token-plan-sgp',\n] as const;\n\nexport const UNSUPPORTED_MODEL_PROVIDER_IDS = [\n 'amazon-bedrock',\n 'google-vertex',\n 'openai-codex',\n 'github-copilot',\n] as const;\n\nexport const MODEL_PROVIDER_IDS = [\n ...SUPPORTED_MODEL_PROVIDER_IDS,\n ...UNSUPPORTED_MODEL_PROVIDER_IDS,\n] as const;\n\nexport const supportedModelProviderIdSchema = z.enum(SUPPORTED_MODEL_PROVIDER_IDS);\nexport const providerIdSchema = z.enum(MODEL_PROVIDER_IDS);\nexport const MODEL_PROVIDER_SLUG_PATTERN = /^[a-z0-9][a-z0-9-]{1,38}[a-z0-9]$/;\nexport const modelProviderRefSchema = z.string().regex(MODEL_PROVIDER_SLUG_PATTERN);\n\nexport type SupportedModelProviderId = z.infer<typeof supportedModelProviderIdSchema>;\nexport type ModelProviderId = z.infer<typeof providerIdSchema>;\nexport type ModelProviderRef = z.infer<typeof modelProviderRefSchema>;\n\nexport function isReservedModelProviderId(value: string): boolean {\n return (MODEL_PROVIDER_IDS as readonly string[]).includes(value);\n}\n"],"names":["z","SUPPORTED_MODEL_PROVIDER_IDS","UNSUPPORTED_MODEL_PROVIDER_IDS","MODEL_PROVIDER_IDS","supportedModelProviderIdSchema","enum","providerIdSchema","MODEL_PROVIDER_SLUG_PATTERN","modelProviderRefSchema","string","regex","isReservedModelProviderId","value","includes"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AAEtB,OAAO,MAAMC,+BAA+B;IAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAU;AAEX,OAAO,MAAMC,iCAAiC;IAC5C;IACA;IACA;IACA;CACD,CAAU;AAEX,OAAO,MAAMC,qBAAqB;OAC7BF;OACAC;CACJ,CAAU;AAEX,OAAO,MAAME,iCAAiCJ,EAAEK,IAAI,CAACJ,8BAA8B;AACnF,OAAO,MAAMK,mBAAmBN,EAAEK,IAAI,CAACF,oBAAoB;AAC3D,OAAO,MAAMI,8BAA8B,oCAAoC;AAC/E,OAAO,MAAMC,yBAAyBR,EAAES,MAAM,GAAGC,KAAK,CAACH,6BAA6B;AAMpF,OAAO,SAASI,0BAA0BC,KAAa;IACrD,OAAO,AAACT,mBAAyCU,QAAQ,CAACD;AAC5D"}