/** * The built-in workflows crew serves, DERIVED from the engine (X-MIG M11, DES-W7-M11 on wicked-core#649). * * Every built-in workflow is a wicked-core built-in preset now (feature, bug, migration, mcp-server, chat, * onboarding, capture-learnings, steering-author, domain-extraction, qe-author-tests, demo, the * interactive-* documents). Crew used to keep hand-written mirrors of their defs and drift guards against * core's `workflows/*.json`. Those mirrors are gone. The catalog crew serves is read from the engine once at * boot instead: the built-in presets (`listPresets`, `created_by: "builtin"`) laid over the phase catalog * (`catalog`). One source, so nothing can drift. * * The derived def is for READING — the work-mode selector, the deliver text, the delivery candidacy, * the acceptance fold. A launch never runs it: a launch naming a preset is resolved and composed by the * engine. So this applies only the step fields a reader looks at, as the engine's compose sets them: a * step's own value where it states one, else its catalog entry's. */ import type { CatalogEntry, Preset, PresetStep } from 'wicked-crew-api-types'; import type { PhaseDef, WorkflowDef } from './types.js'; /** One preset step laid over its catalog entry; `null` when the entry is unknown to this engine. */ export declare function phaseOfStep(step: PresetStep, entry: CatalogEntry | undefined, previous: string | null): PhaseDef | null; /** * (DES-CHAT-FIRST-001 C2) The preset's operator-facing descriptor — `title`, `summary`, `use_when` — as * the served def carries it. Only a workflow an operator picks gets one: a SYSTEM workflow (chat, * onboarding, the interactive seams, …) has its own entry points and is offered nowhere, so its def * carries none (the same `isSystemWorkflow` rule as `is_system` and studio's `/` menu). Each field is * copied only when the engine sent a usable value, so an older engine's preset (no fields) serves the * def by id alone. Display data: crew never sends it to the engine ({@link engineDefOf}). */ export declare function descriptorOf(preset: Pick): Pick; /** A def as the ENGINE may receive it: the served def without its display-only keys (C2, finding 29). */ export declare function engineDefOf(def: WorkflowDef): WorkflowDef; /** A preset's def as crew serves it, or `null` when a step names an entry this engine lacks. */ export declare function presetDef(preset: Pick & Partial>, entries: readonly CatalogEntry[]): WorkflowDef | null; /** The built-in presets' defs, in name order; a preset that does not compose here is left out (logged). */ export declare function builtinDefs(presets: readonly Preset[], entries: readonly CatalogEntry[], warn: (m: string) => void): WorkflowDef[]; //# sourceMappingURL=builtin-catalog.d.ts.map