@ai-sdk/huggingface 1.0.0-beta.35 → 1.0.0-beta.37

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # @ai-sdk/huggingface
2
2
 
3
+ ## 1.0.0-beta.37
4
+
5
+ ### Patch Changes
6
+
7
+ - 544d4e8: chore(specification): rename v3 provider defined tool to provider tool
8
+ - Updated dependencies [544d4e8]
9
+ - @ai-sdk/openai-compatible@2.0.0-beta.41
10
+ - @ai-sdk/provider-utils@4.0.0-beta.40
11
+ - @ai-sdk/provider@3.0.0-beta.22
12
+
13
+ ## 1.0.0-beta.36
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [954c356]
18
+ - @ai-sdk/provider-utils@4.0.0-beta.39
19
+ - @ai-sdk/provider@3.0.0-beta.21
20
+ - @ai-sdk/openai-compatible@2.0.0-beta.40
21
+
3
22
  ## 1.0.0-beta.35
4
23
 
5
24
  ### Patch Changes
package/dist/index.js CHANGED
@@ -171,7 +171,7 @@ function prepareResponsesTools({
171
171
  parameters: tool.inputSchema
172
172
  });
173
173
  break;
174
- case "provider-defined":
174
+ case "provider":
175
175
  toolWarnings.push({
176
176
  type: "unsupported",
177
177
  feature: `provider-defined tool ${tool.id}`
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-defined':\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-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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,mBAIO;AACP,IAAAC,yBAKO;;;ACVP,IAAAC,mBAQO;AACP,IAAAC,yBAQO;AACP,IAAAC,aAAkB;;;AClBlB,4BAA+C;AAC/C,gBAAkB;AAElB,IAAM,6BAA6B,YAAE,OAAO;AAAA,EAC1C,OAAO,YAAE,OAAO;AAAA,IACd,SAAS,YAAE,OAAO;AAAA,IAClB,MAAM,YAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,MAAM,YAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,CAAC;AACH,CAAC;AAIM,IAAM,uCAAmC,sDAA+B;AAAA,EAC7E,aAAa;AAAA,EACb,gBAAgB,UAAQ,KAAK,MAAM;AACrC,CAAC;;;AChBD,sBAIO;AAEP,eAAsB,sCAAsC;AAAA,EAC1D;AACF,GAKG;AACD,QAAM,WAAuB,CAAC;AAC9B,QAAM,WAAmC,CAAC;AAE1C,aAAW,EAAE,MAAM,QAAQ,KAAK,QAAQ;AACtC,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,iBAAS,KAAK,EAAE,MAAM,UAAU,QAAQ,CAAC;AACzC;AAAA,MACF;AAAA,MAEA,KAAK,QAAQ;AACX,iBAAS,KAAK;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,QAAQ,IAAI,UAAQ;AAC3B,oBAAQ,KAAK,MAAM;AAAA,cACjB,KAAK,QAAQ;AACX,uBAAO,EAAE,MAAM,cAAc,MAAM,KAAK,KAAK;AAAA,cAC/C;AAAA,cACA,KAAK,QAAQ;AACX,oBAAI,KAAK,UAAU,WAAW,QAAQ,GAAG;AACvC,wBAAM,YACJ,KAAK,cAAc,YACf,eACA,KAAK;AAEX,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,WACE,KAAK,gBAAgB,MACjB,KAAK,KAAK,SAAS,IACnB,QAAQ,SAAS,WAAW,KAAK,IAAI;AAAA,kBAC7C;AAAA,gBACF,OAAO;AACL,wBAAM,IAAI,8CAA8B;AAAA,oBACtC,eAAe,wBAAwB,KAAK,SAAS;AAAA,kBACvD,CAAC;AAAA,gBACH;AAAA,cACF;AAAA,cACA,SAAS;AACP,sBAAM,mBAA0B;AAChC,sBAAM,IAAI,MAAM,0BAA0B,gBAAgB,EAAE;AAAA,cAC9D;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAED;AAAA,MACF;AAAA,MAEA,KAAK,aAAa;AAChB,mBAAW,QAAQ,SAAS;AAC1B,kBAAQ,KAAK,MAAM;AAAA,YACjB,KAAK,QAAQ;AACX,uBAAS,KAAK;AAAA,gBACZ,MAAM;AAAA,gBACN,SAAS,CAAC,EAAE,MAAM,eAAe,MAAM,KAAK,KAAK,CAAC;AAAA,cACpD,CAAC;AACD;AAAA,YACF;AAAA,YACA,KAAK,aAAa;AAEhB;AAAA,YACF;AAAA,YAEA,KAAK,eAAe;AAElB;AAAA,YACF;AAAA,YAEA,KAAK,aAAa;AAEhB,uBAAS,KAAK;AAAA,gBACZ,MAAM;AAAA,gBACN,SAAS,CAAC,EAAE,MAAM,eAAe,MAAM,KAAK,KAAK,CAAC;AAAA,cACpD,CAAC;AACD;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,KAAK,QAAQ;AACX,iBAAS,KAAK,EAAE,MAAM,eAAe,SAAS,gBAAgB,CAAC;AAC/D;AAAA,MACF;AAAA,MAEA,SAAS;AACP,cAAM,mBAA0B;AAChC,cAAM,IAAI,MAAM,qBAAqB,gBAAgB,EAAE;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,UAAU,SAAS;AACrC;;;AC5GO,SAAS,oCACd,cAC6B;AAC7B,UAAQ,cAAc;AAAA,IACpB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;ACLO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AACF,GAOE;AAEA,WAAQ,+BAAO,UAAS,QAAQ;AAEhC,QAAM,eAAkC,CAAC;AAEzC,MAAI,SAAS,MAAM;AACjB,WAAO,EAAE,OAAO,QAAW,YAAY,QAAW,aAAa;AAAA,EACjE;AAEA,QAAM,mBAA+C,CAAC;AAEtD,aAAW,QAAQ,OAAO;AACxB,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AACH,yBAAiB,KAAK;AAAA,UACpB,MAAM;AAAA,UACN,MAAM,KAAK;AAAA,UACX,aAAa,KAAK;AAAA,UAClB,YAAY,KAAK;AAAA,QACnB,CAAC;AACD;AAAA,MACF,KAAK;AACH,qBAAa,KAAK;AAAA,UAChB,MAAM;AAAA,UACN,SAAS,yBAAyB,KAAK,EAAE;AAAA,QAC3C,CAAC;AACD;AAAA,MACF,SAAS;AACP,cAAM,mBAA0B;AAChC,cAAM,IAAI,MAAM,0BAA0B,gBAAgB,EAAE;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AAGA,MAAI,mBAA+D;AACnE,MAAI,YAAY;AACd,YAAQ,WAAW,MAAM;AAAA,MACvB,KAAK;AACH,2BAAmB;AACnB;AAAA,MACF,KAAK;AACH,2BAAmB;AACnB;AAAA,MACF,KAAK;AAEH;AAAA,MACF,KAAK;AACH,2BAAmB;AAAA,UACjB,MAAM;AAAA,UACN,UAAU,EAAE,MAAM,WAAW,SAAS;AAAA,QACxC;AACA;AAAA,MACF,SAAS;AACP,cAAM,mBAA0B;AAChC,cAAM,IAAI,MAAM,iCAAiC,gBAAgB,EAAE;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,IACZ;AAAA,EACF;AACF;;;AJhEO,IAAM,oCAAN,MAAmE;AAAA,EAOxE,YAAY,SAAsC,QAA2B;AAN7E,SAAS,uBAAuB;AAWhC,SAAS,gBAA0C;AAAA,MACjD,WAAW,CAAC,iBAAiB;AAAA,IAC/B;AANE,SAAK,UAAU;AACf,SAAK,SAAS;AAAA,EAChB;AAAA,EAMA,IAAI,WAAmB;AACrB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,MAAc,QAAQ;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAiD;AA5DnD;AA6DI,UAAM,WAA8B,CAAC;AAErC,QAAI,QAAQ,MAAM;AAChB,eAAS,KAAK,EAAE,MAAM,eAAe,SAAS,OAAO,CAAC;AAAA,IACxD;AAEA,QAAI,QAAQ,MAAM;AAChB,eAAS,KAAK,EAAE,MAAM,eAAe,SAAS,OAAO,CAAC;AAAA,IACxD;AAEA,QAAI,mBAAmB,MAAM;AAC3B,eAAS,KAAK,EAAE,MAAM,eAAe,SAAS,kBAAkB,CAAC;AAAA,IACnE;AAEA,QAAI,oBAAoB,MAAM;AAC5B,eAAS,KAAK,EAAE,MAAM,eAAe,SAAS,mBAAmB,CAAC;AAAA,IACpE;AAEA,QAAI,iBAAiB,MAAM;AACzB,eAAS,KAAK,EAAE,MAAM,eAAe,SAAS,gBAAgB,CAAC;AAAA,IACjE;AAEA,UAAM,EAAE,OAAO,UAAU,gBAAgB,IACvC,MAAM,sCAAsC;AAAA,MAC1C;AAAA,IACF,CAAC;AAEH,aAAS,KAAK,GAAG,eAAe;AAEhC,UAAM,qBAAqB,UAAM,6CAAqB;AAAA,MACpD,UAAU;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,IACV,CAAC;AAED,UAAM;AAAA,MACJ,OAAO;AAAA,MACP,YAAY;AAAA,MACZ;AAAA,IACF,IAAI,sBAAsB;AAAA,MACxB;AAAA,MACA;AAAA,IACF,CAAC;AAED,aAAS,KAAK,GAAG,YAAY;AAE7B,UAAM,WAAW;AAAA,MACf,OAAO,KAAK;AAAA,MACZ;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,mBAAmB;AAAA;AAAA,MAGnB,IAAI,iDAAgB,UAAS,UAC3B,eAAe,UAAU;AAAA,QACvB,MAAM;AAAA,UACJ,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAQ,8DAAoB,qBAApB,YAAwC;AAAA,YAChD,OAAM,oBAAe,SAAf,YAAuB;AAAA,YAC7B,aAAa,eAAe;AAAA,YAC5B,QAAQ,eAAe;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA,MAEF,UAAU,yDAAoB;AAAA,MAC9B,cAAc,yDAAoB;AAAA,MAElC,GAAI,iBAAiB,EAAE,OAAO,cAAc;AAAA,MAC5C,GAAI,sBAAsB,EAAE,aAAa,mBAAmB;AAAA,MAC5D,IAAI,yDAAoB,oBAAmB,QAAQ;AAAA,QACjD,WAAW;AAAA,UACT,IAAI,yDAAoB,oBAAmB,QAAQ;AAAA,YACjD,QAAQ,mBAAmB;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO,EAAE,MAAM,UAAU,SAAS;AAAA,EACpC;AAAA,EAEA,MAAM,WACJ,SAC6D;AAnJjE;AAoJI,UAAM,EAAE,MAAM,SAAS,IAAI,MAAM,KAAK,QAAQ,OAAO;AAErD,UAAM,OAAO;AAAA,MACX,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAEA,UAAM,MAAM,KAAK,OAAO,IAAI;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAChB,CAAC;AAED,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA,UAAU;AAAA,IACZ,IAAI,UAAM,sCAAc;AAAA,MACtB;AAAA,MACA,aAAS,uCAAe,KAAK,OAAO,QAAQ,GAAG,QAAQ,OAAO;AAAA,MAC9D;AAAA,MACA,uBAAuB;AAAA,MACvB,+BAA2B;AAAA,QACzB;AAAA,MACF;AAAA,MACA,aAAa,QAAQ;AAAA,MACrB,OAAO,KAAK,OAAO;AAAA,IACrB,CAAC;AAED,QAAI,SAAS,OAAO;AAClB,YAAM,IAAI,8BAAa;AAAA,QACrB,SAAS,SAAS,MAAM;AAAA,QACxB;AAAA,QACA,mBAAmB;AAAA,QACnB,YAAY;AAAA,QACZ;AAAA,QACA,cAAc;AAAA,QACd,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAEA,UAAM,UAAyC,CAAC;AAGhD,eAAW,QAAQ,SAAS,QAAQ;AAClC,cAAQ,KAAK,MAAM;AAAA,QACjB,KAAK,WAAW;AACd,qBAAW,eAAe,KAAK,SAAS;AACtC,oBAAQ,KAAK;AAAA,cACX,MAAM;AAAA,cACN,MAAM,YAAY;AAAA,cAClB,kBAAkB;AAAA,gBAChB,aAAa;AAAA,kBACX,QAAQ,KAAK;AAAA,gBACf;AAAA,cACF;AAAA,YACF,CAAC;AAED,gBAAI,YAAY,aAAa;AAC3B,yBAAW,cAAc,YAAY,aAAa;AAChD,wBAAQ,KAAK;AAAA,kBACX,MAAM;AAAA,kBACN,YAAY;AAAA,kBACZ,KAAI,sBAAK,QAAO,eAAZ,gDAA8B,mCAAW;AAAA,kBAC7C,KAAK,WAAW;AAAA,kBAChB,OAAO,WAAW;AAAA,gBACpB,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AACA;AAAA,QACF;AAAA,QAEA,KAAK,aAAa;AAChB,qBAAW,eAAe,KAAK,SAAS;AACtC,oBAAQ,KAAK;AAAA,cACX,MAAM;AAAA,cACN,MAAM,YAAY;AAAA,cAClB,kBAAkB;AAAA,gBAChB,aAAa;AAAA,kBACX,QAAQ,KAAK;AAAA,gBACf;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH;AACA;AAAA,QACF;AAAA,QAEA,KAAK,YAAY;AACf,kBAAQ,KAAK;AAAA,YACX,MAAM;AAAA,YACN,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,OAAO,KAAK;AAAA,YACZ,kBAAkB;AAAA,UACpB,CAAC;AAED,cAAI,KAAK,QAAQ;AACf,oBAAQ,KAAK;AAAA,cACX,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,QAAQ,KAAK;AAAA,YACf,CAAC;AAAA,UACH;AACA;AAAA,QACF;AAAA,QAEA,KAAK,kBAAkB;AACrB,kBAAQ,KAAK;AAAA,YACX,MAAM;AAAA,YACN,YAAY,KAAK;AAAA,YACjB,UAAU;AAAA,YACV,OAAO,KAAK,UAAU,EAAE,cAAc,KAAK,aAAa,CAAC;AAAA,YACzD,kBAAkB;AAAA,UACpB,CAAC;AAED,cAAI,KAAK,OAAO;AACd,oBAAQ,KAAK;AAAA,cACX,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU;AAAA,cACV,QAAQ,EAAE,OAAO,KAAK,MAAM;AAAA,YAC9B,CAAC;AAAA,UACH;AACA;AAAA,QACF;AAAA,QAEA,KAAK,iBAAiB;AACpB,kBAAQ,KAAK;AAAA,YACX,MAAM;AAAA,YACN,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,OAAO,KAAK;AAAA,UACd,CAAC;AAED,cAAI,KAAK,QAAQ;AACf,oBAAQ,KAAK;AAAA,cACX,MAAM;AAAA,cACN,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf,QAAQ,KAAK;AAAA,YACf,CAAC;AAAA,UACH;AACA;AAAA,QACF;AAAA,QAEA,SAAS;AACP;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,MACA,cAAc;AAAA,SACZ,oBAAS,uBAAT,mBAA6B,WAA7B,YAAuC;AAAA,MACzC;AAAA,MACA,OAAO;AAAA,QACL,cAAa,oBAAS,UAAT,mBAAgB,iBAAhB,YAAgC;AAAA,QAC7C,eAAc,oBAAS,UAAT,mBAAgB,kBAAhB,YAAiC;AAAA,QAC/C,cACE,oBAAS,UAAT,mBAAgB,iBAAhB,cACC,oBAAS,UAAT,mBAAgB,iBAAhB,YAAgC,OAC9B,oBAAS,UAAT,mBAAgB,kBAAhB,YAAiC;AAAA,MACxC;AAAA,MACA,SAAS,EAAE,KAAK;AAAA,MAChB,UAAU;AAAA,QACR,IAAI,SAAS;AAAA,QACb,WAAW,IAAI,KAAK,SAAS,aAAa,GAAI;AAAA,QAC9C,SAAS,SAAS;AAAA,QAClB,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,kBAAkB;AAAA,QAChB,aAAa;AAAA,UACX,YAAY,SAAS;AAAA,QACvB;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,SACJ,SAC2D;AAC3D,UAAM,EAAE,MAAM,SAAS,IAAI,MAAM,KAAK,QAAQ,OAAO;AAErD,UAAM,OAAO;AAAA,MACX,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAEA,UAAM,EAAE,OAAO,UAAU,gBAAgB,IAAI,UAAM,sCAAc;AAAA,MAC/D,KAAK,KAAK,OAAO,IAAI;AAAA,QACnB,MAAM;AAAA,QACN,SAAS,KAAK;AAAA,MAChB,CAAC;AAAA,MACD,aAAS,uCAAe,KAAK,OAAO,QAAQ,GAAG,QAAQ,OAAO;AAAA,MAC9D;AAAA,MACA,uBAAuB;AAAA,MACvB,+BAA2B;AAAA,QACzB;AAAA,MACF;AAAA,MACA,aAAa,QAAQ;AAAA,MACrB,OAAO,KAAK,OAAO;AAAA,IACrB,CAAC;AAED,QAAI,eAA4C;AAChD,QAAI,aAA4B;AAChC,UAAM,QAA8B;AAAA,MAClC,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAEA,WAAO;AAAA,MACL,QAAQ,SAAS;AAAA,QACf,IAAI,gBAGF;AAAA,UACA,MAAM,YAAY;AAChB,uBAAW,QAAQ,EAAE,MAAM,gBAAgB,SAAS,CAAC;AAAA,UACvD;AAAA,UAEA,UAAU,OAAO,YAAY;AArXvC;AAsXY,gBAAI,CAAC,MAAM,SAAS;AAClB,6BAAe;AACf,yBAAW,QAAQ,EAAE,MAAM,SAAS,OAAO,MAAM,MAAM,CAAC;AACxD;AAAA,YACF;AAEA,kBAAM,QAAQ,MAAM;AAEpB,gBAAI,uBAAuB,KAAK,GAAG;AACjC,2BAAa,MAAM,SAAS;AAC5B,yBAAW,QAAQ;AAAA,gBACjB,MAAM;AAAA,gBACN,IAAI,MAAM,SAAS;AAAA,gBACnB,WAAW,IAAI,KAAK,MAAM,SAAS,aAAa,GAAI;AAAA,gBACpD,SAAS,MAAM,SAAS;AAAA,cAC1B,CAAC;AACD;AAAA,YACF;AAEA,gBAAI,+BAA+B,KAAK,GAAG;AACzC,kBACE,MAAM,KAAK,SAAS,aACpB,MAAM,KAAK,SAAS,aACpB;AACA,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,IAAI,MAAM,KAAK;AAAA,kBACf,kBAAkB;AAAA,oBAChB,aAAa;AAAA,sBACX,QAAQ,MAAM,KAAK;AAAA,oBACrB;AAAA,kBACF;AAAA,gBACF,CAAC;AAAA,cACH,WAAW,MAAM,KAAK,SAAS,iBAAiB;AAC9C,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,IAAI,MAAM,KAAK;AAAA,kBACf,UAAU,MAAM,KAAK;AAAA,gBACvB,CAAC;AAAA,cACH,WAAW,MAAM,KAAK,SAAS,aAAa;AAC1C,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,IAAI,MAAM,KAAK;AAAA,kBACf,kBAAkB;AAAA,oBAChB,aAAa;AAAA,sBACX,QAAQ,MAAM,KAAK;AAAA,oBACrB;AAAA,kBACF;AAAA,gBACF,CAAC;AAAA,cACH;AACA;AAAA,YACF;AAEA,gBAAI,8BAA8B,KAAK,GAAG;AACxC,kBACE,MAAM,KAAK,SAAS,aACpB,MAAM,KAAK,SAAS,aACpB;AACA,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,IAAI,MAAM,KAAK;AAAA,gBACjB,CAAC;AAAA,cACH,WAAW,MAAM,KAAK,SAAS,iBAAiB;AAC9C,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,IAAI,MAAM,KAAK;AAAA,gBACjB,CAAC;AAED,2BAAW,QAAQ;AAAA,kBACjB,MAAM;AAAA,kBACN,YAAY,MAAM,KAAK;AAAA,kBACvB,UAAU,MAAM,KAAK;AAAA,kBACrB,OAAO,MAAM,KAAK;AAAA,gBACpB,CAAC;AAED,oBAAI,MAAM,KAAK,QAAQ;AACrB,6BAAW,QAAQ;AAAA,oBACjB,MAAM;AAAA,oBACN,YAAY,MAAM,KAAK;AAAA,oBACvB,UAAU,MAAM,KAAK;AAAA,oBACrB,QAAQ,MAAM,KAAK;AAAA,kBACrB,CAAC;AAAA,gBACH;AAAA,cACF;AACA;AAAA,YACF;AAEA,gBAAI,yBAAyB,KAAK,GAAG;AACnC,2BAAa,MAAM,SAAS;AAC5B,6BAAe;AAAA,iBACb,iBAAM,SAAS,uBAAf,mBAAmC,WAAnC,YAA6C;AAAA,cAC/C;AACA,kBAAI,MAAM,SAAS,OAAO;AACxB,sBAAM,cAAc,MAAM,SAAS,MAAM;AACzC,sBAAM,eAAe,MAAM,SAAS,MAAM;AAC1C,sBAAM,eACJ,WAAM,SAAS,MAAM,iBAArB,YACA,MAAM,SAAS,MAAM,eACnB,MAAM,SAAS,MAAM;AAAA,cAC3B;AACA;AAAA,YACF;AAEA,gBAAI,sBAAsB,KAAK,GAAG;AAChC,yBAAW,QAAQ;AAAA,gBACjB,MAAM;AAAA,gBACN,IAAI,MAAM;AAAA,gBACV,OAAO,MAAM;AAAA,cACf,CAAC;AACD;AAAA,YACF;AAEA,gBAAI,oBAAoB,KAAK,GAAG;AAC9B,yBAAW,QAAQ;AAAA,gBACjB,MAAM;AAAA,gBACN,IAAI,MAAM;AAAA,cACZ,CAAC;AACD;AAAA,YACF;AAEA,gBAAI,iBAAiB,KAAK,GAAG;AAC3B,yBAAW,QAAQ;AAAA,gBACjB,MAAM;AAAA,gBACN,IAAI,MAAM;AAAA,gBACV,OAAO,MAAM;AAAA,cACf,CAAC;AACD;AAAA,YACF;AAAA,UACF;AAAA,UAEA,MAAM,YAAY;AAChB,uBAAW,QAAQ;AAAA,cACjB,MAAM;AAAA,cACN;AAAA,cACA;AAAA,cACA,kBAAkB;AAAA,gBAChB,aAAa;AAAA,kBACX;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,SAAS,EAAE,KAAK;AAAA,MAChB,UAAU,EAAE,SAAS,gBAAgB;AAAA,IACvC;AAAA,EACF;AACF;AAEA,IAAM,4CAA4C,aAAE,OAAO;AAAA,EACzD,UAAU,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACpD,cAAc,aAAE,OAAO,EAAE,SAAS;AAAA,EAClC,kBAAkB,aAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,iBAAiB,aAAE,OAAO,EAAE,SAAS;AACvC,CAAC;AAED,IAAM,mCAAmC,aAAE,mBAAmB,QAAQ;AAAA,EACpE,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,SAAS;AAAA,IACzB,IAAI,aAAE,OAAO;AAAA,IACb,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,SAAS,aAAE;AAAA,MACT,aAAE,OAAO;AAAA,QACP,MAAM,aAAE,QAAQ,aAAa;AAAA,QAC7B,MAAM,aAAE,OAAO;AAAA,QACf,aAAa,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACzC,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAAA,EACD,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,WAAW;AAAA,IAC3B,IAAI,aAAE,OAAO;AAAA,IACb,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,SAAS,aAAE;AAAA,MACT,aAAE,OAAO;AAAA,QACP,MAAM,aAAE,QAAQ,gBAAgB;AAAA,QAChC,MAAM,aAAE,OAAO;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,IACA,SAAS,aACN;AAAA,MACC,aACG,OAAO;AAAA,QACN,MAAM,aAAE,QAAQ,mBAAmB;AAAA,QACnC,MAAM,aAAE,OAAO;AAAA,MACjB,CAAC,EACA,SAAS;AAAA,IACd,EACC,SAAS;AAAA,EACd,CAAC;AAAA,EACD,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,eAAe;AAAA,IAC/B,IAAI,aAAE,OAAO;AAAA,IACb,SAAS,aAAE,OAAO;AAAA,IAClB,MAAM,aAAE,OAAO;AAAA,IACf,WAAW,aAAE,OAAO;AAAA,IACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,UAAU;AAAA,IAC1B,IAAI,aAAE,OAAO;AAAA,IACb,MAAM,aAAE,OAAO;AAAA,IACf,WAAW,aAAE,OAAO;AAAA,IACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,QAAQ,gBAAgB;AAAA,IAChC,IAAI,aAAE,OAAO;AAAA,IACb,cAAc,aAAE,OAAO;AAAA,IACvB,OAAO,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACjC,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AACH,CAAC;AAED,IAAM,qCAAqC,aAAE,OAAO;AAAA,EAClD,IAAI,aAAE,OAAO;AAAA,EACb,OAAO,aAAE,OAAO;AAAA,EAChB,QAAQ,aAAE,OAAO;AAAA,EACjB,YAAY,aAAE,OAAO;AAAA,EACrB,QAAQ,aAAE,OAAO;AAAA,EACjB,OAAO,aAAE,IAAI,EAAE,SAAS;AAAA,EACxB,cAAc,aAAE,IAAI,EAAE,SAAS;AAAA,EAC/B,mBAAmB,aAAE,IAAI,EAAE,SAAS;AAAA,EACpC,UAAU,aAAE,IAAI,EAAE,SAAS;AAAA,EAC3B,aAAa,aAAE,IAAI;AAAA,EACnB,OAAO,aAAE,MAAM,aAAE,IAAI,CAAC;AAAA,EACtB,aAAa,aAAE,OAAO;AAAA,EACtB,OAAO,aAAE,OAAO;AAAA,EAChB,oBAAoB,aACjB,OAAO;AAAA,IACN,QAAQ,aAAE,OAAO;AAAA,EACnB,CAAC,EACA,SAAS,EACT,SAAS;AAAA,EACZ,OAAO,aACJ,OAAO;AAAA,IACN,cAAc,aAAE,OAAO;AAAA,IACvB,sBAAsB,aACnB,OAAO;AAAA,MACN,eAAe,aAAE,OAAO;AAAA,IAC1B,CAAC,EACA,SAAS;AAAA,IACZ,eAAe,aAAE,OAAO;AAAA,IACxB,uBAAuB,aACpB,OAAO;AAAA,MACN,kBAAkB,aAAE,OAAO;AAAA,IAC7B,CAAC,EACA,SAAS;AAAA,IACZ,cAAc,aAAE,OAAO;AAAA,EACzB,CAAC,EACA,SAAS,EACT,SAAS;AAAA,EACZ,QAAQ,aAAE,MAAM,gCAAgC;AAAA,EAChD,aAAa,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC9C,CAAC;AAED,IAAM,gCAAgC,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,QAAQ,4BAA4B;AAAA,EAC5C,cAAc,aAAE,OAAO;AAAA,EACvB,MAAM,aAAE,mBAAmB,QAAQ;AAAA,IACjC,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,SAAS;AAAA,MACzB,IAAI,aAAE,OAAO;AAAA,MACb,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,MAC1B,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACrC,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,WAAW;AAAA,MAC3B,IAAI,aAAE,OAAO;AAAA,MACb,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACnC,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACrC,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,gBAAgB;AAAA,MAChC,IAAI,aAAE,OAAO;AAAA,MACb,cAAc,aAAE,OAAO;AAAA,MACvB,OAAO,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACjC,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,UAAU;AAAA,MAC1B,IAAI,aAAE,OAAO;AAAA,MACb,cAAc,aAAE,OAAO;AAAA,MACvB,MAAM,aAAE,OAAO;AAAA,MACf,WAAW,aAAE,OAAO;AAAA,MACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,eAAe;AAAA,MAC/B,IAAI,aAAE,OAAO;AAAA,MACb,SAAS,aAAE,OAAO;AAAA,MAClB,MAAM,aAAE,OAAO;AAAA,MACf,WAAW,aAAE,OAAO;AAAA,MACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH,CAAC;AAAA,EACD,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,+BAA+B,aAAE,OAAO;AAAA,EAC5C,MAAM,aAAE,QAAQ,2BAA2B;AAAA,EAC3C,cAAc,aAAE,OAAO;AAAA,EACvB,MAAM,aAAE,mBAAmB,QAAQ;AAAA,IACjC,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,SAAS;AAAA,MACzB,IAAI,aAAE,OAAO;AAAA,MACb,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,MAC1B,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACrC,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,gBAAgB;AAAA,MAChC,IAAI,aAAE,OAAO;AAAA,MACb,cAAc,aAAE,OAAO;AAAA,MACvB,OAAO,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACjC,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,UAAU;AAAA,MAC1B,IAAI,aAAE,OAAO;AAAA,MACb,cAAc,aAAE,OAAO;AAAA,MACvB,MAAM,aAAE,OAAO;AAAA,MACf,WAAW,aAAE,OAAO;AAAA,MACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,eAAe;AAAA,MAC/B,IAAI,aAAE,OAAO;AAAA,MACb,SAAS,aAAE,OAAO;AAAA,MAClB,MAAM,aAAE,OAAO;AAAA,MACf,WAAW,aAAE,OAAO;AAAA,MACpB,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,OAAO,aAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,IACD,aAAE,OAAO;AAAA,MACP,MAAM,aAAE,QAAQ,WAAW;AAAA,MAC3B,IAAI,aAAE,OAAO;AAAA,MACb,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACnC,SAAS,aAAE,MAAM,aAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACrC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,uBAAuB,aAAE,OAAO;AAAA,EACpC,MAAM,aAAE,QAAQ,4BAA4B;AAAA,EAC5C,SAAS,aAAE,OAAO;AAAA,EAClB,cAAc,aAAE,OAAO;AAAA,EACvB,eAAe,aAAE,OAAO;AAAA,EACxB,OAAO,aAAE,OAAO;AAAA,EAChB,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,gCAAgC,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,QAAQ,+BAA+B;AAAA,EAC/C,SAAS,aAAE,OAAO;AAAA,EAClB,cAAc,aAAE,OAAO;AAAA,EACvB,eAAe,aAAE,OAAO;AAAA,EACxB,OAAO,aAAE,OAAO;AAAA,EAChB,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,8BAA8B,aAAE,OAAO;AAAA,EAC3C,MAAM,aAAE,QAAQ,8BAA8B;AAAA,EAC9C,SAAS,aAAE,OAAO;AAAA,EAClB,cAAc,aAAE,OAAO;AAAA,EACvB,eAAe,aAAE,OAAO;AAAA,EACxB,MAAM,aAAE,OAAO;AAAA,EACf,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,+BAA+B,aAAE,OAAO;AAAA,EAC5C,MAAM,aAAE,QAAQ,oBAAoB;AAAA,EACpC,UAAU;AAAA,EACV,iBAAiB,aAAE,OAAO;AAC5B,CAAC;AAED,IAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,MAAM,aAAE,QAAQ,kBAAkB;AAAA,EAClC,UAAU,aAAE,OAAO;AAAA,IACjB,IAAI,aAAE,OAAO;AAAA,IACb,QAAQ,aAAE,OAAO;AAAA,IACjB,YAAY,aAAE,OAAO;AAAA,IACrB,QAAQ,aAAE,OAAO;AAAA,IACjB,OAAO,aAAE,OAAO;AAAA,EAClB,CAAC;AACH,CAAC;AAED,IAAM,kCAAkC,aAAE,MAAM;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAE,OAAO,EAAE,MAAM,aAAE,OAAO,EAAE,CAAC,EAAE,MAAM;AAAA;AACvC,CAAC;AAED,SAAS,+BACP,OACwD;AACxD,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,8BACP,OACuD;AACvD,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,iBACP,OAC+C;AAC/C,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,sBACP,OACwD;AACxD,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,oBACP,OACsD;AACtD,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,yBACP,OACuD;AACvD,SAAO,MAAM,SAAS;AACxB;AAEA,SAAS,uBACP,OACqD;AACrD,SAAO,MAAM,SAAS;AACxB;;;AD/vBO,SAAS,kBACd,UAAuC,CAAC,GACnB;AA1DvB;AA2DE,QAAM,WACJ,sDAAqB,QAAQ,OAAO,MAApC,YAAyC;AAE3C,QAAM,aAAa,OAAO;AAAA,IACxB,eAAe,cAAU,mCAAW;AAAA,MAClC,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC,CAAC;AAAA,IACF,GAAG,QAAQ;AAAA,EACb;AAEA,QAAM,uBAAuB,CAAC,YAAyC;AAvEzE,QAAAC;AAwEI,WAAO,IAAI,kCAAkC,SAAS;AAAA,MACpD,UAAU;AAAA,MACV,KAAK,CAAC,EAAE,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI;AAAA,MACpC,SAAS;AAAA,MACT,OAAO,QAAQ;AAAA,MACf,aAAYA,MAAA,QAAQ,eAAR,OAAAA,MAAsB;AAAA,IACpC,CAAC;AAAA,EACH;AAEA,QAAM,WAAW,CAAC,YAChB,qBAAqB,OAAO;AAE9B,WAAS,uBAAuB;AAChC,WAAS,gBAAgB;AACzB,WAAS,YAAY;AAErB,WAAS,iBAAiB,CAAC,YAAoB;AAC7C,UAAM,IAAI,kCAAiB;AAAA,MACzB;AAAA,MACA,WAAW;AAAA,MACX,SACE;AAAA,IACJ,CAAC;AAAA,EACH;AAEA,WAAS,aAAa,CAAC,YAAoB;AACzC,UAAM,IAAI,kCAAiB;AAAA,MACzB;AAAA,MACA,WAAW;AAAA,MACX,SACE;AAAA,IACJ,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAKO,IAAM,cAAc,kBAAkB;","names":["import_provider","import_provider_utils","import_provider","import_provider_utils","import_v4","_a"]}
package/dist/index.mjs CHANGED
@@ -161,7 +161,7 @@ function prepareResponsesTools({
161
161
  parameters: tool.inputSchema
162
162
  });
163
163
  break;
164
- case "provider-defined":
164
+ case "provider":
165
165
  toolWarnings.push({
166
166
  type: "unsupported",
167
167
  feature: `provider-defined tool ${tool.id}`
@@ -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-defined':\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-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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/huggingface",
3
- "version": "1.0.0-beta.35",
3
+ "version": "1.0.0-beta.37",
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.39",
24
- "@ai-sdk/provider": "3.0.0-beta.20",
25
- "@ai-sdk/provider-utils": "4.0.0-beta.38"
23
+ "@ai-sdk/openai-compatible": "2.0.0-beta.41",
24
+ "@ai-sdk/provider": "3.0.0-beta.22",
25
+ "@ai-sdk/provider-utils": "4.0.0-beta.40"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "20.17.24",