import { AStepper, IHasCycles, TStepperSteps } from '../lib/astepper.js'; import { TFeatureStep, TWorld, IStepperCycles, TStepperStep, TFeatures, TStepInput } from '../lib/defs.js'; import { TStepArgs } from '../schema/protocol.js'; type TActivitiesFixedSteps = { activity: TStepperStep; waypointWithProof: TStepperStep; waypointLabel: TStepperStep; ensure: TStepperStep; showWaypoints: TStepperStep; }; type TActivitiesStepperSteps = TStepperSteps & TActivitiesFixedSteps; /** * Stepper that dynamically builds virtual steps from `waypoint` statements. * implements this logic: P ∨ (¬P ∧ [A]P) */ export declare class ActivitiesStepper extends AStepper implements IHasCycles { description: string; private runner; private backgroundOutcomePatterns; private featureOutcomePatterns; private outcomeToFeaturePath; private featureSteps; private currentFeaturePath; private lastFeaturePath; private lastResolutionPath; private ensuredInstances; private ensureAttempts; private registeredOutcomeMetadata; private backgroundSteps; private inActivityBlock; cycles: IStepperCycles; cyclesWhen: { startExecution: number; startFeature: number; }; /** * Called during resolution phase to clear feature-scoped steps. * This prevents activity patterns from leaking between features during resolution. */ startFeatureResolution(path: string): void; clearAllBackgroundSteps(): void; readonly baseSteps: { readonly activity: { readonly gwta: "Activity: {activity}"; readonly action: () => import("../schema/protocol.js").TOKActionResult; readonly resolveFeatureLine: (line: string, path: string, _stepper: AStepper, _backgrounds: TFeatures, allLines?: string[], lineIndex?: number, actualSourcePath?: string) => boolean; }; readonly waypointWithProof: { readonly gwta: "waypoint {outcome} with {proof:statement}"; readonly precludes: ["ActivitiesStepper.waypointLabel"]; readonly action: ({ proof }: { proof: TFeatureStep[]; }, featureStep: TFeatureStep) => Promise; }; readonly waypointLabel: { readonly gwta: "waypoint {outcome}"; readonly action: () => Promise; }; readonly ensure: { readonly description: "Ensure a waypoint condition by always running the proof. If proof passes, waypoint is already satisfied. If proof fails, run the full activity, then try the proof again"; readonly gwta: "ensure {outcome:statement}"; readonly unique: true; readonly action: ({ outcome }: { outcome: TFeatureStep[]; }, featureStep: TFeatureStep) => Promise; }; readonly showWaypoints: { readonly exact: "show waypoints"; readonly action: (_args: TStepArgs, featureStep: TFeatureStep) => Promise; }; }; readonly typedSteps: { readonly activity: { readonly gwta: "Activity: {activity}"; readonly action: () => import("../schema/protocol.js").TOKActionResult; readonly resolveFeatureLine: (line: string, path: string, _stepper: AStepper, _backgrounds: TFeatures, allLines?: string[], lineIndex?: number, actualSourcePath?: string) => boolean; }; readonly waypointWithProof: { readonly gwta: "waypoint {outcome} with {proof:statement}"; readonly precludes: ["ActivitiesStepper.waypointLabel"]; readonly action: ({ proof }: { proof: TFeatureStep[]; }, featureStep: TFeatureStep) => Promise; }; readonly waypointLabel: { readonly gwta: "waypoint {outcome}"; readonly action: () => Promise; }; readonly ensure: { readonly description: "Ensure a waypoint condition by always running the proof. If proof passes, waypoint is already satisfied. If proof fails, run the full activity, then try the proof again"; readonly gwta: "ensure {outcome:statement}"; readonly unique: true; readonly action: ({ outcome }: { outcome: TFeatureStep[]; }, featureStep: TFeatureStep) => Promise; }; readonly showWaypoints: { readonly exact: "show waypoints"; readonly action: (_args: TStepArgs, featureStep: TFeatureStep) => Promise; }; }; steps: TActivitiesStepperSteps; setWorld(world: TWorld, steppers: AStepper[]): Promise; private emitEnsureEnd; registerOutcome(outcome: string, proofStatements: string[], proofPath: string, isBackground?: boolean, activityBlockSteps?: (string | TStepInput)[], lineNumber?: number, actualSourcePath?: string): void; sendGraphLinkMessages(): void; private resolveWaypointCommon; } export default ActivitiesStepper; //# sourceMappingURL=activities-stepper.d.ts.map