@workglow/huggingface-inference 0.4.5 → 0.4.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"HFI_ModelInfo.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFI_ModelInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAkGhE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CACzC,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,CAsBvB,CAAC"}
1
+ {"version":3,"file":"HFI_ModelInfo.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFI_ModelInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAmGhE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CACzC,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,CAsBvB,CAAC"}
@@ -10,7 +10,7 @@
10
10
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai/worker\";\n\n/**\n * Single source of truth for HuggingFace Inference's capability sets.\n *\n * Both `HFI_RUN_FNS` (worker-side registration) and `workerRunFnSpecs()`\n * (main-thread proxy declaration) derive their `serves` arrays from these\n * named exports. SDK-free so the main thread can import without paying the\n * `@huggingface/inference` cost.\n */\nexport const HFI_TEXT_GENERATION = [\"text.generation\"] as const satisfies Capability[];\nexport const HFI_TOOL_USE = [\"text.generation\", \"tool-use\"] as const satisfies Capability[];\nexport const HFI_TEXT_REWRITER = [\"text.rewriter\"] as const satisfies Capability[];\nexport const HFI_TEXT_SUMMARY = [\"text.summary\"] as const satisfies Capability[];\nexport const HFI_TEXT_EMBEDDING = [\"text.embedding\"] as const satisfies Capability[];\nexport const HFI_IMAGE_GENERATION = [\"image.generation\"] as const satisfies Capability[];\nexport const HFI_IMAGE_EDITING = [\"image.editing\"] as const satisfies Capability[];\nexport const HFI_MODEL_SEARCH = [\"model.search\"] as const satisfies Capability[];\nexport const HFI_MODEL_INFO = [\"model.info\"] as const satisfies Capability[];\n\n/** Aggregated list — for `workerRunFnSpecs()` derivation. Order MUST match `HFI_RUN_FNS`. */\nexport const HFI_CAPABILITY_SETS = [\n HFI_TEXT_GENERATION,\n HFI_TOOL_USE,\n HFI_TEXT_REWRITER,\n HFI_TEXT_SUMMARY,\n HFI_TEXT_EMBEDDING,\n HFI_IMAGE_GENERATION,\n HFI_IMAGE_EDITING,\n HFI_MODEL_SEARCH,\n HFI_MODEL_INFO,\n] as const;\n",
11
11
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ImageEditTaskInput, ImageEditTaskOutput } from \"@workglow/ai\";\nimport { ImageGenerationContentPolicyError, ImageGenerationProviderError } from \"@workglow/ai\";\nimport type { ImageValue } from \"@workglow/util/media\";\nimport { getLogger } from \"@workglow/util/worker\";\n\nimport {\n blobToImageValue,\n imageValueToPngBytes,\n modelIdForError,\n} from \"@workglow/ai/provider-utils\";\nimport { resolveHfImageDims } from \"./HFI_AspectRatio\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * Convert an inbound `ImageValue` (or a legacy data URI string) to a PNG Blob.\n */\nasync function gpuImageToBlob(image: ImageValue | string): Promise<Blob> {\n const bytes = await imageValueToPngBytes(image);\n // Copy into a fresh ArrayBuffer to avoid SharedArrayBuffer typing issues\n // with BlobPart.\n const buffer: ArrayBuffer =\n bytes.buffer instanceof ArrayBuffer\n ? bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength)\n : new Uint8Array(bytes).buffer;\n return new Blob([buffer], { type: \"image/png\" });\n}\n\n/**\n * One-shot run fn. HF Inference does not support partial image streaming,\n * so we run the request, emit one snapshot, then finish.\n */\nexport const HFI_ImageEdit_Stream: AiProviderRunFn<\n ImageEditTaskInput,\n ImageEditTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timer = `hfi:ImageEdit:${getModelName(model)}`;\n logger.time(timer);\n\n let result: ImageEditTaskOutput;\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const dims = resolveHfImageDims(modelName, (input.aspectRatio as any) ?? \"1:1\");\n\n // image/mask may be data URI strings if the input crossed an earlier\n // worker boundary in legacy form; otherwise they are ImageValue POJOs.\n const inputBlob = await gpuImageToBlob(input.image as unknown as ImageValue | string);\n const params: Record<string, unknown> = {\n width: dims.width,\n height: dims.height,\n seed: input.seed,\n negative_prompt: input.negativePrompt,\n prompt: input.prompt,\n ...(input.providerOptions ?? {}),\n };\n if (input.mask) {\n const maskBlob = await gpuImageToBlob(input.mask as unknown as ImageValue | string);\n params.mask_image = maskBlob;\n }\n\n const blob: Blob = await client.imageToImage(\n {\n model: modelName,\n inputs: inputBlob,\n parameters: params,\n },\n { signal }\n );\n const image = await blobToImageValue(blob);\n logger.timeEnd(timer);\n result = { image };\n } catch (err) {\n if (\n err instanceof ImageGenerationProviderError ||\n err instanceof ImageGenerationContentPolicyError\n )\n throw err;\n const msg = err instanceof Error ? err.message : \"unknown error\";\n if (/NSFW|safety|policy/i.test(msg))\n throw new ImageGenerationContentPolicyError(modelIdForError(model, \"huggingface\"), msg);\n throw new ImageGenerationProviderError(modelIdForError(model, \"huggingface\"), msg, {\n cause: err as Error,\n });\n }\n\n if (signal.aborted) return;\n emit({ type: \"finish\", data: result });\n};\n",
12
12
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ImageGenerateTaskInput,\n ImageGenerateTaskOutput,\n} from \"@workglow/ai\";\nimport { ImageGenerationContentPolicyError, ImageGenerationProviderError } from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\n\nimport { blobToImageValue, modelIdForError } from \"@workglow/ai/provider-utils\";\nimport { resolveHfImageDims } from \"./HFI_AspectRatio\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * One-shot run fn. HF Inference does not support partial image streaming,\n * so we run the request, emit one snapshot, then finish.\n */\nexport const HFI_ImageGenerate_Stream: AiProviderRunFn<\n ImageGenerateTaskInput,\n ImageGenerateTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timer = `hfi:ImageGenerate:${getModelName(model)}`;\n logger.time(timer);\n\n let result: ImageGenerateTaskOutput;\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const dims = resolveHfImageDims(modelName, (input.aspectRatio as any) ?? \"1:1\");\n\n const blob: Blob = await client.textToImage(\n {\n model: modelName,\n inputs: input.prompt,\n parameters: {\n width: dims.width,\n height: dims.height,\n seed: input.seed,\n negative_prompt: input.negativePrompt,\n ...(input.providerOptions ?? {}),\n },\n },\n { outputType: \"blob\" as const, signal }\n );\n const image = await blobToImageValue(blob);\n logger.timeEnd(timer);\n result = { image };\n } catch (err) {\n if (\n err instanceof ImageGenerationProviderError ||\n err instanceof ImageGenerationContentPolicyError\n )\n throw err;\n const msg = err instanceof Error ? err.message : \"unknown error\";\n if (/NSFW|safety|policy/i.test(msg))\n throw new ImageGenerationContentPolicyError(modelIdForError(model, \"huggingface\"), msg);\n throw new ImageGenerationProviderError(modelIdForError(model, \"huggingface\"), msg, {\n cause: err as Error,\n });\n }\n\n if (signal.aborted) return;\n emit({ type: \"finish\", data: result });\n};\n",
13
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport { resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nconst HF_API_BASE = \"https://huggingface.co/api\";\n\n/** Characters the Hub allows in a namespace or repo name. */\nconst HF_REPO_SEGMENT = /^[\\w.-]+$/;\n\n/** `.` and `..` pass the charset test but would traverse out of `/api/models`. */\nfunction isValidSegment(segment: string): boolean {\n return HF_REPO_SEGMENT.test(segment) && segment !== \".\" && segment !== \"..\";\n}\n\n/**\n * Build the `{namespace}/{name}` path for a Hub model id. The slash separating\n * the two segments is a path separator, so the id is encoded per segment: a\n * whole-id `encodeURIComponent` turns it into `%2F` and the Hub answers 400.\n * Each segment is still encoded even though the validated charset needs no\n * escaping — that stays correct if the accepted charset ever widens.\n */\nfunction hfModelPath(modelName: string): string {\n const segments = modelName.split(\"/\");\n if (segments.length > 2 || !segments.every(isValidSegment)) {\n throw new Error(`${HF_INFERENCE} model \"${modelName}\" is not a valid Hugging Face repo id`);\n }\n return segments.map(encodeURIComponent).join(\"/\");\n}\n\nfunction modelNameOf(model: HfInferenceModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nfunction apiKeyOf(model: HfInferenceModelConfig | undefined): string | undefined {\n const config = model?.provider_config as\n { credential_key?: string; api_key?: string } | undefined;\n try {\n return resolveApiKey({\n config,\n envVar: \"HF_TOKEN\",\n providerLabel: \"Hugging Face Inference\",\n });\n } catch {\n // Hub model lookup works without a token for public models; generation\n // still requires a key elsewhere.\n return config?.api_key ?? config?.credential_key;\n }\n}\n\n/**\n * Confirm the model id exists on the Hugging Face Hub via GET /api/models/{id}.\n * Does not use curated fallback lists.\n */\nasync function assertHfModelExists(\n model: HfInferenceModelConfig | undefined,\n signal: AbortSignal | undefined\n): Promise<string> {\n const modelName = modelNameOf(model);\n const token = apiKeyOf(model);\n const res = await fetch(`${HF_API_BASE}/models/${hfModelPath(modelName)}`, {\n signal,\n headers: token ? { Authorization: `Bearer ${token}` } : undefined,\n });\n if (res.status === 404) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" was not found (provider API returned not found)`\n );\n }\n // A 4xx that is not 404 is the request being rejected, not the model missing;\n // reporting it as a lookup failure hides a malformed request.\n if (res.status >= 400 && res.status < 500) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup was rejected by the Hugging Face API (${res.status})`\n );\n }\n if (!res.ok) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup failed (HuggingFace API returned ${res.status})`\n );\n }\n return modelName;\n}\n\nfunction remoteInfoBase(input: ModelInfoTaskInput): ModelInfoTaskOutput {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n}\n\n/**\n * One-shot run-fn for `[\"model.info\"]`. Verifies the model exists on the\n * Hugging Face Hub, then emits a remote info record. When `detail` is\n * `\"dimensions\"`, attaches provider_config dimensions after the check.\n */\nexport const HFI_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n await assertHfModelExists(model, signal);\n const base = remoteInfoBase(input);\n\n if (input.detail === \"dimensions\") {\n const pc = model?.provider_config as Record<string, unknown>;\n const native_dimensions =\n typeof pc?.native_dimensions === \"number\" ? pc.native_dimensions : undefined;\n const mrl = typeof pc?.mrl === \"boolean\" ? pc.mrl : false;\n emit({\n type: \"finish\",\n data: {\n ...base,\n ...(native_dimensions !== undefined ? { native_dimensions } : {}),\n ...(mrl ? { mrl } : {}),\n },\n });\n return;\n }\n\n emit({ type: \"finish\", data: base });\n};\n",
13
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport { resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nconst HF_API_BASE = \"https://huggingface.co/api\";\n\n/** Characters the Hub allows in a namespace or repo name. */\nconst HF_REPO_SEGMENT = /^[\\w.-]+$/;\n\n/** `.` and `..` pass the charset test but would traverse out of `/api/models`. */\nfunction isValidSegment(segment: string): boolean {\n return HF_REPO_SEGMENT.test(segment) && segment !== \".\" && segment !== \"..\";\n}\n\n/**\n * Build the `{namespace}/{name}` path for a Hub model id. The slash separating\n * the two segments is a path separator, so the id is encoded per segment: a\n * whole-id `encodeURIComponent` turns it into `%2F` and the Hub answers 400.\n * Each segment is still encoded even though the validated charset needs no\n * escaping — that stays correct if the accepted charset ever widens.\n */\nfunction hfModelPath(modelName: string): string {\n const segments = modelName.split(\"/\");\n if (segments.length > 2 || !segments.every(isValidSegment)) {\n throw new Error(`${HF_INFERENCE} model \"${modelName}\" is not a valid Hugging Face repo id`);\n }\n return segments.map(encodeURIComponent).join(\"/\");\n}\n\nfunction modelNameOf(model: HfInferenceModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nfunction apiKeyOf(model: HfInferenceModelConfig | undefined): string | undefined {\n const config = model?.provider_config as\n | { credential_key?: string; api_key?: string }\n | undefined;\n try {\n return resolveApiKey({\n config,\n envVar: \"HF_TOKEN\",\n providerLabel: \"Hugging Face Inference\",\n });\n } catch {\n // Hub model lookup works without a token for public models; generation\n // still requires a key elsewhere.\n return config?.api_key ?? config?.credential_key;\n }\n}\n\n/**\n * Confirm the model id exists on the Hugging Face Hub via GET /api/models/{id}.\n * Does not use curated fallback lists.\n */\nasync function assertHfModelExists(\n model: HfInferenceModelConfig | undefined,\n signal: AbortSignal | undefined\n): Promise<string> {\n const modelName = modelNameOf(model);\n const token = apiKeyOf(model);\n const res = await fetch(`${HF_API_BASE}/models/${hfModelPath(modelName)}`, {\n signal,\n headers: token ? { Authorization: `Bearer ${token}` } : undefined,\n });\n if (res.status === 404) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" was not found (provider API returned not found)`\n );\n }\n // A 4xx that is not 404 is the request being rejected, not the model missing;\n // reporting it as a lookup failure hides a malformed request.\n if (res.status >= 400 && res.status < 500) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup was rejected by the Hugging Face API (${res.status})`\n );\n }\n if (!res.ok) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup failed (HuggingFace API returned ${res.status})`\n );\n }\n return modelName;\n}\n\nfunction remoteInfoBase(input: ModelInfoTaskInput): ModelInfoTaskOutput {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n}\n\n/**\n * One-shot run-fn for `[\"model.info\"]`. Verifies the model exists on the\n * Hugging Face Hub, then emits a remote info record. When `detail` is\n * `\"dimensions\"`, attaches provider_config dimensions after the check.\n */\nexport const HFI_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n await assertHfModelExists(model, signal);\n const base = remoteInfoBase(input);\n\n if (input.detail === \"dimensions\") {\n const pc = model?.provider_config as Record<string, unknown>;\n const native_dimensions =\n typeof pc?.native_dimensions === \"number\" ? pc.native_dimensions : undefined;\n const mrl = typeof pc?.mrl === \"boolean\" ? pc.mrl : false;\n emit({\n type: \"finish\",\n data: {\n ...base,\n ...(native_dimensions !== undefined ? { native_dimensions } : {}),\n ...(mrl ? { mrl } : {}),\n },\n });\n return;\n }\n\n emit({ type: \"finish\", data: base });\n};\n",
14
14
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport {\n filterLabeledModelsByQuery,\n mapHfModelResult,\n searchHfModels,\n} from \"@workglow/ai/provider-utils\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\n\n/** Models with explicit capability overrides (HF pipeline tags don't cover image.generation/image.editing). */\nconst HFI_IMAGE_MODELS: Array<{ id: string; capabilities: string[] }> = [\n { id: \"black-forest-labs/FLUX.1-schnell\", capabilities: [\"image.generation\"] },\n { id: \"black-forest-labs/FLUX.1-Kontext-dev\", capabilities: [\"image.editing\"] },\n];\n\nfunction buildFallbackResults(): ModelSearchResultItem[] {\n return HFI_IMAGE_MODELS.map((m) => ({\n id: m.id,\n label: m.id,\n description: \"\",\n record: {\n model_id: m.id,\n provider: HF_INFERENCE,\n title: m.id.split(\"/\").pop() ?? m.id,\n description: \"\",\n capabilities: m.capabilities,\n provider_config: { model_name: m.id },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const HFI_ModelSearch: AiProviderRunFn<ModelSearchTaskInput, ModelSearchTaskOutput> = async (\n input,\n _model,\n signal,\n emit\n) => {\n const query = input.query?.trim() ?? \"\";\n if (!input.credential_key) {\n const fallback = buildFallbackResults();\n const labeled = fallback.map((r) => ({ label: r.label, value: r.id }));\n const filtered = filterLabeledModelsByQuery(labeled, query).map((m) =>\n fallback.find((r) => r.id === m.value)!\n );\n emit({ type: \"finish\", data: { results: filtered } });\n return;\n }\n\n const entries = await searchHfModels(query, undefined, undefined, signal, input.credential_key);\n const results = entries.map((entry) => {\n const imageEntry = HFI_IMAGE_MODELS.find((m) => m.id === entry.id);\n const mapped = mapHfModelResult(entry, HF_INFERENCE);\n if (imageEntry) {\n // Merge explicit task list into the mapped record.\n mapped.record.capabilities = imageEntry.capabilities;\n }\n return mapped;\n });\n emit({ type: \"finish\", data: { results } });\n};\n",
15
15
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nexport const HFI_TextEmbedding: AiProviderRunFn<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timerLabel = `hfi:TextEmbedding:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n if (Array.isArray(input.text)) {\n const embeddings = await Promise.all(\n input.text.map((text) =>\n client.featureExtraction(\n {\n model: modelName,\n inputs: text,\n },\n { signal }\n )\n )\n );\n\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name, batch: true });\n emit({\n type: \"finish\",\n data: {\n vector: embeddings.map((embedding) => new Float32Array(embedding as unknown as number[])),\n },\n });\n return;\n }\n\n const embedding = await client.featureExtraction(\n {\n model: modelName,\n inputs: input.text,\n },\n { signal }\n );\n\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n emit({\n type: \"finish\",\n data: { vector: new Float32Array(embedding as unknown as number[]) },\n });\n};\n",
16
16
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n Usage,\n} from \"@workglow/ai\";\nimport {\n createEstimatedOutputUsageReporter,\n mapOpenAIChatUsage,\n} from \"@workglow/ai/provider-utils\";\nimport { toOpenAIMessages } from \"@workglow/ai/worker\";\nimport { getClient, getModelName, getProvider } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * `TextGenerationTask` and `AiChatTask` share `requires: [\"text.generation\"]`,\n * so the dispatcher routes both here. AiChatTask supplies a populated\n * `messages` array; TextGenerationTask supplies only a `prompt` string.\n */\ninterface UnifiedTextGenerationInput extends TextGenerationTaskInput {\n readonly messages?: readonly unknown[];\n readonly systemPrompt?: string;\n}\n\nexport const HFI_TextGeneration_Stream: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const provider = getProvider(model);\n\n // Prefer a populated chat history (AiChatTask); fall back to wrapping\n // `prompt` as a single user turn (TextGenerationTask). Without this, chat\n // history routed to HFI was silently dropped.\n const unified = input as UnifiedTextGenerationInput;\n const hasMessages = Array.isArray(unified.messages) && unified.messages.length > 0;\n // HF's chat endpoint is OpenAI-compatible at runtime, but the SDK types a\n // content part's `type` as a narrow enum, so the OpenAI-shaped messages need\n // a cast to the client's expected parameter type. Null content (e.g. an\n // assistant tool-call turn) is coerced to an empty string.\n const messages = (hasMessages\n ? toOpenAIMessages({\n messages: unified.messages,\n systemPrompt: unified.systemPrompt,\n prompt: \"\",\n tools: [],\n } as never).map((m) => ({ ...m, content: m.content ?? \"\" }))\n : [{ role: \"user\", content: input.prompt }]) as unknown as Parameters<\n typeof client.chatCompletionStream\n >[0][\"messages\"];\n\n // HF Inference rarely reports mid-stream usage; estimate ↑ before the request\n // and ↓ from deltas so the CLI counter still moves during the call.\n const provisionalUsage = createEstimatedOutputUsageReporter(emit);\n provisionalUsage.onPrompt(\n messages\n .map((m) => (typeof m.content === \"string\" ? m.content : \"\"))\n .filter(Boolean)\n .join(\"\\n\")\n );\n\n const stream = client.chatCompletionStream(\n {\n model: modelName,\n messages,\n max_tokens: input.maxTokens,\n temperature: input.temperature,\n top_p: input.topP,\n frequency_penalty: input.frequencyPenalty,\n provider,\n },\n { signal }\n );\n\n // The usage-bearing chunk arrives last with an empty `choices` array, so it\n // is read before the delta guard below rather than inside it. Whether it\n // arrives at all is up to the third-party provider the request is routed to;\n // when it does not, `usage` stays undefined and the estimate above remains\n // the only feedback.\n let usage: Usage | undefined;\n for await (const chunk of stream) {\n usage = mapOpenAIChatUsage((chunk as { usage?: unknown }).usage) ?? usage;\n const delta = chunk.choices?.[0]?.delta?.content ?? \"\";\n if (delta) {\n provisionalUsage.onText(delta);\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta });\n }\n }\n provisionalUsage.flush();\n emit({ type: \"finish\", data: {} as TextGenerationTaskOutput, usage });\n};\n",
@@ -23,7 +23,7 @@
23
23
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { registerProviderWorker } from \"@workglow/ai/provider-utils\";\nimport { HFI_RUN_FNS } from \"./common/HFI_JobRunFns\";\nimport { HfInferenceProvider } from \"./HfInferenceProvider\";\n\nexport async function registerHfInferenceWorker(): Promise<void> {\n await registerProviderWorker(\n (ws) => new HfInferenceProvider(HFI_RUN_FNS).registerOnWorkerServer(ws),\n \"Hugging Face Inference\"\n );\n}\n",
24
24
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport type { Capability, ModelRecord } from \"@workglow/ai/worker\";\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport {\n hfInferenceWorkerRunFnSpecs,\n inferHfInferenceCapabilities,\n} from \"./common/HFI_Capabilities\";\nimport { HF_INFERENCE } from \"./common/HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./common/HFI_ModelSchema\";\n\n/**\n * Worker-server registration for Hugging Face Inference. Imports `AiProvider`\n * from `@workglow/ai/worker` so the SDK is only loaded in the worker.\n */\nexport class HfInferenceProvider extends createCloudProviderClass<HfInferenceModelConfig>(\n AiProvider,\n {\n name: HF_INFERENCE,\n displayName: \"Hugging Face Inference\",\n }\n) {\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferHfInferenceCapabilities(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return hfInferenceWorkerRunFnSpecs();\n }\n}\n"
25
25
  ],
26
- "mappings": "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",
26
+ "mappings": "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",
27
27
  "debugId": "210B8772EE494FC764756E2164756E21",
28
28
  "names": []
29
29
  }
