/**
 * Public API for 1인 기업 모드.
 *
 * Consumers (sidebarProvider, chatHandlers, command handlers) import from
 * this barrel so internal layout can move around without touching every
 * call site.
 */
export {
    COMPANY_AGENTS,
    COMPANY_AGENT_ORDER,
    COMPANY_SPECIALIST_IDS,
    DEFAULT_ACTIVE_AGENTS,
    getCompanyAgent,
} from './agents';

export {
    readCompanyState,
    writeCompanyState,
    setCompanyEnabled,
    setCompanyName,
    setActiveAgents,
    setAgentModelOverride,
    setAgentPromptOverride,
    setAgentKnowledgeMix,
    addCustomAgent,
    removeCustomAgent,
    removeCompanyAgent,
    restoreHiddenAgent,
    validateCustomAgentId,
    setAgentRoleCategory,
    setAgentDisplayOverride,
    upsertPipeline,
    deletePipeline,
    setActivePipeline,
    resolveActivePipeline,
    resolveAgent,
    resolveAgentRoleCategory,
    listAllAgents,
    listActiveAgentsByCategory,
    resolveAgentPrompt,
    resolveCompanyKnowledgeMix,
    activeAgentIds,
    isAgentActive,
    modelForAgent,
    summarizeForChip,
} from './companyConfig';

export type {
    AgentDisplayOverride,
    AgentRoleCategory,
    PipelineDef,
    PipelineStage,
} from './types';

export { ROLE_CATEGORY_LABELS, ROLE_CATEGORY_ORDER } from './types';

export { PIPELINE_TEMPLATES, getPipelineTemplate } from './pipelineTemplates';
export type { PipelineTemplate } from './pipelineTemplates';

export type {
    CompanyAgentDef,
    CompanyState,
    CompanyTaskPlan,
    AgentTurnOutput,
    AgentPromptOverride,
    SessionResult,
    CompanyResumeState,
} from './types';

export {
    runCompanyTurn,
    resumeCompanyTurn,
} from './dispatcher';

export {
    listResumableSessions,
    readResumeState,
    resolveSessionDir,
} from './resumeStore';

export type {
    ApprovalDecision,
    CompanyTurnEvent,
    CompanyTurnEmitter,
    DispatcherDeps,
} from './dispatcher';

export {
    listSessions,
    resolveCompanyBase,
} from './sessionStore';

export { classifyChatIntent } from './intentClassifier';
export type { ChatIntent, IntentContext, IntentResult, PipelineHint } from './intentClassifier';

export { analyzeIntent, formatContractForPrompt } from './intentAlignment';
export type { IntentAnalysisInput, IntentAnalysisResult } from './intentAlignment';
export {
    gatherEvidenceForQuestions,
    selfAnswerQuestions,
    saveAlignmentKnowledge,
    SELF_RESEARCH_PREFIX,
} from './alignmentResearch';
export type { QuestionEvidence, SelfAnswer } from './alignmentResearch';
export type { RequirementContract } from './types';

export {
    getStatusBubbleText, getEventBubbleText, eventBubbleType, makeBubble,
} from './pixelOfficeState';
export type {
    AgentStatus, AgentEvent, AgentBubble, AgentWorkState,
    PixelOfficeConfig, BubbleType,
} from './pixelOfficeState';
