@ai-sdk/alibaba 1.0.68 → 1.0.69

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/dist/index.js CHANGED
@@ -28,56 +28,65 @@ module.exports = __toCommonJS(index_exports);
28
28
 
29
29
  // src/alibaba-provider.ts
30
30
  var import_provider5 = require("@ai-sdk/provider");
31
- var import_provider_utils6 = require("@ai-sdk/provider-utils");
31
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
32
32
 
33
33
  // src/alibaba-chat-language-model.ts
34
34
  var import_internal2 = require("@ai-sdk/openai-compatible/internal");
35
35
  var import_provider2 = require("@ai-sdk/provider");
36
- var import_provider_utils3 = require("@ai-sdk/provider-utils");
36
+ var import_provider_utils4 = require("@ai-sdk/provider-utils");
37
37
  var import_v43 = require("zod/v4");
38
38
 
39
39
  // src/alibaba-chat-options.ts
40
+ var import_provider_utils = require("@ai-sdk/provider-utils");
40
41
  var import_v4 = require("zod/v4");
41
- var alibabaLanguageModelOptions = import_v4.z.object({
42
- /**
43
- * Enable thinking/reasoning mode for supported models.
44
- * When enabled, the model generates reasoning content before the response.
45
- *
46
- * @default false
47
- */
48
- enableThinking: import_v4.z.boolean().optional(),
49
- /**
50
- * Maximum number of reasoning tokens to generate.
51
- */
52
- thinkingBudget: import_v4.z.number().positive().optional(),
53
- /**
54
- * Whether to preserve reasoning from previous assistant messages.
55
- *
56
- * When enabled, historical reasoning is sent separately as
57
- * `reasoning_content` and Alibaba receives `preserve_thinking: true`.
58
- * Defaults to `true` for models that support preserved thinking; set to
59
- * `false` to opt out.
60
- */
61
- preserveThinking: import_v4.z.boolean().optional(),
62
- /**
63
- * Whether to enable parallel function calling during tool use.
64
- *
65
- * @default true
66
- */
67
- parallelToolCalls: import_v4.z.boolean().optional()
68
- });
42
+ var alibabaLanguageModelOptions = (0, import_provider_utils.lazySchema)(
43
+ () => (0, import_provider_utils.zodSchema)(
44
+ import_v4.z.object({
45
+ /**
46
+ * Enable thinking/reasoning mode for supported models.
47
+ * When enabled, the model generates reasoning content before the response.
48
+ *
49
+ * @default false
50
+ */
51
+ enableThinking: import_v4.z.boolean().optional(),
52
+ /**
53
+ * Maximum number of reasoning tokens to generate.
54
+ */
55
+ thinkingBudget: import_v4.z.number().positive().optional(),
56
+ /**
57
+ * Whether to preserve reasoning from previous assistant messages.
58
+ *
59
+ * When enabled, historical reasoning is sent separately as
60
+ * `reasoning_content` and Alibaba receives `preserve_thinking: true`.
61
+ * Defaults to `true` for models that support preserved thinking; set to
62
+ * `false` to opt out.
63
+ */
64
+ preserveThinking: import_v4.z.boolean().optional(),
65
+ /**
66
+ * Whether to enable parallel function calling during tool use.
67
+ *
68
+ * @default true
69
+ */
70
+ parallelToolCalls: import_v4.z.boolean().optional()
71
+ })
72
+ )
73
+ );
69
74
 
70
75
  // src/alibaba-error.ts
71
- var import_provider_utils = require("@ai-sdk/provider-utils");
76
+ var import_provider_utils2 = require("@ai-sdk/provider-utils");
72
77
  var import_v42 = require("zod/v4");
