@empire-builder-kit/nx 1.0.0-rc.2 → 1.0.0-rc.21
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/executors.json +10 -0
- package/package.json +4 -4
- package/src/cli/output.js +1 -1
- package/src/developer-agent/model.js +4 -4
- package/src/developer-agent/model.js.map +1 -1
- package/src/developer-agent/operation-registry.js +67 -10
- package/src/developer-agent/operation-registry.js.map +1 -1
- package/src/developer-agent/planning.js +7 -9
- package/src/developer-agent/planning.js.map +1 -1
- package/src/developer-agent/workspace-inspection.js +12 -0
- package/src/developer-agent/workspace-inspection.js.map +1 -1
- package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
- package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -1
- package/src/executors/deployment-plan/deployment-plan.js +5 -0
- package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
- package/src/executors/foundation-preflight/foundation-preflight.d.ts +2 -0
- package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
- package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
- package/src/executors/foundation-preflight/schema.json +10 -0
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +2 -0
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +2 -1
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
- package/src/executors/foundation-profile-preflight/schema.json +19 -3
- package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +229 -5
- package/src/executors/infrastructure-plan/infrastructure-plan.js +2298 -175
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
- package/src/executors/infrastructure-plan/schema.json +16 -0
- package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +53 -0
- package/src/executors/local-deploy/local-approval.d.ts +23 -0
- package/src/executors/local-deploy/local-approval.js +43 -0
- package/src/executors/local-deploy/local-approval.js.map +1 -0
- package/src/executors/local-deploy/local-deploy.d.ts +69 -0
- package/src/executors/local-deploy/local-deploy.js +911 -0
- package/src/executors/local-deploy/local-deploy.js.map +1 -0
- package/src/executors/local-deploy/schema.json +42 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +3 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +94 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -0
- package/src/executors/router-waf-rehearsal/schema.json +9 -0
- package/src/executors/secret-metadata/schema.json +5 -0
- package/src/executors/secret-metadata/secret-metadata.d.ts +12 -1
- package/src/executors/secret-metadata/secret-metadata.js +68 -16
- package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
- package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
- package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
- package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -1
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +8 -1
- package/src/executors/sst-lifecycle/run-sst-command.js +144 -12
- package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
- package/src/executors/sst-lifecycle/schema.json +13 -1
- package/src/executors/sst-lifecycle/sst-environment-source.d.ts +25 -0
- package/src/executors/sst-lifecycle/sst-environment-source.js +213 -0
- package/src/executors/sst-lifecycle/sst-environment-source.js.map +1 -0
- package/src/foundation/index.d.ts +2 -0
- package/src/foundation/index.js +2 -0
- package/src/foundation/index.js.map +1 -1
- package/src/foundation/logging-preflight.js +1 -1
- package/src/foundation/logging-preflight.js.map +1 -1
- package/src/foundation/logging.d.ts +3 -1
- package/src/foundation/logging.js +1 -1
- package/src/foundation/logging.js.map +1 -1
- package/src/foundation/partial-state.d.ts +10 -0
- package/src/foundation/partial-state.js +21 -0
- package/src/foundation/partial-state.js.map +1 -0
- package/src/foundation/router-waf.d.ts +98 -0
- package/src/foundation/router-waf.js +401 -0
- package/src/foundation/router-waf.js.map +1 -0
- package/src/generators/function/function.js +2 -1
- package/src/generators/function/function.js.map +1 -1
- package/src/generators/post-generation-install.d.ts +1 -0
- package/src/generators/post-generation-install.js +134 -67
- package/src/generators/post-generation-install.js.map +1 -1
- package/src/generators/preset/generator.js +23 -3
- package/src/generators/preset/generator.js.map +1 -1
- package/src/generators/preset/schema.d.ts +7 -0
- package/src/generators/preset/schema.json +47 -0
- package/src/generators/preset/tool-versions.d.ts +5 -5
- package/src/generators/preset/tool-versions.js +4 -4
- package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
- package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
- package/src/generators/preset/workspace-files-ci-acceptance.js.map +1 -0
- package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
- package/src/generators/preset/workspace-files-developer-agent.js +25 -11
- package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
- package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
- package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -1
- package/src/generators/preset/workspace-files-performance-load.js +2 -1
- package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
- package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
- package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -1
- package/src/generators/preset/workspace-files.d.ts +8 -4
- package/src/generators/preset/workspace-files.js +1039 -68
- package/src/generators/preset/workspace-files.js.map +1 -1
- package/src/generators/repository-policy/repository-policy.js +65 -3
- package/src/generators/repository-policy/repository-policy.js.map +1 -1
- package/src/generators/repository-policy/schema.d.ts +6 -0
- package/src/generators/repository-policy/schema.json +46 -0
- package/src/generators/slice/built-in-plan-api-files.js +2 -1
- package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +19 -1
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-files.js +16 -5
- package/src/generators/slice/built-in-plan-data-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-data-retention-job-files.js +10 -6
- package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js +25 -10
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-foundation-files.js +2 -3
- package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js +364 -29
- package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-metadata-files.js +1 -0
- package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-operations-files.js +442 -5
- package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-performance-files.js +41 -47
- package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-project-files.js +14 -1
- package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-release-files.js +235 -56
- package/src/generators/slice/built-in-plan-release-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +92 -5
- package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-web-files.js +13 -0
- package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js +5 -2
- package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
- package/src/generators/slice/built-in-plan.d.ts +2 -1
- package/src/generators/slice/built-in-plan.js +8 -5
- package/src/generators/slice/built-in-plan.js.map +1 -1
- package/src/generators/slice/slice.js +11 -3
- package/src/generators/slice/slice.js.map +1 -1
- package/src/generators/upgrade/upgrade.js +35 -0
- package/src/generators/upgrade/upgrade.js.map +1 -1
- package/src/generators/workload/frozen-container.d.ts +3 -2
- package/src/generators/workload/frozen-container.js +6 -4
- package/src/generators/workload/frozen-container.js.map +1 -1
- package/src/generators/workload/workload.js +2 -2
- package/src/generators/workload/workload.js.map +1 -1
- package/src/git-policy/github-bootstrap.d.ts +3 -1
- package/src/git-policy/github-bootstrap.js +22 -5
- package/src/git-policy/github-bootstrap.js.map +1 -1
- package/src/git-policy/routing.d.ts +2 -0
- package/src/git-policy/routing.js +12 -1
- package/src/git-policy/routing.js.map +1 -1
- package/src/infrastructure-change/local-capability.d.ts +73 -0
- package/src/infrastructure-change/local-capability.js +114 -0
- package/src/infrastructure-change/local-capability.js.map +1 -0
- package/src/infrastructure-change/model.d.ts +25 -4
- package/src/infrastructure-change/model.js +1 -0
- package/src/infrastructure-change/model.js.map +1 -1
- package/src/infrastructure-change/normalize.d.ts +4 -0
- package/src/infrastructure-change/normalize.js +47 -7
- package/src/infrastructure-change/normalize.js.map +1 -1
- package/src/infrastructure-change/plan.d.ts +30 -3
- package/src/infrastructure-change/plan.js +323 -13
- package/src/infrastructure-change/plan.js.map +1 -1
- package/src/infrastructure-change/risk.d.ts +3 -1
- package/src/infrastructure-change/risk.js +96 -16
- package/src/infrastructure-change/risk.js.map +1 -1
- package/src/local-dev/environment-inspector.d.ts +1 -0
- package/src/local-dev/environment-inspector.js +21 -9
- package/src/local-dev/environment-inspector.js.map +1 -1
- package/src/local-dev/private-state.d.ts +2 -0
- package/src/local-dev/private-state.js +3 -1
- package/src/local-dev/private-state.js.map +1 -1
- package/src/performance/cost-controls.d.ts +5 -3
- package/src/performance/cost-controls.js +30 -24
- package/src/performance/cost-controls.js.map +1 -1
- package/src/performance/model.d.ts +1 -1
- package/src/performance/model.js +0 -2
- package/src/performance/model.js.map +1 -1
- package/src/performance/test-fixtures.js +0 -2
- package/src/performance/test-fixtures.js.map +1 -1
- package/src/release/source-authority.d.ts +1 -0
- package/src/release/source-authority.js +136 -9
- package/src/release/source-authority.js.map +1 -1
- package/src/repository-policy/deployment-plan.d.ts +4 -1
- package/src/repository-policy/deployment-plan.js +8 -0
- package/src/repository-policy/deployment-plan.js.map +1 -1
- package/src/repository-policy/foundation-profile.js +1 -2
- package/src/repository-policy/foundation-profile.js.map +1 -1
- package/src/repository-policy/policy.d.ts +25 -1
- package/src/repository-policy/policy.js +145 -4
- package/src/repository-policy/policy.js.map +1 -1
- package/src/schemas/performance-policy-v1.json +0 -2
- package/src/schemas/repository-policy-v1.json +41 -0
- package/src/secrets/operator.js +22 -4
- package/src/secrets/operator.js.map +1 -1
- package/src/secrets/verification.js +9 -1
- package/src/secrets/verification.js.map +1 -1
- package/src/sst-environment-source-format.d.ts +3 -0
- package/src/sst-environment-source-format.js +179 -0
- package/src/sst-environment-source-format.js.map +1 -0
- package/src/supply-chain/blueprint-trust-git.js +72 -21
- package/src/supply-chain/blueprint-trust-git.js.map +1 -1
- package/src/supply-chain/blueprint-verification-authority.js +55 -3
- package/src/supply-chain/blueprint-verification-authority.js.map +1 -1
- package/src/supply-chain/blueprint-verification-execution.js +17 -2
- package/src/supply-chain/blueprint-verification-execution.js.map +1 -1
- package/src/supply-chain/build-output.d.ts +7 -1
- package/src/supply-chain/build-output.js +160 -20
- package/src/supply-chain/build-output.js.map +1 -1
- package/src/supply-chain/generated-command.js +131 -43
- package/src/supply-chain/generated-command.js.map +1 -1
- package/src/supply-chain/generated-container-release-command.js +187 -38
- package/src/supply-chain/generated-container-release-command.js.map +1 -1
- package/src/supply-chain/generated-ecr-collector-command.js +12 -2
- package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
- package/src/supply-chain/generated-scanner-command.js +114 -54
- package/src/supply-chain/generated-scanner-command.js.map +1 -1
- package/src/supply-chain/inventory.d.ts +17 -0
- package/src/supply-chain/inventory.js +114 -3
- package/src/supply-chain/inventory.js.map +1 -1
- package/src/supply-chain/pnpm-toolchain-authority.d.ts +4 -3
- package/src/supply-chain/pnpm-toolchain-authority.js +20 -34
- package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -1
- package/src/supply-chain/policy.js +4 -1
- package/src/supply-chain/policy.js.map +1 -1
- package/src/supply-chain/sbom.d.ts +1 -1
- package/src/supply-chain/sbom.js +30 -5
- package/src/supply-chain/sbom.js.map +1 -1
- package/src/supply-chain/scanner.js +10 -1
- package/src/supply-chain/scanner.js.map +1 -1
- package/src/workload-roles/account-baseline.d.ts +11 -0
- package/src/workload-roles/account-baseline.js +253 -16
- package/src/workload-roles/account-baseline.js.map +1 -1
- package/src/workload-roles/authority.d.ts +3 -1
- package/src/workload-roles/authority.js +48 -2
- package/src/workload-roles/authority.js.map +1 -1
- package/src/workload-roles/aws-s3-state.js +27 -0
- package/src/workload-roles/aws-s3-state.js.map +1 -1
- package/src/workload-roles/boundary.d.ts +2 -1
- package/src/workload-roles/boundary.js +9 -2
- package/src/workload-roles/boundary.js.map +1 -1
- package/src/workload-roles/handler.js +52 -24
- package/src/workload-roles/handler.js.map +1 -1
- package/src/workload-roles/injection.js +1 -1
- package/src/workload-roles/injection.js.map +1 -1
- package/src/workload-roles/provisioner.js +12 -4
- package/src/workload-roles/provisioner.js.map +1 -1
- package/src/workload-roles/registration.d.ts +1 -0
- package/src/workload-roles/registration.js +5 -0
- package/src/workload-roles/registration.js.map +1 -1
- package/src/workload-roles/stage-boundary.js +1 -1
- package/src/workload-roles/stage-boundary.js.map +1 -1
- package/src/workload-roles/standard-slice.js +1 -0
- package/src/workload-roles/standard-slice.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-deploy.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/local-deploy/local-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"version": 2,
|
|
4
|
+
"title": "Empire Builder Kit local infrastructure lifecycle",
|
|
5
|
+
"description": "Plan the current Foundation bootstrap or complete stage, require a real-TTY acknowledgement for the first material project, and deploy or refresh that one project through governed Nx lifecycle targets using one temporary assumed role.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"action": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"enum": ["deploy", "refresh"],
|
|
12
|
+
"default": "deploy",
|
|
13
|
+
"description": "Deploy desired infrastructure or reconcile exact observed provider state through a reviewed refresh."
|
|
14
|
+
},
|
|
15
|
+
"stage": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"enum": ["development", "staging", "production"],
|
|
18
|
+
"description": "Canonical stage to inspect. RC.16 admits local mutation only for development and staging; production is rejected in favor of the protected GitHub workflow."
|
|
19
|
+
},
|
|
20
|
+
"expectedRoleArn": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"pattern": "^arn:(aws|aws-us-gov|aws-cn):iam::[0-9]{12}:role/[A-Za-z0-9+=,.@_/-]{1,512}$"
|
|
23
|
+
},
|
|
24
|
+
"phase": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": ["foundation-bootstrap", "full-stage"],
|
|
27
|
+
"default": "full-stage",
|
|
28
|
+
"description": "Operate on Foundation alone for the documented first account-baseline transition, or on the complete stage after full-stage workload-role publication."
|
|
29
|
+
},
|
|
30
|
+
"profile": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"maxLength": 128
|
|
34
|
+
},
|
|
35
|
+
"confirmation": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"maxLength": 256,
|
|
38
|
+
"description": "Reserved defense-in-depth production confirmation. RC.16 policy rejects local production before this value can grant authority."
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"required": ["stage", "expectedRoleArn"]
|
|
42
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_fs_1 = require("node:fs");
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const index_js_1 = require("../../foundation/index.js");
|
|
7
|
+
const MAX_ROUTER_WAF_EVIDENCE_BYTES = 32 * 1024;
|
|
8
|
+
const FOUNDATION_ROOT = (0, node_path_1.join)('packages', 'foundation');
|
|
9
|
+
const POLICY_PATH = (0, node_path_1.join)('security', 'router-waf.json');
|
|
10
|
+
const EVIDENCE_PATH = (0, node_path_1.join)('security', 'router-waf-live-evidence.json');
|
|
11
|
+
const RECEIPT_PATH = (0, node_path_1.join)('security', 'router-waf-blocking-rehearsal.json');
|
|
12
|
+
function readBoundedJson(path, label) {
|
|
13
|
+
const before = (0, node_fs_1.lstatSync)(path, { bigint: true });
|
|
14
|
+
if (!before.isFile() || before.nlink !== 1n) {
|
|
15
|
+
throw new Error(`${label} must be one unaliased regular file.`);
|
|
16
|
+
}
|
|
17
|
+
if (before.size > BigInt(MAX_ROUTER_WAF_EVIDENCE_BYTES)) {
|
|
18
|
+
throw new Error(`${label} exceeds the bounded evidence size.`);
|
|
19
|
+
}
|
|
20
|
+
const bytes = (0, node_fs_1.readFileSync)(path);
|
|
21
|
+
const after = (0, node_fs_1.lstatSync)(path, { bigint: true });
|
|
22
|
+
if (before.dev !== after.dev ||
|
|
23
|
+
before.ino !== after.ino ||
|
|
24
|
+
before.mode !== after.mode ||
|
|
25
|
+
before.size !== after.size ||
|
|
26
|
+
before.mtimeNs !== after.mtimeNs ||
|
|
27
|
+
before.ctimeNs !== after.ctimeNs) {
|
|
28
|
+
throw new Error(`${label} changed while it was being read.`);
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
return JSON.parse(bytes.toString('utf8'));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
throw new Error(`${label} is not valid JSON.`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function writeReceipt(path, receipt) {
|
|
38
|
+
const existing = (0, node_fs_1.lstatSync)(path, { bigint: true });
|
|
39
|
+
if (!existing.isFile() || existing.nlink !== 1n) {
|
|
40
|
+
throw new Error('Router WAF blocking rehearsal receipt must be one unaliased regular file.');
|
|
41
|
+
}
|
|
42
|
+
const bytes = `${JSON.stringify(receipt, null, 2)}\n`;
|
|
43
|
+
if (Buffer.byteLength(bytes) > MAX_ROUTER_WAF_EVIDENCE_BYTES) {
|
|
44
|
+
throw new Error('Router WAF blocking rehearsal receipt exceeds its bound.');
|
|
45
|
+
}
|
|
46
|
+
const temporary = `${path}.tmp-${process.pid}`;
|
|
47
|
+
let descriptor;
|
|
48
|
+
let cleanupError;
|
|
49
|
+
try {
|
|
50
|
+
descriptor = (0, node_fs_1.openSync)(temporary, 'wx', Number(existing.mode & 511n));
|
|
51
|
+
(0, node_fs_1.writeFileSync)(descriptor, bytes, 'utf8');
|
|
52
|
+
(0, node_fs_1.closeSync)(descriptor);
|
|
53
|
+
descriptor = undefined;
|
|
54
|
+
(0, node_fs_1.renameSync)(temporary, path);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
if (descriptor !== undefined)
|
|
58
|
+
(0, node_fs_1.closeSync)(descriptor);
|
|
59
|
+
try {
|
|
60
|
+
(0, node_fs_1.unlinkSync)(temporary);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
if (error.code !== 'ENOENT') {
|
|
64
|
+
cleanupError = error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (cleanupError)
|
|
69
|
+
throw cleanupError;
|
|
70
|
+
}
|
|
71
|
+
const executor = async (_, context) => {
|
|
72
|
+
try {
|
|
73
|
+
const root = (0, node_path_1.join)(context.root, FOUNDATION_ROOT);
|
|
74
|
+
const policy = (0, index_js_1.normalizeRouterWafPolicy)(readBoundedJson((0, node_path_1.join)(root, POLICY_PATH), 'Router WAF policy'));
|
|
75
|
+
const receipt = (0, index_js_1.createRouterWafBlockingRehearsal)({
|
|
76
|
+
evidence: readBoundedJson((0, node_path_1.join)(root, EVIDENCE_PATH), 'Router WAF live evidence'),
|
|
77
|
+
policy,
|
|
78
|
+
});
|
|
79
|
+
writeReceipt((0, node_path_1.join)(root, RECEIPT_PATH), receipt);
|
|
80
|
+
devkit_1.logger.info(JSON.stringify({
|
|
81
|
+
evidenceDigest: receipt.evidenceDigest,
|
|
82
|
+
policyDigest: receipt.policyDigest,
|
|
83
|
+
sealed: true,
|
|
84
|
+
stage: receipt.stage,
|
|
85
|
+
}));
|
|
86
|
+
return { success: true };
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
devkit_1.logger.error(error instanceof Error ? error.message : String(error));
|
|
90
|
+
return { success: false };
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
exports.default = executor;
|
|
94
|
+
//# sourceMappingURL=router-waf-rehearsal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-waf-rehearsal.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/router-waf-rehearsal/router-waf-rehearsal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"version": 2,
|
|
4
|
+
"title": "Empire Builder Kit Router WAF rehearsal seal",
|
|
5
|
+
"description": "Seal the fixed Foundation staging Router WAF live evidence path for the exact committed policy.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {}
|
|
9
|
+
}
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
"description": "Apply only the reported empty-container and tag mutations. Defaults to report-only.",
|
|
12
12
|
"default": false
|
|
13
13
|
},
|
|
14
|
+
"expectedRoleArn": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^arn:(aws|aws-us-gov|aws-cn):iam::[0-9]{12}:role/[A-Za-z0-9+=,.@_/-]{1,512}$",
|
|
17
|
+
"description": "Exact temporary assumed IAM role expected for a deployment-profile-admitted local protected-stage apply."
|
|
18
|
+
},
|
|
14
19
|
"profile": {
|
|
15
20
|
"type": "string",
|
|
16
21
|
"minLength": 1,
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ExecutorContext, type PromiseExecutor } from '@nx/devkit';
|
|
2
2
|
import { type SecretMetadataControlPlane, type SecretMetadataOperatorResult } from '../../secrets/index.js';
|
|
3
|
+
import { type DeploymentProfile, type RepositoryOperatingPolicy } from '../../repository-policy/index.js';
|
|
3
4
|
export interface SecretMetadataExecutorOptions {
|
|
4
5
|
apply?: boolean;
|
|
6
|
+
expectedRoleArn?: string;
|
|
5
7
|
profile?: string;
|
|
6
8
|
region?: string;
|
|
7
9
|
stage: 'development' | 'production' | 'staging';
|
|
@@ -17,8 +19,10 @@ export interface SecretMetadataExecutorDependencies {
|
|
|
17
19
|
arn: string;
|
|
18
20
|
}>;
|
|
19
21
|
readJson?: (path: string) => Promise<unknown>;
|
|
22
|
+
readOperatingPolicy?: (workspaceRoot: string) => RepositoryOperatingPolicy;
|
|
20
23
|
}
|
|
21
|
-
|
|
24
|
+
type SecretMetadataApplyAuthority = 'none' | 'workflow' | 'local';
|
|
25
|
+
export declare function assertSecretMetadataApplyAuthority(stage: SecretMetadataExecutorOptions['stage'], apply: boolean, environment?: NodeJS.ProcessEnv, deploymentProfile?: DeploymentProfile): SecretMetadataApplyAuthority;
|
|
22
26
|
export declare function assertProtectedSecretMetadataPrincipal(input: {
|
|
23
27
|
apply: boolean;
|
|
24
28
|
environment: NodeJS.ProcessEnv;
|
|
@@ -27,6 +31,13 @@ export declare function assertProtectedSecretMetadataPrincipal(input: {
|
|
|
27
31
|
region: string;
|
|
28
32
|
stage: SecretMetadataExecutorOptions['stage'];
|
|
29
33
|
}): Promise<void>;
|
|
34
|
+
export declare function assertLocalSecretMetadataPrincipal(input: {
|
|
35
|
+
accountId: string;
|
|
36
|
+
expectedRoleArn?: string;
|
|
37
|
+
profile?: string;
|
|
38
|
+
readPrincipal?: SecretMetadataExecutorDependencies['readPrincipal'];
|
|
39
|
+
region: string;
|
|
40
|
+
}): Promise<void>;
|
|
30
41
|
export declare function executeSecretMetadata(options: SecretMetadataExecutorOptions, context: ExecutorContext, dependencies?: SecretMetadataExecutorDependencies): Promise<SecretMetadataOperatorResult>;
|
|
31
42
|
declare const executor: PromiseExecutor<SecretMetadataExecutorOptions>;
|
|
32
43
|
export default executor;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assertSecretMetadataApplyAuthority = assertSecretMetadataApplyAuthority;
|
|
4
4
|
exports.assertProtectedSecretMetadataPrincipal = assertProtectedSecretMetadataPrincipal;
|
|
5
|
+
exports.assertLocalSecretMetadataPrincipal = assertLocalSecretMetadataPrincipal;
|
|
5
6
|
exports.executeSecretMetadata = executeSecretMetadata;
|
|
6
7
|
const devkit_1 = require("@nx/devkit");
|
|
7
8
|
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
@@ -9,23 +10,31 @@ const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
|
9
10
|
const node_path_1 = require("node:path");
|
|
10
11
|
const index_js_1 = require("../../secrets/index.js");
|
|
11
12
|
const secret_preflight_js_1 = require("../sst-lifecycle/secret-preflight.js");
|
|
13
|
+
const index_js_2 = require("../../repository-policy/index.js");
|
|
14
|
+
const infrastructure_plan_js_1 = require("../infrastructure-plan/infrastructure-plan.js");
|
|
12
15
|
const protectedStages = new Set(['staging', 'production']);
|
|
13
|
-
|
|
16
|
+
const ROLE = /^arn:(aws|aws-us-gov|aws-cn):iam::\d{12}:role\/[A-Za-z0-9+=,.@_/-]{1,512}$/;
|
|
17
|
+
function assertSecretMetadataApplyAuthority(stage, apply, environment = process.env, deploymentProfile = 'fully-isolated') {
|
|
14
18
|
if (!apply || !protectedStages.has(stage))
|
|
15
|
-
return;
|
|
19
|
+
return 'none';
|
|
16
20
|
const repository = environment.GITHUB_REPOSITORY;
|
|
17
21
|
const branch = stage === 'staging' ? 'develop' : 'main';
|
|
18
22
|
const ref = `refs/heads/${branch}`;
|
|
19
23
|
const expectedWorkflow = repository
|
|
20
24
|
? `${repository}/.github/workflows/secret-metadata.yml@${ref}`
|
|
21
25
|
: undefined;
|
|
22
|
-
|
|
23
|
-
environment.GITHUB_EVENT_NAME
|
|
24
|
-
environment.GITHUB_REF
|
|
25
|
-
|
|
26
|
-
environment.GITHUB_WORKFLOW_REF
|
|
26
|
+
const exactWorkflow = environment.GITHUB_ACTIONS === 'true' &&
|
|
27
|
+
environment.GITHUB_EVENT_NAME === 'workflow_dispatch' &&
|
|
28
|
+
environment.GITHUB_REF === ref &&
|
|
29
|
+
Boolean(repository) &&
|
|
30
|
+
environment.GITHUB_WORKFLOW_REF === expectedWorkflow;
|
|
31
|
+
if (exactWorkflow)
|
|
32
|
+
return 'workflow';
|
|
33
|
+
if ((0, index_js_2.requiresGithubDeployment)(deploymentProfile, stage) ||
|
|
34
|
+
environment.GITHUB_ACTIONS === 'true') {
|
|
27
35
|
throw new Error(`Protected ${stage} secret metadata apply must run from the ${branch}-branch Secret metadata workflow.`);
|
|
28
36
|
}
|
|
37
|
+
return 'local';
|
|
29
38
|
}
|
|
30
39
|
async function readCurrentPrincipal(input) {
|
|
31
40
|
const client = new client_sts_1.STSClient({
|
|
@@ -73,6 +82,27 @@ async function assertProtectedSecretMetadataPrincipal(input) {
|
|
|
73
82
|
throw new Error('Protected secret metadata apply is not running as the exact reviewed deployment-role session.');
|
|
74
83
|
}
|
|
75
84
|
}
|
|
85
|
+
async function assertLocalSecretMetadataPrincipal(input) {
|
|
86
|
+
const expectedRoleArn = input.expectedRoleArn?.trim() ?? '';
|
|
87
|
+
const profile = input.profile?.trim() ?? '';
|
|
88
|
+
if (!ROLE.test(expectedRoleArn) || profile === '') {
|
|
89
|
+
throw new Error('Local protected secret metadata apply requires --profile and one exact --expectedRoleArn.');
|
|
90
|
+
}
|
|
91
|
+
let principal;
|
|
92
|
+
try {
|
|
93
|
+
principal = await (input.readPrincipal ?? readCurrentPrincipal)({
|
|
94
|
+
profile,
|
|
95
|
+
region: input.region,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
throw new Error('Local protected secret metadata apply could not authenticate its AWS principal.');
|
|
100
|
+
}
|
|
101
|
+
if (principal.accountId !== input.accountId ||
|
|
102
|
+
!(0, infrastructure_plan_js_1.matchesExpectedAssumedRoleArn)(input.accountId, principal.arn, expectedRoleArn)) {
|
|
103
|
+
throw new Error('Local protected secret metadata apply is not running in the committed account as the exact temporary assumed role.');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
76
106
|
function resolveSliceRoot(context) {
|
|
77
107
|
if (!context.projectName) {
|
|
78
108
|
throw new Error('Secret metadata operations require the exact Nx Product Slice name.');
|
|
@@ -88,16 +118,38 @@ function resolveSliceRoot(context) {
|
|
|
88
118
|
async function executeSecretMetadata(options, context, dependencies = {}) {
|
|
89
119
|
const environment = dependencies.environment ?? process.env;
|
|
90
120
|
const apply = options.apply === true;
|
|
91
|
-
|
|
121
|
+
const operatingPolicy = apply && protectedStages.has(options.stage)
|
|
122
|
+
? (dependencies.readOperatingPolicy ?? index_js_2.readRepositoryOperatingPolicy)(context.root)
|
|
123
|
+
: undefined;
|
|
124
|
+
const authority = assertSecretMetadataApplyAuthority(options.stage, apply, environment, operatingPolicy?.deploymentProfile);
|
|
92
125
|
const aws = (0, secret_preflight_js_1.resolveSecretAwsContext)(options, environment);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
126
|
+
if (authority === 'workflow') {
|
|
127
|
+
await assertProtectedSecretMetadataPrincipal({
|
|
128
|
+
apply,
|
|
129
|
+
environment,
|
|
130
|
+
...(aws.profile ? { profile: aws.profile } : {}),
|
|
131
|
+
readPrincipal: dependencies.readPrincipal,
|
|
132
|
+
region: aws.region,
|
|
133
|
+
stage: options.stage,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
else if (authority === 'local') {
|
|
137
|
+
if (!operatingPolicy) {
|
|
138
|
+
throw new Error('Local secret metadata operating policy is unavailable.');
|
|
139
|
+
}
|
|
140
|
+
const accounts = (0, index_js_2.configuredDeploymentAccountTopology)(operatingPolicy.deploymentProfile, operatingPolicy.deploymentAccounts);
|
|
141
|
+
const region = (0, index_js_2.configuredDeploymentRegion)(operatingPolicy.deploymentRegion);
|
|
142
|
+
if (aws.region !== region) {
|
|
143
|
+
throw new Error(`Local protected secret metadata apply requires committed deployment Region ${region}.`);
|
|
144
|
+
}
|
|
145
|
+
await assertLocalSecretMetadataPrincipal({
|
|
146
|
+
accountId: accounts[options.stage],
|
|
147
|
+
expectedRoleArn: options.expectedRoleArn,
|
|
148
|
+
...(aws.profile ? { profile: aws.profile } : {}),
|
|
149
|
+
readPrincipal: dependencies.readPrincipal,
|
|
150
|
+
region,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
101
153
|
const loaded = await (0, secret_preflight_js_1.loadSliceSecretMetadata)({
|
|
102
154
|
context,
|
|
103
155
|
cwd: resolveSliceRoot(context),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/secret-metadata/secret-metadata.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"secret-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/secret-metadata/secret-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,11 @@ export interface ManagedLogGroupPreflightDependencies {
|
|
|
9
9
|
}) => Promise<ExistingManagedLogGroup[]>;
|
|
10
10
|
readJson: (path: string) => Promise<unknown>;
|
|
11
11
|
}
|
|
12
|
+
export declare function managedLogGroupResourceArn(group: Readonly<{
|
|
13
|
+
arn?: string;
|
|
14
|
+
logGroupArn?: string;
|
|
15
|
+
}>, name: string): string;
|
|
16
|
+
export declare function sstStateExportArguments(invocation: SstCommandInvocation): string[];
|
|
12
17
|
export declare function loadManagedLogGroupContracts(input: {
|
|
13
18
|
context: ExecutorContext;
|
|
14
19
|
invocation: SstCommandInvocation;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.managedLogGroupResourceArn = managedLogGroupResourceArn;
|
|
4
|
+
exports.sstStateExportArguments = sstStateExportArguments;
|
|
3
5
|
exports.loadManagedLogGroupContracts = loadManagedLogGroupContracts;
|
|
4
6
|
exports.preflightManagedLogGroups = preflightManagedLogGroups;
|
|
5
7
|
const deterministic_order_js_1 = require("../../deterministic-order.js");
|
|
@@ -26,6 +28,15 @@ async function readJson(path) {
|
|
|
26
28
|
throw new Error(`Managed log-group preflight input is not JSON: ${path}.`);
|
|
27
29
|
}
|
|
28
30
|
}
|
|
31
|
+
function managedLogGroupResourceArn(group, name) {
|
|
32
|
+
const candidate = group.logGroupArn ?? group.arn?.replace(/:\*$/u, '');
|
|
33
|
+
if (!candidate ||
|
|
34
|
+
candidate.endsWith(':*') ||
|
|
35
|
+
!/^arn:(?:aws|aws-cn|aws-us-gov):logs:[a-z0-9-]+:\d{12}:log-group:\S+$/u.test(candidate)) {
|
|
36
|
+
throw new Error(`CloudWatch Logs did not return an exact resource ARN for existing group ${name}.`);
|
|
37
|
+
}
|
|
38
|
+
return candidate;
|
|
39
|
+
}
|
|
29
40
|
async function inventoryManagedLogGroups(names, options) {
|
|
30
41
|
const client = new client_cloudwatch_logs_1.CloudWatchLogsClient({
|
|
31
42
|
...(options.profile
|
|
@@ -42,10 +53,7 @@ async function inventoryManagedLogGroups(names, options) {
|
|
|
42
53
|
const group = described.logGroups?.find((candidate) => candidate.logGroupName === name);
|
|
43
54
|
if (!group)
|
|
44
55
|
continue;
|
|
45
|
-
const arn = group
|
|
46
|
-
if (!arn) {
|
|
47
|
-
throw new Error(`CloudWatch Logs did not return an ARN for existing group ${name}.`);
|
|
48
|
-
}
|
|
56
|
+
const arn = managedLogGroupResourceArn(group, name);
|
|
49
57
|
const [tagResult, indexResult] = await Promise.all([
|
|
50
58
|
client.send(new client_cloudwatch_logs_1.ListTagsForResourceCommand({ resourceArn: arn })),
|
|
51
59
|
client.send(new client_cloudwatch_logs_1.DescribeIndexPoliciesCommand({ logGroupIdentifiers: [arn] })),
|
|
@@ -59,15 +67,8 @@ async function inventoryManagedLogGroups(names, options) {
|
|
|
59
67
|
client.destroy();
|
|
60
68
|
return existing;
|
|
61
69
|
}
|
|
62
|
-
function exportSstState(invocation,
|
|
63
|
-
const args =
|
|
64
|
-
invocation.args[0],
|
|
65
|
-
'state',
|
|
66
|
-
'export',
|
|
67
|
-
'--stage',
|
|
68
|
-
invocation.environment.EBK_CONSUMER_STAGE,
|
|
69
|
-
...(options.profile ? ['--profile', options.profile] : []),
|
|
70
|
-
];
|
|
70
|
+
function exportSstState(invocation, _options) {
|
|
71
|
+
const args = sstStateExportArguments(invocation);
|
|
71
72
|
return new Promise((resolve, reject) => {
|
|
72
73
|
const child = (0, node_child_process_1.spawn)(invocation.executable, args, {
|
|
73
74
|
cwd: invocation.cwd,
|
|
@@ -119,6 +120,15 @@ function exportSstState(invocation, options) {
|
|
|
119
120
|
});
|
|
120
121
|
});
|
|
121
122
|
}
|
|
123
|
+
function sstStateExportArguments(invocation) {
|
|
124
|
+
return [
|
|
125
|
+
invocation.args[0],
|
|
126
|
+
'state',
|
|
127
|
+
'export',
|
|
128
|
+
'--stage',
|
|
129
|
+
invocation.environment.EBK_CONSUMER_STAGE,
|
|
130
|
+
];
|
|
131
|
+
}
|
|
122
132
|
async function loadManagedLogGroupContracts(input) {
|
|
123
133
|
if (!input.context.projectName) {
|
|
124
134
|
throw new Error('Managed log-group preflight requires the exact Nx project name.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging-preflight.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/sst-lifecycle/logging-preflight.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"logging-preflight.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/sst-lifecycle/logging-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@ import { type ExecutorContext } from '@nx/devkit';
|
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
3
|
import { type FoundationStageResolution } from '../../foundation/stages.js';
|
|
4
4
|
import { type PersonalStageResolver } from '../../local-dev/personal-stage.js';
|
|
5
|
+
import { type DeploymentProfile } from '../../repository-policy/index.js';
|
|
5
6
|
import { preflightManagedLogGroups } from './logging-preflight.js';
|
|
6
7
|
import { preflightSliceSecretMetadata } from './secret-preflight.js';
|
|
7
8
|
export type SstLifecycleCommand = 'deploy' | 'dev' | 'refresh' | 'remove' | 'unlock';
|
|
8
9
|
export interface SstLifecycleOptions {
|
|
9
10
|
args?: string[];
|
|
10
11
|
cwd?: string;
|
|
12
|
+
expectedRoleArn?: string;
|
|
11
13
|
foundationStage?: string;
|
|
14
|
+
localProductionConfirmation?: string;
|
|
12
15
|
profile?: string;
|
|
13
16
|
region?: string;
|
|
14
17
|
stage?: string;
|
|
@@ -19,8 +22,11 @@ export interface SstCommandInvocation {
|
|
|
19
22
|
args: string[];
|
|
20
23
|
cwd: string;
|
|
21
24
|
environment: {
|
|
25
|
+
AWS_EXPECTED_ACCOUNT_ID?: string;
|
|
26
|
+
AWS_PROFILE?: string;
|
|
22
27
|
AWS_REGION?: string;
|
|
23
28
|
EBK_CONSUMER_STAGE: string;
|
|
29
|
+
EBK_EXPECTED_DEPLOYMENT_ROLE_ARN?: string;
|
|
24
30
|
EBK_FOUNDATION_STAGE: string;
|
|
25
31
|
EBK_PRODUCTION_FOUNDATION_PROFILE?: string;
|
|
26
32
|
};
|
|
@@ -30,6 +36,7 @@ export interface SstLifecyclePreflightDependencies {
|
|
|
30
36
|
infrastructureAuthorization?: (command: 'deploy' | 'refresh' | 'remove', options: SstLifecycleOptions, context: ExecutorContext, invocation: SstCommandInvocation) => Promise<void>;
|
|
31
37
|
logging?: typeof preflightManagedLogGroups;
|
|
32
38
|
secrets?: typeof preflightSliceSecretMetadata;
|
|
39
|
+
unlockAuthorization?: (options: SstLifecycleOptions, invocation: SstCommandInvocation) => Promise<void> | void;
|
|
33
40
|
}
|
|
34
41
|
interface SstLifecycleRuntimeDependencies extends SstLifecyclePreflightDependencies {
|
|
35
42
|
infrastructureConvergence?: (command: 'deploy' | 'refresh' | 'remove', options: SstLifecycleOptions, context: ExecutorContext, invocation: SstCommandInvocation, applySucceeded: boolean) => Promise<boolean>;
|
|
@@ -38,7 +45,7 @@ interface SstLifecycleRuntimeDependencies extends SstLifecyclePreflightDependenc
|
|
|
38
45
|
export declare function createSstChildEnvironment(ambient: NodeJS.ProcessEnv, invocation: SstCommandInvocation['environment']): NodeJS.ProcessEnv;
|
|
39
46
|
export declare function assertSafeSstForwardedArguments(args: readonly string[]): void;
|
|
40
47
|
export declare function resolveSstDevMode(environment: NodeJS.ProcessEnv, forwardedArguments?: readonly string[]): 'basic' | 'mono' | undefined;
|
|
41
|
-
export declare function assertSstLifecyclePolicy(command: SstLifecycleCommand, stage: string, environment?: NodeJS.ProcessEnv): void;
|
|
48
|
+
export declare function assertSstLifecyclePolicy(command: SstLifecycleCommand, stage: string, environment?: NodeJS.ProcessEnv, deploymentProfile?: DeploymentProfile): void;
|
|
42
49
|
export declare function resolveSstLifecycleStages(options: SstLifecycleOptions, environment?: NodeJS.ProcessEnv): FoundationStageResolution;
|
|
43
50
|
export declare function buildSstCommandInvocation(command: SstLifecycleCommand, options: SstLifecycleOptions, context: ExecutorContext, environment?: NodeJS.ProcessEnv, dependencies?: {
|
|
44
51
|
personalStageResolver?: PersonalStageResolver;
|