Files
stack/packages/forge/src/index.ts
T
2026-08-18 05:52:45 +00:00

112 lines
2.1 KiB
TypeScript

// Types
export type {
StageDispatch,
StageType,
StageSpec,
BriefClass,
ClassSource,
ForgeOutcome,
AuthorityGate,
ProviderGate,
ForgeGate,
ForgeGateResult,
ForgeTaskResult,
RunMode,
StageStatus,
RunManifest,
ForgeTaskStatus,
ForgeTask,
TaskExecutor,
BoardPersona,
PersonaReview,
BoardSynthesis,
ForgeConfig,
PipelineOptions,
PipelineResult,
} from './types.js';
// Constants
export {
PACKAGE_ROOT,
PIPELINE_DIR,
STAGE_SPECS,
STAGE_SEQUENCE,
STAGE_TIMEOUTS,
STAGE_LABELS,
STRATEGIC_KEYWORDS,
TECHNICAL_KEYWORDS,
} from './constants.js';
// Brief classifier
export {
classifyBrief,
parseBriefFrontmatter,
determineBriefClass,
stagesForClass,
} from './brief-classifier.js';
// Persona loader
export {
slugify,
personaNameFromMarkdown,
loadBoardPersonas,
loadPersonaOverrides,
loadForgeConfig,
getEffectivePersonas,
} from './persona-loader.js';
// Stage adapter
export {
stageTaskId,
stageDir,
stageBriefPath,
stageResultPath,
loadStagePrompt,
buildStageBrief,
writeStageBrief,
mapStageToTask,
} from './stage-adapter.js';
// Board tasks
export {
buildPersonaBrief,
writePersonaBrief,
personaResultPath,
synthesisResultPath,
generateBoardTasks,
synthesizeReviews,
} from './board-tasks.js';
// Pipeline runner
export {
generateRunId,
saveManifest,
loadManifest,
selectStages,
runPipeline,
resumePipeline,
getPipelineStatus,
} from './pipeline-runner.js';
// Fail-closed errors and typed outcome model (SDLC-D-035)
export { FORGE_ERROR_CODES, ForgeCapabilityError, providerErrorCode } from './errors.js';
export type { ForgeErrorCode } from './errors.js';
export {
isSatisfyingOutcome,
isCapabilityGate,
isCommandGate,
gateLabel,
uniformGateResults,
simulatedGateResults,
waitingGateResults,
blockedGateResults,
evaluateStageGates,
} from './outcomes.js';
export type { StageEvaluation } from './outcomes.js';
// Simulated executor (explicit --simulate only)
export { createSimulatedExecutor } from './simulated-executor.js';
// CLI
export { registerForgeCommand } from './cli.js';