@ai-sdk/huggingface 1.0.0-beta.3 → 1.0.0-beta.31
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/CHANGELOG.md +240 -0
- package/dist/index.js +147 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +147 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,245 @@
|
|
|
1
1
|
# @ai-sdk/huggingface
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.31
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [db913bd]
|
|
8
|
+
- @ai-sdk/provider@3.0.0-beta.17
|
|
9
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.35
|
|
10
|
+
- @ai-sdk/provider-utils@4.0.0-beta.34
|
|
11
|
+
|
|
12
|
+
## 1.0.0-beta.30
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- 1bbce64: extract reasoning content
|
|
17
|
+
|
|
18
|
+
## 1.0.0-beta.29
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [b681d7d]
|
|
23
|
+
- @ai-sdk/provider@3.0.0-beta.16
|
|
24
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.34
|
|
25
|
+
- @ai-sdk/provider-utils@4.0.0-beta.33
|
|
26
|
+
|
|
27
|
+
## 1.0.0-beta.28
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [32d8dbb]
|
|
32
|
+
- @ai-sdk/provider-utils@4.0.0-beta.32
|
|
33
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.33
|
|
34
|
+
|
|
35
|
+
## 1.0.0-beta.27
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [bb36798]
|
|
40
|
+
- @ai-sdk/provider@3.0.0-beta.15
|
|
41
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.32
|
|
42
|
+
- @ai-sdk/provider-utils@4.0.0-beta.31
|
|
43
|
+
|
|
44
|
+
## 1.0.0-beta.26
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- Updated dependencies [4f16c37]
|
|
49
|
+
- @ai-sdk/provider-utils@4.0.0-beta.30
|
|
50
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.31
|
|
51
|
+
|
|
52
|
+
## 1.0.0-beta.25
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- Updated dependencies [af3780b]
|
|
57
|
+
- @ai-sdk/provider@3.0.0-beta.14
|
|
58
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.30
|
|
59
|
+
- @ai-sdk/provider-utils@4.0.0-beta.29
|
|
60
|
+
|
|
61
|
+
## 1.0.0-beta.24
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- Updated dependencies [016b111]
|
|
66
|
+
- @ai-sdk/provider-utils@4.0.0-beta.28
|
|
67
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.29
|
|
68
|
+
|
|
69
|
+
## 1.0.0-beta.23
|
|
70
|
+
|
|
71
|
+
### Patch Changes
|
|
72
|
+
|
|
73
|
+
- Updated dependencies [37c58a0]
|
|
74
|
+
- @ai-sdk/provider@3.0.0-beta.13
|
|
75
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.28
|
|
76
|
+
- @ai-sdk/provider-utils@4.0.0-beta.27
|
|
77
|
+
|
|
78
|
+
## 1.0.0-beta.22
|
|
79
|
+
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- Updated dependencies [d1bdadb]
|
|
83
|
+
- @ai-sdk/provider@3.0.0-beta.12
|
|
84
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.27
|
|
85
|
+
- @ai-sdk/provider-utils@4.0.0-beta.26
|
|
86
|
+
|
|
87
|
+
## 1.0.0-beta.21
|
|
88
|
+
|
|
89
|
+
### Patch Changes
|
|
90
|
+
|
|
91
|
+
- Updated dependencies [4c44a5b]
|
|
92
|
+
- @ai-sdk/provider@3.0.0-beta.11
|
|
93
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.26
|
|
94
|
+
- @ai-sdk/provider-utils@4.0.0-beta.25
|
|
95
|
+
|
|
96
|
+
## 1.0.0-beta.20
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- 0c3b58b: fix(provider): add specificationVersion to ProviderV3
|
|
101
|
+
- Updated dependencies [0c3b58b]
|
|
102
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.25
|
|
103
|
+
- @ai-sdk/provider@3.0.0-beta.10
|
|
104
|
+
- @ai-sdk/provider-utils@4.0.0-beta.24
|
|
105
|
+
|
|
106
|
+
## 1.0.0-beta.19
|
|
107
|
+
|
|
108
|
+
### Patch Changes
|
|
109
|
+
|
|
110
|
+
- Updated dependencies [a755db5]
|
|
111
|
+
- @ai-sdk/provider@3.0.0-beta.9
|
|
112
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.24
|
|
113
|
+
- @ai-sdk/provider-utils@4.0.0-beta.23
|
|
114
|
+
|
|
115
|
+
## 1.0.0-beta.18
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- Updated dependencies [58920e0]
|
|
120
|
+
- @ai-sdk/provider-utils@4.0.0-beta.22
|
|
121
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.23
|
|
122
|
+
|
|
123
|
+
## 1.0.0-beta.17
|
|
124
|
+
|
|
125
|
+
### Patch Changes
|
|
126
|
+
|
|
127
|
+
- Updated dependencies [293a6b7]
|
|
128
|
+
- @ai-sdk/provider-utils@4.0.0-beta.21
|
|
129
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.22
|
|
130
|
+
|
|
131
|
+
## 1.0.0-beta.16
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- Updated dependencies [fca786b]
|
|
136
|
+
- @ai-sdk/provider-utils@4.0.0-beta.20
|
|
137
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.21
|
|
138
|
+
|
|
139
|
+
## 1.0.0-beta.15
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- Updated dependencies [3794514]
|
|
144
|
+
- @ai-sdk/provider-utils@4.0.0-beta.19
|
|
145
|
+
- @ai-sdk/provider@3.0.0-beta.8
|
|
146
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.20
|
|
147
|
+
|
|
148
|
+
## 1.0.0-beta.14
|
|
149
|
+
|
|
150
|
+
### Patch Changes
|
|
151
|
+
|
|
152
|
+
- Updated dependencies [81d4308]
|
|
153
|
+
- @ai-sdk/provider@3.0.0-beta.7
|
|
154
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.19
|
|
155
|
+
- @ai-sdk/provider-utils@4.0.0-beta.18
|
|
156
|
+
|
|
157
|
+
## 1.0.0-beta.13
|
|
158
|
+
|
|
159
|
+
### Patch Changes
|
|
160
|
+
|
|
161
|
+
- Updated dependencies [703459a]
|
|
162
|
+
- @ai-sdk/provider-utils@4.0.0-beta.17
|
|
163
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.18
|
|
164
|
+
|
|
165
|
+
## 1.0.0-beta.12
|
|
166
|
+
|
|
167
|
+
### Patch Changes
|
|
168
|
+
|
|
169
|
+
- Updated dependencies [b689220]
|
|
170
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.17
|
|
171
|
+
|
|
172
|
+
## 1.0.0-beta.11
|
|
173
|
+
|
|
174
|
+
### Patch Changes
|
|
175
|
+
|
|
176
|
+
- Updated dependencies [6306603]
|
|
177
|
+
- @ai-sdk/provider-utils@4.0.0-beta.16
|
|
178
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.16
|
|
179
|
+
|
|
180
|
+
## 1.0.0-beta.10
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- Updated dependencies [f0b2157]
|
|
185
|
+
- @ai-sdk/provider-utils@4.0.0-beta.15
|
|
186
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.15
|
|
187
|
+
|
|
188
|
+
## 1.0.0-beta.9
|
|
189
|
+
|
|
190
|
+
### Patch Changes
|
|
191
|
+
|
|
192
|
+
- Updated dependencies [3b1d015]
|
|
193
|
+
- @ai-sdk/provider-utils@4.0.0-beta.14
|
|
194
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.14
|
|
195
|
+
|
|
196
|
+
## 1.0.0-beta.8
|
|
197
|
+
|
|
198
|
+
### Patch Changes
|
|
199
|
+
|
|
200
|
+
- Updated dependencies [d116b4b]
|
|
201
|
+
- @ai-sdk/provider-utils@4.0.0-beta.13
|
|
202
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.13
|
|
203
|
+
|
|
204
|
+
## 1.0.0-beta.7
|
|
205
|
+
|
|
206
|
+
### Patch Changes
|
|
207
|
+
|
|
208
|
+
- Updated dependencies [7e32fea]
|
|
209
|
+
- @ai-sdk/provider-utils@4.0.0-beta.12
|
|
210
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.12
|
|
211
|
+
|
|
212
|
+
## 1.0.0-beta.6
|
|
213
|
+
|
|
214
|
+
### Patch Changes
|
|
215
|
+
|
|
216
|
+
- 95f65c2: chore: use import \* from zod/v4
|
|
217
|
+
- Updated dependencies [95f65c2]
|
|
218
|
+
- Updated dependencies [95f65c2]
|
|
219
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.11
|
|
220
|
+
- @ai-sdk/provider-utils@4.0.0-beta.11
|
|
221
|
+
|
|
222
|
+
## 1.0.0-beta.5
|
|
223
|
+
|
|
224
|
+
### Major Changes
|
|
225
|
+
|
|
226
|
+
- dee8b05: ai SDK 6 beta
|
|
227
|
+
|
|
228
|
+
### Patch Changes
|
|
229
|
+
|
|
230
|
+
- Updated dependencies [dee8b05]
|
|
231
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.10
|
|
232
|
+
- @ai-sdk/provider@3.0.0-beta.6
|
|
233
|
+
- @ai-sdk/provider-utils@4.0.0-beta.10
|
|
234
|
+
|
|
235
|
+
## 1.0.0-beta.4
|
|
236
|
+
|
|
237
|
+
### Patch Changes
|
|
238
|
+
|
|
239
|
+
- Updated dependencies [521c537]
|
|
240
|
+
- @ai-sdk/provider-utils@3.1.0-beta.9
|
|
241
|
+
- @ai-sdk/openai-compatible@1.1.0-beta.9
|
|
242
|
+
|
|
3
243
|
## 1.0.0-beta.3
|
|
4
244
|
|
|
5
245
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -306,7 +306,14 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
306
306
|
metadata: huggingfaceOptions == null ? void 0 : huggingfaceOptions.metadata,
|
|
307
307
|
instructions: huggingfaceOptions == null ? void 0 : huggingfaceOptions.instructions,
|
|
308
308
|
...preparedTools && { tools: preparedTools },
|
|
309
|
-
...preparedToolChoice && { tool_choice: preparedToolChoice }
|
|
309
|
+
...preparedToolChoice && { tool_choice: preparedToolChoice },
|
|
310
|
+
...(huggingfaceOptions == null ? void 0 : huggingfaceOptions.reasoningEffort) != null && {
|
|
311
|
+
reasoning: {
|
|
312
|
+
...(huggingfaceOptions == null ? void 0 : huggingfaceOptions.reasoningEffort) != null && {
|
|
313
|
+
effort: huggingfaceOptions.reasoningEffort
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
310
317
|
};
|
|
311
318
|
return { args: baseArgs, warnings };
|
|
312
319
|
}
|
|
@@ -375,6 +382,20 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
375
382
|
}
|
|
376
383
|
break;
|
|
377
384
|
}
|
|
385
|
+
case "reasoning": {
|
|
386
|
+
for (const contentPart of part.content) {
|
|
387
|
+
content.push({
|
|
388
|
+
type: "reasoning",
|
|
389
|
+
text: contentPart.text,
|
|
390
|
+
providerMetadata: {
|
|
391
|
+
huggingface: {
|
|
392
|
+
itemId: part.id
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
378
399
|
case "mcp_call": {
|
|
379
400
|
content.push({
|
|
380
401
|
type: "tool-call",
|
|
@@ -388,8 +409,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
388
409
|
type: "tool-result",
|
|
389
410
|
toolCallId: part.id,
|
|
390
411
|
toolName: part.name,
|
|
391
|
-
result: part.output
|
|
392
|
-
providerExecuted: true
|
|
412
|
+
result: part.output
|
|
393
413
|
});
|
|
394
414
|
}
|
|
395
415
|
break;
|
|
@@ -407,8 +427,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
407
427
|
type: "tool-result",
|
|
408
428
|
toolCallId: part.id,
|
|
409
429
|
toolName: "list_tools",
|
|
410
|
-
result: { tools: part.tools }
|
|
411
|
-
providerExecuted: true
|
|
430
|
+
result: { tools: part.tools }
|
|
412
431
|
});
|
|
413
432
|
}
|
|
414
433
|
break;
|
|
@@ -529,6 +548,16 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
529
548
|
id: value.item.call_id,
|
|
530
549
|
toolName: value.item.name
|
|
531
550
|
});
|
|
551
|
+
} else if (value.item.type === "reasoning") {
|
|
552
|
+
controller.enqueue({
|
|
553
|
+
type: "reasoning-start",
|
|
554
|
+
id: value.item.id,
|
|
555
|
+
providerMetadata: {
|
|
556
|
+
huggingface: {
|
|
557
|
+
itemId: value.item.id
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
});
|
|
532
561
|
}
|
|
533
562
|
return;
|
|
534
563
|
}
|
|
@@ -572,6 +601,21 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
572
601
|
}
|
|
573
602
|
return;
|
|
574
603
|
}
|
|
604
|
+
if (isReasoningDeltaChunk(value)) {
|
|
605
|
+
controller.enqueue({
|
|
606
|
+
type: "reasoning-delta",
|
|
607
|
+
id: value.item_id,
|
|
608
|
+
delta: value.delta
|
|
609
|
+
});
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
if (isReasoningEndChunk(value)) {
|
|
613
|
+
controller.enqueue({
|
|
614
|
+
type: "reasoning-end",
|
|
615
|
+
id: value.item_id
|
|
616
|
+
});
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
575
619
|
if (isTextDeltaChunk(value)) {
|
|
576
620
|
controller.enqueue({
|
|
577
621
|
type: "text-delta",
|
|
@@ -603,8 +647,65 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
603
647
|
var huggingfaceResponsesProviderOptionsSchema = import_v42.z.object({
|
|
604
648
|
metadata: import_v42.z.record(import_v42.z.string(), import_v42.z.string()).optional(),
|
|
605
649
|
instructions: import_v42.z.string().optional(),
|
|
606
|
-
strictJsonSchema: import_v42.z.boolean().optional()
|
|
650
|
+
strictJsonSchema: import_v42.z.boolean().optional(),
|
|
651
|
+
reasoningEffort: import_v42.z.string().optional()
|
|
607
652
|
});
|
|
653
|
+
var huggingfaceResponsesOutputSchema = import_v42.z.discriminatedUnion("type", [
|
|
654
|
+
import_v42.z.object({
|
|
655
|
+
type: import_v42.z.literal("message"),
|
|
656
|
+
id: import_v42.z.string(),
|
|
657
|
+
role: import_v42.z.string().optional(),
|
|
658
|
+
status: import_v42.z.string().optional(),
|
|
659
|
+
content: import_v42.z.array(
|
|
660
|
+
import_v42.z.object({
|
|
661
|
+
type: import_v42.z.literal("output_text"),
|
|
662
|
+
text: import_v42.z.string(),
|
|
663
|
+
annotations: import_v42.z.array(import_v42.z.any()).optional()
|
|
664
|
+
})
|
|
665
|
+
)
|
|
666
|
+
}),
|
|
667
|
+
import_v42.z.object({
|
|
668
|
+
type: import_v42.z.literal("reasoning"),
|
|
669
|
+
id: import_v42.z.string(),
|
|
670
|
+
status: import_v42.z.string().optional(),
|
|
671
|
+
content: import_v42.z.array(
|
|
672
|
+
import_v42.z.object({
|
|
673
|
+
type: import_v42.z.literal("reasoning_text"),
|
|
674
|
+
text: import_v42.z.string()
|
|
675
|
+
})
|
|
676
|
+
),
|
|
677
|
+
summary: import_v42.z.array(
|
|
678
|
+
import_v42.z.object({
|
|
679
|
+
type: import_v42.z.literal("reasoning_summary"),
|
|
680
|
+
text: import_v42.z.string()
|
|
681
|
+
}).optional()
|
|
682
|
+
).optional()
|
|
683
|
+
}),
|
|
684
|
+
import_v42.z.object({
|
|
685
|
+
type: import_v42.z.literal("function_call"),
|
|
686
|
+
id: import_v42.z.string(),
|
|
687
|
+
call_id: import_v42.z.string(),
|
|
688
|
+
name: import_v42.z.string(),
|
|
689
|
+
arguments: import_v42.z.string(),
|
|
690
|
+
output: import_v42.z.string().optional(),
|
|
691
|
+
status: import_v42.z.string().optional()
|
|
692
|
+
}),
|
|
693
|
+
import_v42.z.object({
|
|
694
|
+
type: import_v42.z.literal("mcp_call"),
|
|
695
|
+
id: import_v42.z.string(),
|
|
696
|
+
name: import_v42.z.string(),
|
|
697
|
+
arguments: import_v42.z.string(),
|
|
698
|
+
output: import_v42.z.string().optional(),
|
|
699
|
+
status: import_v42.z.string().optional()
|
|
700
|
+
}),
|
|
701
|
+
import_v42.z.object({
|
|
702
|
+
type: import_v42.z.literal("mcp_list_tools"),
|
|
703
|
+
id: import_v42.z.string(),
|
|
704
|
+
server_label: import_v42.z.string(),
|
|
705
|
+
tools: import_v42.z.array(import_v42.z.any()).optional(),
|
|
706
|
+
status: import_v42.z.string().optional()
|
|
707
|
+
})
|
|
708
|
+
]);
|
|
608
709
|
var huggingfaceResponsesResponseSchema = import_v42.z.object({
|
|
609
710
|
id: import_v42.z.string(),
|
|
610
711
|
model: import_v42.z.string(),
|
|
@@ -633,7 +734,7 @@ var huggingfaceResponsesResponseSchema = import_v42.z.object({
|
|
|
633
734
|
}).optional(),
|
|
634
735
|
total_tokens: import_v42.z.number()
|
|
635
736
|
}).nullable().optional(),
|
|
636
|
-
output: import_v42.z.array(
|
|
737
|
+
output: import_v42.z.array(huggingfaceResponsesOutputSchema),
|
|
637
738
|
output_text: import_v42.z.string().nullable().optional()
|
|
638
739
|
});
|
|
639
740
|
var responseOutputItemAddedSchema = import_v42.z.object({
|
|
@@ -647,6 +748,13 @@ var responseOutputItemAddedSchema = import_v42.z.object({
|
|
|
647
748
|
status: import_v42.z.string().optional(),
|
|
648
749
|
content: import_v42.z.array(import_v42.z.any()).optional()
|
|
649
750
|
}),
|
|
751
|
+
import_v42.z.object({
|
|
752
|
+
type: import_v42.z.literal("reasoning"),
|
|
753
|
+
id: import_v42.z.string(),
|
|
754
|
+
status: import_v42.z.string().optional(),
|
|
755
|
+
content: import_v42.z.array(import_v42.z.any()).optional(),
|
|
756
|
+
summary: import_v42.z.array(import_v42.z.any()).optional()
|
|
757
|
+
}),
|
|
650
758
|
import_v42.z.object({
|
|
651
759
|
type: import_v42.z.literal("mcp_list_tools"),
|
|
652
760
|
id: import_v42.z.string(),
|
|
@@ -710,6 +818,13 @@ var responseOutputItemDoneSchema = import_v42.z.object({
|
|
|
710
818
|
arguments: import_v42.z.string(),
|
|
711
819
|
output: import_v42.z.string().optional(),
|
|
712
820
|
error: import_v42.z.string().optional()
|
|
821
|
+
}),
|
|
822
|
+
import_v42.z.object({
|
|
823
|
+
type: import_v42.z.literal("reasoning"),
|
|
824
|
+
id: import_v42.z.string(),
|
|
825
|
+
status: import_v42.z.string().optional(),
|
|
826
|
+
content: import_v42.z.array(import_v42.z.any()).optional(),
|
|
827
|
+
summary: import_v42.z.array(import_v42.z.any()).optional()
|
|
713
828
|
})
|
|
714
829
|
]),
|
|
715
830
|
sequence_number: import_v42.z.number()
|
|
@@ -722,6 +837,22 @@ var textDeltaChunkSchema = import_v42.z.object({
|
|
|
722
837
|
delta: import_v42.z.string(),
|
|
723
838
|
sequence_number: import_v42.z.number()
|
|
724
839
|
});
|
|
840
|
+
var reasoningTextDeltaChunkSchema = import_v42.z.object({
|
|
841
|
+
type: import_v42.z.literal("response.reasoning_text.delta"),
|
|
842
|
+
item_id: import_v42.z.string(),
|
|
843
|
+
output_index: import_v42.z.number(),
|
|
844
|
+
content_index: import_v42.z.number(),
|
|
845
|
+
delta: import_v42.z.string(),
|
|
846
|
+
sequence_number: import_v42.z.number()
|
|
847
|
+
});
|
|
848
|
+
var reasoningTextEndChunkSchema = import_v42.z.object({
|
|
849
|
+
type: import_v42.z.literal("response.reasoning_text.done"),
|
|
850
|
+
item_id: import_v42.z.string(),
|
|
851
|
+
output_index: import_v42.z.number(),
|
|
852
|
+
content_index: import_v42.z.number(),
|
|
853
|
+
text: import_v42.z.string(),
|
|
854
|
+
sequence_number: import_v42.z.number()
|
|
855
|
+
});
|
|
725
856
|
var responseCompletedChunkSchema = import_v42.z.object({
|
|
726
857
|
type: import_v42.z.literal("response.completed"),
|
|
727
858
|
response: huggingfaceResponsesResponseSchema,
|
|
@@ -740,6 +871,8 @@ var responseCreatedChunkSchema = import_v42.z.object({
|
|
|
740
871
|
var huggingfaceResponsesChunkSchema = import_v42.z.union([
|
|
741
872
|
responseOutputItemAddedSchema,
|
|
742
873
|
responseOutputItemDoneSchema,
|
|
874
|
+
reasoningTextDeltaChunkSchema,
|
|
875
|
+
reasoningTextEndChunkSchema,
|
|
743
876
|
textDeltaChunkSchema,
|
|
744
877
|
responseCompletedChunkSchema,
|
|
745
878
|
responseCreatedChunkSchema,
|
|
@@ -755,6 +888,12 @@ function isResponseOutputItemDoneChunk(chunk) {
|
|
|
755
888
|
function isTextDeltaChunk(chunk) {
|
|
756
889
|
return chunk.type === "response.output_text.delta";
|
|
757
890
|
}
|
|
891
|
+
function isReasoningDeltaChunk(chunk) {
|
|
892
|
+
return chunk.type === "response.reasoning_text.delta";
|
|
893
|
+
}
|
|
894
|
+
function isReasoningEndChunk(chunk) {
|
|
895
|
+
return chunk.type === "response.reasoning_text.done";
|
|
896
|
+
}
|
|
758
897
|
function isResponseCompletedChunk(chunk) {
|
|
759
898
|
return chunk.type === "response.completed";
|
|
760
899
|
}
|
|
@@ -785,6 +924,7 @@ function createHuggingFace(options = {}) {
|
|
|
785
924
|
});
|
|
786
925
|
};
|
|
787
926
|
const provider = (modelId) => createResponsesModel(modelId);
|
|
927
|
+
provider.specificationVersion = "v3";
|
|
788
928
|
provider.languageModel = createResponsesModel;
|
|
789
929
|
provider.responses = createResponsesModel;
|
|
790
930
|
provider.textEmbeddingModel = (modelId) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/huggingface-provider.ts","../src/responses/huggingface-responses-language-model.ts","../src/huggingface-error.ts","../src/responses/convert-to-huggingface-responses-messages.ts","../src/responses/map-huggingface-responses-finish-reason.ts","../src/responses/huggingface-responses-prepare-tools.ts"],"sourcesContent":["export { createHuggingFace, huggingface } from './huggingface-provider';\nexport type {\n HuggingFaceProvider,\n HuggingFaceProviderSettings,\n} from './huggingface-provider';\nexport type {\n HuggingFaceResponsesModelId,\n HuggingFaceResponsesSettings,\n} from './responses/huggingface-responses-settings';\nexport type { OpenAICompatibleErrorData as HuggingFaceErrorData } from '@ai-sdk/openai-compatible';\n","import {\n LanguageModelV3,\n NoSuchModelError,\n ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { HuggingFaceResponsesLanguageModel } from './responses/huggingface-responses-language-model';\nimport { HuggingFaceResponsesModelId } from './responses/huggingface-responses-settings';\n\nexport interface HuggingFaceProviderSettings {\n /**\nHugging Face API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n\n generateId?: () => string;\n}\n\nexport interface HuggingFaceProvider extends ProviderV3 {\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n (modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n languageModel(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n responses(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n}\n\n/**\nCreate a Hugging Face provider instance.\n */\nexport function createHuggingFace(\n options: HuggingFaceProviderSettings = {},\n): HuggingFaceProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://router.huggingface.co/v1';\n\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'HUGGINGFACE_API_KEY',\n description: 'Hugging Face',\n })}`,\n ...options.headers,\n });\n\n const createResponsesModel = (modelId: HuggingFaceResponsesModelId) => {\n return new HuggingFaceResponsesLanguageModel(modelId, {\n provider: 'huggingface.responses',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId ?? generateId,\n });\n };\n\n const provider = (modelId: HuggingFaceResponsesModelId) =>\n createResponsesModel(modelId);\n\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'textEmbeddingModel',\n message:\n 'Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.',\n });\n };\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'imageModel',\n message:\n 'Hugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.',\n });\n };\n\n return provider;\n}\n\n/**\nDefault Hugging Face provider instance.\n */\nexport const huggingface = createHuggingFace();\n","import {\n APICallError,\n LanguageModelV3,\n LanguageModelV3CallWarning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\n LanguageModelV3Usage,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n parseProviderOptions,\n ParseResult,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { HuggingFaceConfig } from '../huggingface-config';\nimport { huggingfaceFailedResponseHandler } from '../huggingface-error';\nimport { convertToHuggingFaceResponsesMessages } from './convert-to-huggingface-responses-messages';\nimport { mapHuggingFaceResponsesFinishReason } from './map-huggingface-responses-finish-reason';\nimport { HuggingFaceResponsesModelId } from './huggingface-responses-settings';\nimport { prepareResponsesTools } from './huggingface-responses-prepare-tools';\n\nexport class HuggingFaceResponsesLanguageModel implements LanguageModelV3 {\n readonly specificationVersion = 'v3';\n\n readonly modelId: HuggingFaceResponsesModelId;\n\n private readonly config: HuggingFaceConfig;\n\n constructor(modelId: HuggingFaceResponsesModelId, config: HuggingFaceConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n readonly supportedUrls: Record<string, RegExp[]> = {\n 'image/*': [/^https?:\\/\\/.*$/],\n };\n\n get provider(): string {\n return this.config.provider;\n }\n\n private async getArgs({\n maxOutputTokens,\n temperature,\n stopSequences,\n topP,\n topK,\n presencePenalty,\n frequencyPenalty,\n seed,\n prompt,\n providerOptions,\n tools,\n toolChoice,\n responseFormat,\n }: Parameters<LanguageModelV3['doGenerate']>[0]) {\n const warnings: LanguageModelV3CallWarning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'presencePenalty',\n });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'frequencyPenalty',\n });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'stopSequences' });\n }\n\n const { input, warnings: messageWarnings } =\n await convertToHuggingFaceResponsesMessages({\n prompt,\n });\n\n warnings.push(...messageWarnings);\n\n const huggingfaceOptions = await parseProviderOptions({\n provider: 'huggingface',\n providerOptions,\n schema: huggingfaceResponsesProviderOptionsSchema,\n });\n\n const {\n tools: preparedTools,\n toolChoice: preparedToolChoice,\n toolWarnings,\n } = prepareResponsesTools({\n tools,\n toolChoice,\n });\n\n warnings.push(...toolWarnings);\n\n const baseArgs = {\n model: this.modelId,\n input,\n temperature,\n top_p: topP,\n max_output_tokens: maxOutputTokens,\n\n // HuggingFace Responses API uses text.format for structured output\n ...(responseFormat?.type === 'json' &&\n responseFormat.schema && {\n text: {\n format: {\n type: 'json_schema',\n strict: huggingfaceOptions?.strictJsonSchema ?? false,\n name: responseFormat.name ?? 'response',\n description: responseFormat.description,\n schema: responseFormat.schema,\n },\n },\n }),\n\n metadata: huggingfaceOptions?.metadata,\n instructions: huggingfaceOptions?.instructions,\n\n ...(preparedTools && { tools: preparedTools }),\n ...(preparedToolChoice && { tool_choice: preparedToolChoice }),\n };\n\n return { args: baseArgs, warnings };\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: false,\n };\n\n const url = this.config.url({\n path: '/responses',\n modelId: this.modelId,\n });\n\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n huggingfaceResponsesResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n if (response.error) {\n throw new APICallError({\n message: response.error.message,\n url,\n requestBodyValues: body,\n statusCode: 400,\n responseHeaders,\n responseBody: rawResponse as string,\n isRetryable: false,\n });\n }\n\n const content: Array<LanguageModelV3Content> = [];\n\n // Process output array\n for (const part of response.output) {\n switch (part.type) {\n case 'message': {\n for (const contentPart of part.content) {\n content.push({\n type: 'text',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n\n if (contentPart.annotations) {\n for (const annotation of contentPart.annotations) {\n content.push({\n type: 'source',\n sourceType: 'url',\n id: this.config.generateId?.() ?? generateId(),\n url: annotation.url,\n title: annotation.title,\n });\n }\n }\n }\n break;\n }\n\n case 'mcp_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: part.name,\n input: part.arguments,\n providerExecuted: true,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: part.name,\n result: part.output,\n providerExecuted: true,\n });\n }\n break;\n }\n\n case 'mcp_list_tools': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: 'list_tools',\n input: JSON.stringify({ server_label: part.server_label }),\n providerExecuted: true,\n });\n\n if (part.tools) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: 'list_tools',\n result: { tools: part.tools },\n providerExecuted: true,\n });\n }\n break;\n }\n\n case 'function_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.call_id,\n toolName: part.name,\n input: part.arguments,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.call_id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n return {\n content,\n finishReason: mapHuggingFaceResponsesFinishReason(\n response.incomplete_details?.reason ?? 'stop',\n ),\n usage: {\n inputTokens: response.usage?.input_tokens ?? 0,\n outputTokens: response.usage?.output_tokens ?? 0,\n totalTokens:\n response.usage?.total_tokens ??\n (response.usage?.input_tokens ?? 0) +\n (response.usage?.output_tokens ?? 0),\n },\n request: { body },\n response: {\n id: response.id,\n timestamp: new Date(response.created_at * 1000),\n modelId: response.model,\n headers: responseHeaders,\n body: rawResponse,\n },\n providerMetadata: {\n huggingface: {\n responseId: response.id,\n },\n },\n warnings,\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV3['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: true,\n };\n\n const { value: response, responseHeaders } = await postJsonToApi({\n url: this.config.url({\n path: '/responses',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n huggingfaceResponsesChunkSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n let finishReason: LanguageModelV3FinishReason = 'unknown';\n let responseId: string | null = null;\n const usage: LanguageModelV3Usage = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n };\n\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof huggingfaceResponsesChunkSchema>>,\n LanguageModelV3StreamPart\n >({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings });\n },\n\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n if (isResponseCreatedChunk(value)) {\n responseId = value.response.id;\n controller.enqueue({\n type: 'response-metadata',\n id: value.response.id,\n timestamp: new Date(value.response.created_at * 1000),\n modelId: value.response.model,\n });\n return;\n }\n\n if (isResponseOutputItemAddedChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-start',\n id: value.item.call_id,\n toolName: value.item.name,\n });\n }\n return;\n }\n\n if (isResponseOutputItemDoneChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-end',\n id: value.item.id,\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-end',\n id: value.item.call_id,\n });\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n input: value.item.arguments,\n });\n\n if (value.item.output) {\n controller.enqueue({\n type: 'tool-result',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n result: value.item.output,\n });\n }\n }\n return;\n }\n\n if (isResponseCompletedChunk(value)) {\n responseId = value.response.id;\n finishReason = mapHuggingFaceResponsesFinishReason(\n value.response.incomplete_details?.reason ?? 'stop',\n );\n if (value.response.usage) {\n usage.inputTokens = value.response.usage.input_tokens;\n usage.outputTokens = value.response.usage.output_tokens;\n usage.totalTokens =\n value.response.usage.total_tokens ??\n value.response.usage.input_tokens +\n value.response.usage.output_tokens;\n }\n return;\n }\n\n if (isTextDeltaChunk(value)) {\n controller.enqueue({\n type: 'text-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n },\n\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage,\n providerMetadata: {\n huggingface: {\n responseId,\n },\n },\n });\n },\n }),\n ),\n request: { body },\n response: { headers: responseHeaders },\n };\n }\n}\n\nconst huggingfaceResponsesProviderOptionsSchema = z.object({\n metadata: z.record(z.string(), z.string()).optional(),\n instructions: z.string().optional(),\n strictJsonSchema: z.boolean().optional(),\n});\n\nconst huggingfaceResponsesResponseSchema = z.object({\n id: z.string(),\n model: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n error: z.any().nullable(),\n instructions: z.any().nullable(),\n max_output_tokens: z.any().nullable(),\n metadata: z.any().nullable(),\n tool_choice: z.any(),\n tools: z.array(z.any()),\n temperature: z.number(),\n top_p: z.number(),\n incomplete_details: z\n .object({\n reason: z.string(),\n })\n .nullable()\n .optional(),\n usage: z\n .object({\n input_tokens: z.number(),\n input_tokens_details: z\n .object({\n cached_tokens: z.number(),\n })\n .optional(),\n output_tokens: z.number(),\n output_tokens_details: z\n .object({\n reasoning_tokens: z.number(),\n })\n .optional(),\n total_tokens: z.number(),\n })\n .nullable()\n .optional(),\n output: z.array(z.any()),\n output_text: z.string().nullable().optional(),\n});\n\nconst responseOutputItemAddedSchema = z.object({\n type: z.literal('response.output_item.added'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst responseOutputItemDoneSchema = z.object({\n type: z.literal('response.output_item.done'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst textDeltaChunkSchema = z.object({\n type: z.literal('response.output_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst responseCompletedChunkSchema = z.object({\n type: z.literal('response.completed'),\n response: huggingfaceResponsesResponseSchema,\n sequence_number: z.number(),\n});\n\nconst responseCreatedChunkSchema = z.object({\n type: z.literal('response.created'),\n response: z.object({\n id: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n model: z.string(),\n }),\n});\n\nconst huggingfaceResponsesChunkSchema = z.union([\n responseOutputItemAddedSchema,\n responseOutputItemDoneSchema,\n textDeltaChunkSchema,\n responseCompletedChunkSchema,\n responseCreatedChunkSchema,\n z.object({ type: z.string() }).loose(), // fallback for unknown chunks\n]);\n\nfunction isResponseOutputItemAddedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemAddedSchema> {\n return chunk.type === 'response.output_item.added';\n}\n\nfunction isResponseOutputItemDoneChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemDoneSchema> {\n return chunk.type === 'response.output_item.done';\n}\n\nfunction isTextDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof textDeltaChunkSchema> {\n return chunk.type === 'response.output_text.delta';\n}\n\nfunction isResponseCompletedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCompletedChunkSchema> {\n return chunk.type === 'response.completed';\n}\n\nfunction isResponseCreatedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCreatedChunkSchema> {\n return chunk.type === 'response.created';\n}\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst huggingfaceErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string().optional(),\n code: z.string().optional(),\n }),\n});\n\nexport type HuggingFaceErrorData = z.infer<typeof huggingfaceErrorDataSchema>;\n\nexport const huggingfaceFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: huggingfaceErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import {\n LanguageModelV3CallWarning,\n LanguageModelV3Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\n\nexport async function convertToHuggingFaceResponsesMessages({\n prompt,\n}: {\n prompt: LanguageModelV3Prompt;\n}): Promise<{\n input: string | Array<any>;\n warnings: Array<LanguageModelV3CallWarning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<LanguageModelV3CallWarning> = [];\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n messages.push({ role: 'system', content });\n break;\n }\n\n case 'user': {\n messages.push({\n role: 'user',\n content: content.map(part => {\n switch (part.type) {\n case 'text': {\n return { type: 'input_text', text: part.text };\n }\n case 'file': {\n if (part.mediaType.startsWith('image/')) {\n const mediaType =\n part.mediaType === 'image/*'\n ? 'image/jpeg'\n : part.mediaType;\n\n return {\n type: 'input_image',\n image_url:\n part.data instanceof URL\n ? part.data.toString()\n : `data:${mediaType};base64,${part.data}`,\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: `file part media type ${part.mediaType}`,\n });\n }\n }\n default: {\n const _exhaustiveCheck: never = part;\n throw new Error(`Unsupported part type: ${_exhaustiveCheck}`);\n }\n }\n }),\n });\n\n break;\n }\n\n case 'assistant': {\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n case 'tool-call': {\n // tool calls are handled by the responses API\n break;\n }\n\n case 'tool-result': {\n // tool results are handled by the responses API\n break;\n }\n\n case 'reasoning': {\n // include reasoning content in the message text\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n }\n }\n\n break;\n }\n\n case 'tool': {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'tool messages',\n });\n break;\n }\n\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return { input: messages, warnings };\n}\n","import { LanguageModelV3FinishReason } from '@ai-sdk/provider';\n\nexport function mapHuggingFaceResponsesFinishReason(\n finishReason: string | null | undefined,\n): LanguageModelV3FinishReason {\n switch (finishReason) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'content_filter':\n return 'content-filter';\n case 'tool_calls':\n return 'tool-calls';\n case 'error':\n return 'error';\n default:\n return 'unknown';\n }\n}\n","import {\n LanguageModelV3CallOptions,\n LanguageModelV3CallWarning,\n} from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesTool = {\n type: 'function';\n name: string;\n description?: string;\n parameters: unknown;\n};\n\nexport type HuggingFaceResponsesToolChoice =\n | 'auto'\n | 'required'\n | { type: 'function'; function: { name: string } };\n\nexport function prepareResponsesTools({\n tools,\n toolChoice,\n}: {\n tools: LanguageModelV3CallOptions['tools'];\n toolChoice?: LanguageModelV3CallOptions['toolChoice'];\n}): {\n tools?: HuggingFaceResponsesTool[];\n toolChoice?: HuggingFaceResponsesToolChoice;\n toolWarnings: LanguageModelV3CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n tools = tools?.length ? tools : undefined;\n\n const toolWarnings: LanguageModelV3CallWarning[] = [];\n\n if (tools == null) {\n return { tools: undefined, toolChoice: undefined, toolWarnings };\n }\n\n const huggingfaceTools: HuggingFaceResponsesTool[] = [];\n\n for (const tool of tools) {\n switch (tool.type) {\n case 'function':\n huggingfaceTools.push({\n type: 'function',\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n });\n break;\n case 'provider-defined':\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n });\n break;\n default: {\n const _exhaustiveCheck: never = tool;\n throw new Error(`Unsupported tool type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n // prepare tool choice:\n let mappedToolChoice: HuggingFaceResponsesToolChoice | undefined = undefined;\n if (toolChoice) {\n switch (toolChoice.type) {\n case 'auto':\n mappedToolChoice = 'auto';\n break;\n case 'required':\n mappedToolChoice = 'required';\n break;\n case 'none':\n // not supported, ignore\n break;\n case 'tool':\n mappedToolChoice = {\n type: 'function',\n function: { name: toolChoice.toolName },\n };\n break;\n default: {\n const _exhaustiveCheck: never = toolChoice;\n throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return {\n tools: huggingfaceTools,\n toolChoice: mappedToolChoice,\n toolWarnings,\n };\n}\n"],"mappings":"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","names":["import_provider","import_provider_utils","import_provider","import_provider_utils","import_v4","_a"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/huggingface-provider.ts","../src/responses/huggingface-responses-language-model.ts","../src/huggingface-error.ts","../src/responses/convert-to-huggingface-responses-messages.ts","../src/responses/map-huggingface-responses-finish-reason.ts","../src/responses/huggingface-responses-prepare-tools.ts"],"sourcesContent":["export { createHuggingFace, huggingface } from './huggingface-provider';\nexport type {\n HuggingFaceProvider,\n HuggingFaceProviderSettings,\n} from './huggingface-provider';\nexport type {\n HuggingFaceResponsesModelId,\n HuggingFaceResponsesSettings,\n} from './responses/huggingface-responses-settings';\nexport type { OpenAICompatibleErrorData as HuggingFaceErrorData } from '@ai-sdk/openai-compatible';\n","import {\n LanguageModelV3,\n NoSuchModelError,\n ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { HuggingFaceResponsesLanguageModel } from './responses/huggingface-responses-language-model';\nimport { HuggingFaceResponsesModelId } from './responses/huggingface-responses-settings';\n\nexport interface HuggingFaceProviderSettings {\n /**\nHugging Face API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n\n generateId?: () => string;\n}\n\nexport interface HuggingFaceProvider extends ProviderV3 {\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n (modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n languageModel(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n responses(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n}\n\n/**\nCreate a Hugging Face provider instance.\n */\nexport function createHuggingFace(\n options: HuggingFaceProviderSettings = {},\n): HuggingFaceProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://router.huggingface.co/v1';\n\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'HUGGINGFACE_API_KEY',\n description: 'Hugging Face',\n })}`,\n ...options.headers,\n });\n\n const createResponsesModel = (modelId: HuggingFaceResponsesModelId) => {\n return new HuggingFaceResponsesLanguageModel(modelId, {\n provider: 'huggingface.responses',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId ?? generateId,\n });\n };\n\n const provider = (modelId: HuggingFaceResponsesModelId) =>\n createResponsesModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'textEmbeddingModel',\n message:\n 'Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.',\n });\n };\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'imageModel',\n message:\n 'Hugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.',\n });\n };\n\n return provider;\n}\n\n/**\nDefault Hugging Face provider instance.\n */\nexport const huggingface = createHuggingFace();\n","import {\n APICallError,\n LanguageModelV3,\n LanguageModelV3CallWarning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\n LanguageModelV3Usage,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n parseProviderOptions,\n ParseResult,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { HuggingFaceConfig } from '../huggingface-config';\nimport { huggingfaceFailedResponseHandler } from '../huggingface-error';\nimport { convertToHuggingFaceResponsesMessages } from './convert-to-huggingface-responses-messages';\nimport { mapHuggingFaceResponsesFinishReason } from './map-huggingface-responses-finish-reason';\nimport { HuggingFaceResponsesModelId } from './huggingface-responses-settings';\nimport { prepareResponsesTools } from './huggingface-responses-prepare-tools';\n\nexport class HuggingFaceResponsesLanguageModel implements LanguageModelV3 {\n readonly specificationVersion = 'v3';\n\n readonly modelId: HuggingFaceResponsesModelId;\n\n private readonly config: HuggingFaceConfig;\n\n constructor(modelId: HuggingFaceResponsesModelId, config: HuggingFaceConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n readonly supportedUrls: Record<string, RegExp[]> = {\n 'image/*': [/^https?:\\/\\/.*$/],\n };\n\n get provider(): string {\n return this.config.provider;\n }\n\n private async getArgs({\n maxOutputTokens,\n temperature,\n stopSequences,\n topP,\n topK,\n presencePenalty,\n frequencyPenalty,\n seed,\n prompt,\n providerOptions,\n tools,\n toolChoice,\n responseFormat,\n }: Parameters<LanguageModelV3['doGenerate']>[0]) {\n const warnings: LanguageModelV3CallWarning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'presencePenalty',\n });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'frequencyPenalty',\n });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'stopSequences' });\n }\n\n const { input, warnings: messageWarnings } =\n await convertToHuggingFaceResponsesMessages({\n prompt,\n });\n\n warnings.push(...messageWarnings);\n\n const huggingfaceOptions = await parseProviderOptions({\n provider: 'huggingface',\n providerOptions,\n schema: huggingfaceResponsesProviderOptionsSchema,\n });\n\n const {\n tools: preparedTools,\n toolChoice: preparedToolChoice,\n toolWarnings,\n } = prepareResponsesTools({\n tools,\n toolChoice,\n });\n\n warnings.push(...toolWarnings);\n\n const baseArgs = {\n model: this.modelId,\n input,\n temperature,\n top_p: topP,\n max_output_tokens: maxOutputTokens,\n\n // HuggingFace Responses API uses text.format for structured output\n ...(responseFormat?.type === 'json' &&\n responseFormat.schema && {\n text: {\n format: {\n type: 'json_schema',\n strict: huggingfaceOptions?.strictJsonSchema ?? false,\n name: responseFormat.name ?? 'response',\n description: responseFormat.description,\n schema: responseFormat.schema,\n },\n },\n }),\n\n metadata: huggingfaceOptions?.metadata,\n instructions: huggingfaceOptions?.instructions,\n\n ...(preparedTools && { tools: preparedTools }),\n ...(preparedToolChoice && { tool_choice: preparedToolChoice }),\n ...(huggingfaceOptions?.reasoningEffort != null && {\n reasoning: {\n ...(huggingfaceOptions?.reasoningEffort != null && {\n effort: huggingfaceOptions.reasoningEffort,\n }),\n },\n }),\n };\n\n return { args: baseArgs, warnings };\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: false,\n };\n\n const url = this.config.url({\n path: '/responses',\n modelId: this.modelId,\n });\n\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n huggingfaceResponsesResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n if (response.error) {\n throw new APICallError({\n message: response.error.message,\n url,\n requestBodyValues: body,\n statusCode: 400,\n responseHeaders,\n responseBody: rawResponse as string,\n isRetryable: false,\n });\n }\n\n const content: Array<LanguageModelV3Content> = [];\n\n // Process output array\n for (const part of response.output) {\n switch (part.type) {\n case 'message': {\n for (const contentPart of part.content) {\n content.push({\n type: 'text',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n\n if (contentPart.annotations) {\n for (const annotation of contentPart.annotations) {\n content.push({\n type: 'source',\n sourceType: 'url',\n id: this.config.generateId?.() ?? generateId(),\n url: annotation.url,\n title: annotation.title,\n });\n }\n }\n }\n break;\n }\n\n case 'reasoning': {\n for (const contentPart of part.content) {\n content.push({\n type: 'reasoning',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n }\n break;\n }\n\n case 'mcp_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: part.name,\n input: part.arguments,\n providerExecuted: true,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n case 'mcp_list_tools': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: 'list_tools',\n input: JSON.stringify({ server_label: part.server_label }),\n providerExecuted: true,\n });\n\n if (part.tools) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: 'list_tools',\n result: { tools: part.tools },\n });\n }\n break;\n }\n\n case 'function_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.call_id,\n toolName: part.name,\n input: part.arguments,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.call_id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n return {\n content,\n finishReason: mapHuggingFaceResponsesFinishReason(\n response.incomplete_details?.reason ?? 'stop',\n ),\n usage: {\n inputTokens: response.usage?.input_tokens ?? 0,\n outputTokens: response.usage?.output_tokens ?? 0,\n totalTokens:\n response.usage?.total_tokens ??\n (response.usage?.input_tokens ?? 0) +\n (response.usage?.output_tokens ?? 0),\n },\n request: { body },\n response: {\n id: response.id,\n timestamp: new Date(response.created_at * 1000),\n modelId: response.model,\n headers: responseHeaders,\n body: rawResponse,\n },\n providerMetadata: {\n huggingface: {\n responseId: response.id,\n },\n },\n warnings,\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV3['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: true,\n };\n\n const { value: response, responseHeaders } = await postJsonToApi({\n url: this.config.url({\n path: '/responses',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n huggingfaceResponsesChunkSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n let finishReason: LanguageModelV3FinishReason = 'unknown';\n let responseId: string | null = null;\n const usage: LanguageModelV3Usage = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n };\n\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof huggingfaceResponsesChunkSchema>>,\n LanguageModelV3StreamPart\n >({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings });\n },\n\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n if (isResponseCreatedChunk(value)) {\n responseId = value.response.id;\n controller.enqueue({\n type: 'response-metadata',\n id: value.response.id,\n timestamp: new Date(value.response.created_at * 1000),\n modelId: value.response.model,\n });\n return;\n }\n\n if (isResponseOutputItemAddedChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-start',\n id: value.item.call_id,\n toolName: value.item.name,\n });\n } else if (value.item.type === 'reasoning') {\n controller.enqueue({\n type: 'reasoning-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n }\n return;\n }\n\n if (isResponseOutputItemDoneChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-end',\n id: value.item.id,\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-end',\n id: value.item.call_id,\n });\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n input: value.item.arguments,\n });\n\n if (value.item.output) {\n controller.enqueue({\n type: 'tool-result',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n result: value.item.output,\n });\n }\n }\n return;\n }\n\n if (isResponseCompletedChunk(value)) {\n responseId = value.response.id;\n finishReason = mapHuggingFaceResponsesFinishReason(\n value.response.incomplete_details?.reason ?? 'stop',\n );\n if (value.response.usage) {\n usage.inputTokens = value.response.usage.input_tokens;\n usage.outputTokens = value.response.usage.output_tokens;\n usage.totalTokens =\n value.response.usage.total_tokens ??\n value.response.usage.input_tokens +\n value.response.usage.output_tokens;\n }\n return;\n }\n\n if (isReasoningDeltaChunk(value)) {\n controller.enqueue({\n type: 'reasoning-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n\n if (isReasoningEndChunk(value)) {\n controller.enqueue({\n type: 'reasoning-end',\n id: value.item_id,\n });\n return;\n }\n\n if (isTextDeltaChunk(value)) {\n controller.enqueue({\n type: 'text-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n },\n\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage,\n providerMetadata: {\n huggingface: {\n responseId,\n },\n },\n });\n },\n }),\n ),\n request: { body },\n response: { headers: responseHeaders },\n };\n }\n}\n\nconst huggingfaceResponsesProviderOptionsSchema = z.object({\n metadata: z.record(z.string(), z.string()).optional(),\n instructions: z.string().optional(),\n strictJsonSchema: z.boolean().optional(),\n reasoningEffort: z.string().optional(),\n});\n\nconst huggingfaceResponsesOutputSchema = z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(\n z.object({\n type: z.literal('output_text'),\n text: z.string(),\n annotations: z.array(z.any()).optional(),\n }),\n ),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(\n z.object({\n type: z.literal('reasoning_text'),\n text: z.string(),\n }),\n ),\n summary: z\n .array(\n z\n .object({\n type: z.literal('reasoning_summary'),\n text: z.string(),\n })\n .optional(),\n )\n .optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n status: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n status: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n status: z.string().optional(),\n }),\n]);\n\nconst huggingfaceResponsesResponseSchema = z.object({\n id: z.string(),\n model: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n error: z.any().nullable(),\n instructions: z.any().nullable(),\n max_output_tokens: z.any().nullable(),\n metadata: z.any().nullable(),\n tool_choice: z.any(),\n tools: z.array(z.any()),\n temperature: z.number(),\n top_p: z.number(),\n incomplete_details: z\n .object({\n reason: z.string(),\n })\n .nullable()\n .optional(),\n usage: z\n .object({\n input_tokens: z.number(),\n input_tokens_details: z\n .object({\n cached_tokens: z.number(),\n })\n .optional(),\n output_tokens: z.number(),\n output_tokens_details: z\n .object({\n reasoning_tokens: z.number(),\n })\n .optional(),\n total_tokens: z.number(),\n })\n .nullable()\n .optional(),\n output: z.array(huggingfaceResponsesOutputSchema),\n output_text: z.string().nullable().optional(),\n});\n\nconst responseOutputItemAddedSchema = z.object({\n type: z.literal('response.output_item.added'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n summary: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst responseOutputItemDoneSchema = z.object({\n type: z.literal('response.output_item.done'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n summary: z.array(z.any()).optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst textDeltaChunkSchema = z.object({\n type: z.literal('response.output_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst reasoningTextDeltaChunkSchema = z.object({\n type: z.literal('response.reasoning_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst reasoningTextEndChunkSchema = z.object({\n type: z.literal('response.reasoning_text.done'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n text: z.string(),\n sequence_number: z.number(),\n});\n\nconst responseCompletedChunkSchema = z.object({\n type: z.literal('response.completed'),\n response: huggingfaceResponsesResponseSchema,\n sequence_number: z.number(),\n});\n\nconst responseCreatedChunkSchema = z.object({\n type: z.literal('response.created'),\n response: z.object({\n id: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n model: z.string(),\n }),\n});\n\nconst huggingfaceResponsesChunkSchema = z.union([\n responseOutputItemAddedSchema,\n responseOutputItemDoneSchema,\n reasoningTextDeltaChunkSchema,\n reasoningTextEndChunkSchema,\n textDeltaChunkSchema,\n responseCompletedChunkSchema,\n responseCreatedChunkSchema,\n z.object({ type: z.string() }).loose(), // fallback for unknown chunks\n]);\n\nfunction isResponseOutputItemAddedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemAddedSchema> {\n return chunk.type === 'response.output_item.added';\n}\n\nfunction isResponseOutputItemDoneChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemDoneSchema> {\n return chunk.type === 'response.output_item.done';\n}\n\nfunction isTextDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof textDeltaChunkSchema> {\n return chunk.type === 'response.output_text.delta';\n}\n\nfunction isReasoningDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof reasoningTextDeltaChunkSchema> {\n return chunk.type === 'response.reasoning_text.delta';\n}\n\nfunction isReasoningEndChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof reasoningTextEndChunkSchema> {\n return chunk.type === 'response.reasoning_text.done';\n}\n\nfunction isResponseCompletedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCompletedChunkSchema> {\n return chunk.type === 'response.completed';\n}\n\nfunction isResponseCreatedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCreatedChunkSchema> {\n return chunk.type === 'response.created';\n}\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst huggingfaceErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string().optional(),\n code: z.string().optional(),\n }),\n});\n\nexport type HuggingFaceErrorData = z.infer<typeof huggingfaceErrorDataSchema>;\n\nexport const huggingfaceFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: huggingfaceErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import {\n LanguageModelV3CallWarning,\n LanguageModelV3Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\n\nexport async function convertToHuggingFaceResponsesMessages({\n prompt,\n}: {\n prompt: LanguageModelV3Prompt;\n}): Promise<{\n input: string | Array<any>;\n warnings: Array<LanguageModelV3CallWarning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<LanguageModelV3CallWarning> = [];\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n messages.push({ role: 'system', content });\n break;\n }\n\n case 'user': {\n messages.push({\n role: 'user',\n content: content.map(part => {\n switch (part.type) {\n case 'text': {\n return { type: 'input_text', text: part.text };\n }\n case 'file': {\n if (part.mediaType.startsWith('image/')) {\n const mediaType =\n part.mediaType === 'image/*'\n ? 'image/jpeg'\n : part.mediaType;\n\n return {\n type: 'input_image',\n image_url:\n part.data instanceof URL\n ? part.data.toString()\n : `data:${mediaType};base64,${part.data}`,\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: `file part media type ${part.mediaType}`,\n });\n }\n }\n default: {\n const _exhaustiveCheck: never = part;\n throw new Error(`Unsupported part type: ${_exhaustiveCheck}`);\n }\n }\n }),\n });\n\n break;\n }\n\n case 'assistant': {\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n case 'tool-call': {\n // tool calls are handled by the responses API\n break;\n }\n\n case 'tool-result': {\n // tool results are handled by the responses API\n break;\n }\n\n case 'reasoning': {\n // include reasoning content in the message text\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n }\n }\n\n break;\n }\n\n case 'tool': {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'tool messages',\n });\n break;\n }\n\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return { input: messages, warnings };\n}\n","import { LanguageModelV3FinishReason } from '@ai-sdk/provider';\n\nexport function mapHuggingFaceResponsesFinishReason(\n finishReason: string | null | undefined,\n): LanguageModelV3FinishReason {\n switch (finishReason) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'content_filter':\n return 'content-filter';\n case 'tool_calls':\n return 'tool-calls';\n case 'error':\n return 'error';\n default:\n return 'unknown';\n }\n}\n","import {\n LanguageModelV3CallOptions,\n LanguageModelV3CallWarning,\n} from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesTool = {\n type: 'function';\n name: string;\n description?: string;\n parameters: unknown;\n};\n\nexport type HuggingFaceResponsesToolChoice =\n | 'auto'\n | 'required'\n | { type: 'function'; function: { name: string } };\n\nexport function prepareResponsesTools({\n tools,\n toolChoice,\n}: {\n tools: LanguageModelV3CallOptions['tools'];\n toolChoice?: LanguageModelV3CallOptions['toolChoice'];\n}): {\n tools?: HuggingFaceResponsesTool[];\n toolChoice?: HuggingFaceResponsesToolChoice;\n toolWarnings: LanguageModelV3CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n tools = tools?.length ? tools : undefined;\n\n const toolWarnings: LanguageModelV3CallWarning[] = [];\n\n if (tools == null) {\n return { tools: undefined, toolChoice: undefined, toolWarnings };\n }\n\n const huggingfaceTools: HuggingFaceResponsesTool[] = [];\n\n for (const tool of tools) {\n switch (tool.type) {\n case 'function':\n huggingfaceTools.push({\n type: 'function',\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n });\n break;\n case 'provider-defined':\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n });\n break;\n default: {\n const _exhaustiveCheck: never = tool;\n throw new Error(`Unsupported tool type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n // prepare tool choice:\n let mappedToolChoice: HuggingFaceResponsesToolChoice | undefined = undefined;\n if (toolChoice) {\n switch (toolChoice.type) {\n case 'auto':\n mappedToolChoice = 'auto';\n break;\n case 'required':\n mappedToolChoice = 'required';\n break;\n case 'none':\n // not supported, ignore\n break;\n case 'tool':\n mappedToolChoice = {\n type: 'function',\n function: { name: toolChoice.toolName },\n };\n break;\n default: {\n const _exhaustiveCheck: never = toolChoice;\n throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return {\n tools: huggingfaceTools,\n toolChoice: mappedToolChoice,\n toolWarnings,\n };\n}\n"],"mappings":"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","names":["import_provider","import_provider_utils","import_provider","import_provider_utils","import_v4","_a"]}
|
package/dist/index.mjs
CHANGED
|
@@ -296,7 +296,14 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
296
296
|
metadata: huggingfaceOptions == null ? void 0 : huggingfaceOptions.metadata,
|
|
297
297
|
instructions: huggingfaceOptions == null ? void 0 : huggingfaceOptions.instructions,
|
|
298
298
|
...preparedTools && { tools: preparedTools },
|
|
299
|
-
...preparedToolChoice && { tool_choice: preparedToolChoice }
|
|
299
|
+
...preparedToolChoice && { tool_choice: preparedToolChoice },
|
|
300
|
+
...(huggingfaceOptions == null ? void 0 : huggingfaceOptions.reasoningEffort) != null && {
|
|
301
|
+
reasoning: {
|
|
302
|
+
...(huggingfaceOptions == null ? void 0 : huggingfaceOptions.reasoningEffort) != null && {
|
|
303
|
+
effort: huggingfaceOptions.reasoningEffort
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
300
307
|
};
|
|
301
308
|
return { args: baseArgs, warnings };
|
|
302
309
|
}
|
|
@@ -365,6 +372,20 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
365
372
|
}
|
|
366
373
|
break;
|
|
367
374
|
}
|
|
375
|
+
case "reasoning": {
|
|
376
|
+
for (const contentPart of part.content) {
|
|
377
|
+
content.push({
|
|
378
|
+
type: "reasoning",
|
|
379
|
+
text: contentPart.text,
|
|
380
|
+
providerMetadata: {
|
|
381
|
+
huggingface: {
|
|
382
|
+
itemId: part.id
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
break;
|
|
388
|
+
}
|
|
368
389
|
case "mcp_call": {
|
|
369
390
|
content.push({
|
|
370
391
|
type: "tool-call",
|
|
@@ -378,8 +399,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
378
399
|
type: "tool-result",
|
|
379
400
|
toolCallId: part.id,
|
|
380
401
|
toolName: part.name,
|
|
381
|
-
result: part.output
|
|
382
|
-
providerExecuted: true
|
|
402
|
+
result: part.output
|
|
383
403
|
});
|
|
384
404
|
}
|
|
385
405
|
break;
|
|
@@ -397,8 +417,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
397
417
|
type: "tool-result",
|
|
398
418
|
toolCallId: part.id,
|
|
399
419
|
toolName: "list_tools",
|
|
400
|
-
result: { tools: part.tools }
|
|
401
|
-
providerExecuted: true
|
|
420
|
+
result: { tools: part.tools }
|
|
402
421
|
});
|
|
403
422
|
}
|
|
404
423
|
break;
|
|
@@ -519,6 +538,16 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
519
538
|
id: value.item.call_id,
|
|
520
539
|
toolName: value.item.name
|
|
521
540
|
});
|
|
541
|
+
} else if (value.item.type === "reasoning") {
|
|
542
|
+
controller.enqueue({
|
|
543
|
+
type: "reasoning-start",
|
|
544
|
+
id: value.item.id,
|
|
545
|
+
providerMetadata: {
|
|
546
|
+
huggingface: {
|
|
547
|
+
itemId: value.item.id
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
});
|
|
522
551
|
}
|
|
523
552
|
return;
|
|
524
553
|
}
|
|
@@ -562,6 +591,21 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
562
591
|
}
|
|
563
592
|
return;
|
|
564
593
|
}
|
|
594
|
+
if (isReasoningDeltaChunk(value)) {
|
|
595
|
+
controller.enqueue({
|
|
596
|
+
type: "reasoning-delta",
|
|
597
|
+
id: value.item_id,
|
|
598
|
+
delta: value.delta
|
|
599
|
+
});
|
|
600
|
+
return;
|
|
601
|
+
}
|
|
602
|
+
if (isReasoningEndChunk(value)) {
|
|
603
|
+
controller.enqueue({
|
|
604
|
+
type: "reasoning-end",
|
|
605
|
+
id: value.item_id
|
|
606
|
+
});
|
|
607
|
+
return;
|
|
608
|
+
}
|
|
565
609
|
if (isTextDeltaChunk(value)) {
|
|
566
610
|
controller.enqueue({
|
|
567
611
|
type: "text-delta",
|
|
@@ -593,8 +637,65 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
593
637
|
var huggingfaceResponsesProviderOptionsSchema = z2.object({
|
|
594
638
|
metadata: z2.record(z2.string(), z2.string()).optional(),
|
|
595
639
|
instructions: z2.string().optional(),
|
|
596
|
-
strictJsonSchema: z2.boolean().optional()
|
|
640
|
+
strictJsonSchema: z2.boolean().optional(),
|
|
641
|
+
reasoningEffort: z2.string().optional()
|
|
597
642
|
});
|
|
643
|
+
var huggingfaceResponsesOutputSchema = z2.discriminatedUnion("type", [
|
|
644
|
+
z2.object({
|
|
645
|
+
type: z2.literal("message"),
|
|
646
|
+
id: z2.string(),
|
|
647
|
+
role: z2.string().optional(),
|
|
648
|
+
status: z2.string().optional(),
|
|
649
|
+
content: z2.array(
|
|
650
|
+
z2.object({
|
|
651
|
+
type: z2.literal("output_text"),
|
|
652
|
+
text: z2.string(),
|
|
653
|
+
annotations: z2.array(z2.any()).optional()
|
|
654
|
+
})
|
|
655
|
+
)
|
|
656
|
+
}),
|
|
657
|
+
z2.object({
|
|
658
|
+
type: z2.literal("reasoning"),
|
|
659
|
+
id: z2.string(),
|
|
660
|
+
status: z2.string().optional(),
|
|
661
|
+
content: z2.array(
|
|
662
|
+
z2.object({
|
|
663
|
+
type: z2.literal("reasoning_text"),
|
|
664
|
+
text: z2.string()
|
|
665
|
+
})
|
|
666
|
+
),
|
|
667
|
+
summary: z2.array(
|
|
668
|
+
z2.object({
|
|
669
|
+
type: z2.literal("reasoning_summary"),
|
|
670
|
+
text: z2.string()
|
|
671
|
+
}).optional()
|
|
672
|
+
).optional()
|
|
673
|
+
}),
|
|
674
|
+
z2.object({
|
|
675
|
+
type: z2.literal("function_call"),
|
|
676
|
+
id: z2.string(),
|
|
677
|
+
call_id: z2.string(),
|
|
678
|
+
name: z2.string(),
|
|
679
|
+
arguments: z2.string(),
|
|
680
|
+
output: z2.string().optional(),
|
|
681
|
+
status: z2.string().optional()
|
|
682
|
+
}),
|
|
683
|
+
z2.object({
|
|
684
|
+
type: z2.literal("mcp_call"),
|
|
685
|
+
id: z2.string(),
|
|
686
|
+
name: z2.string(),
|
|
687
|
+
arguments: z2.string(),
|
|
688
|
+
output: z2.string().optional(),
|
|
689
|
+
status: z2.string().optional()
|
|
690
|
+
}),
|
|
691
|
+
z2.object({
|
|
692
|
+
type: z2.literal("mcp_list_tools"),
|
|
693
|
+
id: z2.string(),
|
|
694
|
+
server_label: z2.string(),
|
|
695
|
+
tools: z2.array(z2.any()).optional(),
|
|
696
|
+
status: z2.string().optional()
|
|
697
|
+
})
|
|
698
|
+
]);
|
|
598
699
|
var huggingfaceResponsesResponseSchema = z2.object({
|
|
599
700
|
id: z2.string(),
|
|
600
701
|
model: z2.string(),
|
|
@@ -623,7 +724,7 @@ var huggingfaceResponsesResponseSchema = z2.object({
|
|
|
623
724
|
}).optional(),
|
|
624
725
|
total_tokens: z2.number()
|
|
625
726
|
}).nullable().optional(),
|
|
626
|
-
output: z2.array(
|
|
727
|
+
output: z2.array(huggingfaceResponsesOutputSchema),
|
|
627
728
|
output_text: z2.string().nullable().optional()
|
|
628
729
|
});
|
|
629
730
|
var responseOutputItemAddedSchema = z2.object({
|
|
@@ -637,6 +738,13 @@ var responseOutputItemAddedSchema = z2.object({
|
|
|
637
738
|
status: z2.string().optional(),
|
|
638
739
|
content: z2.array(z2.any()).optional()
|
|
639
740
|
}),
|
|
741
|
+
z2.object({
|
|
742
|
+
type: z2.literal("reasoning"),
|
|
743
|
+
id: z2.string(),
|
|
744
|
+
status: z2.string().optional(),
|
|
745
|
+
content: z2.array(z2.any()).optional(),
|
|
746
|
+
summary: z2.array(z2.any()).optional()
|
|
747
|
+
}),
|
|
640
748
|
z2.object({
|
|
641
749
|
type: z2.literal("mcp_list_tools"),
|
|
642
750
|
id: z2.string(),
|
|
@@ -700,6 +808,13 @@ var responseOutputItemDoneSchema = z2.object({
|
|
|
700
808
|
arguments: z2.string(),
|
|
701
809
|
output: z2.string().optional(),
|
|
702
810
|
error: z2.string().optional()
|
|
811
|
+
}),
|
|
812
|
+
z2.object({
|
|
813
|
+
type: z2.literal("reasoning"),
|
|
814
|
+
id: z2.string(),
|
|
815
|
+
status: z2.string().optional(),
|
|
816
|
+
content: z2.array(z2.any()).optional(),
|
|
817
|
+
summary: z2.array(z2.any()).optional()
|
|
703
818
|
})
|
|
704
819
|
]),
|
|
705
820
|
sequence_number: z2.number()
|
|
@@ -712,6 +827,22 @@ var textDeltaChunkSchema = z2.object({
|
|
|
712
827
|
delta: z2.string(),
|
|
713
828
|
sequence_number: z2.number()
|
|
714
829
|
});
|
|
830
|
+
var reasoningTextDeltaChunkSchema = z2.object({
|
|
831
|
+
type: z2.literal("response.reasoning_text.delta"),
|
|
832
|
+
item_id: z2.string(),
|
|
833
|
+
output_index: z2.number(),
|
|
834
|
+
content_index: z2.number(),
|
|
835
|
+
delta: z2.string(),
|
|
836
|
+
sequence_number: z2.number()
|
|
837
|
+
});
|
|
838
|
+
var reasoningTextEndChunkSchema = z2.object({
|
|
839
|
+
type: z2.literal("response.reasoning_text.done"),
|
|
840
|
+
item_id: z2.string(),
|
|
841
|
+
output_index: z2.number(),
|
|
842
|
+
content_index: z2.number(),
|
|
843
|
+
text: z2.string(),
|
|
844
|
+
sequence_number: z2.number()
|
|
845
|
+
});
|
|
715
846
|
var responseCompletedChunkSchema = z2.object({
|
|
716
847
|
type: z2.literal("response.completed"),
|
|
717
848
|
response: huggingfaceResponsesResponseSchema,
|
|
@@ -730,6 +861,8 @@ var responseCreatedChunkSchema = z2.object({
|
|
|
730
861
|
var huggingfaceResponsesChunkSchema = z2.union([
|
|
731
862
|
responseOutputItemAddedSchema,
|
|
732
863
|
responseOutputItemDoneSchema,
|
|
864
|
+
reasoningTextDeltaChunkSchema,
|
|
865
|
+
reasoningTextEndChunkSchema,
|
|
733
866
|
textDeltaChunkSchema,
|
|
734
867
|
responseCompletedChunkSchema,
|
|
735
868
|
responseCreatedChunkSchema,
|
|
@@ -745,6 +878,12 @@ function isResponseOutputItemDoneChunk(chunk) {
|
|
|
745
878
|
function isTextDeltaChunk(chunk) {
|
|
746
879
|
return chunk.type === "response.output_text.delta";
|
|
747
880
|
}
|
|
881
|
+
function isReasoningDeltaChunk(chunk) {
|
|
882
|
+
return chunk.type === "response.reasoning_text.delta";
|
|
883
|
+
}
|
|
884
|
+
function isReasoningEndChunk(chunk) {
|
|
885
|
+
return chunk.type === "response.reasoning_text.done";
|
|
886
|
+
}
|
|
748
887
|
function isResponseCompletedChunk(chunk) {
|
|
749
888
|
return chunk.type === "response.completed";
|
|
750
889
|
}
|
|
@@ -775,6 +914,7 @@ function createHuggingFace(options = {}) {
|
|
|
775
914
|
});
|
|
776
915
|
};
|
|
777
916
|
const provider = (modelId) => createResponsesModel(modelId);
|
|
917
|
+
provider.specificationVersion = "v3";
|
|
778
918
|
provider.languageModel = createResponsesModel;
|
|
779
919
|
provider.responses = createResponsesModel;
|
|
780
920
|
provider.textEmbeddingModel = (modelId) => {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/huggingface-provider.ts","../src/responses/huggingface-responses-language-model.ts","../src/huggingface-error.ts","../src/responses/convert-to-huggingface-responses-messages.ts","../src/responses/map-huggingface-responses-finish-reason.ts","../src/responses/huggingface-responses-prepare-tools.ts"],"sourcesContent":["import {\n LanguageModelV3,\n NoSuchModelError,\n ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { HuggingFaceResponsesLanguageModel } from './responses/huggingface-responses-language-model';\nimport { HuggingFaceResponsesModelId } from './responses/huggingface-responses-settings';\n\nexport interface HuggingFaceProviderSettings {\n /**\nHugging Face API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n\n generateId?: () => string;\n}\n\nexport interface HuggingFaceProvider extends ProviderV3 {\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n (modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n languageModel(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n responses(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n}\n\n/**\nCreate a Hugging Face provider instance.\n */\nexport function createHuggingFace(\n options: HuggingFaceProviderSettings = {},\n): HuggingFaceProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://router.huggingface.co/v1';\n\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'HUGGINGFACE_API_KEY',\n description: 'Hugging Face',\n })}`,\n ...options.headers,\n });\n\n const createResponsesModel = (modelId: HuggingFaceResponsesModelId) => {\n return new HuggingFaceResponsesLanguageModel(modelId, {\n provider: 'huggingface.responses',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId ?? generateId,\n });\n };\n\n const provider = (modelId: HuggingFaceResponsesModelId) =>\n createResponsesModel(modelId);\n\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'textEmbeddingModel',\n message:\n 'Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.',\n });\n };\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'imageModel',\n message:\n 'Hugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.',\n });\n };\n\n return provider;\n}\n\n/**\nDefault Hugging Face provider instance.\n */\nexport const huggingface = createHuggingFace();\n","import {\n APICallError,\n LanguageModelV3,\n LanguageModelV3CallWarning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\n LanguageModelV3Usage,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n parseProviderOptions,\n ParseResult,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { HuggingFaceConfig } from '../huggingface-config';\nimport { huggingfaceFailedResponseHandler } from '../huggingface-error';\nimport { convertToHuggingFaceResponsesMessages } from './convert-to-huggingface-responses-messages';\nimport { mapHuggingFaceResponsesFinishReason } from './map-huggingface-responses-finish-reason';\nimport { HuggingFaceResponsesModelId } from './huggingface-responses-settings';\nimport { prepareResponsesTools } from './huggingface-responses-prepare-tools';\n\nexport class HuggingFaceResponsesLanguageModel implements LanguageModelV3 {\n readonly specificationVersion = 'v3';\n\n readonly modelId: HuggingFaceResponsesModelId;\n\n private readonly config: HuggingFaceConfig;\n\n constructor(modelId: HuggingFaceResponsesModelId, config: HuggingFaceConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n readonly supportedUrls: Record<string, RegExp[]> = {\n 'image/*': [/^https?:\\/\\/.*$/],\n };\n\n get provider(): string {\n return this.config.provider;\n }\n\n private async getArgs({\n maxOutputTokens,\n temperature,\n stopSequences,\n topP,\n topK,\n presencePenalty,\n frequencyPenalty,\n seed,\n prompt,\n providerOptions,\n tools,\n toolChoice,\n responseFormat,\n }: Parameters<LanguageModelV3['doGenerate']>[0]) {\n const warnings: LanguageModelV3CallWarning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'presencePenalty',\n });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'frequencyPenalty',\n });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'stopSequences' });\n }\n\n const { input, warnings: messageWarnings } =\n await convertToHuggingFaceResponsesMessages({\n prompt,\n });\n\n warnings.push(...messageWarnings);\n\n const huggingfaceOptions = await parseProviderOptions({\n provider: 'huggingface',\n providerOptions,\n schema: huggingfaceResponsesProviderOptionsSchema,\n });\n\n const {\n tools: preparedTools,\n toolChoice: preparedToolChoice,\n toolWarnings,\n } = prepareResponsesTools({\n tools,\n toolChoice,\n });\n\n warnings.push(...toolWarnings);\n\n const baseArgs = {\n model: this.modelId,\n input,\n temperature,\n top_p: topP,\n max_output_tokens: maxOutputTokens,\n\n // HuggingFace Responses API uses text.format for structured output\n ...(responseFormat?.type === 'json' &&\n responseFormat.schema && {\n text: {\n format: {\n type: 'json_schema',\n strict: huggingfaceOptions?.strictJsonSchema ?? false,\n name: responseFormat.name ?? 'response',\n description: responseFormat.description,\n schema: responseFormat.schema,\n },\n },\n }),\n\n metadata: huggingfaceOptions?.metadata,\n instructions: huggingfaceOptions?.instructions,\n\n ...(preparedTools && { tools: preparedTools }),\n ...(preparedToolChoice && { tool_choice: preparedToolChoice }),\n };\n\n return { args: baseArgs, warnings };\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: false,\n };\n\n const url = this.config.url({\n path: '/responses',\n modelId: this.modelId,\n });\n\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n huggingfaceResponsesResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n if (response.error) {\n throw new APICallError({\n message: response.error.message,\n url,\n requestBodyValues: body,\n statusCode: 400,\n responseHeaders,\n responseBody: rawResponse as string,\n isRetryable: false,\n });\n }\n\n const content: Array<LanguageModelV3Content> = [];\n\n // Process output array\n for (const part of response.output) {\n switch (part.type) {\n case 'message': {\n for (const contentPart of part.content) {\n content.push({\n type: 'text',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n\n if (contentPart.annotations) {\n for (const annotation of contentPart.annotations) {\n content.push({\n type: 'source',\n sourceType: 'url',\n id: this.config.generateId?.() ?? generateId(),\n url: annotation.url,\n title: annotation.title,\n });\n }\n }\n }\n break;\n }\n\n case 'mcp_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: part.name,\n input: part.arguments,\n providerExecuted: true,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: part.name,\n result: part.output,\n providerExecuted: true,\n });\n }\n break;\n }\n\n case 'mcp_list_tools': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: 'list_tools',\n input: JSON.stringify({ server_label: part.server_label }),\n providerExecuted: true,\n });\n\n if (part.tools) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: 'list_tools',\n result: { tools: part.tools },\n providerExecuted: true,\n });\n }\n break;\n }\n\n case 'function_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.call_id,\n toolName: part.name,\n input: part.arguments,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.call_id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n return {\n content,\n finishReason: mapHuggingFaceResponsesFinishReason(\n response.incomplete_details?.reason ?? 'stop',\n ),\n usage: {\n inputTokens: response.usage?.input_tokens ?? 0,\n outputTokens: response.usage?.output_tokens ?? 0,\n totalTokens:\n response.usage?.total_tokens ??\n (response.usage?.input_tokens ?? 0) +\n (response.usage?.output_tokens ?? 0),\n },\n request: { body },\n response: {\n id: response.id,\n timestamp: new Date(response.created_at * 1000),\n modelId: response.model,\n headers: responseHeaders,\n body: rawResponse,\n },\n providerMetadata: {\n huggingface: {\n responseId: response.id,\n },\n },\n warnings,\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV3['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: true,\n };\n\n const { value: response, responseHeaders } = await postJsonToApi({\n url: this.config.url({\n path: '/responses',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n huggingfaceResponsesChunkSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n let finishReason: LanguageModelV3FinishReason = 'unknown';\n let responseId: string | null = null;\n const usage: LanguageModelV3Usage = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n };\n\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof huggingfaceResponsesChunkSchema>>,\n LanguageModelV3StreamPart\n >({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings });\n },\n\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n if (isResponseCreatedChunk(value)) {\n responseId = value.response.id;\n controller.enqueue({\n type: 'response-metadata',\n id: value.response.id,\n timestamp: new Date(value.response.created_at * 1000),\n modelId: value.response.model,\n });\n return;\n }\n\n if (isResponseOutputItemAddedChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-start',\n id: value.item.call_id,\n toolName: value.item.name,\n });\n }\n return;\n }\n\n if (isResponseOutputItemDoneChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-end',\n id: value.item.id,\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-end',\n id: value.item.call_id,\n });\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n input: value.item.arguments,\n });\n\n if (value.item.output) {\n controller.enqueue({\n type: 'tool-result',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n result: value.item.output,\n });\n }\n }\n return;\n }\n\n if (isResponseCompletedChunk(value)) {\n responseId = value.response.id;\n finishReason = mapHuggingFaceResponsesFinishReason(\n value.response.incomplete_details?.reason ?? 'stop',\n );\n if (value.response.usage) {\n usage.inputTokens = value.response.usage.input_tokens;\n usage.outputTokens = value.response.usage.output_tokens;\n usage.totalTokens =\n value.response.usage.total_tokens ??\n value.response.usage.input_tokens +\n value.response.usage.output_tokens;\n }\n return;\n }\n\n if (isTextDeltaChunk(value)) {\n controller.enqueue({\n type: 'text-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n },\n\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage,\n providerMetadata: {\n huggingface: {\n responseId,\n },\n },\n });\n },\n }),\n ),\n request: { body },\n response: { headers: responseHeaders },\n };\n }\n}\n\nconst huggingfaceResponsesProviderOptionsSchema = z.object({\n metadata: z.record(z.string(), z.string()).optional(),\n instructions: z.string().optional(),\n strictJsonSchema: z.boolean().optional(),\n});\n\nconst huggingfaceResponsesResponseSchema = z.object({\n id: z.string(),\n model: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n error: z.any().nullable(),\n instructions: z.any().nullable(),\n max_output_tokens: z.any().nullable(),\n metadata: z.any().nullable(),\n tool_choice: z.any(),\n tools: z.array(z.any()),\n temperature: z.number(),\n top_p: z.number(),\n incomplete_details: z\n .object({\n reason: z.string(),\n })\n .nullable()\n .optional(),\n usage: z\n .object({\n input_tokens: z.number(),\n input_tokens_details: z\n .object({\n cached_tokens: z.number(),\n })\n .optional(),\n output_tokens: z.number(),\n output_tokens_details: z\n .object({\n reasoning_tokens: z.number(),\n })\n .optional(),\n total_tokens: z.number(),\n })\n .nullable()\n .optional(),\n output: z.array(z.any()),\n output_text: z.string().nullable().optional(),\n});\n\nconst responseOutputItemAddedSchema = z.object({\n type: z.literal('response.output_item.added'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst responseOutputItemDoneSchema = z.object({\n type: z.literal('response.output_item.done'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst textDeltaChunkSchema = z.object({\n type: z.literal('response.output_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst responseCompletedChunkSchema = z.object({\n type: z.literal('response.completed'),\n response: huggingfaceResponsesResponseSchema,\n sequence_number: z.number(),\n});\n\nconst responseCreatedChunkSchema = z.object({\n type: z.literal('response.created'),\n response: z.object({\n id: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n model: z.string(),\n }),\n});\n\nconst huggingfaceResponsesChunkSchema = z.union([\n responseOutputItemAddedSchema,\n responseOutputItemDoneSchema,\n textDeltaChunkSchema,\n responseCompletedChunkSchema,\n responseCreatedChunkSchema,\n z.object({ type: z.string() }).loose(), // fallback for unknown chunks\n]);\n\nfunction isResponseOutputItemAddedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemAddedSchema> {\n return chunk.type === 'response.output_item.added';\n}\n\nfunction isResponseOutputItemDoneChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemDoneSchema> {\n return chunk.type === 'response.output_item.done';\n}\n\nfunction isTextDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof textDeltaChunkSchema> {\n return chunk.type === 'response.output_text.delta';\n}\n\nfunction isResponseCompletedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCompletedChunkSchema> {\n return chunk.type === 'response.completed';\n}\n\nfunction isResponseCreatedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCreatedChunkSchema> {\n return chunk.type === 'response.created';\n}\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst huggingfaceErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string().optional(),\n code: z.string().optional(),\n }),\n});\n\nexport type HuggingFaceErrorData = z.infer<typeof huggingfaceErrorDataSchema>;\n\nexport const huggingfaceFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: huggingfaceErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import {\n LanguageModelV3CallWarning,\n LanguageModelV3Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\n\nexport async function convertToHuggingFaceResponsesMessages({\n prompt,\n}: {\n prompt: LanguageModelV3Prompt;\n}): Promise<{\n input: string | Array<any>;\n warnings: Array<LanguageModelV3CallWarning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<LanguageModelV3CallWarning> = [];\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n messages.push({ role: 'system', content });\n break;\n }\n\n case 'user': {\n messages.push({\n role: 'user',\n content: content.map(part => {\n switch (part.type) {\n case 'text': {\n return { type: 'input_text', text: part.text };\n }\n case 'file': {\n if (part.mediaType.startsWith('image/')) {\n const mediaType =\n part.mediaType === 'image/*'\n ? 'image/jpeg'\n : part.mediaType;\n\n return {\n type: 'input_image',\n image_url:\n part.data instanceof URL\n ? part.data.toString()\n : `data:${mediaType};base64,${part.data}`,\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: `file part media type ${part.mediaType}`,\n });\n }\n }\n default: {\n const _exhaustiveCheck: never = part;\n throw new Error(`Unsupported part type: ${_exhaustiveCheck}`);\n }\n }\n }),\n });\n\n break;\n }\n\n case 'assistant': {\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n case 'tool-call': {\n // tool calls are handled by the responses API\n break;\n }\n\n case 'tool-result': {\n // tool results are handled by the responses API\n break;\n }\n\n case 'reasoning': {\n // include reasoning content in the message text\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n }\n }\n\n break;\n }\n\n case 'tool': {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'tool messages',\n });\n break;\n }\n\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return { input: messages, warnings };\n}\n","import { LanguageModelV3FinishReason } from '@ai-sdk/provider';\n\nexport function mapHuggingFaceResponsesFinishReason(\n finishReason: string | null | undefined,\n): LanguageModelV3FinishReason {\n switch (finishReason) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'content_filter':\n return 'content-filter';\n case 'tool_calls':\n return 'tool-calls';\n case 'error':\n return 'error';\n default:\n return 'unknown';\n }\n}\n","import {\n LanguageModelV3CallOptions,\n LanguageModelV3CallWarning,\n} from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesTool = {\n type: 'function';\n name: string;\n description?: string;\n parameters: unknown;\n};\n\nexport type HuggingFaceResponsesToolChoice =\n | 'auto'\n | 'required'\n | { type: 'function'; function: { name: string } };\n\nexport function prepareResponsesTools({\n tools,\n toolChoice,\n}: {\n tools: LanguageModelV3CallOptions['tools'];\n toolChoice?: LanguageModelV3CallOptions['toolChoice'];\n}): {\n tools?: HuggingFaceResponsesTool[];\n toolChoice?: HuggingFaceResponsesToolChoice;\n toolWarnings: LanguageModelV3CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n tools = tools?.length ? tools : undefined;\n\n const toolWarnings: LanguageModelV3CallWarning[] = [];\n\n if (tools == null) {\n return { tools: undefined, toolChoice: undefined, toolWarnings };\n }\n\n const huggingfaceTools: HuggingFaceResponsesTool[] = [];\n\n for (const tool of tools) {\n switch (tool.type) {\n case 'function':\n huggingfaceTools.push({\n type: 'function',\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n });\n break;\n case 'provider-defined':\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n });\n break;\n default: {\n const _exhaustiveCheck: never = tool;\n throw new Error(`Unsupported tool type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n // prepare tool choice:\n let mappedToolChoice: HuggingFaceResponsesToolChoice | undefined = undefined;\n if (toolChoice) {\n switch (toolChoice.type) {\n case 'auto':\n mappedToolChoice = 'auto';\n break;\n case 'required':\n mappedToolChoice = 'required';\n break;\n case 'none':\n // not supported, ignore\n break;\n case 'tool':\n mappedToolChoice = {\n type: 'function',\n function: { name: toolChoice.toolName },\n };\n break;\n default: {\n const _exhaustiveCheck: never = toolChoice;\n throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return {\n tools: huggingfaceTools,\n toolChoice: mappedToolChoice,\n toolWarnings,\n };\n}\n"],"mappings":"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","names":["generateId","z","z","_a","generateId"]}
|
|
1
|
+
{"version":3,"sources":["../src/huggingface-provider.ts","../src/responses/huggingface-responses-language-model.ts","../src/huggingface-error.ts","../src/responses/convert-to-huggingface-responses-messages.ts","../src/responses/map-huggingface-responses-finish-reason.ts","../src/responses/huggingface-responses-prepare-tools.ts"],"sourcesContent":["import {\n LanguageModelV3,\n NoSuchModelError,\n ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n generateId,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { HuggingFaceResponsesLanguageModel } from './responses/huggingface-responses-language-model';\nimport { HuggingFaceResponsesModelId } from './responses/huggingface-responses-settings';\n\nexport interface HuggingFaceProviderSettings {\n /**\nHugging Face API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n\n generateId?: () => string;\n}\n\nexport interface HuggingFaceProvider extends ProviderV3 {\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n (modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n languageModel(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n\n /**\nCreates a Hugging Face responses model for text generation.\n*/\n responses(modelId: HuggingFaceResponsesModelId): LanguageModelV3;\n}\n\n/**\nCreate a Hugging Face provider instance.\n */\nexport function createHuggingFace(\n options: HuggingFaceProviderSettings = {},\n): HuggingFaceProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://router.huggingface.co/v1';\n\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'HUGGINGFACE_API_KEY',\n description: 'Hugging Face',\n })}`,\n ...options.headers,\n });\n\n const createResponsesModel = (modelId: HuggingFaceResponsesModelId) => {\n return new HuggingFaceResponsesLanguageModel(modelId, {\n provider: 'huggingface.responses',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: options.generateId ?? generateId,\n });\n };\n\n const provider = (modelId: HuggingFaceResponsesModelId) =>\n createResponsesModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'textEmbeddingModel',\n message:\n 'Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.',\n });\n };\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'imageModel',\n message:\n 'Hugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.',\n });\n };\n\n return provider;\n}\n\n/**\nDefault Hugging Face provider instance.\n */\nexport const huggingface = createHuggingFace();\n","import {\n APICallError,\n LanguageModelV3,\n LanguageModelV3CallWarning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\n LanguageModelV3Usage,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n parseProviderOptions,\n ParseResult,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { HuggingFaceConfig } from '../huggingface-config';\nimport { huggingfaceFailedResponseHandler } from '../huggingface-error';\nimport { convertToHuggingFaceResponsesMessages } from './convert-to-huggingface-responses-messages';\nimport { mapHuggingFaceResponsesFinishReason } from './map-huggingface-responses-finish-reason';\nimport { HuggingFaceResponsesModelId } from './huggingface-responses-settings';\nimport { prepareResponsesTools } from './huggingface-responses-prepare-tools';\n\nexport class HuggingFaceResponsesLanguageModel implements LanguageModelV3 {\n readonly specificationVersion = 'v3';\n\n readonly modelId: HuggingFaceResponsesModelId;\n\n private readonly config: HuggingFaceConfig;\n\n constructor(modelId: HuggingFaceResponsesModelId, config: HuggingFaceConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n readonly supportedUrls: Record<string, RegExp[]> = {\n 'image/*': [/^https?:\\/\\/.*$/],\n };\n\n get provider(): string {\n return this.config.provider;\n }\n\n private async getArgs({\n maxOutputTokens,\n temperature,\n stopSequences,\n topP,\n topK,\n presencePenalty,\n frequencyPenalty,\n seed,\n prompt,\n providerOptions,\n tools,\n toolChoice,\n responseFormat,\n }: Parameters<LanguageModelV3['doGenerate']>[0]) {\n const warnings: LanguageModelV3CallWarning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'presencePenalty',\n });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'frequencyPenalty',\n });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported-setting', setting: 'stopSequences' });\n }\n\n const { input, warnings: messageWarnings } =\n await convertToHuggingFaceResponsesMessages({\n prompt,\n });\n\n warnings.push(...messageWarnings);\n\n const huggingfaceOptions = await parseProviderOptions({\n provider: 'huggingface',\n providerOptions,\n schema: huggingfaceResponsesProviderOptionsSchema,\n });\n\n const {\n tools: preparedTools,\n toolChoice: preparedToolChoice,\n toolWarnings,\n } = prepareResponsesTools({\n tools,\n toolChoice,\n });\n\n warnings.push(...toolWarnings);\n\n const baseArgs = {\n model: this.modelId,\n input,\n temperature,\n top_p: topP,\n max_output_tokens: maxOutputTokens,\n\n // HuggingFace Responses API uses text.format for structured output\n ...(responseFormat?.type === 'json' &&\n responseFormat.schema && {\n text: {\n format: {\n type: 'json_schema',\n strict: huggingfaceOptions?.strictJsonSchema ?? false,\n name: responseFormat.name ?? 'response',\n description: responseFormat.description,\n schema: responseFormat.schema,\n },\n },\n }),\n\n metadata: huggingfaceOptions?.metadata,\n instructions: huggingfaceOptions?.instructions,\n\n ...(preparedTools && { tools: preparedTools }),\n ...(preparedToolChoice && { tool_choice: preparedToolChoice }),\n ...(huggingfaceOptions?.reasoningEffort != null && {\n reasoning: {\n ...(huggingfaceOptions?.reasoningEffort != null && {\n effort: huggingfaceOptions.reasoningEffort,\n }),\n },\n }),\n };\n\n return { args: baseArgs, warnings };\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: false,\n };\n\n const url = this.config.url({\n path: '/responses',\n modelId: this.modelId,\n });\n\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url,\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n huggingfaceResponsesResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n if (response.error) {\n throw new APICallError({\n message: response.error.message,\n url,\n requestBodyValues: body,\n statusCode: 400,\n responseHeaders,\n responseBody: rawResponse as string,\n isRetryable: false,\n });\n }\n\n const content: Array<LanguageModelV3Content> = [];\n\n // Process output array\n for (const part of response.output) {\n switch (part.type) {\n case 'message': {\n for (const contentPart of part.content) {\n content.push({\n type: 'text',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n\n if (contentPart.annotations) {\n for (const annotation of contentPart.annotations) {\n content.push({\n type: 'source',\n sourceType: 'url',\n id: this.config.generateId?.() ?? generateId(),\n url: annotation.url,\n title: annotation.title,\n });\n }\n }\n }\n break;\n }\n\n case 'reasoning': {\n for (const contentPart of part.content) {\n content.push({\n type: 'reasoning',\n text: contentPart.text,\n providerMetadata: {\n huggingface: {\n itemId: part.id,\n },\n },\n });\n }\n break;\n }\n\n case 'mcp_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: part.name,\n input: part.arguments,\n providerExecuted: true,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n case 'mcp_list_tools': {\n content.push({\n type: 'tool-call',\n toolCallId: part.id,\n toolName: 'list_tools',\n input: JSON.stringify({ server_label: part.server_label }),\n providerExecuted: true,\n });\n\n if (part.tools) {\n content.push({\n type: 'tool-result',\n toolCallId: part.id,\n toolName: 'list_tools',\n result: { tools: part.tools },\n });\n }\n break;\n }\n\n case 'function_call': {\n content.push({\n type: 'tool-call',\n toolCallId: part.call_id,\n toolName: part.name,\n input: part.arguments,\n });\n\n if (part.output) {\n content.push({\n type: 'tool-result',\n toolCallId: part.call_id,\n toolName: part.name,\n result: part.output,\n });\n }\n break;\n }\n\n default: {\n break;\n }\n }\n }\n\n return {\n content,\n finishReason: mapHuggingFaceResponsesFinishReason(\n response.incomplete_details?.reason ?? 'stop',\n ),\n usage: {\n inputTokens: response.usage?.input_tokens ?? 0,\n outputTokens: response.usage?.output_tokens ?? 0,\n totalTokens:\n response.usage?.total_tokens ??\n (response.usage?.input_tokens ?? 0) +\n (response.usage?.output_tokens ?? 0),\n },\n request: { body },\n response: {\n id: response.id,\n timestamp: new Date(response.created_at * 1000),\n modelId: response.model,\n headers: responseHeaders,\n body: rawResponse,\n },\n providerMetadata: {\n huggingface: {\n responseId: response.id,\n },\n },\n warnings,\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV3['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>> {\n const { args, warnings } = await this.getArgs(options);\n\n const body = {\n ...args,\n stream: true,\n };\n\n const { value: response, responseHeaders } = await postJsonToApi({\n url: this.config.url({\n path: '/responses',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: huggingfaceFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n huggingfaceResponsesChunkSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n let finishReason: LanguageModelV3FinishReason = 'unknown';\n let responseId: string | null = null;\n const usage: LanguageModelV3Usage = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n };\n\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof huggingfaceResponsesChunkSchema>>,\n LanguageModelV3StreamPart\n >({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings });\n },\n\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n if (isResponseCreatedChunk(value)) {\n responseId = value.response.id;\n controller.enqueue({\n type: 'response-metadata',\n id: value.response.id,\n timestamp: new Date(value.response.created_at * 1000),\n modelId: value.response.model,\n });\n return;\n }\n\n if (isResponseOutputItemAddedChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-start',\n id: value.item.call_id,\n toolName: value.item.name,\n });\n } else if (value.item.type === 'reasoning') {\n controller.enqueue({\n type: 'reasoning-start',\n id: value.item.id,\n providerMetadata: {\n huggingface: {\n itemId: value.item.id,\n },\n },\n });\n }\n return;\n }\n\n if (isResponseOutputItemDoneChunk(value)) {\n if (\n value.item.type === 'message' &&\n value.item.role === 'assistant'\n ) {\n controller.enqueue({\n type: 'text-end',\n id: value.item.id,\n });\n } else if (value.item.type === 'function_call') {\n controller.enqueue({\n type: 'tool-input-end',\n id: value.item.call_id,\n });\n\n controller.enqueue({\n type: 'tool-call',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n input: value.item.arguments,\n });\n\n if (value.item.output) {\n controller.enqueue({\n type: 'tool-result',\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n result: value.item.output,\n });\n }\n }\n return;\n }\n\n if (isResponseCompletedChunk(value)) {\n responseId = value.response.id;\n finishReason = mapHuggingFaceResponsesFinishReason(\n value.response.incomplete_details?.reason ?? 'stop',\n );\n if (value.response.usage) {\n usage.inputTokens = value.response.usage.input_tokens;\n usage.outputTokens = value.response.usage.output_tokens;\n usage.totalTokens =\n value.response.usage.total_tokens ??\n value.response.usage.input_tokens +\n value.response.usage.output_tokens;\n }\n return;\n }\n\n if (isReasoningDeltaChunk(value)) {\n controller.enqueue({\n type: 'reasoning-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n\n if (isReasoningEndChunk(value)) {\n controller.enqueue({\n type: 'reasoning-end',\n id: value.item_id,\n });\n return;\n }\n\n if (isTextDeltaChunk(value)) {\n controller.enqueue({\n type: 'text-delta',\n id: value.item_id,\n delta: value.delta,\n });\n return;\n }\n },\n\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage,\n providerMetadata: {\n huggingface: {\n responseId,\n },\n },\n });\n },\n }),\n ),\n request: { body },\n response: { headers: responseHeaders },\n };\n }\n}\n\nconst huggingfaceResponsesProviderOptionsSchema = z.object({\n metadata: z.record(z.string(), z.string()).optional(),\n instructions: z.string().optional(),\n strictJsonSchema: z.boolean().optional(),\n reasoningEffort: z.string().optional(),\n});\n\nconst huggingfaceResponsesOutputSchema = z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(\n z.object({\n type: z.literal('output_text'),\n text: z.string(),\n annotations: z.array(z.any()).optional(),\n }),\n ),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(\n z.object({\n type: z.literal('reasoning_text'),\n text: z.string(),\n }),\n ),\n summary: z\n .array(\n z\n .object({\n type: z.literal('reasoning_summary'),\n text: z.string(),\n })\n .optional(),\n )\n .optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n status: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n status: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n status: z.string().optional(),\n }),\n]);\n\nconst huggingfaceResponsesResponseSchema = z.object({\n id: z.string(),\n model: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n error: z.any().nullable(),\n instructions: z.any().nullable(),\n max_output_tokens: z.any().nullable(),\n metadata: z.any().nullable(),\n tool_choice: z.any(),\n tools: z.array(z.any()),\n temperature: z.number(),\n top_p: z.number(),\n incomplete_details: z\n .object({\n reason: z.string(),\n })\n .nullable()\n .optional(),\n usage: z\n .object({\n input_tokens: z.number(),\n input_tokens_details: z\n .object({\n cached_tokens: z.number(),\n })\n .optional(),\n output_tokens: z.number(),\n output_tokens_details: z\n .object({\n reasoning_tokens: z.number(),\n })\n .optional(),\n total_tokens: z.number(),\n })\n .nullable()\n .optional(),\n output: z.array(huggingfaceResponsesOutputSchema),\n output_text: z.string().nullable().optional(),\n});\n\nconst responseOutputItemAddedSchema = z.object({\n type: z.literal('response.output_item.added'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n summary: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst responseOutputItemDoneSchema = z.object({\n type: z.literal('response.output_item.done'),\n output_index: z.number(),\n item: z.discriminatedUnion('type', [\n z.object({\n type: z.literal('message'),\n id: z.string(),\n role: z.string().optional(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n }),\n z.object({\n type: z.literal('mcp_list_tools'),\n id: z.string(),\n server_label: z.string(),\n tools: z.array(z.any()).optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('mcp_call'),\n id: z.string(),\n server_label: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('function_call'),\n id: z.string(),\n call_id: z.string(),\n name: z.string(),\n arguments: z.string(),\n output: z.string().optional(),\n error: z.string().optional(),\n }),\n z.object({\n type: z.literal('reasoning'),\n id: z.string(),\n status: z.string().optional(),\n content: z.array(z.any()).optional(),\n summary: z.array(z.any()).optional(),\n }),\n ]),\n sequence_number: z.number(),\n});\n\nconst textDeltaChunkSchema = z.object({\n type: z.literal('response.output_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst reasoningTextDeltaChunkSchema = z.object({\n type: z.literal('response.reasoning_text.delta'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n delta: z.string(),\n sequence_number: z.number(),\n});\n\nconst reasoningTextEndChunkSchema = z.object({\n type: z.literal('response.reasoning_text.done'),\n item_id: z.string(),\n output_index: z.number(),\n content_index: z.number(),\n text: z.string(),\n sequence_number: z.number(),\n});\n\nconst responseCompletedChunkSchema = z.object({\n type: z.literal('response.completed'),\n response: huggingfaceResponsesResponseSchema,\n sequence_number: z.number(),\n});\n\nconst responseCreatedChunkSchema = z.object({\n type: z.literal('response.created'),\n response: z.object({\n id: z.string(),\n object: z.string(),\n created_at: z.number(),\n status: z.string(),\n model: z.string(),\n }),\n});\n\nconst huggingfaceResponsesChunkSchema = z.union([\n responseOutputItemAddedSchema,\n responseOutputItemDoneSchema,\n reasoningTextDeltaChunkSchema,\n reasoningTextEndChunkSchema,\n textDeltaChunkSchema,\n responseCompletedChunkSchema,\n responseCreatedChunkSchema,\n z.object({ type: z.string() }).loose(), // fallback for unknown chunks\n]);\n\nfunction isResponseOutputItemAddedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemAddedSchema> {\n return chunk.type === 'response.output_item.added';\n}\n\nfunction isResponseOutputItemDoneChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseOutputItemDoneSchema> {\n return chunk.type === 'response.output_item.done';\n}\n\nfunction isTextDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof textDeltaChunkSchema> {\n return chunk.type === 'response.output_text.delta';\n}\n\nfunction isReasoningDeltaChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof reasoningTextDeltaChunkSchema> {\n return chunk.type === 'response.reasoning_text.delta';\n}\n\nfunction isReasoningEndChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof reasoningTextEndChunkSchema> {\n return chunk.type === 'response.reasoning_text.done';\n}\n\nfunction isResponseCompletedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCompletedChunkSchema> {\n return chunk.type === 'response.completed';\n}\n\nfunction isResponseCreatedChunk(\n chunk: z.infer<typeof huggingfaceResponsesChunkSchema>,\n): chunk is z.infer<typeof responseCreatedChunkSchema> {\n return chunk.type === 'response.created';\n}\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst huggingfaceErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string().optional(),\n code: z.string().optional(),\n }),\n});\n\nexport type HuggingFaceErrorData = z.infer<typeof huggingfaceErrorDataSchema>;\n\nexport const huggingfaceFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: huggingfaceErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import {\n LanguageModelV3CallWarning,\n LanguageModelV3Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\n\nexport async function convertToHuggingFaceResponsesMessages({\n prompt,\n}: {\n prompt: LanguageModelV3Prompt;\n}): Promise<{\n input: string | Array<any>;\n warnings: Array<LanguageModelV3CallWarning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<LanguageModelV3CallWarning> = [];\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n messages.push({ role: 'system', content });\n break;\n }\n\n case 'user': {\n messages.push({\n role: 'user',\n content: content.map(part => {\n switch (part.type) {\n case 'text': {\n return { type: 'input_text', text: part.text };\n }\n case 'file': {\n if (part.mediaType.startsWith('image/')) {\n const mediaType =\n part.mediaType === 'image/*'\n ? 'image/jpeg'\n : part.mediaType;\n\n return {\n type: 'input_image',\n image_url:\n part.data instanceof URL\n ? part.data.toString()\n : `data:${mediaType};base64,${part.data}`,\n };\n } else {\n throw new UnsupportedFunctionalityError({\n functionality: `file part media type ${part.mediaType}`,\n });\n }\n }\n default: {\n const _exhaustiveCheck: never = part;\n throw new Error(`Unsupported part type: ${_exhaustiveCheck}`);\n }\n }\n }),\n });\n\n break;\n }\n\n case 'assistant': {\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n case 'tool-call': {\n // tool calls are handled by the responses API\n break;\n }\n\n case 'tool-result': {\n // tool results are handled by the responses API\n break;\n }\n\n case 'reasoning': {\n // include reasoning content in the message text\n messages.push({\n role: 'assistant',\n content: [{ type: 'output_text', text: part.text }],\n });\n break;\n }\n }\n }\n\n break;\n }\n\n case 'tool': {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'tool messages',\n });\n break;\n }\n\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return { input: messages, warnings };\n}\n","import { LanguageModelV3FinishReason } from '@ai-sdk/provider';\n\nexport function mapHuggingFaceResponsesFinishReason(\n finishReason: string | null | undefined,\n): LanguageModelV3FinishReason {\n switch (finishReason) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'content_filter':\n return 'content-filter';\n case 'tool_calls':\n return 'tool-calls';\n case 'error':\n return 'error';\n default:\n return 'unknown';\n }\n}\n","import {\n LanguageModelV3CallOptions,\n LanguageModelV3CallWarning,\n} from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesTool = {\n type: 'function';\n name: string;\n description?: string;\n parameters: unknown;\n};\n\nexport type HuggingFaceResponsesToolChoice =\n | 'auto'\n | 'required'\n | { type: 'function'; function: { name: string } };\n\nexport function prepareResponsesTools({\n tools,\n toolChoice,\n}: {\n tools: LanguageModelV3CallOptions['tools'];\n toolChoice?: LanguageModelV3CallOptions['toolChoice'];\n}): {\n tools?: HuggingFaceResponsesTool[];\n toolChoice?: HuggingFaceResponsesToolChoice;\n toolWarnings: LanguageModelV3CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n tools = tools?.length ? tools : undefined;\n\n const toolWarnings: LanguageModelV3CallWarning[] = [];\n\n if (tools == null) {\n return { tools: undefined, toolChoice: undefined, toolWarnings };\n }\n\n const huggingfaceTools: HuggingFaceResponsesTool[] = [];\n\n for (const tool of tools) {\n switch (tool.type) {\n case 'function':\n huggingfaceTools.push({\n type: 'function',\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n });\n break;\n case 'provider-defined':\n toolWarnings.push({\n type: 'unsupported-tool',\n tool,\n });\n break;\n default: {\n const _exhaustiveCheck: never = tool;\n throw new Error(`Unsupported tool type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n // prepare tool choice:\n let mappedToolChoice: HuggingFaceResponsesToolChoice | undefined = undefined;\n if (toolChoice) {\n switch (toolChoice.type) {\n case 'auto':\n mappedToolChoice = 'auto';\n break;\n case 'required':\n mappedToolChoice = 'required';\n break;\n case 'none':\n // not supported, ignore\n break;\n case 'tool':\n mappedToolChoice = {\n type: 'function',\n function: { name: toolChoice.toolName },\n };\n break;\n default: {\n const _exhaustiveCheck: never = toolChoice;\n throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return {\n tools: huggingfaceTools,\n toolChoice: mappedToolChoice,\n toolWarnings,\n };\n}\n"],"mappings":"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","names":["generateId","z","z","_a","generateId"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/huggingface",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.31",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/**/*",
|
|
11
|
-
"CHANGELOG.md"
|
|
11
|
+
"CHANGELOG.md",
|
|
12
|
+
"README.md"
|
|
12
13
|
],
|
|
13
14
|
"exports": {
|
|
14
15
|
"./package.json": "./package.json",
|
|
@@ -19,16 +20,16 @@
|
|
|
19
20
|
}
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@ai-sdk/openai-compatible": "
|
|
23
|
-
"@ai-sdk/provider": "
|
|
24
|
-
"@ai-sdk/provider-utils": "
|
|
23
|
+
"@ai-sdk/openai-compatible": "2.0.0-beta.35",
|
|
24
|
+
"@ai-sdk/provider": "3.0.0-beta.17",
|
|
25
|
+
"@ai-sdk/provider-utils": "4.0.0-beta.34"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/node": "20.17.24",
|
|
28
29
|
"tsup": "^8",
|
|
29
30
|
"typescript": "5.8.3",
|
|
30
31
|
"zod": "3.25.76",
|
|
31
|
-
"@ai-sdk/test-server": "1.0.0-beta.
|
|
32
|
+
"@ai-sdk/test-server": "1.0.0-beta.1",
|
|
32
33
|
"@vercel/ai-tsconfig": "0.0.0"
|
|
33
34
|
},
|
|
34
35
|
"peerDependencies": {
|