Member Junction
    Preparing search index...
    RSUObserverEvent:
        | {
            AffectedTables: string[];
            Descriptions: string[];
            ItemCount: number;
            Kind: "run.start";
            StepTotal: number;
        }
        | {
            Kind: "step.start";
            Name: string;
            StepIndex?: number;
            StepTotal?: number;
        }
        | {
            DurationMs: number;
            Kind: "step.end";
            Message: string;
            Name: string;
            Status: RSUPipelineStep["Status"];
            StepIndex?: number;
            StepTotal?: number;
        }
        | {
            ErrorMessage?: string;
            ErrorStep?: string;
            FailureCount: number;
            Kind: "run.end";
            Success: boolean;
            SuccessCount: number;
            TotalCount: number;
        }

    A lifecycle notification from the RSU pipeline, delivered to an out-of-band RSUPipelineObserver.

    Why an observer instead of emitting progress directly: an RSU run's steps (CodeGen, compile, restart) take minutes, and until now the only live signal was GetStatus() polling — a caller had no durable record of what a run did, and a restart mid-run left nothing to read. The durable artifact stream that solves that lives in @memberjunction/integration-progress-artifacts, which is a LAYER ABOVE this package. So SchemaEngine publishes plain lifecycle events and lets the server wire them to the emitter, keeping the dependency direction intact.

    Type Declaration

    • {
          AffectedTables: string[];
          Descriptions: string[];
          ItemCount: number;
          Kind: "run.start";
          StepTotal: number;
      }
      • AffectedTables: string[]

        Union of every input's AffectedTables, de-duplicated.

      • Descriptions: string[]

        One description per input, in input order.

      • ItemCount: number

        Number of migrations in this batch.

      • Kind: "run.start"
      • StepTotal: number

        Expected total steps for the run — the denominator of a determinate progress bar.

    • { Kind: "step.start"; Name: string; StepIndex?: number; StepTotal?: number }
    • {
          DurationMs: number;
          Kind: "step.end";
          Message: string;
          Name: string;
          Status: RSUPipelineStep["Status"];
          StepIndex?: number;
          StepTotal?: number;
      }
    • {
          ErrorMessage?: string;
          ErrorStep?: string;
          FailureCount: number;
          Kind: "run.end";
          Success: boolean;
          SuccessCount: number;
          TotalCount: number;
      }
      • OptionalErrorMessage?: string

        Present when the run failed — the first failing step's message.

      • OptionalErrorStep?: string

        Present when the run failed — the name of the step that failed.

      • FailureCount: number
      • Kind: "run.end"
      • Success: boolean
      • SuccessCount: number
      • TotalCount: number