/**
 * The frozen tool kernel — public surface.
 *
 * One import site for everything a built-in tool (or a host wiring tools in)
 * needs: the declarative {@link ToolSpec} authoring shape and its
 * {@link defineTool} adapter, the result/content/context vocabulary, the coarse
 * {@link Fs}/{@link Shell} backends, the {@link OutputBudget} windowing with its
 * {@link clamp} applier, the {@link ToolRegistry} and its collections, and the
 * {@link makeContext} test helper.
 *
 * The outward contracts — the runtime's `ToolCall`/`ToolOutcome`/`ToolBox` and
 * the gateway's `ToolDescriptor`/`JsonSchema` — are deliberately *not*
 * re-exported here; consumers import those straight from "../../runtime/contract"
 * and "../../llmgateway/contract" so there is a single source of truth.
 */
export { defineTool, READ_STATE_HANDLE_KEY } from "./spec";
export type { ToolSpec, ToolResult, ToolContentBlock, TextContentBlock, JsonContentBlock, ToolContext, DefinedTool, ReadStateHandle, ReadStateRecord, } from "./spec";
export type { Fs, FsEntryInfo, DirChild, RemoveOptions, Shell, ShellLaunchOptions, ShellExecOptions, ShellExecResult, ShellHandle, } from "./backends";
export { clamp } from "./output";
export type { OutputBudget, ClipEnd } from "./output";
export { ToolRegistry, UnknownToolError } from "./registry";
export type { ContextFactory as RegistryContextFactory } from "./registry";
export { makeContext } from "./context";
export type { ContextOverrides, ContextFactory } from "./context";
