@ai-sdk/huggingface 1.0.0-beta.40 → 1.0.0-beta.42
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 +19 -0
- package/dist/index.js +45 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @ai-sdk/huggingface
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.42
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3bd2689: feat: extended token usage
|
|
8
|
+
- Updated dependencies [3bd2689]
|
|
9
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.46
|
|
10
|
+
- @ai-sdk/provider@3.0.0-beta.26
|
|
11
|
+
- @ai-sdk/provider-utils@4.0.0-beta.45
|
|
12
|
+
|
|
13
|
+
## 1.0.0-beta.41
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [53f3368]
|
|
18
|
+
- @ai-sdk/provider@3.0.0-beta.25
|
|
19
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.45
|
|
20
|
+
- @ai-sdk/provider-utils@4.0.0-beta.44
|
|
21
|
+
|
|
3
22
|
## 1.0.0-beta.40
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -49,6 +49,45 @@ var huggingfaceFailedResponseHandler = (0, import_provider_utils.createJsonError
|
|
|
49
49
|
errorToMessage: (data) => data.error.message
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
+
// src/responses/convert-huggingface-responses-usage.ts
|
|
53
|
+
function convertHuggingFaceResponsesUsage(usage) {
|
|
54
|
+
var _a, _b, _c, _d;
|
|
55
|
+
if (usage == null) {
|
|
56
|
+
return {
|
|
57
|
+
inputTokens: {
|
|
58
|
+
total: void 0,
|
|
59
|
+
noCache: void 0,
|
|
60
|
+
cacheRead: void 0,
|
|
61
|
+
cacheWrite: void 0
|
|
62
|
+
},
|
|
63
|
+
outputTokens: {
|
|
64
|
+
total: void 0,
|
|
65
|
+
text: void 0,
|
|
66
|
+
reasoning: void 0
|
|
67
|
+
},
|
|
68
|
+
raw: void 0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const inputTokens = usage.input_tokens;
|
|
72
|
+
const outputTokens = usage.output_tokens;
|
|
73
|
+
const cachedTokens = (_b = (_a = usage.input_tokens_details) == null ? void 0 : _a.cached_tokens) != null ? _b : 0;
|
|
74
|
+
const reasoningTokens = (_d = (_c = usage.output_tokens_details) == null ? void 0 : _c.reasoning_tokens) != null ? _d : 0;
|
|
75
|
+
return {
|
|
76
|
+
inputTokens: {
|
|
77
|
+
total: inputTokens,
|
|
78
|
+
noCache: inputTokens - cachedTokens,
|
|
79
|
+
cacheRead: cachedTokens,
|
|
80
|
+
cacheWrite: void 0
|
|
81
|
+
},
|
|
82
|
+
outputTokens: {
|
|
83
|
+
total: outputTokens,
|
|
84
|
+
text: outputTokens - reasoningTokens,
|
|
85
|
+
reasoning: reasoningTokens
|
|
86
|
+
},
|
|
87
|
+
raw: usage
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
52
91
|
// src/responses/convert-to-huggingface-responses-messages.ts
|
|
53
92
|
var import_provider = require("@ai-sdk/provider");
|
|
54
93
|
async function convertToHuggingFaceResponsesMessages({
|
|
@@ -309,7 +348,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
309
348
|
return { args: baseArgs, warnings };
|
|
310
349
|
}
|
|
311
350
|
async doGenerate(options) {
|
|
312
|
-
var _a, _b, _c, _d, _e
|
|
351
|
+
var _a, _b, _c, _d, _e;
|
|
313
352
|
const { args, warnings } = await this.getArgs(options);
|
|
314
353
|
const body = {
|
|
315
354
|
...args,
|
|
@@ -450,11 +489,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
450
489
|
finishReason: mapHuggingFaceResponsesFinishReason(
|
|
451
490
|
(_e = (_d = response.incomplete_details) == null ? void 0 : _d.reason) != null ? _e : "stop"
|
|
452
491
|
),
|
|
453
|
-
usage:
|
|
454
|
-
inputTokens: (_g = (_f = response.usage) == null ? void 0 : _f.input_tokens) != null ? _g : 0,
|
|
455
|
-
outputTokens: (_i = (_h = response.usage) == null ? void 0 : _h.output_tokens) != null ? _i : 0,
|
|
456
|
-
totalTokens: (_o = (_j = response.usage) == null ? void 0 : _j.total_tokens) != null ? _o : ((_l = (_k = response.usage) == null ? void 0 : _k.input_tokens) != null ? _l : 0) + ((_n = (_m = response.usage) == null ? void 0 : _m.output_tokens) != null ? _n : 0)
|
|
457
|
-
},
|
|
492
|
+
usage: convertHuggingFaceResponsesUsage(response.usage),
|
|
458
493
|
request: { body },
|
|
459
494
|
response: {
|
|
460
495
|
id: response.id,
|
|
@@ -493,11 +528,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
493
528
|
});
|
|
494
529
|
let finishReason = "unknown";
|
|
495
530
|
let responseId = null;
|
|
496
|
-
|
|
497
|
-
inputTokens: void 0,
|
|
498
|
-
outputTokens: void 0,
|
|
499
|
-
totalTokens: void 0
|
|
500
|
-
};
|
|
531
|
+
let usage = void 0;
|
|
501
532
|
return {
|
|
502
533
|
stream: response.pipeThrough(
|
|
503
534
|
new TransformStream({
|
|
@@ -505,7 +536,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
505
536
|
controller.enqueue({ type: "stream-start", warnings });
|
|
506
537
|
},
|
|
507
538
|
transform(chunk, controller) {
|
|
508
|
-
var _a, _b
|
|
539
|
+
var _a, _b;
|
|
509
540
|
if (!chunk.success) {
|
|
510
541
|
finishReason = "error";
|
|
511
542
|
controller.enqueue({ type: "error", error: chunk.error });
|
|
@@ -586,9 +617,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
586
617
|
(_b = (_a = value.response.incomplete_details) == null ? void 0 : _a.reason) != null ? _b : "stop"
|
|
587
618
|
);
|
|
588
619
|
if (value.response.usage) {
|
|
589
|
-
usage
|
|
590
|
-
usage.outputTokens = value.response.usage.output_tokens;
|
|
591
|
-
usage.totalTokens = (_c = value.response.usage.total_tokens) != null ? _c : value.response.usage.input_tokens + value.response.usage.output_tokens;
|
|
620
|
+
usage = value.response.usage;
|
|
592
621
|
}
|
|
593
622
|
return;
|
|
594
623
|
}
|
|
@@ -620,7 +649,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
620
649
|
controller.enqueue({
|
|
621
650
|
type: "finish",
|
|
622
651
|
finishReason,
|
|
623
|
-
usage,
|
|
652
|
+
usage: convertHuggingFaceResponsesUsage(usage),
|
|
624
653
|
providerMetadata: {
|
|
625
654
|
huggingface: {
|
|
626
655
|
responseId
|
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.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'embeddingModel',\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 SharedV3Warning,\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: SharedV3Warning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported', feature: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported', feature: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'presencePenalty' });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'frequencyPenalty' });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported', feature: '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 SharedV3Warning,\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<SharedV3Warning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<SharedV3Warning> = [];\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({ type: 'unsupported', feature: 'tool messages' });\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 { LanguageModelV3CallOptions, SharedV3Warning } 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: SharedV3Warning[];\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: SharedV3Warning[] = [];\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':\n toolWarnings.push({\n type: 'unsupported',\n feature: `provider-defined tool ${tool.id}`,\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-huggingface-responses-usage.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.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'embeddingModel',\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 SharedV3Warning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\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 {\n HuggingFaceResponsesUsage,\n convertHuggingFaceResponsesUsage,\n} from './convert-huggingface-responses-usage';\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: SharedV3Warning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported', feature: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported', feature: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'presencePenalty' });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'frequencyPenalty' });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported', feature: '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: convertHuggingFaceResponsesUsage(response.usage),\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 let usage: HuggingFaceResponsesUsage | undefined = undefined;\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 = value.response.usage;\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: convertHuggingFaceResponsesUsage(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 { LanguageModelV3Usage } from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesUsage = {\n input_tokens: number;\n input_tokens_details?: {\n cached_tokens?: number;\n };\n output_tokens: number;\n output_tokens_details?: {\n reasoning_tokens?: number;\n };\n total_tokens: number;\n};\n\nexport function convertHuggingFaceResponsesUsage(\n usage: HuggingFaceResponsesUsage | undefined | null,\n): LanguageModelV3Usage {\n if (usage == null) {\n return {\n inputTokens: {\n total: undefined,\n noCache: undefined,\n cacheRead: undefined,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: undefined,\n text: undefined,\n reasoning: undefined,\n },\n raw: undefined,\n };\n }\n\n const inputTokens = usage.input_tokens;\n const outputTokens = usage.output_tokens;\n const cachedTokens = usage.input_tokens_details?.cached_tokens ?? 0;\n const reasoningTokens = usage.output_tokens_details?.reasoning_tokens ?? 0;\n\n return {\n inputTokens: {\n total: inputTokens,\n noCache: inputTokens - cachedTokens,\n cacheRead: cachedTokens,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens - reasoningTokens,\n reasoning: reasoningTokens,\n },\n raw: usage,\n };\n}\n","import {\n SharedV3Warning,\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<SharedV3Warning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<SharedV3Warning> = [];\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({ type: 'unsupported', feature: 'tool messages' });\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 { LanguageModelV3CallOptions, SharedV3Warning } 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: SharedV3Warning[];\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: SharedV3Warning[] = [];\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':\n toolWarnings.push({\n type: 'unsupported',\n feature: `provider-defined tool ${tool.id}`,\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
|
@@ -37,6 +37,45 @@ var huggingfaceFailedResponseHandler = createJsonErrorResponseHandler({
|
|
|
37
37
|
errorToMessage: (data) => data.error.message
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
+
// src/responses/convert-huggingface-responses-usage.ts
|
|
41
|
+
function convertHuggingFaceResponsesUsage(usage) {
|
|
42
|
+
var _a, _b, _c, _d;
|
|
43
|
+
if (usage == null) {
|
|
44
|
+
return {
|
|
45
|
+
inputTokens: {
|
|
46
|
+
total: void 0,
|
|
47
|
+
noCache: void 0,
|
|
48
|
+
cacheRead: void 0,
|
|
49
|
+
cacheWrite: void 0
|
|
50
|
+
},
|
|
51
|
+
outputTokens: {
|
|
52
|
+
total: void 0,
|
|
53
|
+
text: void 0,
|
|
54
|
+
reasoning: void 0
|
|
55
|
+
},
|
|
56
|
+
raw: void 0
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const inputTokens = usage.input_tokens;
|
|
60
|
+
const outputTokens = usage.output_tokens;
|
|
61
|
+
const cachedTokens = (_b = (_a = usage.input_tokens_details) == null ? void 0 : _a.cached_tokens) != null ? _b : 0;
|
|
62
|
+
const reasoningTokens = (_d = (_c = usage.output_tokens_details) == null ? void 0 : _c.reasoning_tokens) != null ? _d : 0;
|
|
63
|
+
return {
|
|
64
|
+
inputTokens: {
|
|
65
|
+
total: inputTokens,
|
|
66
|
+
noCache: inputTokens - cachedTokens,
|
|
67
|
+
cacheRead: cachedTokens,
|
|
68
|
+
cacheWrite: void 0
|
|
69
|
+
},
|
|
70
|
+
outputTokens: {
|
|
71
|
+
total: outputTokens,
|
|
72
|
+
text: outputTokens - reasoningTokens,
|
|
73
|
+
reasoning: reasoningTokens
|
|
74
|
+
},
|
|
75
|
+
raw: usage
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
40
79
|
// src/responses/convert-to-huggingface-responses-messages.ts
|
|
41
80
|
import {
|
|
42
81
|
UnsupportedFunctionalityError
|
|
@@ -299,7 +338,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
299
338
|
return { args: baseArgs, warnings };
|
|
300
339
|
}
|
|
301
340
|
async doGenerate(options) {
|
|
302
|
-
var _a, _b, _c, _d, _e
|
|
341
|
+
var _a, _b, _c, _d, _e;
|
|
303
342
|
const { args, warnings } = await this.getArgs(options);
|
|
304
343
|
const body = {
|
|
305
344
|
...args,
|
|
@@ -440,11 +479,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
440
479
|
finishReason: mapHuggingFaceResponsesFinishReason(
|
|
441
480
|
(_e = (_d = response.incomplete_details) == null ? void 0 : _d.reason) != null ? _e : "stop"
|
|
442
481
|
),
|
|
443
|
-
usage:
|
|
444
|
-
inputTokens: (_g = (_f = response.usage) == null ? void 0 : _f.input_tokens) != null ? _g : 0,
|
|
445
|
-
outputTokens: (_i = (_h = response.usage) == null ? void 0 : _h.output_tokens) != null ? _i : 0,
|
|
446
|
-
totalTokens: (_o = (_j = response.usage) == null ? void 0 : _j.total_tokens) != null ? _o : ((_l = (_k = response.usage) == null ? void 0 : _k.input_tokens) != null ? _l : 0) + ((_n = (_m = response.usage) == null ? void 0 : _m.output_tokens) != null ? _n : 0)
|
|
447
|
-
},
|
|
482
|
+
usage: convertHuggingFaceResponsesUsage(response.usage),
|
|
448
483
|
request: { body },
|
|
449
484
|
response: {
|
|
450
485
|
id: response.id,
|
|
@@ -483,11 +518,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
483
518
|
});
|
|
484
519
|
let finishReason = "unknown";
|
|
485
520
|
let responseId = null;
|
|
486
|
-
|
|
487
|
-
inputTokens: void 0,
|
|
488
|
-
outputTokens: void 0,
|
|
489
|
-
totalTokens: void 0
|
|
490
|
-
};
|
|
521
|
+
let usage = void 0;
|
|
491
522
|
return {
|
|
492
523
|
stream: response.pipeThrough(
|
|
493
524
|
new TransformStream({
|
|
@@ -495,7 +526,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
495
526
|
controller.enqueue({ type: "stream-start", warnings });
|
|
496
527
|
},
|
|
497
528
|
transform(chunk, controller) {
|
|
498
|
-
var _a, _b
|
|
529
|
+
var _a, _b;
|
|
499
530
|
if (!chunk.success) {
|
|
500
531
|
finishReason = "error";
|
|
501
532
|
controller.enqueue({ type: "error", error: chunk.error });
|
|
@@ -576,9 +607,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
576
607
|
(_b = (_a = value.response.incomplete_details) == null ? void 0 : _a.reason) != null ? _b : "stop"
|
|
577
608
|
);
|
|
578
609
|
if (value.response.usage) {
|
|
579
|
-
usage
|
|
580
|
-
usage.outputTokens = value.response.usage.output_tokens;
|
|
581
|
-
usage.totalTokens = (_c = value.response.usage.total_tokens) != null ? _c : value.response.usage.input_tokens + value.response.usage.output_tokens;
|
|
610
|
+
usage = value.response.usage;
|
|
582
611
|
}
|
|
583
612
|
return;
|
|
584
613
|
}
|
|
@@ -610,7 +639,7 @@ var HuggingFaceResponsesLanguageModel = class {
|
|
|
610
639
|
controller.enqueue({
|
|
611
640
|
type: "finish",
|
|
612
641
|
finishReason,
|
|
613
|
-
usage,
|
|
642
|
+
usage: convertHuggingFaceResponsesUsage(usage),
|
|
614
643
|
providerMetadata: {
|
|
615
644
|
huggingface: {
|
|
616
645
|
responseId
|
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.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.responses = createResponsesModel;\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'embeddingModel',\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 SharedV3Warning,\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: SharedV3Warning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported', feature: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported', feature: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'presencePenalty' });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'frequencyPenalty' });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported', feature: '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 SharedV3Warning,\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<SharedV3Warning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<SharedV3Warning> = [];\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({ type: 'unsupported', feature: 'tool messages' });\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 { LanguageModelV3CallOptions, SharedV3Warning } 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: SharedV3Warning[];\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: SharedV3Warning[] = [];\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':\n toolWarnings.push({\n type: 'unsupported',\n feature: `provider-defined tool ${tool.id}`,\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-huggingface-responses-usage.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.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({\n modelId,\n modelType: 'embeddingModel',\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 SharedV3Warning,\n LanguageModelV3Content,\n LanguageModelV3FinishReason,\n LanguageModelV3StreamPart,\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 {\n HuggingFaceResponsesUsage,\n convertHuggingFaceResponsesUsage,\n} from './convert-huggingface-responses-usage';\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: SharedV3Warning[] = [];\n\n if (topK != null) {\n warnings.push({ type: 'unsupported', feature: 'topK' });\n }\n\n if (seed != null) {\n warnings.push({ type: 'unsupported', feature: 'seed' });\n }\n\n if (presencePenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'presencePenalty' });\n }\n\n if (frequencyPenalty != null) {\n warnings.push({ type: 'unsupported', feature: 'frequencyPenalty' });\n }\n\n if (stopSequences != null) {\n warnings.push({ type: 'unsupported', feature: '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: convertHuggingFaceResponsesUsage(response.usage),\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 let usage: HuggingFaceResponsesUsage | undefined = undefined;\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 = value.response.usage;\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: convertHuggingFaceResponsesUsage(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 { LanguageModelV3Usage } from '@ai-sdk/provider';\n\nexport type HuggingFaceResponsesUsage = {\n input_tokens: number;\n input_tokens_details?: {\n cached_tokens?: number;\n };\n output_tokens: number;\n output_tokens_details?: {\n reasoning_tokens?: number;\n };\n total_tokens: number;\n};\n\nexport function convertHuggingFaceResponsesUsage(\n usage: HuggingFaceResponsesUsage | undefined | null,\n): LanguageModelV3Usage {\n if (usage == null) {\n return {\n inputTokens: {\n total: undefined,\n noCache: undefined,\n cacheRead: undefined,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: undefined,\n text: undefined,\n reasoning: undefined,\n },\n raw: undefined,\n };\n }\n\n const inputTokens = usage.input_tokens;\n const outputTokens = usage.output_tokens;\n const cachedTokens = usage.input_tokens_details?.cached_tokens ?? 0;\n const reasoningTokens = usage.output_tokens_details?.reasoning_tokens ?? 0;\n\n return {\n inputTokens: {\n total: inputTokens,\n noCache: inputTokens - cachedTokens,\n cacheRead: cachedTokens,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: outputTokens,\n text: outputTokens - reasoningTokens,\n reasoning: reasoningTokens,\n },\n raw: usage,\n };\n}\n","import {\n SharedV3Warning,\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<SharedV3Warning>;\n}> {\n const messages: Array<any> = [];\n const warnings: Array<SharedV3Warning> = [];\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({ type: 'unsupported', feature: 'tool messages' });\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 { LanguageModelV3CallOptions, SharedV3Warning } 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: SharedV3Warning[];\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: SharedV3Warning[] = [];\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':\n toolWarnings.push({\n type: 'unsupported',\n feature: `provider-defined tool ${tool.id}`,\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.42",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@ai-sdk/openai-compatible": "2.0.0-beta.
|
|
24
|
-
"@ai-sdk/provider": "3.0.0-beta.
|
|
25
|
-
"@ai-sdk/provider-utils": "4.0.0-beta.
|
|
23
|
+
"@ai-sdk/openai-compatible": "2.0.0-beta.46",
|
|
24
|
+
"@ai-sdk/provider": "3.0.0-beta.26",
|
|
25
|
+
"@ai-sdk/provider-utils": "4.0.0-beta.45"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "20.17.24",
|