/**
 * Smithy — the agent-builder meta-tool.
 *
 * Smithy is a leaf product surface: a tool whose job is to help a user design and
 * generate new agents that run on the runtime. This is the package's single
 * import site, re-exporting the layers built so far:
 *
 *   - `config`  — the {@link FlagReader} state machine that reads Smithy's CLI
 *                 into a {@link SmithyConfig}.
 *   - `persona` — the {@link AgentBlueprint} shape and validation, the starter
 *                 {@link PROFILES} table, and the {@link defineAgent} generator
 *                 (plus its {@link toAgentConfig} runtime bridge) that turn a
 *                 partial spec into a validated, runnable agent description.
 *   - `knowledge` — the externalised guide pack: a `manifest.json` plus markdown
 *                 guides, loaded into a {@link KnowledgePack} by
 *                 {@link loadKnowledge} for Smithy to consult while authoring.
 *   - `runtime` — the stateful session bookkeeping, currently the
 *                 {@link ToolLedger} that accounts for tool executions during a
 *                 build.
 *   - `ui`      — the render seam: the {@link TranscriptModel} visitor that
 *                 sanitizes and projects a build transcript, and the minimal text
 *                 {@link ForgeView} the builder loop talks to.
 *   - `forge`   — the {@link Forge} build session that wires all of the above
 *                 into an interactive (or config-driven) agent-builder and
 *                 instantiates the finished blueprint into a runnable agent.
 *
 * The interactive view layer is kept behind {@link ForgeView}, a minimal text
 * seam free of any terminal toolkit.
 */
export * from "./config";
export * from "./persona";
export * from "./knowledge";
export * from "./runtime";
export * from "./ui";
export { Forge, createForge } from "./forge";
export type { ForgeOptions, InterviewKey, InterviewAnswers, } from "./forge";
