Skip to content
5 min read · 1,012 words

@nhtio/adk/batteries/llm/transformers_js

transformers.js LLM adapter battery — dual-environment (Node + browser) on-device text generation.

Remarks

Opinionated LLM battery wrapping @huggingface/transformers (transformers.js) — on-device inference via ONNX Runtime, auto-selecting onnxruntime-node (native, plain Node) or onnxruntime-web (WASM + WebGPU). Environment-neutral: NO WebGPU gate.

transformers.js is text-in / text-out — it injects tool definitions into the chat template but does NOT return structured tool calls or reasoning. This battery parses them out of the model's text via the shared, configurable parser layer (toolCallParser / reasoningParser, both 'auto' by default), mirroring how vLLM/SGLang/Ollama do post-hoc, per-family parsing. The bundled defaults target the small ONNX models that run in transformers.js (Gemma 4 E2B/E4B, gpt-oss:20b, Qwen3-Instruct, Llama 3.2, SmolLM); a custom parser function is the escape hatch for anything else.

Re-exports the adapter class, every translation helper (each with its default* alias), the shared tool-call + reasoning parser layer (family parsers, auto drivers, resolvers, contract types), the option/wire types, the validation schema + validateOptions, and the battery-scoped exceptions.

Type Aliases

Type AliasDescription
MediaOutputExtractorFnExtracts generated media from a battery's raw generation result so the adapter can surface it as assistant Message.attachments. Injectable + defaulted to absent (no media output) on every LLM battery, mirroring the toolCallParser / reasoningParser / decodeMedia injection seams.
UnsupportedMediaPolicyPolicy for how a Chat-family battery handles a @nhtio/adk!Media instance whose modality the wire protocol cannot natively represent.

References

barePythonicToolCallParser

Re-exports barePythonicToolCallParser


BatteryLifecycleBattery

Re-exports BatteryLifecycleBattery


BatteryLifecycleCallback

Re-exports BatteryLifecycleCallback


BatteryLifecycleHooks

Re-exports BatteryLifecycleHooks


BatteryLifecyclePhase

Re-exports BatteryLifecyclePhase


BatteryLifecycleReport

Re-exports BatteryLifecycleReport


buildBundledReasoningParsers

Re-exports buildBundledReasoningParsers


buildTransformersJsMessages

Re-exports buildTransformersJsMessages


BUNDLED_REASONING_PARSERS

Re-exports BUNDLED_REASONING_PARSERS


BUNDLED_TOOL_CALL_PARSERS

Re-exports BUNDLED_TOOL_CALL_PARSERS


ChatGenerationOptions

Re-exports ChatGenerationOptions


ChatSampler

Re-exports ChatSampler


createAutoReasoningParser

Re-exports createAutoReasoningParser


createAutoToolCallParser

Re-exports createAutoToolCallParser


CreateTransformersJsMultimodal

Re-exports CreateTransformersJsMultimodal


CreateTransformersJsPipeline

Re-exports CreateTransformersJsPipeline


createTransformersJsStreamAccumulator

Re-exports createTransformersJsStreamAccumulator


CreateTransformersJsStreamer

Re-exports CreateTransformersJsStreamer


DEFAULT_REASONING_PARSER_ORDER

Re-exports DEFAULT_REASONING_PARSER_ORDER


DEFAULT_TOOL_CALL_PARSER_ORDER

Re-exports DEFAULT_TOOL_CALL_PARSER_ORDER


defaultBarePythonicToolCallParser

Re-exports defaultBarePythonicToolCallParser


defaultBuildTransformersJsMessages

Re-exports defaultBuildTransformersJsMessages


defaultCreateAutoReasoningParser

Re-exports defaultCreateAutoReasoningParser


defaultCreateAutoToolCallParser

Re-exports defaultCreateAutoToolCallParser


defaultCreateTransformersJsStreamAccumulator

Re-exports defaultCreateTransformersJsStreamAccumulator


defaultDescriptionToChatCompletionsJsonSchema

Re-exports defaultDescriptionToChatCompletionsJsonSchema


defaultEmitLifecycle

Re-exports defaultEmitLifecycle


defaultFilterThoughts

Re-exports defaultFilterThoughts


defaultGemmaChannelReasoningParser

Re-exports defaultGemmaChannelReasoningParser


defaultGemmaToolCallParser

Re-exports defaultGemmaToolCallParser


defaultGptOssToolCallParser

Re-exports defaultGptOssToolCallParser


defaultHarmonyAnalysisReasoningParser

Re-exports defaultHarmonyAnalysisReasoningParser


defaultHermesToolCallParser

Re-exports defaultHermesToolCallParser


defaultLlama3JsonToolCallParser

Re-exports defaultLlama3JsonToolCallParser


defaultLooseKeyedToolCallParser

Re-exports defaultLooseKeyedToolCallParser


defaultMediaToTransformersInput

Re-exports defaultMediaToTransformersInput


defaultMistralToolCallParser

Re-exports defaultMistralToolCallParser


defaultNoneReasoningParser

Re-exports defaultNoneReasoningParser


defaultNoneToolCallParser

Re-exports defaultNoneToolCallParser


defaultPhiToolCallParser

Re-exports defaultPhiToolCallParser


defaultPythonicToolCallParser

Re-exports defaultPythonicToolCallParser


defaultQwen3CoderToolCallParser

Re-exports defaultQwen3CoderToolCallParser


defaultRenderChatCompletionsSystemPrompt

Re-exports defaultRenderChatCompletionsSystemPrompt


defaultRenderFirstPartyRetrievables

Re-exports defaultRenderFirstPartyRetrievables


defaultRenderMemories

Re-exports defaultRenderMemories


defaultRenderRetrievables

Re-exports defaultRenderRetrievables


defaultRenderRetrievableSafetyDirective

Re-exports defaultRenderRetrievableSafetyDirective


defaultRenderStandingInstructions

Re-exports defaultRenderStandingInstructions


defaultRenderThirdPartyPrivateRetrievables

Re-exports defaultRenderThirdPartyPrivateRetrievables


defaultRenderThirdPartyPublicRetrievables

Re-exports defaultRenderThirdPartyPublicRetrievables


defaultRenderThought

Re-exports defaultRenderThought


defaultRenderTransformersJsToolResult

Re-exports defaultRenderTransformersJsToolResult


defaultRenderTrustedContent

Re-exports defaultRenderTrustedContent


defaultRenderUntrustedContent

Re-exports defaultRenderUntrustedContent


defaultResolveGenerationOptions

Re-exports defaultResolveGenerationOptions


defaultResolveReasoningParser

Re-exports defaultResolveReasoningParser


defaultResolveToolCallParser

Re-exports defaultResolveToolCallParser


defaultThinkTagReasoningParser

Re-exports defaultThinkTagReasoningParser


defaultToolsToTransformersJsTools

Re-exports defaultToolsToTransformersJsTools


DescriptionLike

Re-exports DescriptionLike


descriptionToChatCompletionsJsonSchema

Re-exports descriptionToChatCompletionsJsonSchema


E_INVALID_TRANSFORMERS_JS_OPTIONS

Re-exports E_INVALID_TRANSFORMERS_JS_OPTIONS


E_LLM_GPU_OUT_OF_MEMORY

Re-exports E_LLM_GPU_OUT_OF_MEMORY


E_TRANSFORMERS_JS_CONTEXT_OVERFLOW

Re-exports E_TRANSFORMERS_JS_CONTEXT_OVERFLOW


E_TRANSFORMERS_JS_INVALID_TOOL_CALL_ARGS

Re-exports E_TRANSFORMERS_JS_INVALID_TOOL_CALL_ARGS


E_TRANSFORMERS_JS_STREAM_ERROR

Re-exports E_TRANSFORMERS_JS_STREAM_ERROR


E_TRANSFORMERS_JS_TOOL_PARSE_FAILED

Re-exports E_TRANSFORMERS_JS_TOOL_PARSE_FAILED


E_UNSUPPORTED_MEDIA_MODALITY

Re-exports E_UNSUPPORTED_MEDIA_MODALITY


emitLifecycle

Re-exports emitLifecycle


extractReasoningFields

Re-exports extractReasoningFields


filterThoughts

Re-exports filterThoughts


gemmaChannelReasoningParser

Re-exports gemmaChannelReasoningParser


gemmaToolCallParser

Re-exports gemmaToolCallParser


GeneratedMediaOutput

Re-exports GeneratedMediaOutput


GENERATION_DEFAULTS

Re-exports GENERATION_DEFAULTS


gptOssToolCallParser

Re-exports gptOssToolCallParser


GpuBudget

Re-exports GpuBudget


GpuBufferInstrument

Re-exports GpuBufferInstrument


GpuBufferSample

Re-exports GpuBufferSample


harmonyAnalysisReasoningParser

Re-exports harmonyAnalysisReasoningParser


hermesToolCallParser

Re-exports hermesToolCallParser


installModelSource

Re-exports installModelSource


instrumentGpuBuffers

Re-exports instrumentGpuBuffers


isGpuOutOfMemoryError

Re-exports isGpuOutOfMemoryError


JsonSchema

Re-exports JsonSchema


JsonValue

Re-exports JsonValue


llama3JsonToolCallParser

Re-exports llama3JsonToolCallParser


looseKeyedToolCallParser

Re-exports looseKeyedToolCallParser


makeGemmaChannelReasoningParser

Re-exports makeGemmaChannelReasoningParser


makeHarmonyAnalysisReasoningParser

Re-exports makeHarmonyAnalysisReasoningParser


makeThinkTagReasoningParser

Re-exports makeThinkTagReasoningParser


mediaToTransformersInput

Re-exports mediaToTransformersInput


mistralToolCallParser

Re-exports mistralToolCallParser


modelSourceToCache

Re-exports modelSourceToCache


noneReasoningParser

Re-exports noneReasoningParser


noneToolCallParser

Re-exports noneToolCallParser


ParsedToolCall

Re-exports ParsedToolCall


parseResourceKey

Re-exports parseResourceKey


phiToolCallParser

Re-exports phiToolCallParser


probeGpuBudget

Re-exports probeGpuBudget


pythonicToolCallParser

Re-exports pythonicToolCallParser


qwen3CoderToolCallParser

Re-exports qwen3CoderToolCallParser


RawGenerationObservation

Re-exports RawGenerationObservation


RawGenerationObserverFn

Re-exports RawGenerationObserverFn


ReasoningParseResult

Re-exports ReasoningParseResult


ReasoningParserFn

Re-exports ReasoningParserFn


ReasoningParserName

Re-exports ReasoningParserName


ReasoningParserOptions

Re-exports ReasoningParserOptions


renderChatCompletionsSystemPrompt

Re-exports renderChatCompletionsSystemPrompt


renderFirstPartyRetrievables

Re-exports renderFirstPartyRetrievables


renderMemories

Re-exports renderMemories


renderRetrievables

Re-exports renderRetrievables


renderRetrievableSafetyDirective

Re-exports renderRetrievableSafetyDirective


renderStandingInstructions

Re-exports renderStandingInstructions


renderThirdPartyPrivateRetrievables

Re-exports renderThirdPartyPrivateRetrievables


renderThirdPartyPublicRetrievables

Re-exports renderThirdPartyPublicRetrievables


renderThought

Re-exports renderThought


renderTransformersJsToolResult

Re-exports renderTransformersJsToolResult


renderTrustedContent

Re-exports renderTrustedContent


renderUntrustedContent

Re-exports renderUntrustedContent


ResolvedGenerationOptions

Re-exports ResolvedGenerationOptions


resolveGenerationOptions

Re-exports resolveGenerationOptions


resolveReasoningParser

Re-exports resolveReasoningParser


resolveToolCallParser

Re-exports resolveToolCallParser


thinkTagReasoningParser

Re-exports thinkTagReasoningParser


ToolCallParserContext

Re-exports ToolCallParserContext


ToolCallParseResult

Re-exports ToolCallParseResult


ToolCallParserFn

Re-exports ToolCallParserFn


ToolCallParserName

Re-exports ToolCallParserName


toolsToTransformersJsTools

Re-exports toolsToTransformersJsTools


TransformersJsAdapter

Re-exports TransformersJsAdapter


TransformersJsAdapterOptions

Re-exports TransformersJsAdapterOptions


TransformersJsBucketOrder

Renames and re-exports ChatCompletionsBucketOrder


TransformersJsDataType

Re-exports TransformersJsDataType


TransformersJsDescriptionLike

Re-exports TransformersJsDescriptionLike


TransformersJsDevice

Re-exports TransformersJsDevice


TransformersJsDeviceType

Re-exports TransformersJsDeviceType


TransformersJsDtype

Re-exports TransformersJsDtype


TransformersJsHelpers

Renames and re-exports ChatCompletionsHelpers


TransformersJsJsonSchema

Re-exports TransformersJsJsonSchema


TransformersJsMessage

Re-exports TransformersJsMessage


TransformersJsModel

Re-exports TransformersJsModel


TransformersJsModelSource

Re-exports TransformersJsModelSource


transformersJsOptionsSchema

Re-exports transformersJsOptionsSchema


TransformersJsPipeline

Re-exports TransformersJsPipeline


TransformersJsProcessor

Re-exports TransformersJsProcessor


TransformersJsProgressCallback

Re-exports TransformersJsProgressCallback


TransformersJsSessionOptions

Re-exports TransformersJsSessionOptions


TransformersJsStreamAccumulator

Re-exports TransformersJsStreamAccumulator


TransformersJsTextStreamer

Re-exports TransformersJsTextStreamer


TransformersJsTool

Re-exports TransformersJsTool


validateOptions

Re-exports validateOptions


withModelSource

Re-exports withModelSource