/** * The observation names each workflow can report. * * These are the stream sections plus the page-global observations that are never * paged (they are single scalars, not lists). Host adapters close over this list * in conformance tests, so adding an observation must either surface it or * document an exclusion. */ export declare const SPEC_WORKFLOW_SECTIONS: { readonly generation: readonly ["domainEvidence", "signatures", "schemas", "routes", "uiComponents", "middleware", "envVars", "candidateDecisions", "overlap", "relationships", "domainBehavior", "specValidation"]; readonly repair: readonly ["existingSpec", "coveredFunction", "uncoveredFunction", "staleMapping", "orphanRequirement", "structuralScope", "structuralChange", "drift", "domainEvidence", "candidateDecisions", "mappingCoverage", "specValidation", "domainBehavior"]; }; export type SpecWorkflow = keyof typeof SPEC_WORKFLOW_SECTIONS; export type SpecWorkflowReceiptState = 'complete' | 'partial' | 'unavailable'; export type SpecWorkflowErrorCode = 'analysis-unavailable' | 'analysis-changed' | 'unknown-domain' | 'spec-not-found' | 'response-too-large'; export interface SpecWorkflowFollowUp { tool: string; arguments: Record; reason: string; } export interface SpecWorkflowReceipt { state: SpecWorkflowReceiptState; included: string[]; omitted: Array<{ section: string; reason: string; omittedCount?: number; }>; continuationCursor?: string; followUps: SpecWorkflowFollowUp[]; } export interface SpecWorkflowEnvelope { workflow: SpecWorkflow; domain: { requested: string; resolved?: string; }; provenance?: { analysisFingerprint: string; artifactTimestamps: Record; /** Evidence-stream protocol version this page was built under. */ protocol?: number; /** Effective serialized byte budget the page was packed against. */ responseBytes?: number; /** Committed analysis generation every artifact on this page was read from. */ analysisGeneration?: string; /** `legacy` when the analysis predates generation manifests. */ generationCompatibility?: 'manifest' | 'legacy'; /** `incremental` means watcher-patched evidence over the last full survey. */ generationCoherence?: 'full' | 'incremental'; }; receipt: SpecWorkflowReceipt; evidence?: Record; error?: { code: SpecWorkflowErrorCode; message: string; availableDomains?: string[]; }; redactions?: { count: number; kinds: string[]; }; } export interface PrepareSpecInput { directory: string; domain: string; cursor?: string; maxItems?: number; /** * Requested serialized response budget in bytes. Clamped into the server range; * a caller may request less than the default, never more than the maximum. */ maxResponseBytes?: number; baseRef?: string; signal?: AbortSignal; } export declare function prepareSpecGeneration(input: PrepareSpecInput): Promise; export declare function historicalSpecPaths(content: string): string[]; export declare function prepareSpecRepair(input: PrepareSpecInput): Promise; //# sourceMappingURL=spec-workflow.d.ts.map