@zhivex-ai/qwen 0.9.2 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,6 +32,28 @@ Supported region values are `singapore`, `beijing`, `hong-kong`, `tokyo`, `frank
32
32
 
33
33
  Qwen speech downloads accept HTTPS audio URLs only, validate every redirect manually, and never forward the provider API key to the media host.
34
34
 
35
+ ### Qwen 3.8 Max
36
+
37
+ `qwen3.8-max` is the production Qwen 3.8 flagship exposed through standard Alibaba Cloud Model Studio credentials and compatible endpoints, including regional workspace endpoints. It has a 1M-token context window and supports text, image and video understanding, hybrid reasoning, function calling, built-in tools, parallel function calls, and JSON structured output.
38
+
39
+ ```ts
40
+ const qwen = createQwen({
41
+ apiKey: process.env.DASHSCOPE_API_KEY,
42
+ workspaceId: process.env.QWEN_WORKSPACE_ID,
43
+ region: "beijing"
44
+ });
45
+
46
+ const model = qwen("qwen3.8-max");
47
+ ```
48
+
49
+ Thinking is enabled by default but remains hybrid. Responses accepts the shared `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max` efforts directly. Chat Completions uses Qwen's native `low`, `medium`, and `xhigh` levels, so `minimal` maps to `low`, while `high` and `max` map to `xhigh`; `none` sends `enable_thinking: false`. A reasoning effort and a thinking budget are mutually exclusive, and budgets cannot exceed 262144 tokens. Chat requests always send `preserve_thinking: true`, while shared `maxTokens` uses the non-deprecated `max_completion_tokens` field.
50
+
51
+ Video input uses a `FilePart` with a `video/*` MIME type and automatically selects Chat Completions. Public HTTP(S) URLs, data URLs, and raw base64 strings are accepted; non-video `FilePart` values are rejected for this model. Set `providerOptions.parallel_tool_calls` to opt in to upstream parallel tool calls and `providerOptions.tool_stream` to select Chat tool-call streaming. While thinking is active, Qwen permits only `toolChoice: "auto"` or `"none"`; disable thinking before using `"required"` or selecting a named tool.
52
+
53
+ A standard Model Studio key is region-scoped, so keep the key, workspace, and selected region aligned. The adapter does not hard-code a region allowlist for this final model; model availability still depends on the selected Model Studio region.
54
+
55
+ Do not configure `QWEN_TOKEN_PLAN_BASE_URL` for `qwen3.8-max`. That endpoint and its dedicated `sk-sp-` credentials belong to the separate preview contract below; the adapter rejects this exact final-model mismatch before fetch.
56
+
35
57
  ### Qwen 3.8 Max Preview (Token Plan)
36
58
 
37
59
  `qwen3.8-max-preview` is a preview model available only through QwenCloud Token Plan Personal or Team Edition in Singapore. Token Plan keys use the `sk-sp-` prefix; they are not interchangeable with pay-as-you-go keys, and the regular `dashscope-intl.aliyuncs.com` endpoint does not serve this model. Configure the dedicated Token Plan Base URL explicitly:
@@ -61,7 +83,7 @@ Token Plan terms limit these credentials to interactive use in programming and a
61
83
  The default `apiMode: "auto"` selects the protocol required by the request:
62
84
 
63
85
  - Responses for hosted tools, Qwen OCR file URLs, and `previous_response_id` continuation.
64
- - Chat Completions for structured output, audio input, `maxTokens`, or `reasoning.budgetTokens`.
86
+ - Chat Completions for structured output, audio/video input, `maxTokens`, `reasoning.budgetTokens`, or `providerOptions.tool_stream`.
65
87
  - Either path for ordinary text and local function tools; automatic mode prefers Responses.
66
88
 
67
89
  Use `providerOptions: { apiMode: "responses" }` or `{ apiMode: "chat" }` only when you need to force a compatible path. Unsupported combinations fail before the network request instead of silently dropping fields.
@@ -81,7 +103,9 @@ const result = await generateObject({
81
103
  });
82
104
  ```
83
105
 
84
- Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qwen `minimal`). Chat reasoning maps to `enable_thinking`; `budgetTokens` maps to `thinking_budget`.
106
+ For older Qwen families, Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qwen `minimal`), while Chat reasoning maps to `enable_thinking` and `budgetTokens` to `thinking_budget`.
107
+
108
+ `qwen3.8-max` uses its stricter model-specific mapping described above, keeps native structured output enabled in thinking and non-thinking modes, accepts images through either compatible API, and routes video through Chat. With no explicit reasoning option, the provider leaves Qwen's thinking-enabled default intact.
85
109
 
86
110
  `qwen3.8-max-preview` has a stricter contract:
87
111
 
@@ -90,9 +114,12 @@ Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qw
90
114
  - `reasoning.effort`/`providerOptions.reasoning_effort` cannot be combined with `reasoning.budgetTokens`/`providerOptions.thinking_budget`. Shared budgets must be positive and both paths enforce the model maximum of 262144; raw `thinking_budget` also accepts the documented value `0`.
91
115
  - Automatic mode uses Responses for ordinary text, images, local functions, and hosted tools. A thinking budget selects Chat Completions because `thinking_budget` is not available in Responses. For Chat requests, shared `maxTokens` is sent as `max_completion_tokens`.
92
116
  - Chat requests always send `preserve_thinking: true`, and reasoning returned by the adapter is kept as Qwen `reasoning_content` provider data so multi-turn and tool-call histories return it in the correct field. Setting `preserve_thinking: false` is rejected.
117
+ - Because this preview is always thinking, forced or named tool choices are rejected; use `toolChoice: "auto"` or `"none"`.
93
118
  - The model supports text, images, function calling, and built-in tools. It does not support native structured output or JSON mode. `generateObject({ mode: "native" })` is rejected through its capabilities; the default `auto` mode can still use prompted output with local schema validation.
94
119
 
95
- See QwenCloud's official [Token Plan quickstart](https://docs.qwencloud.com/token-plan/quickstart), [Token Plan terms](https://docs.qwencloud.com/token-plan/personal/token-plan-personal-overview), [OpenAI-compatible Chat contract](https://docs.qwencloud.com/api-reference/chat/openai-chat), and [Responses contract](https://docs.qwencloud.com/api-reference/chat/openai-responses).
120
+ For the final model contract, see Alibaba Cloud Model Studio's official [model list](https://help.aliyun.com/en/model-studio/models), [deep-thinking controls](https://help.aliyun.com/en/model-studio/deep-thinking), [OpenAI-compatible Chat contract](https://help.aliyun.com/en/model-studio/qwen-api-via-openai-chat-completions), [Responses contract](https://help.aliyun.com/en/model-studio/qwen-api-via-openai-responses), and [structured-output guide](https://help.aliyun.com/en/model-studio/qwen-structured-output).
121
+
122
+ For the preview contract, see QwenCloud's official [Token Plan quickstart](https://docs.qwencloud.com/token-plan/quickstart), [Token Plan terms](https://docs.qwencloud.com/token-plan/personal/token-plan-personal-overview), [OpenAI-compatible Chat contract](https://docs.qwencloud.com/api-reference/chat/openai-chat), and [Responses contract](https://docs.qwencloud.com/api-reference/chat/openai-responses).
96
123
 
97
124
  ### Hosted tools
98
125
 
@@ -228,11 +255,15 @@ await session.sendMedia({ data: jpegBytes, mediaType: "image/jpeg" });
228
255
 
229
256
  The realtime adapter maps text, audio, transcripts, function calls, response completion, and session completion into the shared `RealtimeEvent` contract. JPEG image frames are supported by Qwen Omni realtime; browser-token minting is not exposed.
230
257
 
258
+ Qwen Realtime supports callable tools with automatic selection. `toolChoice: "none"` is enforced locally by omitting tools from the upstream session; `"required"` and named-tool selection are rejected before the WebSocket opens because the upstream realtime contract does not support them. The adapter also rejects `providerOptions.enable_search: true` when callable tools are present because Qwen Realtime does not allow both in one session.
259
+
260
+ Sessions request text output by default with `modalities: ["text"]`. Audio output is enabled only when `voice` or `outputAudioMediaType` is configured, in which case the adapter sends `modalities: ["text", "audio"]`. These checks are fail-closed and reflect the provider's current realtime contract.
261
+
231
262
  Authenticated realtime connections use the package's Node/Bun `ws` transport by default. `realtimeConnectionFactory` remains available for custom runtimes. Do not expose a Model Studio API key in browser code.
232
263
 
233
264
  ## Current catalog coverage
234
265
 
235
- The default catalog includes current text and multimodal Qwen families plus the specialized IDs wired above: `qwen3.8-max-preview` for Token Plan, `qwen3.7-plus`, `qwen3.7-max`, `qwen3.6-flash`, `qwen3.5-omni-plus`, `qwen3.5-omni-plus-realtime`, `qwen3.5-ocr`, `tongyi-embedding-vision-plus` for international/Singapore, `qwen3-vl-embedding` for Beijing, `qwen3-rerank`, `qwen3-asr-flash`, `qwen3-tts-flash`, `qwen-image-2.0-pro`, and `wan2.7-t2v`.
266
+ The default catalog includes current text and multimodal Qwen families plus the specialized IDs wired above: `qwen3.8-max` for standard Model Studio production traffic, `qwen3.8-max-preview` for Token Plan, `qwen3.7-plus`, `qwen3.7-max`, `qwen3.6-flash`, `qwen3.5-omni-plus`, `qwen3.5-omni-plus-realtime`, `qwen3.5-ocr`, `tongyi-embedding-vision-plus` for international/Singapore, `qwen3-vl-embedding` for Beijing, `qwen3-rerank`, `qwen3-asr-flash`, `qwen3-tts-flash`, `qwen-image-2.0-pro`, and `wan2.7-t2v`.
236
267
 
237
268
  Run opt-in live coverage with:
238
269
 
@@ -240,7 +271,9 @@ Run opt-in live coverage with:
240
271
  QWEN_EXTENDED_INTEGRATION=1 bun --env-file=.env run test:integration:qwen
241
272
  ```
242
273
 
243
- Set only the surfaces you want to exercise: `QWEN_MULTIMODAL_EMBEDDING_MODEL`, `QWEN_MULTIMODAL_IMAGE_URL`, `QWEN_RERANK_MODEL`, `QWEN_ASR_MODEL`, `QWEN_ASR_AUDIO_URL`, `QWEN_TTS_MODEL`, `QWEN_IMAGE_MODEL`, `QWEN_VIDEO_MODEL`, and `QWEN_REALTIME_MODEL`. For the default international endpoint, use `tongyi-embedding-vision-plus`; use `qwen3-vl-embedding` only with a Beijing workspace. Workspace and endpoint overrides use `QWEN_WORKSPACE_ID`, `QWEN_REGION`, `QWEN_BASE_URL`, `QWEN_TASK_BASE_URL`, and `QWEN_REALTIME_URL`.
274
+ The shared provider smoke keeps `qwen3.7-plus` as its compatibility default. Certify the final model explicitly with `QWEN_INTEGRATION_MODEL=qwen3.8-max`; the standard international endpoint can be used when the account exposes the model there, while `QWEN_WORKSPACE_ID` and `QWEN_REGION` select an explicit regional workspace (use `beijing` for the currently documented Responses model list). Set only the extended surfaces you want to exercise: `QWEN_MULTIMODAL_EMBEDDING_MODEL`, `QWEN_MULTIMODAL_IMAGE_URL`, `QWEN_RERANK_MODEL`, `QWEN_ASR_MODEL`, `QWEN_ASR_AUDIO_URL`, `QWEN_TTS_MODEL`, `QWEN_IMAGE_MODEL`, `QWEN_VIDEO_MODEL`, and `QWEN_REALTIME_MODEL`. For the default international endpoint, use `tongyi-embedding-vision-plus`; use `qwen3-vl-embedding` only with a Beijing workspace. Workspace and endpoint overrides use `QWEN_WORKSPACE_ID`, `QWEN_REGION`, `QWEN_BASE_URL`, `QWEN_TASK_BASE_URL`, and `QWEN_REALTIME_URL`.
275
+
276
+ The catalog intentionally omits a price for `qwen3.8-max` until Alibaba Cloud publishes a stable public rate for the final model.
244
277
 
245
278
  Repository and full documentation:
246
279
 
package/dist/index.d.ts CHANGED
@@ -25,7 +25,11 @@ export interface QwenLanguageModelOptions {
25
25
  thinking_budget?: number;
26
26
  preserve_thinking?: boolean;
27
27
  reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
28
+ parallel_tool_calls?: boolean;
29
+ tool_stream?: boolean;
28
30
  top_p?: number;
31
+ top_k?: number;
32
+ repetition_penalty?: number;
29
33
  frequency_penalty?: number;
30
34
  presence_penalty?: number;
31
35
  stop?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -99,6 +99,10 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
99
99
  if (!Number.isSafeInteger(maxIncomingFrameBytes) || maxIncomingFrameBytes <= 0) {
100
100
  throw new ValidationError('The realtime "maxIncomingFrameBytes" option must be a positive safe integer.');
101
101
  }
102
+ if (options?.timeoutMs !== undefined &&
103
+ (!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs <= 0)) {
104
+ throw new ValidationError('The realtime "timeoutMs" option must be a positive safe integer.');
105
+ }
102
106
  const { default: WebSocket } = await import("ws");
103
107
  const socket = options?.subprotocols?.length
104
108
  ? new WebSocket(url, options.subprotocols, { headers, maxPayload: maxIncomingFrameBytes })
@@ -148,6 +152,22 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
148
152
  reader.resolve(undefined);
149
153
  }
150
154
  };
155
+ const onSessionAbort = () => {
156
+ if (closed || connectionError) {
157
+ return;
158
+ }
159
+ connectionError = options?.signal?.reason instanceof Error
160
+ ? options.signal.reason
161
+ : new DOMException("The Qwen realtime session was aborted.", "AbortError");
162
+ rejectReaders(connectionError);
163
+ socket.close();
164
+ };
165
+ if (options?.signal?.aborted) {
166
+ onSessionAbort();
167
+ }
168
+ else {
169
+ options?.signal?.addEventListener("abort", onSessionAbort, { once: true });
170
+ }
151
171
  socket.on("message", (data) => {
152
172
  const text = nodeWebSocketDataToText(data);
153
173
  const reader = readers.shift();
@@ -174,6 +194,7 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
174
194
  });
175
195
  socket.on("close", () => {
176
196
  closed = true;
197
+ options?.signal?.removeEventListener("abort", onSessionAbort);
177
198
  if (connectionError) {
178
199
  rejectReaders(connectionError);
179
200
  }
@@ -216,6 +237,7 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
216
237
  if (closed) {
217
238
  return;
218
239
  }
240
+ options?.signal?.removeEventListener("abort", onSessionAbort);
219
241
  await new Promise((resolve) => {
220
242
  const timer = setTimeout(() => {
221
243
  socket.terminate();
@@ -344,14 +366,27 @@ const stripResponsesRequestOptions = (providerOptions) => {
344
366
  "reasoning",
345
367
  "previous_response_id",
346
368
  "max_output_tokens",
347
- "response_format"
369
+ "response_format",
370
+ "tool_stream"
348
371
  ]) {
349
372
  delete next[key];
350
373
  }
351
374
  return next;
352
375
  };
353
376
  const modelFamily = (modelId) => modelId.toLowerCase();
377
+ const isQwen38Max = (modelId) => modelFamily(modelId) === "qwen3.8-max";
354
378
  const isQwen38MaxPreview = (modelId) => modelFamily(modelId) === "qwen3.8-max-preview";
379
+ const isQwen38MaxFamily = (modelId) => isQwen38Max(modelId) || isQwen38MaxPreview(modelId);
380
+ const isQwenTokenPlanURL = (url) => {
381
+ const path = url.pathname.replace(/\/+$/, "");
382
+ const tokenPlanURL = new URL(QWEN_TOKEN_PLAN_BASE_URL);
383
+ return (url.origin === tokenPlanURL.origin &&
384
+ !url.username &&
385
+ !url.password &&
386
+ !url.search &&
387
+ !url.hash &&
388
+ path === "/compatible-mode/v1");
389
+ };
355
390
  const validateQwen38BaseURL = (baseURL) => {
356
391
  let url;
357
392
  try {
@@ -360,17 +395,22 @@ const validateQwen38BaseURL = (baseURL) => {
360
395
  catch {
361
396
  throw new ConfigurationError("Qwen qwen3.8-max-preview requires a valid QwenCloud Token Plan baseURL.");
362
397
  }
363
- const path = url.pathname.replace(/\/+$/, "");
364
- const tokenPlanURL = new URL(QWEN_TOKEN_PLAN_BASE_URL);
365
- if (url.origin !== tokenPlanURL.origin ||
366
- url.username ||
367
- url.password ||
368
- url.search ||
369
- url.hash ||
370
- path !== "/compatible-mode/v1") {
398
+ if (!isQwenTokenPlanURL(url)) {
371
399
  throw new ConfigurationError(`Qwen qwen3.8-max-preview is Token Plan only. Configure baseURL with QWEN_TOKEN_PLAN_BASE_URL (${QWEN_TOKEN_PLAN_BASE_URL}); pay-as-you-go and workspace endpoints cannot serve this model.`);
372
400
  }
373
401
  };
402
+ const validateQwen38MaxBaseURL = (baseURL) => {
403
+ let url;
404
+ try {
405
+ url = new URL(baseURL);
406
+ }
407
+ catch {
408
+ return;
409
+ }
410
+ if (isQwenTokenPlanURL(url)) {
411
+ throw new ConfigurationError("Qwen qwen3.8-max uses standard Model Studio credentials and endpoints; QWEN_TOKEN_PLAN_BASE_URL is reserved for qwen3.8-max-preview.");
412
+ }
413
+ };
374
414
  const stripQwen38ReasoningOptions = (providerOptions) => {
375
415
  const next = { ...providerOptions };
376
416
  delete next.enable_thinking;
@@ -388,6 +428,7 @@ const supportsQwenVision = (modelId) => {
388
428
  model.includes("omni") ||
389
429
  model.includes("ocr") ||
390
430
  model.includes("vision") ||
431
+ isQwen38Max(modelId) ||
391
432
  isQwen38MaxPreview(modelId) ||
392
433
  /^qwen3\.7-plus(?:$|-)/.test(model) ||
393
434
  /^qwen3\.6-flash(?:$|-)/.test(model));
@@ -399,24 +440,27 @@ const qwenLanguageCapabilities = (modelId) => {
399
440
  const tools = supportsQwenTools(modelId);
400
441
  const omni = isQwenOmniLanguageModel(modelId);
401
442
  const reasoning = supportsQwenReasoning(modelId);
402
- const qwen38 = isQwen38MaxPreview(modelId);
443
+ const qwen38Max = isQwen38Max(modelId);
444
+ const qwen38MaxPreview = isQwen38MaxPreview(modelId);
403
445
  return {
404
446
  ...capabilities,
405
447
  vision: supportsQwenVision(modelId),
406
448
  tools,
407
- structuredOutput: tools && !omni && !qwen38,
408
- jsonMode: tools && !omni && !qwen38,
449
+ structuredOutput: tools && !omni && !qwen38MaxPreview,
450
+ jsonMode: tools && !omni && !qwen38MaxPreview,
409
451
  toolChoice: tools,
410
- parallelToolCalls: false,
452
+ parallelToolCalls: qwen38Max,
411
453
  webSearch: tools && !omni,
412
- files: supportsQwenFiles(modelId),
454
+ files: supportsQwenFiles(modelId) || qwen38Max,
413
455
  audioInput: supportsQwenAudioInput(modelId),
414
456
  reasoning,
415
- reasoningEfforts: qwen38
416
- ? ["minimal", "low", "medium", "high", "xhigh", "max"]
417
- : reasoning
418
- ? ["none", "minimal", "low", "medium", "high"]
419
- : undefined,
457
+ reasoningEfforts: qwen38Max
458
+ ? ["none", "minimal", "low", "medium", "high", "xhigh", "max"]
459
+ : qwen38MaxPreview
460
+ ? ["minimal", "low", "medium", "high", "xhigh", "max"]
461
+ : reasoning
462
+ ? ["none", "minimal", "low", "medium", "high"]
463
+ : undefined,
420
464
  agentCapabilities: {
421
465
  ...capabilities.agentCapabilities,
422
466
  supportTier: tools && !omni ? "tier-b" : "tier-c",
@@ -447,8 +491,26 @@ const videoGenerationCapabilities = {
447
491
  };
448
492
  const realtimeCapabilities = {
449
493
  ...capabilities,
494
+ streaming: false,
495
+ structuredOutput: false,
496
+ jsonMode: false,
497
+ toolChoice: false,
498
+ parallelToolCalls: false,
499
+ files: false,
450
500
  audioInput: true,
451
501
  audioOutput: true,
502
+ embeddings: false,
503
+ reasoning: false,
504
+ webSearch: false,
505
+ agentCapabilities: {
506
+ ...capabilities.agentCapabilities,
507
+ toolChoiceNone: true,
508
+ hostedWebSearch: false,
509
+ hostedFileSearch: false,
510
+ remoteMcp: false,
511
+ codeExecution: false,
512
+ webExtraction: false
513
+ },
452
514
  realtime: {
453
515
  sessions: true,
454
516
  audioInput: true,
@@ -486,8 +548,11 @@ const parseJson = async (response, options = {}) => {
486
548
  abort: options.abort
487
549
  });
488
550
  };
551
+ const toQwenMediaURL = (data, mediaType) => /^(?:https?:\/\/|data:)/i.test(data) ? data : `data:${mediaType};base64,${data}`;
489
552
  const mapContentParts = (message) => {
490
- const hasMedia = message.parts.some((part) => part.type === "image" || part.type === "audio");
553
+ const hasMedia = message.parts.some((part) => part.type === "image" ||
554
+ part.type === "audio" ||
555
+ (part.type === "file" && part.mediaType.toLowerCase().startsWith("video/")));
491
556
  if (!hasMedia) {
492
557
  return message.parts
493
558
  .filter((part) => part.type === "text")
@@ -504,6 +569,17 @@ const mapContentParts = (message) => {
504
569
  if (part.type === "audio") {
505
570
  return [{ type: "input_audio", input_audio: { data: toDataURL(part.data, part.mediaType) } }];
506
571
  }
572
+ if (part.type === "file") {
573
+ if (!part.mediaType.toLowerCase().startsWith("video/")) {
574
+ throw new UnsupportedFeatureError('Qwen Chat Completions accepts FilePart input only for video/* media. Use ImagePart for images or Responses with a supported OCR model for documents.');
575
+ }
576
+ return [
577
+ {
578
+ type: "video_url",
579
+ video_url: { url: toQwenMediaURL(part.data, part.mediaType) }
580
+ }
581
+ ];
582
+ }
507
583
  return [];
508
584
  });
509
585
  };
@@ -632,7 +708,7 @@ const withStructuredOutputMessages = (input) => {
632
708
  ];
633
709
  };
634
710
  const hasPreservedReasoning = (messages) => messages.some((message) => message.role === "assistant" && reasoningContentFromMessage(message));
635
- const mapQwen38ReasoningEffort = (effort) => {
711
+ const mapQwen38ChatReasoningEffort = (modelId, effort) => {
636
712
  switch (effort) {
637
713
  case undefined:
638
714
  return undefined;
@@ -646,49 +722,86 @@ const mapQwen38ReasoningEffort = (effort) => {
646
722
  case "max":
647
723
  return "xhigh";
648
724
  case "none":
649
- throw new UnsupportedFeatureError('Qwen model "qwen3.8-max-preview" is thinking-only and does not support reasoning effort "none".');
725
+ if (isQwen38MaxPreview(modelId)) {
726
+ throw new UnsupportedFeatureError('Qwen model "qwen3.8-max-preview" is thinking-only and does not support reasoning effort "none".');
727
+ }
728
+ return undefined;
650
729
  default:
651
- throw new ConfigurationError(`Qwen qwen3.8-max-preview reasoning effort must be low, medium, or xhigh (or a documented OpenAI alias), not "${String(effort)}".`);
730
+ throw new ConfigurationError(`Qwen ${modelId} reasoning effort must be low, medium, or xhigh (or a documented OpenAI alias), not "${String(effort)}".`);
731
+ }
732
+ };
733
+ const validateQwenToolStream = (modelId, providerOptions, streaming) => {
734
+ if (providerOptions.tool_stream === true && !streaming) {
735
+ throw new ConfigurationError(`Qwen ${modelId} tool_stream requires streamText(); it cannot be used with generateText() or generateObject().`);
652
736
  }
653
737
  };
654
- const validateQwen38Reasoning = (input, providerOptions) => {
738
+ const validateQwen38Request = (modelId, input, providerOptions) => {
655
739
  const sharedEffort = input.reasoning?.effort;
656
740
  const providerEffort = providerOptions.reasoning_effort;
657
741
  const sharedBudget = input.reasoning?.budgetTokens;
658
742
  const providerBudget = providerOptions.thinking_budget;
659
- if (providerOptions.enable_thinking === false || providerEffort === "none") {
743
+ if (isQwen38MaxPreview(modelId) &&
744
+ (providerOptions.enable_thinking === false || providerEffort === "none")) {
660
745
  throw new UnsupportedFeatureError('Qwen model "qwen3.8-max-preview" is thinking-only; thinking cannot be disabled.');
661
746
  }
662
747
  if (providerOptions.preserve_thinking === false) {
663
- throw new ConfigurationError('Qwen model "qwen3.8-max-preview" requires preserve_thinking so historical reasoning_content is retained.');
748
+ throw new ConfigurationError(`Qwen model "${modelId}" requires preserve_thinking so historical reasoning_content is retained.`);
664
749
  }
665
750
  if (sharedEffort !== undefined && providerEffort !== undefined) {
666
- throw new ConfigurationError('Configure qwen3.8-max-preview reasoning effort with either reasoning.effort or providerOptions.reasoning_effort, not both.');
751
+ throw new ConfigurationError(`Configure ${modelId} reasoning effort with either reasoning.effort or providerOptions.reasoning_effort, not both.`);
667
752
  }
668
753
  if (sharedBudget !== undefined && providerBudget !== undefined) {
669
- throw new ConfigurationError('Configure qwen3.8-max-preview thinking budget with either reasoning.budgetTokens or providerOptions.thinking_budget, not both.');
754
+ throw new ConfigurationError(`Configure ${modelId} thinking budget with either reasoning.budgetTokens or providerOptions.thinking_budget, not both.`);
670
755
  }
671
756
  const effort = sharedEffort ?? providerEffort;
672
757
  const budget = sharedBudget ?? providerBudget;
673
758
  if (effort !== undefined && budget !== undefined) {
674
- throw new ConfigurationError("Qwen qwen3.8-max-preview does not allow reasoning_effort and thinking_budget in the same request.");
759
+ throw new ConfigurationError(`Qwen ${modelId} does not allow reasoning_effort and thinking_budget in the same request.`);
675
760
  }
676
- mapQwen38ReasoningEffort(effort);
761
+ mapQwen38ChatReasoningEffort(modelId, effort);
677
762
  if (providerBudget !== undefined &&
678
763
  (!Number.isInteger(providerBudget) || providerBudget < 0 || providerBudget > 262_144)) {
679
- throw new ConfigurationError("Qwen qwen3.8-max-preview thinking_budget must be an integer between 0 and 262144.");
764
+ throw new ConfigurationError(`Qwen ${modelId} thinking_budget must be an integer between 0 and 262144.`);
680
765
  }
681
766
  if (sharedBudget !== undefined && sharedBudget > 262_144) {
682
- throw new ConfigurationError("Qwen qwen3.8-max-preview reasoning.budgetTokens cannot exceed 262144.");
767
+ throw new ConfigurationError(`Qwen ${modelId} reasoning.budgetTokens cannot exceed 262144.`);
768
+ }
769
+ if (isQwen38Max(modelId) &&
770
+ providerOptions.enable_thinking === false &&
771
+ ((effort !== undefined && effort !== "none") || budget !== undefined)) {
772
+ throw new ConfigurationError("Qwen qwen3.8-max cannot disable thinking while also configuring a reasoning effort or thinking budget.");
773
+ }
774
+ if (isQwen38Max(modelId) && providerOptions.enable_thinking === true && effort === "none") {
775
+ throw new ConfigurationError('Qwen qwen3.8-max cannot enable thinking with reasoning effort "none".');
776
+ }
777
+ const thinkingEnabled = isQwen38MaxPreview(modelId) ||
778
+ !(effort === "none" || providerOptions.enable_thinking === false);
779
+ if (thinkingEnabled && (input.toolChoice === "required" || typeof input.toolChoice === "object")) {
780
+ throw new UnsupportedFeatureError(`Qwen ${modelId} supports toolChoice "required" or a named tool only when thinking is disabled.`);
781
+ }
782
+ if (isQwen38Max(modelId) &&
783
+ input.messages.some((message) => message.parts.some((part) => part.type === "file" && !part.mediaType.toLowerCase().startsWith("video/")))) {
784
+ throw new UnsupportedFeatureError("Qwen qwen3.8-max FilePart input is reserved for video/* media. Use ImagePart for images.");
683
785
  }
684
786
  };
685
787
  const mapChatReasoning = (modelId, input, providerOptions) => {
686
- if (isQwen38MaxPreview(modelId)) {
687
- const effort = mapQwen38ReasoningEffort(input.reasoning?.effort ?? providerOptions.reasoning_effort);
788
+ if (isQwen38MaxFamily(modelId)) {
789
+ const rawEffort = input.reasoning?.effort ?? providerOptions.reasoning_effort;
790
+ const thinkingDisabled = rawEffort === "none" || providerOptions.enable_thinking === false;
791
+ if (thinkingDisabled) {
792
+ return {
793
+ enable_thinking: false,
794
+ preserve_thinking: true
795
+ };
796
+ }
797
+ const effort = mapQwen38ChatReasoningEffort(modelId, input.reasoning?.effort ?? providerOptions.reasoning_effort);
688
798
  const budget = input.reasoning?.budgetTokens ?? providerOptions.thinking_budget;
689
799
  return {
690
800
  ...(effort ? { reasoning_effort: effort } : {}),
691
801
  ...(budget !== undefined ? { thinking_budget: budget } : {}),
802
+ ...(providerOptions.enable_thinking === true && effort === undefined && budget === undefined
803
+ ? { enable_thinking: true }
804
+ : {}),
692
805
  preserve_thinking: true
693
806
  };
694
807
  }
@@ -705,16 +818,21 @@ const mapChatReasoning = (modelId, input, providerOptions) => {
705
818
  };
706
819
  const mapResponsesReasoning = (modelId, input, providerOptions) => {
707
820
  const effort = input.reasoning?.effort ?? providerOptions.reasoning_effort;
708
- if (!effort) {
821
+ const qwen38Effort = isQwen38Max(modelId) && providerOptions.enable_thinking === false && effort === undefined
822
+ ? "none"
823
+ : effort;
824
+ if (!qwen38Effort) {
709
825
  return undefined;
710
826
  }
711
827
  return {
712
828
  reasoning: {
713
829
  effort: isQwen38MaxPreview(modelId)
714
- ? mapQwen38ReasoningEffort(effort)
715
- : effort === "low"
716
- ? "minimal"
717
- : effort
830
+ ? mapQwen38ChatReasoningEffort(modelId, qwen38Effort)
831
+ : isQwen38Max(modelId)
832
+ ? qwen38Effort
833
+ : qwen38Effort === "low"
834
+ ? "minimal"
835
+ : qwen38Effort
718
836
  }
719
837
  };
720
838
  };
@@ -738,15 +856,23 @@ const mapChatUsage = (usage) => usage
738
856
  : undefined;
739
857
  const hasHostedTools = (tools) => Object.values(tools ?? {}).some((tool) => !isCallableToolDefinition(tool));
740
858
  const hasMessagePart = (messages, type) => messages.some((message) => message.parts.some((part) => part.type === type));
859
+ const hasVideoInput = (messages) => messages.some((message) => message.parts.some((part) => part.type === "file" && part.mediaType.toLowerCase().startsWith("video/")));
860
+ const hasNonVideoFileInput = (messages) => messages.some((message) => message.parts.some((part) => part.type === "file" && !part.mediaType.toLowerCase().startsWith("video/")));
741
861
  const resolveApiMode = (modelId, requestedMode, input, providerOptions) => {
862
+ const videoInput = hasVideoInput(input.messages);
863
+ if (videoInput && !isQwen38Max(modelId)) {
864
+ throw new UnsupportedFeatureError(`Qwen model "${modelId}" does not support video FilePart input through this adapter.`);
865
+ }
742
866
  const needsChat = input.maxTokens !== undefined ||
743
867
  input.reasoning?.budgetTokens !== undefined ||
744
868
  providerOptions.thinking_budget !== undefined ||
869
+ providerOptions.tool_stream === true ||
745
870
  input.structuredOutput?.mode === "native" ||
746
- hasMessagePart(input.messages, "audio");
747
- const needsResponses = hasHostedTools(input.tools) || hasMessagePart(input.messages, "file");
871
+ hasMessagePart(input.messages, "audio") ||
872
+ videoInput;
873
+ const needsResponses = hasHostedTools(input.tools) || hasNonVideoFileInput(input.messages);
748
874
  if (needsChat && needsResponses) {
749
- throw new UnsupportedFeatureError("Qwen cannot combine Responses-only hosted/file inputs with Chat-only maxTokens, audio, reasoning budgets, or structured output.");
875
+ throw new UnsupportedFeatureError("Qwen cannot combine Responses-only hosted/file inputs with Chat-only maxTokens, audio, video, reasoning budgets, structured output, or tool streaming.");
750
876
  }
751
877
  if (isQwenOmniLanguageModel(modelId)) {
752
878
  if (requestedMode === "responses" || needsResponses) {
@@ -755,7 +881,7 @@ const resolveApiMode = (modelId, requestedMode, input, providerOptions) => {
755
881
  return "chat";
756
882
  }
757
883
  if (requestedMode === "responses" && needsChat) {
758
- throw new UnsupportedFeatureError('Qwen Responses does not process maxTokens, audio input, reasoning budgets, or native structured output; use apiMode "chat" or "auto".');
884
+ throw new UnsupportedFeatureError('Qwen Responses does not process maxTokens, audio/video input, reasoning budgets, native structured output, or tool_stream; use apiMode "chat" or "auto".');
759
885
  }
760
886
  if (requestedMode === "chat" && needsResponses) {
761
887
  throw new UnsupportedFeatureError('Qwen Chat Completions does not support Responses hosted tools or OCR file inputs.');
@@ -1068,8 +1194,14 @@ class QwenLanguageModel {
1068
1194
  throw new UnsupportedFeatureError(`Qwen Omni model "${this.modelId}" is streaming-only. Use streamText() instead of generateText().`);
1069
1195
  }
1070
1196
  const providerOptions = { ...(input.providerOptions ?? {}) };
1197
+ validateQwenToolStream(this.modelId, providerOptions, false);
1198
+ if (isQwen38MaxFamily(this.modelId)) {
1199
+ validateQwen38Request(this.modelId, input, providerOptions);
1200
+ }
1201
+ if (isQwen38Max(this.modelId)) {
1202
+ validateQwen38MaxBaseURL(this.baseURL);
1203
+ }
1071
1204
  if (isQwen38MaxPreview(this.modelId)) {
1072
- validateQwen38Reasoning(input, providerOptions);
1073
1205
  validateQwen38BaseURL(this.baseURL);
1074
1206
  }
1075
1207
  const apiMode = resolveApiMode(this.modelId, providerOptions.apiMode ?? "auto", input, providerOptions);
@@ -1079,7 +1211,7 @@ class QwenLanguageModel {
1079
1211
  if (apiMode === "responses") {
1080
1212
  const previousResponse = getProviderResponseId(input.messages);
1081
1213
  const baseResponseProviderOptions = stripResponsesRequestOptions(providerOptions);
1082
- const responseProviderOptions = isQwen38MaxPreview(this.modelId)
1214
+ const responseProviderOptions = isQwen38MaxFamily(this.modelId)
1083
1215
  ? stripQwen38ReasoningOptions(baseResponseProviderOptions)
1084
1216
  : baseResponseProviderOptions;
1085
1217
  const messages = previousResponse && previousResponse.index < input.messages.length - 1
@@ -1117,7 +1249,7 @@ class QwenLanguageModel {
1117
1249
  };
1118
1250
  }
1119
1251
  const baseChatProviderOptions = stripHeaderOptions(providerOptions);
1120
- const chatProviderOptions = isQwen38MaxPreview(this.modelId)
1252
+ const chatProviderOptions = isQwen38MaxFamily(this.modelId)
1121
1253
  ? stripQwen38ReasoningOptions(baseChatProviderOptions)
1122
1254
  : baseChatProviderOptions;
1123
1255
  const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
@@ -1132,8 +1264,8 @@ class QwenLanguageModel {
1132
1264
  tool_choice: mapChatToolChoice(input.toolChoice),
1133
1265
  response_format: mapStructuredOutput(input),
1134
1266
  temperature: input.temperature,
1135
- max_tokens: isQwen38MaxPreview(this.modelId) ? undefined : input.maxTokens,
1136
- max_completion_tokens: isQwen38MaxPreview(this.modelId) ? input.maxTokens : undefined,
1267
+ max_tokens: isQwen38MaxFamily(this.modelId) ? undefined : input.maxTokens,
1268
+ max_completion_tokens: isQwen38MaxFamily(this.modelId) ? input.maxTokens : undefined,
1137
1269
  stream: false,
1138
1270
  ...mapChatReasoning(this.modelId, input, providerOptions)
1139
1271
  })
@@ -1160,8 +1292,14 @@ class QwenLanguageModel {
1160
1292
  }
1161
1293
  async stream(input) {
1162
1294
  const providerOptions = { ...(input.providerOptions ?? {}) };
1295
+ validateQwenToolStream(this.modelId, providerOptions, true);
1296
+ if (isQwen38MaxFamily(this.modelId)) {
1297
+ validateQwen38Request(this.modelId, input, providerOptions);
1298
+ }
1299
+ if (isQwen38Max(this.modelId)) {
1300
+ validateQwen38MaxBaseURL(this.baseURL);
1301
+ }
1163
1302
  if (isQwen38MaxPreview(this.modelId)) {
1164
- validateQwen38Reasoning(input, providerOptions);
1165
1303
  validateQwen38BaseURL(this.baseURL);
1166
1304
  }
1167
1305
  const apiMode = resolveApiMode(this.modelId, providerOptions.apiMode ?? "auto", input, providerOptions);
@@ -1170,7 +1308,7 @@ class QwenLanguageModel {
1170
1308
  if (apiMode === "responses") {
1171
1309
  const previousResponse = getProviderResponseId(input.messages);
1172
1310
  const baseResponseProviderOptions = stripResponsesRequestOptions(providerOptions);
1173
- const responseProviderOptions = isQwen38MaxPreview(this.modelId)
1311
+ const responseProviderOptions = isQwen38MaxFamily(this.modelId)
1174
1312
  ? stripQwen38ReasoningOptions(baseResponseProviderOptions)
1175
1313
  : baseResponseProviderOptions;
1176
1314
  const messages = previousResponse && previousResponse.index < input.messages.length - 1
@@ -1202,7 +1340,7 @@ class QwenLanguageModel {
1202
1340
  })();
1203
1341
  }
1204
1342
  const baseChatProviderOptions = stripHeaderOptions(providerOptions);
1205
- const chatProviderOptions = isQwen38MaxPreview(this.modelId)
1343
+ const chatProviderOptions = isQwen38MaxFamily(this.modelId)
1206
1344
  ? stripQwen38ReasoningOptions(baseChatProviderOptions)
1207
1345
  : baseChatProviderOptions;
1208
1346
  const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
@@ -1218,8 +1356,8 @@ class QwenLanguageModel {
1218
1356
  tool_choice: mapChatToolChoice(input.toolChoice),
1219
1357
  response_format: mapStructuredOutput(input),
1220
1358
  temperature: input.temperature,
1221
- max_tokens: isQwen38MaxPreview(this.modelId) ? undefined : input.maxTokens,
1222
- max_completion_tokens: isQwen38MaxPreview(this.modelId) ? input.maxTokens : undefined,
1359
+ max_tokens: isQwen38MaxFamily(this.modelId) ? undefined : input.maxTokens,
1360
+ max_completion_tokens: isQwen38MaxFamily(this.modelId) ? input.maxTokens : undefined,
1223
1361
  stream: true,
1224
1362
  stream_options: { include_usage: true },
1225
1363
  ...mapChatReasoning(this.modelId, input, providerOptions)
@@ -2082,6 +2220,9 @@ const parseRealtimeEvent = (payload) => {
2082
2220
  return [];
2083
2221
  };
2084
2222
  const mapRealtimeTools = (config) => {
2223
+ if (config.toolChoice === "none") {
2224
+ return undefined;
2225
+ }
2085
2226
  const tools = toToolSet(config.tools);
2086
2227
  if (!tools) {
2087
2228
  return undefined;
@@ -2100,20 +2241,32 @@ const mapRealtimeTools = (config) => {
2100
2241
  };
2101
2242
  });
2102
2243
  };
2103
- const mapRealtimeSession = (config) => ({
2104
- ...(config.providerOptions ?? {}),
2105
- instructions: config.instructions,
2106
- voice: config.voice,
2107
- input_audio_format: "pcm",
2108
- output_audio_format: "pcm",
2109
- turn_detection: config.turnDetection,
2110
- input_audio_transcription: typeof config.inputAudioTranscription === "object"
2111
- ? config.inputAudioTranscription
2112
- : config.inputAudioTranscription
2113
- ? {}
2114
- : undefined,
2115
- tools: mapRealtimeTools(config)
2116
- });
2244
+ const assertQwenRealtimeConfig = (config) => {
2245
+ if (config.toolChoice !== undefined && !["auto", "none"].includes(String(config.toolChoice))) {
2246
+ throw new UnsupportedFeatureError("Qwen realtime supports automatic tool selection or tool disabling, but not required or named tool choice.");
2247
+ }
2248
+ if (config.tools && config.providerOptions?.enable_search === true) {
2249
+ throw new UnsupportedFeatureError("Qwen realtime tools and providerOptions.enable_search cannot be enabled together.");
2250
+ }
2251
+ };
2252
+ const mapRealtimeSession = (config) => {
2253
+ assertQwenRealtimeConfig(config);
2254
+ return {
2255
+ ...(config.providerOptions ?? {}),
2256
+ modalities: config.outputAudioMediaType || config.voice ? ["text", "audio"] : ["text"],
2257
+ instructions: config.instructions,
2258
+ voice: config.voice,
2259
+ input_audio_format: "pcm",
2260
+ output_audio_format: "pcm",
2261
+ turn_detection: config.turnDetection,
2262
+ input_audio_transcription: typeof config.inputAudioTranscription === "object"
2263
+ ? config.inputAudioTranscription
2264
+ : config.inputAudioTranscription
2265
+ ? {}
2266
+ : undefined,
2267
+ tools: mapRealtimeTools(config)
2268
+ };
2269
+ };
2117
2270
  const encodeRealtimeData = (data) => {
2118
2271
  if (typeof data === "string") {
2119
2272
  return data.startsWith("data:") ? data.slice(data.indexOf(",") + 1) : data;
@@ -2134,6 +2287,7 @@ class QwenRealtimeModel {
2134
2287
  this.connectionFactory = connectionFactory;
2135
2288
  }
2136
2289
  async connect(config = {}, options) {
2290
+ assertQwenRealtimeConfig(config);
2137
2291
  const url = appendQuery(this.realtimeURL, { model: this.modelId });
2138
2292
  const connection = await (this.connectionFactory ?? openQwenRealtimeConnection)(url, { authorization: `Bearer ${this.apiKey}` }, options);
2139
2293
  const session = new CallbackRealtimeSession({
@@ -2145,17 +2299,24 @@ class QwenRealtimeModel {
2145
2299
  callbacks: {
2146
2300
  parseEvent: parseRealtimeEvent,
2147
2301
  buildInitialPayloads: (value) => [{ type: "session.update", session: mapRealtimeSession(value) }],
2148
- buildAudioPayloads: (frame) => [{ type: "input_audio_buffer.append", audio: encodeRealtimeData(frame.data) }],
2302
+ buildAudioPayloads: (frame, sessionConfig) => [
2303
+ { type: "input_audio_buffer.append", audio: encodeRealtimeData(frame.data) },
2304
+ ...(frame.isFinal ? [{ type: "input_audio_buffer.commit" }] : []),
2305
+ ...(frame.isFinal && (sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
2306
+ ],
2149
2307
  buildMediaPayloads: (frame) => {
2150
2308
  if (!/^image\/(jpeg|jpg)$/i.test(frame.mediaType)) {
2151
2309
  throw new UnsupportedFeatureError("Qwen realtime media frames must be JPEG images.");
2152
2310
  }
2153
2311
  return [{ type: "input_image_buffer.append", image: encodeRealtimeData(frame.data) }];
2154
2312
  },
2155
- buildTextPayloads: (text) => [{ type: "conversation.item.create", item: { type: "message", role: "user", content: [{ type: "input_text", text }] } }, { type: "response.create" }],
2156
- buildToolResultPayloads: (result) => [
2313
+ buildTextPayloads: (text, sessionConfig) => [
2314
+ { type: "conversation.item.create", item: { type: "message", role: "user", content: [{ type: "input_text", text }] } },
2315
+ ...((sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
2316
+ ],
2317
+ buildToolResultPayloads: (result, sessionConfig) => [
2157
2318
  { type: "conversation.item.create", item: { type: "function_call_output", call_id: result.toolCallId, output: JSON.stringify(result.isError ? result.error : result.output ?? null) } },
2158
- { type: "response.create" }
2319
+ ...((sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
2159
2320
  ],
2160
2321
  buildUpdatePayloads: (value) => [{ type: "session.update", session: mapRealtimeSession(value) }],
2161
2322
  buildClosePayloads: () => []
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/qwen",
3
- "version": "0.9.2",
3
+ "version": "0.10.1",
4
4
  "description": "Qwen adapter for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@zhivex-ai/core": "^1.0.3",
44
+ "@zhivex-ai/core": "^1.4.0",
45
45
  "ws": "^8.21.1",
46
46
  "zod": "^4.4.3"
47
47
  }