@wpkernel/pipeline 1.0.0 → 1.1.0
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/core/makeResumablePipeline.d.ts +6 -0
- package/dist/core/makeResumablePipeline.d.ts.map +1 -0
- package/dist/core/makeResumablePipeline.js +160 -0
- package/dist/core/runner/context.d.ts +5 -2
- package/dist/core/runner/context.d.ts.map +1 -1
- package/dist/core/runner/context.js +66 -43
- package/dist/core/runner/execution.d.ts +8 -2
- package/dist/core/runner/execution.d.ts.map +1 -1
- package/dist/core/runner/execution.js +119 -49
- package/dist/core/runner/index.d.ts +4 -1
- package/dist/core/runner/index.d.ts.map +1 -1
- package/dist/core/runner/index.js +11 -6
- package/dist/core/runner/program.d.ts +5 -2
- package/dist/core/runner/program.d.ts.map +1 -1
- package/dist/core/runner/program.js +111 -94
- package/dist/core/runner/stage-factories.d.ts +15 -6
- package/dist/core/runner/stage-factories.d.ts.map +1 -1
- package/dist/core/runner/stage-factories.js +90 -73
- package/dist/core/runner/types.d.ts +15 -2
- package/dist/core/runner/types.d.ts.map +1 -1
- package/dist/core/types.d.ts +52 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -23
- package/dist/standard-pipeline/runner/index.d.ts.map +1 -1
- package/dist/standard-pipeline/runner/index.js +4 -3
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PipelineDiagnostic, PipelineReporter, PipelineRunState, AgnosticPipelineOptions, ResumablePipeline } from './types';
|
|
2
|
+
import { AgnosticState } from './runner/types';
|
|
3
|
+
export declare function makeResumablePipeline<TRunOptions, TContext extends {
|
|
4
|
+
reporter: TReporter;
|
|
5
|
+
}, TReporter extends PipelineReporter = PipelineReporter, TUserState = unknown, TDiagnostic extends PipelineDiagnostic = PipelineDiagnostic, TRunResult = PipelineRunState<TUserState, TDiagnostic>>(options: AgnosticPipelineOptions<TRunOptions, TContext, TReporter, TUserState, TDiagnostic, TRunResult>): ResumablePipeline<TRunOptions, TRunResult, TContext, TReporter, AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>>;
|
|
6
|
+
//# sourceMappingURL=makeResumablePipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeResumablePipeline.d.ts","sourceRoot":"","sources":["../../src/core/makeResumablePipeline.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAKX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAEhB,uBAAuB,EACvB,iBAAiB,EAEjB,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAKX,aAAa,EACb,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,qBAAqB,CACpC,WAAW,EACX,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,UAAU,GAAG,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,EAEtD,OAAO,EAAE,uBAAuB,CAC/B,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,CACV,GACC,iBAAiB,CACnB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CACxE,CAkYA"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { maybeThen as u, isPromiseLike as g, maybeAll as C } from "./async-utils.js";
|
|
2
|
+
import { registerHelper as M, handleExtensionRegisterResult as w } from "./registration.js";
|
|
3
|
+
import { initAgnosticResumableRunner as P } from "./runner/index.js";
|
|
4
|
+
import { createAgnosticDiagnosticManager as S } from "./runner/diagnostics.js";
|
|
5
|
+
import { isPaused as b } from "./runner/stage-factories.js";
|
|
6
|
+
function O(n) {
|
|
7
|
+
const R = n.createError ?? ((e, r) => new Error(`[${e}] ${r} `)), l = /* @__PURE__ */ new Map(), h = (e) => (l.has(e) || l.set(e, []), l.get(e));
|
|
8
|
+
for (const e of n.helperKinds)
|
|
9
|
+
h(e);
|
|
10
|
+
const x = [], c = [], i = S({
|
|
11
|
+
onDiagnostic: (e) => {
|
|
12
|
+
n.onDiagnostic ? n.onDiagnostic(e) : e.reporter.warn?.(
|
|
13
|
+
"Pipeline diagnostic reported.",
|
|
14
|
+
e.diagnostic
|
|
15
|
+
);
|
|
16
|
+
},
|
|
17
|
+
createConflictDiagnostic: n.createConflictDiagnostic,
|
|
18
|
+
createMissingDependencyDiagnostic: n.createMissingDependencyDiagnostic,
|
|
19
|
+
createUnusedHelperDiagnostic: n.createUnusedHelperDiagnostic
|
|
20
|
+
}), p = (e) => {
|
|
21
|
+
const r = [];
|
|
22
|
+
for (const t of n.helperKinds)
|
|
23
|
+
r.push(e.makeHelperStage(t));
|
|
24
|
+
return r.push(e.finalizeResult), r;
|
|
25
|
+
}, E = {
|
|
26
|
+
options: {
|
|
27
|
+
createContext: n.createContext,
|
|
28
|
+
createState: (e) => n.createState ? n.createState(e) : {},
|
|
29
|
+
createError: R,
|
|
30
|
+
supportsPause: !0,
|
|
31
|
+
onExtensionRollbackError: (e) => {
|
|
32
|
+
n.onExtensionRollbackError && n.onExtensionRollbackError(e);
|
|
33
|
+
const r = {
|
|
34
|
+
...e,
|
|
35
|
+
extensions: e.extensionKeys,
|
|
36
|
+
hookKeys: e.hookSequence,
|
|
37
|
+
errorName: e.errorMetadata?.name,
|
|
38
|
+
errorMessage: e.errorMetadata?.message,
|
|
39
|
+
errorStack: e.errorMetadata?.stack,
|
|
40
|
+
errorCause: e.errorMetadata?.cause,
|
|
41
|
+
...e.errorMetadata
|
|
42
|
+
};
|
|
43
|
+
e.context.reporter.warn?.(
|
|
44
|
+
"Pipeline extension rollback failed.",
|
|
45
|
+
r
|
|
46
|
+
);
|
|
47
|
+
},
|
|
48
|
+
onHelperRollbackError: (e) => {
|
|
49
|
+
e.context.reporter.warn?.("Helper rollback failed", e);
|
|
50
|
+
},
|
|
51
|
+
providedKeys: n.providedKeys
|
|
52
|
+
},
|
|
53
|
+
helperRegistries: l,
|
|
54
|
+
diagnosticManager: i,
|
|
55
|
+
resolveRunResult: (e) => {
|
|
56
|
+
const {
|
|
57
|
+
userState: r,
|
|
58
|
+
diagnostics: t,
|
|
59
|
+
steps: s,
|
|
60
|
+
context: o,
|
|
61
|
+
options: a,
|
|
62
|
+
state: v
|
|
63
|
+
} = e;
|
|
64
|
+
return n.createRunResult ? n.createRunResult({
|
|
65
|
+
artifact: r,
|
|
66
|
+
diagnostics: t,
|
|
67
|
+
steps: s,
|
|
68
|
+
context: o,
|
|
69
|
+
options: a,
|
|
70
|
+
state: v
|
|
71
|
+
}) : {
|
|
72
|
+
artifact: r,
|
|
73
|
+
diagnostics: t,
|
|
74
|
+
steps: s
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
extensionHooks: x,
|
|
78
|
+
extensionLifecycles: n.extensions?.lifecycles,
|
|
79
|
+
stages: n.createStages ?? p
|
|
80
|
+
}, f = P(E), D = (e, r) => w(e, r, x), y = (e) => {
|
|
81
|
+
if (g(e)) {
|
|
82
|
+
const r = u(
|
|
83
|
+
e,
|
|
84
|
+
() => {
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
r.catch(() => {
|
|
88
|
+
}), c.push(r);
|
|
89
|
+
const t = () => {
|
|
90
|
+
const s = c.indexOf(r);
|
|
91
|
+
s !== -1 && c.splice(s, 1);
|
|
92
|
+
};
|
|
93
|
+
r.then(t, t);
|
|
94
|
+
}
|
|
95
|
+
return e;
|
|
96
|
+
}, m = () => {
|
|
97
|
+
if (c.length !== 0)
|
|
98
|
+
return u(
|
|
99
|
+
C([...c]),
|
|
100
|
+
() => {
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}, d = (e) => (b(e) || i.endRun(), e), k = {
|
|
104
|
+
extensions: {
|
|
105
|
+
use(e) {
|
|
106
|
+
const r = e.register(k);
|
|
107
|
+
r && g(r) && Promise.resolve(r).catch(() => {
|
|
108
|
+
});
|
|
109
|
+
const t = u(
|
|
110
|
+
r,
|
|
111
|
+
(s) => D(e.key, s)
|
|
112
|
+
);
|
|
113
|
+
return y(t);
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
use(e) {
|
|
117
|
+
const r = e.kind, t = h(r);
|
|
118
|
+
M(
|
|
119
|
+
e,
|
|
120
|
+
r,
|
|
121
|
+
t,
|
|
122
|
+
r,
|
|
123
|
+
(s, o, a) => i.flagConflict(
|
|
124
|
+
s,
|
|
125
|
+
o,
|
|
126
|
+
r,
|
|
127
|
+
a
|
|
128
|
+
),
|
|
129
|
+
R
|
|
130
|
+
);
|
|
131
|
+
},
|
|
132
|
+
run(e) {
|
|
133
|
+
try {
|
|
134
|
+
const r = () => {
|
|
135
|
+
const o = f.prepareContext(e);
|
|
136
|
+
return f.executeRun(o);
|
|
137
|
+
}, t = m(), s = u(t, () => r());
|
|
138
|
+
return g(s) ? Promise.resolve(s).then(d).catch((o) => {
|
|
139
|
+
throw i.endRun(), o;
|
|
140
|
+
}) : d(s);
|
|
141
|
+
} catch (r) {
|
|
142
|
+
throw i.endRun(), r;
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
resume(e, r) {
|
|
146
|
+
try {
|
|
147
|
+
const t = () => f.executeResume(e, r), s = m(), o = u(s, () => t());
|
|
148
|
+
return g(o) ? Promise.resolve(o).then(d).catch((a) => {
|
|
149
|
+
throw i.endRun(), a;
|
|
150
|
+
}) : d(o);
|
|
151
|
+
} catch (t) {
|
|
152
|
+
throw i.endRun(), t;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
return k;
|
|
157
|
+
}
|
|
158
|
+
export {
|
|
159
|
+
O as makeResumablePipeline
|
|
160
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AgnosticRunContext, AgnosticRunnerDependencies } from './types';
|
|
2
|
-
import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
1
|
+
import { AgnosticRunContext, AgnosticRunnerDependencies, AgnosticState } from './types';
|
|
2
|
+
import { PipelineReporter, PipelineDiagnostic, PipelinePauseSnapshot } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Prepares the pipeline execution context.
|
|
5
5
|
*
|
|
@@ -10,4 +10,7 @@ import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
|
10
10
|
export declare const prepareContext: <TRunOptions, TUserState, TContext extends {
|
|
11
11
|
reporter: TReporter;
|
|
12
12
|
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runOptions: TRunOptions) => AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>;
|
|
13
|
+
export declare const prepareResumeContext: <TRunOptions, TUserState, TContext extends {
|
|
14
|
+
reporter: TReporter;
|
|
15
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, snapshot: PipelinePauseSnapshot<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>>) => AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>;
|
|
13
16
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/runner/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/runner/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAElB,qBAAqB,EACrB,MAAM,UAAU,CAAC;AAIlB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAC1B,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,WAAW,KACrB,kBAAkB,CACpB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CA6HX,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,UAAU,qBAAqB,CAC9B,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CACxE,KACC,kBAAkB,CACpB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CAkDX,CAAC"}
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { createDependencyGraph as
|
|
2
|
-
import { initExtensionCoordinator as
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
e.diagnosticManager.prepareRun(), e.diagnosticManager.setReporter(
|
|
1
|
+
import { createDependencyGraph as x } from "../dependency-graph.js";
|
|
2
|
+
import { initExtensionCoordinator as f } from "../internal/extension-coordinator.js";
|
|
3
|
+
const M = (e, o) => {
|
|
4
|
+
const t = e.options.createContext(o);
|
|
5
|
+
e.diagnosticManager.prepareRun(), e.diagnosticManager.setReporter(t.reporter);
|
|
6
6
|
const s = /* @__PURE__ */ new Map();
|
|
7
|
-
for (const [r,
|
|
8
|
-
const
|
|
9
|
-
|
|
7
|
+
for (const [r, h] of e.helperRegistries) {
|
|
8
|
+
const d = x(
|
|
9
|
+
h,
|
|
10
10
|
{
|
|
11
|
-
onMissingDependency: (
|
|
11
|
+
onMissingDependency: (a) => {
|
|
12
12
|
e.diagnosticManager.flagMissingDependency(
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
a.dependant.helper,
|
|
14
|
+
a.dependencyKey,
|
|
15
15
|
r
|
|
16
16
|
), e.diagnosticManager.flagUnusedHelper(
|
|
17
|
-
|
|
17
|
+
a.dependant.helper,
|
|
18
18
|
r,
|
|
19
19
|
"has missing dependencies",
|
|
20
|
-
|
|
20
|
+
a.dependant.helper.dependsOn ?? []
|
|
21
21
|
);
|
|
22
22
|
},
|
|
23
|
-
onUnresolvedHelpers: ({ unresolved:
|
|
24
|
-
for (const
|
|
23
|
+
onUnresolvedHelpers: ({ unresolved: a }) => {
|
|
24
|
+
for (const R of a)
|
|
25
25
|
e.diagnosticManager.flagUnusedHelper(
|
|
26
|
-
|
|
26
|
+
R.helper,
|
|
27
27
|
r,
|
|
28
28
|
"has unresolved dependencies (possible cycle)",
|
|
29
|
-
|
|
29
|
+
R.helper.dependsOn ?? []
|
|
30
30
|
);
|
|
31
31
|
},
|
|
32
32
|
providedKeys: e.options.providedKeys?.[r]
|
|
33
33
|
},
|
|
34
34
|
e.options.createError
|
|
35
35
|
);
|
|
36
|
-
s.set(r,
|
|
36
|
+
s.set(r, d.order);
|
|
37
37
|
}
|
|
38
|
-
const
|
|
39
|
-
context:
|
|
40
|
-
options:
|
|
41
|
-
}),
|
|
38
|
+
const i = e.options.createState({
|
|
39
|
+
context: t,
|
|
40
|
+
options: o
|
|
41
|
+
}), p = [], c = (r) => p.push(r), l = (r) => {
|
|
42
42
|
e.options.onExtensionRollbackError && e.options.onExtensionRollbackError(r);
|
|
43
|
-
},
|
|
44
|
-
context:
|
|
45
|
-
options:
|
|
43
|
+
}, n = (r, h) => ({
|
|
44
|
+
context: t,
|
|
45
|
+
options: o,
|
|
46
46
|
artifact: r.userState,
|
|
47
47
|
// Extension expects UserState
|
|
48
|
-
lifecycle:
|
|
49
|
-
}),
|
|
50
|
-
context:
|
|
51
|
-
reporter:
|
|
52
|
-
runOptions:
|
|
53
|
-
userState:
|
|
54
|
-
steps:
|
|
48
|
+
lifecycle: h
|
|
49
|
+
}), g = {
|
|
50
|
+
context: t,
|
|
51
|
+
reporter: t.reporter,
|
|
52
|
+
runOptions: o,
|
|
53
|
+
userState: i,
|
|
54
|
+
steps: p,
|
|
55
55
|
diagnostics: e.diagnosticManager.getDiagnostics(),
|
|
56
56
|
// Live reference
|
|
57
57
|
// AgnosticState definition has diagnostics: TDiagnostic[]. Programs read it from here.
|
|
@@ -62,25 +62,48 @@ const E = (e, n) => {
|
|
|
62
62
|
// Runtime maps
|
|
63
63
|
helperExecution: /* @__PURE__ */ new Map(),
|
|
64
64
|
helperRollbacks: /* @__PURE__ */ new Map(),
|
|
65
|
-
extensionCoordinator:
|
|
66
|
-
(r) =>
|
|
65
|
+
extensionCoordinator: f(
|
|
66
|
+
(r) => l({
|
|
67
67
|
...r,
|
|
68
|
-
context:
|
|
68
|
+
context: t
|
|
69
69
|
})
|
|
70
70
|
)
|
|
71
71
|
};
|
|
72
72
|
return {
|
|
73
|
-
runOptions:
|
|
74
|
-
context:
|
|
75
|
-
state:
|
|
76
|
-
steps:
|
|
77
|
-
pushStep:
|
|
73
|
+
runOptions: o,
|
|
74
|
+
context: t,
|
|
75
|
+
state: g,
|
|
76
|
+
steps: p,
|
|
77
|
+
pushStep: c,
|
|
78
78
|
helperRegistries: e.helperRegistries,
|
|
79
79
|
helperOrders: s,
|
|
80
|
-
buildHookOptions:
|
|
81
|
-
handleRollbackError:
|
|
80
|
+
buildHookOptions: n,
|
|
81
|
+
handleRollbackError: l
|
|
82
|
+
};
|
|
83
|
+
}, b = (e, o) => {
|
|
84
|
+
const t = o.state, s = t.context;
|
|
85
|
+
e.diagnosticManager.setReporter(s.reporter);
|
|
86
|
+
const i = t.steps, p = (n) => i.push(n), c = (n) => {
|
|
87
|
+
e.options.onExtensionRollbackError && e.options.onExtensionRollbackError(n);
|
|
88
|
+
}, l = (n, g) => ({
|
|
89
|
+
context: s,
|
|
90
|
+
options: t.runOptions,
|
|
91
|
+
artifact: n.userState,
|
|
92
|
+
lifecycle: g
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
runOptions: t.runOptions,
|
|
96
|
+
context: s,
|
|
97
|
+
state: t,
|
|
98
|
+
steps: i,
|
|
99
|
+
pushStep: p,
|
|
100
|
+
helperRegistries: t.helperRegistries,
|
|
101
|
+
helperOrders: t.helperOrders ?? /* @__PURE__ */ new Map(),
|
|
102
|
+
buildHookOptions: l,
|
|
103
|
+
handleRollbackError: c
|
|
82
104
|
};
|
|
83
105
|
};
|
|
84
106
|
export {
|
|
85
|
-
|
|
107
|
+
M as prepareContext,
|
|
108
|
+
b as prepareResumeContext
|
|
86
109
|
};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { AgnosticRunContext, AgnosticRunnerDependencies } from './types';
|
|
2
|
-
import { PipelineReporter, PipelineDiagnostic, MaybePromise } from '../types';
|
|
1
|
+
import { AgnosticRunContext, AgnosticRunnerDependencies, AgnosticState } from './types';
|
|
2
|
+
import { PipelineReporter, PipelineDiagnostic, MaybePromise, PipelinePauseSnapshot, PipelinePaused } from '../types';
|
|
3
3
|
export declare const executeRun: <TRunOptions, TUserState, TContext extends {
|
|
4
4
|
reporter: TReporter;
|
|
5
5
|
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => MaybePromise<TRunResult>;
|
|
6
|
+
export declare const executeRunWithPause: <TRunOptions, TUserState, TContext extends {
|
|
7
|
+
reporter: TReporter;
|
|
8
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => MaybePromise<TRunResult | PipelinePaused<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>>>;
|
|
9
|
+
export declare const executeResume: <TRunOptions, TUserState, TContext extends {
|
|
10
|
+
reporter: TReporter;
|
|
11
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, snapshot: PipelinePauseSnapshot<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>>, resumeInput?: unknown) => MaybePromise<TRunResult | PipelinePaused<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>>>;
|
|
6
12
|
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/core/runner/execution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/core/runner/execution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EAOb,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,MAAM,UAAU,CAAC;AAyMlB,eAAO,MAAM,UAAU,GACtB,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,YAAY,CAAC,UAAU,CA2EzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC/B,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,YAAY,CACZ,UAAU,GACV,cAAc,CACd,aAAa,CACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,CACA,CAqCH,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,UAAU,qBAAqB,CAC9B,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CACxE,EACD,cAAc,OAAO,KACnB,YAAY,CACZ,UAAU,GACV,cAAc,CACd,aAAa,CACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,CACA,CAgCH,CAAC"}
|
|
@@ -1,66 +1,136 @@
|
|
|
1
|
-
import { maybeThen as
|
|
2
|
-
import { createAgnosticProgram as
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { maybeThen as m, isPromiseLike as y } from "../async-utils.js";
|
|
2
|
+
import { createAgnosticStages as R, createAgnosticProgram as P } from "./program.js";
|
|
3
|
+
import { isHalt as c, isPaused as f } from "./stage-factories.js";
|
|
4
|
+
import { prepareResumeContext as l } from "./context.js";
|
|
5
|
+
const S = (e) => ({
|
|
6
|
+
kind: e,
|
|
5
7
|
registered: [],
|
|
6
8
|
executed: [],
|
|
7
9
|
missing: []
|
|
8
|
-
}),
|
|
10
|
+
}), k = (e, t) => ({
|
|
11
|
+
...e,
|
|
12
|
+
stageIndex: t
|
|
13
|
+
}), x = (e, t) => {
|
|
14
|
+
const i = t.extensionStack ?? [], s = i.length === 0 && t.extensionCoordinator && t.extensionState ? () => t.extensionCoordinator.commit(t.extensionState) : void 0, n = s ? s() : i.reduce(
|
|
15
|
+
(a, {
|
|
16
|
+
coordinator: o,
|
|
17
|
+
state: r
|
|
18
|
+
}) => m(a, () => o.commit(r)),
|
|
19
|
+
void 0
|
|
20
|
+
);
|
|
21
|
+
return m(
|
|
22
|
+
n,
|
|
23
|
+
() => e.resolveRunResult({
|
|
24
|
+
diagnostics: t.diagnostics,
|
|
25
|
+
steps: t.steps,
|
|
26
|
+
context: t.context,
|
|
27
|
+
userState: t.userState,
|
|
28
|
+
options: t.runOptions,
|
|
29
|
+
helpers: {
|
|
30
|
+
fragments: S("dummy-fragment"),
|
|
31
|
+
builders: S("dummy-builder")
|
|
32
|
+
},
|
|
33
|
+
state: t
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
}, h = (e, t, i) => {
|
|
37
|
+
const s = (n, a) => {
|
|
38
|
+
let o = n;
|
|
39
|
+
for (let r = a; r < e.length; r += 1) {
|
|
40
|
+
const p = e[r];
|
|
41
|
+
if (!p)
|
|
42
|
+
return o;
|
|
43
|
+
const b = k(o, r), u = p(b);
|
|
44
|
+
if (y(u))
|
|
45
|
+
return Promise.resolve(u).then((g) => c(g) || f(g) ? g : s(
|
|
46
|
+
g,
|
|
47
|
+
r + 1
|
|
48
|
+
));
|
|
49
|
+
if (c(u) || f(u))
|
|
50
|
+
return u;
|
|
51
|
+
o = u;
|
|
52
|
+
}
|
|
53
|
+
return o;
|
|
54
|
+
};
|
|
55
|
+
return s(t, i);
|
|
56
|
+
}, O = (e, t) => {
|
|
9
57
|
const {
|
|
10
|
-
runOptions:
|
|
11
|
-
context:
|
|
12
|
-
} =
|
|
13
|
-
if (!
|
|
14
|
-
return
|
|
58
|
+
runOptions: i,
|
|
59
|
+
context: s
|
|
60
|
+
} = t, n = t.state;
|
|
61
|
+
if (!e.stages)
|
|
62
|
+
return e.resolveRunResult({
|
|
15
63
|
diagnostics: [],
|
|
16
64
|
steps: [],
|
|
17
|
-
context:
|
|
65
|
+
context: s,
|
|
18
66
|
userState: n.userState,
|
|
19
|
-
options:
|
|
67
|
+
options: i,
|
|
20
68
|
helpers: {
|
|
21
|
-
builders:
|
|
69
|
+
builders: S("dummy-builder")
|
|
22
70
|
},
|
|
23
71
|
state: n
|
|
24
72
|
});
|
|
25
|
-
const
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
(
|
|
29
|
-
if (
|
|
30
|
-
if (
|
|
31
|
-
throw
|
|
32
|
-
return
|
|
73
|
+
const a = P(e, t);
|
|
74
|
+
return m(
|
|
75
|
+
a(n),
|
|
76
|
+
(o) => {
|
|
77
|
+
if (c(o)) {
|
|
78
|
+
if (o.error)
|
|
79
|
+
throw o.error;
|
|
80
|
+
return o.result;
|
|
33
81
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
state: S
|
|
40
|
-
}) => i(
|
|
41
|
-
d,
|
|
42
|
-
() => x.commit(S)
|
|
43
|
-
),
|
|
44
|
-
void 0
|
|
45
|
-
);
|
|
46
|
-
return i(
|
|
47
|
-
g,
|
|
48
|
-
() => o.resolveRunResult({
|
|
49
|
-
diagnostics: t.diagnostics,
|
|
50
|
-
steps: t.steps,
|
|
51
|
-
context: t.context,
|
|
52
|
-
userState: t.userState,
|
|
53
|
-
options: t.runOptions,
|
|
54
|
-
helpers: {
|
|
55
|
-
fragments: s("dummy-fragment"),
|
|
56
|
-
builders: s("dummy-builder")
|
|
57
|
-
},
|
|
58
|
-
state: t
|
|
59
|
-
})
|
|
60
|
-
);
|
|
82
|
+
if (f(o))
|
|
83
|
+
throw new Error(
|
|
84
|
+
"Pipeline paused during executeRun. Use makeResumablePipeline to enable pause/resume."
|
|
85
|
+
);
|
|
86
|
+
return x(e, o);
|
|
61
87
|
}
|
|
62
88
|
);
|
|
89
|
+
}, A = (e, t) => {
|
|
90
|
+
const { runOptions: i, context: s } = t, n = t.state;
|
|
91
|
+
if (!e.stages)
|
|
92
|
+
return e.resolveRunResult({
|
|
93
|
+
diagnostics: [],
|
|
94
|
+
steps: [],
|
|
95
|
+
context: s,
|
|
96
|
+
userState: n.userState,
|
|
97
|
+
options: i,
|
|
98
|
+
helpers: {
|
|
99
|
+
builders: S("dummy-builder")
|
|
100
|
+
},
|
|
101
|
+
state: n
|
|
102
|
+
});
|
|
103
|
+
const a = R(e, t), o = h(a, n, 0);
|
|
104
|
+
return m(o, (r) => {
|
|
105
|
+
if (c(r)) {
|
|
106
|
+
if (r.error)
|
|
107
|
+
throw r.error;
|
|
108
|
+
return r.result;
|
|
109
|
+
}
|
|
110
|
+
return f(r) ? r : x(e, r);
|
|
111
|
+
});
|
|
112
|
+
}, E = (e, t, i) => {
|
|
113
|
+
if (!e.stages)
|
|
114
|
+
return x(e, t.state);
|
|
115
|
+
const s = l(e, t), n = {
|
|
116
|
+
...s.state,
|
|
117
|
+
resumeInput: i
|
|
118
|
+
}, a = R(e, s), o = h(
|
|
119
|
+
a,
|
|
120
|
+
n,
|
|
121
|
+
t.stageIndex
|
|
122
|
+
);
|
|
123
|
+
return m(o, (r) => {
|
|
124
|
+
if (c(r)) {
|
|
125
|
+
if (r.error)
|
|
126
|
+
throw r.error;
|
|
127
|
+
return r.result;
|
|
128
|
+
}
|
|
129
|
+
return f(r) ? r : x(e, r);
|
|
130
|
+
});
|
|
63
131
|
};
|
|
64
132
|
export {
|
|
65
|
-
|
|
133
|
+
E as executeResume,
|
|
134
|
+
O as executeRun,
|
|
135
|
+
A as executeRunWithPause
|
|
66
136
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AgnosticRunner, AgnosticRunnerDependencies } from './types';
|
|
1
|
+
import { AgnosticResumableRunner, AgnosticRunner, AgnosticRunnerDependencies } from './types';
|
|
2
2
|
import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Initializes an agnostic pipeline runner.
|
|
@@ -11,4 +11,7 @@ import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
|
11
11
|
export declare const initAgnosticRunner: <TRunOptions, TUserState, TContext extends {
|
|
12
12
|
reporter: TReporter;
|
|
13
13
|
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>) => AgnosticRunner<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>;
|
|
14
|
+
export declare const initAgnosticResumableRunner: <TRunOptions, TUserState, TContext extends {
|
|
15
|
+
reporter: TReporter;
|
|
16
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>) => AgnosticResumableRunner<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>;
|
|
14
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/runner/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/runner/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,0BAA0B,EAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC9B,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,KACC,cAAc,CAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CAOV,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACvC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,KACC,uBAAuB,CACzB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CASV,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { executeRun as
|
|
2
|
-
import { prepareContext as
|
|
3
|
-
const
|
|
4
|
-
prepareContext: (
|
|
5
|
-
executeRun: (
|
|
1
|
+
import { executeResume as n, executeRunWithPause as o, executeRun as x } from "./execution.js";
|
|
2
|
+
import { prepareContext as u } from "./context.js";
|
|
3
|
+
const m = (t) => ({
|
|
4
|
+
prepareContext: (e) => u(t, e),
|
|
5
|
+
executeRun: (e) => x(t, e)
|
|
6
|
+
}), i = (t) => ({
|
|
7
|
+
prepareContext: (e) => u(t, e),
|
|
8
|
+
executeRun: (e) => o(t, e),
|
|
9
|
+
executeResume: (e, r) => n(t, e, r)
|
|
6
10
|
});
|
|
7
11
|
export {
|
|
8
|
-
|
|
12
|
+
i as initAgnosticResumableRunner,
|
|
13
|
+
m as initAgnosticRunner
|
|
9
14
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Program } from '../async-utils';
|
|
2
|
-
import { AgnosticRunnerDependencies, AgnosticRunContext, AgnosticState, Halt } from './types';
|
|
2
|
+
import { AgnosticRunnerDependencies, AgnosticRunContext, AgnosticState, Halt, PipelineStage, PipelineStepResult } from './types';
|
|
3
3
|
import { PipelineReporter, PipelineDiagnostic } from '../types';
|
|
4
|
+
export declare const createAgnosticStages: <TRunOptions, TUserState, TContext extends {
|
|
5
|
+
reporter: TReporter;
|
|
6
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => PipelineStage<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>, Halt<TRunResult>>[];
|
|
4
7
|
export declare const createAgnosticProgram: <TRunOptions, TUserState, TContext extends {
|
|
5
8
|
reporter: TReporter;
|
|
6
|
-
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => Program<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic
|
|
9
|
+
}, TReporter extends PipelineReporter, TDiagnostic extends PipelineDiagnostic, TRunResult>(dependencies: AgnosticRunnerDependencies<TRunOptions, TUserState, TContext, TReporter, TDiagnostic, TRunResult>, runContext: AgnosticRunContext<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>) => Program<PipelineStepResult<AgnosticState<TRunOptions, TUserState, TContext, TReporter, TDiagnostic>, TRunResult>>;
|
|
7
10
|
//# sourceMappingURL=program.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/runner/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACX,0BAA0B,EAC1B,kBAAkB,EAElB,aAAa,EACb,IAAI,EAGJ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/runner/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACX,0BAA0B,EAC1B,kBAAkB,EAElB,aAAa,EACb,IAAI,EAGJ,aAAa,EACb,kBAAkB,EAClB,MAAM,SAAS,CAAC;AAUjB,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAOlB,MAAM,UAAU,CAAC;AAyBlB,eAAO,MAAM,oBAAoB,GAChC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,aAAa,CACf,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EACxE,IAAI,CAAC,UAAU,CAAC,CAChB,EAqTA,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,WAAW,EACX,UAAU,EACV,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,WAAW,SAAS,kBAAkB,EACtC,UAAU,EAEV,cAAc,0BAA0B,CACvC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,CACV,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,KACC,OAAO,CACT,kBAAkB,CACjB,aAAa,CACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,CACX,EACD,UAAU,CACV,CAsBD,CAAC"}
|