From 1419a6d34c25434ae1fc5487359f70d4c741efc9 Mon Sep 17 00:00:00 2001 From: coyotte508 Date: Fri, 23 May 2025 11:39:37 +0200 Subject: [PATCH 1/4] Use TSHY when releasing @huggingface/inference --- .gitignore | 1 + packages/inference/.eslintignore | 3 +- packages/inference/.prettierignore | 3 +- packages/inference/.tshy/build.json | 8 +++ packages/inference/.tshy/commonjs.json | 16 +++++ packages/inference/.tshy/esm.json | 15 +++++ packages/inference/package.json | 32 +++++++--- packages/inference/src/InferenceClient.ts | 9 +-- packages/inference/src/index.ts | 8 +-- packages/inference/src/lib/getDefaultTask.ts | 4 +- .../src/lib/getInferenceProviderMapping.ts | 10 +-- .../inference/src/lib/getProviderHelper.ts | 38 +++++------ .../inference/src/lib/makeRequestOptions.ts | 18 +++--- .../src/providers/black-forest-labs.ts | 10 +-- packages/inference/src/providers/cerebras.ts | 2 +- packages/inference/src/providers/cohere.ts | 2 +- packages/inference/src/providers/consts.ts | 6 +- packages/inference/src/providers/fal-ai.ts | 18 +++--- .../inference/src/providers/featherless-ai.ts | 6 +- .../inference/src/providers/fireworks-ai.ts | 2 +- packages/inference/src/providers/groq.ts | 2 +- .../inference/src/providers/hf-inference.ts | 22 +++---- .../inference/src/providers/hyperbolic.ts | 8 +-- packages/inference/src/providers/nebius.ts | 8 +-- packages/inference/src/providers/novita.ts | 10 +-- packages/inference/src/providers/nscale.ts | 8 +-- packages/inference/src/providers/openai.ts | 2 +- packages/inference/src/providers/ovhcloud.ts | 8 +-- .../inference/src/providers/providerHelper.ts | 14 ++-- packages/inference/src/providers/replicate.ts | 10 +-- packages/inference/src/providers/sambanova.ts | 8 +-- packages/inference/src/providers/together.ts | 8 +-- .../src/snippets/getInferenceSnippets.ts | 14 ++-- .../src/tasks/audio/audioClassification.ts | 12 ++-- .../inference/src/tasks/audio/audioToAudio.ts | 12 ++-- .../tasks/audio/automaticSpeechRecognition.ts | 12 ++-- .../inference/src/tasks/audio/textToSpeech.ts | 8 +-- packages/inference/src/tasks/audio/utils.ts | 4 +- .../inference/src/tasks/custom/request.ts | 8 +-- .../src/tasks/custom/streamingRequest.ts | 8 +-- .../src/tasks/cv/imageClassification.ts | 10 +-- .../src/tasks/cv/imageSegmentation.ts | 10 +-- .../inference/src/tasks/cv/imageToImage.ts | 8 +-- .../inference/src/tasks/cv/imageToText.ts | 12 ++-- .../inference/src/tasks/cv/objectDetection.ts | 10 +-- .../inference/src/tasks/cv/textToImage.ts | 10 +-- .../inference/src/tasks/cv/textToVideo.ts | 16 ++--- packages/inference/src/tasks/cv/utils.ts | 4 +- .../tasks/cv/zeroShotImageClassification.ts | 10 +-- packages/inference/src/tasks/index.ts | 64 +++++++++---------- .../multimodal/documentQuestionAnswering.ts | 10 +-- .../multimodal/visualQuestionAnswering.ts | 10 +-- .../inference/src/tasks/nlp/chatCompletion.ts | 8 +-- .../src/tasks/nlp/chatCompletionStream.ts | 8 +-- .../src/tasks/nlp/featureExtraction.ts | 8 +-- packages/inference/src/tasks/nlp/fillMask.ts | 8 +-- .../src/tasks/nlp/questionAnswering.ts | 8 +-- .../src/tasks/nlp/sentenceSimilarity.ts | 8 +-- .../inference/src/tasks/nlp/summarization.ts | 8 +-- .../src/tasks/nlp/tableQuestionAnswering.ts | 8 +-- .../src/tasks/nlp/textClassification.ts | 8 +-- .../inference/src/tasks/nlp/textGeneration.ts | 10 +-- .../src/tasks/nlp/textGenerationStream.ts | 8 +-- .../src/tasks/nlp/tokenClassification.ts | 8 +-- .../inference/src/tasks/nlp/translation.ts | 8 +-- .../src/tasks/nlp/zeroShotClassification.ts | 8 +-- .../tasks/tabular/tabularClassification.ts | 8 +-- .../src/tasks/tabular/tabularRegression.ts | 8 +-- packages/inference/src/types.ts | 2 +- packages/inference/src/utils/isFrontend.ts | 2 +- packages/inference/src/utils/omit.ts | 4 +- packages/inference/src/utils/request.ts | 10 +-- .../vendor/fetch-event-source/parse.spec.ts | 2 +- .../src/vendor/fetch-event-source/parse.ts | 11 ++-- .../inference/test/InferenceClient.spec.ts | 8 +-- packages/inference/tsconfig.json | 4 +- 76 files changed, 402 insertions(+), 342 deletions(-) create mode 100644 packages/inference/.tshy/build.json create mode 100644 packages/inference/.tshy/commonjs.json create mode 100644 packages/inference/.tshy/esm.json diff --git a/.gitignore b/.gitignore index a086258857..68c13e55e8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ yarn-debug.log* yarn-error.log* lerna-debug.log* +.tshy-build # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/packages/inference/.eslintignore b/packages/inference/.eslintignore index 801cfd3936..e114c2c4f0 100644 --- a/packages/inference/.eslintignore +++ b/packages/inference/.eslintignore @@ -1,3 +1,4 @@ dist tapes.json -src/vendor \ No newline at end of file +src/vendor +.tshy-build \ No newline at end of file diff --git a/packages/inference/.prettierignore b/packages/inference/.prettierignore index aa3fda174c..949210e1ab 100644 --- a/packages/inference/.prettierignore +++ b/packages/inference/.prettierignore @@ -3,4 +3,5 @@ pnpm-lock.yaml README.md dist test/tapes.json -src/vendor \ No newline at end of file +src/vendor +.tshy-build \ No newline at end of file diff --git a/packages/inference/.tshy/build.json b/packages/inference/.tshy/build.json new file mode 100644 index 0000000000..aea1a9e93b --- /dev/null +++ b/packages/inference/.tshy/build.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "rootDir": "../src", + "module": "nodenext", + "moduleResolution": "nodenext" + } +} diff --git a/packages/inference/.tshy/commonjs.json b/packages/inference/.tshy/commonjs.json new file mode 100644 index 0000000000..7c9db50b6a --- /dev/null +++ b/packages/inference/.tshy/commonjs.json @@ -0,0 +1,16 @@ +{ + "extends": "./build.json", + "include": [ + "../src/**/*.ts", + "../src/**/*.cts", + "../src/**/*.tsx", + "../src/**/*.json" + ], + "exclude": [ + "../src/**/*.mts", + "../src/package.json" + ], + "compilerOptions": { + "outDir": "../.tshy-build/commonjs" + } +} diff --git a/packages/inference/.tshy/esm.json b/packages/inference/.tshy/esm.json new file mode 100644 index 0000000000..959294a842 --- /dev/null +++ b/packages/inference/.tshy/esm.json @@ -0,0 +1,15 @@ +{ + "extends": "./build.json", + "include": [ + "../src/**/*.ts", + "../src/**/*.mts", + "../src/**/*.tsx", + "../src/**/*.json" + ], + "exclude": [ + "../src/package.json" + ], + "compilerOptions": { + "outDir": "../.tshy-build/esm" + } +} diff --git a/packages/inference/package.json b/packages/inference/package.json index b1f89814eb..a8e862101d 100644 --- a/packages/inference/package.json +++ b/packages/inference/package.json @@ -30,17 +30,18 @@ "!src/snippets/templates/**/*.jinja" ], "source": "src/index.ts", - "types": "./dist/src/index.d.ts", - "main": "./dist/index.cjs", - "module": "./dist/index.js", - "exports": { - "types": "./dist/src/index.d.ts", - "require": "./dist/index.cjs", - "import": "./dist/index.js" + "types": "./dist/commonjs/index.d.ts", + "main": "./dist/commonjs/index.js", + "module": "./dist/esm/index.js", + "tshy": { + "exports": { + "./package.json": "./package.json", + ".": "./src/index.ts" + } }, "type": "module", "scripts": { - "build": "pnpm run export-templates && tsup src/index.ts --format cjs,esm --clean && tsc --emitDeclarationOnly --declaration", + "build": "pnpm run export-templates && tshy", "dts": "tsx scripts/generate-dts.ts && tsc --noEmit dist/index.d.ts", "lint": "eslint --quiet --fix --ext .cjs,.ts .", "lint:check": "eslint --ext .cjs,.ts .", @@ -61,5 +62,18 @@ "devDependencies": { "@types/node": "18.13.0" }, - "resolutions": {} + "resolutions": {}, + "exports": { + "./package.json": "./package.json", + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/commonjs/index.d.ts", + "default": "./dist/commonjs/index.js" + } + } + } } diff --git a/packages/inference/src/InferenceClient.ts b/packages/inference/src/InferenceClient.ts index 0f8f3a92d8..ddb2545315 100644 --- a/packages/inference/src/InferenceClient.ts +++ b/packages/inference/src/InferenceClient.ts @@ -1,8 +1,9 @@ -import * as tasks from "./tasks"; -import type { Options } from "./types"; -import { omit } from "./utils/omit"; -import { typedEntries } from "./utils/typedEntries"; +import * as tasks from "./tasks/index.js"; +import type { Options } from "./types.js"; +import { omit } from "./utils/omit.js"; +import { typedEntries } from "./utils/typedEntries.js"; +/import\s+([^\s]+)\s+from\s+(['"])(\.{1,2}\/[^'"]+?)(?(); diff --git a/packages/inference/src/lib/getProviderHelper.ts b/packages/inference/src/lib/getProviderHelper.ts index a96595b72f..98f1d075cb 100644 --- a/packages/inference/src/lib/getProviderHelper.ts +++ b/packages/inference/src/lib/getProviderHelper.ts @@ -1,17 +1,17 @@ -import * as BlackForestLabs from "../providers/black-forest-labs"; -import * as Cerebras from "../providers/cerebras"; -import * as Cohere from "../providers/cohere"; -import * as FalAI from "../providers/fal-ai"; -import * as FeatherlessAI from "../providers/featherless-ai"; -import * as Fireworks from "../providers/fireworks-ai"; -import * as Groq from "../providers/groq"; -import * as HFInference from "../providers/hf-inference"; -import * as Hyperbolic from "../providers/hyperbolic"; -import * as Nebius from "../providers/nebius"; -import * as Novita from "../providers/novita"; -import * as Nscale from "../providers/nscale"; -import * as OpenAI from "../providers/openai"; -import * as OvhCloud from "../providers/ovhcloud"; +import * as BlackForestLabs from "../providers/black-forest-labs.js"; +import * as Cerebras from "../providers/cerebras.js"; +import * as Cohere from "../providers/cohere.js"; +import * as FalAI from "../providers/fal-ai.js"; +import * as FeatherlessAI from "../providers/featherless-ai.js"; +import * as Fireworks from "../providers/fireworks-ai.js"; +import * as Groq from "../providers/groq.js"; +import * as HFInference from "../providers/hf-inference.js"; +import * as Hyperbolic from "../providers/hyperbolic.js"; +import * as Nebius from "../providers/nebius.js"; +import * as Novita from "../providers/novita.js"; +import * as Nscale from "../providers/nscale.js"; +import * as OpenAI from "../providers/openai.js"; +import * as OvhCloud from "../providers/ovhcloud.js"; import type { AudioClassificationTaskHelper, AudioToAudioTaskHelper, @@ -43,11 +43,11 @@ import type { VisualQuestionAnsweringTaskHelper, ZeroShotClassificationTaskHelper, ZeroShotImageClassificationTaskHelper, -} from "../providers/providerHelper"; -import * as Replicate from "../providers/replicate"; -import * as Sambanova from "../providers/sambanova"; -import * as Together from "../providers/together"; -import type { InferenceProvider, InferenceProviderOrPolicy, InferenceTask } from "../types"; +} from "../providers/providerHelper.js"; +import * as Replicate from "../providers/replicate.js"; +import * as Sambanova from "../providers/sambanova.js"; +import * as Together from "../providers/together.js"; +import type { InferenceProvider, InferenceProviderOrPolicy, InferenceTask } from "../types.js"; export const PROVIDERS: Record>> = { "black-forest-labs": { diff --git a/packages/inference/src/lib/makeRequestOptions.ts b/packages/inference/src/lib/makeRequestOptions.ts index 08f1059cc7..54f5dbb6dc 100644 --- a/packages/inference/src/lib/makeRequestOptions.ts +++ b/packages/inference/src/lib/makeRequestOptions.ts @@ -1,10 +1,12 @@ -import { name as packageName, version as packageVersion } from "../../package.json"; -import { HF_HEADER_X_BILL_TO, HF_HUB_URL } from "../config"; -import type { InferenceTask, Options, RequestArgs } from "../types"; -import type { InferenceProviderModelMapping } from "./getInferenceProviderMapping"; -import { getInferenceProviderMapping } from "./getInferenceProviderMapping"; -import type { getProviderHelper } from "./getProviderHelper"; -import { isUrl } from "./isUrl"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore this works or not depending on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783 +import pkg from "../../package.json" with { type: "json" }; +import { HF_HEADER_X_BILL_TO, HF_HUB_URL } from "../config.js"; +import type { InferenceTask, Options, RequestArgs } from "../types.js"; +import type { InferenceProviderModelMapping } from "./getInferenceProviderMapping.js"; +import { getInferenceProviderMapping } from "./getInferenceProviderMapping.js"; +import type { getProviderHelper } from "./getProviderHelper.js"; +import { isUrl } from "./isUrl.js"; /** * Lazy-loaded from huggingface.co/api/tasks when needed @@ -158,7 +160,7 @@ export function makeRequestOptionsFromResolvedModel( // Add user-agent to headers // e.g. @huggingface/inference/3.1.3 - const ownUserAgent = `${packageName}/${packageVersion}`; + const ownUserAgent = `${pkg.name}/${pkg.version}`; const userAgent = [ownUserAgent, typeof navigator !== "undefined" ? navigator.userAgent : undefined] .filter((x) => x !== undefined) .join(" "); diff --git a/packages/inference/src/providers/black-forest-labs.ts b/packages/inference/src/providers/black-forest-labs.ts index 58ccf5bcde..8399ccb562 100644 --- a/packages/inference/src/providers/black-forest-labs.ts +++ b/packages/inference/src/providers/black-forest-labs.ts @@ -14,11 +14,11 @@ * * Thanks! */ -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams, HeaderParams, UrlParams } from "../types"; -import { delay } from "../utils/delay"; -import { omit } from "../utils/omit"; -import { TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams, HeaderParams, UrlParams } from "../types.js"; +import { delay } from "../utils/delay.js"; +import { omit } from "../utils/omit.js"; +import { TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper.js"; const BLACK_FOREST_LABS_AI_API_BASE_URL = "https://api.us1.bfl.ai"; interface BlackForestLabsResponse { diff --git a/packages/inference/src/providers/cerebras.ts b/packages/inference/src/providers/cerebras.ts index 54aa5a1c90..c394cf1359 100644 --- a/packages/inference/src/providers/cerebras.ts +++ b/packages/inference/src/providers/cerebras.ts @@ -15,7 +15,7 @@ * Thanks! */ -import { BaseConversationalTask } from "./providerHelper"; +import { BaseConversationalTask } from "./providerHelper.js"; export class CerebrasConversationalTask extends BaseConversationalTask { constructor() { diff --git a/packages/inference/src/providers/cohere.ts b/packages/inference/src/providers/cohere.ts index e688083718..bf3cbf2241 100644 --- a/packages/inference/src/providers/cohere.ts +++ b/packages/inference/src/providers/cohere.ts @@ -14,7 +14,7 @@ * * Thanks! */ -import { BaseConversationalTask } from "./providerHelper"; +import { BaseConversationalTask } from "./providerHelper.js"; export class CohereConversationalTask extends BaseConversationalTask { constructor() { diff --git a/packages/inference/src/providers/consts.ts b/packages/inference/src/providers/consts.ts index 68514126e0..83b5117c39 100644 --- a/packages/inference/src/providers/consts.ts +++ b/packages/inference/src/providers/consts.ts @@ -1,6 +1,6 @@ -import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping"; -import type { InferenceProvider } from "../types"; -import { type ModelId } from "../types"; +import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping.js"; +import type { InferenceProvider } from "../types.js"; +import { type ModelId } from "../types.js"; /** * If you want to try to run inference for a new model locally before it's registered on huggingface.co diff --git a/packages/inference/src/providers/fal-ai.ts b/packages/inference/src/providers/fal-ai.ts index a1b9ff3b37..975b9cda5c 100644 --- a/packages/inference/src/providers/fal-ai.ts +++ b/packages/inference/src/providers/fal-ai.ts @@ -14,22 +14,22 @@ * * Thanks! */ -import { base64FromBytes } from "../utils/base64FromBytes"; +import { base64FromBytes } from "../utils/base64FromBytes.js"; import type { AutomaticSpeechRecognitionOutput } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import { isUrl } from "../lib/isUrl"; -import type { BodyParams, HeaderParams, ModelId, RequestArgs, UrlParams } from "../types"; -import { delay } from "../utils/delay"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import { isUrl } from "../lib/isUrl.js"; +import type { BodyParams, HeaderParams, ModelId, RequestArgs, UrlParams } from "../types.js"; +import { delay } from "../utils/delay.js"; +import { omit } from "../utils/omit.js"; import { type AutomaticSpeechRecognitionTaskHelper, TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper, -} from "./providerHelper"; -import { HF_HUB_URL } from "../config"; -import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition"; +} from "./providerHelper.js"; +import { HF_HUB_URL } from "../config.js"; +import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js"; export interface FalAiQueueOutput { request_id: string; diff --git a/packages/inference/src/providers/featherless-ai.ts b/packages/inference/src/providers/featherless-ai.ts index 6e5b31afae..d676660be3 100644 --- a/packages/inference/src/providers/featherless-ai.ts +++ b/packages/inference/src/providers/featherless-ai.ts @@ -4,9 +4,9 @@ import type { TextGenerationOutput, TextGenerationOutputFinishReason, } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams } from "../types"; -import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams } from "../types.js"; +import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper.js"; interface FeatherlessAITextCompletionOutput extends Omit { choices: Array<{ diff --git a/packages/inference/src/providers/fireworks-ai.ts b/packages/inference/src/providers/fireworks-ai.ts index f2e721f7bd..7f34a0833d 100644 --- a/packages/inference/src/providers/fireworks-ai.ts +++ b/packages/inference/src/providers/fireworks-ai.ts @@ -14,7 +14,7 @@ * * Thanks! */ -import { BaseConversationalTask } from "./providerHelper"; +import { BaseConversationalTask } from "./providerHelper.js"; export class FireworksConversationalTask extends BaseConversationalTask { constructor() { diff --git a/packages/inference/src/providers/groq.ts b/packages/inference/src/providers/groq.ts index 84f3a3829f..70d0a6fab1 100644 --- a/packages/inference/src/providers/groq.ts +++ b/packages/inference/src/providers/groq.ts @@ -1,4 +1,4 @@ -import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper"; +import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper.js"; /** * See the registered mapping of HF model ID => Groq model ID here: diff --git a/packages/inference/src/providers/hf-inference.ts b/packages/inference/src/providers/hf-inference.ts index 54ff1c3d9c..099d50e6da 100644 --- a/packages/inference/src/providers/hf-inference.ts +++ b/packages/inference/src/providers/hf-inference.ts @@ -33,11 +33,11 @@ import type { ZeroShotClassificationOutput, ZeroShotImageClassificationOutput, } from "@huggingface/tasks"; -import { HF_ROUTER_URL } from "../config"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { TabularClassificationOutput } from "../tasks/tabular/tabularClassification"; -import type { BodyParams, RequestArgs, UrlParams } from "../types"; -import { toArray } from "../utils/toArray"; +import { HF_ROUTER_URL } from "../config.js"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { TabularClassificationOutput } from "../tasks/tabular/tabularClassification.js"; +import type { BodyParams, RequestArgs, UrlParams } from "../types.js"; +import { toArray } from "../utils/toArray.js"; import type { AudioClassificationTaskHelper, AudioToAudioTaskHelper, @@ -67,13 +67,13 @@ import type { VisualQuestionAnsweringTaskHelper, ZeroShotClassificationTaskHelper, ZeroShotImageClassificationTaskHelper, -} from "./providerHelper"; +} from "./providerHelper.js"; -import { TaskProviderHelper } from "./providerHelper"; -import { base64FromBytes } from "../utils/base64FromBytes"; -import type { ImageToImageArgs } from "../tasks/cv/imageToImage"; -import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition"; -import { omit } from "../utils/omit"; +import { TaskProviderHelper } from "./providerHelper.js"; +import { base64FromBytes } from "../utils/base64FromBytes.js"; +import type { ImageToImageArgs } from "../tasks/cv/imageToImage.js"; +import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js"; +import { omit } from "../utils/omit.js"; interface Base64ImageGeneration { data: Array<{ b64_json: string; diff --git a/packages/inference/src/providers/hyperbolic.ts b/packages/inference/src/providers/hyperbolic.ts index 56d7bc31d9..7dffbbe157 100644 --- a/packages/inference/src/providers/hyperbolic.ts +++ b/packages/inference/src/providers/hyperbolic.ts @@ -15,15 +15,15 @@ * Thanks! */ import type { ChatCompletionOutput, TextGenerationOutput } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams, UrlParams } from "../types"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams, UrlParams } from "../types.js"; +import { omit } from "../utils/omit.js"; import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type TextToImageTaskHelper, -} from "./providerHelper"; +} from "./providerHelper.js"; const HYPERBOLIC_API_BASE_URL = "https://api.hyperbolic.xyz"; diff --git a/packages/inference/src/providers/nebius.ts b/packages/inference/src/providers/nebius.ts index 835beb6d57..a301c15195 100644 --- a/packages/inference/src/providers/nebius.ts +++ b/packages/inference/src/providers/nebius.ts @@ -15,16 +15,16 @@ * Thanks! */ import type { FeatureExtractionOutput } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams } from "../types"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams } from "../types.js"; +import { omit } from "../utils/omit.js"; import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type FeatureExtractionTaskHelper, type TextToImageTaskHelper, -} from "./providerHelper"; +} from "./providerHelper.js"; const NEBIUS_API_BASE_URL = "https://api.studio.nebius.ai"; diff --git a/packages/inference/src/providers/novita.ts b/packages/inference/src/providers/novita.ts index bc66e0936d..9c0be4c05d 100644 --- a/packages/inference/src/providers/novita.ts +++ b/packages/inference/src/providers/novita.ts @@ -14,16 +14,16 @@ * * Thanks! */ -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import { isUrl } from "../lib/isUrl"; -import type { BodyParams, UrlParams } from "../types"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import { isUrl } from "../lib/isUrl.js"; +import type { BodyParams, UrlParams } from "../types.js"; +import { omit } from "../utils/omit.js"; import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type TextToVideoTaskHelper, -} from "./providerHelper"; +} from "./providerHelper.js"; const NOVITA_API_BASE_URL = "https://api.novita.ai"; export interface NovitaOutput { diff --git a/packages/inference/src/providers/nscale.ts b/packages/inference/src/providers/nscale.ts index 4560ed8c25..92f1b3a9d7 100644 --- a/packages/inference/src/providers/nscale.ts +++ b/packages/inference/src/providers/nscale.ts @@ -15,10 +15,10 @@ * Thanks! */ import type { TextToImageInput } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams } from "../types"; -import { omit } from "../utils/omit"; -import { BaseConversationalTask, TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams } from "../types.js"; +import { omit } from "../utils/omit.js"; +import { BaseConversationalTask, TaskProviderHelper, type TextToImageTaskHelper } from "./providerHelper.js"; const NSCALE_API_BASE_URL = "https://inference.api.nscale.com"; diff --git a/packages/inference/src/providers/openai.ts b/packages/inference/src/providers/openai.ts index c6d761e315..d8ae7678bb 100644 --- a/packages/inference/src/providers/openai.ts +++ b/packages/inference/src/providers/openai.ts @@ -1,7 +1,7 @@ /** * Special case: provider configuration for a private models provider (OpenAI in this case). */ -import { BaseConversationalTask } from "./providerHelper"; +import { BaseConversationalTask } from "./providerHelper.js"; const OPENAI_API_BASE_URL = "https://api.openai.com"; diff --git a/packages/inference/src/providers/ovhcloud.ts b/packages/inference/src/providers/ovhcloud.ts index 4318bbf4f5..b0e5d21080 100644 --- a/packages/inference/src/providers/ovhcloud.ts +++ b/packages/inference/src/providers/ovhcloud.ts @@ -15,11 +15,11 @@ * Thanks! */ -import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper"; +import { BaseConversationalTask, BaseTextGenerationTask } from "./providerHelper.js"; import type { ChatCompletionOutput, TextGenerationOutput, TextGenerationOutputFinishReason } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams } from "../types"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams } from "../types.js"; +import { omit } from "../utils/omit.js"; import type { TextGenerationInput } from "@huggingface/tasks"; const OVHCLOUD_API_BASE_URL = "https://oai.endpoints.kepler.ai.cloud.ovh.net"; diff --git a/packages/inference/src/providers/providerHelper.ts b/packages/inference/src/providers/providerHelper.ts index e94b93db07..00923d8a0c 100644 --- a/packages/inference/src/providers/providerHelper.ts +++ b/packages/inference/src/providers/providerHelper.ts @@ -45,13 +45,13 @@ import type { ZeroShotImageClassificationInput, ZeroShotImageClassificationOutput, } from "@huggingface/tasks"; -import { HF_ROUTER_URL } from "../config"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { AudioToAudioOutput } from "../tasks/audio/audioToAudio"; -import type { BaseArgs, BodyParams, HeaderParams, InferenceProvider, RequestArgs, UrlParams } from "../types"; -import { toArray } from "../utils/toArray"; -import type { ImageToImageArgs } from "../tasks/cv/imageToImage"; -import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition"; +import { HF_ROUTER_URL } from "../config.js"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { AudioToAudioOutput } from "../tasks/audio/audioToAudio.js"; +import type { BaseArgs, BodyParams, HeaderParams, InferenceProvider, RequestArgs, UrlParams } from "../types.js"; +import { toArray } from "../utils/toArray.js"; +import type { ImageToImageArgs } from "../tasks/cv/imageToImage.js"; +import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js"; /** * Base class for task-specific provider helpers diff --git a/packages/inference/src/providers/replicate.ts b/packages/inference/src/providers/replicate.ts index 7785039346..7a908cb617 100644 --- a/packages/inference/src/providers/replicate.ts +++ b/packages/inference/src/providers/replicate.ts @@ -14,11 +14,11 @@ * * Thanks! */ -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import { isUrl } from "../lib/isUrl"; -import type { BodyParams, HeaderParams, UrlParams } from "../types"; -import { omit } from "../utils/omit"; -import { TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper } from "./providerHelper"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import { isUrl } from "../lib/isUrl.js"; +import type { BodyParams, HeaderParams, UrlParams } from "../types.js"; +import { omit } from "../utils/omit.js"; +import { TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper } from "./providerHelper.js"; export interface ReplicateOutput { output?: string | string[]; } diff --git a/packages/inference/src/providers/sambanova.ts b/packages/inference/src/providers/sambanova.ts index ccce81c0d4..efc41fe7da 100644 --- a/packages/inference/src/providers/sambanova.ts +++ b/packages/inference/src/providers/sambanova.ts @@ -14,12 +14,12 @@ * * Thanks! */ -import { InferenceOutputError } from "../lib/InferenceOutputError"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; import type { FeatureExtractionOutput } from "@huggingface/tasks"; -import type { BodyParams } from "../types"; -import type { FeatureExtractionTaskHelper } from "./providerHelper"; -import { BaseConversationalTask, TaskProviderHelper } from "./providerHelper"; +import type { BodyParams } from "../types.js"; +import type { FeatureExtractionTaskHelper } from "./providerHelper.js"; +import { BaseConversationalTask, TaskProviderHelper } from "./providerHelper.js"; export class SambanovaConversationalTask extends BaseConversationalTask { constructor() { diff --git a/packages/inference/src/providers/together.ts b/packages/inference/src/providers/together.ts index b475bd7d18..350b3c677d 100644 --- a/packages/inference/src/providers/together.ts +++ b/packages/inference/src/providers/together.ts @@ -15,15 +15,15 @@ * Thanks! */ import type { ChatCompletionOutput, TextGenerationOutput, TextGenerationOutputFinishReason } from "@huggingface/tasks"; -import { InferenceOutputError } from "../lib/InferenceOutputError"; -import type { BodyParams } from "../types"; -import { omit } from "../utils/omit"; +import { InferenceOutputError } from "../lib/InferenceOutputError.js"; +import type { BodyParams } from "../types.js"; +import { omit } from "../utils/omit.js"; import { BaseConversationalTask, BaseTextGenerationTask, TaskProviderHelper, type TextToImageTaskHelper, -} from "./providerHelper"; +} from "./providerHelper.js"; const TOGETHER_API_BASE_URL = "https://api.together.xyz"; diff --git a/packages/inference/src/snippets/getInferenceSnippets.ts b/packages/inference/src/snippets/getInferenceSnippets.ts index 73d8ec3203..1df552cee4 100644 --- a/packages/inference/src/snippets/getInferenceSnippets.ts +++ b/packages/inference/src/snippets/getInferenceSnippets.ts @@ -6,13 +6,13 @@ import { getModelInputSnippet, inferenceSnippetLanguages, } from "@huggingface/tasks"; -import type { PipelineType, WidgetType } from "@huggingface/tasks/src/pipelines.js"; -import type { ChatCompletionInputMessage, GenerationParameters } from "@huggingface/tasks/src/tasks/index.js"; -import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../lib/getProviderHelper"; -import { makeRequestOptionsFromResolvedModel } from "../lib/makeRequestOptions"; -import type { InferenceProviderOrPolicy, InferenceTask, RequestArgs } from "../types"; -import { templates } from "./templates.exported"; +import type { PipelineType, WidgetType } from "@huggingface/tasks"; +import type { ChatCompletionInputMessage, GenerationParameters } from "@huggingface/tasks"; +import type { InferenceProviderModelMapping } from "../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../lib/getProviderHelper.js"; +import { makeRequestOptionsFromResolvedModel } from "../lib/makeRequestOptions.js"; +import type { InferenceProviderOrPolicy, InferenceTask, RequestArgs } from "../types.js"; +import { templates } from "./templates.exported.js"; export type InferenceSnippetOptions = { streaming?: boolean; billTo?: string } & Record; diff --git a/packages/inference/src/tasks/audio/audioClassification.ts b/packages/inference/src/tasks/audio/audioClassification.ts index d88ef79491..89737e2597 100644 --- a/packages/inference/src/tasks/audio/audioClassification.ts +++ b/packages/inference/src/tasks/audio/audioClassification.ts @@ -1,10 +1,10 @@ import type { AudioClassificationInput, AudioClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import type { LegacyAudioInput } from "./utils"; -import { preparePayload } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import type { LegacyAudioInput } from "./utils.js"; +import { preparePayload } from "./utils.js"; export type AudioClassificationArgs = BaseArgs & (AudioClassificationInput | LegacyAudioInput); diff --git a/packages/inference/src/tasks/audio/audioToAudio.ts b/packages/inference/src/tasks/audio/audioToAudio.ts index b4f37c1563..b007071150 100644 --- a/packages/inference/src/tasks/audio/audioToAudio.ts +++ b/packages/inference/src/tasks/audio/audioToAudio.ts @@ -1,9 +1,9 @@ -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import type { LegacyAudioInput } from "./utils"; -import { preparePayload } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import type { LegacyAudioInput } from "./utils.js"; +import { preparePayload } from "./utils.js"; export type AudioToAudioArgs = | (BaseArgs & { diff --git a/packages/inference/src/tasks/audio/automaticSpeechRecognition.ts b/packages/inference/src/tasks/audio/automaticSpeechRecognition.ts index 617f73dcc4..6f169a20f1 100644 --- a/packages/inference/src/tasks/audio/automaticSpeechRecognition.ts +++ b/packages/inference/src/tasks/audio/automaticSpeechRecognition.ts @@ -1,10 +1,10 @@ import type { AutomaticSpeechRecognitionInput, AutomaticSpeechRecognitionOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import { InferenceOutputError } from "../../lib/InferenceOutputError"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import type { LegacyAudioInput } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import { InferenceOutputError } from "../../lib/InferenceOutputError.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import type { LegacyAudioInput } from "./utils.js"; export type AutomaticSpeechRecognitionArgs = BaseArgs & (AutomaticSpeechRecognitionInput | LegacyAudioInput); /** diff --git a/packages/inference/src/tasks/audio/textToSpeech.ts b/packages/inference/src/tasks/audio/textToSpeech.ts index 2f9221953b..a1efb1a5aa 100644 --- a/packages/inference/src/tasks/audio/textToSpeech.ts +++ b/packages/inference/src/tasks/audio/textToSpeech.ts @@ -1,8 +1,8 @@ import type { TextToSpeechInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; type TextToSpeechArgs = BaseArgs & TextToSpeechInput; interface OutputUrlTextToSpeechGeneration { diff --git a/packages/inference/src/tasks/audio/utils.ts b/packages/inference/src/tasks/audio/utils.ts index 0a84a76305..a5be1afe79 100644 --- a/packages/inference/src/tasks/audio/utils.ts +++ b/packages/inference/src/tasks/audio/utils.ts @@ -1,5 +1,5 @@ -import type { BaseArgs, InferenceProvider, RequestArgs } from "../../types"; -import { omit } from "../../utils/omit"; +import type { BaseArgs, InferenceProvider, RequestArgs } from "../../types.js"; +import { omit } from "../../utils/omit.js"; /** * @deprecated diff --git a/packages/inference/src/tasks/custom/request.ts b/packages/inference/src/tasks/custom/request.ts index 5dd7dbc724..054302ab75 100644 --- a/packages/inference/src/tasks/custom/request.ts +++ b/packages/inference/src/tasks/custom/request.ts @@ -1,7 +1,7 @@ -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { InferenceTask, Options, RequestArgs } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { InferenceTask, Options, RequestArgs } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; /** * Primitive to make custom calls to the inference provider diff --git a/packages/inference/src/tasks/custom/streamingRequest.ts b/packages/inference/src/tasks/custom/streamingRequest.ts index 2f20842246..d5aeaa6d5f 100644 --- a/packages/inference/src/tasks/custom/streamingRequest.ts +++ b/packages/inference/src/tasks/custom/streamingRequest.ts @@ -1,7 +1,7 @@ -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { InferenceTask, Options, RequestArgs } from "../../types"; -import { innerStreamingRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { InferenceTask, Options, RequestArgs } from "../../types.js"; +import { innerStreamingRequest } from "../../utils/request.js"; /** * Primitive to make custom inference calls that expect server-sent events, and returns the response through a generator diff --git a/packages/inference/src/tasks/cv/imageClassification.ts b/packages/inference/src/tasks/cv/imageClassification.ts index d0dd6f2312..2a39f57e26 100644 --- a/packages/inference/src/tasks/cv/imageClassification.ts +++ b/packages/inference/src/tasks/cv/imageClassification.ts @@ -1,9 +1,9 @@ import type { ImageClassificationInput, ImageClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import { preparePayload, type LegacyImageInput } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import { preparePayload, type LegacyImageInput } from "./utils.js"; export type ImageClassificationArgs = BaseArgs & (ImageClassificationInput | LegacyImageInput); diff --git a/packages/inference/src/tasks/cv/imageSegmentation.ts b/packages/inference/src/tasks/cv/imageSegmentation.ts index 2c3cf80d86..03215c43be 100644 --- a/packages/inference/src/tasks/cv/imageSegmentation.ts +++ b/packages/inference/src/tasks/cv/imageSegmentation.ts @@ -1,9 +1,9 @@ import type { ImageSegmentationInput, ImageSegmentationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import { preparePayload, type LegacyImageInput } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import { preparePayload, type LegacyImageInput } from "./utils.js"; export type ImageSegmentationArgs = BaseArgs & (ImageSegmentationInput | LegacyImageInput); diff --git a/packages/inference/src/tasks/cv/imageToImage.ts b/packages/inference/src/tasks/cv/imageToImage.ts index fb007473d9..4405dd2cb2 100644 --- a/packages/inference/src/tasks/cv/imageToImage.ts +++ b/packages/inference/src/tasks/cv/imageToImage.ts @@ -1,8 +1,8 @@ import type { ImageToImageInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type ImageToImageArgs = BaseArgs & ImageToImageInput; diff --git a/packages/inference/src/tasks/cv/imageToText.ts b/packages/inference/src/tasks/cv/imageToText.ts index cfeb67667d..7784b3630c 100644 --- a/packages/inference/src/tasks/cv/imageToText.ts +++ b/packages/inference/src/tasks/cv/imageToText.ts @@ -1,10 +1,10 @@ import type { ImageToTextInput, ImageToTextOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import type { LegacyImageInput } from "./utils"; -import { preparePayload } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import type { LegacyImageInput } from "./utils.js"; +import { preparePayload } from "./utils.js"; export type ImageToTextArgs = BaseArgs & (ImageToTextInput | LegacyImageInput); /** diff --git a/packages/inference/src/tasks/cv/objectDetection.ts b/packages/inference/src/tasks/cv/objectDetection.ts index 58facb80d3..7f9741c5aa 100644 --- a/packages/inference/src/tasks/cv/objectDetection.ts +++ b/packages/inference/src/tasks/cv/objectDetection.ts @@ -1,9 +1,9 @@ import type { ObjectDetectionInput, ObjectDetectionOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; -import { preparePayload, type LegacyImageInput } from "./utils"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; +import { preparePayload, type LegacyImageInput } from "./utils.js"; export type ObjectDetectionArgs = BaseArgs & (ObjectDetectionInput | LegacyImageInput); diff --git a/packages/inference/src/tasks/cv/textToImage.ts b/packages/inference/src/tasks/cv/textToImage.ts index da55e1035d..a0088c1091 100644 --- a/packages/inference/src/tasks/cv/textToImage.ts +++ b/packages/inference/src/tasks/cv/textToImage.ts @@ -1,9 +1,9 @@ import type { TextToImageInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import { makeRequestOptions } from "../../lib/makeRequestOptions"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import { makeRequestOptions } from "../../lib/makeRequestOptions.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TextToImageArgs = BaseArgs & TextToImageInput; diff --git a/packages/inference/src/tasks/cv/textToVideo.ts b/packages/inference/src/tasks/cv/textToVideo.ts index 58f12e26ad..29c61b1721 100644 --- a/packages/inference/src/tasks/cv/textToVideo.ts +++ b/packages/inference/src/tasks/cv/textToVideo.ts @@ -1,12 +1,12 @@ import type { TextToVideoInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import { makeRequestOptions } from "../../lib/makeRequestOptions"; -import type { FalAiQueueOutput } from "../../providers/fal-ai"; -import type { NovitaOutput } from "../../providers/novita"; -import type { ReplicateOutput } from "../../providers/replicate"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import { makeRequestOptions } from "../../lib/makeRequestOptions.js"; +import type { FalAiQueueOutput } from "../../providers/fal-ai.js"; +import type { NovitaOutput } from "../../providers/novita.js"; +import type { ReplicateOutput } from "../../providers/replicate.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TextToVideoArgs = BaseArgs & TextToVideoInput; diff --git a/packages/inference/src/tasks/cv/utils.ts b/packages/inference/src/tasks/cv/utils.ts index cab7f2a41c..cacc959ef9 100644 --- a/packages/inference/src/tasks/cv/utils.ts +++ b/packages/inference/src/tasks/cv/utils.ts @@ -1,5 +1,5 @@ -import type { BaseArgs, RequestArgs } from "../../types"; -import { omit } from "../../utils/omit"; +import type { BaseArgs, RequestArgs } from "../../types.js"; +import { omit } from "../../utils/omit.js"; /** * @deprecated diff --git a/packages/inference/src/tasks/cv/zeroShotImageClassification.ts b/packages/inference/src/tasks/cv/zeroShotImageClassification.ts index 07cabf4918..5843affb97 100644 --- a/packages/inference/src/tasks/cv/zeroShotImageClassification.ts +++ b/packages/inference/src/tasks/cv/zeroShotImageClassification.ts @@ -1,9 +1,9 @@ import type { ZeroShotImageClassificationInput, ZeroShotImageClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options, RequestArgs } from "../../types"; -import { base64FromBytes } from "../../utils/base64FromBytes"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options, RequestArgs } from "../../types.js"; +import { base64FromBytes } from "../../utils/base64FromBytes.js"; +import { innerRequest } from "../../utils/request.js"; /** * @deprecated diff --git a/packages/inference/src/tasks/index.ts b/packages/inference/src/tasks/index.ts index 6d7b954e02..f32d87f0f6 100644 --- a/packages/inference/src/tasks/index.ts +++ b/packages/inference/src/tasks/index.ts @@ -1,43 +1,43 @@ // Custom tasks with arbitrary inputs and outputs -export * from "./custom/request"; -export * from "./custom/streamingRequest"; +export * from "./custom/request.js"; +export * from "./custom/streamingRequest.js"; // Audio tasks -export * from "./audio/audioClassification"; -export * from "./audio/audioToAudio"; -export * from "./audio/automaticSpeechRecognition"; -export * from "./audio/textToSpeech"; +export * from "./audio/audioClassification.js"; +export * from "./audio/audioToAudio.js"; +export * from "./audio/automaticSpeechRecognition.js"; +export * from "./audio/textToSpeech.js"; // Computer Vision tasks -export * from "./cv/imageClassification"; -export * from "./cv/imageSegmentation"; -export * from "./cv/imageToImage"; -export * from "./cv/imageToText"; -export * from "./cv/objectDetection"; -export * from "./cv/textToImage"; -export * from "./cv/textToVideo"; -export * from "./cv/zeroShotImageClassification"; +export * from "./cv/imageClassification.js"; +export * from "./cv/imageSegmentation.js"; +export * from "./cv/imageToImage.js"; +export * from "./cv/imageToText.js"; +export * from "./cv/objectDetection.js"; +export * from "./cv/textToImage.js"; +export * from "./cv/textToVideo.js"; +export * from "./cv/zeroShotImageClassification.js"; // Natural Language Processing tasks -export * from "./nlp/chatCompletion"; -export * from "./nlp/chatCompletionStream"; -export * from "./nlp/featureExtraction"; -export * from "./nlp/fillMask"; -export * from "./nlp/questionAnswering"; -export * from "./nlp/sentenceSimilarity"; -export * from "./nlp/summarization"; -export * from "./nlp/tableQuestionAnswering"; -export * from "./nlp/textClassification"; -export * from "./nlp/textGeneration"; -export * from "./nlp/textGenerationStream"; -export * from "./nlp/tokenClassification"; -export * from "./nlp/translation"; -export * from "./nlp/zeroShotClassification"; +export * from "./nlp/chatCompletion.js"; +export * from "./nlp/chatCompletionStream.js"; +export * from "./nlp/featureExtraction.js"; +export * from "./nlp/fillMask.js"; +export * from "./nlp/questionAnswering.js"; +export * from "./nlp/sentenceSimilarity.js"; +export * from "./nlp/summarization.js"; +export * from "./nlp/tableQuestionAnswering.js"; +export * from "./nlp/textClassification.js"; +export * from "./nlp/textGeneration.js"; +export * from "./nlp/textGenerationStream.js"; +export * from "./nlp/tokenClassification.js"; +export * from "./nlp/translation.js"; +export * from "./nlp/zeroShotClassification.js"; // Multimodal tasks -export * from "./multimodal/documentQuestionAnswering"; -export * from "./multimodal/visualQuestionAnswering"; +export * from "./multimodal/documentQuestionAnswering.js"; +export * from "./multimodal/visualQuestionAnswering.js"; // Tabular tasks -export * from "./tabular/tabularClassification"; -export * from "./tabular/tabularRegression"; +export * from "./tabular/tabularClassification.js"; +export * from "./tabular/tabularRegression.js"; diff --git a/packages/inference/src/tasks/multimodal/documentQuestionAnswering.ts b/packages/inference/src/tasks/multimodal/documentQuestionAnswering.ts index 855831dfb2..cccddb10db 100644 --- a/packages/inference/src/tasks/multimodal/documentQuestionAnswering.ts +++ b/packages/inference/src/tasks/multimodal/documentQuestionAnswering.ts @@ -3,11 +3,11 @@ import type { DocumentQuestionAnsweringInputData, DocumentQuestionAnsweringOutput, } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options, RequestArgs } from "../../types"; -import { base64FromBytes } from "../../utils/base64FromBytes"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options, RequestArgs } from "../../types.js"; +import { base64FromBytes } from "../../utils/base64FromBytes.js"; +import { innerRequest } from "../../utils/request.js"; /// Override the type to properly set inputs.image as Blob export type DocumentQuestionAnsweringArgs = BaseArgs & diff --git a/packages/inference/src/tasks/multimodal/visualQuestionAnswering.ts b/packages/inference/src/tasks/multimodal/visualQuestionAnswering.ts index aa1e1cb479..00a96f573d 100644 --- a/packages/inference/src/tasks/multimodal/visualQuestionAnswering.ts +++ b/packages/inference/src/tasks/multimodal/visualQuestionAnswering.ts @@ -3,11 +3,11 @@ import type { VisualQuestionAnsweringInputData, VisualQuestionAnsweringOutput, } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options, RequestArgs } from "../../types"; -import { base64FromBytes } from "../../utils/base64FromBytes"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options, RequestArgs } from "../../types.js"; +import { base64FromBytes } from "../../utils/base64FromBytes.js"; +import { innerRequest } from "../../utils/request.js"; /// Override the type to properly set inputs.image as Blob export type VisualQuestionAnsweringArgs = BaseArgs & diff --git a/packages/inference/src/tasks/nlp/chatCompletion.ts b/packages/inference/src/tasks/nlp/chatCompletion.ts index 8cb074fe0f..0bfad236c7 100644 --- a/packages/inference/src/tasks/nlp/chatCompletion.ts +++ b/packages/inference/src/tasks/nlp/chatCompletion.ts @@ -1,8 +1,8 @@ import type { ChatCompletionInput, ChatCompletionOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; /** * Use the chat completion endpoint to generate a response to a prompt, using OpenAI message completion API no stream diff --git a/packages/inference/src/tasks/nlp/chatCompletionStream.ts b/packages/inference/src/tasks/nlp/chatCompletionStream.ts index e8a8f03f68..c72d498e2b 100644 --- a/packages/inference/src/tasks/nlp/chatCompletionStream.ts +++ b/packages/inference/src/tasks/nlp/chatCompletionStream.ts @@ -1,8 +1,8 @@ import type { ChatCompletionInput, ChatCompletionStreamOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerStreamingRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerStreamingRequest } from "../../utils/request.js"; /** * Use to continue text from a prompt. Same as `textGeneration` but returns generator that can be read one token at a time diff --git a/packages/inference/src/tasks/nlp/featureExtraction.ts b/packages/inference/src/tasks/nlp/featureExtraction.ts index 6bd2530257..f1e2402237 100644 --- a/packages/inference/src/tasks/nlp/featureExtraction.ts +++ b/packages/inference/src/tasks/nlp/featureExtraction.ts @@ -1,8 +1,8 @@ import type { FeatureExtractionInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; interface FeatureExtractionOAICompatInput { encoding_format?: "float" | "base64"; diff --git a/packages/inference/src/tasks/nlp/fillMask.ts b/packages/inference/src/tasks/nlp/fillMask.ts index 8aca6f8725..cc5189298a 100644 --- a/packages/inference/src/tasks/nlp/fillMask.ts +++ b/packages/inference/src/tasks/nlp/fillMask.ts @@ -1,8 +1,8 @@ import type { FillMaskInput, FillMaskOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type FillMaskArgs = BaseArgs & FillMaskInput; diff --git a/packages/inference/src/tasks/nlp/questionAnswering.ts b/packages/inference/src/tasks/nlp/questionAnswering.ts index f7de93a4bb..22a1b2be15 100644 --- a/packages/inference/src/tasks/nlp/questionAnswering.ts +++ b/packages/inference/src/tasks/nlp/questionAnswering.ts @@ -1,9 +1,9 @@ import type { QuestionAnsweringInput, QuestionAnsweringOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type QuestionAnsweringArgs = BaseArgs & QuestionAnsweringInput; diff --git a/packages/inference/src/tasks/nlp/sentenceSimilarity.ts b/packages/inference/src/tasks/nlp/sentenceSimilarity.ts index 86e32f3fdc..238c8c13de 100644 --- a/packages/inference/src/tasks/nlp/sentenceSimilarity.ts +++ b/packages/inference/src/tasks/nlp/sentenceSimilarity.ts @@ -1,8 +1,8 @@ import type { SentenceSimilarityInput, SentenceSimilarityOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type SentenceSimilarityArgs = BaseArgs & SentenceSimilarityInput; diff --git a/packages/inference/src/tasks/nlp/summarization.ts b/packages/inference/src/tasks/nlp/summarization.ts index fc238ca19d..c9afe1b544 100644 --- a/packages/inference/src/tasks/nlp/summarization.ts +++ b/packages/inference/src/tasks/nlp/summarization.ts @@ -1,8 +1,8 @@ import type { SummarizationInput, SummarizationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type SummarizationArgs = BaseArgs & SummarizationInput; diff --git a/packages/inference/src/tasks/nlp/tableQuestionAnswering.ts b/packages/inference/src/tasks/nlp/tableQuestionAnswering.ts index 37979c88fc..3614910350 100644 --- a/packages/inference/src/tasks/nlp/tableQuestionAnswering.ts +++ b/packages/inference/src/tasks/nlp/tableQuestionAnswering.ts @@ -1,8 +1,8 @@ import type { TableQuestionAnsweringInput, TableQuestionAnsweringOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TableQuestionAnsweringArgs = BaseArgs & TableQuestionAnsweringInput; diff --git a/packages/inference/src/tasks/nlp/textClassification.ts b/packages/inference/src/tasks/nlp/textClassification.ts index 89c539ce2e..cf977a86bc 100644 --- a/packages/inference/src/tasks/nlp/textClassification.ts +++ b/packages/inference/src/tasks/nlp/textClassification.ts @@ -1,8 +1,8 @@ import type { TextClassificationInput, TextClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TextClassificationArgs = BaseArgs & TextClassificationInput; diff --git a/packages/inference/src/tasks/nlp/textGeneration.ts b/packages/inference/src/tasks/nlp/textGeneration.ts index 8d3f4930ba..344082e674 100644 --- a/packages/inference/src/tasks/nlp/textGeneration.ts +++ b/packages/inference/src/tasks/nlp/textGeneration.ts @@ -1,9 +1,9 @@ import type { TextGenerationInput, TextGenerationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { HyperbolicTextCompletionOutput } from "../../providers/hyperbolic"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { HyperbolicTextCompletionOutput } from "../../providers/hyperbolic.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type { TextGenerationInput, TextGenerationOutput }; diff --git a/packages/inference/src/tasks/nlp/textGenerationStream.ts b/packages/inference/src/tasks/nlp/textGenerationStream.ts index 16dea0caa4..9aaf34f511 100644 --- a/packages/inference/src/tasks/nlp/textGenerationStream.ts +++ b/packages/inference/src/tasks/nlp/textGenerationStream.ts @@ -1,8 +1,8 @@ import type { TextGenerationInput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerStreamingRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerStreamingRequest } from "../../utils/request.js"; export interface TextGenerationStreamToken { /** Token ID from the model tokenizer */ diff --git a/packages/inference/src/tasks/nlp/tokenClassification.ts b/packages/inference/src/tasks/nlp/tokenClassification.ts index 0b2a2a163b..fc9868c3b8 100644 --- a/packages/inference/src/tasks/nlp/tokenClassification.ts +++ b/packages/inference/src/tasks/nlp/tokenClassification.ts @@ -1,8 +1,8 @@ import type { TokenClassificationInput, TokenClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TokenClassificationArgs = BaseArgs & TokenClassificationInput; diff --git a/packages/inference/src/tasks/nlp/translation.ts b/packages/inference/src/tasks/nlp/translation.ts index d6e9af2a5c..82c6f14346 100644 --- a/packages/inference/src/tasks/nlp/translation.ts +++ b/packages/inference/src/tasks/nlp/translation.ts @@ -1,8 +1,8 @@ import type { TranslationInput, TranslationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TranslationArgs = BaseArgs & TranslationInput; /** diff --git a/packages/inference/src/tasks/nlp/zeroShotClassification.ts b/packages/inference/src/tasks/nlp/zeroShotClassification.ts index d142895a7f..ba5f1fda36 100644 --- a/packages/inference/src/tasks/nlp/zeroShotClassification.ts +++ b/packages/inference/src/tasks/nlp/zeroShotClassification.ts @@ -1,8 +1,8 @@ import type { ZeroShotClassificationInput, ZeroShotClassificationOutput } from "@huggingface/tasks"; -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type ZeroShotClassificationArgs = BaseArgs & ZeroShotClassificationInput; diff --git a/packages/inference/src/tasks/tabular/tabularClassification.ts b/packages/inference/src/tasks/tabular/tabularClassification.ts index b74308b67e..44e7a25013 100644 --- a/packages/inference/src/tasks/tabular/tabularClassification.ts +++ b/packages/inference/src/tasks/tabular/tabularClassification.ts @@ -1,7 +1,7 @@ -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TabularClassificationArgs = BaseArgs & { inputs: { diff --git a/packages/inference/src/tasks/tabular/tabularRegression.ts b/packages/inference/src/tasks/tabular/tabularRegression.ts index ff1b924425..6c3d27af24 100644 --- a/packages/inference/src/tasks/tabular/tabularRegression.ts +++ b/packages/inference/src/tasks/tabular/tabularRegression.ts @@ -1,7 +1,7 @@ -import { resolveProvider } from "../../lib/getInferenceProviderMapping"; -import { getProviderHelper } from "../../lib/getProviderHelper"; -import type { BaseArgs, Options } from "../../types"; -import { innerRequest } from "../../utils/request"; +import { resolveProvider } from "../../lib/getInferenceProviderMapping.js"; +import { getProviderHelper } from "../../lib/getProviderHelper.js"; +import type { BaseArgs, Options } from "../../types.js"; +import { innerRequest } from "../../utils/request.js"; export type TabularRegressionArgs = BaseArgs & { inputs: { diff --git a/packages/inference/src/types.ts b/packages/inference/src/types.ts index a6df1ba3e4..e2f9682c97 100644 --- a/packages/inference/src/types.ts +++ b/packages/inference/src/types.ts @@ -1,5 +1,5 @@ import type { ChatCompletionInput, PipelineType } from "@huggingface/tasks"; -import type { InferenceProviderModelMapping } from "./lib/getInferenceProviderMapping"; +import type { InferenceProviderModelMapping } from "./lib/getInferenceProviderMapping.js"; /** * HF model id, like "meta-llama/Llama-3.3-70B-Instruct" diff --git a/packages/inference/src/utils/isFrontend.ts b/packages/inference/src/utils/isFrontend.ts index 0b9bab392e..79454d7f24 100644 --- a/packages/inference/src/utils/isFrontend.ts +++ b/packages/inference/src/utils/isFrontend.ts @@ -1,3 +1,3 @@ -import { isBackend } from "./isBackend"; +import { isBackend } from "./isBackend.js"; export const isFrontend = !isBackend; diff --git a/packages/inference/src/utils/omit.ts b/packages/inference/src/utils/omit.ts index 6515f18df6..304dd39129 100644 --- a/packages/inference/src/utils/omit.ts +++ b/packages/inference/src/utils/omit.ts @@ -1,5 +1,5 @@ -import { pick } from "./pick"; -import { typedInclude } from "./typedInclude"; +import { pick } from "./pick.js"; +import { typedInclude } from "./typedInclude.js"; /** * Return copy of object, omitting blocklisted array of props diff --git a/packages/inference/src/utils/request.ts b/packages/inference/src/utils/request.ts index 3af8a128a0..e4aa24073a 100644 --- a/packages/inference/src/utils/request.ts +++ b/packages/inference/src/utils/request.ts @@ -1,8 +1,8 @@ -import type { getProviderHelper } from "../lib/getProviderHelper"; -import { makeRequestOptions } from "../lib/makeRequestOptions"; -import type { InferenceTask, Options, RequestArgs } from "../types"; -import type { EventSourceMessage } from "../vendor/fetch-event-source/parse"; -import { getLines, getMessages } from "../vendor/fetch-event-source/parse"; +import type { getProviderHelper } from "../lib/getProviderHelper.js"; +import { makeRequestOptions } from "../lib/makeRequestOptions.js"; +import type { InferenceTask, Options, RequestArgs } from "../types.js"; +import type { EventSourceMessage } from "../vendor/fetch-event-source/parse.js"; +import { getLines, getMessages } from "../vendor/fetch-event-source/parse.js"; export interface ResponseWrapper { data: T; diff --git a/packages/inference/src/vendor/fetch-event-source/parse.spec.ts b/packages/inference/src/vendor/fetch-event-source/parse.spec.ts index be9752335a..a301a2ce28 100644 --- a/packages/inference/src/vendor/fetch-event-source/parse.spec.ts +++ b/packages/inference/src/vendor/fetch-event-source/parse.spec.ts @@ -34,7 +34,7 @@ const fail = (msg: string) => { throw new Error(msg) }; */ -import * as parse from './parse'; +import * as parse from './parse.js'; describe('parse', () => { const encoder = new TextEncoder(); diff --git a/packages/inference/src/vendor/fetch-event-source/parse.ts b/packages/inference/src/vendor/fetch-event-source/parse.ts index 3915348e44..5f4713e897 100644 --- a/packages/inference/src/vendor/fetch-event-source/parse.ts +++ b/packages/inference/src/vendor/fetch-event-source/parse.ts @@ -52,7 +52,7 @@ export interface EventSourceMessage { * @param onChunk A function that will be called on each new byte chunk in the stream. * @returns {Promise} A promise that will be resolved when the stream closes. */ -export async function getBytes(stream: ReadableStream, onChunk: (arr: Uint8Array) => void) { +export async function getBytes(stream: ReadableStream, onChunk: (arr: Uint8Array) => void): Promise { const reader = stream.getReader(); let result: ReadableStreamReadResult; while (!(result = await reader.read()).done) { @@ -73,7 +73,7 @@ const enum ControlChars { * @param onLine A function that will be called on each new EventSource line. * @returns A function that should be called for each incoming byte chunk. */ -export function getLines(onLine: (line: Uint8Array, fieldLength: number) => void) { +export function getLines(onLine: (line: Uint8Array, fieldLength: number) => void): (arr: Uint8Array) => void { let buffer: Uint8Array | undefined; let position: number; // current read position let fieldLength: number; // length of the `field` portion of the line @@ -110,9 +110,9 @@ export function getLines(onLine: (line: Uint8Array, fieldLength: number) => void fieldLength = position - lineStart; } break; - // @ts-ignore:7029 \r case below should fallthrough to \n: case ControlChars.CarriageReturn: discardTrailingNewline = true; + // eslint-disable-next-line no-fallthrough case ControlChars.NewLine: lineEnd = position; break; @@ -153,7 +153,7 @@ export function getMessages( onId: (id: string) => void, onRetry: (retry: number) => void, onMessage?: (msg: EventSourceMessage) => void -) { +): (line: Uint8Array, fieldLength: number) => void { let message = newMessage(); const decoder = new TextDecoder(); @@ -184,12 +184,13 @@ export function getMessages( case 'id': onId(message.id = value); break; - case 'retry': + case 'retry': { const retry = parseInt(value, 10); if (!isNaN(retry)) { // per spec, ignore non-integers onRetry(message.retry = retry); } break; + } } } } diff --git a/packages/inference/test/InferenceClient.spec.ts b/packages/inference/test/InferenceClient.spec.ts index 3365f38cfd..d4bcd66ad5 100644 --- a/packages/inference/test/InferenceClient.spec.ts +++ b/packages/inference/test/InferenceClient.spec.ts @@ -2,7 +2,7 @@ import { assert, describe, expect, it } from "vitest"; import type { ChatCompletionStreamOutput } from "@huggingface/tasks"; -import type { TextToImageArgs } from "../src"; +import type { TextToImageArgs } from "../src.js"; import { chatCompletion, chatCompletionStream, @@ -11,9 +11,9 @@ import { textGeneration, textToImage, } from "../src"; -import { isUrl } from "../src/lib/isUrl"; -import { HARDCODED_MODEL_INFERENCE_MAPPING } from "../src/providers/consts"; -import { readTestFile } from "./test-files"; +import { isUrl } from "../src/lib/isUrl.js"; +import { HARDCODED_MODEL_INFERENCE_MAPPING } from "../src/providers/consts.js"; +import { readTestFile } from "./test-files.js"; const TIMEOUT = 60000 * 3; const env = import.meta.env; diff --git a/packages/inference/tsconfig.json b/packages/inference/tsconfig.json index a3268e6c25..9d468f6e75 100644 --- a/packages/inference/tsconfig.json +++ b/packages/inference/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { "esModuleInterop": true, - "module": "ESNext", + "module": "NodeNext", "target": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "nodenext", "noImplicitAny": true, "strict": true, "strictNullChecks": true, From 92526526298efee97b668369379a085c23d51269 Mon Sep 17 00:00:00 2001 From: coyotte508 Date: Fri, 23 May 2025 11:50:46 +0200 Subject: [PATCH 2/4] also ignore tshy format --- packages/inference/.prettierignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/inference/.prettierignore b/packages/inference/.prettierignore index 949210e1ab..e4795c497f 100644 --- a/packages/inference/.prettierignore +++ b/packages/inference/.prettierignore @@ -4,4 +4,5 @@ README.md dist test/tapes.json src/vendor -.tshy-build \ No newline at end of file +.tshy-build +.tshy \ No newline at end of file From b21193ae16a07a969d152578d214b80ddb1f60f6 Mon Sep 17 00:00:00 2001 From: coyotte508 Date: Fri, 23 May 2025 11:58:56 +0200 Subject: [PATCH 3/4] fix json import error --- packages/inference/package.json | 6 +- packages/inference/scripts/generate-dts.ts | 198 ------------------ .../inference/scripts/package-json-to-ts.ts | 12 ++ .../inference/src/lib/makeRequestOptions.ts | 6 +- packages/inference/src/package.ts | 3 + 5 files changed, 20 insertions(+), 205 deletions(-) delete mode 100644 packages/inference/scripts/generate-dts.ts create mode 100644 packages/inference/scripts/package-json-to-ts.ts create mode 100644 packages/inference/src/package.ts diff --git a/packages/inference/package.json b/packages/inference/package.json index a8e862101d..1b279f79e6 100644 --- a/packages/inference/package.json +++ b/packages/inference/package.json @@ -41,8 +41,7 @@ }, "type": "module", "scripts": { - "build": "pnpm run export-templates && tshy", - "dts": "tsx scripts/generate-dts.ts && tsc --noEmit dist/index.d.ts", + "build": "pnpm run export-templates && pnpm run package-to-ts && tshy", "lint": "eslint --quiet --fix --ext .cjs,.ts .", "lint:check": "eslint --ext .cjs,.ts .", "format": "prettier --write .", @@ -53,7 +52,8 @@ "test:browser": "vitest run --browser.name=chrome --browser.headless --config vitest.config.mts", "check": "tsc", "dev": "pnpm run export-templates && tsup src/index.ts --format cjs,esm --watch", - "export-templates": "tsx scripts/export-templates.ts" + "export-templates": "tsx scripts/export-templates.ts", + "package-to-ts": "tsx scripts/package-json-to-ts.ts" }, "dependencies": { "@huggingface/tasks": "workspace:^", diff --git a/packages/inference/scripts/generate-dts.ts b/packages/inference/scripts/generate-dts.ts deleted file mode 100644 index d483fc8946..0000000000 --- a/packages/inference/scripts/generate-dts.ts +++ /dev/null @@ -1,198 +0,0 @@ -/** Dirty script to generate pretty .d.ts */ - -import { readFileSync, writeFileSync, appendFileSync, readdirSync } from "node:fs"; -import { TASKS_DATA } from "@huggingface/tasks"; - -const taskImports = new Set(); - -const tasks = Object.keys(TASKS_DATA) - .sort() - .filter((task) => task !== "other"); - -let types = readFileSync("./src/types.ts", "utf-8"); - -types = types.replace(/import.* "@huggingface\/tasks";\n/g, ""); -types = types.replace(' Exclude', ["", ...tasks.map((task) => `"${task}"`)].join("\n\t| ")); - -if (types.includes("PipelineType") || types.includes("@huggingface/tasks")) { - console.log(types); - console.error("Failed to parse types.ts"); - process.exit(1); -} - -writeFileSync("./dist/index.d.ts", types + "\n"); -appendFileSync("./dist/index.d.ts", "export class InferenceOutputError extends TypeError {}" + "\n"); - -const dirs = readdirSync("./src/tasks"); - -const fns: string[] = []; -for (const dir of dirs) { - if (dir.endsWith(".ts")) { - continue; - } - const files = readdirSync(`./src/tasks/${dir}`); - for (const file of files) { - if (!file.endsWith(".ts")) { - continue; - } - - const fileContent = readFileSync(`./src/tasks/${dir}/${file}`, "utf-8"); - - // detect imports from @huggingface/tasks - for (const imports of fileContent.matchAll(/import type {(.*)} from "@huggingface\/tasks";/g)) { - // Convert A, B, C to ["A", "B", "C"] - const imported = imports[1].split(",").map((x) => x.trim()); - - for (const imp of imported) { - taskImports.add(imp); - } - } - - for (const type of extractTypesAndInterfaces(fileContent)) { - appendFileSync("./dist/index.d.ts", type + "\n"); - } - - for (const fn of extractAsyncFunctions(fileContent)) { - appendFileSync("./dist/index.d.ts", fn + "\n"); - fns.push(fn); - } - } -} - -appendFileSync( - "./dist/index.d.ts", - `export class InferenceClient { -\tconstructor(accessToken?: string, defaultOptions?: Options); -\t/** -\t * Returns copy of InferenceClient tied to a specified endpoint. -\t */ -\tendpoint(endpointUrl: string): InferenceClientEndpoint; -` + - fns - .map( - (fn) => - `${fn - .replace(/args: [a-zA-Z]+/, (args) => `args: Omit<${args.slice("args: ".length)}, 'accessToken'>`) - .replace("export function ", "") - .split("\n") - .map((line) => "\t" + line) - .join("\n")}` - ) - .join("\n") + - "\n}\n" -); - -appendFileSync( - "./dist/index.d.ts", - `export class InferenceClientEndpoint {\n\tconstructor(endpointUrl: string, accessToken?: string, defaultOptions?: Options);\n` + - fns - .map( - (fn) => - `${fn - .replace(/args: [a-zA-Z]+/, (args) => `args: Omit<${args.slice("args: ".length)}, 'accessToken' | 'model'>`) - .replace("export function ", "") - .split("\n") - .map((line) => "\t" + line) - .join("\n")}` - ) - .join("\n") + - "\n}\n" -); - -// Prepend import from @huggingface/tasks -writeFileSync( - "./dist/index.d.ts", - `import type { ${[...taskImports].join(", ")} } from "@huggingface/tasks";\n` + - readFileSync("./dist/index.d.ts", "utf-8") -); - -function* extractTypesAndInterfaces(fileContent: string): Iterable { - let index = 0; - - for (const kind of ["type", "interface"]) { - while (true) { - index = fileContent.indexOf(`export ${kind} `, index); - const initialIndex = index; - if (index === -1) { - break; - } - - let bracketOpen = 0; - - dance: for (let i = index; i < fileContent.length; i++) { - switch (fileContent[i]) { - case "{": - bracketOpen++; - break; - case "}": - bracketOpen--; - if (bracketOpen === 0 && kind === "interface") { - // Add doc comment if present - if (fileContent[index - 2] === "/" && fileContent[index - 3] === "*") { - index = fileContent.lastIndexOf("/*", index); - } - yield fileContent.slice(index, i + 1); - index = i + 1; - break dance; - } - break; - case ";": - if (bracketOpen === 0) { - // Add doc comment if present - if (fileContent[index - 2] === "/" && fileContent[index - 3] === "*") { - index = fileContent.lastIndexOf("/*", index); - } - yield fileContent.slice(index, i + 1); - index = i + 1; - break dance; - } - break; - } - } - - if (initialIndex === index) { - console.error("Failed to parse fileContent", fileContent.slice(index, index + 100)); - process.exit(1); - } - } - } -} - -function* extractAsyncFunctions(fileContent: string): Iterable { - let index = 0; - - while (true) { - index = fileContent.indexOf(`export async function`, index); - if (index === -1) { - break; - } - - const typeBegin = fileContent.indexOf("): ", index); - - if (typeBegin === -1) { - console.error("Failed to parse fileContent", fileContent.slice(index, index + 100)); - process.exit(1); - } - - const typeEnd = fileContent.indexOf(" {", typeBegin); - - if (typeEnd === -1) { - console.error("Failed to parse fileContent", fileContent.slice(index, index + 100)); - process.exit(1); - } - - if (fileContent[index - 2] === "/" && fileContent[index - 3] === "*") { - index = fileContent.lastIndexOf("/*", index); - } - yield fileContent - .slice(index, typeEnd) - .replace("export async ", "export ") - .replace("export function*", "export function") - .trim() + ";"; - index = typeEnd; - } -} - -for (const distPath of ["./dist/index.js", "./dist/index.cjs"]) { - writeFileSync(distPath, '/// \n' + readFileSync(distPath, "utf-8")); -} diff --git a/packages/inference/scripts/package-json-to-ts.ts b/packages/inference/scripts/package-json-to-ts.ts new file mode 100644 index 0000000000..d13841c803 --- /dev/null +++ b/packages/inference/scripts/package-json-to-ts.ts @@ -0,0 +1,12 @@ +import { readFileSync, writeFileSync } from "node:fs"; + +const pkg = JSON.parse(readFileSync("./package.json", "utf8")); + +const content = [ + "// Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783", + `export const PACKAGE_VERSION = ${JSON.stringify(pkg.version)};`, + `export const PACKAGE_NAME = ${JSON.stringify(pkg.name)};`, + "", +].join("\n"); + +writeFileSync("./src/package.ts", content); diff --git a/packages/inference/src/lib/makeRequestOptions.ts b/packages/inference/src/lib/makeRequestOptions.ts index 54f5dbb6dc..7973d944ba 100644 --- a/packages/inference/src/lib/makeRequestOptions.ts +++ b/packages/inference/src/lib/makeRequestOptions.ts @@ -1,7 +1,5 @@ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore this works or not depending on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783 -import pkg from "../../package.json" with { type: "json" }; import { HF_HEADER_X_BILL_TO, HF_HUB_URL } from "../config.js"; +import { PACKAGE_NAME, PACKAGE_VERSION } from "../package.js"; import type { InferenceTask, Options, RequestArgs } from "../types.js"; import type { InferenceProviderModelMapping } from "./getInferenceProviderMapping.js"; import { getInferenceProviderMapping } from "./getInferenceProviderMapping.js"; @@ -160,7 +158,7 @@ export function makeRequestOptionsFromResolvedModel( // Add user-agent to headers // e.g. @huggingface/inference/3.1.3 - const ownUserAgent = `${pkg.name}/${pkg.version}`; + const ownUserAgent = `${PACKAGE_NAME}/${PACKAGE_VERSION}`; const userAgent = [ownUserAgent, typeof navigator !== "undefined" ? navigator.userAgent : undefined] .filter((x) => x !== undefined) .join(" "); diff --git a/packages/inference/src/package.ts b/packages/inference/src/package.ts new file mode 100644 index 0000000000..a2668cf682 --- /dev/null +++ b/packages/inference/src/package.ts @@ -0,0 +1,3 @@ +// Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783 +export const PACKAGE_VERSION = "3.13.2"; +export const PACKAGE_NAME = "@huggingface/inference"; From 28616fb3277aea39e2c3bf688e2543c985ef75fe Mon Sep 17 00:00:00 2001 From: "Eliott C." Date: Fri, 23 May 2025 11:59:41 +0200 Subject: [PATCH 4/4] Update packages/inference/src/InferenceClient.ts --- packages/inference/src/InferenceClient.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/inference/src/InferenceClient.ts b/packages/inference/src/InferenceClient.ts index ddb2545315..605e85bd55 100644 --- a/packages/inference/src/InferenceClient.ts +++ b/packages/inference/src/InferenceClient.ts @@ -3,7 +3,6 @@ import type { Options } from "./types.js"; import { omit } from "./utils/omit.js"; import { typedEntries } from "./utils/typedEntries.js"; -/import\s+([^\s]+)\s+from\s+(['"])(\.{1,2}\/[^'"]+?)(?