@cat-factory/contracts 0.285.0 → 0.287.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/agent-presentation.d.ts +30 -0
- package/dist/agent-presentation.d.ts.map +1 -1
- package/dist/agent-presentation.js +15 -0
- package/dist/agent-presentation.js.map +1 -1
- package/dist/binary-capabilities.d.ts +66 -1
- package/dist/binary-capabilities.d.ts.map +1 -1
- package/dist/binary-capabilities.js +105 -1
- package/dist/binary-capabilities.js.map +1 -1
- package/dist/binary-generators.d.ts +2 -2
- package/dist/binary-modalities.d.ts +18 -0
- package/dist/binary-modalities.d.ts.map +1 -1
- package/dist/binary-modalities.js +28 -0
- package/dist/binary-modalities.js.map +1 -1
- package/dist/binary-outputs.d.ts +38 -0
- package/dist/binary-outputs.d.ts.map +1 -1
- package/dist/binary-outputs.js +17 -1
- package/dist/binary-outputs.js.map +1 -1
- package/dist/build-ladder.d.ts +37 -0
- package/dist/build-ladder.d.ts.map +1 -0
- package/dist/build-ladder.js +46 -0
- package/dist/build-ladder.js.map +1 -0
- package/dist/entities.d.ts +39 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +26 -0
- package/dist/entities.js.map +1 -1
- package/dist/execution.d.ts +46 -6
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +17 -3
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/platform-agent-kinds.d.ts +19 -0
- package/dist/platform-agent-kinds.d.ts.map +1 -0
- package/dist/platform-agent-kinds.js +30 -0
- package/dist/platform-agent-kinds.js.map +1 -0
- package/dist/public-spec.d.ts +152 -2
- package/dist/public-spec.d.ts.map +1 -1
- package/dist/public-spec.js +74 -2
- package/dist/public-spec.js.map +1 -1
- package/dist/requests.d.ts +17 -0
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +10 -0
- package/dist/requests.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +16 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/bug-hunt.d.ts +16 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +1251 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/execution.js +13 -1
- package/dist/routes/execution.js.map +1 -1
- package/dist/routes/human-review.d.ts +8 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +40 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/pipelines.d.ts +30 -0
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/public-spec.d.ts +110 -0
- package/dist/routes/public-spec.d.ts.map +1 -1
- package/dist/routes/public-spec.js +28 -8
- package/dist/routes/public-spec.js.map +1 -1
- package/dist/routes/visual-confirm.d.ts +24 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +28 -2
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +32 -9
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +18 -8
- package/dist/snapshot.js.map +1 -1
- package/dist/step-conditions.d.ts +98 -0
- package/dist/step-conditions.d.ts.map +1 -0
- package/dist/step-conditions.js +109 -0
- package/dist/step-conditions.js.map +1 -0
- package/package.json +1 -1
package/dist/snapshot.js
CHANGED
|
@@ -298,22 +298,32 @@ export const workspaceSnapshotSchema = v.object({
|
|
|
298
298
|
* (or absent → treated as 0) means an update is available. Static, workspace-independent;
|
|
299
299
|
* built by the shared `WorkspaceService.snapshot()` (so it is automatically symmetric across
|
|
300
300
|
* runtimes), but optional on the wire for forward-compatibility.
|
|
301
|
+
*
|
|
302
|
+
* OFFERED entries only: an INTERNAL pipeline is withheld here for the same reason it is withheld
|
|
303
|
+
* from `pipelines`. This map is not merely a version lookup — the health advisory reads its keys
|
|
304
|
+
* as the set of built-ins that EXIST, and derives "new built-ins available" as those keys minus
|
|
305
|
+
* the rows the SPA can see. An internal entry is in the first set and never in the second, so
|
|
306
|
+
* listing it would advertise a pipeline nobody may pick, permanently and un-dismissably.
|
|
301
307
|
*/
|
|
302
308
|
pipelineCatalogVersions: v.optional(v.record(v.string(), v.number())),
|
|
303
309
|
/**
|
|
304
|
-
* The catalog's own NAME for each id
|
|
305
|
-
*
|
|
310
|
+
* The catalog's own NAME for each catalog id: the companion map, built from the same
|
|
311
|
+
* `seedPipelines()` read.
|
|
306
312
|
*
|
|
307
|
-
* It exists for the
|
|
308
|
-
* built-ins available" advisory. Without it the SPA humanised the id, which is passable for
|
|
309
|
-
* shipped built-in (`pl_review` → "review") and wrong for the case that made this reachable, a
|
|
313
|
+
* It exists for the moments a catalog id has no stored row to read a name off. The first is the
|
|
314
|
+
* "new built-ins available" advisory. Without it the SPA humanised the id, which is passable for
|
|
315
|
+
* a shipped built-in (`pl_review` → "review") and wrong for the case that made this reachable, a
|
|
310
316
|
* deployment's own registered pipeline behind a reusable operation: `pl_org_introduce_api`
|
|
311
317
|
* rendered as "org introduce api", offering the operation's pipeline under a name that appears
|
|
312
|
-
* nowhere else in the product.
|
|
318
|
+
* nowhere else in the product. The second is a task PINNED to an INTERNAL pipeline (the
|
|
319
|
+
* docs-refresh preset spawns onto one): the card that starts it has no library row to name.
|
|
320
|
+
*
|
|
321
|
+
* So this is a SUPERSET of `pipelineCatalogVersions` — a display dictionary for any catalog id
|
|
322
|
+
* the SPA may hold, where that map is the narrower "what may be offered". Do not index one by
|
|
323
|
+
* the other's keys; ask each for what it answers.
|
|
313
324
|
*
|
|
314
325
|
* A separate map rather than widening the versions record, because that record is a
|
|
315
|
-
* `Record<string, number>` the SPA compares numerically
|
|
316
|
-
* (one source, one pass), so a reader indexes either by the other's key.
|
|
326
|
+
* `Record<string, number>` the SPA compares numerically.
|
|
317
327
|
*/
|
|
318
328
|
pipelineCatalogNames: v.optional(v.record(v.string(), v.string())),
|
|
319
329
|
/**
|
package/dist/snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** The block `type` a service frame carries when it owns a rendered UI. */
|
|
3
|
+
export declare const FRONTEND_BLOCK_TYPE = "frontend";
|
|
4
|
+
/**
|
|
5
|
+
* Which half of a run's service scope a step needs:
|
|
6
|
+
*
|
|
7
|
+
* - `frontend` — run only when the change touches a service declared as a frontend.
|
|
8
|
+
* - `backend` — run only when it touches a service that is NOT a frontend.
|
|
9
|
+
*
|
|
10
|
+
* A full-stack task (a frontend service plus an involved backend service, or vice versa) is in
|
|
11
|
+
* BOTH scopes, so a pipeline carrying both testers runs both on it.
|
|
12
|
+
*/
|
|
13
|
+
export declare const stepServiceScopeSchema: v.PicklistSchema<["frontend", "backend"], undefined>;
|
|
14
|
+
export type StepServiceScope = v.InferOutput<typeof stepServiceScopeSchema>;
|
|
15
|
+
/**
|
|
16
|
+
* A step's run condition: what has to be true of the run for this step to apply at all.
|
|
17
|
+
* Today the only axis is {@link stepServiceScopeSchema}; it is an OBJECT rather than a bare
|
|
18
|
+
* picklist so the next axis is a field beside it rather than a second per-step knob.
|
|
19
|
+
*
|
|
20
|
+
* Absent ⇒ unconditional, which is every step that does not declare one.
|
|
21
|
+
*/
|
|
22
|
+
export declare const stepRunConditionSchema: v.ObjectSchema<{
|
|
23
|
+
readonly serviceScope: v.PicklistSchema<["frontend", "backend"], undefined>;
|
|
24
|
+
}, undefined>;
|
|
25
|
+
export type StepRunCondition = v.InferOutput<typeof stepRunConditionSchema>;
|
|
26
|
+
/**
|
|
27
|
+
* The service scope of a run: whether the services it may change include a frontend, a
|
|
28
|
+
* non-frontend, or both.
|
|
29
|
+
*
|
|
30
|
+
* BOTH FALSE is a real and distinct state — the run's services could not be resolved (a task
|
|
31
|
+
* outside any service frame) — and it is deliberately not spelled as an "unknown" flag, because
|
|
32
|
+
* every resolved frame contributes exactly one of the two: a scope with neither can only be an
|
|
33
|
+
* empty one. {@link stepConditionSatisfied} reads that state as "nothing to judge" and runs the
|
|
34
|
+
* step, the same fail-safe-to-thoroughness direction `onMissingEstimate: 'run'` takes.
|
|
35
|
+
*
|
|
36
|
+
* A MIXED scope (both halves true) is what this reduction exists to express, but no board state
|
|
37
|
+
* produces one today, and that is a property of the CONNECTION model rather than of this file: a
|
|
38
|
+
* run's frames are its own service frame plus the task's involved services, involved services must
|
|
39
|
+
* be connection neighbours, and only a `service`-type frame may declare a connection or be named as
|
|
40
|
+
* one (`serviceConnectionsError`, and the narrowing that drops the field on every other frame type).
|
|
41
|
+
* So a frontend frame has no neighbours in either direction, a frontend task can name no involved
|
|
42
|
+
* service, and every involved service is a non-frontend. Both halves stay because the reduction is
|
|
43
|
+
* the honest statement of "what does this run change" and it is the connection model, not this
|
|
44
|
+
* function, that would have to change to widen it. Do NOT re-derive the mixed case in a test by
|
|
45
|
+
* hand-building a board with a service connected to a frontend: that board cannot be saved.
|
|
46
|
+
*/
|
|
47
|
+
export interface RunServiceScope {
|
|
48
|
+
/** Some service in scope is declared `type: 'frontend'` — there is a UI to exercise. */
|
|
49
|
+
frontend: boolean;
|
|
50
|
+
/** Some service in scope is NOT a frontend — there is an API/service behind it. */
|
|
51
|
+
backend: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Reduce the service frames a run may change — its own service plus the task's involved
|
|
55
|
+
* services — into the {@link RunServiceScope} the step conditions read.
|
|
56
|
+
*
|
|
57
|
+
* Takes the FRAMES rather than the block, because "what does this run change" is the ancestry
|
|
58
|
+
* walk plus the involved-service resolution, and both already happen in the engine. Frames are
|
|
59
|
+
* deduped by the caller; passing the same frame twice changes nothing here.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveRunServiceScope(frames: readonly {
|
|
62
|
+
type?: string | null;
|
|
63
|
+
}[]): RunServiceScope;
|
|
64
|
+
/**
|
|
65
|
+
* Why a run step finished as `skipped` rather than running — the three axes that can skip one,
|
|
66
|
+
* as a member the SPA maps to translated copy rather than prose the backend composed:
|
|
67
|
+
*
|
|
68
|
+
* - `gated` — the step's estimate gate was not met (the task scored below its thresholds).
|
|
69
|
+
* - `condition` — the step's {@link stepRunConditionSchema} did not match the run's service
|
|
70
|
+
* scope. The step still carries the condition, so a reader wanting the specific
|
|
71
|
+
* sentence ("no frontend in scope") reads `serviceScope` off it; this says only
|
|
72
|
+
* which axis fired, so the two can never disagree about the scope.
|
|
73
|
+
* - `producer_skipped` — a COMPANION whose producer was itself skipped, so there is nothing for
|
|
74
|
+
* it to grade. Distinct from `gated` because the fix is different: the reader
|
|
75
|
+
* has to look at the producer, not at this step's own thresholds.
|
|
76
|
+
* - `run_complete` — an earlier step ENDED the run (a `bug-intake` fire that found nothing to
|
|
77
|
+
* adopt), so everything after it was closed out untouched. Nothing about THIS
|
|
78
|
+
* step decided it, which is why it cannot borrow any of the three above.
|
|
79
|
+
*
|
|
80
|
+
* PERSISTED and CLOSED, so retiring a member does not remove it from stored runs: read it with
|
|
81
|
+
* {@link isStepSkipReason} and render an unrecognised value as "skipped" rather than crashing or
|
|
82
|
+
* guessing onto a current member.
|
|
83
|
+
*/
|
|
84
|
+
export declare const stepSkipReasonSchema: v.PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>;
|
|
85
|
+
export type StepSkipReason = v.InferOutput<typeof stepSkipReasonSchema>;
|
|
86
|
+
/**
|
|
87
|
+
* Narrow a persisted `skipReason` to a member this build still knows, DERIVED from the picklist's
|
|
88
|
+
* own options so adding a member cannot leave this behind. A stored run may name a member since
|
|
89
|
+
* retired, and a browser may hold a bundle older than the member it reads.
|
|
90
|
+
*/
|
|
91
|
+
export declare function isStepSkipReason(value: unknown): value is StepSkipReason;
|
|
92
|
+
/**
|
|
93
|
+
* Whether a step carrying `condition` applies to a run of `scope`. An absent condition is
|
|
94
|
+
* unconditional; an unresolvable scope (see {@link RunServiceScope}) runs the step rather than
|
|
95
|
+
* silently dropping it.
|
|
96
|
+
*/
|
|
97
|
+
export declare function stepConditionSatisfied(condition: StepRunCondition | null | undefined, scope: RunServiceScope): boolean;
|
|
98
|
+
//# sourceMappingURL=step-conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-conditions.d.ts","sourceRoot":"","sources":["../src/step-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuB5B,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sDAAsC,CAAA;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;aAEjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,QAAQ,EAAE,OAAO,CAAA;IACjB,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,GAC1C,eAAe,CAQjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,yFAK/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC9C,KAAK,EAAE,eAAe,GACrB,OAAO,CAIT"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Per-step RUN CONDITIONS — the second axis on which a pipeline step can be
|
|
4
|
+
// conditional, beside the task-estimate gating in `stepGatingSchema`.
|
|
5
|
+
//
|
|
6
|
+
// The two answer different questions and neither can express the other. Estimate
|
|
7
|
+
// gating asks "is this task big enough to be worth the step", a judgement about
|
|
8
|
+
// SIZE that only exists once a `task-estimator` has run. A run condition asks
|
|
9
|
+
// "does this step apply to the kind of change this run makes at all", a fact about
|
|
10
|
+
// the SERVICES the run touches that is knowable before the first dispatch and can
|
|
11
|
+
// never be recovered from a score: a UI test on a task that changes no frontend is
|
|
12
|
+
// not a cheap test, it is a test of nothing.
|
|
13
|
+
//
|
|
14
|
+
// The first case is the tester pair. A pipeline that wants both `tester-ui` and
|
|
15
|
+
// `tester-api` should run the browser pass only where there is a UI in scope and
|
|
16
|
+
// the API pass only where there is a service behind it — which is what lets ONE
|
|
17
|
+
// build preset carry both testers and be right on a frontend task and on a backend
|
|
18
|
+
// task, instead of the two near-identical presets it used to take. (A task in BOTH
|
|
19
|
+
// scopes at once is what {@link RunServiceScope} would express; see the note there
|
|
20
|
+
// for why no board state produces one yet.)
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
/** The block `type` a service frame carries when it owns a rendered UI. */
|
|
23
|
+
export const FRONTEND_BLOCK_TYPE = 'frontend';
|
|
24
|
+
/**
|
|
25
|
+
* Which half of a run's service scope a step needs:
|
|
26
|
+
*
|
|
27
|
+
* - `frontend` — run only when the change touches a service declared as a frontend.
|
|
28
|
+
* - `backend` — run only when it touches a service that is NOT a frontend.
|
|
29
|
+
*
|
|
30
|
+
* A full-stack task (a frontend service plus an involved backend service, or vice versa) is in
|
|
31
|
+
* BOTH scopes, so a pipeline carrying both testers runs both on it.
|
|
32
|
+
*/
|
|
33
|
+
export const stepServiceScopeSchema = v.picklist(['frontend', 'backend']);
|
|
34
|
+
/**
|
|
35
|
+
* A step's run condition: what has to be true of the run for this step to apply at all.
|
|
36
|
+
* Today the only axis is {@link stepServiceScopeSchema}; it is an OBJECT rather than a bare
|
|
37
|
+
* picklist so the next axis is a field beside it rather than a second per-step knob.
|
|
38
|
+
*
|
|
39
|
+
* Absent ⇒ unconditional, which is every step that does not declare one.
|
|
40
|
+
*/
|
|
41
|
+
export const stepRunConditionSchema = v.object({
|
|
42
|
+
serviceScope: stepServiceScopeSchema,
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Reduce the service frames a run may change — its own service plus the task's involved
|
|
46
|
+
* services — into the {@link RunServiceScope} the step conditions read.
|
|
47
|
+
*
|
|
48
|
+
* Takes the FRAMES rather than the block, because "what does this run change" is the ancestry
|
|
49
|
+
* walk plus the involved-service resolution, and both already happen in the engine. Frames are
|
|
50
|
+
* deduped by the caller; passing the same frame twice changes nothing here.
|
|
51
|
+
*/
|
|
52
|
+
export function resolveRunServiceScope(frames) {
|
|
53
|
+
let frontend = false;
|
|
54
|
+
let backend = false;
|
|
55
|
+
for (const frame of frames) {
|
|
56
|
+
if (frame.type === FRONTEND_BLOCK_TYPE)
|
|
57
|
+
frontend = true;
|
|
58
|
+
else
|
|
59
|
+
backend = true;
|
|
60
|
+
}
|
|
61
|
+
return { frontend, backend };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Why a run step finished as `skipped` rather than running — the three axes that can skip one,
|
|
65
|
+
* as a member the SPA maps to translated copy rather than prose the backend composed:
|
|
66
|
+
*
|
|
67
|
+
* - `gated` — the step's estimate gate was not met (the task scored below its thresholds).
|
|
68
|
+
* - `condition` — the step's {@link stepRunConditionSchema} did not match the run's service
|
|
69
|
+
* scope. The step still carries the condition, so a reader wanting the specific
|
|
70
|
+
* sentence ("no frontend in scope") reads `serviceScope` off it; this says only
|
|
71
|
+
* which axis fired, so the two can never disagree about the scope.
|
|
72
|
+
* - `producer_skipped` — a COMPANION whose producer was itself skipped, so there is nothing for
|
|
73
|
+
* it to grade. Distinct from `gated` because the fix is different: the reader
|
|
74
|
+
* has to look at the producer, not at this step's own thresholds.
|
|
75
|
+
* - `run_complete` — an earlier step ENDED the run (a `bug-intake` fire that found nothing to
|
|
76
|
+
* adopt), so everything after it was closed out untouched. Nothing about THIS
|
|
77
|
+
* step decided it, which is why it cannot borrow any of the three above.
|
|
78
|
+
*
|
|
79
|
+
* PERSISTED and CLOSED, so retiring a member does not remove it from stored runs: read it with
|
|
80
|
+
* {@link isStepSkipReason} and render an unrecognised value as "skipped" rather than crashing or
|
|
81
|
+
* guessing onto a current member.
|
|
82
|
+
*/
|
|
83
|
+
export const stepSkipReasonSchema = v.picklist([
|
|
84
|
+
'gated',
|
|
85
|
+
'condition',
|
|
86
|
+
'producer_skipped',
|
|
87
|
+
'run_complete',
|
|
88
|
+
]);
|
|
89
|
+
/**
|
|
90
|
+
* Narrow a persisted `skipReason` to a member this build still knows, DERIVED from the picklist's
|
|
91
|
+
* own options so adding a member cannot leave this behind. A stored run may name a member since
|
|
92
|
+
* retired, and a browser may hold a bundle older than the member it reads.
|
|
93
|
+
*/
|
|
94
|
+
export function isStepSkipReason(value) {
|
|
95
|
+
return (typeof value === 'string' && stepSkipReasonSchema.options.includes(value));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Whether a step carrying `condition` applies to a run of `scope`. An absent condition is
|
|
99
|
+
* unconditional; an unresolvable scope (see {@link RunServiceScope}) runs the step rather than
|
|
100
|
+
* silently dropping it.
|
|
101
|
+
*/
|
|
102
|
+
export function stepConditionSatisfied(condition, scope) {
|
|
103
|
+
if (!condition)
|
|
104
|
+
return true;
|
|
105
|
+
if (!scope.frontend && !scope.backend)
|
|
106
|
+
return true;
|
|
107
|
+
return condition.serviceScope === 'frontend' ? scope.frontend : scope.backend;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=step-conditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-conditions.js","sourceRoot":"","sources":["../src/step-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,4EAA4E;AAC5E,sEAAsE;AACtE,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,8EAA8E;AAC9E,mFAAmF;AACnF,kFAAkF;AAClF,mFAAmF;AACnF,6CAA6C;AAC7C,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,4CAA4C;AAC5C,8EAA8E;AAE9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;AAGzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,sBAAsB;CACrC,CAAC,CAAA;AA+BF;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA2C;IAE3C,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAAE,QAAQ,GAAG,IAAI,CAAA;;YAClD,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,OAAO;IACP,WAAW;IACX,kBAAkB;IAClB,cAAc;CACf,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAK,oBAAoB,CAAC,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjG,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAA8C,EAC9C,KAAsB;IAEtB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAClD,OAAO,SAAS,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AAC/E,CAAC"}
|