@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.
- package/dist/async-utils.d.ts +14 -0
- package/dist/async-utils.d.ts.map +1 -1
- package/dist/async-utils.js +18 -17
- package/dist/createExtension.d.ts +7 -1
- package/dist/createExtension.d.ts.map +1 -1
- package/dist/createExtension.js +0 -4
- package/dist/createPipeline.js +0 -4
- package/dist/dependency-graph.d.ts +6 -0
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +73 -69
- package/dist/error-factory.d.ts +1 -1
- package/dist/error-factory.js +0 -4
- package/dist/executor.js +0 -4
- package/dist/extensions/index.js +0 -4
- package/dist/extensions/official.js +0 -4
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +61 -66
- package/dist/helper.d.ts +27 -16
- package/dist/helper.d.ts.map +1 -1
- package/dist/helper.js +0 -4
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -25
- package/dist/internal/diagnostic-manager.js +0 -4
- package/dist/internal/extension-coordinator.js +0 -4
- package/dist/internal/helper-execution.js +0 -4
- package/dist/internal/pipeline-program-utils.d.ts +127 -0
- package/dist/internal/pipeline-program-utils.d.ts.map +1 -0
- package/dist/internal/pipeline-program-utils.js +161 -0
- package/dist/internal/pipeline-runner.d.ts +1 -1
- package/dist/internal/pipeline-runner.d.ts.map +1 -1
- package/dist/internal/pipeline-runner.js +329 -247
- package/dist/internal/pipeline-runner.types.d.ts +89 -1
- package/dist/internal/pipeline-runner.types.d.ts.map +1 -1
- package/dist/registration.js +0 -4
- package/dist/rollback.d.ts +94 -0
- package/dist/rollback.d.ts.map +1 -0
- package/dist/rollback.js +46 -0
- package/dist/types.d.ts +36 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/helper.js
CHANGED
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
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
4
|
-
import { executeHelpers as
|
|
5
|
-
import { createDefaultError as
|
|
6
|
-
import { handleExtensionRegisterResult as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { OFFICIAL_EXTENSION_BLUEPRINTS as
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
N as OFFICIAL_EXTENSION_BLUEPRINTS,
|
|
13
|
+
P as compareHelpers,
|
|
14
|
+
x as createDefaultError,
|
|
15
|
+
n as createErrorFactory,
|
|
20
16
|
o as createHelper,
|
|
21
|
-
|
|
17
|
+
R as createHelperId,
|
|
22
18
|
p as createPipeline,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
30
|
-
|
|
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,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 }) => {
|
|
@@ -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":"
|
|
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"}
|