73
- var alibabaErrorDataSchema = import_v42.z.object({
74
- error: import_v42.z.object({
75
- message: import_v42.z.string(),
76
- code: import_v42.z.string().nullish(),
77
- type: import_v42.z.string().nullish()
78
- })
79
- });
80
- var alibabaFailedResponseHandler = (0, import_provider_utils.createJsonErrorResponseHandler)({
78
+ var alibabaErrorDataSchema = (0, import_provider_utils2.lazySchema)(
79
+ () => (0, import_provider_utils2.zodSchema)(
80
+ import_v42.z.object({
81
+ error: import_v42.z.object({
82
+ message: import_v42.z.string(),
83
+ code: import_v42.z.string().nullish(),
84
+ type: import_v42.z.string().nullish()
85
+ })
86
+ })
87
+ )
88
+ );
89
+ var alibabaFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({
81
90
  errorSchema: alibabaErrorDataSchema,
82
91
  errorToMessage: (data) => data.error.message
83
92
  });
@@ -101,12 +110,12 @@ function convertAlibabaUsage(usage) {
101
110
 
102
111
  // src/convert-to-alibaba-chat-messages.ts
103
112
  var import_provider = require("@ai-sdk/provider");
104
- var import_provider_utils2 = require("@ai-sdk/provider-utils");
113
+ var import_provider_utils3 = require("@ai-sdk/provider-utils");
105
114
  function formatImageUrl({
106
115
  data,
107
116
  mediaType
108
117
  }) {
109
- return data instanceof URL ? data.toString() : `data:${mediaType};base64,${(0, import_provider_utils2.convertToBase64)(data)}`;
118
+ return data instanceof URL ? data.toString() : `data:${mediaType};base64,${(0, import_provider_utils3.convertToBase64)(data)}`;
110
119
  }
111
120
  function convertToAlibabaChatMessages({
112
121
  prompt,
@@ -375,7 +384,7 @@ var AlibabaLanguageModel = class {
375
384
  var _a, _b;
376
385
  const warnings = [];
377
386
  const cacheControlValidator = new CacheControlValidator();
378
- const alibabaOptions = await (0, import_provider_utils3.parseProviderOptions)({
387
+ const alibabaOptions = await (0, import_provider_utils4.parseProviderOptions)({
379
388
  provider: "alibaba",
380
389
  providerOptions,
381
390
  schema: alibabaLanguageModelOptions
@@ -393,7 +402,7 @@ var AlibabaLanguageModel = class {
393
402
  details: `Alibaba does not support JSON Schema output for model ${this.modelId}. JSON Object mode is used instead. The schema was injected into the system message and will only be validated locally.`
394
403
  });
395
404
  }
396
- const resolvedPrompt = useJsonObject ? (0, import_provider_utils3.injectJsonInstructionIntoMessages)({
405
+ const resolvedPrompt = useJsonObject ? (0, import_provider_utils4.injectJsonInstructionIntoMessages)({
397
406
  messages: prompt,
398
407
  schema: responseFormat.schema
399
408
  }) : prompt;
@@ -448,12 +457,12 @@ var AlibabaLanguageModel = class {
448
457
  responseHeaders,
449
458
  value: response,
450
459
  rawValue: rawResponse
451
- } = await (0, import_provider_utils3.postJsonToApi)({
460
+ } = await (0, import_provider_utils4.postJsonToApi)({
452
461
  url: `${this.config.baseURL}/chat/completions`,
453
- headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
462
+ headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
454
463
  body: args,
455
464
  failedResponseHandler: alibabaFailedResponseHandler,
456
- successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)(
465
+ successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
457
466
  alibabaChatResponseSchema
458
467
  ),
459
468
  abortSignal: options.abortSignal,
@@ -505,12 +514,12 @@ var AlibabaLanguageModel = class {
505
514
  stream: true,
506
515
  stream_options: this.config.includeUsage ? { include_usage: true } : void 0
507
516
  };
508
- const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({
517
+ const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({
509
518
  url: `${this.config.baseURL}/chat/completions`,
510
- headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
519
+ headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
511
520
  body,
512
521
  failedResponseHandler: alibabaFailedResponseHandler,
513
- successfulResponseHandler: (0, import_provider_utils3.createEventSourceResponseHandler)(
522
+ successfulResponseHandler: (0, import_provider_utils4.createEventSourceResponseHandler)(
514
523
  alibabaChatChunkSchema
515
524
  ),
516
525
  abortSignal: options.abortSignal,
@@ -562,7 +571,7 @@ var AlibabaLanguageModel = class {
562
571
  controller.enqueue({ type: "text-end", id: "0" });
563
572
  activeText = false;
564
573
  }
565
- activeReasoningId = (0, import_provider_utils3.generateId)();
574
+ activeReasoningId = (0, import_provider_utils4.generateId)();
566
575
  controller.enqueue({
567
576
  type: "reasoning-start",
568
577
  id: activeReasoningId
@@ -702,7 +711,7 @@ var AlibabaLanguageModel = class {
702
711
  };
703
712
  }
704
713
  };
705
- var alibabaUsageSchema = import_v43.z.object({
714
+ var alibabaUsageSchema = () => import_v43.z.object({
706
715
  prompt_tokens: import_v43.z.number(),
707
716
  completion_tokens: import_v43.z.number(),
708
717
  total_tokens: import_v43.z.number(),
@@ -714,96 +723,109 @@ var alibabaUsageSchema = import_v43.z.object({
714
723
  reasoning_tokens: import_v43.z.number().nullish()
715
724
  }).nullish()
716
725
  });
717
- var alibabaChatResponseSchema = import_v43.z.object({
718
- id: import_v43.z.string().nullish(),
719
- created: import_v43.z.number().nullish(),
720
- model: import_v43.z.string().nullish(),
721
- choices: import_v43.z.array(
726
+ var alibabaChatResponseSchema = (0, import_provider_utils4.lazySchema)(
727
+ () => (0, import_provider_utils4.zodSchema)(
722
728
  import_v43.z.object({
723
- message: import_v43.z.object({
724
- role: import_v43.z.literal("assistant").nullish(),
725
- content: import_v43.z.string().nullish(),
726
- reasoning_content: import_v43.z.string().nullish(),
727
- // Alibaba thinking mode
728
- tool_calls: import_v43.z.array(
729
- import_v43.z.object({
730
- id: import_v43.z.string(),
731
- type: import_v43.z.literal("function"),
732
- function: import_v43.z.object({
733
- name: import_v43.z.string(),
734
- arguments: import_v43.z.string()
735
- })
736
- })
737
- ).nullish()
738
- }),
739
- finish_reason: import_v43.z.string().nullish(),
740
- index: import_v43.z.number()
729
+ id: import_v43.z.string().nullish(),
730
+ created: import_v43.z.number().nullish(),
731
+ model: import_v43.z.string().nullish(),
732
+ choices: import_v43.z.array(
733
+ import_v43.z.object({
734
+ message: import_v43.z.object({
735
+ role: import_v43.z.literal("assistant").nullish(),
736
+ content: import_v43.z.string().nullish(),
737
+ reasoning_content: import_v43.z.string().nullish(),
738
+ // Alibaba thinking mode
739
+ tool_calls: import_v43.z.array(
740
+ import_v43.z.object({
741
+ id: import_v43.z.string(),
742
+ type: import_v43.z.literal("function"),
743
+ function: import_v43.z.object({
744
+ name: import_v43.z.string(),
745
+ arguments: import_v43.z.string()
746
+ })
747
+ })
748
+ ).nullish()
749
+ }),
750
+ finish_reason: import_v43.z.string().nullish(),
751
+ index: import_v43.z.number()
752
+ })
753
+ ),
754
+ usage: alibabaUsageSchema().nullish()
741
755
  })
742
- ),
743
- usage: alibabaUsageSchema.nullish()
744
- });
745
- var alibabaChatChunkSchema = import_v43.z.object({
746
- id: import_v43.z.string().nullish(),
747
- created: import_v43.z.number().nullish(),
748
- model: import_v43.z.string().nullish(),
749
- choices: import_v43.z.array(
756
+ )
757
+ );
758
+ var alibabaChatChunkSchema = (0, import_provider_utils4.lazySchema)(
759
+ () => (0, import_provider_utils4.zodSchema)(
750
760
  import_v43.z.object({
751
- delta: import_v43.z.object({
752
- role: import_v43.z.enum(["assistant"]).nullish(),
753
- content: import_v43.z.string().nullish(),
754
- reasoning_content: import_v43.z.string().nullish(),
755
- // Alibaba thinking mode delta
756
- tool_calls: import_v43.z.array(
757
- import_v43.z.object({
758
- index: import_v43.z.number().nullish(),
759
- // Index for accumulating tool calls
760
- id: import_v43.z.string().nullish(),
761
- type: import_v43.z.literal("function").nullish(),
762
- function: import_v43.z.object({
763
- name: import_v43.z.string().nullish(),
764
- arguments: import_v43.z.string().nullish()
765
- }).nullish()
766
- })
767
- ).nullish()
768
- }),
769
- finish_reason: import_v43.z.string().nullish(),
770
- index: import_v43.z.number()
761
+ id: import_v43.z.string().nullish(),
762
+ created: import_v43.z.number().nullish(),
763
+ model: import_v43.z.string().nullish(),
764
+ choices: import_v43.z.array(
765
+ import_v43.z.object({
766
+ delta: import_v43.z.object({
767
+ role: import_v43.z.enum(["assistant"]).nullish(),
768
+ content: import_v43.z.string().nullish(),
769
+ reasoning_content: import_v43.z.string().nullish(),
770
+ // Alibaba thinking mode delta
771
+ tool_calls: import_v43.z.array(
772
+ import_v43.z.object({
773
+ index: import_v43.z.number().nullish(),
774
+ // Index for accumulating tool calls
775
+ id: import_v43.z.string().nullish(),
776
+ type: import_v43.z.literal("function").nullish(),
777
+ function: import_v43.z.object({
778
+ name: import_v43.z.string().nullish(),
779
+ arguments: import_v43.z.string().nullish()
780
+ }).nullish()
781
+ })
782
+ ).nullish()
783
+ }),
784
+ finish_reason: import_v43.z.string().nullish(),
785
+ index: import_v43.z.number()
786
+ })
787
+ ),
788
+ usage: alibabaUsageSchema().nullish()
789
+ // Usage only appears in final chunk
771
790
  })
772
- ),
773
- usage: alibabaUsageSchema.nullish()
774
- // Usage only appears in final chunk
775
- });
791
+ )
792
+ );
776
793
 
777
794
  // src/alibaba-embedding-model.ts
778
795
  var import_provider3 = require("@ai-sdk/provider");
779
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
796
+ var import_provider_utils6 = require("@ai-sdk/provider-utils");
780
797
  var import_v45 = require("zod/v4");
781
798
 
782
799
  // src/alibaba-embedding-options.ts
800
+ var import_provider_utils5 = require("@ai-sdk/provider-utils");
783
801
  var import_v44 = require("zod/v4");
784
- var alibabaEmbeddingModelOptions = import_v44.z.object({
785
- /**
786
- * Differentiates query text from document text for asymmetric retrieval tasks.
787
- * Defaults to `document`.
788
- */
789
- textType: import_v44.z.enum(["query", "document"]).optional(),
790
- /**
791
- * The dimension of the output embedding vectors. Defaults to 1024.
792
- *
793
- * `text-embedding-v4` also supports 1536 and 2048 dimensions.
794
- */
795
- dimension: import_v44.z.number().optional(),
796
- /**
797
- * The output vector type. Defaults to `dense`.
798
- *
799
- * Sparse-only output is not supported by the AI SDK embedding interface,
800
- * which requires dense number arrays.
801
- */
802
- outputType: import_v44.z.enum(["dense", "sparse", "dense&sparse"]).optional()
803
- });
802
+ var alibabaEmbeddingModelOptions = (0, import_provider_utils5.lazySchema)(
803
+ () => (0, import_provider_utils5.zodSchema)(
804
+ import_v44.z.object({
805
+ /**
806
+ * Differentiates query text from document text for asymmetric retrieval tasks.
807
+ * Defaults to `document`.
808
+ */
809
+ textType: import_v44.z.enum(["query", "document"]).optional(),
810
+ /**
811
+ * The dimension of the output embedding vectors. Defaults to 1024.
812
+ *
813
+ * `text-embedding-v4` also supports 1536 and 2048 dimensions.
814
+ */
815
+ dimension: import_v44.z.number().optional(),
816
+ /**
817
+ * The output vector type. Defaults to `dense`.
818
+ *
819
+ * Sparse-only output is not supported by the AI SDK embedding interface,
820
+ * which requires dense number arrays.
821
+ */
822
+ outputType: import_v44.z.enum(["dense", "sparse", "dense&sparse"]).optional()
823
+ })
824
+ )
825
+ );
804
826
 
805
827
  // src/alibaba-embedding-model.ts
806
- var alibabaEmbeddingFailedResponseHandler = (0, import_provider_utils4.createJsonErrorResponseHandler)({
828
+ var alibabaEmbeddingFailedResponseHandler = (0, import_provider_utils6.createJsonErrorResponseHandler)({
807
829
  errorSchema: import_v45.z.object({
808
830
  code: import_v45.z.string().nullish(),
809
831
  message: import_v45.z.string(),
@@ -836,7 +858,7 @@ var AlibabaEmbeddingModel = class {
836
858
  values
837
859
  });
838
860
  }
839
- const alibabaOptions = await (0, import_provider_utils4.parseProviderOptions)({
861
+ const alibabaOptions = await (0, import_provider_utils6.parseProviderOptions)({
840
862
  provider: "alibaba",
841
863
  providerOptions,
842
864
  schema: alibabaEmbeddingModelOptions
@@ -851,9 +873,9 @@ var AlibabaEmbeddingModel = class {
851
873
  responseHeaders,
852
874
  value: response,
853
875
  rawValue
854
- } = await (0, import_provider_utils4.postJsonToApi)({
876
+ } = await (0, import_provider_utils6.postJsonToApi)({
855
877
  url: `${this.config.baseURL}/services/embeddings/text-embedding/text-embedding`,
856
- headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), headers),
878
+ headers: (0, import_provider_utils6.combineHeaders)(this.config.headers(), headers),
857
879
  body: {
858
880
  model: this.modelId,
859
881
  input: {
@@ -866,7 +888,7 @@ var AlibabaEmbeddingModel = class {
866
888
  }
867
889
  },
868
890
  failedResponseHandler: alibabaEmbeddingFailedResponseHandler,
869
- successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
891
+ successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
870
892
  alibabaTextEmbeddingResponseSchema
871
893
  ),
872
894
  abortSignal,
@@ -894,32 +916,36 @@ var AlibabaEmbeddingModel = class {
894
916
  };
895
917
  }
896
918
  };
897
- var alibabaTextEmbeddingSparseEmbeddingSchema = import_v45.z.object({
919
+ var alibabaTextEmbeddingSparseEmbeddingSchema = () => import_v45.z.object({
898
920
  index: import_v45.z.number(),
899
921
  value: import_v45.z.number(),
900
922
  token: import_v45.z.string().nullish()
901
923
  });
902
- var alibabaTextEmbeddingResponseSchema = import_v45.z.object({
903
- output: import_v45.z.object({
904
- embeddings: import_v45.z.array(
905
- import_v45.z.object({
906
- embedding: import_v45.z.array(import_v45.z.number()),
907
- text_index: import_v45.z.number(),
908
- sparse_embedding: import_v45.z.array(alibabaTextEmbeddingSparseEmbeddingSchema).nullish()
909
- })
910
- )
911
- }),
912
- usage: import_v45.z.object({
913
- total_tokens: import_v45.z.number()
914
- }).nullish()
915
- });
924
+ var alibabaTextEmbeddingResponseSchema = (0, import_provider_utils6.lazySchema)(
925
+ () => (0, import_provider_utils6.zodSchema)(
926
+ import_v45.z.object({
927
+ output: import_v45.z.object({
928
+ embeddings: import_v45.z.array(
929
+ import_v45.z.object({
930
+ embedding: import_v45.z.array(import_v45.z.number()),
931
+ text_index: import_v45.z.number(),
932
+ sparse_embedding: import_v45.z.array(alibabaTextEmbeddingSparseEmbeddingSchema()).nullish()
933
+ })
934
+ )
935
+ }),
936
+ usage: import_v45.z.object({
937
+ total_tokens: import_v45.z.number()
938
+ }).nullish()
939
+ })
940
+ )
941
+ );
916
942
 
917
943
  // src/alibaba-video-model.ts
918
944
  var import_provider4 = require("@ai-sdk/provider");
919
- var import_provider_utils5 = require("@ai-sdk/provider-utils");
945
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
920
946
  var import_v46 = require("zod/v4");
921
- var alibabaVideoModelOptionsSchema = (0, import_provider_utils5.lazySchema)(
922
- () => (0, import_provider_utils5.zodSchema)(
947
+ var alibabaVideoModelOptionsSchema = (0, import_provider_utils7.lazySchema)(
948
+ () => (0, import_provider_utils7.zodSchema)(
923
949
  import_v46.z.object({
924
950
  negativePrompt: import_v46.z.string().nullish(),
925
951
  audioUrl: import_v46.z.string().nullish(),
@@ -949,47 +975,59 @@ var alibabaVideoModelOptionsSchema = (0, import_provider_utils5.lazySchema)(
949
975
  }).passthrough()
950
976
  )
951
977
  );
952
- var alibabaVideoErrorSchema = import_v46.z.object({
953
- code: import_v46.z.string().nullish(),
954
- message: import_v46.z.string(),
955
- request_id: import_v46.z.string().nullish()
956
- });
957
- var alibabaVideoFailedResponseHandler = (0, import_provider_utils5.createJsonErrorResponseHandler)({
978
+ var alibabaVideoErrorSchema = (0, import_provider_utils7.lazySchema)(
979
+ () => (0, import_provider_utils7.zodSchema)(
980
+ import_v46.z.object({
981
+ code: import_v46.z.string().nullish(),
982
+ message: import_v46.z.string(),
983
+ request_id: import_v46.z.string().nullish()
984
+ })
985
+ )
986
+ );
987
+ var alibabaVideoFailedResponseHandler = (0, import_provider_utils7.createJsonErrorResponseHandler)({
958
988
  errorSchema: alibabaVideoErrorSchema,
959
989
  errorToMessage: (data) => data.message
960
990
  });
961
- var alibabaVideoCreateTaskSchema = import_v46.z.object({
962
- output: import_v46.z.object({
963
- task_status: import_v46.z.string(),
964
- task_id: import_v46.z.string()
965
- }).nullish(),
966
- request_id: import_v46.z.string().nullish()
967
- });
968
- var alibabaVideoTaskStatusSchema = import_v46.z.object({
969
- output: import_v46.z.object({
970
- task_id: import_v46.z.string(),
971
- task_status: import_v46.z.string(),
972
- video_url: import_v46.z.string().nullish(),
973
- submit_time: import_v46.z.string().nullish(),
974
- scheduled_time: import_v46.z.string().nullish(),
975
- end_time: import_v46.z.string().nullish(),
976
- orig_prompt: import_v46.z.string().nullish(),
977
- actual_prompt: import_v46.z.string().nullish(),
978
- code: import_v46.z.string().nullish(),
979
- message: import_v46.z.string().nullish()
980
- }).nullish(),
981
- usage: import_v46.z.object({
982
- duration: import_v46.z.number().nullish(),
983
- output_video_duration: import_v46.z.number().nullish(),
984
- // wan3 splits the total: input video counts toward its 30s ceiling.
985
- input_video_duration: import_v46.z.number().nullish(),
986
- fps: import_v46.z.number().nullish(),
987
- SR: import_v46.z.number().nullish(),
988
- size: import_v46.z.string().nullish(),
989
- ratio: import_v46.z.string().nullish()
990
- }).nullish(),
991
- request_id: import_v46.z.string().nullish()
992
- });
991
+ var alibabaVideoCreateTaskSchema = (0, import_provider_utils7.lazySchema)(
992
+ () => (0, import_provider_utils7.zodSchema)(
993
+ import_v46.z.object({
994
+ output: import_v46.z.object({
995
+ task_status: import_v46.z.string(),
996
+ task_id: import_v46.z.string()
997
+ }).nullish(),
998
+ request_id: import_v46.z.string().nullish()
999
+ })
1000
+ )
1001
+ );
1002
+ var alibabaVideoTaskStatusSchema = (0, import_provider_utils7.lazySchema)(
1003
+ () => (0, import_provider_utils7.zodSchema)(
1004
+ import_v46.z.object({
1005
+ output: import_v46.z.object({
1006
+ task_id: import_v46.z.string(),
1007
+ task_status: import_v46.z.string(),
1008
+ video_url: import_v46.z.string().nullish(),
1009
+ submit_time: import_v46.z.string().nullish(),
1010
+ scheduled_time: import_v46.z.string().nullish(),
1011
+ end_time: import_v46.z.string().nullish(),
1012
+ orig_prompt: import_v46.z.string().nullish(),
1013
+ actual_prompt: import_v46.z.string().nullish(),
1014
+ code: import_v46.z.string().nullish(),
1015
+ message: import_v46.z.string().nullish()
1016
+ }).nullish(),
1017
+ usage: import_v46.z.object({
1018
+ duration: import_v46.z.number().nullish(),
1019
+ output_video_duration: import_v46.z.number().nullish(),
1020
+ // wan3 splits the total: input video counts toward its 30s ceiling.
1021
+ input_video_duration: import_v46.z.number().nullish(),
1022
+ fps: import_v46.z.number().nullish(),
1023
+ SR: import_v46.z.number().nullish(),
1024
+ size: import_v46.z.string().nullish(),
1025
+ ratio: import_v46.z.string().nullish()
1026
+ }).nullish(),
1027
+ request_id: import_v46.z.string().nullish()
1028
+ })
1029
+ )
1030
+ );
993
1031
  function detectMode(modelId) {
994
1032
  if (modelId.includes("-i2v")) return "i2v";
995
1033
  if (modelId.includes("-r2v")) return "r2v";
@@ -1039,7 +1077,7 @@ function fileToImageString(file) {
1039
1077
  if (file.type === "url") {
1040
1078
  return file.url;
1041
1079
  }
1042
- return typeof file.data === "string" ? file.data : (0, import_provider_utils5.convertUint8ArrayToBase64)(file.data);
1080
+ return typeof file.data === "string" ? file.data : (0, import_provider_utils7.convertUint8ArrayToBase64)(file.data);
1043
1081
  }
1044
1082
  function getFirstFrameImage(options) {
1045
1083
  var _a, _b;
@@ -1075,7 +1113,7 @@ function resolveMedia(options, alibabaOptions, warnings, frames) {
1075
1113
  } else if (reference.mediaType.startsWith("image/")) {
1076
1114
  media.push({
1077
1115
  type: "reference_image",
1078
- url: (0, import_provider_utils5.convertImageModelFileToDataUri)(reference)
1116
+ url: (0, import_provider_utils7.convertImageModelFileToDataUri)(reference)
1079
1117
  });
1080
1118
  } else {
1081
1119
  warnings.push({
@@ -1088,13 +1126,13 @@ function resolveMedia(options, alibabaOptions, warnings, frames) {
1088
1126
  if (frames.first != null) {
1089
1127
  media.push({
1090
1128
  type: "first_frame",
1091
- url: (0, import_provider_utils5.convertImageModelFileToDataUri)(frames.first)
1129
+ url: (0, import_provider_utils7.convertImageModelFileToDataUri)(frames.first)
1092
1130
  });
1093
1131
  }
1094
1132
  if (frames.last != null) {
1095
1133
  media.push({
1096
1134
  type: "last_frame",
1097
- url: (0, import_provider_utils5.convertImageModelFileToDataUri)(frames.last)
1135
+ url: (0, import_provider_utils7.convertImageModelFileToDataUri)(frames.last)
1098
1136
  });
1099
1137
  }
1100
1138
  return media.length > 0 ? media : void 0;
@@ -1136,7 +1174,7 @@ var AlibabaVideoModel = class {
1136
1174
  const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();
1137
1175
  const warnings = [];
1138
1176
  const mode = detectMode(this.modelId);
1139
- const alibabaOptions = await (0, import_provider_utils5.parseProviderOptions)({
1177
+ const alibabaOptions = await (0, import_provider_utils7.parseProviderOptions)({
1140
1178
  provider: "alibaba",
1141
1179
  providerOptions: options.providerOptions,
1142
1180
  schema: alibabaVideoModelOptionsSchema
@@ -1282,10 +1320,10 @@ var AlibabaVideoModel = class {
1282
1320
  details: "Alibaba video models only support generating 1 video per call."
1283
1321
  });
1284
1322
  }
1285
- const { value: createResponse } = await (0, import_provider_utils5.postJsonToApi)({
1323
+ const { value: createResponse } = await (0, import_provider_utils7.postJsonToApi)({
1286
1324
  url: `${this.config.baseURL}/api/v1/services/aigc/video-generation/video-synthesis`,
1287
- headers: (0, import_provider_utils5.combineHeaders)(
1288
- await (0, import_provider_utils5.resolve)(this.config.headers),
1325
+ headers: (0, import_provider_utils7.combineHeaders)(
1326
+ await (0, import_provider_utils7.resolve)(this.config.headers),
1289
1327
  options.headers,
1290
1328
  {
1291
1329
  "X-DashScope-Async": "enable"
@@ -1296,7 +1334,7 @@ var AlibabaVideoModel = class {
1296
1334
  input,
1297
1335
  parameters
1298
1336
  },
1299
- successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
1337
+ successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
1300
1338
  alibabaVideoCreateTaskSchema
1301
1339
  ),
1302
1340
  failedResponseHandler: alibabaVideoFailedResponseHandler,
@@ -1316,20 +1354,20 @@ var AlibabaVideoModel = class {
1316
1354
  let finalResponse;
1317
1355
  let responseHeaders;
1318
1356
  while (true) {
1319
- await (0, import_provider_utils5.delay)(pollIntervalMs, { abortSignal: options.abortSignal });
1357
+ await (0, import_provider_utils7.delay)(pollIntervalMs, { abortSignal: options.abortSignal });
1320
1358
  if (Date.now() - startTime > pollTimeoutMs) {
1321
1359
  throw new import_provider4.AISDKError({
1322
1360
  name: "ALIBABA_VIDEO_GENERATION_TIMEOUT",
1323
1361
  message: `Video generation timed out after ${pollTimeoutMs}ms`
1324
1362
  });
1325
1363
  }
1326
- const { value: statusResponse, responseHeaders: pollHeaders } = await (0, import_provider_utils5.getFromApi)({
1327
- url: `${this.config.baseURL}/api/v1/tasks/${taskId}`,
1328
- headers: (0, import_provider_utils5.combineHeaders)(
1329
- await (0, import_provider_utils5.resolve)(this.config.headers),
1364
+ const { value: statusResponse, responseHeaders: pollHeaders } = await (0, import_provider_utils7.getFromApi)({
1365
+ url: `${this.config.baseURL}/api/v1/tasks/${(0, import_provider_utils7.encodePathSegment)(taskId)}`,
1366
+ headers: (0, import_provider_utils7.combineHeaders)(
1367
+ await (0, import_provider_utils7.resolve)(this.config.headers),
1330
1368
  options.headers
1331
1369
  ),
1332
- successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
1370
+ successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
1333
1371
  alibabaVideoTaskStatusSchema
1334
1372
  ),
1335
1373
  failedResponseHandler: alibabaVideoFailedResponseHandler,
@@ -1397,17 +1435,17 @@ var AlibabaVideoModel = class {
1397
1435
  };
1398
1436
 
1399
1437
  // src/version.ts
1400
- var VERSION = true ? "1.0.68" : "0.0.0-test";
1438
+ var VERSION = true ? "1.0.69" : "0.0.0-test";
1401
1439
 
1402
1440
  // src/alibaba-provider.ts
1403
1441
  function createAlibaba(options = {}) {
1404
1442
  var _a, _b, _c;
1405
- const baseURL = (_a = (0, import_provider_utils6.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
1406
- const videoBaseURL = (_b = (0, import_provider_utils6.withoutTrailingSlash)(options.videoBaseURL)) != null ? _b : "https://dashscope-intl.aliyuncs.com";
1407
- const embeddingBaseURL = (_c = (0, import_provider_utils6.withoutTrailingSlash)(options.embeddingBaseURL)) != null ? _c : "https://dashscope-intl.aliyuncs.com/api/v1";
1408
- const getHeaders = () => (0, import_provider_utils6.withUserAgentSuffix)(
1443
+ const baseURL = (_a = (0, import_provider_utils8.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
1444
+ const videoBaseURL = (_b = (0, import_provider_utils8.withoutTrailingSlash)(options.videoBaseURL)) != null ? _b : "https://dashscope-intl.aliyuncs.com";
1445
+ const embeddingBaseURL = (_c = (0, import_provider_utils8.withoutTrailingSlash)(options.embeddingBaseURL)) != null ? _c : "https://dashscope-intl.aliyuncs.com/api/v1";
1446
+ const getHeaders = () => (0, import_provider_utils8.withUserAgentSuffix)(
1409
1447
  {
1410
- Authorization: `Bearer ${(0, import_provider_utils6.loadApiKey)({
1448
+ Authorization: `Bearer ${(0, import_provider_utils8.loadApiKey)({
1411
1449
  apiKey: options.apiKey,
1412
1450
  environmentVariableName: "ALIBABA_API_KEY",
1413
1451
  description: "Alibaba Cloud (DashScope)"