import { consultationDomainDefinition, consultationDomainIds, type ConsultationDomain, type ConsultationTheme, } from "./consultation-domain-registry.ts"; export { consultationDomainIds as consultationThemeValues }; export type { ConsultationTheme }; export type ConsultationWorkflowRoute = ConsultationDomain | "rectification" | "prashna"; type WorkflowProjection = { question: string; themes: readonly ConsultationDomain[]; strictWorkflowRoute: ConsultationWorkflowRoute; requiredLayers: readonly string[]; claimBoundary: string; }; export function projectConsultationWorkflowRequest(question: string, theme: ConsultationTheme) { const requirement = consultationDomainDefinition(theme); const prefix = theme === "timing" ? "应期与阶段问题:" : ""; return { question: `${prefix}${question}`, themes: requirement.workflowThemes, strictWorkflowRoute: requirement.strictWorkflowRoute, requiredLayers: requirement.requiredLayers, claimBoundary: requirement.claimBoundary, } satisfies WorkflowProjection; }