/** * Brainstorm Module — Public API (Phases 2-8) * * Composition root for the /senai-brainstorm command. Re-exports the four * brainstorm layers so callers (tests, doctor, future commands) can * import everything from one place. * * Layered architecture: * Layer 1: registry — agent eligibility filter + topic → specialist match * Layer 2: dispatcher — read-only tool enforcement + dispatch caps + timeouts * Layer 3: guard — input + output guards (seed, brief content, paths, count) * Layer 4: audit — dispatch log written to brainstorm-dispatch.md * * Wiring into commands/brainstorm.ts is direct (the command imports the * helpers it needs from each layer). This file is the convenience surface * for tests + future commands. */ export { BRAINSTORM_DISPATCH_CAP, type GuardResult, guardApproveReadiness, guardArtifactPath, guardBriefContent, guardDispatchCount, guardSeedInput, } from "./guard.js"; export { type BrainstormEligibleAgent, buildRegistryBlock, loadBrainstormRegistry, matchSpecialist, rankSpecialists, SCAN_TYPE_ROLES, } from "./registry.js"; export { BRAINSTORM_COMMUNITY_DISPATCH_TIMEOUT_MS, BRAINSTORM_DISPATCH_TIMEOUT_MS, DEFAULT_DISPATCH_TOOLS, type DispatchPrepResult, type DispatchRequest, type PreparedDispatch, formatPreparedDispatch, prepareDispatch, resolveRoleForAgent, SCAN_TYPE_DISPATCH_CAP, } from "./dispatcher.js"; export { registerBrainstormSessionTool } from "./state-tool.js"; export { AUDIT_LOG_MARKER, type AuditSession, type AuditSummary, type DecisionKind, appendDecision, buildSummary, countBriefSections, createAuditSession, readAuditLog, renderAuditLog, renderDecision, summarizeDecisions, writeAuditLog, } from "./audit.js"; export { validateBriefContent } from "../core/mission-brief.js";