feat(qwen): add qwen provider and video generation

This commit is contained in:
Peter Steinberger
2026-04-04 17:43:15 +01:00
parent 759373e887
commit e3ac0f43df
104 changed files with 2477 additions and 483 deletions

View File

@@ -80,6 +80,7 @@ const SHELL_ENV_EXPECTED_KEYS = [
"OPENROUTER_API_KEY",
"AI_GATEWAY_API_KEY",
"MINIMAX_API_KEY",
"QWEN_API_KEY",
"MODELSTUDIO_API_KEY",
"SYNTHETIC_API_KEY",
"KILOCODE_API_KEY",

View File

@@ -2573,6 +2573,28 @@ export const GENERATED_BASE_CONFIG_SCHEMA = {
},
],
},
videoGenerationModel: {
anyOf: [
{
type: "string",
},
{
type: "object",
properties: {
primary: {
type: "string",
},
fallbacks: {
type: "array",
items: {
type: "string",
},
},
},
additionalProperties: false,
},
],
},
pdfModel: {
anyOf: [
{
@@ -22637,6 +22659,16 @@ export const GENERATED_BASE_CONFIG_SCHEMA = {
help: "Ordered fallback image-generation models (provider/model).",
tags: ["reliability", "media"],
},
"agents.defaults.videoGenerationModel.primary": {
label: "Video Generation Model",
help: "Optional video-generation model (provider/model) used by the shared video generation capability.",
tags: ["media"],
},
"agents.defaults.videoGenerationModel.fallbacks": {
label: "Video Generation Model Fallbacks",
help: "Ordered fallback video-generation models (provider/model).",
tags: ["reliability", "media"],
},
"agents.defaults.pdfModel.primary": {
label: "PDF Model",
help: "Optional PDF model (provider/model) for the PDF analysis tool. Defaults to imageModel, then session model.",

View File

@@ -1098,6 +1098,10 @@ export const FIELD_HELP: Record<string, string> = {
"Optional image-generation model (provider/model) used by the shared image generation capability.",
"agents.defaults.imageGenerationModel.fallbacks":
"Ordered fallback image-generation models (provider/model).",
"agents.defaults.videoGenerationModel.primary":
"Optional video-generation model (provider/model) used by the shared video generation capability.",
"agents.defaults.videoGenerationModel.fallbacks":
"Ordered fallback video-generation models (provider/model).",
"agents.defaults.pdfModel.primary":
"Optional PDF model (provider/model) for the PDF analysis tool. Defaults to imageModel, then session model.",
"agents.defaults.pdfModel.fallbacks": "Ordered fallback PDF models (provider/model).",

View File

@@ -499,6 +499,8 @@ export const FIELD_LABELS: Record<string, string> = {
"agents.defaults.imageModel.fallbacks": "Image Model Fallbacks",
"agents.defaults.imageGenerationModel.primary": "Image Generation Model",
"agents.defaults.imageGenerationModel.fallbacks": "Image Generation Model Fallbacks",
"agents.defaults.videoGenerationModel.primary": "Video Generation Model",
"agents.defaults.videoGenerationModel.fallbacks": "Video Generation Model Fallbacks",
"agents.defaults.pdfModel.primary": "PDF Model",
"agents.defaults.pdfModel.fallbacks": "PDF Model Fallbacks",
"agents.defaults.pdfMaxBytesMb": "PDF Max Size (MB)",

View File

@@ -126,6 +126,8 @@ export type AgentDefaultsConfig = {
imageModel?: AgentModelConfig;
/** Optional image-generation model and fallbacks (provider/model). Accepts string or {primary,fallbacks}. */
imageGenerationModel?: AgentModelConfig;
/** Optional video-generation model and fallbacks (provider/model). Accepts string or {primary,fallbacks}. */
videoGenerationModel?: AgentModelConfig;
/** Optional PDF-capable model and fallbacks (provider/model). Accepts string or {primary,fallbacks}. */
pdfModel?: AgentModelConfig;
/** Maximum PDF file size in megabytes (default: 10). */

View File

@@ -21,6 +21,7 @@ export const AgentDefaultsSchema = z
model: AgentModelSchema.optional(),
imageModel: AgentModelSchema.optional(),
imageGenerationModel: AgentModelSchema.optional(),
videoGenerationModel: AgentModelSchema.optional(),
pdfModel: AgentModelSchema.optional(),
pdfMaxBytesMb: z.number().positive().optional(),
pdfMaxPages: z.number().int().positive().optional(),