@wpkernel/pipeline 0.12.2-beta.0 → 0.12.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/async-utils.d.ts +14 -0
  2. package/dist/async-utils.d.ts.map +1 -1
  3. package/dist/async-utils.js +18 -17
  4. package/dist/createExtension.d.ts +7 -1
  5. package/dist/createExtension.d.ts.map +1 -1
  6. package/dist/createExtension.js +0 -4
  7. package/dist/createPipeline.js +0 -4
  8. package/dist/dependency-graph.d.ts +6 -0
  9. package/dist/dependency-graph.d.ts.map +1 -1
  10. package/dist/dependency-graph.js +73 -69
  11. package/dist/error-factory.d.ts +1 -1
  12. package/dist/error-factory.js +0 -4
  13. package/dist/executor.js +0 -4
  14. package/dist/extensions/index.js +0 -4
  15. package/dist/extensions/official.js +0 -4
  16. package/dist/extensions.d.ts.map +1 -1
  17. package/dist/extensions.js +61 -66
  18. package/dist/helper.d.ts +27 -16
  19. package/dist/helper.d.ts.map +1 -1
  20. package/dist/helper.js +0 -4
  21. package/dist/index.d.ts +3 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +22 -25
  24. package/dist/internal/diagnostic-manager.js +0 -4
  25. package/dist/internal/extension-coordinator.js +0 -4
  26. package/dist/internal/helper-execution.js +0 -4
  27. package/dist/internal/pipeline-program-utils.d.ts +127 -0
  28. package/dist/internal/pipeline-program-utils.d.ts.map +1 -0
  29. package/dist/internal/pipeline-program-utils.js +161 -0
  30. package/dist/internal/pipeline-runner.d.ts +1 -1
  31. package/dist/internal/pipeline-runner.d.ts.map +1 -1
  32. package/dist/internal/pipeline-runner.js +329 -247
  33. package/dist/internal/pipeline-runner.types.d.ts +89 -1
  34. package/dist/internal/pipeline-runner.types.d.ts.map +1 -1
  35. package/dist/registration.js +0 -4
  36. package/dist/rollback.d.ts +94 -0
  37. package/dist/rollback.d.ts.map +1 -0
  38. package/dist/rollback.js +46 -0
  39. package/dist/types.d.ts +36 -2
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +1 -1
package/dist/helper.js CHANGED
@@ -1,7 +1,3 @@
1
- /**
2
- * @wpkernel/pipeline
3
- * @license EUPL-1.2
4
- */
5
1
  function a(e) {
6
2
  const {
7
3
  key: r,
package/dist/index.d.ts CHANGED
@@ -6,12 +6,13 @@ export { executeHelpers } from './executor';
6
6
  export type { ErrorFactory } from './error-factory';
7
7
  export { createDefaultError, createErrorFactory } from './error-factory';
8
8
  export { registerHelper, registerExtensionHook, handleExtensionRegisterResult, } from './registration';
9
- export type { Pipeline, CreatePipelineOptions, PipelineReporter, PipelineExtension, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult, PipelineExtensionLifecycle, PipelineExtensionHookRegistration, PipelineExtensionRegisterOutput, PipelineDiagnostic, ConflictDiagnostic, MissingDependencyDiagnostic, UnusedHelperDiagnostic, Helper, HelperApplyFn, HelperDescriptor, HelperKind, HelperMode, CreateHelperOptions, HelperApplyOptions, MaybePromise, PipelineStep, PipelineRunState, HelperExecutionSnapshot, PipelineExecutionMetadata, FragmentFinalizationMetadata, PipelineExtensionRollbackErrorMetadata, } from './types';
9
+ export { createPipelineRollback, runRollbackStack } from './rollback';
10
+ export type { PipelineRollback, PipelineRollbackErrorMetadata, RunRollbackStackOptions, } from './rollback';
11
+ export type { Pipeline, CreatePipelineOptions, PipelineReporter, PipelineExtension, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult, PipelineExtensionLifecycle, PipelineExtensionHookRegistration, PipelineExtensionRegisterOutput, PipelineDiagnostic, ConflictDiagnostic, MissingDependencyDiagnostic, UnusedHelperDiagnostic, Helper, HelperApplyFn, HelperApplyResult, HelperDescriptor, HelperKind, HelperMode, CreateHelperOptions, HelperApplyOptions, MaybePromise, PipelineStep, PipelineRunState, HelperExecutionSnapshot, PipelineExecutionMetadata, FragmentFinalizationMetadata, PipelineExtensionRollbackErrorMetadata, } from './types';
10
12
  export type { RegisteredHelper, MissingDependencyIssue, } from './dependency-graph';
11
13
  export { createHelperId, compareHelpers } from './dependency-graph';
12
14
  export { isPromiseLike, maybeThen, maybeTry, processSequentially, } from './async-utils';
13
15
  export type { ExtensionHookEntry, ExtensionHookExecution, RollbackErrorArgs, } from './extensions';
14
- export { createRollbackErrorMetadata } from './extensions';
15
16
  export { OFFICIAL_EXTENSION_BLUEPRINTS } from './extensions/official';
16
17
  export type { OfficialExtensionBlueprint } from './extensions/official';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAEX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EAGtB,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAGlB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACtC,MAAM,SAAS,CAAC;AAGjB,YAAY,EACX,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,SAAS,EACT,QAAQ,EACR,mBAAmB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACX,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,GACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAEX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EAGtB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAElB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,sCAAsC,GACtC,MAAM,SAAS,CAAC;AAGjB,YAAY,EACX,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE,OAAO,EACN,aAAa,EACb,SAAS,EACT,QAAQ,EACR,mBAAmB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,33 +1,30 @@
1
1
  import { createHelper as o } from "./helper.js";
2
2
  import { createPipeline as p } from "./createPipeline.js";
3
- import { createPipelineExtension as i } from "./createExtension.js";
4
- import { executeHelpers as m } from "./executor.js";
5
- import { createDefaultError as s, createErrorFactory as c } from "./error-factory.js";
6
- import { handleExtensionRegisterResult as n, registerExtensionHook as E, registerHelper as H } from "./registration.js";
7
- import { compareHelpers as I, createHelperId as u } from "./dependency-graph.js";
8
- import { isPromiseLike as R, maybeThen as T, maybeTry as b, processSequentially as d } from "./async-utils.js";
9
- import { createRollbackErrorMetadata as k } from "./extensions.js";
10
- import { OFFICIAL_EXTENSION_BLUEPRINTS as L } from "./extensions/official.js";
11
- /**
12
- * @wpkernel/pipeline
13
- * @license EUPL-1.2
14
- */
3
+ import { createPipelineExtension as l } from "./createExtension.js";
4
+ import { executeHelpers as c } from "./executor.js";
5
+ import { createDefaultError as x, createErrorFactory as n } from "./error-factory.js";
6
+ import { handleExtensionRegisterResult as f, registerExtensionHook as E, registerHelper as H } from "./registration.js";
7
+ import { createPipelineRollback as u, runRollbackStack as y } from "./rollback.js";
8
+ import { compareHelpers as P, createHelperId as R } from "./dependency-graph.js";
9
+ import { isPromiseLike as S, maybeThen as T, maybeTry as g, processSequentially as F } from "./async-utils.js";
10
+ import { OFFICIAL_EXTENSION_BLUEPRINTS as N } from "./extensions/official.js";
15
11
  export {
16
- L as OFFICIAL_EXTENSION_BLUEPRINTS,
17
- I as compareHelpers,
18
- s as createDefaultError,
19
- c as createErrorFactory,
12
+ N as OFFICIAL_EXTENSION_BLUEPRINTS,
13
+ P as compareHelpers,
14
+ x as createDefaultError,
15
+ n as createErrorFactory,
20
16
  o as createHelper,
21
- u as createHelperId,
17
+ R as createHelperId,
22
18
  p as createPipeline,
23
- i as createPipelineExtension,
24
- k as createRollbackErrorMetadata,
25
- m as executeHelpers,
26
- n as handleExtensionRegisterResult,
27
- R as isPromiseLike,
19
+ l as createPipelineExtension,
20
+ u as createPipelineRollback,
21
+ c as executeHelpers,
22
+ f as handleExtensionRegisterResult,
23
+ S as isPromiseLike,
28
24
  T as maybeThen,
29
- b as maybeTry,
30
- d as processSequentially,
25
+ g as maybeTry,
26
+ F as processSequentially,
31
27
  E as registerExtensionHook,
32
- H as registerHelper
28
+ H as registerHelper,
29
+ y as runRollbackStack
33
30
  };
@@ -1,7 +1,3 @@
1
- /**
2
- * @wpkernel/pipeline
3
- * @license EUPL-1.2
4
- */
5
1
  function w(i) {
6
2
  const g = [], a = /* @__PURE__ */ new WeakMap();
7
3
  let s;
@@ -1,9 +1,5 @@
1
1
  import { commitExtensionResults as m, rollbackExtensionResults as d, runExtensionHooks as f, createRollbackErrorMetadata as s } from "../extensions.js";
2
2
  import { maybeThen as i } from "../async-utils.js";
3
- /**
4
- * @wpkernel/pipeline
5
- * @license EUPL-1.2
6
- */
7
3
  function R(n) {
8
4
  return {
9
5
  runLifecycle: (t, { hooks: o, hookOptions: r }) => {
@@ -1,7 +1,3 @@
1
- /**
2
- * @wpkernel/pipeline
3
- * @license EUPL-1.2
4
- */
5
1
  function c(o, n, l) {
6
2
  const s = [], t = [], i = [];
7
3
  for (const r of o) {
@@ -0,0 +1,127 @@
1
+ import { Helper, HelperApplyOptions, HelperKind, MaybePromise, PipelineExtensionRollbackErrorMetadata, PipelineReporter } from '../types';
2
+ import { RegisteredHelper } from '../dependency-graph';
3
+ import { Program } from '../async-utils.js';
4
+ import { HelperInvokeOptions, RollbackContext, Halt, RollbackEntry, HelperRollbackPlan, StageEnv } from './pipeline-runner.types.js';
5
+ export declare function isHalt<TRunResult>(value: unknown): value is Halt<TRunResult>;
6
+ /**
7
+ * Builds a rollback handler that first drains helper rollbacks (when present) and then defers to
8
+ * extension rollback handling.
9
+ *
10
+ * @param state
11
+ * @param state.context
12
+ * @param state.extensionCoordinator
13
+ * @param state.extensionState
14
+ * @param helperRollbacks
15
+ * @param onHelperRollbackError
16
+ * @internal
17
+ */
18
+ export declare function makeRollbackHandler<TContext, TOptions, TArtifact, THelper extends {
19
+ key: string;
20
+ }>(state: RollbackContext<TContext, TOptions, TArtifact>, helperRollbacks: RollbackEntry<THelper>[], onHelperRollbackError?: (options: {
21
+ readonly error: unknown;
22
+ readonly helper: THelper;
23
+ readonly errorMetadata: PipelineExtensionRollbackErrorMetadata;
24
+ readonly context: TContext;
25
+ }) => void): (error: unknown) => MaybePromise<void>;
26
+ /**
27
+ * Generic stage constructor that executes an ordered helper list with middleware-style `next()`.
28
+ * Optional rollback capture keeps fragment/builder programs declarative by passing in only the
29
+ * stage-specific arg factories and completion logic.
30
+ *
31
+ * @param options
32
+ * @param options.getOrder
33
+ * @param options.makeArgs
34
+ * @param options.invoke
35
+ * @param options.recordStep
36
+ * @param options.onVisited
37
+ * @param options.registerRollback
38
+ * @internal
39
+ */
40
+ export declare function createHelpersProgram<TContext, TReporter extends PipelineReporter, TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TInput, TOutput, TState>(options: {
41
+ getOrder: (state: TState) => RegisteredHelper<THelper>[];
42
+ makeArgs: (state: TState) => (entry: RegisteredHelper<THelper>) => HelperApplyOptions<TContext, TInput, TOutput, TReporter>;
43
+ invoke: (invokeOptions: HelperInvokeOptions<THelper, TInput, TOutput, TContext, TReporter>) => MaybePromise<void>;
44
+ recordStep: (entry: RegisteredHelper<unknown>) => void;
45
+ onVisited: (state: TState, visited: Set<string>) => TState;
46
+ registerRollback?: (helper: THelper, result: unknown) => void;
47
+ }): (state: TState) => MaybePromise<TState>;
48
+ /**
49
+ * Pure finalizer for fragment state that can be composed into a pipeline without knowing the
50
+ * concrete runner shape. Callers supply how to detect halts, how to snapshot fragment execution,
51
+ * and how to apply the finalized artifact back onto state.
52
+ * @param options
53
+ * @param options.isHalt
54
+ * @param options.snapshotFragments
55
+ * @param options.applyArtifact
56
+ */
57
+ export declare function makeFinalizeFragmentsStage<TState, THalt extends Halt<unknown>, TFragments>(options: {
58
+ isHalt: (value: TState | THalt) => value is THalt;
59
+ snapshotFragments: (state: TState) => TFragments;
60
+ applyArtifact: (state: TState, fragments: TFragments) => TState;
61
+ }): Program<TState | THalt>;
62
+ /**
63
+ * Generic stage builder for "after fragments" style hooks. The runner provides the execution logic
64
+ * (e.g. extension coordinator runLifecycle) and a halt predicate; the program simply short-circuits
65
+ * on halts and applies the provided execution otherwise.
66
+ * @param options
67
+ * @param options.isHalt
68
+ * @param options.execute
69
+ */
70
+ export declare function makeAfterFragmentsStage<TState, THalt extends Halt<unknown>>(options: {
71
+ isHalt: (value: TState | THalt) => value is THalt;
72
+ execute: (state: TState) => MaybePromise<TState>;
73
+ }): Program<TState | THalt>;
74
+ /**
75
+ * Commit stage builder that keeps the runner point-free: supply how to commit extensions and how to
76
+ * roll back with a halt sentinel, and the program handles sync/async errors uniformly.
77
+ * @param options
78
+ * @param options.isHalt
79
+ * @param options.commit
80
+ * @param options.rollbackToHalt
81
+ */
82
+ export declare function makeCommitStage<TState, THalt extends Halt<unknown>>(options: {
83
+ isHalt: (value: TState | THalt) => value is THalt;
84
+ commit: (state: TState) => MaybePromise<void>;
85
+ rollbackToHalt: (state: TState, error: unknown) => MaybePromise<THalt>;
86
+ }): Program<TState | THalt>;
87
+ /**
88
+ * Simple finalizer that snapshots helpers/diagnostics into state unless a halt is present.
89
+ * @param options
90
+ * @param options.isHalt
91
+ * @param options.finalize
92
+ */
93
+ export declare function makeFinalizeResultStage<TState, THalt extends Halt<unknown>>(options: {
94
+ isHalt: (value: TState | THalt) => value is THalt;
95
+ finalize: (state: TState) => TState;
96
+ }): Program<TState | THalt>;
97
+ export type HelperStageSpec<TState, TContext, TReporter extends PipelineReporter, TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TInput, TOutput> = {
98
+ readonly getOrder: (state: TState) => RegisteredHelper<THelper>[];
99
+ readonly makeArgs: (state: TState) => (entry: RegisteredHelper<THelper>) => HelperApplyOptions<TContext, TInput, TOutput, TReporter>;
100
+ readonly onVisited: (state: TState, visited: Set<string>, rollbacks: RollbackEntry<THelper>[]) => TState;
101
+ readonly readRollbacks?: (state: TState) => RollbackEntry<THelper>[] | undefined;
102
+ };
103
+ export declare function runHelperRollbackPlan<TContext, TOptions, TArtifact, THelper extends {
104
+ key: string;
105
+ }>(plan: HelperRollbackPlan<TContext, TOptions, TArtifact, THelper>, error: unknown): MaybePromise<void>;
106
+ export type HelperStageRunPlan<TState, TRunResult, TContext, TOptions, TArtifact, THelper extends {
107
+ key: string;
108
+ }> = {
109
+ readonly state: TState;
110
+ readonly program: Program<TState>;
111
+ readonly rollbackPlan: HelperRollbackPlan<TContext, TOptions, TArtifact, THelper>;
112
+ readonly halt: (error?: unknown) => Halt<TRunResult>;
113
+ };
114
+ export declare function runHelperStageWithRollback<TState, TRunResult, TContext, TOptions, TArtifact, THelper extends {
115
+ key: string;
116
+ }>(plan: HelperStageRunPlan<TState, TRunResult, TContext, TOptions, TArtifact, THelper>): MaybePromise<TState | Halt<TRunResult>>;
117
+ export type RollbackToHaltPlan<TRunResult, TContext, TOptions, TArtifact, THelper extends {
118
+ key: string;
119
+ }> = {
120
+ readonly rollbackPlan: HelperRollbackPlan<TContext, TOptions, TArtifact, THelper>;
121
+ readonly halt: (error?: unknown) => Halt<TRunResult>;
122
+ };
123
+ export declare function runRollbackToHalt<TRunResult, TContext, TOptions, TArtifact, THelper extends {
124
+ key: string;
125
+ }>(plan: RollbackToHaltPlan<TRunResult, TContext, TOptions, TArtifact, THelper>, error: unknown): MaybePromise<Halt<TRunResult>>;
126
+ export declare function makeHelperStageFactory<TState, TRunResult, TContext, TOptions, TArtifact, TReporter extends PipelineReporter>(config: StageEnv<TState, TRunResult, TContext, TOptions, TArtifact, TReporter>): <TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TInput, TOutput>(spec: HelperStageSpec<TState, TContext, TReporter, TKind, THelper, TInput, TOutput>) => Program<TState | Halt<TRunResult>>;
127
+ //# sourceMappingURL=pipeline-program-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-program-utils.d.ts","sourceRoot":"","sources":["../../src/internal/pipeline-program-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ import { maybeTry as g, maybeThen as H, isPromiseLike as S } from "../async-utils.js";
2
+ import { executeHelpers as x } from "../executor.js";
3
+ import { runRollbackStack as y } from "../rollback.js";
4
+ function O(r) {
5
+ return !!(r && typeof r == "object" && "__halt" in r && r.__halt === !0);
6
+ }
7
+ function C(r) {
8
+ const {
9
+ getOrder: t,
10
+ makeArgs: n,
11
+ invoke: o,
12
+ recordStep: l,
13
+ onVisited: a,
14
+ registerRollback: k
15
+ } = r, b = (c, i, p) => {
16
+ const s = o({ helper: c, args: i, next: p });
17
+ return k ? S(s) ? s.then((e) => {
18
+ k(c, e);
19
+ }) : (k(c, s), s) : s;
20
+ };
21
+ return (c) => {
22
+ const i = t(c), p = x(i, n(c), b, l);
23
+ return H(
24
+ p,
25
+ (s) => a(c, s)
26
+ );
27
+ };
28
+ }
29
+ function T(r) {
30
+ const { isHalt: t, snapshotFragments: n, applyArtifact: o } = r;
31
+ return (l) => t(l) ? l : o(l, n(l));
32
+ }
33
+ function _(r) {
34
+ const { isHalt: t, execute: n } = r;
35
+ return (o) => t(o) ? o : n(o);
36
+ }
37
+ function z(r) {
38
+ const { isHalt: t, commit: n, rollbackToHalt: o } = r, l = (a) => {
39
+ const k = () => a;
40
+ return g(
41
+ () => H(n(a), k),
42
+ (c) => o(a, c)
43
+ );
44
+ };
45
+ return (a) => t(a) ? a : l(a);
46
+ }
47
+ function V(r) {
48
+ const { isHalt: t, finalize: n } = r;
49
+ return (o) => t(o) ? o : n(o);
50
+ }
51
+ function E(r, t) {
52
+ const { context: n, rollbackContext: o, helperRollbacks: l, onHelperRollbackError: a } = r, k = o.extensionCoordinator && o.extensionState ? o.extensionCoordinator.createRollbackHandler(
53
+ o.extensionState
54
+ ) : (i) => {
55
+ throw i;
56
+ };
57
+ return g(() => H(
58
+ y(
59
+ l.map((i) => ({
60
+ ...i.rollback,
61
+ key: i.helper.key
62
+ })),
63
+ {
64
+ source: "helper",
65
+ onError: ({
66
+ error: i,
67
+ metadata: p,
68
+ entry: s
69
+ }) => {
70
+ const e = l.find(
71
+ (u) => u.helper.key === (s.key ?? "")
72
+ );
73
+ e && a && a({
74
+ error: i,
75
+ helper: e.helper,
76
+ errorMetadata: p,
77
+ context: n
78
+ });
79
+ }
80
+ }
81
+ ),
82
+ () => k(t)
83
+ ), () => {
84
+ });
85
+ }
86
+ function P(r) {
87
+ const { state: t, program: n, rollbackPlan: o, halt: l } = r;
88
+ return g(() => n(t), (b) => F(
89
+ {
90
+ rollbackPlan: o,
91
+ halt: l
92
+ },
93
+ b
94
+ ));
95
+ }
96
+ function F(r, t) {
97
+ return H(
98
+ E(r.rollbackPlan, t),
99
+ () => r.halt(t)
100
+ );
101
+ }
102
+ function j(r) {
103
+ return function(n) {
104
+ const {
105
+ pushStep: o,
106
+ toRollbackContext: l,
107
+ halt: a,
108
+ isHalt: k,
109
+ onHelperRollbackError: b
110
+ } = r, c = ({
111
+ helper: e,
112
+ args: u,
113
+ next: m
114
+ }) => e.apply(u, m), i = (e) => o(e), p = (e) => (u, m) => {
115
+ if (!(!m || typeof m != "object") && "rollback" in m) {
116
+ const f = m.rollback;
117
+ f && e.push({ helper: u, rollback: f });
118
+ }
119
+ }, s = () => b ? (e) => b({
120
+ ...e,
121
+ helper: e.helper
122
+ }) : void 0;
123
+ return (e) => {
124
+ if (k(e))
125
+ return e;
126
+ const u = [
127
+ ...n.readRollbacks?.(e) ?? []
128
+ ], m = l(e), f = C({
129
+ getOrder: n.getOrder,
130
+ makeArgs: n.makeArgs,
131
+ invoke: c,
132
+ recordStep: i,
133
+ onVisited: (h, R) => n.onVisited(h, R, u),
134
+ registerRollback: p(u)
135
+ }), d = {
136
+ context: m.context,
137
+ rollbackContext: m,
138
+ helperRollbacks: u,
139
+ onHelperRollbackError: s()
140
+ };
141
+ return P({
142
+ state: e,
143
+ program: f,
144
+ rollbackPlan: d,
145
+ halt: a
146
+ });
147
+ };
148
+ };
149
+ }
150
+ export {
151
+ C as createHelpersProgram,
152
+ O as isHalt,
153
+ _ as makeAfterFragmentsStage,
154
+ z as makeCommitStage,
155
+ T as makeFinalizeFragmentsStage,
156
+ V as makeFinalizeResultStage,
157
+ j as makeHelperStageFactory,
158
+ E as runHelperRollbackPlan,
159
+ P as runHelperStageWithRollback,
160
+ F as runRollbackToHalt
161
+ };
@@ -8,7 +8,7 @@ import { PipelineRunner, PipelineRunnerDependencies } from './pipeline-runner.ty
8
8
  * public {@link createPipeline} entry point remains focused on registration while the runner keeps
9
9
  * lifecycle sequencing isolated and testable.
10
10
  *
11
- * @param dependencies
11
+ * @param dependencies - Bundled factory methods, diagnostics, and registered helpers
12
12
  * @category Pipeline
13
13
  * @internal
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/internal/pipeline-runner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAMlB,MAAM,UAAU,CAAC;AAMlB,OAAO,KAAK,EAEX,cAAc,EACd,0BAA0B,EAC1B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,MAAM,EACN,SAAS,EACT,WAAW,SAAS,kBAAkB,EACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,SAAS,UAAU,EAChC,YAAY,SAAS,UAAU,EAC/B,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,YAAY,EAAE,0BAA0B,CACvC,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,GACC,cAAc,CAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,CA8ZA"}
1
+ {"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/internal/pipeline-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAQlB,MAAM,UAAU,CAAC;AAMlB,OAAO,KAAK,EAEX,cAAc,EACd,0BAA0B,EAM1B,MAAM,yBAAyB,CAAC;AAejC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,MAAM,EACN,SAAS,EACT,WAAW,SAAS,kBAAkB,EACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,SAAS,UAAU,EAChC,YAAY,SAAS,UAAU,EAC/B,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,YAAY,EAAE,0BAA0B,CACvC,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,GACC,cAAc,CAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,CA2pBA"}