@wpkernel/pipeline 0.12.5-beta.0 → 0.12.6-beta.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/README.md +69 -8
- package/dist/{async-utils.d.ts → core/async-utils.d.ts} +9 -0
- package/dist/core/async-utils.d.ts.map +1 -0
- package/dist/core/async-utils.js +46 -0
- package/dist/core/createExtension.d.ts.map +1 -0
- package/dist/core/dependency-graph.d.ts.map +1 -0
- package/dist/core/error-factory.d.ts.map +1 -0
- package/dist/{executor.d.ts → core/execution-utils.d.ts} +1 -1
- package/dist/core/execution-utils.d.ts.map +1 -0
- package/dist/core/executor.d.ts +2 -0
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/core/extensions/index.d.ts +4 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/official.d.ts.map +1 -0
- package/dist/{extensions.d.ts → core/extensions/runner.d.ts} +2 -5
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +73 -0
- package/dist/core/helper.d.ts.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +36 -0
- package/dist/{internal → core/internal}/extension-coordinator.d.ts +3 -3
- package/dist/core/internal/extension-coordinator.d.ts.map +1 -0
- package/dist/{internal → core/internal}/extension-coordinator.js +7 -6
- package/dist/{internal → core/internal}/extension-coordinator.types.d.ts +14 -14
- package/dist/core/internal/extension-coordinator.types.d.ts.map +1 -0
- package/dist/core/makePipeline.d.ts +5 -0
- package/dist/core/makePipeline.d.ts.map +1 -0
- package/dist/core/makePipeline.js +147 -0
- package/dist/core/registration.d.ts.map +1 -0
- package/dist/core/registration.js +59 -0
- package/dist/core/rollback.d.ts.map +1 -0
- package/dist/core/runner/context.d.ts +13 -0
- package/dist/core/runner/context.d.ts.map +1 -0
- package/dist/core/runner/context.js +86 -0
- package/dist/core/runner/diagnostics.d.ts +48 -0
- package/dist/core/runner/diagnostics.d.ts.map +1 -0
- package/dist/core/runner/diagnostics.js +82 -0
- package/dist/core/runner/execution.d.ts +6 -0
- package/dist/core/runner/execution.d.ts.map +1 -0
- package/dist/core/runner/execution.js +66 -0
- package/dist/core/runner/index.d.ts +14 -0
- package/dist/core/runner/index.d.ts.map +1 -0
- package/dist/core/runner/index.js +9 -0
- package/dist/core/runner/program.d.ts +7 -0
- package/dist/core/runner/program.d.ts.map +1 -0
- package/dist/core/runner/program.js +146 -0
- package/dist/core/runner/rollback.d.ts +48 -0
- package/dist/core/runner/rollback.d.ts.map +1 -0
- package/dist/core/runner/rollback.js +75 -0
- package/dist/core/runner/stage-factories.d.ts +69 -0
- package/dist/core/runner/stage-factories.d.ts.map +1 -0
- package/dist/core/runner/stage-factories.js +121 -0
- package/dist/core/runner/types.d.ts +202 -0
- package/dist/core/runner/types.d.ts.map +1 -0
- package/dist/{types.d.ts → core/types.d.ts} +62 -97
- package/dist/core/types.d.ts.map +1 -0
- package/dist/extensions/index.js +6 -2
- package/dist/index.d.ts +21 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -17
- package/dist/standard-pipeline/createPipeline.d.ts +6 -0
- package/dist/standard-pipeline/createPipeline.d.ts.map +1 -0
- package/dist/standard-pipeline/createPipeline.js +7 -0
- package/dist/standard-pipeline/runner/index.d.ts +21 -0
- package/dist/standard-pipeline/runner/index.d.ts.map +1 -0
- package/dist/standard-pipeline/runner/index.js +244 -0
- package/dist/standard-pipeline/types.d.ts +150 -0
- package/dist/standard-pipeline/types.d.ts.map +1 -0
- package/package.json +16 -1
- package/dist/async-utils.d.ts.map +0 -1
- package/dist/async-utils.js +0 -40
- package/dist/createExtension.d.ts.map +0 -1
- package/dist/createPipeline.d.ts +0 -45
- package/dist/createPipeline.d.ts.map +0 -1
- package/dist/createPipeline.js +0 -9
- package/dist/dependency-graph.d.ts.map +0 -1
- package/dist/error-factory.d.ts.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/extensions/index.d.ts +0 -3
- package/dist/extensions/index.d.ts.map +0 -1
- package/dist/extensions/official.d.ts.map +0 -1
- package/dist/extensions.d.ts.map +0 -1
- package/dist/extensions.js +0 -88
- package/dist/helper.d.ts.map +0 -1
- package/dist/internal/diagnostic-manager.d.ts +0 -29
- package/dist/internal/diagnostic-manager.d.ts.map +0 -1
- package/dist/internal/diagnostic-manager.js +0 -90
- package/dist/internal/diagnostic-manager.types.d.ts +0 -70
- package/dist/internal/diagnostic-manager.types.d.ts.map +0 -1
- package/dist/internal/extension-coordinator.d.ts.map +0 -1
- package/dist/internal/extension-coordinator.types.d.ts.map +0 -1
- package/dist/internal/helper-execution.d.ts +0 -32
- package/dist/internal/helper-execution.d.ts.map +0 -1
- package/dist/internal/helper-execution.js +0 -33
- package/dist/internal/pipeline-program-utils.d.ts +0 -127
- package/dist/internal/pipeline-program-utils.d.ts.map +0 -1
- package/dist/internal/pipeline-program-utils.js +0 -161
- package/dist/internal/pipeline-runner.types.d.ts +0 -195
- package/dist/internal/pipeline-runner.types.d.ts.map +0 -1
- package/dist/internal/runner/context.d.ts +0 -6
- package/dist/internal/runner/context.d.ts.map +0 -1
- package/dist/internal/runner/context.js +0 -169
- package/dist/internal/runner/execution.d.ts +0 -6
- package/dist/internal/runner/execution.d.ts.map +0 -1
- package/dist/internal/runner/execution.js +0 -40
- package/dist/internal/runner/index.d.ts +0 -13
- package/dist/internal/runner/index.d.ts.map +0 -1
- package/dist/internal/runner/index.js +0 -11
- package/dist/internal/runner/program.d.ts +0 -8
- package/dist/internal/runner/program.d.ts.map +0 -1
- package/dist/internal/runner/program.js +0 -294
- package/dist/makePipeline.d.ts +0 -20
- package/dist/makePipeline.d.ts.map +0 -1
- package/dist/makePipeline.js +0 -139
- package/dist/registration.d.ts.map +0 -1
- package/dist/registration.js +0 -59
- package/dist/rollback.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- /package/dist/{createExtension.d.ts → core/createExtension.d.ts} +0 -0
- /package/dist/{createExtension.js → core/createExtension.js} +0 -0
- /package/dist/{dependency-graph.d.ts → core/dependency-graph.d.ts} +0 -0
- /package/dist/{dependency-graph.js → core/dependency-graph.js} +0 -0
- /package/dist/{error-factory.d.ts → core/error-factory.d.ts} +0 -0
- /package/dist/{error-factory.js → core/error-factory.js} +0 -0
- /package/dist/{executor.js → core/execution-utils.js} +0 -0
- /package/dist/{extensions → core/extensions}/official.d.ts +0 -0
- /package/dist/{extensions → core/extensions}/official.js +0 -0
- /package/dist/{helper.d.ts → core/helper.d.ts} +0 -0
- /package/dist/{helper.js → core/helper.js} +0 -0
- /package/dist/{registration.d.ts → core/registration.d.ts} +0 -0
- /package/dist/{rollback.d.ts → core/rollback.d.ts} +0 -0
- /package/dist/{rollback.js → core/rollback.js} +0 -0
package/dist/extensions.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { processSequentially as f, isPromiseLike as k, maybeTry as p, maybeThen as l } from "./async-utils.js";
|
|
2
|
-
import { runRollbackStack as b } from "./rollback.js";
|
|
3
|
-
function E(o) {
|
|
4
|
-
if (o instanceof Error) {
|
|
5
|
-
const { name: r, message: e, stack: s } = o, n = o.cause;
|
|
6
|
-
return {
|
|
7
|
-
name: r,
|
|
8
|
-
message: e,
|
|
9
|
-
stack: s,
|
|
10
|
-
cause: n
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
return typeof o == "string" ? {
|
|
14
|
-
message: o
|
|
15
|
-
} : {};
|
|
16
|
-
}
|
|
17
|
-
function R(o, r, e, s) {
|
|
18
|
-
let n = e.artifact;
|
|
19
|
-
const c = [], t = o.filter(
|
|
20
|
-
(i) => i.lifecycle === r
|
|
21
|
-
), m = {
|
|
22
|
-
context: e.context,
|
|
23
|
-
options: e.options,
|
|
24
|
-
lifecycle: r
|
|
25
|
-
}, h = p(
|
|
26
|
-
() => f(t, (i) => {
|
|
27
|
-
const u = i.hook({
|
|
28
|
-
...m,
|
|
29
|
-
artifact: n
|
|
30
|
-
});
|
|
31
|
-
if (k(u))
|
|
32
|
-
return Promise.resolve(u).then((a) => {
|
|
33
|
-
a && (a.artifact !== void 0 && (n = a.artifact), c.push({
|
|
34
|
-
hook: i,
|
|
35
|
-
result: a
|
|
36
|
-
}));
|
|
37
|
-
});
|
|
38
|
-
if (u)
|
|
39
|
-
return u.artifact !== void 0 && (n = u.artifact), void c.push({
|
|
40
|
-
hook: i,
|
|
41
|
-
result: u
|
|
42
|
-
});
|
|
43
|
-
}),
|
|
44
|
-
(i) => l(
|
|
45
|
-
d(c, t, s),
|
|
46
|
-
() => {
|
|
47
|
-
throw i;
|
|
48
|
-
}
|
|
49
|
-
)
|
|
50
|
-
);
|
|
51
|
-
return l(h, () => ({ artifact: n, results: c }));
|
|
52
|
-
}
|
|
53
|
-
function g(o) {
|
|
54
|
-
return f(o, (r) => {
|
|
55
|
-
const e = r.result.commit;
|
|
56
|
-
if (!e)
|
|
57
|
-
return;
|
|
58
|
-
const s = e();
|
|
59
|
-
if (k(s))
|
|
60
|
-
return s.then(() => {
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function d(o, r, e) {
|
|
65
|
-
const s = r.map((t) => t.key), n = s, c = o.map((t) => ({
|
|
66
|
-
result: t.result,
|
|
67
|
-
hook: t.hook
|
|
68
|
-
})).filter((t) => t.result.rollback).map((t) => ({
|
|
69
|
-
key: t.hook.key,
|
|
70
|
-
run: t.result.rollback
|
|
71
|
-
}));
|
|
72
|
-
return b(c, {
|
|
73
|
-
source: "extension",
|
|
74
|
-
onError: ({ error: t }) => {
|
|
75
|
-
e({
|
|
76
|
-
error: t,
|
|
77
|
-
extensionKeys: s,
|
|
78
|
-
hookSequence: n
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
export {
|
|
84
|
-
g as commitExtensionResults,
|
|
85
|
-
E as createRollbackErrorMetadata,
|
|
86
|
-
d as rollbackExtensionResults,
|
|
87
|
-
R as runExtensionHooks
|
|
88
|
-
};
|
package/dist/helper.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,MAAM,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6IG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CA8BrD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { DiagnosticManager, DiagnosticManagerInitConfig } from './diagnostic-manager.types';
|
|
2
|
-
import { Helper, HelperKind, PipelineDiagnostic, PipelineReporter } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a diagnostic manager instance scoped to a pipeline.
|
|
5
|
-
*
|
|
6
|
-
* The manager collects helper registration conflicts, missing dependencies, unused helper
|
|
7
|
-
* notifications, and runtime diagnostics. It stores them until the reporter becomes available and
|
|
8
|
-
* replays the backlog immediately when one is provided. This keeps `createPipeline` focused on the
|
|
9
|
-
* high-level orchestration while the manager owns stateful bookkeeping concerns.
|
|
10
|
-
*
|
|
11
|
-
* @param params
|
|
12
|
-
* @example
|
|
13
|
-
* ```ts
|
|
14
|
-
* const manager = initDiagnosticManager({
|
|
15
|
-
* options,
|
|
16
|
-
* fragmentKind: 'fragment',
|
|
17
|
-
* builderKind: 'builder',
|
|
18
|
-
* });
|
|
19
|
-
* manager.flagUnusedHelper(helper, 'fragment', 'not executed', []);
|
|
20
|
-
* manager.record({ type: 'conflict', key: 'demo', mode: 'extend', helpers: [], message: '' });
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @category Pipeline
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
26
|
-
export declare function initDiagnosticManager<TRunOptions, TBuildOptions, TContext extends {
|
|
27
|
-
reporter: TReporter;
|
|
28
|
-
}, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>>(params: DiagnosticManagerInitConfig<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>): DiagnosticManager<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>;
|
|
29
|
-
//# sourceMappingURL=diagnostic-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-manager.d.ts","sourceRoot":"","sources":["../../src/internal/diagnostic-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACX,MAAM,EAEN,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CACpC,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,MAAM,EAAE,2BAA2B,CAClC,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,iBAAiB,CACnB,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,CA6LA"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
function w(i) {
|
|
2
|
-
const g = [], a = /* @__PURE__ */ new WeakMap();
|
|
3
|
-
let s;
|
|
4
|
-
const d = (e, n) => e === i.fragmentKind ? `Fragment helper "${n.key}"` : e === i.builderKind ? `Builder helper "${n.key}"` : `Helper "${n.key}"`, u = (e) => {
|
|
5
|
-
if (!s || !i.options.onDiagnostic)
|
|
6
|
-
return;
|
|
7
|
-
const n = a.get(s);
|
|
8
|
-
if (n?.has(e))
|
|
9
|
-
return;
|
|
10
|
-
const t = n ?? /* @__PURE__ */ new Set();
|
|
11
|
-
i.options.onDiagnostic({
|
|
12
|
-
reporter: s,
|
|
13
|
-
diagnostic: e
|
|
14
|
-
}), t.add(e), n || a.set(s, t);
|
|
15
|
-
}, c = (e) => {
|
|
16
|
-
g.push(e), u(e);
|
|
17
|
-
}, y = (e, n, t, o) => {
|
|
18
|
-
const r = i.options.createConflictDiagnostic?.({
|
|
19
|
-
helper: e,
|
|
20
|
-
existing: n,
|
|
21
|
-
message: o
|
|
22
|
-
}) ?? {
|
|
23
|
-
type: "conflict",
|
|
24
|
-
key: e.key,
|
|
25
|
-
mode: e.mode,
|
|
26
|
-
helpers: [
|
|
27
|
-
n.origin ?? n.key,
|
|
28
|
-
e.origin ?? e.key
|
|
29
|
-
],
|
|
30
|
-
message: o,
|
|
31
|
-
kind: t
|
|
32
|
-
};
|
|
33
|
-
c(r);
|
|
34
|
-
}, p = (e, n, t) => {
|
|
35
|
-
const o = `${d(
|
|
36
|
-
t,
|
|
37
|
-
e
|
|
38
|
-
)} depends on unknown helper "${n}".`, r = i.options.createMissingDependencyDiagnostic?.({
|
|
39
|
-
helper: e,
|
|
40
|
-
dependency: n,
|
|
41
|
-
message: o
|
|
42
|
-
}) ?? {
|
|
43
|
-
type: "missing-dependency",
|
|
44
|
-
key: e.key,
|
|
45
|
-
dependency: n,
|
|
46
|
-
message: o,
|
|
47
|
-
kind: t,
|
|
48
|
-
helper: e.origin ?? e.key
|
|
49
|
-
};
|
|
50
|
-
c(r);
|
|
51
|
-
}, f = (e, n, t, o) => {
|
|
52
|
-
const r = `${d(n, e)} ${t}.`, k = i.options.createUnusedHelperDiagnostic?.({
|
|
53
|
-
helper: e,
|
|
54
|
-
message: r
|
|
55
|
-
}) ?? {
|
|
56
|
-
type: "unused-helper",
|
|
57
|
-
key: e.key,
|
|
58
|
-
message: r,
|
|
59
|
-
kind: n,
|
|
60
|
-
helper: e.origin ?? e.key,
|
|
61
|
-
dependsOn: o
|
|
62
|
-
};
|
|
63
|
-
c(k);
|
|
64
|
-
};
|
|
65
|
-
return {
|
|
66
|
-
describeHelper: d,
|
|
67
|
-
flagConflict: y,
|
|
68
|
-
flagMissingDependency: p,
|
|
69
|
-
flagUnusedHelper: f,
|
|
70
|
-
reviewUnusedHelpers: (e, n, t) => {
|
|
71
|
-
for (const o of e)
|
|
72
|
-
n.has(o.id) || f(
|
|
73
|
-
o.helper,
|
|
74
|
-
t,
|
|
75
|
-
"was registered but never executed",
|
|
76
|
-
o.helper.dependsOn
|
|
77
|
-
);
|
|
78
|
-
},
|
|
79
|
-
setReporter: (e) => {
|
|
80
|
-
if (s = e, !!s)
|
|
81
|
-
for (const n of g)
|
|
82
|
-
u(n);
|
|
83
|
-
},
|
|
84
|
-
record: c,
|
|
85
|
-
readDiagnostics: () => g
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
export {
|
|
89
|
-
w as initDiagnosticManager
|
|
90
|
-
};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { RegisteredHelper } from '../dependency-graph';
|
|
2
|
-
import { CreatePipelineOptions, Helper, HelperDescriptor, HelperKind, PipelineDiagnostic, PipelineReporter } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Shared structural contract for the diagnostic subsystem used by {@link createPipeline}.
|
|
5
|
-
*
|
|
6
|
-
* The `DiagnosticManager` is intentionally generic so that downstream pipelines can customise
|
|
7
|
-
* context, helper kinds, artifact shapes, and reporter implementations without leaking internal
|
|
8
|
-
* types. All implementations produced by {@link initDiagnosticManager} honour this interface.
|
|
9
|
-
*
|
|
10
|
-
* @template TRunOptions - Options accepted by `pipeline.run()`
|
|
11
|
-
* @template TBuildOptions - Options produced by `createBuildOptions`
|
|
12
|
-
* @template TContext - Pipeline execution context, including the reporter instance
|
|
13
|
-
* @template TReporter - Reporter type used to publish diagnostics
|
|
14
|
-
* @template TDraft - Fragment draft produced before builders execute
|
|
15
|
-
* @template TArtifact - Final artifact emitted by the pipeline
|
|
16
|
-
* @template TDiagnostic - Diagnostic entry recorded during execution
|
|
17
|
-
* @template TRunResult - Result returned by `pipeline.run()`
|
|
18
|
-
* @template TFragmentInput - Input passed to fragment helpers
|
|
19
|
-
* @template TFragmentOutput - Output produced by fragment helpers
|
|
20
|
-
* @template TBuilderInput - Input passed to builder helpers
|
|
21
|
-
* @template TBuilderOutput - Output produced by builder helpers
|
|
22
|
-
* @template TFragmentKind - Helper kind identifier for fragment helpers
|
|
23
|
-
* @template TBuilderKind - Helper kind identifier for builder helpers
|
|
24
|
-
* @template TFragmentHelper - Helper implementation registered in the fragment stage
|
|
25
|
-
* @template TBuilderHelper - Helper implementation registered in the builder stage
|
|
26
|
-
*
|
|
27
|
-
* @category Pipeline
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
export interface DiagnosticManager<TRunOptions, TBuildOptions, TContext extends {
|
|
31
|
-
reporter: TReporter;
|
|
32
|
-
}, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>> {
|
|
33
|
-
readonly describeHelper: (kind: HelperKind, helper: HelperDescriptor) => string;
|
|
34
|
-
readonly flagConflict: (helper: HelperDescriptor, existing: HelperDescriptor, kind: HelperKind, message: string) => void;
|
|
35
|
-
readonly flagMissingDependency: (helper: HelperDescriptor, dependency: string, kind: HelperKind) => void;
|
|
36
|
-
readonly flagUnusedHelper: (helper: HelperDescriptor, kind: HelperKind, reason: string, dependsOn: readonly string[]) => void;
|
|
37
|
-
readonly reviewUnusedHelpers: <THelper extends HelperDescriptor>(entries: RegisteredHelper<THelper>[], visited: Set<string>, kind: HelperKind) => void;
|
|
38
|
-
readonly setReporter: (reporter: TReporter | undefined) => void;
|
|
39
|
-
readonly record: (diagnostic: TDiagnostic) => void;
|
|
40
|
-
readonly readDiagnostics: () => readonly TDiagnostic[];
|
|
41
|
-
readonly __types?: {
|
|
42
|
-
readonly runOptions: TRunOptions;
|
|
43
|
-
readonly buildOptions: TBuildOptions;
|
|
44
|
-
readonly draft: TDraft;
|
|
45
|
-
readonly artifact: TArtifact;
|
|
46
|
-
readonly runResult: TRunResult;
|
|
47
|
-
readonly fragmentInput: TFragmentInput;
|
|
48
|
-
readonly fragmentOutput: TFragmentOutput;
|
|
49
|
-
readonly builderInput: TBuilderInput;
|
|
50
|
-
readonly builderOutput: TBuilderOutput;
|
|
51
|
-
readonly fragmentHelper: TFragmentHelper;
|
|
52
|
-
readonly builderHelper: TBuilderHelper;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Configuration object consumed by {@link initDiagnosticManager}. Splitting the type from the
|
|
57
|
-
* implementation keeps the orchestration module lightweight while enabling re-use in tests.
|
|
58
|
-
*
|
|
59
|
-
* @category Pipeline
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
62
|
-
export interface DiagnosticManagerInitConfig<TRunOptions, TBuildOptions, TContext extends {
|
|
63
|
-
reporter: TReporter;
|
|
64
|
-
}, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>> {
|
|
65
|
-
readonly options: CreatePipelineOptions<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>;
|
|
66
|
-
readonly fragmentKind: TFragmentKind;
|
|
67
|
-
readonly builderKind: TBuilderKind;
|
|
68
|
-
}
|
|
69
|
-
export { ErrorFactory } from "../error-factory";
|
|
70
|
-
//# sourceMappingURL=diagnostic-manager.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-manager.types.d.ts","sourceRoot":"","sources":["../../src/internal/diagnostic-manager.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-coordinator.d.ts","sourceRoot":"","sources":["../../src/internal/extension-coordinator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,oBAAoB,EAEpB,sBAAsB,EACtB,MAAM,+BAA+B,CAAC;AAGvC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACrE,eAAe,EAAE,CAChB,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KACxD,IAAI,GACP,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CA+ErD;AAED,YAAY,EACX,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-coordinator.types.d.ts","sourceRoot":"","sources":["../../src/internal/extension-coordinator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,4BAA4B,EAC5B,sCAAsC,EACtC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;IAC1E,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAC1C,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,EAAE,CAAC;CACJ;AAED;;;;;;;GAOG;AACH;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CACpE,SAAQ,iBAAiB;IACzB,QAAQ,CAAC,aAAa,EAAE,sCAAsC,CAAC;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B,CAClD,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,CAAC;CACF;AAED,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAClE,QAAQ,CAAC,YAAY,EAAE,CACtB,SAAS,EAAE,kBAAkB,CAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,CAAC,WAAW,CAAC,EACd,OAAO,EAAE;QACR,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAC1C,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,EAAE,CAAC;QACJ,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CACjD,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,CAAC;KACF,KACG,YAAY,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EACvC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KACzD,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAChB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KACzD,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,CAC7B,IAAI,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KACvD,IAAI,CAAC;CACV;AAED,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { RegisteredHelper } from '../dependency-graph';
|
|
2
|
-
import { ErrorFactory } from '../error-factory';
|
|
3
|
-
import { HelperDescriptor, HelperExecutionSnapshot, HelperKind } from '../types';
|
|
4
|
-
/**
|
|
5
|
-
* Creates a snapshot summarising helper execution for a specific stage.
|
|
6
|
-
*
|
|
7
|
-
* @param entries
|
|
8
|
-
* @param visited
|
|
9
|
-
* @param kind
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* const snapshot = buildExecutionSnapshot(fragmentEntries, visited, 'fragment');
|
|
13
|
-
* console.log(snapshot.executed.length);
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @category Pipeline
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
export declare function buildExecutionSnapshot<THelper extends HelperDescriptor<TKind>, TKind extends HelperKind>(entries: RegisteredHelper<THelper>[], visited: Set<string>, kind: TKind): HelperExecutionSnapshot<TKind>;
|
|
20
|
-
/**
|
|
21
|
-
* Throws when required helpers in a stage were never executed.
|
|
22
|
-
*
|
|
23
|
-
* @param entries
|
|
24
|
-
* @param snapshot
|
|
25
|
-
* @param kind
|
|
26
|
-
* @param describeHelper
|
|
27
|
-
* @param createError
|
|
28
|
-
* @category Pipeline
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
export declare function assertAllHelpersExecuted<THelper extends HelperDescriptor<TKind>, TKind extends HelperKind>(entries: RegisteredHelper<THelper>[], snapshot: HelperExecutionSnapshot<TKind>, kind: TKind, describeHelper: (kind: HelperKind, helper: HelperDescriptor) => string, createError: ErrorFactory): void;
|
|
32
|
-
//# sourceMappingURL=helper-execution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper-execution.d.ts","sourceRoot":"","sources":["../../src/internal/helper-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACX,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,SAAS,gBAAgB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,UAAU,EAExB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,IAAI,EAAE,KAAK,GACT,uBAAuB,CAAC,KAAK,CAAC,CAsBhC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,SAAS,gBAAgB,CAAC,KAAK,CAAC,EACvC,KAAK,SAAS,UAAU,EAExB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,EACxC,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,EACtE,WAAW,EAAE,YAAY,GACvB,IAAI,CAuBN"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
function c(o, n, l) {
|
|
2
|
-
const s = [], t = [], i = [];
|
|
3
|
-
for (const r of o) {
|
|
4
|
-
const e = r.helper.key;
|
|
5
|
-
s.push(e), n.has(r.id) ? t.push(e) : i.push(e);
|
|
6
|
-
}
|
|
7
|
-
return {
|
|
8
|
-
kind: l,
|
|
9
|
-
registered: s,
|
|
10
|
-
executed: t,
|
|
11
|
-
missing: i
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
function u(o, n, l, s, t) {
|
|
15
|
-
if (n.missing.length === 0)
|
|
16
|
-
return;
|
|
17
|
-
const i = o.filter(
|
|
18
|
-
(e) => n.missing.includes(e.helper.key) && !e.helper.optional
|
|
19
|
-
);
|
|
20
|
-
if (i.length === 0)
|
|
21
|
-
return;
|
|
22
|
-
const r = i.map(
|
|
23
|
-
(e) => s(l, e.helper)
|
|
24
|
-
);
|
|
25
|
-
throw t(
|
|
26
|
-
"ValidationError",
|
|
27
|
-
`Pipeline finalisation aborted because ${r.join(", ")} did not execute.`
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
u as assertAllHelpersExecuted,
|
|
32
|
-
c as buildExecutionSnapshot
|
|
33
|
-
};
|
|
@@ -1,127 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-program-utils.d.ts","sourceRoot":"","sources":["../../src/internal/pipeline-program-utils.ts"],"names":[],"mappings":"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"}
|