@superblocksteam/shared 0.9602.0 → 0.9603.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/types/codeSecurity/index.d.ts +38 -0
- package/dist/types/codeSecurity/index.d.ts.map +1 -0
- package/dist/types/codeSecurity/index.js +10 -0
- package/dist/types/codeSecurity/index.js.map +1 -0
- package/dist/types/deployment/deployQueueStatus.d.ts +31 -0
- package/dist/types/deployment/deployQueueStatus.d.ts.map +1 -1
- package/dist/types/deployment/index.d.ts +1 -1
- package/dist/types/deployment/index.d.ts.map +1 -1
- package/dist/types/deployment/index.js.map +1 -1
- package/dist/types/index.d.ts +8 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -5
- package/dist/types/index.js.map +1 -1
- package/dist/types/pagination/index.d.ts +7 -0
- package/dist/types/pagination/index.d.ts.map +1 -0
- package/dist/types/pagination/index.js +3 -0
- package/dist/types/pagination/index.js.map +1 -0
- package/dist/types/publishPipeline/index.d.ts +78 -0
- package/dist/types/publishPipeline/index.d.ts.map +1 -0
- package/dist/types/publishPipeline/index.js +56 -0
- package/dist/types/publishPipeline/index.js.map +1 -0
- package/dist/types/publishPipeline/plan.d.ts +18 -0
- package/dist/types/publishPipeline/plan.d.ts.map +1 -0
- package/dist/types/publishPipeline/plan.js +110 -0
- package/dist/types/publishPipeline/plan.js.map +1 -0
- package/dist/types/publishPipeline/plan.test.d.ts +2 -0
- package/dist/types/publishPipeline/plan.test.d.ts.map +1 -0
- package/dist/types/publishPipeline/plan.test.js +181 -0
- package/dist/types/publishPipeline/plan.test.js.map +1 -0
- package/dist/types/publishPipeline/stepIds.test.d.ts +2 -0
- package/dist/types/publishPipeline/stepIds.test.d.ts.map +1 -0
- package/dist/types/publishPipeline/stepIds.test.js +34 -0
- package/dist/types/publishPipeline/stepIds.test.js.map +1 -0
- package/dist/types/rbac/index.d.ts +2 -2
- package/dist/types/rbac/index.d.ts.map +1 -1
- package/dist/types/rbac/index.js +2 -2
- package/dist/types/rbac/index.js.map +1 -1
- package/dist-esm/types/codeSecurity/index.d.ts +38 -0
- package/dist-esm/types/codeSecurity/index.d.ts.map +1 -0
- package/dist-esm/types/codeSecurity/index.js +7 -0
- package/dist-esm/types/codeSecurity/index.js.map +1 -0
- package/dist-esm/types/deployment/deployQueueStatus.d.ts +31 -0
- package/dist-esm/types/deployment/deployQueueStatus.d.ts.map +1 -1
- package/dist-esm/types/deployment/index.d.ts +1 -1
- package/dist-esm/types/deployment/index.d.ts.map +1 -1
- package/dist-esm/types/deployment/index.js.map +1 -1
- package/dist-esm/types/index.d.ts +8 -5
- package/dist-esm/types/index.d.ts.map +1 -1
- package/dist-esm/types/index.js +8 -5
- package/dist-esm/types/index.js.map +1 -1
- package/dist-esm/types/pagination/index.d.ts +7 -0
- package/dist-esm/types/pagination/index.d.ts.map +1 -0
- package/dist-esm/types/pagination/index.js +2 -0
- package/dist-esm/types/pagination/index.js.map +1 -0
- package/dist-esm/types/publishPipeline/index.d.ts +78 -0
- package/dist-esm/types/publishPipeline/index.d.ts.map +1 -0
- package/dist-esm/types/publishPipeline/index.js +39 -0
- package/dist-esm/types/publishPipeline/index.js.map +1 -0
- package/dist-esm/types/publishPipeline/plan.d.ts +18 -0
- package/dist-esm/types/publishPipeline/plan.d.ts.map +1 -0
- package/dist-esm/types/publishPipeline/plan.js +104 -0
- package/dist-esm/types/publishPipeline/plan.js.map +1 -0
- package/dist-esm/types/publishPipeline/plan.test.d.ts +2 -0
- package/dist-esm/types/publishPipeline/plan.test.d.ts.map +1 -0
- package/dist-esm/types/publishPipeline/plan.test.js +179 -0
- package/dist-esm/types/publishPipeline/plan.test.js.map +1 -0
- package/dist-esm/types/publishPipeline/stepIds.test.d.ts +2 -0
- package/dist-esm/types/publishPipeline/stepIds.test.d.ts.map +1 -0
- package/dist-esm/types/publishPipeline/stepIds.test.js +32 -0
- package/dist-esm/types/publishPipeline/stepIds.test.js.map +1 -0
- package/dist-esm/types/rbac/index.d.ts +2 -2
- package/dist-esm/types/rbac/index.d.ts.map +1 -1
- package/dist-esm/types/rbac/index.js +2 -2
- package/dist-esm/types/rbac/index.js.map +1 -1
- package/package.json +1 -1
- package/src/types/codeSecurity/index.ts +51 -0
- package/src/types/deployment/deployQueueStatus.ts +35 -0
- package/src/types/deployment/index.ts +8 -1
- package/src/types/index.ts +8 -5
- package/src/types/pagination/index.ts +7 -0
- package/src/types/publishPipeline/index.ts +104 -0
- package/src/types/publishPipeline/plan.test.ts +200 -0
- package/src/types/publishPipeline/plan.ts +114 -0
- package/src/types/publishPipeline/stepIds.test.ts +35 -0
- package/src/types/rbac/index.ts +2 -2
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared contract for the publish pipeline: one ordered list of steps the
|
|
3
|
+
* server computes for the UI status poll (GET publish-pipeline). Domains
|
|
4
|
+
* project into these types; rich payloads ride in opaque `detail` and are only
|
|
5
|
+
* read by that domain's UI renderer.
|
|
6
|
+
*
|
|
7
|
+
* Status-only — it does not start execution and does not gate deploy.
|
|
8
|
+
* Mutations (publish-readiness/start, POST deployments) start work and keep
|
|
9
|
+
* their own authoritative checks (build, policy, database lifecycle reconcile);
|
|
10
|
+
* this plan only reflects progress for the rail.
|
|
11
|
+
*/
|
|
12
|
+
/** Which domain owns a step. Extend as new gates are added. */
|
|
13
|
+
export type PublishStepKind = 'build' | 'database_migration' | 'database_provisioning' | 'policy_gates' | 'publish';
|
|
14
|
+
/**
|
|
15
|
+
* Domain-agnostic status. Ordered here by roll-up precedence (worst first).
|
|
16
|
+
* `blocked` means this step's own check failed (remediation). Waiting on an
|
|
17
|
+
* earlier step is `pending` with optional `blockedBy`.
|
|
18
|
+
* `skipped` is a visible N/A row (e.g. Build when the app has no native-git remote).
|
|
19
|
+
*/
|
|
20
|
+
export type PublishStepStatus = 'failed' | 'blocked' | 'action_required' | 'stale' | 'in_progress' | 'pending' | 'advisory' | 'passed' | 'skipped';
|
|
21
|
+
export type BuildPublishStepDetail = {
|
|
22
|
+
buildStatus: string | null;
|
|
23
|
+
error?: string;
|
|
24
|
+
};
|
|
25
|
+
export type PublishDeployStepDetail = {
|
|
26
|
+
error?: string;
|
|
27
|
+
isLive?: boolean;
|
|
28
|
+
queueStatus: string;
|
|
29
|
+
};
|
|
30
|
+
export type PublishStep = {
|
|
31
|
+
/** Stable unique id in the plan (a PublishStepId; typed as string so unknown ids still flow through). */
|
|
32
|
+
id: string;
|
|
33
|
+
kind: PublishStepKind;
|
|
34
|
+
status: PublishStepStatus;
|
|
35
|
+
/** Human label for the step row (server-derived). */
|
|
36
|
+
displayName: string;
|
|
37
|
+
/** Static help text under the display name (not an error). */
|
|
38
|
+
description?: string;
|
|
39
|
+
/** Short subtitle / one-line error. */
|
|
40
|
+
summary?: string;
|
|
41
|
+
/** When status is pending and waiting on earlier steps. */
|
|
42
|
+
blockedBy?: PublishStepKind[];
|
|
43
|
+
/** Machine code when blocked/failed (e.g. POLICY_GATE_BLOCKED). */
|
|
44
|
+
blockingReason?: string;
|
|
45
|
+
/** Opaque domain payload; generic pipeline must not read this. */
|
|
46
|
+
detail?: unknown;
|
|
47
|
+
};
|
|
48
|
+
export type PublishPlanTarget = {
|
|
49
|
+
applicationId: string;
|
|
50
|
+
commitId: string;
|
|
51
|
+
};
|
|
52
|
+
export type PublishPlan = {
|
|
53
|
+
status: PublishStepStatus;
|
|
54
|
+
steps: PublishStep[];
|
|
55
|
+
target: PublishPlanTarget;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Single source of truth for publish-plan step ids. These are wire values: the
|
|
59
|
+
* server emits them on each step and the UI matches on them to wire custom
|
|
60
|
+
* detail panels. Keys are lowerCamelCase; values are the lowercase snake_case
|
|
61
|
+
* wire literals. Add new steps here and they become available to both sides.
|
|
62
|
+
*/
|
|
63
|
+
export declare const PublishStepId: {
|
|
64
|
+
readonly build: "build";
|
|
65
|
+
readonly databaseMigration: "database_migration";
|
|
66
|
+
readonly databaseProvisioning: "database_provisioning";
|
|
67
|
+
readonly policyGatesBeforeBuild: "policy_gates:before_build";
|
|
68
|
+
readonly policyGatesBeforeDeploy: "policy_gates:before_deploy";
|
|
69
|
+
readonly publish: "publish";
|
|
70
|
+
};
|
|
71
|
+
export type PublishStepId = (typeof PublishStepId)[keyof typeof PublishStepId];
|
|
72
|
+
/**
|
|
73
|
+
* Fixed spine order. Composer filters to steps that were emitted; order is always
|
|
74
|
+
* this sequence. Policy may emit before_build and/or before_deploy.
|
|
75
|
+
*/
|
|
76
|
+
export declare const PUBLISH_STEP_SPINE: readonly PublishStepId[];
|
|
77
|
+
export * from './plan.js';
|
|
78
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,yGAAyG;IACzG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EAO7C,CAAC;AAEX,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared contract for the publish pipeline: one ordered list of steps the
|
|
3
|
+
* server computes for the UI status poll (GET publish-pipeline). Domains
|
|
4
|
+
* project into these types; rich payloads ride in opaque `detail` and are only
|
|
5
|
+
* read by that domain's UI renderer.
|
|
6
|
+
*
|
|
7
|
+
* Status-only — it does not start execution and does not gate deploy.
|
|
8
|
+
* Mutations (publish-readiness/start, POST deployments) start work and keep
|
|
9
|
+
* their own authoritative checks (build, policy, database lifecycle reconcile);
|
|
10
|
+
* this plan only reflects progress for the rail.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Single source of truth for publish-plan step ids. These are wire values: the
|
|
14
|
+
* server emits them on each step and the UI matches on them to wire custom
|
|
15
|
+
* detail panels. Keys are lowerCamelCase; values are the lowercase snake_case
|
|
16
|
+
* wire literals. Add new steps here and they become available to both sides.
|
|
17
|
+
*/
|
|
18
|
+
export const PublishStepId = {
|
|
19
|
+
build: 'build',
|
|
20
|
+
databaseMigration: 'database_migration',
|
|
21
|
+
databaseProvisioning: 'database_provisioning',
|
|
22
|
+
policyGatesBeforeBuild: 'policy_gates:before_build',
|
|
23
|
+
policyGatesBeforeDeploy: 'policy_gates:before_deploy',
|
|
24
|
+
publish: 'publish'
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Fixed spine order. Composer filters to steps that were emitted; order is always
|
|
28
|
+
* this sequence. Policy may emit before_build and/or before_deploy.
|
|
29
|
+
*/
|
|
30
|
+
export const PUBLISH_STEP_SPINE = [
|
|
31
|
+
PublishStepId.policyGatesBeforeBuild,
|
|
32
|
+
PublishStepId.build,
|
|
33
|
+
PublishStepId.policyGatesBeforeDeploy,
|
|
34
|
+
PublishStepId.databaseProvisioning,
|
|
35
|
+
PublishStepId.databaseMigration,
|
|
36
|
+
PublishStepId.publish
|
|
37
|
+
];
|
|
38
|
+
export * from './plan.js';
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+DH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,uBAAuB,EAAE,4BAA4B;IACrD,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,aAAa,CAAC,sBAAsB;IACpC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,uBAAuB;IACrC,aAAa,CAAC,oBAAoB;IAClC,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,OAAO;CACb,CAAC;AAEX,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PublishPlan, PublishPlanTarget, PublishStep, PublishStepStatus } from './index.js';
|
|
2
|
+
/** Collapse ordered steps into the single status shown on the plan. Empty = passed. */
|
|
3
|
+
export declare function rollUpPublishPlan(steps: PublishStep[]): PublishStepStatus;
|
|
4
|
+
/** Order steps by the fixed spine; unknown ids are appended in input order. */
|
|
5
|
+
export declare function orderPublishSteps(steps: PublishStep[]): PublishStep[];
|
|
6
|
+
/**
|
|
7
|
+
* For each step that is not yet clear, set `blockedBy` to kinds of earlier
|
|
8
|
+
* steps that are not clear and that actually gate it (concurrent steps such as
|
|
9
|
+
* build and policy gates do not gate each other). Premature `in_progress` (e.g.
|
|
10
|
+
* deploy already QUEUED while policy gates still run) is held as `pending` so
|
|
11
|
+
* the rail does not show "Publishing…" ahead of unfinished prerequisites. Failed
|
|
12
|
+
* and other terminal statuses are left alone. Clears blockedBy when the gating
|
|
13
|
+
* steps clear.
|
|
14
|
+
*/
|
|
15
|
+
export declare function applyBlockedByEligibility(steps: PublishStep[]): PublishStep[];
|
|
16
|
+
/** Order, apply eligibility, roll up. */
|
|
17
|
+
export declare function buildPublishPlan(target: PublishPlanTarget, steps: PublishStep[]): PublishPlan;
|
|
18
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAmB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBlH,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAGzE;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAiBrE;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA2B7E;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CAG7F"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { PUBLISH_STEP_SPINE } from './index.js';
|
|
2
|
+
/** Worst-first. When summarizing many steps into one status, first match wins. */
|
|
3
|
+
const STATUS_PRECEDENCE = [
|
|
4
|
+
'failed',
|
|
5
|
+
'blocked',
|
|
6
|
+
'action_required',
|
|
7
|
+
'stale',
|
|
8
|
+
'in_progress',
|
|
9
|
+
'pending',
|
|
10
|
+
'advisory',
|
|
11
|
+
'passed',
|
|
12
|
+
'skipped'
|
|
13
|
+
];
|
|
14
|
+
const CLEAR_STATUSES = new Set(['passed', 'advisory', 'skipped']);
|
|
15
|
+
/** Collapse ordered steps into the single status shown on the plan. Empty = passed. */
|
|
16
|
+
export function rollUpPublishPlan(steps) {
|
|
17
|
+
const present = new Set(steps.map((s) => s.status));
|
|
18
|
+
return STATUS_PRECEDENCE.find((s) => present.has(s)) ?? 'passed';
|
|
19
|
+
}
|
|
20
|
+
/** Order steps by the fixed spine; unknown ids are appended in input order. */
|
|
21
|
+
export function orderPublishSteps(steps) {
|
|
22
|
+
const byId = new Map(steps.map((s) => [s.id, s]));
|
|
23
|
+
const ordered = [];
|
|
24
|
+
for (const id of PUBLISH_STEP_SPINE) {
|
|
25
|
+
const step = byId.get(id);
|
|
26
|
+
if (step) {
|
|
27
|
+
ordered.push(step);
|
|
28
|
+
byId.delete(id);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
for (const step of steps) {
|
|
32
|
+
if (byId.has(step.id)) {
|
|
33
|
+
ordered.push(step);
|
|
34
|
+
byId.delete(step.id);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return ordered;
|
|
38
|
+
}
|
|
39
|
+
function isClear(status) {
|
|
40
|
+
return CLEAR_STATUSES.has(status);
|
|
41
|
+
}
|
|
42
|
+
/** Idle label when a step is held waiting on earlier work (not actively running). */
|
|
43
|
+
const PENDING_DISPLAY_NAMES = {
|
|
44
|
+
build: 'Build',
|
|
45
|
+
database_migration: 'Database migration',
|
|
46
|
+
database_provisioning: 'Database provisioning',
|
|
47
|
+
policy_gates: 'Policy Agents',
|
|
48
|
+
publish: 'Publish'
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Kinds that execute concurrently and therefore must not appear as each other's
|
|
52
|
+
* prerequisite. The SABS build and the policy agents both key off the commit and
|
|
53
|
+
* run in parallel — policy agents analyze the committed code directly and do not
|
|
54
|
+
* wait for the build artifact — so neither should show "Waiting on" the other in
|
|
55
|
+
* the rail. They both still gate the final publish.
|
|
56
|
+
*/
|
|
57
|
+
const CONCURRENT_KINDS = new Set(['build', 'policy_gates']);
|
|
58
|
+
/** An earlier unclear step gates a later step unless the two run concurrently. */
|
|
59
|
+
function earlierKindBlocks(earlier, current) {
|
|
60
|
+
return !(CONCURRENT_KINDS.has(earlier) && CONCURRENT_KINDS.has(current));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* For each step that is not yet clear, set `blockedBy` to kinds of earlier
|
|
64
|
+
* steps that are not clear and that actually gate it (concurrent steps such as
|
|
65
|
+
* build and policy gates do not gate each other). Premature `in_progress` (e.g.
|
|
66
|
+
* deploy already QUEUED while policy gates still run) is held as `pending` so
|
|
67
|
+
* the rail does not show "Publishing…" ahead of unfinished prerequisites. Failed
|
|
68
|
+
* and other terminal statuses are left alone. Clears blockedBy when the gating
|
|
69
|
+
* steps clear.
|
|
70
|
+
*/
|
|
71
|
+
export function applyBlockedByEligibility(steps) {
|
|
72
|
+
// Kind set (not a list): multiple earlier steps can share a kind, but the
|
|
73
|
+
// rail waits on kinds — blockedBy must not repeat the same kind.
|
|
74
|
+
const unclearKinds = new Set();
|
|
75
|
+
return steps.map((step) => {
|
|
76
|
+
const blockers = [...unclearKinds].filter((kind) => earlierKindBlocks(kind, step.kind));
|
|
77
|
+
if (blockers.length > 0 && (step.status === 'pending' || step.status === 'in_progress')) {
|
|
78
|
+
const next = {
|
|
79
|
+
...step,
|
|
80
|
+
status: 'pending',
|
|
81
|
+
blockedBy: blockers,
|
|
82
|
+
displayName: PENDING_DISPLAY_NAMES[step.kind]
|
|
83
|
+
};
|
|
84
|
+
unclearKinds.add(step.kind);
|
|
85
|
+
return next;
|
|
86
|
+
}
|
|
87
|
+
if (step.status === 'pending') {
|
|
88
|
+
const rest = { ...step };
|
|
89
|
+
delete rest.blockedBy;
|
|
90
|
+
unclearKinds.add(step.kind);
|
|
91
|
+
return rest;
|
|
92
|
+
}
|
|
93
|
+
if (!isClear(step.status)) {
|
|
94
|
+
unclearKinds.add(step.kind);
|
|
95
|
+
}
|
|
96
|
+
return step;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/** Order, apply eligibility, roll up. */
|
|
100
|
+
export function buildPublishPlan(target, steps) {
|
|
101
|
+
const ordered = applyBlockedByEligibility(orderPublishSteps(steps));
|
|
102
|
+
return { status: rollUpPublishPlan(ordered), steps: ordered, target };
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.test.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { applyBlockedByEligibility, buildPublishPlan, orderPublishSteps, rollUpPublishPlan } from './plan.js';
|
|
3
|
+
const TARGET = { applicationId: 'app-1', commitId: 'commit-1' };
|
|
4
|
+
function step(overrides) {
|
|
5
|
+
return {
|
|
6
|
+
displayName: overrides.displayName ?? overrides.id,
|
|
7
|
+
kind: overrides.kind ?? 'build',
|
|
8
|
+
status: overrides.status ?? 'passed',
|
|
9
|
+
...overrides
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
describe('rollUpPublishPlan', () => {
|
|
13
|
+
test('an empty plan is passed', () => {
|
|
14
|
+
expect(rollUpPublishPlan([])).toBe('passed');
|
|
15
|
+
});
|
|
16
|
+
test('the worst status wins by precedence', () => {
|
|
17
|
+
expect(rollUpPublishPlan([step({ id: 'a', status: 'passed' }), step({ id: 'b', status: 'advisory' }), step({ id: 'c', status: 'blocked' })])).toBe('blocked');
|
|
18
|
+
expect(rollUpPublishPlan([step({ id: 'a', status: 'in_progress' }), step({ id: 'b', status: 'failed' })])).toBe('failed');
|
|
19
|
+
expect(rollUpPublishPlan([step({ id: 'a', status: 'advisory' }), step({ id: 'b', status: 'passed' })])).toBe('advisory');
|
|
20
|
+
});
|
|
21
|
+
test('skipped never masks a real status', () => {
|
|
22
|
+
expect(rollUpPublishPlan([step({ id: 'a', status: 'skipped' }), step({ id: 'b', status: 'passed' })])).toBe('passed');
|
|
23
|
+
expect(rollUpPublishPlan([step({ id: 'a', status: 'skipped' })])).toBe('skipped');
|
|
24
|
+
});
|
|
25
|
+
test('precedence order is exhaustive and worst-first', () => {
|
|
26
|
+
const precedence = [
|
|
27
|
+
'failed',
|
|
28
|
+
'blocked',
|
|
29
|
+
'action_required',
|
|
30
|
+
'stale',
|
|
31
|
+
'in_progress',
|
|
32
|
+
'pending',
|
|
33
|
+
'advisory',
|
|
34
|
+
'passed',
|
|
35
|
+
'skipped'
|
|
36
|
+
];
|
|
37
|
+
for (let i = 0; i < precedence.length; i += 1) {
|
|
38
|
+
const worse = precedence[i];
|
|
39
|
+
const better = precedence[i + 1];
|
|
40
|
+
const steps = better
|
|
41
|
+
? [step({ id: 'better', status: better }), step({ id: 'worse', status: worse })]
|
|
42
|
+
: [step({ id: 'only', status: worse })];
|
|
43
|
+
expect(rollUpPublishPlan(steps)).toBe(worse);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('orderPublishSteps', () => {
|
|
48
|
+
test('orders steps by the publish spine regardless of input order', () => {
|
|
49
|
+
const ordered = orderPublishSteps([
|
|
50
|
+
step({ id: 'publish', kind: 'publish' }),
|
|
51
|
+
step({ id: 'policy_gates:before_build', kind: 'policy_gates' }),
|
|
52
|
+
step({ id: 'build', kind: 'build' }),
|
|
53
|
+
step({ id: 'database_provisioning', kind: 'database_provisioning' }),
|
|
54
|
+
step({ id: 'policy_gates:before_deploy', kind: 'policy_gates' }),
|
|
55
|
+
step({ id: 'database_migration', kind: 'database_migration' })
|
|
56
|
+
]);
|
|
57
|
+
expect(ordered.map((s) => s.id)).toEqual([
|
|
58
|
+
'policy_gates:before_build',
|
|
59
|
+
'build',
|
|
60
|
+
'policy_gates:before_deploy',
|
|
61
|
+
'database_provisioning',
|
|
62
|
+
'database_migration',
|
|
63
|
+
'publish'
|
|
64
|
+
]);
|
|
65
|
+
});
|
|
66
|
+
test('omits ids that are not present', () => {
|
|
67
|
+
const ordered = orderPublishSteps([step({ id: 'build', kind: 'build' }), step({ id: 'publish', kind: 'publish' })]);
|
|
68
|
+
expect(ordered.map((s) => s.id)).toEqual(['build', 'publish']);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('applyBlockedByEligibility', () => {
|
|
72
|
+
test('marks later pending steps as blockedBy earlier unclear steps', () => {
|
|
73
|
+
const steps = applyBlockedByEligibility([
|
|
74
|
+
step({ id: 'build', kind: 'build', status: 'in_progress' }),
|
|
75
|
+
step({ id: 'publish', kind: 'publish', status: 'pending' })
|
|
76
|
+
]);
|
|
77
|
+
expect(steps[1].blockedBy).toEqual(['build']);
|
|
78
|
+
expect(steps[1].status).toBe('pending');
|
|
79
|
+
});
|
|
80
|
+
test('does not overwrite a step that already failed', () => {
|
|
81
|
+
const steps = applyBlockedByEligibility([
|
|
82
|
+
step({ id: 'build', kind: 'build', status: 'failed' }),
|
|
83
|
+
step({ id: 'publish', kind: 'publish', status: 'failed' })
|
|
84
|
+
]);
|
|
85
|
+
expect(steps[1].blockedBy).toBeUndefined();
|
|
86
|
+
expect(steps[1].status).toBe('failed');
|
|
87
|
+
});
|
|
88
|
+
test('holds an in_progress publish as pending until earlier policy gates clear', () => {
|
|
89
|
+
const steps = applyBlockedByEligibility([
|
|
90
|
+
step({
|
|
91
|
+
id: 'policy_gates:before_deploy',
|
|
92
|
+
kind: 'policy_gates',
|
|
93
|
+
status: 'in_progress',
|
|
94
|
+
displayName: 'Policy Agents'
|
|
95
|
+
}),
|
|
96
|
+
step({
|
|
97
|
+
id: 'publish',
|
|
98
|
+
kind: 'publish',
|
|
99
|
+
status: 'in_progress',
|
|
100
|
+
displayName: 'Publishing…'
|
|
101
|
+
})
|
|
102
|
+
]);
|
|
103
|
+
expect(steps[1].status).toBe('pending');
|
|
104
|
+
expect(steps[1].blockedBy).toEqual(['policy_gates']);
|
|
105
|
+
expect(steps[1].displayName).toBe('Publish');
|
|
106
|
+
});
|
|
107
|
+
test('clears blockedBy when all earlier steps are clear', () => {
|
|
108
|
+
const steps = applyBlockedByEligibility([
|
|
109
|
+
step({ id: 'build', kind: 'build', status: 'passed' }),
|
|
110
|
+
step({ id: 'publish', kind: 'publish', status: 'pending', blockedBy: ['build'] })
|
|
111
|
+
]);
|
|
112
|
+
expect(steps[1].blockedBy).toBeUndefined();
|
|
113
|
+
});
|
|
114
|
+
test('does not block policy gates on an unfinished build (they run concurrently)', () => {
|
|
115
|
+
const steps = applyBlockedByEligibility([
|
|
116
|
+
step({ id: 'build', kind: 'build', status: 'in_progress' }),
|
|
117
|
+
step({
|
|
118
|
+
id: 'policy_gates:before_deploy',
|
|
119
|
+
kind: 'policy_gates',
|
|
120
|
+
status: 'in_progress',
|
|
121
|
+
displayName: 'Policy Agents'
|
|
122
|
+
})
|
|
123
|
+
]);
|
|
124
|
+
expect(steps[1].blockedBy).toBeUndefined();
|
|
125
|
+
expect(steps[1].status).toBe('in_progress');
|
|
126
|
+
expect(steps[1].displayName).toBe('Policy Agents');
|
|
127
|
+
});
|
|
128
|
+
test('keeps a pending policy gate idle rather than waiting on the build', () => {
|
|
129
|
+
const steps = applyBlockedByEligibility([
|
|
130
|
+
step({ id: 'build', kind: 'build', status: 'in_progress' }),
|
|
131
|
+
step({ id: 'policy_gates:before_deploy', kind: 'policy_gates', status: 'pending' })
|
|
132
|
+
]);
|
|
133
|
+
expect(steps[1].blockedBy).toBeUndefined();
|
|
134
|
+
expect(steps[1].status).toBe('pending');
|
|
135
|
+
});
|
|
136
|
+
test('still blocks publish on both the build and policy gates', () => {
|
|
137
|
+
const steps = applyBlockedByEligibility([
|
|
138
|
+
step({ id: 'build', kind: 'build', status: 'in_progress' }),
|
|
139
|
+
step({ id: 'policy_gates:before_deploy', kind: 'policy_gates', status: 'in_progress' }),
|
|
140
|
+
step({ id: 'publish', kind: 'publish', status: 'pending' })
|
|
141
|
+
]);
|
|
142
|
+
expect(steps[2].blockedBy).toEqual(['build', 'policy_gates']);
|
|
143
|
+
expect(steps[2].status).toBe('pending');
|
|
144
|
+
});
|
|
145
|
+
test('lists each unclear kind at most once in blockedBy', () => {
|
|
146
|
+
// Two earlier steps can share a kind (e.g. multiple database_* rows). The
|
|
147
|
+
// rail waits on kinds, not step ids, so blockedBy must not repeat a kind.
|
|
148
|
+
const steps = applyBlockedByEligibility([
|
|
149
|
+
step({
|
|
150
|
+
id: 'database_provisioning:a',
|
|
151
|
+
kind: 'database_provisioning',
|
|
152
|
+
status: 'in_progress'
|
|
153
|
+
}),
|
|
154
|
+
step({
|
|
155
|
+
id: 'database_provisioning:b',
|
|
156
|
+
kind: 'database_provisioning',
|
|
157
|
+
status: 'pending'
|
|
158
|
+
}),
|
|
159
|
+
step({ id: 'publish', kind: 'publish', status: 'pending' })
|
|
160
|
+
]);
|
|
161
|
+
expect(steps[2].blockedBy).toEqual(['database_provisioning']);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('buildPublishPlan', () => {
|
|
165
|
+
test('orders, applies eligibility, and rolls up', () => {
|
|
166
|
+
const plan = buildPublishPlan(TARGET, [
|
|
167
|
+
step({ id: 'publish', kind: 'publish', status: 'pending' }),
|
|
168
|
+
step({ id: 'build', kind: 'build', status: 'in_progress' })
|
|
169
|
+
]);
|
|
170
|
+
expect(plan.target).toEqual(TARGET);
|
|
171
|
+
expect(plan.steps.map((s) => s.id)).toEqual(['build', 'publish']);
|
|
172
|
+
expect(plan.steps[1].blockedBy).toEqual(['build']);
|
|
173
|
+
expect(plan.status).toBe('in_progress');
|
|
174
|
+
});
|
|
175
|
+
test('an empty plan is passed', () => {
|
|
176
|
+
expect(buildPublishPlan(TARGET, []).status).toBe('passed');
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
//# sourceMappingURL=plan.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.test.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/plan.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepIds.test.d.ts","sourceRoot":"","sources":["../../../src/types/publishPipeline/stepIds.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { PUBLISH_STEP_SPINE, PublishStepId } from './index.js';
|
|
3
|
+
describe('PublishStepId', () => {
|
|
4
|
+
test('exposes the stable wire id for every publish step', () => {
|
|
5
|
+
expect(PublishStepId).toEqual({
|
|
6
|
+
build: 'build',
|
|
7
|
+
databaseMigration: 'database_migration',
|
|
8
|
+
databaseProvisioning: 'database_provisioning',
|
|
9
|
+
policyGatesBeforeBuild: 'policy_gates:before_build',
|
|
10
|
+
policyGatesBeforeDeploy: 'policy_gates:before_deploy',
|
|
11
|
+
publish: 'publish'
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
test('the spine is made up only of known step ids, in fixed order', () => {
|
|
15
|
+
expect(PUBLISH_STEP_SPINE).toEqual([
|
|
16
|
+
PublishStepId.policyGatesBeforeBuild,
|
|
17
|
+
PublishStepId.build,
|
|
18
|
+
PublishStepId.policyGatesBeforeDeploy,
|
|
19
|
+
PublishStepId.databaseProvisioning,
|
|
20
|
+
PublishStepId.databaseMigration,
|
|
21
|
+
PublishStepId.publish
|
|
22
|
+
]);
|
|
23
|
+
});
|
|
24
|
+
test('every known step id appears in the spine exactly once', () => {
|
|
25
|
+
const ids = Object.values(PublishStepId);
|
|
26
|
+
for (const id of ids) {
|
|
27
|
+
expect(PUBLISH_STEP_SPINE.filter((spineId) => spineId === id)).toHaveLength(1);
|
|
28
|
+
}
|
|
29
|
+
expect(PUBLISH_STEP_SPINE).toHaveLength(ids.length);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=stepIds.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepIds.test.js","sourceRoot":"","sources":["../../../src/types/publishPipeline/stepIds.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,OAAO;YACd,iBAAiB,EAAE,oBAAoB;YACvC,oBAAoB,EAAE,uBAAuB;YAC7C,sBAAsB,EAAE,2BAA2B;YACnD,uBAAuB,EAAE,4BAA4B;YACrD,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;YACjC,aAAa,CAAC,sBAAsB;YACpC,aAAa,CAAC,KAAK;YACnB,aAAa,CAAC,uBAAuB;YACrC,aAAa,CAAC,oBAAoB;YAClC,aAAa,CAAC,iBAAiB;YAC/B,aAAa,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -122,7 +122,7 @@ export declare enum ResourceTypeEnum {
|
|
|
122
122
|
ORGANIZATION = "org",
|
|
123
123
|
ORGANIZATION_USERS = "org.users",
|
|
124
124
|
ORG_KNOWLEDGE = "org_knowledge",
|
|
125
|
-
|
|
125
|
+
POLICIES = "policies",
|
|
126
126
|
PROFILES = "profiles",
|
|
127
127
|
REPOSITORIES = "repos",
|
|
128
128
|
ROLES = "roles",
|
|
@@ -187,7 +187,7 @@ export declare const ActionTypeByResourceType: {
|
|
|
187
187
|
readonly PROFILES: {
|
|
188
188
|
readonly MANAGE: ActionTypeEnum.MANAGE;
|
|
189
189
|
};
|
|
190
|
-
readonly
|
|
190
|
+
readonly POLICIES: {
|
|
191
191
|
readonly MANAGE: ActionTypeEnum.MANAGE;
|
|
192
192
|
readonly VIEW: ActionTypeEnum.VIEW;
|
|
193
193
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/rbac/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/rbac/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,7 +95,7 @@ export var ResourceTypeEnum;
|
|
|
95
95
|
// ORGANIZATION_REQUESTS = 'org.requests',
|
|
96
96
|
ResourceTypeEnum["ORGANIZATION_USERS"] = "org.users";
|
|
97
97
|
ResourceTypeEnum["ORG_KNOWLEDGE"] = "org_knowledge";
|
|
98
|
-
ResourceTypeEnum["
|
|
98
|
+
ResourceTypeEnum["POLICIES"] = "policies";
|
|
99
99
|
ResourceTypeEnum["PROFILES"] = "profiles";
|
|
100
100
|
ResourceTypeEnum["REPOSITORIES"] = "repos";
|
|
101
101
|
ResourceTypeEnum["ROLES"] = "roles";
|
|
@@ -167,7 +167,7 @@ export const ActionTypeByResourceType = {
|
|
|
167
167
|
PROFILES: {
|
|
168
168
|
MANAGE: ActionTypeEnum.MANAGE
|
|
169
169
|
},
|
|
170
|
-
|
|
170
|
+
POLICIES: {
|
|
171
171
|
MANAGE: ActionTypeEnum.MANAGE,
|
|
172
172
|
VIEW: ActionTypeEnum.VIEW
|
|
173
173
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/rbac/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/rbac/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED