{
  "name": "@nhtio/adk",
  "version": "0.1.0-master-f0aa531d",
  "description": "An opinionated Agent Development Kit for building custom AI agents with bring-your-own infrastructure and opt-in batteries.",
  "helpers": {
    "llms": "/llms.txt",
    "full": "/llms-full.txt",
    "manifest": "/llms.json"
  },
  "pages": [
    {
      "title": "@nhtio/adk/batteries",
      "description": "Opt-in aggregate barrel for bundled ADK batteries across LLMs, tools, and storage.",
      "route": "/api/@nhtio/adk/batteries",
      "source": "/api/@nhtio/adk/batteries/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries.WebLLMChatCompletionsAdapterOptions",
      "route": "/api/@nhtio/adk/batteries/interfaces/WebLLMChatCompletionsAdapterOptions",
      "source": "/api/@nhtio/adk/batteries/interfaces/WebLLMChatCompletionsAdapterOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm",
      "description": "Aggregate barrel for bundled LLM adapters and their helper, option, and exception exports.",
      "route": "/api/@nhtio/adk/batteries/llm",
      "source": "/api/@nhtio/adk/batteries/llm/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/adapter.OpenAIChatCompletionsAdapter",
      "description": "Opinionated cross-environment LLM adapter for the OpenAI Chat Completions wire shape.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/adapter/classes/OpenAIChatCompletionsAdapter",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/adapter/classes/OpenAIChatCompletionsAdapter.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/adapter",
      "description": "Cross-environment executor adapter for OpenAI Chat Completions compatible endpoints.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/adapter",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/adapter/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions",
      "description": "Battery-scoped exception constructors for OpenAI Chat Completions adapter failures.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_INVALID_OPENAI_CHAT_COMPLETIONS_OPTIONS",
      "description": "Thrown when the resolved adapter options (constructor, executor overrides, or per-dispatch `stash.openaiChatCompletions`) fail validation against `openAIChatCompletionsOptionsSchema`.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_INVALID_OPENAI_CHAT_COMPLETIONS_OPTIONS",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_INVALID_OPENAI_CHAT_COMPLETIONS_OPTIONS.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_CONTEXT_OVERFLOW",
      "description": "Thrown when the total token weight of the resolved request exceeds `contextWindow`. Only raised when `tokenEncoding` is non-null. Carries",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_CONTEXT_OVERFLOW",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_CONTEXT_OVERFLOW.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_HTTP_ERROR",
      "description": "Thrown when the upstream Chat Completions endpoint returns a non-2xx response. Non-fatal — surfaced via `ctx.nack(...)` so middleware can decide retry / fail.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_HTTP_ERROR",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_HTTP_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS",
      "description": "Raised when a tool-call's `arguments` string emitted by the model is not a JSON object — either non-parseable JSON, or parseable JSON whose root is not an object (e.g. a bare string, number, array, or `null`).",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_REQUEST_TIMEOUT",
      "description": "Thrown when the initial request handshake (TCP connect, TLS, response headers) does not complete before `requestTimeoutMs`. Non-fatal — surfaced via `ctx.nack(...)`. Eligible for retry on the same footing as a retriable 5xx.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_REQUEST_TIMEOUT",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_REQUEST_TIMEOUT.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_STREAM_ERROR",
      "description": "Thrown when the SSE stream emits a malformed chunk or the transport throws mid-stream. Non-fatal — surfaced via `ctx.nack(...)`.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_STREAM_ERROR",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_STREAM_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_OPENAI_CHAT_COMPLETIONS_STREAM_STALLED",
      "description": "Thrown when the SSE stream goes silent for longer than `streamIdleTimeoutMs`. Non-fatal — surfaced via `ctx.nack(...)` with partial-state details so middleware can recover.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_STREAM_STALLED",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_OPENAI_CHAT_COMPLETIONS_STREAM_STALLED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/exceptions.E_UNSUPPORTED_MEDIA_MODALITY",
      "description": "Raised when a {@link @nhtio/adk!Media} instance whose modality cannot be natively represented in the OpenAI Chat Completions wire format reaches the adapter under `unsupportedMediaPolicy: 'throw'`.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_UNSUPPORTED_MEDIA_MODALITY",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/exceptions/variables/E_UNSUPPORTED_MEDIA_MODALITY.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.buildChatCompletionsHistory",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/buildChatCompletionsHistory",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/buildChatCompletionsHistory.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.createChatCompletionsToolCallDeltaAccumulator",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/createChatCompletionsToolCallDeltaAccumulator",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/createChatCompletionsToolCallDeltaAccumulator.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.descriptionToChatCompletionsJsonSchema",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/descriptionToChatCompletionsJsonSchema",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/descriptionToChatCompletionsJsonSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.filterThoughts",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/filterThoughts",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/filterThoughts.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderChatCompletionsSystemPrompt",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderChatCompletionsSystemPrompt",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderChatCompletionsSystemPrompt.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderChatCompletionsToolCallResult",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderChatCompletionsToolCallResult",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderChatCompletionsToolCallResult.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderFirstPartyRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderFirstPartyRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderFirstPartyRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderMemories",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderMemories",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderMemories.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderRetrievableSafetyDirective",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderRetrievableSafetyDirective",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderRetrievableSafetyDirective.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderStandingInstructions",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderStandingInstructions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderStandingInstructions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderThirdPartyPrivateRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThirdPartyPrivateRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThirdPartyPrivateRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderThirdPartyPublicRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThirdPartyPublicRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThirdPartyPublicRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderThought",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThought",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderThought.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderTimelineMessage",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderTimelineMessage",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderTimelineMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderTrustedContent",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderTrustedContent",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderTrustedContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.renderUntrustedContent",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderUntrustedContent",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/renderUntrustedContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.toolsToChatCompletionsTools",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/toolsToChatCompletionsTools",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/functions/toolsToChatCompletionsTools.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers",
      "description": "Swappable translation helpers for rendering ADK state into Chat Completions requests.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultBuildChatCompletionsHistory",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultBuildChatCompletionsHistory",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultBuildChatCompletionsHistory.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultCreateChatCompletionsToolCallDeltaAccumulator",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultCreateChatCompletionsToolCallDeltaAccumulator",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultCreateChatCompletionsToolCallDeltaAccumulator.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultDescriptionToChatCompletionsJsonSchema",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultDescriptionToChatCompletionsJsonSchema",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultDescriptionToChatCompletionsJsonSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultFilterThoughts",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultFilterThoughts",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultFilterThoughts.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderChatCompletionsSystemPrompt",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderChatCompletionsSystemPrompt",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderChatCompletionsSystemPrompt.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderChatCompletionsToolCallResult",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderChatCompletionsToolCallResult",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderChatCompletionsToolCallResult.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderFirstPartyRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderFirstPartyRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderFirstPartyRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderMemories",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderMemories",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderMemories.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderRetrievableSafetyDirective",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderRetrievableSafetyDirective",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderRetrievableSafetyDirective.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderStandingInstructions",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderStandingInstructions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderStandingInstructions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderThirdPartyPrivateRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThirdPartyPrivateRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThirdPartyPrivateRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderThirdPartyPublicRetrievables",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThirdPartyPublicRetrievables",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThirdPartyPublicRetrievables.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderThought",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThought",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderThought.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderTimelineMessage",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderTimelineMessage",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderTimelineMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderTrustedContent",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderTrustedContent",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderTrustedContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultRenderUntrustedContent",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderUntrustedContent",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultRenderUntrustedContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/helpers.defaultToolsToChatCompletionsTools",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultToolsToChatCompletionsTools",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/helpers/variables/defaultToolsToChatCompletionsTools.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions",
      "description": "OpenAI Chat Completions adapter battery with swappable translation helpers and wire types.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types",
      "description": "TypeScript wire shapes, helper contracts, and option types for the Chat Completions battery.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.AssembledToolCall",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/AssembledToolCall",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/AssembledToolCall.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsChunk",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunk",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunk.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsChunkChoice",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunkChoice",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunkChoice.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsChunkDelta",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunkDelta",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsChunkDelta.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsHelpers",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsHelpers",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsHelpers.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsMessage",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsMessage",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsResponse",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponse",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponse.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsResponseChoice",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponseChoice",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponseChoice.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsResponseMessage",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponseMessage",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsResponseMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsRetryConfig",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsRetryConfig",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsRetryConfig.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsTool",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsTool",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsToolCallDelta",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallDelta",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallDelta.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsToolCallDeltaAccumulator",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallDeltaAccumulator",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallDeltaAccumulator.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsToolCallWire",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallWire",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ChatCompletionsToolCallWire.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.DescriptionLike",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/DescriptionLike",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/DescriptionLike.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.JsonSchema",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/JsonSchema",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/JsonSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.MemoryAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/MemoryAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/MemoryAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.OpenAIChatCompletionsAdapterOptions",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/OpenAIChatCompletionsAdapterOptions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/OpenAIChatCompletionsAdapterOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.OpenAIChatCompletionsRequestBody",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/OpenAIChatCompletionsRequestBody",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/OpenAIChatCompletionsRequestBody.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.RetrievableAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/RetrievableAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/RetrievableAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.StandingInstructionAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/StandingInstructionAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/StandingInstructionAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ThoughtAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ThoughtAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/ThoughtAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.TrustedContentAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/TrustedContentAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/TrustedContentAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.UntrustedContentAttrs",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/UntrustedContentAttrs",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/interfaces/UntrustedContentAttrs.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsBucketLabel",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsBucketLabel",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsBucketLabel.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsBucketOrder",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsBucketOrder",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsBucketOrder.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.ChatCompletionsContentBlock",
      "description": "Discriminated union of content block shapes accepted by the OpenAI Chat Completions wire format for a content-array message body.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsContentBlock",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/ChatCompletionsContentBlock.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/types.UnsupportedMediaPolicy",
      "description": "Policy for how the OpenAI Chat Completions battery handles a {@link @nhtio/adk!Media} instance whose modality the wire protocol cannot natively represent (today: video).",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/UnsupportedMediaPolicy",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/types/type-aliases/UnsupportedMediaPolicy.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/validation.validateOptions",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation/functions/validateOptions",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation/functions/validateOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/validation",
      "description": "Runtime validation schema and wrapper for OpenAI Chat Completions adapter options.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/openai_chat_completions/validation.openAIChatCompletionsOptionsSchema",
      "description": "Validator schema for `OpenAIChatCompletionsAdapterOptions`.",
      "route": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation/variables/openAIChatCompletionsOptionsSchema",
      "source": "/api/@nhtio/adk/batteries/llm/openai_chat_completions/validation/variables/openAIChatCompletionsOptionsSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/adapter.WebLLMChatCompletionsAdapter",
      "description": "Opinionated cross-environment LLM adapter for the WebLLM Chat Completions wire shape.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/adapter/classes/WebLLMChatCompletionsAdapter",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/adapter/classes/WebLLMChatCompletionsAdapter.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/adapter",
      "description": "Cross-environment executor adapter for WebLLM Chat Completions compatible endpoints.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/adapter",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/adapter/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions",
      "description": "Battery-scoped exception constructors for WebLLM Chat Completions adapter failures.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions.E_INVALID_WEBLLM_CHAT_COMPLETIONS_OPTIONS",
      "description": "Thrown when the resolved adapter options (constructor, executor overrides, or per-dispatch `stash.webLLMChatCompletions`) fail validation against `webLLMChatCompletionsOptionsSchema`.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_INVALID_WEBLLM_CHAT_COMPLETIONS_OPTIONS",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_INVALID_WEBLLM_CHAT_COMPLETIONS_OPTIONS.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions.E_UNSUPPORTED_MEDIA_MODALITY",
      "description": "Raised when a {@link @nhtio/adk!Media} instance whose modality cannot be natively represented in the WebLLM Chat Completions wire format reaches the adapter under `unsupportedMediaPolicy: 'throw'`.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_UNSUPPORTED_MEDIA_MODALITY",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_UNSUPPORTED_MEDIA_MODALITY.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions.E_WEBLLM_CHAT_COMPLETIONS_CONTEXT_OVERFLOW",
      "description": "Thrown when the total token weight of the resolved request exceeds `contextWindow`. Only raised when `tokenEncoding` is non-null. Carries",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_CONTEXT_OVERFLOW",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_CONTEXT_OVERFLOW.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions.E_WEBLLM_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS",
      "description": "Raised when a tool-call's `arguments` string emitted by the model is not a JSON object — either non-parseable JSON, or parseable JSON whose root is not an object (e.g. a bare string, number, array, or `null`).",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions.E_WEBLLM_CHAT_COMPLETIONS_STREAM_ERROR",
      "description": "Thrown when the WebLLM engine call or async stream fails. Non-fatal — surfaced via `ctx.nack(...)`.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_STREAM_ERROR",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/exceptions/variables/E_WEBLLM_CHAT_COMPLETIONS_STREAM_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/helpers",
      "description": "Swappable translation helpers for rendering ADK state into WebLLM Chat Completions requests.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/helpers",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/helpers/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions",
      "description": "WebLLM Chat Completions adapter battery with swappable translation helpers and wire types.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions.CreateWebLLMChatCompletionsEngine",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/type-aliases/CreateWebLLMChatCompletionsEngine",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/type-aliases/CreateWebLLMChatCompletionsEngine.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions.WebLLMChatCompletionsEngine",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/type-aliases/WebLLMChatCompletionsEngine",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/type-aliases/WebLLMChatCompletionsEngine.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/validation.validateOptions",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation/functions/validateOptions",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation/functions/validateOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/validation",
      "description": "Runtime validation schema and wrapper for WebLLM Chat Completions adapter options.",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/llm/webllm_chat_completions/validation.webLLMChatCompletionsOptionsSchema",
      "route": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation/variables/webLLMChatCompletionsOptionsSchema",
      "source": "/api/@nhtio/adk/batteries/llm/webllm_chat_completions/validation/variables/webLLMChatCompletionsOptionsSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/flydrive.FlydriveSpoolReader",
      "description": "Reads a flydrive-backed file as a {@link @nhtio/adk!SpoolReader}.",
      "route": "/api/@nhtio/adk/batteries/storage/flydrive/classes/FlydriveSpoolReader",
      "source": "/api/@nhtio/adk/batteries/storage/flydrive/classes/FlydriveSpoolReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/flydrive.FlydriveSpoolStore",
      "description": "\"Give bytes, get a reader\" persistence layer over a flydrive {@link Disk}.",
      "route": "/api/@nhtio/adk/batteries/storage/flydrive/classes/FlydriveSpoolStore",
      "source": "/api/@nhtio/adk/batteries/storage/flydrive/classes/FlydriveSpoolStore.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/flydrive",
      "description": "Flydrive-backed spooled artifact storage for Node and server runtimes.",
      "route": "/api/@nhtio/adk/batteries/storage/flydrive",
      "source": "/api/@nhtio/adk/batteries/storage/flydrive/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/flydrive.FlydriveSpoolReaderOptions",
      "description": "Constructor options for {@link FlydriveSpoolReader}.",
      "route": "/api/@nhtio/adk/batteries/storage/flydrive/interfaces/FlydriveSpoolReaderOptions",
      "source": "/api/@nhtio/adk/batteries/storage/flydrive/interfaces/FlydriveSpoolReaderOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/flydrive.FlydriveSpoolStoreOptions",
      "description": "Constructor options for {@link FlydriveSpoolStore}.",
      "route": "/api/@nhtio/adk/batteries/storage/flydrive/interfaces/FlydriveSpoolStoreOptions",
      "source": "/api/@nhtio/adk/batteries/storage/flydrive/interfaces/FlydriveSpoolStoreOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/in_memory.InMemorySpoolReader",
      "description": "Sync in-memory {@link @nhtio/adk!SpoolReader} over a `string` body.",
      "route": "/api/@nhtio/adk/batteries/storage/in_memory/classes/InMemorySpoolReader",
      "source": "/api/@nhtio/adk/batteries/storage/in_memory/classes/InMemorySpoolReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/in_memory.InMemorySpoolStore",
      "description": "In-memory \"give bytes, get a reader\" persistence layer keyed by `callId`.",
      "route": "/api/@nhtio/adk/batteries/storage/in_memory/classes/InMemorySpoolStore",
      "source": "/api/@nhtio/adk/batteries/storage/in_memory/classes/InMemorySpoolStore.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/in_memory",
      "description": "In-memory spool readers and stores for tests, scripts, and non-durable prototypes.",
      "route": "/api/@nhtio/adk/batteries/storage/in_memory",
      "source": "/api/@nhtio/adk/batteries/storage/in_memory/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage",
      "description": "Environment-neutral aggregate barrel for bundled storage batteries.",
      "route": "/api/@nhtio/adk/batteries/storage",
      "source": "/api/@nhtio/adk/batteries/storage/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsSpoolReader",
      "description": "Reads an OPFS-backed file as a {@link @nhtio/adk!SpoolReader}.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/classes/OpfsSpoolReader",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/classes/OpfsSpoolReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsSpoolStore",
      "description": "\"Give bytes, get a reader\" persistence layer over an OPFS directory.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/classes/OpfsSpoolStore",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/classes/OpfsSpoolStore.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs",
      "description": "Browser-only Origin Private File System storage for spooled artifacts.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsBlob",
      "description": "Minimal subset of the DOM `Blob` interface used by {@link OpfsSpoolReader} streaming-mode random-access reads. Real OPFS handles return a `File` here; we narrow to the methods we actually call.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsBlob",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsBlob.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsDirectoryHandle",
      "description": "Minimal subset of the [File System Access](https://developer.mozilla.org/docs/Web/API/File_System_API) `OpfsDirectoryHandle` interface that this module touches at runtime. Structurally compatible with the DOM-lib `OpfsDirectoryHandle` — at call sites you pass real OPFS handles directly.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsDirectoryHandle",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsDirectoryHandle.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsFile",
      "description": "Minimal subset of the DOM `File` interface used by {@link OpfsSpoolReader}.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsFile",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsFile.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsFileHandle",
      "description": "Minimal subset of the [File System Access](https://developer.mozilla.org/docs/Web/API/File_System_API) `OpfsFileHandle` interface that this module touches at runtime. Structurally compatible with the DOM-lib `OpfsFileHandle` — at call sites you pass real OPFS handles directly.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsFileHandle",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsFileHandle.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsReadableStream",
      "description": "Minimal subset of the DOM `ReadableStream<Uint8Array>` interface used by streaming-mode index construction.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsReadableStream",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsReadableStream.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsReadableStreamReader",
      "description": "Minimal subset of the DOM `ReadableStreamDefaultReader<Uint8Array>` interface used by streaming-mode index construction.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsReadableStreamReader",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsReadableStreamReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsSpoolReaderOptions",
      "description": "Constructor options for {@link OpfsSpoolReader}.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsSpoolReaderOptions",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsSpoolReaderOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsSpoolStoreOptions",
      "description": "Constructor options for {@link OpfsSpoolStore}.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsSpoolStoreOptions",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsSpoolStoreOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/storage/opfs.OpfsWritableFileStream",
      "description": "Minimal subset of the DOM `FileSystemWritableFileStream` interface used by the OPFS battery's main-thread write path.",
      "route": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsWritableFileStream",
      "source": "/api/@nhtio/adk/batteries/storage/opfs/interfaces/OpfsWritableFileStream.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/color",
      "description": "Pre-constructed tools for color conversion and palette-oriented calculations.",
      "route": "/api/@nhtio/adk/batteries/tools/color",
      "source": "/api/@nhtio/adk/batteries/tools/color/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/color.colorAdjustTool",
      "description": "Lighten or darken a colour by a percentage of HSL lightness.",
      "route": "/api/@nhtio/adk/batteries/tools/color/variables/colorAdjustTool",
      "source": "/api/@nhtio/adk/batteries/tools/color/variables/colorAdjustTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/color.colorContrastTool",
      "description": "Compute the WCAG 2.1 contrast ratio between two colours.",
      "route": "/api/@nhtio/adk/batteries/tools/color/variables/colorContrastTool",
      "source": "/api/@nhtio/adk/batteries/tools/color/variables/colorContrastTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/color.colorSchemeTool",
      "description": "Generate a colour palette from a base colour using a named harmony.",
      "route": "/api/@nhtio/adk/batteries/tools/color/variables/colorSchemeTool",
      "source": "/api/@nhtio/adk/batteries/tools/color/variables/colorSchemeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/comparison",
      "description": "Pre-constructed tools for comparing primitive values, arrays, and ranges.",
      "route": "/api/@nhtio/adk/batteries/tools/comparison",
      "source": "/api/@nhtio/adk/batteries/tools/comparison/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/comparison.compareRecordsTool",
      "description": "Compare two JSON objects and report keys only in A, keys only in B, keys with matching values, and keys with differing values.",
      "route": "/api/@nhtio/adk/batteries/tools/comparison/variables/compareRecordsTool",
      "source": "/api/@nhtio/adk/batteries/tools/comparison/variables/compareRecordsTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/comparison.compareValuesTool",
      "description": "Compare two values and return their relationship (`equal`, `greater_than`, `less_than`).",
      "route": "/api/@nhtio/adk/batteries/tools/comparison/variables/compareValuesTool",
      "source": "/api/@nhtio/adk/batteries/tools/comparison/variables/compareValuesTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/data_structure",
      "description": "Pre-constructed tools for querying, filtering, grouping, and reshaping structured values.",
      "route": "/api/@nhtio/adk/batteries/tools/data_structure",
      "source": "/api/@nhtio/adk/batteries/tools/data_structure/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/data_structure.jsonTransformTool",
      "description": "Apply a pipeline of operations to a JSON array or object.",
      "route": "/api/@nhtio/adk/batteries/tools/data_structure/variables/jsonTransformTool",
      "source": "/api/@nhtio/adk/batteries/tools/data_structure/variables/jsonTransformTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/data_structure.setOperationsTool",
      "description": "Perform set operations on two JSON arrays.",
      "route": "/api/@nhtio/adk/batteries/tools/data_structure/variables/setOperationsTool",
      "source": "/api/@nhtio/adk/batteries/tools/data_structure/variables/setOperationsTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended",
      "description": "Pre-constructed tools for parsing natural-language dates and business-calendar calculations.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended.dateBusinessDaysTool",
      "description": "Count business days between two dates, or compute the date N business days away.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateBusinessDaysTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateBusinessDaysTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended.dateCalendarInfoTool",
      "description": "Get calendar metadata for a date.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateCalendarInfoTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateCalendarInfoTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended.dateNthWeekdayTool",
      "description": "Find the Nth occurrence of a weekday in a given month.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateNthWeekdayTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateNthWeekdayTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended.dateParseTool",
      "description": "Parse a date/time expression from natural language or common formats.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateParseTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/dateParseTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_extended.datePeriodTool",
      "description": "Get the start or end of a time period containing a given date.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/datePeriodTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_extended/variables/datePeriodTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_math",
      "description": "Pre-constructed tools for ISO datetime arithmetic, differences, and timezone-aware formatting.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_math",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_math/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_math.dateAddTool",
      "description": "Add or subtract a duration from a date/time.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/dateAddTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/dateAddTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_math.dateDiffTool",
      "description": "Calculate the difference between two dates/times in a chosen unit.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/dateDiffTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/dateDiffTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/datetime_math.durationFormatTool",
      "description": "Convert total seconds into a human-readable duration string.",
      "route": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/durationFormatTool",
      "source": "/api/@nhtio/adk/batteries/tools/datetime_math/variables/durationFormatTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/encoding",
      "description": "Pre-constructed tools for common text encodings and decoding operations.",
      "route": "/api/@nhtio/adk/batteries/tools/encoding",
      "source": "/api/@nhtio/adk/batteries/tools/encoding/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/encoding.encodeTextTool",
      "description": "Encode or decode text using common schemes: base64, url (percent-encoding), html_entities.",
      "route": "/api/@nhtio/adk/batteries/tools/encoding/variables/encodeTextTool",
      "source": "/api/@nhtio/adk/batteries/tools/encoding/variables/encodeTextTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/encoding.textEscapeTool",
      "description": "Escape or unescape special characters for a target context.",
      "route": "/api/@nhtio/adk/batteries/tools/encoding/variables/textEscapeTool",
      "source": "/api/@nhtio/adk/batteries/tools/encoding/variables/textEscapeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/encoding.unicodeNormalizeTool",
      "description": "Normalize Unicode text or extract code points.",
      "route": "/api/@nhtio/adk/batteries/tools/encoding/variables/unicodeNormalizeTool",
      "source": "/api/@nhtio/adk/batteries/tools/encoding/variables/unicodeNormalizeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/formatting",
      "description": "Pre-constructed tools for locale-aware number, list, table, and text formatting.",
      "route": "/api/@nhtio/adk/batteries/tools/formatting",
      "source": "/api/@nhtio/adk/batteries/tools/formatting/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/formatting.formatListTool",
      "description": "Format an array of items as a list.",
      "route": "/api/@nhtio/adk/batteries/tools/formatting/variables/formatListTool",
      "source": "/api/@nhtio/adk/batteries/tools/formatting/variables/formatListTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/formatting.formatNumberTool",
      "description": "Format a number using locale-aware styles.",
      "route": "/api/@nhtio/adk/batteries/tools/formatting/variables/formatNumberTool",
      "source": "/api/@nhtio/adk/batteries/tools/formatting/variables/formatNumberTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/geo_basics",
      "description": "Pre-constructed tools for basic geographic distance and coordinate calculations.",
      "route": "/api/@nhtio/adk/batteries/tools/geo_basics",
      "source": "/api/@nhtio/adk/batteries/tools/geo_basics/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/geo_basics.geoBboxContainsTool",
      "description": "Check whether a point falls inside an axis-aligned bounding box.",
      "route": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoBboxContainsTool",
      "source": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoBboxContainsTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/geo_basics.geoDistanceTool",
      "description": "Great-circle (haversine) distance between two geographic coordinates.",
      "route": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoDistanceTool",
      "source": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoDistanceTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/geo_basics.geoWithinRadiusTool",
      "description": "Check whether a point lies within a radius of a centre coordinate.",
      "route": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoWithinRadiusTool",
      "source": "/api/@nhtio/adk/batteries/tools/geo_basics/variables/geoWithinRadiusTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools",
      "description": "Aggregate barrel for every pre-constructed bundled tool category.",
      "route": "/api/@nhtio/adk/batteries/tools",
      "source": "/api/@nhtio/adk/batteries/tools/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/math",
      "description": "Pre-constructed tools for safe arithmetic, expression evaluation, and numeric operations.",
      "route": "/api/@nhtio/adk/batteries/tools/math",
      "source": "/api/@nhtio/adk/batteries/tools/math/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/math.calculateTool",
      "description": "Evaluates a mathjs-syntax expression and returns the numeric result alongside the KaTeX representation of the parsed expression.",
      "route": "/api/@nhtio/adk/batteries/tools/math/variables/calculateTool",
      "source": "/api/@nhtio/adk/batteries/tools/math/variables/calculateTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/math.evaluateKatexTool",
      "description": "Translates a LaTeX/KaTeX expression into mathjs syntax, evaluates it, and returns the result.",
      "route": "/api/@nhtio/adk/batteries/tools/math/variables/evaluateKatexTool",
      "source": "/api/@nhtio/adk/batteries/tools/math/variables/evaluateKatexTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory",
      "description": "Pre-constructed CRUD tools for model-visible ADK memory management.",
      "route": "/api/@nhtio/adk/batteries/tools/memory",
      "source": "/api/@nhtio/adk/batteries/tools/memory/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory.deleteMemoryTool",
      "description": "Remove an existing {@link @nhtio/adk!Memory} by `id`.",
      "route": "/api/@nhtio/adk/batteries/tools/memory/variables/deleteMemoryTool",
      "source": "/api/@nhtio/adk/batteries/tools/memory/variables/deleteMemoryTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory.listMemoriesTool",
      "description": "List every memory currently held by the active execution context.",
      "route": "/api/@nhtio/adk/batteries/tools/memory/variables/listMemoriesTool",
      "source": "/api/@nhtio/adk/batteries/tools/memory/variables/listMemoriesTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory.memoryTools",
      "description": "Convenience tuple of every memory CRUD tool. Spread into a {@link @nhtio/adk!ToolRegistry} to register the entire category at once: `registry.register(...memoryTools)`.",
      "route": "/api/@nhtio/adk/batteries/tools/memory/variables/memoryTools",
      "source": "/api/@nhtio/adk/batteries/tools/memory/variables/memoryTools.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory.storeMemoryTool",
      "description": "Create a new {@link @nhtio/adk!Memory} record and persist it via the context's `storeMemory` callback.",
      "route": "/api/@nhtio/adk/batteries/tools/memory/variables/storeMemoryTool",
      "source": "/api/@nhtio/adk/batteries/tools/memory/variables/storeMemoryTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/memory.updateMemoryTool",
      "description": "Replace an existing {@link @nhtio/adk!Memory} by `id`.",
      "route": "/api/@nhtio/adk/batteries/tools/memory/variables/updateMemoryTool",
      "source": "/api/@nhtio/adk/batteries/tools/memory/variables/updateMemoryTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/parsing",
      "description": "Pre-constructed tools for parsing CSV, TSV, JSON, YAML, and other structured text formats.",
      "route": "/api/@nhtio/adk/batteries/tools/parsing",
      "source": "/api/@nhtio/adk/batteries/tools/parsing/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/parsing.detectDelimiterTool",
      "description": "Detect the most likely field delimiter in a CSV-like text sample.",
      "route": "/api/@nhtio/adk/batteries/tools/parsing/variables/detectDelimiterTool",
      "source": "/api/@nhtio/adk/batteries/tools/parsing/variables/detectDelimiterTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/parsing.parseCsvTool",
      "description": "Parse a CSV or TSV string into a JSON array.",
      "route": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseCsvTool",
      "source": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseCsvTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/parsing.parseKvTool",
      "description": "Extract key-value pairs from text.",
      "route": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseKvTool",
      "source": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseKvTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/parsing.parseYamlTool",
      "description": "Parse a YAML string into JSON.",
      "route": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseYamlTool",
      "source": "/api/@nhtio/adk/batteries/tools/parsing/variables/parseYamlTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables",
      "description": "Pre-constructed CRUD tools for model-visible retrievable and RAG-record management.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables.deleteRetrievableTool",
      "description": "Remove an existing {@link @nhtio/adk!Retrievable} by `id`.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables/variables/deleteRetrievableTool",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/variables/deleteRetrievableTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables.listRetrievablesTool",
      "description": "List every retrievable record currently held by the active execution context.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables/variables/listRetrievablesTool",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/variables/listRetrievablesTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables.retrievableTools",
      "description": "Convenience tuple of every retrievable CRUD tool. Spread into a {@link @nhtio/adk!ToolRegistry} to register the entire category at once.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables/variables/retrievableTools",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/variables/retrievableTools.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables.storeRetrievableTool",
      "description": "Create a new {@link @nhtio/adk!Retrievable} record and persist it via the context's `storeRetrievable` callback.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables/variables/storeRetrievableTool",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/variables/storeRetrievableTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/retrievables.updateRetrievableTool",
      "description": "Replace an existing {@link @nhtio/adk!Retrievable} by `id`.",
      "route": "/api/@nhtio/adk/batteries/tools/retrievables/variables/updateRetrievableTool",
      "source": "/api/@nhtio/adk/batteries/tools/retrievables/variables/updateRetrievableTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/standing_instructions",
      "description": "Pre-constructed CRUD tools for model-visible standing instruction management.",
      "route": "/api/@nhtio/adk/batteries/tools/standing_instructions",
      "source": "/api/@nhtio/adk/batteries/tools/standing_instructions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/standing_instructions.addStandingInstructionTool",
      "description": "Add a new standing instruction to the active execution context.",
      "route": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/addStandingInstructionTool",
      "source": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/addStandingInstructionTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/standing_instructions.listStandingInstructionsTool",
      "description": "List every standing instruction currently held by the active execution context.",
      "route": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/listStandingInstructionsTool",
      "source": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/listStandingInstructionsTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/standing_instructions.removeStandingInstructionTool",
      "description": "Remove an existing standing instruction by its content string.",
      "route": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/removeStandingInstructionTool",
      "source": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/removeStandingInstructionTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/standing_instructions.standingInstructionTools",
      "description": "Convenience tuple of every standing-instruction tool. Spread into a {@link @nhtio/adk!ToolRegistry} to register the entire category at once.",
      "route": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/standingInstructionTools",
      "source": "/api/@nhtio/adk/batteries/tools/standing_instructions/variables/standingInstructionTools.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/statistics",
      "description": "Pre-constructed tools for descriptive statistics, correlation, quantiles, and numeric summaries.",
      "route": "/api/@nhtio/adk/batteries/tools/statistics",
      "source": "/api/@nhtio/adk/batteries/tools/statistics/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/statistics.statsCorrelateTool",
      "description": "Compute the Pearson correlation coefficient between two numeric arrays.",
      "route": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsCorrelateTool",
      "source": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsCorrelateTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/statistics.statsDescribeTool",
      "description": "Compute descriptive statistics for a JSON array of numbers.",
      "route": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsDescribeTool",
      "source": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsDescribeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/statistics.statsHistogramTool",
      "description": "Bin a numeric array into equal-width histogram buckets.",
      "route": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsHistogramTool",
      "source": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsHistogramTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/statistics.statsTransformTool",
      "description": "Transform a numeric array — normalise, smooth, rank, or detect outliers.",
      "route": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsTransformTool",
      "source": "/api/@nhtio/adk/batteries/tools/statistics/variables/statsTransformTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/string_processing",
      "description": "Pre-constructed tools for casing, trimming, normalizing, and transforming strings.",
      "route": "/api/@nhtio/adk/batteries/tools/string_processing",
      "source": "/api/@nhtio/adk/batteries/tools/string_processing/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/string_processing.stringExtractTool",
      "description": "Extract all matches of a regular expression from a string.",
      "route": "/api/@nhtio/adk/batteries/tools/string_processing/variables/stringExtractTool",
      "source": "/api/@nhtio/adk/batteries/tools/string_processing/variables/stringExtractTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/string_processing.stringTransformTool",
      "description": "Apply an ordered pipeline of string transformations.",
      "route": "/api/@nhtio/adk/batteries/tools/string_processing/variables/stringTransformTool",
      "source": "/api/@nhtio/adk/batteries/tools/string_processing/variables/stringTransformTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/structured_data",
      "description": "Pre-constructed tools for transforming arrays and objects into tables and tabular text.",
      "route": "/api/@nhtio/adk/batteries/tools/structured_data",
      "source": "/api/@nhtio/adk/batteries/tools/structured_data/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/structured_data.formatTableTool",
      "description": "Convert a JSON array of objects into a formatted table.",
      "route": "/api/@nhtio/adk/batteries/tools/structured_data/variables/formatTableTool",
      "source": "/api/@nhtio/adk/batteries/tools/structured_data/variables/formatTableTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/structured_data.jsonFormatTool",
      "description": "Pretty-print or minify a JSON string.",
      "route": "/api/@nhtio/adk/batteries/tools/structured_data/variables/jsonFormatTool",
      "source": "/api/@nhtio/adk/batteries/tools/structured_data/variables/jsonFormatTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/structured_data.validateFormatTool",
      "description": "Check whether a string matches a known format.",
      "route": "/api/@nhtio/adk/batteries/tools/structured_data/variables/validateFormatTool",
      "source": "/api/@nhtio/adk/batteries/tools/structured_data/variables/validateFormatTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_analysis",
      "description": "Pre-constructed tools for extracting counts, token estimates, and character statistics from text.",
      "route": "/api/@nhtio/adk/batteries/tools/text_analysis",
      "source": "/api/@nhtio/adk/batteries/tools/text_analysis/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_analysis.textAnalyzeTool",
      "description": "Analyze text and return statistics as a JSON document.",
      "route": "/api/@nhtio/adk/batteries/tools/text_analysis/variables/textAnalyzeTool",
      "source": "/api/@nhtio/adk/batteries/tools/text_analysis/variables/textAnalyzeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_analysis.textLinesTool",
      "description": "Operate on text treated as a list of lines.",
      "route": "/api/@nhtio/adk/batteries/tools/text_analysis/variables/textLinesTool",
      "source": "/api/@nhtio/adk/batteries/tools/text_analysis/variables/textLinesTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_comparison",
      "description": "Pre-constructed tools for text diffs, similarity checks, and edit-distance comparisons.",
      "route": "/api/@nhtio/adk/batteries/tools/text_comparison",
      "source": "/api/@nhtio/adk/batteries/tools/text_comparison/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_comparison.stringSimilarityTool",
      "description": "Report the Levenshtein edit distance and a similarity percentage between two strings.",
      "route": "/api/@nhtio/adk/batteries/tools/text_comparison/variables/stringSimilarityTool",
      "source": "/api/@nhtio/adk/batteries/tools/text_comparison/variables/stringSimilarityTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/text_comparison.textDiffTool",
      "description": "Compare two texts and emit a unified-style diff plus an additions/removals summary.",
      "route": "/api/@nhtio/adk/batteries/tools/text_comparison/variables/textDiffTool",
      "source": "/api/@nhtio/adk/batteries/tools/text_comparison/variables/textDiffTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/time",
      "description": "Pre-constructed tools for current time lookup and timezone-aware time formatting.",
      "route": "/api/@nhtio/adk/batteries/tools/time",
      "source": "/api/@nhtio/adk/batteries/tools/time/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/time.convertTimeTool",
      "description": "Convert a wall-clock time between two IANA timezones.",
      "route": "/api/@nhtio/adk/batteries/tools/time/variables/convertTimeTool",
      "source": "/api/@nhtio/adk/batteries/tools/time/variables/convertTimeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/time.getCurrentTimeTool",
      "description": "Return the current time formatted in a given timezone.",
      "route": "/api/@nhtio/adk/batteries/tools/time/variables/getCurrentTimeTool",
      "source": "/api/@nhtio/adk/batteries/tools/time/variables/getCurrentTimeTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/unit_conversion",
      "description": "Pre-constructed tools for converting values across common measurement units.",
      "route": "/api/@nhtio/adk/batteries/tools/unit_conversion",
      "source": "/api/@nhtio/adk/batteries/tools/unit_conversion/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries/tools/unit_conversion.convertUnitTool",
      "description": "Convert a numeric value between units of the same physical category.",
      "route": "/api/@nhtio/adk/batteries/tools/unit_conversion/variables/convertUnitTool",
      "source": "/api/@nhtio/adk/batteries/tools/unit_conversion/variables/convertUnitTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries.WebLLMChatCompletionsRequestBody",
      "route": "/api/@nhtio/adk/batteries/type-aliases/WebLLMChatCompletionsRequestBody",
      "source": "/api/@nhtio/adk/batteries/type-aliases/WebLLMChatCompletionsRequestBody.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries.WebLLMEngine",
      "route": "/api/@nhtio/adk/batteries/type-aliases/WebLLMEngine",
      "source": "/api/@nhtio/adk/batteries/type-aliases/WebLLMEngine.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/batteries.WebLLMInitProgressReport",
      "route": "/api/@nhtio/adk/batteries/type-aliases/WebLLMInitProgressReport",
      "source": "/api/@nhtio/adk/batteries/type-aliases/WebLLMInitProgressReport.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Identity",
      "description": "An immutable, validated participant identity attached to a {@link @nhtio/adk!Message}.",
      "route": "/api/@nhtio/adk/common/classes/Identity",
      "source": "/api/@nhtio/adk/common/classes/Identity.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Media",
      "description": "Lazy, re-openable view over a binary asset (image, audio, video, document).",
      "route": "/api/@nhtio/adk/common/classes/Media",
      "source": "/api/@nhtio/adk/common/classes/Media.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Memory",
      "description": "An immutable, validated memory entry held by the agent.",
      "route": "/api/@nhtio/adk/common/classes/Memory",
      "source": "/api/@nhtio/adk/common/classes/Memory.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Message",
      "description": "An immutable, validated conversation message from a human participant or the model.",
      "route": "/api/@nhtio/adk/common/classes/Message",
      "source": "/api/@nhtio/adk/common/classes/Message.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Registry",
      "description": "A controlled-mutation key-value store with dot-path access and deep-clone isolation.",
      "route": "/api/@nhtio/adk/common/classes/Registry",
      "source": "/api/@nhtio/adk/common/classes/Registry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Retrievable",
      "description": "An immutable, validated retrieved record (RAG content) held by the agent.",
      "route": "/api/@nhtio/adk/common/classes/Retrievable",
      "source": "/api/@nhtio/adk/common/classes/Retrievable.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Thought",
      "description": "An immutable, validated internal reasoning trace produced by an agent.",
      "route": "/api/@nhtio/adk/common/classes/Thought",
      "source": "/api/@nhtio/adk/common/classes/Thought.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.Tokenizable",
      "description": "A mutable string with a built-in token counter.",
      "route": "/api/@nhtio/adk/common/classes/Tokenizable",
      "source": "/api/@nhtio/adk/common/classes/Tokenizable.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.fromFetch",
      "route": "/api/@nhtio/adk/common/functions/fromFetch",
      "source": "/api/@nhtio/adk/common/functions/fromFetch.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.fromWebFile",
      "route": "/api/@nhtio/adk/common/functions/fromWebFile",
      "source": "/api/@nhtio/adk/common/functions/fromWebFile.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.implementsMediaReader",
      "route": "/api/@nhtio/adk/common/functions/implementsMediaReader",
      "source": "/api/@nhtio/adk/common/functions/implementsMediaReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.inMemoryMediaReader",
      "route": "/api/@nhtio/adk/common/functions/inMemoryMediaReader",
      "source": "/api/@nhtio/adk/common/functions/inMemoryMediaReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.isMedia",
      "route": "/api/@nhtio/adk/common/functions/isMedia",
      "source": "/api/@nhtio/adk/common/functions/isMedia.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common",
      "description": "Core value classes, runtime primitives, media helpers, and their companion input types.",
      "route": "/api/@nhtio/adk/common",
      "source": "/api/@nhtio/adk/common/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaReader",
      "description": "Re-openable byte source contract for a Media instance.",
      "route": "/api/@nhtio/adk/common/interfaces/MediaReader",
      "source": "/api/@nhtio/adk/common/interfaces/MediaReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaStashEntry",
      "description": "Per-entry shape stored in a {@link Media}'s `stash` register.",
      "route": "/api/@nhtio/adk/common/interfaces/MediaStashEntry",
      "source": "/api/@nhtio/adk/common/interfaces/MediaStashEntry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MergeOptions",
      "description": "Options accepted by {@link ToolRegistry.merge}.",
      "route": "/api/@nhtio/adk/common/interfaces/MergeOptions",
      "source": "/api/@nhtio/adk/common/interfaces/MergeOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawIdentity",
      "description": "Plain input object supplied to {@link Identity} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawIdentity",
      "source": "/api/@nhtio/adk/common/interfaces/RawIdentity.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawMedia",
      "description": "Plain input object supplied to {@link Media} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawMedia",
      "source": "/api/@nhtio/adk/common/interfaces/RawMedia.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawMemory",
      "description": "Plain input object supplied to {@link Memory} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawMemory",
      "source": "/api/@nhtio/adk/common/interfaces/RawMemory.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawMessage",
      "description": "Plain input object supplied to {@link Message} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawMessage",
      "source": "/api/@nhtio/adk/common/interfaces/RawMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawRetrievable",
      "description": "Plain input object supplied to {@link Retrievable} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawRetrievable",
      "source": "/api/@nhtio/adk/common/interfaces/RawRetrievable.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawThought",
      "description": "Plain input object supplied to {@link Thought} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawThought",
      "source": "/api/@nhtio/adk/common/interfaces/RawThought.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RawTurnGate",
      "description": "Plain input object supplied to {@link TurnGate} at construction time.",
      "route": "/api/@nhtio/adk/common/interfaces/RawTurnGate",
      "source": "/api/@nhtio/adk/common/interfaces/RawTurnGate.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.SerializedMedia",
      "description": "Shape returned by {@link Media.toJSON}. Metadata-only — bytes and the reader are stripped so naive event/log serialisation never materialises bytes.",
      "route": "/api/@nhtio/adk/common/interfaces/SerializedMedia",
      "source": "/api/@nhtio/adk/common/interfaces/SerializedMedia.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.ToolMethodDescriptor",
      "description": "Metadata table entry for one of the artifact's existing query methods, used by {@link SpooledArtifact.forgeTools} to surface that method as an {@link @nhtio/adk!ArtifactTool}.",
      "route": "/api/@nhtio/adk/common/interfaces/ToolMethodDescriptor",
      "source": "/api/@nhtio/adk/common/interfaces/ToolMethodDescriptor.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.TurnGate",
      "description": "A cooperative suspension gate that blocks a turn's middleware pipeline until resolved, rejected, aborted, or timed out.",
      "route": "/api/@nhtio/adk/common/interfaces/TurnGate",
      "source": "/api/@nhtio/adk/common/interfaces/TurnGate.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaKind",
      "description": "Union of all recognised media kind identifier strings.",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaKind-1",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaKind-1.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaKind",
      "description": "The set of supported media kinds.",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaKind",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaKind.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaModalityHazard",
      "description": "Modality-hazard axis. *How dangerous is it to let the model decode these bytes?*",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaModalityHazard-1",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaModalityHazard-1.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaModalityHazard",
      "description": "Modality-hazard axis. *How dangerous is it to let the model decode these bytes?*",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaModalityHazard",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaModalityHazard.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaTrustTier",
      "description": "Provenance axis. *Who is the framework willing to vouch for as the source of these bytes?*",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaTrustTier-1",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaTrustTier-1.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MediaTrustTier",
      "description": "Provenance axis. *Who is the framework willing to vouch for as the source of these bytes?*",
      "route": "/api/@nhtio/adk/common/type-aliases/MediaTrustTier",
      "source": "/api/@nhtio/adk/common/type-aliases/MediaTrustTier.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.MessageRole",
      "description": "The roles a {@link Message} author can hold.",
      "route": "/api/@nhtio/adk/common/type-aliases/MessageRole",
      "source": "/api/@nhtio/adk/common/type-aliases/MessageRole.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.RetrievableTrustTier",
      "description": "Trust-tier discriminator declared by the retrieval middleware at construction time. Drives which envelope the LLM battery wraps the record in.",
      "route": "/api/@nhtio/adk/common/type-aliases/RetrievableTrustTier",
      "source": "/api/@nhtio/adk/common/type-aliases/RetrievableTrustTier.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.TokenEncoding",
      "description": "Union of all recognised token encoding identifier strings.",
      "route": "/api/@nhtio/adk/common/type-aliases/TokenEncoding",
      "source": "/api/@nhtio/adk/common/type-aliases/TokenEncoding.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.ToolCallResults",
      "description": "Union of every shape a {@link ToolCall.results} field may carry.",
      "route": "/api/@nhtio/adk/common/type-aliases/ToolCallResults",
      "source": "/api/@nhtio/adk/common/type-aliases/ToolCallResults.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.mediaReaderSchema",
      "description": "Validator schema used to validate a MediaReader value.",
      "route": "/api/@nhtio/adk/common/variables/mediaReaderSchema",
      "source": "/api/@nhtio/adk/common/variables/mediaReaderSchema.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/common.TokenEncoding",
      "description": "The set of supported token encoding identifiers.",
      "route": "/api/@nhtio/adk/common/variables/TokenEncoding",
      "source": "/api/@nhtio/adk/common/variables/TokenEncoding.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchRunner",
      "route": "/api/@nhtio/adk/dispatch_runner/classes/DispatchRunner",
      "source": "/api/@nhtio/adk/dispatch_runner/classes/DispatchRunner.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner",
      "description": "The LLM execution runner and its dispatch, hook, event, and helper types.",
      "route": "/api/@nhtio/adk/dispatch_runner",
      "source": "/api/@nhtio/adk/dispatch_runner/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchEndEvent",
      "description": "Payload fired when a dispatch ends — successfully, by error, or by abort.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchEndEvent",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchEndEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchExecutorHelpers",
      "description": "Per-dispatch helpers passed to {@link DispatchExecutorFn} alongside the active {@link @nhtio/adk!DispatchContext}.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorHelpers",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorHelpers.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchExecutorLogChannel",
      "description": "Five-level log channel exposed on {@link DispatchExecutorHelpers}.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorLogChannel",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorLogChannel.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchExecutorLogEntry",
      "description": "Per-call structured payload for {@link DispatchExecutorLogChannel}.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorLogEntry",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchExecutorLogEntry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchStartEvent",
      "description": "Payload fired when a dispatch begins.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchStartEvent",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/DispatchStartEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.IterationEndEvent",
      "description": "Payload fired at the end of each iteration within a dispatch.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/IterationEndEvent",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/IterationEndEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.IterationStartEvent",
      "description": "Payload fired at the start of each iteration within a dispatch.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/IterationStartEvent",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/IterationStartEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.LogEvent",
      "description": "Payload fired on the observability `log` hook for every structured event emitted via {@link DispatchExecutorHelpers.log}.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/LogEvent",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/LogEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.RawDispatchRunnerInput",
      "description": "Plain input object supplied to {@link DispatchRunner.dispatch}.",
      "route": "/api/@nhtio/adk/dispatch_runner/interfaces/RawDispatchRunnerInput",
      "source": "/api/@nhtio/adk/dispatch_runner/interfaces/RawDispatchRunnerInput.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchExecutorFn",
      "description": "The user-supplied callback that performs the actual LLM API call within a dispatch.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchExecutorFn",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchExecutorFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchExecutorLogLevel",
      "description": "Severity of a structured log event emitted by an executor via {@link DispatchExecutorHelpers.log}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchExecutorLogLevel",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchExecutorLogLevel.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchPipelineMiddlewareFn",
      "description": "Middleware function signature for the input and output pipelines in {@link @nhtio/adk!DispatchRunner}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchPipelineMiddlewareFn",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchPipelineMiddlewareFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchRunnerFunctionalHookRegistrations",
      "description": "Optional functional hook registrations supplied to {@link @nhtio/adk!DispatchRunner.dispatch}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerFunctionalHookRegistrations",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerFunctionalHookRegistrations.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchRunnerFunctionalHooks",
      "description": "Functional hook events on {@link @nhtio/adk!DispatchRunner}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerFunctionalHooks",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerFunctionalHooks.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchRunnerObservabilityHookRegistrations",
      "description": "Optional observability hook registrations supplied to {@link @nhtio/adk!DispatchRunner.dispatch}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerObservabilityHookRegistrations",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerObservabilityHookRegistrations.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/dispatch_runner.DispatchRunnerObservabilityHooks",
      "description": "Observability hook events on {@link @nhtio/adk!DispatchRunner}.",
      "route": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerObservabilityHooks",
      "source": "/api/@nhtio/adk/dispatch_runner/type-aliases/DispatchRunnerObservabilityHooks.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.ValidationException",
      "description": "Thrown when input fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/classes/ValidationException",
      "source": "/api/@nhtio/adk/exceptions/classes/ValidationException.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions",
      "description": "Core ADK exception classes and reusable runtime error constructors.",
      "route": "/api/@nhtio/adk/exceptions",
      "source": "/api/@nhtio/adk/exceptions/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_DISPATCH_PIPELINE_ERROR",
      "description": "Emitted (via the observability `error` hook) and re-thrown when a non-abort error propagates out of the input or output middleware pipeline during {@link @nhtio/adk!DispatchRunner.dispatch}.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_DISPATCH_PIPELINE_ERROR",
      "source": "/api/@nhtio/adk/exceptions/variables/E_DISPATCH_PIPELINE_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INPUT_PIPELINE_ERROR",
      "description": "Emitted (via the `error` event) when a non-abort error propagates out of the input middleware pipeline during {@link @nhtio/adk!TurnRunner.run}.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INPUT_PIPELINE_ERROR",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INPUT_PIPELINE_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_IDENTITY_VALUE",
      "description": "Thrown when an {@link @nhtio/adk!Identity} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_IDENTITY_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_IDENTITY_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_MEDIA_VALUE",
      "description": "Thrown when a Media is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MEDIA_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MEDIA_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_MEMORY_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!Memory} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MEMORY_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MEMORY_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_MESSAGE_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!Message} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MESSAGE_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_MESSAGE_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_REGISTRY_VALUE",
      "description": "Thrown when a registry is initialised with a value that is defined but not a plain object.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_REGISTRY_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_REGISTRY_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_RETRIEVABLE_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!Retrievable} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_RETRIEVABLE_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_RETRIEVABLE_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_THOUGHT_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!Thought} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_THOUGHT_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_THOUGHT_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_TOOL_CALL_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!ToolCall} is initialised with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TOOL_CALL_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TOOL_CALL_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_TOOL_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!Tool} is constructed with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TOOL_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TOOL_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_INITIAL_TURN_GATE_VALUE",
      "description": "Thrown when a {@link @nhtio/adk!TurnGate} is constructed with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TURN_GATE_VALUE",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_INITIAL_TURN_GATE_VALUE.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_LLM_DISPATCH_INPUT",
      "description": "Thrown when {@link @nhtio/adk!DispatchRunner.dispatch} receives an input that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_LLM_DISPATCH_INPUT",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_LLM_DISPATCH_INPUT.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_LLM_EXECUTION_CONTEXT",
      "description": "Thrown when {@link @nhtio/adk!DispatchContext} is constructed with a value that fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_LLM_EXECUTION_CONTEXT",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_LLM_EXECUTION_CONTEXT.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_TOOL_ARGS",
      "description": "Thrown synchronously when {@link @nhtio/adk!Tool.validate} is called with arguments that fail the tool's input schema.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TOOL_ARGS",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TOOL_ARGS.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_TURN_CONTEXT",
      "description": "Thrown by {@link @nhtio/adk!TurnRunner} when the {@link @nhtio/adk!TurnContext} supplied to `run` fails schema validation.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_CONTEXT",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_CONTEXT.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_TURN_GATE_RESOLUTION",
      "description": "Thrown synchronously in the caller's context when {@link @nhtio/adk!TurnGate.resolve} is called with a value that fails the gate's schema.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_GATE_RESOLUTION",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_GATE_RESOLUTION.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_INVALID_TURN_RUNNER_CONFIG",
      "description": "Thrown by {@link @nhtio/adk!TurnRunner} when the supplied config object fails schema validation at construction time.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_RUNNER_CONFIG",
      "source": "/api/@nhtio/adk/exceptions/variables/E_INVALID_TURN_RUNNER_CONFIG.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_LLM_EXECUTION_ALREADY_SIGNALLED",
      "description": "Thrown when {@link @nhtio/adk!DispatchContext.ack} or {@link @nhtio/adk!DispatchContext.nack} is called on a context that has already been signalled.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_ALREADY_SIGNALLED",
      "source": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_ALREADY_SIGNALLED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_LLM_EXECUTION_EXECUTOR_ERROR",
      "description": "Emitted (via the observability `error` hook) and re-thrown when the user-supplied executor callback throws during {@link @nhtio/adk!DispatchRunner.dispatch}.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_EXECUTOR_ERROR",
      "source": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_EXECUTOR_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_LLM_EXECUTION_GATE_NOT_SUPPORTED",
      "description": "Thrown (as a rejection reason) when {@link @nhtio/adk!DispatchContext.waitFor} is called on a standalone context that was constructed without a `waitFor` function.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_GATE_NOT_SUPPORTED",
      "source": "/api/@nhtio/adk/exceptions/variables/E_LLM_EXECUTION_GATE_NOT_SUPPORTED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_NOT_A_MEDIA_READER",
      "description": "Thrown when a Media is constructed with a value that does not implement the MediaReader interface.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_NOT_A_MEDIA_READER",
      "source": "/api/@nhtio/adk/exceptions/variables/E_NOT_A_MEDIA_READER.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_NOT_A_SPOOL_READER",
      "description": "Thrown when a {@link @nhtio/adk!SpooledArtifact} is constructed with a value that does not implement the {@link @nhtio/adk!SpoolReader} interface.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_NOT_A_SPOOL_READER",
      "source": "/api/@nhtio/adk/exceptions/variables/E_NOT_A_SPOOL_READER.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_OUTPUT_PIPELINE_ERROR",
      "description": "Emitted (via the `error` event) when a non-abort error propagates out of the output middleware pipeline during {@link @nhtio/adk!TurnRunner.run}.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_OUTPUT_PIPELINE_ERROR",
      "source": "/api/@nhtio/adk/exceptions/variables/E_OUTPUT_PIPELINE_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_PIPELINE_SHORT_CIRCUITED",
      "description": "Emitted (via the `error` event) when a middleware pipeline resolves without reaching its terminal handler and without the turn being aborted. Indicates that some middleware returned without calling `next` and without signalling a deliberate refusal via the turn's abort controller.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_PIPELINE_SHORT_CIRCUITED",
      "source": "/api/@nhtio/adk/exceptions/variables/E_PIPELINE_SHORT_CIRCUITED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_TOOL_ALREADY_REGISTERED",
      "description": "Thrown when {@link @nhtio/adk!ToolRegistry.register} is called for a tool name that is already registered and `overwrite` is not `true`.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_TOOL_ALREADY_REGISTERED",
      "source": "/api/@nhtio/adk/exceptions/variables/E_TOOL_ALREADY_REGISTERED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_TOOL_DOWNSTREAM_ERROR",
      "description": "Thrown (as a rejection reason) when a {@link @nhtio/adk!Tool}'s handler throws during execution.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_TOOL_DOWNSTREAM_ERROR",
      "source": "/api/@nhtio/adk/exceptions/variables/E_TOOL_DOWNSTREAM_ERROR.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_TURN_GATE_ABORTED",
      "description": "Thrown (as a rejection reason) when a {@link @nhtio/adk!TurnGate} is aborted — either because the turn's `AbortSignal` fired or because {@link @nhtio/adk!TurnGate.abort} was called directly.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_TURN_GATE_ABORTED",
      "source": "/api/@nhtio/adk/exceptions/variables/E_TURN_GATE_ABORTED.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/exceptions.E_TURN_GATE_TIMEOUT",
      "description": "Thrown (as a rejection reason) when a {@link @nhtio/adk!TurnGate} times out before being resolved.",
      "route": "/api/@nhtio/adk/exceptions/variables/E_TURN_GATE_TIMEOUT",
      "source": "/api/@nhtio/adk/exceptions/variables/E_TURN_GATE_TIMEOUT.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/factories.BaseException",
      "description": "Base class for all structured exceptions in the ADK.",
      "route": "/api/@nhtio/adk/factories/classes/BaseException",
      "source": "/api/@nhtio/adk/factories/classes/BaseException.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/factories.createException",
      "route": "/api/@nhtio/adk/factories/functions/createException",
      "source": "/api/@nhtio/adk/factories/functions/createException.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/factories",
      "description": "Factory helpers for creating configured runtime values and exception classes.",
      "route": "/api/@nhtio/adk/factories",
      "source": "/api/@nhtio/adk/factories/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/factories.CreatedException",
      "description": "Constructor signature of an exception class produced by {@link createException}.",
      "route": "/api/@nhtio/adk/factories/type-aliases/CreatedException",
      "source": "/api/@nhtio/adk/factories/type-aliases/CreatedException.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/factories.ExceptionOptions",
      "description": "Options accepted by {@link @nhtio/adk!BaseException} (and factory-created exceptions) beyond the standard `ErrorOptions`.",
      "route": "/api/@nhtio/adk/factories/type-aliases/ExceptionOptions",
      "source": "/api/@nhtio/adk/factories/type-aliases/ExceptionOptions.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.ArtifactTool",
      "description": "A {@link @nhtio/adk!Tool} subclass whose handler return value is wrapped directly in a {@link @nhtio/adk!Tokenizable} (not a {@link @nhtio/adk!SpooledArtifact}) when it lands on `ToolCall.results`.",
      "route": "/api/@nhtio/adk/forge/classes/ArtifactTool",
      "source": "/api/@nhtio/adk/forge/classes/ArtifactTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.Tool",
      "description": "A tool definition that serves as the single source of truth for a callable tool: its name, description, input schema, execution handler, and the {@link @nhtio/adk!SpooledArtifact} subclass that wraps its serialised output.",
      "route": "/api/@nhtio/adk/forge/classes/Tool",
      "source": "/api/@nhtio/adk/forge/classes/Tool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.ToolCall",
      "description": "An immutable, validated tool call record associated with a turn.",
      "route": "/api/@nhtio/adk/forge/classes/ToolCall",
      "source": "/api/@nhtio/adk/forge/classes/ToolCall.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.ToolRegistry",
      "description": "A mutable, turn-scoped collection of {@link @nhtio/adk!Tool} instances.",
      "route": "/api/@nhtio/adk/forge/classes/ToolRegistry",
      "source": "/api/@nhtio/adk/forge/classes/ToolRegistry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge",
      "description": "Schema-first tool construction, invocation records, artifact tools, and registries.",
      "route": "/api/@nhtio/adk/forge",
      "source": "/api/@nhtio/adk/forge/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.RawArtifactTool",
      "description": "Plain input object supplied to {@link ArtifactTool} at construction time.",
      "route": "/api/@nhtio/adk/forge/interfaces/RawArtifactTool",
      "source": "/api/@nhtio/adk/forge/interfaces/RawArtifactTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.RawTool",
      "description": "Plain input object supplied to {@link Tool} at construction time.",
      "route": "/api/@nhtio/adk/forge/interfaces/RawTool",
      "source": "/api/@nhtio/adk/forge/interfaces/RawTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.RawToolCall",
      "description": "Plain input object supplied to {@link ToolCall} at construction time.",
      "route": "/api/@nhtio/adk/forge/interfaces/RawToolCall",
      "source": "/api/@nhtio/adk/forge/interfaces/RawToolCall.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.ArtifactToolHandler",
      "description": "The execution function for an {@link ArtifactTool}.",
      "route": "/api/@nhtio/adk/forge/type-aliases/ArtifactToolHandler",
      "source": "/api/@nhtio/adk/forge/type-aliases/ArtifactToolHandler.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.SpooledArtifactConstructor",
      "description": "Constructor signature for {@link SpooledArtifact} and any subclass.",
      "route": "/api/@nhtio/adk/forge/type-aliases/SpooledArtifactConstructor",
      "source": "/api/@nhtio/adk/forge/type-aliases/SpooledArtifactConstructor.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/forge.ToolHandler",
      "description": "The execution function for a {@link Tool}.",
      "route": "/api/@nhtio/adk/forge/type-aliases/ToolHandler",
      "source": "/api/@nhtio/adk/forge/type-aliases/ToolHandler.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isArtifactTool",
      "route": "/api/@nhtio/adk/guards/functions/isArtifactTool",
      "source": "/api/@nhtio/adk/guards/functions/isArtifactTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isBaseException",
      "route": "/api/@nhtio/adk/guards/functions/isBaseException",
      "source": "/api/@nhtio/adk/guards/functions/isBaseException.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isDispatchContext",
      "route": "/api/@nhtio/adk/guards/functions/isDispatchContext",
      "source": "/api/@nhtio/adk/guards/functions/isDispatchContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isDispatchRunner",
      "route": "/api/@nhtio/adk/guards/functions/isDispatchRunner",
      "source": "/api/@nhtio/adk/guards/functions/isDispatchRunner.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isError",
      "route": "/api/@nhtio/adk/guards/functions/isError",
      "source": "/api/@nhtio/adk/guards/functions/isError.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isIdentity",
      "route": "/api/@nhtio/adk/guards/functions/isIdentity",
      "source": "/api/@nhtio/adk/guards/functions/isIdentity.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isInstanceOf",
      "route": "/api/@nhtio/adk/guards/functions/isInstanceOf",
      "source": "/api/@nhtio/adk/guards/functions/isInstanceOf.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isMemory",
      "route": "/api/@nhtio/adk/guards/functions/isMemory",
      "source": "/api/@nhtio/adk/guards/functions/isMemory.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isMessage",
      "route": "/api/@nhtio/adk/guards/functions/isMessage",
      "source": "/api/@nhtio/adk/guards/functions/isMessage.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isObject",
      "route": "/api/@nhtio/adk/guards/functions/isObject",
      "source": "/api/@nhtio/adk/guards/functions/isObject.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isRegistry",
      "route": "/api/@nhtio/adk/guards/functions/isRegistry",
      "source": "/api/@nhtio/adk/guards/functions/isRegistry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isSpooledArtifact",
      "route": "/api/@nhtio/adk/guards/functions/isSpooledArtifact",
      "source": "/api/@nhtio/adk/guards/functions/isSpooledArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isSpooledArtifactConstructor",
      "route": "/api/@nhtio/adk/guards/functions/isSpooledArtifactConstructor",
      "source": "/api/@nhtio/adk/guards/functions/isSpooledArtifactConstructor.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isSpooledJsonArtifact",
      "route": "/api/@nhtio/adk/guards/functions/isSpooledJsonArtifact",
      "source": "/api/@nhtio/adk/guards/functions/isSpooledJsonArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isSpooledMarkdownArtifact",
      "route": "/api/@nhtio/adk/guards/functions/isSpooledMarkdownArtifact",
      "source": "/api/@nhtio/adk/guards/functions/isSpooledMarkdownArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isThought",
      "route": "/api/@nhtio/adk/guards/functions/isThought",
      "source": "/api/@nhtio/adk/guards/functions/isThought.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isTokenizable",
      "route": "/api/@nhtio/adk/guards/functions/isTokenizable",
      "source": "/api/@nhtio/adk/guards/functions/isTokenizable.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isTool",
      "route": "/api/@nhtio/adk/guards/functions/isTool",
      "source": "/api/@nhtio/adk/guards/functions/isTool.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isToolCall",
      "route": "/api/@nhtio/adk/guards/functions/isToolCall",
      "source": "/api/@nhtio/adk/guards/functions/isToolCall.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isToolRegistry",
      "route": "/api/@nhtio/adk/guards/functions/isToolRegistry",
      "source": "/api/@nhtio/adk/guards/functions/isToolRegistry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isTurnContext",
      "route": "/api/@nhtio/adk/guards/functions/isTurnContext",
      "source": "/api/@nhtio/adk/guards/functions/isTurnContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isTurnGate",
      "route": "/api/@nhtio/adk/guards/functions/isTurnGate",
      "source": "/api/@nhtio/adk/guards/functions/isTurnGate.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards.isTurnRunner",
      "route": "/api/@nhtio/adk/guards/functions/isTurnRunner",
      "source": "/api/@nhtio/adk/guards/functions/isTurnRunner.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/guards",
      "description": "Runtime type guards for ADK primitives, contexts, runners, tools, and artifacts.",
      "route": "/api/@nhtio/adk/guards",
      "source": "/api/@nhtio/adk/guards/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk",
      "description": "Root convenience barrel for the ADK's core runtime values and public TypeScript contracts.",
      "route": "/api/@nhtio/adk",
      "source": "/api/@nhtio/adk/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.SpooledArtifact",
      "description": "A lazy, line-oriented view over an arbitrary backing store.",
      "route": "/api/@nhtio/adk/spooled_artifact/classes/SpooledArtifact",
      "source": "/api/@nhtio/adk/spooled_artifact/classes/SpooledArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.SpooledJsonArtifact",
      "description": "A {@link @nhtio/adk!SpooledArtifact} specialisation that adds JSON-aware read operations.",
      "route": "/api/@nhtio/adk/spooled_artifact/classes/SpooledJsonArtifact",
      "source": "/api/@nhtio/adk/spooled_artifact/classes/SpooledJsonArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.SpooledMarkdownArtifact",
      "description": "A {@link @nhtio/adk!SpooledArtifact} specialisation that adds markdown-aware structural queries.",
      "route": "/api/@nhtio/adk/spooled_artifact/classes/SpooledMarkdownArtifact",
      "source": "/api/@nhtio/adk/spooled_artifact/classes/SpooledMarkdownArtifact.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.implementsSpoolReader",
      "route": "/api/@nhtio/adk/spooled_artifact/functions/implementsSpoolReader",
      "source": "/api/@nhtio/adk/spooled_artifact/functions/implementsSpoolReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact",
      "description": "Lazy, line-oriented artifact readers and format-aware spooled artifact subclasses.",
      "route": "/api/@nhtio/adk/spooled_artifact",
      "source": "/api/@nhtio/adk/spooled_artifact/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.MarkdownCodeEntry",
      "description": "A single fenced code block entry in the document's structural index.",
      "route": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownCodeEntry",
      "source": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownCodeEntry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.MarkdownHeadingEntry",
      "description": "A single heading entry in the document's structural index.",
      "route": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownHeadingEntry",
      "source": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownHeadingEntry.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.MarkdownSection",
      "description": "A section of a markdown document as returned by {@link SpooledMarkdownArtifact.md_sections}.",
      "route": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownSection",
      "source": "/api/@nhtio/adk/spooled_artifact/interfaces/MarkdownSection.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.SpoolReader",
      "description": "Backing store contract for a {@link @nhtio/adk!SpooledArtifact}.",
      "route": "/api/@nhtio/adk/spooled_artifact/interfaces/SpoolReader",
      "source": "/api/@nhtio/adk/spooled_artifact/interfaces/SpoolReader.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/spooled_artifact.JsonArtifactFormat",
      "description": "The set of JSON-derived formats that {@link SpooledJsonArtifact} can handle.",
      "route": "/api/@nhtio/adk/spooled_artifact/type-aliases/JsonArtifactFormat",
      "source": "/api/@nhtio/adk/spooled_artifact/type-aliases/JsonArtifactFormat.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnRunner",
      "description": "Executes a single agent turn through paired input and output middleware pipelines.",
      "route": "/api/@nhtio/adk/turn_runner/classes/TurnRunner",
      "source": "/api/@nhtio/adk/turn_runner/classes/TurnRunner.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner",
      "description": "The turn runner orchestration surface and its configuration, event, and middleware types.",
      "route": "/api/@nhtio/adk/turn_runner",
      "source": "/api/@nhtio/adk/turn_runner/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.ToolExecutionEndEvent",
      "description": "Payload emitted on the observability bus when a tool's executor finishes (successfully or not).",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/ToolExecutionEndEvent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/ToolExecutionEndEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.ToolExecutionStartEvent",
      "description": "Payload emitted on the observability bus when a tool's executor begins executing the handler.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/ToolExecutionStartEvent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/ToolExecutionStartEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnEndEvent",
      "description": "Payload emitted when a turn ends.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnEndEvent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnEndEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnGateClosedEvent",
      "description": "Payload emitted when a {@link @nhtio/adk!TurnGate} settles (resolved, rejected, aborted, or timed out).",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnGateClosedEvent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnGateClosedEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnRunnerConfig",
      "description": "Configuration supplied to {@link @nhtio/adk!TurnRunner} at construction time.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnRunnerConfig",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnRunnerConfig.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnStartEvent",
      "description": "Payload emitted when a turn begins.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnStartEvent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnStartEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnStreamableContent",
      "description": "A unit of streamable content emitted during a turn.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnStreamableContent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnStreamableContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnToolCallContent",
      "description": "A tool call invocation emitted during a turn, including its result once available.",
      "route": "/api/@nhtio/adk/turn_runner/interfaces/TurnToolCallContent",
      "source": "/api/@nhtio/adk/turn_runner/interfaces/TurnToolCallContent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.EmitMessageFn",
      "description": "A function that emits a `message` event on the {@link @nhtio/adk!TurnRunner}.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/EmitMessageFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/EmitMessageFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.EmitThoughtFn",
      "description": "A function that emits a `thought` event on the {@link @nhtio/adk!TurnRunner}.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/EmitThoughtFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/EmitThoughtFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.EmitToolCallFn",
      "description": "A function that emits a `toolCall` event on the {@link @nhtio/adk!TurnRunner}.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolCallFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolCallFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.EmitToolExecutionEndFn",
      "description": "A function that emits a `toolExecutionEnd` event on the {@link @nhtio/adk!TurnRunner} observability bus.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolExecutionEndFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolExecutionEndFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.EmitToolExecutionStartFn",
      "description": "A function that emits a `toolExecutionStart` event on the {@link @nhtio/adk!TurnRunner} observability bus.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolExecutionStartFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/EmitToolExecutionStartFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.OpenGateFn",
      "description": "A function that opens a {@link @nhtio/adk!TurnGate} for the current turn.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/OpenGateFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/OpenGateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.ResolvedTurnRunnerConfig",
      "description": "Fully-resolved {@link TurnRunnerConfig} after schema validation.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/ResolvedTurnRunnerConfig",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/ResolvedTurnRunnerConfig.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnEvent",
      "description": "Valid event name keys for the {@link @nhtio/adk!TurnRunner} functional bus.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEvent",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnEventListener",
      "description": "Listener signature for a given {@link @nhtio/adk!TurnRunner} functional event.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEventListener",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEventListener.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnEvents",
      "description": "Functional events emitted by {@link @nhtio/adk!TurnRunner} during a turn.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEvents",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnEvents.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnObservabilityEvent",
      "description": "Valid event name keys for the {@link @nhtio/adk!TurnRunner} observability bus.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEvent",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEvent.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnObservabilityEventListener",
      "description": "Listener signature for a given {@link @nhtio/adk!TurnRunner} observability event.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEventListener",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEventListener.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnObservabilityEvents",
      "description": "Observability events emitted by {@link @nhtio/adk!TurnRunner} for instrumentation.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEvents",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnObservabilityEvents.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/turn_runner.TurnPipelineMiddlewareFn",
      "description": "Middleware function signature for the input and output pipelines in a {@link @nhtio/adk!TurnRunner}.",
      "route": "/api/@nhtio/adk/turn_runner/type-aliases/TurnPipelineMiddlewareFn",
      "source": "/api/@nhtio/adk/turn_runner/type-aliases/TurnPipelineMiddlewareFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types",
      "description": "Type-only export surface for raw shapes, callbacks, events, hooks, and internal contracts.",
      "route": "/api/@nhtio/adk/types",
      "source": "/api/@nhtio/adk/types/index.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchContext",
      "description": "Context object for a single LLM execution call.",
      "route": "/api/@nhtio/adk/types/interfaces/DispatchContext",
      "source": "/api/@nhtio/adk/types/interfaces/DispatchContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RawDispatchContext",
      "description": "Plain input object supplied to {@link DispatchContext} at construction time.",
      "route": "/api/@nhtio/adk/types/interfaces/RawDispatchContext",
      "source": "/api/@nhtio/adk/types/interfaces/RawDispatchContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RawTurnContext",
      "description": "Plain input object supplied to {@link TurnContext} at construction time.",
      "route": "/api/@nhtio/adk/types/interfaces/RawTurnContext",
      "source": "/api/@nhtio/adk/types/interfaces/RawTurnContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.TurnContext",
      "description": "The validated, strongly-typed context object threaded through every middleware step in a single agent turn.",
      "route": "/api/@nhtio/adk/types/interfaces/TurnContext",
      "source": "/api/@nhtio/adk/types/interfaces/TurnContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchContextHookRegistrations",
      "description": "Optional hook registrations supplied to {@link @nhtio/adk!DispatchContext} at construction time.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchContextHookRegistrations",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchContextHookRegistrations.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchContextHooks",
      "description": "Hook event map for {@link @nhtio/adk!DispatchContext}.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchContextHooks",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchContextHooks.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMemoryDeleteFn",
      "description": "Removes a memory by ID (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMemoryMutateFn",
      "description": "Updates an existing memory (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMemoryRetrievalFn",
      "description": "Retrieves memories for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMemoryStoreFn",
      "description": "Stores a new memory (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMemoryStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMessageDeleteFn",
      "description": "Removes a message by ID (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMessageDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMessageDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMessageMutateFn",
      "description": "Updates an existing message (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMessageMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMessageMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMessageRetrievalFn",
      "description": "Retrieves messages for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMessageRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMessageRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchMessageStoreFn",
      "description": "Stores a new message (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchMessageStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchMessageStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchStandingInstructionDeleteFn",
      "description": "Removes a standing instruction (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchStandingInstructionMutateFn",
      "description": "Updates an existing standing instruction (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchStandingInstructionsRefreshFn",
      "description": "Refreshes and returns standing instructions for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionsRefreshFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionsRefreshFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchStandingInstructionStoreFn",
      "description": "Stores a new standing instruction (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchStandingInstructionStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchThoughtDeleteFn",
      "description": "Removes a thought by ID (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchThoughtMutateFn",
      "description": "Updates an existing thought (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchThoughtRetrievalFn",
      "description": "Retrieves thoughts for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchThoughtStoreFn",
      "description": "Stores a new thought (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchThoughtStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchToolCallDeleteFn",
      "description": "Removes a tool call by ID (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchToolCallMutateFn",
      "description": "Updates an existing tool call (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchToolCallRetrievalFn",
      "description": "Retrieves tool calls for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchToolCallStoreFn",
      "description": "Stores a new tool call (LLM execution context variant).",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchToolCallStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.DispatchToolsRetrievalFn",
      "description": "Retrieves tools for an LLM execution context.",
      "route": "/api/@nhtio/adk/types/type-aliases/DispatchToolsRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/DispatchToolsRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MemoryDeleteFn",
      "description": "Removes a memory from the persistence layer by ID.",
      "route": "/api/@nhtio/adk/types/type-aliases/MemoryDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MemoryDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MemoryMutateFn",
      "description": "Updates an existing memory in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/MemoryMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MemoryMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MemoryRetrievalFn",
      "description": "A function that retrieves the memories relevant to the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/MemoryRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MemoryRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MemoryStoreFn",
      "description": "Stores a new memory in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/MemoryStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MemoryStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MessageDeleteFn",
      "description": "Removes a message from the persistence layer by ID.",
      "route": "/api/@nhtio/adk/types/type-aliases/MessageDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MessageDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MessageMutateFn",
      "description": "Updates an existing message in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/MessageMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MessageMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MessageRetrievalFn",
      "description": "A function that retrieves the conversation messages relevant to the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/MessageRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MessageRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.MessageStoreFn",
      "description": "Stores a new message in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/MessageStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/MessageStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ResolvedTurnContext",
      "description": "A fully-resolved {@link RawTurnContext} where all optional fields have been filled in by the schema (e.g. `stash` defaulted to `{}`).",
      "route": "/api/@nhtio/adk/types/type-aliases/ResolvedTurnContext",
      "source": "/api/@nhtio/adk/types/type-aliases/ResolvedTurnContext.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RetrievableDeleteFn",
      "description": "Removes a retrievable record from the persistence layer by ID.",
      "route": "/api/@nhtio/adk/types/type-aliases/RetrievableDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/RetrievableDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RetrievableMutateFn",
      "description": "Updates an existing retrievable record in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/RetrievableMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/RetrievableMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RetrievableRetrievalFn",
      "description": "A function that retrieves the retrievable (RAG) records relevant to the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/RetrievableRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/RetrievableRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.RetrievableStoreFn",
      "description": "Stores a new retrievable record in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/RetrievableStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/RetrievableStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.StandingInstructionDeleteFn",
      "description": "Removes a standing instruction from the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/StandingInstructionDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/StandingInstructionDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.StandingInstructionMutateFn",
      "description": "Updates an existing standing instruction in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/StandingInstructionMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/StandingInstructionMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.StandingInstructionsRefreshFn",
      "description": "A function that refreshes and returns the standing instructions for the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/StandingInstructionsRefreshFn",
      "source": "/api/@nhtio/adk/types/type-aliases/StandingInstructionsRefreshFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.StandingInstructionStoreFn",
      "description": "Stores a new standing instruction in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/StandingInstructionStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/StandingInstructionStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ThoughtDeleteFn",
      "description": "Removes a thought from the persistence layer by ID.",
      "route": "/api/@nhtio/adk/types/type-aliases/ThoughtDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ThoughtDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ThoughtMutateFn",
      "description": "Updates an existing thought in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/ThoughtMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ThoughtMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ThoughtRetrievalFn",
      "description": "A function that retrieves the thought traces relevant to the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/ThoughtRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ThoughtRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ThoughtStoreFn",
      "description": "Stores a new thought in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/ThoughtStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ThoughtStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ToolCallDeleteFn",
      "description": "Removes a tool call from the persistence layer by ID.",
      "route": "/api/@nhtio/adk/types/type-aliases/ToolCallDeleteFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ToolCallDeleteFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ToolCallMutateFn",
      "description": "Updates an existing tool call in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/ToolCallMutateFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ToolCallMutateFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ToolCallRetrievalFn",
      "description": "A function that retrieves the tool call records relevant to the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/ToolCallRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ToolCallRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ToolCallStoreFn",
      "description": "Stores a new tool call in the persistence layer.",
      "route": "/api/@nhtio/adk/types/type-aliases/ToolCallStoreFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ToolCallStoreFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk/types.ToolsRetrievalFn",
      "description": "A function that retrieves the tools available for the current turn.",
      "route": "/api/@nhtio/adk/types/type-aliases/ToolsRetrievalFn",
      "source": "/api/@nhtio/adk/types/type-aliases/ToolsRetrievalFn.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk.version",
      "description": "The current version of the package.",
      "route": "/api/@nhtio/adk/variables/version",
      "source": "/api/@nhtio/adk/variables/version.md",
      "kind": "api"
    },
    {
      "title": "@nhtio/adk",
      "route": "/api",
      "source": "/api/index.md",
      "kind": "api"
    },
    {
      "title": "LLM batteries",
      "description": "OpenAI-compatible and WebLLM executors that you wire in one line.",
      "route": "/assembly/batteries-llm",
      "source": "/assembly/batteries-llm.md",
      "kind": "guide"
    },
    {
      "title": "Storage batteries",
      "description": "Bundled storage implementations for SpooledArtifact persistence: in-memory, flydrive, and OPFS.",
      "route": "/assembly/batteries-storage",
      "source": "/assembly/batteries-storage.md",
      "kind": "guide"
    },
    {
      "title": "Tools batteries",
      "description": "Catalogue of bundled tools — numeric, data, text, time, and ADK-native — plus the peer dependencies each requires.",
      "route": "/assembly/batteries-tools",
      "source": "/assembly/batteries-tools.md",
      "kind": "guide"
    },
    {
      "title": "Bring your own LLM",
      "description": "Write a DispatchExecutorFn for your provider — the one required seam between ADK and your model runtime.",
      "route": "/assembly/byo-llm",
      "source": "/assembly/byo-llm.md",
      "kind": "guide"
    },
    {
      "title": "Bring your own memory",
      "description": "Implement long-term agent state with the Memory primitive. Learn fetch ranking, write paths, and how to defend against memory poisoning.",
      "route": "/assembly/byo-memory",
      "source": "/assembly/byo-memory.md",
      "kind": "guide"
    },
    {
      "title": "Bring your own retrieval",
      "description": "Inject external documents, configure strict trust tiers, and stage RAG contexts before the executor loop.",
      "route": "/assembly/byo-retrieval",
      "source": "/assembly/byo-retrieval.md",
      "kind": "guide"
    },
    {
      "title": "Bring your own storage",
      "description": "Wire the 25 required storage/context callbacks — the complete persistence contract for ADK.",
      "route": "/assembly/byo-storage",
      "source": "/assembly/byo-storage.md",
      "kind": "guide"
    },
    {
      "title": "Bring your own tools",
      "description": "Define Tool instances, wire them into TurnRunnerConfig, handle Media return types, and forge ephemeral artifact tools.",
      "route": "/assembly/byo-tools",
      "source": "/assembly/byo-tools.md",
      "kind": "guide"
    },
    {
      "title": "Listening to the Assembly",
      "description": "Wire the functional and observability buses — the two event systems that carry output, telemetry, and lifecycle signals out of the runner.",
      "route": "/assembly/events",
      "source": "/assembly/events.md",
      "kind": "guide"
    },
    {
      "title": "Assembly",
      "description": "How to wire your LLM, storage, tools, retrieval, and memory into a working agent using the ADK chassis.",
      "route": "/assembly",
      "source": "/assembly/index.md",
      "kind": "guide"
    },
    {
      "title": "Minimal agent assembly",
      "description": "A complete three-file ADK assembly that runs one user message through the OpenAI battery and streams the assistant reply.",
      "route": "/assembly/minimal-assembly",
      "source": "/assembly/minimal-assembly.md",
      "kind": "guide"
    },
    {
      "title": "Wiring the pipelines",
      "description": "Wire turnInputPipeline, turnOutputPipeline, dispatchInputPipeline, and dispatchOutputPipeline — the four middleware arrays that surround turn and dispatch execution.",
      "route": "/assembly/pipelines",
      "source": "/assembly/pipelines.md",
      "kind": "guide"
    },
    {
      "title": "Route reasoning across vendors",
      "description": "Tag thoughts with replayCompatibility so a multi-hop workflow can preserve opaque vendor reasoning across adapters.",
      "route": "/assembly/recipes/cross-vendor-reasoning",
      "source": "/assembly/recipes/cross-vendor-reasoning.md",
      "kind": "guide"
    },
    {
      "title": "Build a custom SpooledArtifact subclass",
      "description": "Extend the spooled artifact family with a tool-specific subclass that adds its own forgeTools descriptors.",
      "route": "/assembly/recipes/custom-spooled-artifact",
      "source": "/assembly/recipes/custom-spooled-artifact.md",
      "kind": "guide"
    },
    {
      "title": "Recipes",
      "description": "Task-oriented walkthroughs that show one finished pattern from start to end.",
      "route": "/assembly/recipes",
      "source": "/assembly/recipes/index.md",
      "kind": "guide"
    },
    {
      "title": "Override adapter options per dispatch",
      "description": "Use the stash channel to retarget a single iteration to a different model, helper, or envelope shape.",
      "route": "/assembly/recipes/per-dispatch-overrides",
      "source": "/assembly/recipes/per-dispatch-overrides.md",
      "kind": "guide"
    },
    {
      "title": "Stream messages to a terminal",
      "description": "Wire functional events to stdout so a CLI agent prints messages, thoughts, and tool calls as they happen.",
      "route": "/assembly/recipes/stream-to-terminal",
      "source": "/assembly/recipes/stream-to-terminal.md",
      "kind": "guide"
    },
    {
      "title": "Glossary",
      "description": "The project vocabulary of @nhtio/adk — turns, dispatch, trust tiers, batteries, gates, and the rest of the language the docs assume you already speak.",
      "route": "/glossary",
      "source": "/glossary.md",
      "kind": "guide"
    },
    {
      "title": "How agents work",
      "description": "A plain-English orientation to agents, turns, tools, and the request lifecycle — for engineers who haven't built one before.",
      "route": "/how-agents-work",
      "source": "/how-agents-work.md",
      "kind": "guide"
    },
    {
      "title": "@nhtio/adk documentation",
      "description": "TypeScript Agent Development Kit documentation for deterministic turn execution, context threading, tools, artifacts, event streaming, and opt-in batteries.",
      "route": "/",
      "source": "/index.md",
      "kind": "guide"
    },
    {
      "title": "Playground",
      "description": "An in-browser REPL for the ADK TurnRunner, with scripted examples and a live lifecycle trace.",
      "route": "/playground",
      "source": "/playground.md",
      "kind": "guide"
    },
    {
      "title": "Quickstart",
      "description": "Install @nhtio/adk and run your first turn — three files on disk, no API key, the executor seam in full view.",
      "route": "/quickstart",
      "source": "/quickstart.md",
      "kind": "guide"
    },
    {
      "title": "A 3B model, a browser tab, and frontier-grade answers",
      "description": "The docs agent in this site's header runs Llama-3.2-3B in a browser tab — no server, no tool-calling, a 4096-token window. It answers from retrieved docs, abstains when retrieval comes up short, and ships only gate-cleared citations. Here is exactly how it's built on @nhtio/adk, with the real code.",
      "route": "/showcase/ask-adk",
      "source": "/showcase/ask-adk.md",
      "kind": "guide"
    },
    {
      "title": "Showcase",
      "description": "Proof-of-concept builds that demonstrate ADK running in the wild, with build narratives readers can study and remix.",
      "route": "/showcase",
      "source": "/showcase/index.md",
      "kind": "guide"
    },
    {
      "title": "Artifacts",
      "description": "SpooledArtifact, the handle pattern, and the ctx-scoped forgeTools lifecycle that lets the model query large tool outputs.",
      "route": "/the-loop/artifacts",
      "source": "/the-loop/artifacts.md",
      "kind": "guide"
    },
    {
      "title": "Extending artifacts",
      "description": "The subclass extension pattern, ArtifactTool, and the things artifacts deliberately do not do.",
      "route": "/the-loop/artifacts/extending",
      "source": "/the-loop/artifacts/extending.md",
      "kind": "guide"
    },
    {
      "title": "forgeTools(ctx) in depth",
      "description": "The detailed forgeTools factory behaviour — snapshot logic, the callId enum, the ack lifecycle hook, and the staleness trade.",
      "route": "/the-loop/artifacts/forge-tools-in-depth",
      "source": "/the-loop/artifacts/forge-tools-in-depth.md",
      "kind": "guide"
    },
    {
      "title": "The SpooledArtifact shape",
      "description": "What SpooledArtifact is, its POSIX-shaped query surface, and the closed set of subclass methods exposed through toolMethods.",
      "route": "/the-loop/artifacts/shape",
      "source": "/the-loop/artifacts/shape.md",
      "kind": "guide"
    },
    {
      "title": "Budgets",
      "description": "Context is finite. Runtime is finite. ADK exposes the primitives for managing both. You own the policy.",
      "route": "/the-loop/budgets",
      "source": "/the-loop/budgets.md",
      "kind": "guide"
    },
    {
      "title": "Events",
      "description": "Two event buses, two jobs, and the rule that separates them.",
      "route": "/the-loop/events",
      "source": "/the-loop/events.md",
      "kind": "guide"
    },
    {
      "title": "Failure",
      "description": "Exception codes, validation errors, gate failures, abort semantics, and what ack / nack actually mean.",
      "route": "/the-loop/failure",
      "source": "/the-loop/failure.md",
      "kind": "guide"
    },
    {
      "title": "Gates",
      "description": "ctx.waitFor and TurnGate — the cooperative suspension primitive that human-in-the-loop, RBAC, and external-approval flows are built on.",
      "route": "/the-loop/gates",
      "source": "/the-loop/gates.md",
      "kind": "guide"
    },
    {
      "title": "Canonical gate applications",
      "description": "The four use cases gates exist to support: tool gating, external-system handoffs, mid-turn human review, and quota pauses.",
      "route": "/the-loop/gates/applications",
      "source": "/the-loop/gates/applications.md",
      "kind": "guide"
    },
    {
      "title": "Gate durability and integration",
      "description": "Why the ADK does not ship a durable-gate battery, what observability is available, the seams gates plug into, and where to go next.",
      "route": "/the-loop/gates/durability-and-plugs",
      "source": "/the-loop/gates/durability-and-plugs.md",
      "kind": "guide"
    },
    {
      "title": "Gate lifecycle",
      "description": "Settlement semantics and what suspension actually blocks — the in-memory mechanics from open to close.",
      "route": "/the-loop/gates/lifecycle",
      "source": "/the-loop/gates/lifecycle.md",
      "kind": "guide"
    },
    {
      "title": "The Loop",
      "description": "Mental model for one ADK turn — what the ADK owns, where your code plugs in, and the order things happen in.",
      "route": "/the-loop",
      "source": "/the-loop/index.md",
      "kind": "guide"
    },
    {
      "title": "LLM Dispatch",
      "description": "DispatchRunner, the executor seam, the iteration loop, and the ack / nack lifecycle that bounds one dispatch.",
      "route": "/the-loop/llm-dispatch",
      "source": "/the-loop/llm-dispatch.md",
      "kind": "guide"
    },
    {
      "title": "ADK-side facts and helpers vs persistence",
      "description": "What the runner does around the executor — store queueing, sealed-stream rules, abort wiring — and why helpers and persistence are decoupled.",
      "route": "/the-loop/llm-dispatch/adk-facts",
      "source": "/the-loop/llm-dispatch/adk-facts.md",
      "kind": "guide"
    },
    {
      "title": "Errors during dispatch",
      "description": "How executor throws, middleware throws, abort, and ctx.nack each surface — and how surfacing depends on the entry point.",
      "route": "/the-loop/llm-dispatch/errors",
      "source": "/the-loop/llm-dispatch/errors.md",
      "kind": "guide"
    },
    {
      "title": "The executor seam",
      "description": "The executor callback contract, what helpers vs persistence do, and the ADK-side facts that constrain the surface.",
      "route": "/the-loop/llm-dispatch/executor-seam",
      "source": "/the-loop/llm-dispatch/executor-seam.md",
      "kind": "guide"
    },
    {
      "title": "Signalling and bounds",
      "description": "ack/nack/aborted terminal states, ctx.iteration/toolCallCount/onAck bounds primitives, and the forwarded event semantics.",
      "route": "/the-loop/llm-dispatch/signalling",
      "source": "/the-loop/llm-dispatch/signalling.md",
      "kind": "guide"
    },
    {
      "title": "Pipelines",
      "description": "The spine of the runtime — four pipelines, two scopes, and the rule that the runner has no behavior of its own.",
      "route": "/the-loop/pipelines",
      "source": "/the-loop/pipelines.md",
      "kind": "guide"
    },
    {
      "title": "Abort",
      "description": "Three perspectives on abort — how to raise one from a middleware, how to react to one already in flight, and how to classify abort traffic from outside the runner.",
      "route": "/the-loop/pipelines/abort",
      "source": "/the-loop/pipelines/abort.md",
      "kind": "guide"
    },
    {
      "title": "Composition",
      "description": "The pipeline in depth — the function shape, next(), strict array sequencing, where to open a gate, and how short-circuits are reported.",
      "route": "/the-loop/pipelines/composition",
      "source": "/the-loop/pipelines/composition.md",
      "kind": "guide"
    },
    {
      "title": "Dispatch-scoped pipelines",
      "description": "dispatchInputPipeline and dispatchOutputPipeline — the per-iteration sandwich around the executor. Where loop-bounding and per-iteration policy live.",
      "route": "/the-loop/pipelines/dispatch-scoped",
      "source": "/the-loop/pipelines/dispatch-scoped.md",
      "kind": "guide"
    },
    {
      "title": "stash",
      "description": "The cross-middleware state contract — registry pattern, namespacing rules, the turn/dispatch isolation contract, and cross-turn persistence.",
      "route": "/the-loop/pipelines/stash",
      "source": "/the-loop/pipelines/stash.md",
      "kind": "guide"
    },
    {
      "title": "Failure (throws)",
      "description": "How throws in middleware are wrapped and emitted, why post-steps run on the error path, and the commit-vs-rollback pattern for path-aware cleanup.",
      "route": "/the-loop/pipelines/throws",
      "source": "/the-loop/pipelines/throws.md",
      "kind": "guide"
    },
    {
      "title": "Turn-scoped pipelines",
      "description": "turnInputPipeline and turnOutputPipeline — bookends of a turn. Run once before dispatch, once after. Where turn-level cost lives.",
      "route": "/the-loop/pipelines/turn-scoped",
      "source": "/the-loop/pipelines/turn-scoped.md",
      "kind": "guide"
    },
    {
      "title": "What each pipeline owns",
      "description": "Four pipelines, two scopes, one cost model. What goes in each is convention — and confusing the conventions is how you end up paying for retrieval ten times in a ten-iteration dispatch.",
      "route": "/the-loop/pipelines/what-each-pipeline-owns",
      "source": "/the-loop/pipelines/what-each-pipeline-owns.md",
      "kind": "guide"
    },
    {
      "title": "Primitives",
      "description": "The validated data primitives ADK threads through every turn: Tokenizable, Identity, Message, Media, Memory, Retrievable, Thought, ToolCall.",
      "route": "/the-loop/primitives",
      "source": "/the-loop/primitives.md",
      "kind": "guide"
    },
    {
      "title": "Identity",
      "description": "The two-view bridge between your application's notion of a participant (identifier) and the model's notion of who is speaking (representation).",
      "route": "/the-loop/primitives/identity",
      "source": "/the-loop/primitives/identity.md",
      "kind": "guide"
    },
    {
      "title": "Media",
      "description": "Typed handle to a binary asset — image, audio, video, document — that rides on Message.attachments and ToolCall.results.",
      "route": "/the-loop/primitives/media",
      "source": "/the-loop/primitives/media.md",
      "kind": "guide"
    },
    {
      "title": "Memory",
      "description": "Long-term memory: durable facts recalled from previous conversations, with retrieval-time confidence and importance scores.",
      "route": "/the-loop/primitives/memory",
      "source": "/the-loop/primitives/memory.md",
      "kind": "guide"
    },
    {
      "title": "Message",
      "description": "One unit of dialogue with a typed role, a Tokenizable body, a required Identity, and an attachments slot for Media.",
      "route": "/the-loop/primitives/message",
      "source": "/the-loop/primitives/message.md",
      "kind": "guide"
    },
    {
      "title": "Retrievable",
      "description": "Content pulled in fresh for this turn — RAG chunks, web results, KB snippets — with a required trustTier.",
      "route": "/the-loop/primitives/retrievable",
      "source": "/the-loop/primitives/retrievable.md",
      "kind": "guide"
    },
    {
      "title": "Thought",
      "description": "Reasoning, kept separate from dialogue — text plus optional vendor-shaped payload, gated by replayCompatibility.",
      "route": "/the-loop/primitives/thought",
      "source": "/the-loop/primitives/thought.md",
      "kind": "guide"
    },
    {
      "title": "Tokenizable",
      "description": "The string wrapper every text-bearing field on every other primitive stores — and the answer to 'how many tokens is this content worth?'",
      "route": "/the-loop/primitives/tokenizable",
      "source": "/the-loop/primitives/tokenizable.md",
      "kind": "guide"
    },
    {
      "title": "ToolCall",
      "description": "One resolved tool invocation: tool name, validated args, results (artifact, tokenizable, or media), and a stable checksum.",
      "route": "/the-loop/primitives/toolcall",
      "source": "/the-loop/primitives/toolcall.md",
      "kind": "guide"
    },
    {
      "title": "Tools",
      "description": "Schema-owned tooling: Tool, ToolRegistry, merge collision policy, and the per-turn registry lifecycle.",
      "route": "/the-loop/tools",
      "source": "/the-loop/tools.md",
      "kind": "guide"
    },
    {
      "title": "Advanced details",
      "description": "callId derivation, why artifactConstructor is a resolver, and why it does not accept a Media constructor.",
      "route": "/the-loop/tools/advanced",
      "source": "/the-loop/tools/advanced.md",
      "kind": "guide"
    },
    {
      "title": "bindContext and describe()",
      "description": "Ephemeral pruning on dispatch ack, and the plain-object describe() form executors use to render provider tool definitions.",
      "route": "/the-loop/tools/bind-context-and-describe",
      "source": "/the-loop/tools/bind-context-and-describe.md",
      "kind": "guide"
    },
    {
      "title": "ToolRegistry, lifecycle, and collisions",
      "description": "The ToolRegistry surface, collision policy on register vs merge, and the per-turn lifecycle.",
      "route": "/the-loop/tools/registry",
      "source": "/the-loop/tools/registry.md",
      "kind": "guide"
    },
    {
      "title": "Trust and safety",
      "description": "How Tool.trusted flips the executor's render envelope, what it does not do for Media results, and where safety/authorisation actually attaches via gates.",
      "route": "/the-loop/tools/trust-and-safety",
      "source": "/the-loop/tools/trust-and-safety.md",
      "kind": "guide"
    },
    {
      "title": "What a Tool is",
      "description": "The four ingredients of a Tool — name, description, input schema, handler — plus artifactConstructor, meta, and the three behavioural flags.",
      "route": "/the-loop/tools/what-a-tool-is",
      "source": "/the-loop/tools/what-a-tool-is.md",
      "kind": "guide"
    },
    {
      "title": "Trust Tiers",
      "description": "Every token in your agent's context is a power claim. Some of those claims are yours.",
      "route": "/the-loop/trust-tiers",
      "source": "/the-loop/trust-tiers.md",
      "kind": "guide"
    },
    {
      "title": "The Envelope System",
      "description": "Four authority tiers, nonce-keyed closing tags, and why forgery fails.",
      "route": "/the-loop/trust-tiers/envelopes",
      "source": "/the-loop/trust-tiers/envelopes.md",
      "kind": "guide"
    },
    {
      "title": "Envelope System — Threat Analysis",
      "description": "Formal nonce requirements, failure cases, and the argument for structural authority over semantic defense.",
      "route": "/the-loop/trust-tiers/envelopes/research",
      "source": "/the-loop/trust-tiers/envelopes/research.md",
      "kind": "guide"
    },
    {
      "title": "Identity and Reasoning",
      "description": "Multi-identity spoofing and chain-of-thought hijacking: the authority channels that aren't source.",
      "route": "/the-loop/trust-tiers/identity-and-reasoning",
      "source": "/the-loop/trust-tiers/identity-and-reasoning.md",
      "kind": "guide"
    },
    {
      "title": "Identity and Reasoning — Threat Analysis",
      "description": "Chain-of-thought hijacking deep-dive, multi-identity attack taxonomy, and the two-channel rendering formal model.",
      "route": "/the-loop/trust-tiers/identity-and-reasoning/research",
      "source": "/the-loop/trust-tiers/identity-and-reasoning/research.md",
      "kind": "guide"
    },
    {
      "title": "Media",
      "description": "Two-axis trust for media: provenance is not the same question as decoding hazard.",
      "route": "/the-loop/trust-tiers/media",
      "source": "/the-loop/trust-tiers/media.md",
      "kind": "guide"
    },
    {
      "title": "Media — Threat Analysis",
      "description": "Multimodal prompt injection literature, steganography, adversarial perturbations, and the decoding hazard taxonomy.",
      "route": "/the-loop/trust-tiers/media/research",
      "source": "/the-loop/trust-tiers/media/research.md",
      "kind": "guide"
    },
    {
      "title": "Persistence",
      "description": "Memory poisoning and RAG injection: the attacks that come back later.",
      "route": "/the-loop/trust-tiers/persistence",
      "source": "/the-loop/trust-tiers/persistence.md",
      "kind": "guide"
    },
    {
      "title": "Persistence — Threat Analysis",
      "description": "Memory poisoning attack taxonomy, RAG poisoning research, and the formal threat model for persistent agent state.",
      "route": "/the-loop/trust-tiers/persistence/research",
      "source": "/the-loop/trust-tiers/persistence/research.md",
      "kind": "guide"
    },
    {
      "title": "Turn Runner",
      "description": "The TurnRunner entry point: eager config validation, the TurnContext, callback boundaries, and the two event buses around one turn.",
      "route": "/the-loop/turn-runner",
      "source": "/the-loop/turn-runner.md",
      "kind": "guide"
    },
    {
      "title": "Gates and non-goals",
      "description": "ctx.waitFor and TurnGate from the runner's side, and what run() explicitly does not do.",
      "route": "/the-loop/turn-runner/gates-and-non-goals",
      "source": "/the-loop/turn-runner/gates-and-non-goals.md",
      "kind": "guide"
    },
    {
      "title": "Inside one turn",
      "description": "The pipeline diagram, the four invariants, and the two event buses around one turn.",
      "route": "/the-loop/turn-runner/inside-one-turn",
      "source": "/the-loop/turn-runner/inside-one-turn.md",
      "kind": "guide"
    },
    {
      "title": "What ADK is, and what it isn't",
      "description": "The library's ethos — what ADK owns, what it deliberately doesn't, and the design choices that follow from that line.",
      "route": "/what-adk-is",
      "source": "/what-adk-is.md",
      "kind": "guide"
    }
  ]
}