package/dist/ai.js.map CHANGED
@@ -14,7 +14,7 @@
14
14
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { InferenceProviderOrPolicy } from \"@huggingface/inference\";\nimport { resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\ntype HfInferenceSDKModule = typeof import(\"@huggingface/inference\");\n\nlet _loadPromise: Promise<HfInferenceSDKModule> | undefined;\nlet _sdkOverride: HfInferenceSDKModule | undefined;\n\n// NOTE: we do not want to de-dup this in the provider-utils, vite wants direct import with string literals.\nexport async function loadHfInferenceSDK(): Promise<HfInferenceSDKModule> {\n if (_sdkOverride) return _sdkOverride;\n _loadPromise ??= import(/* @vite-ignore */ \"@huggingface/inference\")\n .then((mod) => mod as HfInferenceSDKModule)\n .catch(() => {\n _loadPromise = undefined;\n throw new Error(\n \"@huggingface/inference is required for Hugging Face Inference tasks. Install it with: bun add @huggingface/inference\"\n );\n });\n return _loadPromise;\n}\n\n/**\n * @internal Test-only injection point. The dynamic `import()` in\n * {@link loadHfInferenceSDK} carries a `@vite-ignore` directive, so `vi.mock`\n * cannot intercept it; tests set a fake SDK module here instead.\n */\nexport function _setHfInferenceSDKForTesting(sdk: HfInferenceSDKModule | undefined): void {\n _sdkOverride = sdk;\n _loadPromise = undefined;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly provider?: string;\n}\n\nexport async function getClient(model: HfInferenceModelConfig | undefined) {\n const sdk = await loadHfInferenceSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"HF_TOKEN\",\n providerLabel: \"Hugging Face\",\n });\n try {\n return new sdk.InferenceClient(apiKey);\n } catch (err) {\n throw new Error(\n `Failed to create HuggingFace Inference client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: HfInferenceModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getProvider(\n model: HfInferenceModelConfig | undefined\n): InferenceProviderOrPolicy | undefined {\n return model?.provider_config?.provider as InferenceProviderOrPolicy | undefined;\n}\n",
15
15
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ImageEditTaskInput, ImageEditTaskOutput } from \"@workglow/ai\";\nimport { ImageGenerationContentPolicyError, ImageGenerationProviderError } from \"@workglow/ai\";\nimport type { ImageValue } from \"@workglow/util/media\";\nimport { getLogger } from \"@workglow/util/worker\";\n\nimport {\n blobToImageValue,\n imageValueToPngBytes,\n modelIdForError,\n} from \"@workglow/ai/provider-utils\";\nimport { resolveHfImageDims } from \"./HFI_AspectRatio\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * Convert an inbound `ImageValue` (or a legacy data URI string) to a PNG Blob.\n */\nasync function gpuImageToBlob(image: ImageValue | string): Promise<Blob> {\n const bytes = await imageValueToPngBytes(image);\n // Copy into a fresh ArrayBuffer to avoid SharedArrayBuffer typing issues\n // with BlobPart.\n const buffer: ArrayBuffer =\n bytes.buffer instanceof ArrayBuffer\n ? bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength)\n : new Uint8Array(bytes).buffer;\n return new Blob([buffer], { type: \"image/png\" });\n}\n\n/**\n * One-shot run fn. HF Inference does not support partial image streaming,\n * so we run the request, emit one snapshot, then finish.\n */\nexport const HFI_ImageEdit_Stream: AiProviderRunFn<\n ImageEditTaskInput,\n ImageEditTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timer = `hfi:ImageEdit:${getModelName(model)}`;\n logger.time(timer);\n\n let result: ImageEditTaskOutput;\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const dims = resolveHfImageDims(modelName, (input.aspectRatio as any) ?? \"1:1\");\n\n // image/mask may be data URI strings if the input crossed an earlier\n // worker boundary in legacy form; otherwise they are ImageValue POJOs.\n const inputBlob = await gpuImageToBlob(input.image as unknown as ImageValue | string);\n const params: Record<string, unknown> = {\n width: dims.width,\n height: dims.height,\n seed: input.seed,\n negative_prompt: input.negativePrompt,\n prompt: input.prompt,\n ...(input.providerOptions ?? {}),\n };\n if (input.mask) {\n const maskBlob = await gpuImageToBlob(input.mask as unknown as ImageValue | string);\n params.mask_image = maskBlob;\n }\n\n const blob: Blob = await client.imageToImage(\n {\n model: modelName,\n inputs: inputBlob,\n parameters: params,\n },\n { signal }\n );\n const image = await blobToImageValue(blob);\n logger.timeEnd(timer);\n result = { image };\n } catch (err) {\n if (\n err instanceof ImageGenerationProviderError ||\n err instanceof ImageGenerationContentPolicyError\n )\n throw err;\n const msg = err instanceof Error ? err.message : \"unknown error\";\n if (/NSFW|safety|policy/i.test(msg))\n throw new ImageGenerationContentPolicyError(modelIdForError(model, \"huggingface\"), msg);\n throw new ImageGenerationProviderError(modelIdForError(model, \"huggingface\"), msg, {\n cause: err as Error,\n });\n }\n\n if (signal.aborted) return;\n emit({ type: \"finish\", data: result });\n};\n",
16
16
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ImageGenerateTaskInput,\n ImageGenerateTaskOutput,\n} from \"@workglow/ai\";\nimport { ImageGenerationContentPolicyError, ImageGenerationProviderError } from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\n\nimport { blobToImageValue, modelIdForError } from \"@workglow/ai/provider-utils\";\nimport { resolveHfImageDims } from \"./HFI_AspectRatio\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * One-shot run fn. HF Inference does not support partial image streaming,\n * so we run the request, emit one snapshot, then finish.\n */\nexport const HFI_ImageGenerate_Stream: AiProviderRunFn<\n ImageGenerateTaskInput,\n ImageGenerateTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timer = `hfi:ImageGenerate:${getModelName(model)}`;\n logger.time(timer);\n\n let result: ImageGenerateTaskOutput;\n try {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const dims = resolveHfImageDims(modelName, (input.aspectRatio as any) ?? \"1:1\");\n\n const blob: Blob = await client.textToImage(\n {\n model: modelName,\n inputs: input.prompt,\n parameters: {\n width: dims.width,\n height: dims.height,\n seed: input.seed,\n negative_prompt: input.negativePrompt,\n ...(input.providerOptions ?? {}),\n },\n },\n { outputType: \"blob\" as const, signal }\n );\n const image = await blobToImageValue(blob);\n logger.timeEnd(timer);\n result = { image };\n } catch (err) {\n if (\n err instanceof ImageGenerationProviderError ||\n err instanceof ImageGenerationContentPolicyError\n )\n throw err;\n const msg = err instanceof Error ? err.message : \"unknown error\";\n if (/NSFW|safety|policy/i.test(msg))\n throw new ImageGenerationContentPolicyError(modelIdForError(model, \"huggingface\"), msg);\n throw new ImageGenerationProviderError(modelIdForError(model, \"huggingface\"), msg, {\n cause: err as Error,\n });\n }\n\n if (signal.aborted) return;\n emit({ type: \"finish\", data: result });\n};\n",
17
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport { resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nconst HF_API_BASE = \"https://huggingface.co/api\";\n\n/** Characters the Hub allows in a namespace or repo name. */\nconst HF_REPO_SEGMENT = /^[\\w.-]+$/;\n\n/** `.` and `..` pass the charset test but would traverse out of `/api/models`. */\nfunction isValidSegment(segment: string): boolean {\n return HF_REPO_SEGMENT.test(segment) && segment !== \".\" && segment !== \"..\";\n}\n\n/**\n * Build the `{namespace}/{name}` path for a Hub model id. The slash separating\n * the two segments is a path separator, so the id is encoded per segment: a\n * whole-id `encodeURIComponent` turns it into `%2F` and the Hub answers 400.\n * Each segment is still encoded even though the validated charset needs no\n * escaping — that stays correct if the accepted charset ever widens.\n */\nfunction hfModelPath(modelName: string): string {\n const segments = modelName.split(\"/\");\n if (segments.length > 2 || !segments.every(isValidSegment)) {\n throw new Error(`${HF_INFERENCE} model \"${modelName}\" is not a valid Hugging Face repo id`);\n }\n return segments.map(encodeURIComponent).join(\"/\");\n}\n\nfunction modelNameOf(model: HfInferenceModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nfunction apiKeyOf(model: HfInferenceModelConfig | undefined): string | undefined {\n const config = model?.provider_config as\n { credential_key?: string; api_key?: string } | undefined;\n try {\n return resolveApiKey({\n config,\n envVar: \"HF_TOKEN\",\n providerLabel: \"Hugging Face Inference\",\n });\n } catch {\n // Hub model lookup works without a token for public models; generation\n // still requires a key elsewhere.\n return config?.api_key ?? config?.credential_key;\n }\n}\n\n/**\n * Confirm the model id exists on the Hugging Face Hub via GET /api/models/{id}.\n * Does not use curated fallback lists.\n */\nasync function assertHfModelExists(\n model: HfInferenceModelConfig | undefined,\n signal: AbortSignal | undefined\n): Promise<string> {\n const modelName = modelNameOf(model);\n const token = apiKeyOf(model);\n const res = await fetch(`${HF_API_BASE}/models/${hfModelPath(modelName)}`, {\n signal,\n headers: token ? { Authorization: `Bearer ${token}` } : undefined,\n });\n if (res.status === 404) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" was not found (provider API returned not found)`\n );\n }\n // A 4xx that is not 404 is the request being rejected, not the model missing;\n // reporting it as a lookup failure hides a malformed request.\n if (res.status >= 400 && res.status < 500) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup was rejected by the Hugging Face API (${res.status})`\n );\n }\n if (!res.ok) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup failed (HuggingFace API returned ${res.status})`\n );\n }\n return modelName;\n}\n\nfunction remoteInfoBase(input: ModelInfoTaskInput): ModelInfoTaskOutput {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n}\n\n/**\n * One-shot run-fn for `[\"model.info\"]`. Verifies the model exists on the\n * Hugging Face Hub, then emits a remote info record. When `detail` is\n * `\"dimensions\"`, attaches provider_config dimensions after the check.\n */\nexport const HFI_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n await assertHfModelExists(model, signal);\n const base = remoteInfoBase(input);\n\n if (input.detail === \"dimensions\") {\n const pc = model?.provider_config as Record<string, unknown>;\n const native_dimensions =\n typeof pc?.native_dimensions === \"number\" ? pc.native_dimensions : undefined;\n const mrl = typeof pc?.mrl === \"boolean\" ? pc.mrl : false;\n emit({\n type: \"finish\",\n data: {\n ...base,\n ...(native_dimensions !== undefined ? { native_dimensions } : {}),\n ...(mrl ? { mrl } : {}),\n },\n });\n return;\n }\n\n emit({ type: \"finish\", data: base });\n};\n",
17
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport { resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nconst HF_API_BASE = \"https://huggingface.co/api\";\n\n/** Characters the Hub allows in a namespace or repo name. */\nconst HF_REPO_SEGMENT = /^[\\w.-]+$/;\n\n/** `.` and `..` pass the charset test but would traverse out of `/api/models`. */\nfunction isValidSegment(segment: string): boolean {\n return HF_REPO_SEGMENT.test(segment) && segment !== \".\" && segment !== \"..\";\n}\n\n/**\n * Build the `{namespace}/{name}` path for a Hub model id. The slash separating\n * the two segments is a path separator, so the id is encoded per segment: a\n * whole-id `encodeURIComponent` turns it into `%2F` and the Hub answers 400.\n * Each segment is still encoded even though the validated charset needs no\n * escaping — that stays correct if the accepted charset ever widens.\n */\nfunction hfModelPath(modelName: string): string {\n const segments = modelName.split(\"/\");\n if (segments.length > 2 || !segments.every(isValidSegment)) {\n throw new Error(`${HF_INFERENCE} model \"${modelName}\" is not a valid Hugging Face repo id`);\n }\n return segments.map(encodeURIComponent).join(\"/\");\n}\n\nfunction modelNameOf(model: HfInferenceModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nfunction apiKeyOf(model: HfInferenceModelConfig | undefined): string | undefined {\n const config = model?.provider_config as\n | { credential_key?: string; api_key?: string }\n | undefined;\n try {\n return resolveApiKey({\n config,\n envVar: \"HF_TOKEN\",\n providerLabel: \"Hugging Face Inference\",\n });\n } catch {\n // Hub model lookup works without a token for public models; generation\n // still requires a key elsewhere.\n return config?.api_key ?? config?.credential_key;\n }\n}\n\n/**\n * Confirm the model id exists on the Hugging Face Hub via GET /api/models/{id}.\n * Does not use curated fallback lists.\n */\nasync function assertHfModelExists(\n model: HfInferenceModelConfig | undefined,\n signal: AbortSignal | undefined\n): Promise<string> {\n const modelName = modelNameOf(model);\n const token = apiKeyOf(model);\n const res = await fetch(`${HF_API_BASE}/models/${hfModelPath(modelName)}`, {\n signal,\n headers: token ? { Authorization: `Bearer ${token}` } : undefined,\n });\n if (res.status === 404) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" was not found (provider API returned not found)`\n );\n }\n // A 4xx that is not 404 is the request being rejected, not the model missing;\n // reporting it as a lookup failure hides a malformed request.\n if (res.status >= 400 && res.status < 500) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup was rejected by the Hugging Face API (${res.status})`\n );\n }\n if (!res.ok) {\n throw new Error(\n `${HF_INFERENCE} model \"${modelName}\" lookup failed (HuggingFace API returned ${res.status})`\n );\n }\n return modelName;\n}\n\nfunction remoteInfoBase(input: ModelInfoTaskInput): ModelInfoTaskOutput {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n}\n\n/**\n * One-shot run-fn for `[\"model.info\"]`. Verifies the model exists on the\n * Hugging Face Hub, then emits a remote info record. When `detail` is\n * `\"dimensions\"`, attaches provider_config dimensions after the check.\n */\nexport const HFI_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n await assertHfModelExists(model, signal);\n const base = remoteInfoBase(input);\n\n if (input.detail === \"dimensions\") {\n const pc = model?.provider_config as Record<string, unknown>;\n const native_dimensions =\n typeof pc?.native_dimensions === \"number\" ? pc.native_dimensions : undefined;\n const mrl = typeof pc?.mrl === \"boolean\" ? pc.mrl : false;\n emit({\n type: \"finish\",\n data: {\n ...base,\n ...(native_dimensions !== undefined ? { native_dimensions } : {}),\n ...(mrl ? { mrl } : {}),\n },\n });\n return;\n }\n\n emit({ type: \"finish\", data: base });\n};\n",
18
18
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n} from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport { getClient, getModelName } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nexport const HFI_TextEmbedding: AiProviderRunFn<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const timerLabel = `hfi:TextEmbedding:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n if (Array.isArray(input.text)) {\n const embeddings = await Promise.all(\n input.text.map((text) =>\n client.featureExtraction(\n {\n model: modelName,\n inputs: text,\n },\n { signal }\n )\n )\n );\n\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name, batch: true });\n emit({\n type: \"finish\",\n data: {\n vector: embeddings.map((embedding) => new Float32Array(embedding as unknown as number[])),\n },\n });\n return;\n }\n\n const embedding = await client.featureExtraction(\n {\n model: modelName,\n inputs: input.text,\n },\n { signal }\n );\n\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n emit({\n type: \"finish\",\n data: { vector: new Float32Array(embedding as unknown as number[]) },\n });\n};\n",
19
19
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n Usage,\n} from \"@workglow/ai\";\nimport {\n createEstimatedOutputUsageReporter,\n mapOpenAIChatUsage,\n} from \"@workglow/ai/provider-utils\";\nimport { toOpenAIMessages } from \"@workglow/ai/worker\";\nimport { getClient, getModelName, getProvider } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\n/**\n * `TextGenerationTask` and `AiChatTask` share `requires: [\"text.generation\"]`,\n * so the dispatcher routes both here. AiChatTask supplies a populated\n * `messages` array; TextGenerationTask supplies only a `prompt` string.\n */\ninterface UnifiedTextGenerationInput extends TextGenerationTaskInput {\n readonly messages?: readonly unknown[];\n readonly systemPrompt?: string;\n}\n\nexport const HFI_TextGeneration_Stream: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const provider = getProvider(model);\n\n // Prefer a populated chat history (AiChatTask); fall back to wrapping\n // `prompt` as a single user turn (TextGenerationTask). Without this, chat\n // history routed to HFI was silently dropped.\n const unified = input as UnifiedTextGenerationInput;\n const hasMessages = Array.isArray(unified.messages) && unified.messages.length > 0;\n // HF's chat endpoint is OpenAI-compatible at runtime, but the SDK types a\n // content part's `type` as a narrow enum, so the OpenAI-shaped messages need\n // a cast to the client's expected parameter type. Null content (e.g. an\n // assistant tool-call turn) is coerced to an empty string.\n const messages = (hasMessages\n ? toOpenAIMessages({\n messages: unified.messages,\n systemPrompt: unified.systemPrompt,\n prompt: \"\",\n tools: [],\n } as never).map((m) => ({ ...m, content: m.content ?? \"\" }))\n : [{ role: \"user\", content: input.prompt }]) as unknown as Parameters<\n typeof client.chatCompletionStream\n >[0][\"messages\"];\n\n // HF Inference rarely reports mid-stream usage; estimate ↑ before the request\n // and ↓ from deltas so the CLI counter still moves during the call.\n const provisionalUsage = createEstimatedOutputUsageReporter(emit);\n provisionalUsage.onPrompt(\n messages\n .map((m) => (typeof m.content === \"string\" ? m.content : \"\"))\n .filter(Boolean)\n .join(\"\\n\")\n );\n\n const stream = client.chatCompletionStream(\n {\n model: modelName,\n messages,\n max_tokens: input.maxTokens,\n temperature: input.temperature,\n top_p: input.topP,\n frequency_penalty: input.frequencyPenalty,\n provider,\n },\n { signal }\n );\n\n // The usage-bearing chunk arrives last with an empty `choices` array, so it\n // is read before the delta guard below rather than inside it. Whether it\n // arrives at all is up to the third-party provider the request is routed to;\n // when it does not, `usage` stays undefined and the estimate above remains\n // the only feedback.\n let usage: Usage | undefined;\n for await (const chunk of stream) {\n usage = mapOpenAIChatUsage((chunk as { usage?: unknown }).usage) ?? usage;\n const delta = chunk.choices?.[0]?.delta?.content ?? \"\";\n if (delta) {\n provisionalUsage.onText(delta);\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta });\n }\n }\n provisionalUsage.flush();\n emit({ type: \"finish\", data: {} as TextGenerationTaskOutput, usage });\n};\n",
20
20
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n Usage,\n} from \"@workglow/ai\";\nimport {\n createEstimatedOutputUsageReporter,\n mapOpenAIChatUsage,\n} from \"@workglow/ai/provider-utils\";\nimport { getClient, getModelName, getProvider } from \"./HFI_Client\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nexport const HFI_TextRewriter_Stream: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n HfInferenceModelConfig\n> = async (input, model, signal, emit) => {\n const client = await getClient(model);\n const modelName = getModelName(model);\n const provider = getProvider(model);\n\n const provisionalUsage = createEstimatedOutputUsageReporter(emit);\n provisionalUsage.onPrompt(\n `${typeof input.prompt === \"string\" ? input.prompt : \"\"}\\n${typeof input.text === \"string\" ? input.text : \"\"}`\n );\n\n const stream = client.chatCompletionStream(\n {\n model: modelName,\n messages: [\n { role: \"system\", content: input.prompt },\n { role: \"user\", content: input.text },\n ],\n provider,\n },\n { signal }\n );\n\n // The usage-bearing chunk arrives last with an empty `choices` array, so it\n // is read before the delta guard below rather than inside it. Whether it\n // arrives at all is up to the third-party provider the request is routed to;\n // when it does not, `usage` stays undefined and the estimate above remains\n // the only feedback.\n let usage: Usage | undefined;\n for await (const chunk of stream) {\n usage = mapOpenAIChatUsage((chunk as { usage?: unknown }).usage) ?? usage;\n const delta = chunk.choices?.[0]?.delta?.content ?? \"\";\n if (delta) {\n provisionalUsage.onText(delta);\n emit({ type: \"text-delta\", port: \"text\", textDelta: delta });\n }\n }\n provisionalUsage.flush();\n emit({ type: \"finish\", data: {} as TextRewriterTaskOutput, usage });\n};\n",
@@ -23,7 +23,7 @@
23
23
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFnRegistration } from \"@workglow/ai\";\nimport {\n HFI_IMAGE_EDITING,\n HFI_IMAGE_GENERATION,\n HFI_MODEL_INFO,\n HFI_MODEL_SEARCH,\n HFI_TEXT_EMBEDDING,\n HFI_TEXT_GENERATION,\n HFI_TEXT_REWRITER,\n HFI_TEXT_SUMMARY,\n HFI_TOOL_USE,\n} from \"./HFI_CapabilitySets\";\nimport type { HfInferenceModelConfig } from \"./HFI_ModelSchema\";\n\nexport { getClient, getModelName, getProvider, loadHfInferenceSDK } from \"./HFI_Client\";\n\nimport { HFI_ImageEdit_Stream } from \"./HFI_ImageEdit\";\nimport { HFI_ImageGenerate_Stream } from \"./HFI_ImageGenerate\";\nimport { HFI_ModelInfo } from \"./HFI_ModelInfo\";\nimport { HFI_ModelSearch } from \"./HFI_ModelSearch\";\nimport { HFI_TextEmbedding } from \"./HFI_TextEmbedding\";\nimport { HFI_TextGeneration_Stream } from \"./HFI_TextGeneration\";\nimport { HFI_TextRewriter_Stream } from \"./HFI_TextRewriter\";\nimport { HFI_TextSummary_Stream } from \"./HFI_TextSummary\";\nimport { HFI_ToolCalling_Stream } from \"./HFI_ToolCalling\";\n\n/**\n * Unified `[\"text.generation\"]` run-fn. {@link AiChatTask} and\n * {@link TextGenerationTask} share this registration; discriminates on\n * `Array.isArray(input.messages) && input.messages.length > 0` to route to\n * the chat or prompt path. Because HFI doesn't have a separate chat stream\n * helper, both paths run through `HFI_TextGeneration_Stream` — the SDK\n * accepts both shapes.\n */\nconst HFI_TextGeneration_Unified = HFI_TextGeneration_Stream;\n\nexport const HFI_RUN_FNS: readonly AiProviderRunFnRegistration<any, any, HfInferenceModelConfig>[] =\n [\n { serves: HFI_TEXT_GENERATION, runFn: HFI_TextGeneration_Unified },\n { serves: HFI_TOOL_USE, runFn: HFI_ToolCalling_Stream },\n { serves: HFI_TEXT_REWRITER, runFn: HFI_TextRewriter_Stream },\n { serves: HFI_TEXT_SUMMARY, runFn: HFI_TextSummary_Stream },\n { serves: HFI_TEXT_EMBEDDING, runFn: HFI_TextEmbedding },\n { serves: HFI_IMAGE_GENERATION, runFn: HFI_ImageGenerate_Stream },\n { serves: HFI_IMAGE_EDITING, runFn: HFI_ImageEdit_Stream },\n { serves: HFI_MODEL_SEARCH, runFn: HFI_ModelSearch },\n { serves: HFI_MODEL_INFO, runFn: HFI_ModelInfo },\n ];\n",
24
24
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// organize-imports-ignore\n\nexport * from \"./common/HFI_AspectRatio\";\nexport * from \"./common/HFI_Constants\";\nexport * from \"./common/HFI_ImageValidation\";\nexport * from \"./common/HFI_ModelSchema\";\nexport * from \"./common/HFI_ModelSearch\";\nexport * from \"./registerHfInference\";\n\nimport { HFI_RUN_FN_SPECS } from \"./common/HFI_Capabilities\";\nimport { _setHfInferenceSDKForTesting } from \"./common/HFI_Client\";\nimport { HFI_RUN_FNS } from \"./common/HFI_JobRunFns\";\nimport { HfInferenceQueuedProvider } from \"./HfInferenceQueuedProvider\";\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the stable public API.\n */\nexport const _testOnly = {\n HfInferenceQueuedProvider,\n HFI_RUN_FN_SPECS,\n HFI_RUN_FNS,\n _setHfInferenceSDKForTesting,\n} as const;\n"
25
25
  ],
26
- "mappings": "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",
26
+ "mappings": "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",
27
27
  "debugId": "E0F022ECFED19E3264756E2164756E21",
28
28
  "names": []
29
29
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@workglow/huggingface-inference",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.4.5",
5
+ "version": "0.4.7",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
@@ -22,8 +22,7 @@
22
22
  "build-js": "bun run build-code",
23
23
  "build-clean": "rm -fr dist/* tsconfig.tsbuildinfo",
24
24
  "build-code": "bun build --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai.ts ./src/ai-runtime.ts",
25
- "build-types": "rm -f tsconfig.tsbuildinfo && tsgo",
26
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0"
25
+ "build-types": "rm -f tsconfig.tsbuildinfo && tsc"
27
26
  },
28
27
  "exports": {
29
28
  "./ai": {
@@ -39,11 +38,11 @@
39
38
  "@huggingface/inference": "^4.13.28"
40
39
  },
41
40
  "peerDependencies": {
42
- "@workglow/ai": "0.4.5",
43
- "@workglow/job-queue": "0.4.5",
44
- "@workglow/storage": "0.4.5",
45
- "@workglow/task-graph": "0.4.5",
46
- "@workglow/util": "0.4.5"
41
+ "@workglow/ai": "0.4.7",
42
+ "@workglow/job-queue": "0.4.7",
43
+ "@workglow/storage": "0.4.7",
44
+ "@workglow/task-graph": "0.4.7",
45
+ "@workglow/util": "0.4.7"
47
46
  },
48
47
  "peerDependenciesMeta": {
49
48
  "@workglow/ai": {
@@ -63,11 +62,11 @@
63
62
  }
64
63
  },
65
64
  "devDependencies": {
66
- "@workglow/ai": "0.4.5",
67
- "@workglow/job-queue": "0.4.5",
68
- "@workglow/storage": "0.4.5",
69
- "@workglow/task-graph": "0.4.5",
70
- "@workglow/util": "0.4.5"
65
+ "@workglow/ai": "0.4.7",
66
+ "@workglow/job-queue": "0.4.7",
67
+ "@workglow/storage": "0.4.7",
68
+ "@workglow/task-graph": "0.4.7",
69
+ "@workglow/util": "0.4.7"
71
70
  },
72
71
  "files": [
73
72
  "dist",