@empire-builder-kit/nx 1.0.0-rc.31 → 1.0.0-rc.32

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.
Files changed (115) hide show
  1. package/package.json +7 -3
  2. package/src/aws/identity.js +1 -1
  3. package/src/aws/identity.js.map +1 -1
  4. package/src/aws-authority/stage-authority.d.ts +2 -0
  5. package/src/aws-authority/stage-authority.js +152 -20
  6. package/src/aws-authority/stage-authority.js.map +1 -1
  7. package/src/cli/main.d.ts +2 -0
  8. package/src/cli/main.js +11 -0
  9. package/src/cli/main.js.map +1 -1
  10. package/src/developer-agent/workspace-inspection.js +11 -2
  11. package/src/developer-agent/workspace-inspection.js.map +1 -1
  12. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  13. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  14. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  15. package/src/executors/github-bootstrap/schema.json +7 -1
  16. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +2 -0
  17. package/src/executors/infrastructure-plan/infrastructure-plan.js +18 -1
  18. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
  19. package/src/executors/local-deploy/local-deploy.d.ts +2 -0
  20. package/src/executors/local-deploy/local-deploy.js +17 -0
  21. package/src/executors/local-deploy/local-deploy.js.map +1 -1
  22. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +2 -0
  23. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +2 -0
  24. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -1
  25. package/src/executors/secret-initialize/secret-initialize.d.ts +2 -0
  26. package/src/executors/secret-initialize/secret-initialize.js +14 -0
  27. package/src/executors/secret-initialize/secret-initialize.js.map +1 -1
  28. package/src/executors/secret-metadata/secret-metadata.d.ts +2 -0
  29. package/src/executors/secret-metadata/secret-metadata.js +14 -0
  30. package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
  31. package/src/executors/sst-lifecycle/run-sst-command.d.ts +2 -0
  32. package/src/executors/sst-lifecycle/run-sst-command.js +17 -2
  33. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  34. package/src/foundation/provision-logical-database.js +2 -0
  35. package/src/foundation/provision-logical-database.js.map +1 -1
  36. package/src/generators/preset/generator.js +6 -1
  37. package/src/generators/preset/generator.js.map +1 -1
  38. package/src/generators/preset/schema.d.ts +3 -0
  39. package/src/generators/preset/schema.json +5 -5
  40. package/src/generators/preset/workspace-files-performance-load.js +21 -12
  41. package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
  42. package/src/generators/preset/workspace-files-stage-authority.d.ts +2 -0
  43. package/src/generators/preset/workspace-files-stage-authority.js +264 -60
  44. package/src/generators/preset/workspace-files-stage-authority.js.map +1 -1
  45. package/src/generators/preset/workspace-files-thin-deploy.d.ts +6 -1
  46. package/src/generators/preset/workspace-files-thin-deploy.js +102 -36
  47. package/src/generators/preset/workspace-files-thin-deploy.js.map +1 -1
  48. package/src/generators/preset/workspace-files-thin-docs.js +26 -10
  49. package/src/generators/preset/workspace-files-thin-docs.js.map +1 -1
  50. package/src/generators/preset/workspace-files.d.ts +1 -0
  51. package/src/generators/preset/workspace-files.js +111 -493
  52. package/src/generators/preset/workspace-files.js.map +1 -1
  53. package/src/generators/repository-policy/repository-policy.js +149 -19
  54. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  55. package/src/generators/repository-policy/schema.d.ts +2 -0
  56. package/src/generators/repository-policy/schema.json +11 -1
  57. package/src/generators/repository-policy/tree-policy.d.ts +3 -0
  58. package/src/generators/repository-policy/tree-policy.js +25 -0
  59. package/src/generators/repository-policy/tree-policy.js.map +1 -0
  60. package/src/generators/slice/built-in-plan-async-work-files.js +41 -0
  61. package/src/generators/slice/built-in-plan-async-work-files.js.map +1 -1
  62. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +2 -0
  63. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
  64. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +19 -0
  65. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +1 -1
  66. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +21 -3
  67. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +1 -1
  68. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +20 -1
  69. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +1 -1
  70. package/src/generators/slice/built-in-plan-operations-files.js +22 -2
  71. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  72. package/src/generators/slice/built-in-plan-performance-files.js +60 -0
  73. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
  74. package/src/generators/slice/built-in-plan-secret-runtime-files.js +13 -0
  75. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -1
  76. package/src/generators/slice/built-in-plan-testing-files.js +20 -0
  77. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
  78. package/src/generators/slice/slice.js +3 -3
  79. package/src/generators/slice/slice.js.map +1 -1
  80. package/src/generators/upgrade/upgrade.js +25 -28
  81. package/src/generators/upgrade/upgrade.js.map +1 -1
  82. package/src/generators/workload/performance-registration.js +4 -8
  83. package/src/generators/workload/performance-registration.js.map +1 -1
  84. package/src/git-policy/github-bootstrap.d.ts +10 -2
  85. package/src/git-policy/github-bootstrap.js +109 -13
  86. package/src/git-policy/github-bootstrap.js.map +1 -1
  87. package/src/index.d.ts +1 -0
  88. package/src/index.js +1 -0
  89. package/src/index.js.map +1 -1
  90. package/src/local-dev/tls.js +5 -1
  91. package/src/local-dev/tls.js.map +1 -1
  92. package/src/repository-policy/policy.d.ts +16 -1
  93. package/src/repository-policy/policy.js +226 -12
  94. package/src/repository-policy/policy.js.map +1 -1
  95. package/src/schemas/repository-policy-v1.json +46 -2
  96. package/src/secrets/adapters.d.ts +2 -1
  97. package/src/secrets/adapters.js +12 -2
  98. package/src/secrets/adapters.js.map +1 -1
  99. package/src/supply-chain/generated-container-release-command.js +41 -18
  100. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  101. package/src/workspace-deployment/identity.d.ts +3 -0
  102. package/src/workspace-deployment/identity.js +22 -0
  103. package/src/workspace-deployment/identity.js.map +1 -0
  104. package/src/workspace-deployment/index.d.ts +3 -0
  105. package/src/workspace-deployment/index.js +7 -0
  106. package/src/workspace-deployment/index.js.map +1 -0
  107. package/src/workspace-deployment/migration-evidence.d.ts +29 -0
  108. package/src/workspace-deployment/migration-evidence.js +83 -0
  109. package/src/workspace-deployment/migration-evidence.js.map +1 -0
  110. package/src/workspace-deployment/migration.d.ts +27 -0
  111. package/src/workspace-deployment/migration.js +109 -0
  112. package/src/workspace-deployment/migration.js.map +1 -0
  113. package/src/workspace-deployment/ownership.d.ts +81 -0
  114. package/src/workspace-deployment/ownership.js +381 -0
  115. package/src/workspace-deployment/ownership.js.map +1 -0
@@ -13,16 +13,24 @@ exports.configuredDeploymentRegion = configuredDeploymentRegion;
13
13
  exports.validateRepositoryOperatingPolicy = validateRepositoryOperatingPolicy;
14
14
  exports.formatRepositoryPolicyIssues = formatRepositoryPolicyIssues;
15
15
  exports.parseRepositoryOperatingPolicy = parseRepositoryOperatingPolicy;
16
+ exports.validateRepositoryOperatingPolicyMigrationProvenance = validateRepositoryOperatingPolicyMigrationProvenance;
16
17
  exports.readRepositoryOperatingPolicy = readRepositoryOperatingPolicy;
17
18
  exports.createIncubationRepositoryPolicy = createIncubationRepositoryPolicy;
18
19
  exports.applyRepositoryPolicyChange = applyRepositoryPolicyChange;
19
20
  exports.evaluateRepositoryPolicyRequest = evaluateRepositoryPolicyRequest;
20
21
  exports.assertRepositoryPolicyRequest = assertRepositoryPolicyRequest;
22
+ const node_crypto_1 = require("node:crypto");
23
+ const node_buffer_1 = require("node:buffer");
21
24
  const node_fs_1 = require("node:fs");
22
25
  const node_path_1 = require("node:path");
23
26
  const validation_js_1 = require("../validation.js");
27
+ const identity_js_1 = require("../workspace-deployment/identity.js");
28
+ const migration_evidence_js_1 = require("../workspace-deployment/migration-evidence.js");
24
29
  exports.REPOSITORY_POLICY_FILE = 'ebk.repository-policy.json';
25
30
  exports.REPOSITORY_POLICY_SCHEMA_VERSION = 1;
31
+ const MAX_REPOSITORY_POLICY_BYTES = 1024 * 1024;
32
+ const MAX_WORKSPACE_DEPLOYMENT_MIGRATION_EVIDENCE_BYTES = 128 * 1024;
33
+ const UNSUPPORTED_AWS_PARTITION_REGION = /^(?:us-iso-|us-isob-|eu-isoe-|us-isof-)/u;
26
34
  exports.REPOSITORY_POLICY_SCHEMA_URL = './node_modules/@empire-builder-kit/nx/schemas/repository-policy-v1.json';
27
35
  exports.PRODUCTION_ACCESS_VALUES = ['disabled', 'controlled'];
28
36
  exports.PRODUCTION_APPROVAL_MODES = [
@@ -130,8 +138,9 @@ function configuredDeploymentAccountForStage(profile, accounts, stage) {
130
138
  }
131
139
  function configuredDeploymentRegion(region) {
132
140
  if (region === null ||
133
- !/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(region)) {
134
- throw new Error('Deployment Region is incomplete; configure one exact AWS Region before deployment.');
141
+ !/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(region) ||
142
+ UNSUPPORTED_AWS_PARTITION_REGION.test(region)) {
143
+ throw new Error('Deployment Region is incomplete or belongs to an unsupported AWS partition; configure one exact commercial, China, or GovCloud AWS Region before deployment.');
135
144
  }
136
145
  return region;
137
146
  }
@@ -146,6 +155,8 @@ const POLICY_PROPERTIES = new Set([
146
155
  'productionFoundation',
147
156
  'schemaVersion',
148
157
  'slices',
158
+ 'workspaceDeploymentId',
159
+ 'workspaceDeploymentProvenance',
149
160
  ]);
150
161
  const REQUIRED_POLICY_PROPERTIES = [
151
162
  'deploymentAccounts',
@@ -156,6 +167,8 @@ const REQUIRED_POLICY_PROPERTIES = [
156
167
  'productionFoundation',
157
168
  'schemaVersion',
158
169
  'slices',
170
+ 'workspaceDeploymentId',
171
+ 'workspaceDeploymentProvenance',
159
172
  ];
160
173
  function rejectUnknownProperties(value, allowed, path, issues) {
161
174
  for (const property of Object.keys(value)) {
@@ -189,6 +202,67 @@ function validateRepositoryOperatingPolicy(value) {
189
202
  path: 'policy.$schema',
190
203
  });
191
204
  }
205
+ if (!(0, validation_js_1.isRecord)(value.workspaceDeploymentProvenance)) {
206
+ issues.push({
207
+ message: 'must declare exact fresh or migrated provenance',
208
+ path: 'policy.workspaceDeploymentProvenance',
209
+ });
210
+ }
211
+ else {
212
+ const provenance = value.workspaceDeploymentProvenance;
213
+ const provenancePath = 'policy.workspaceDeploymentProvenance';
214
+ if (provenance.kind === 'fresh') {
215
+ rejectUnknownProperties(provenance, new Set(['kind', 'schemaVersion']), provenancePath, issues);
216
+ if (provenance.schemaVersion !== 1) {
217
+ issues.push({
218
+ message: 'must equal 1',
219
+ path: `${provenancePath}.schemaVersion`,
220
+ });
221
+ }
222
+ }
223
+ else if (provenance.kind === 'migrated') {
224
+ rejectUnknownProperties(provenance, new Set(['evidencePath', 'evidenceSha256', 'kind', 'schemaVersion']), provenancePath, issues);
225
+ const evidencePath = provenance.evidencePath;
226
+ const pathSegments = typeof evidencePath === 'string' ? evidencePath.split('/') : [];
227
+ if (typeof evidencePath !== 'string' ||
228
+ !/^docs\/adoption\/[A-Za-z0-9._/-]+[.]json$/u.test(evidencePath) ||
229
+ (0, node_path_1.isAbsolute)(evidencePath) ||
230
+ evidencePath.includes('\\') ||
231
+ evidencePath.includes('//') ||
232
+ pathSegments.some((segment) => segment === '' || segment === '.' || segment === '..')) {
233
+ issues.push({
234
+ message: 'must be one normalized JSON path beneath docs/adoption without traversal',
235
+ path: `${provenancePath}.evidencePath`,
236
+ });
237
+ }
238
+ if (typeof provenance.evidenceSha256 !== 'string' ||
239
+ !/^[a-f0-9]{64}$/u.test(provenance.evidenceSha256)) {
240
+ issues.push({
241
+ message: 'must be one lowercase SHA-256 digest',
242
+ path: `${provenancePath}.evidenceSha256`,
243
+ });
244
+ }
245
+ if (provenance.schemaVersion !== 1) {
246
+ issues.push({
247
+ message: 'must equal 1',
248
+ path: `${provenancePath}.schemaVersion`,
249
+ });
250
+ }
251
+ }
252
+ else {
253
+ issues.push({
254
+ message: 'kind must equal fresh or migrated',
255
+ path: `${provenancePath}.kind`,
256
+ });
257
+ }
258
+ }
259
+ if (typeof value.workspaceDeploymentId !== 'string' ||
260
+ !identity_js_1.WORKSPACE_DEPLOYMENT_ID_PATTERN.test(value.workspaceDeploymentId)) {
261
+ issues.push({
262
+ message: 'must be ebkws- followed by exactly 128 bits of lowercase hexadecimal identity',
263
+ path: 'policy.workspaceDeploymentId',
264
+ });
265
+ }
192
266
  if (!isOneOf(value.deploymentProfile, exports.DEPLOYMENT_PROFILES)) {
193
267
  issues.push({
194
268
  message: `must equal ${exports.DEPLOYMENT_PROFILES.join(', ')}`,
@@ -197,9 +271,10 @@ function validateRepositoryOperatingPolicy(value) {
197
271
  }
198
272
  if (value.deploymentRegion !== null &&
199
273
  (typeof value.deploymentRegion !== 'string' ||
200
- !/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(value.deploymentRegion))) {
274
+ !/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/.test(value.deploymentRegion) ||
275
+ UNSUPPORTED_AWS_PARTITION_REGION.test(value.deploymentRegion))) {
201
276
  issues.push({
202
- message: 'must be null or one exact AWS Region',
277
+ message: 'must be null or one exact commercial, China, or GovCloud AWS Region',
203
278
  path: 'policy.deploymentRegion',
204
279
  });
205
280
  }
@@ -313,7 +388,7 @@ function missingPolicyDecisionGuidance(value) {
313
388
  const missing = REQUIRED_POLICY_PROPERTIES.filter((property) => !Object.prototype.hasOwnProperty.call(value, property));
314
389
  if (missing.length === 0)
315
390
  return '';
316
- return `\nMissing required top-level policy members: ${missing.join(', ')}.\nClean regeneration required: regenerate the workspace from the current exact packed candidate, then deliberately reapply the reviewed deployment-profile, production-access, approval-mode, Foundation-profile, and per-Slice decisions. Existing prerelease repositories may instead run the repository-policy generator with --deploymentProfile=fully-isolated to retain the former authority model, then commit exact development, staging, and production AWS account IDs plus deploymentRegion before any deployment. This migration preserves the authority model, not deployability; all-null account topology remains fail closed. Missing decisions are not inferred or amended in place.`;
391
+ return `\nMissing required top-level policy members: ${missing.join(', ')}.\nClean regeneration required: regenerate the workspace from the current exact packed candidate, then deliberately reapply the reviewed deployment-profile, production-access, approval-mode, Foundation-profile, and per-Slice decisions. Existing prerelease repositories must explicitly migrate a stable workspaceDeploymentId and required migrated provenance with bounded, version-controlled tuple occupancy evidence; a legacy profile migration also requires --deploymentProfile=fully-isolated. Then commit exact development, staging, and production AWS account IDs plus deploymentRegion before any deployment. Migration preserves the reviewed authority model and workspace ownership assertion, not deployability; all-null account topology remains fail closed. Missing decisions are not inferred or amended in place.`;
317
392
  }
318
393
  function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_POLICY_FILE) {
319
394
  let value;
@@ -329,18 +404,155 @@ function parseRepositoryOperatingPolicy(contents, source = exports.REPOSITORY_PO
329
404
  }
330
405
  return result.value;
331
406
  }
332
- function readRepositoryOperatingPolicy(workspaceRoot) {
333
- const path = (0, node_path_1.join)(workspaceRoot, exports.REPOSITORY_POLICY_FILE);
334
- let contents;
407
+ function workspaceDeploymentMigrationCoordinates(policy) {
408
+ const region = configuredDeploymentRegion(policy.deploymentRegion);
409
+ const accounts = configuredDeploymentAccountTopology(policy.deploymentProfile, policy.deploymentAccounts);
410
+ return activeDeploymentStages(policy.deploymentProfile)
411
+ .map((stage) => ({ accountId: accounts[stage], region, stage }))
412
+ .sort((left, right) => left.stage < right.stage ? -1 : left.stage > right.stage ? 1 : 0);
413
+ }
414
+ function validateRepositoryOperatingPolicyMigrationProvenance(input) {
415
+ if (input.policy.workspaceDeploymentProvenance.kind !== 'migrated')
416
+ return;
417
+ if (node_buffer_1.Buffer.byteLength(input.evidenceBytes, 'utf8') > 131_072) {
418
+ throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} exceeds the 128 KiB retention bound.`);
419
+ }
420
+ const actualDigest = (0, node_crypto_1.createHash)('sha256')
421
+ .update(input.evidenceBytes, 'utf8')
422
+ .digest('hex');
423
+ if (actualDigest !== input.policy.workspaceDeploymentProvenance.evidenceSha256) {
424
+ throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} does not match the committed SHA-256 binding.`);
425
+ }
426
+ let evidence;
427
+ try {
428
+ evidence = JSON.parse(input.evidenceBytes);
429
+ }
430
+ catch (error) {
431
+ throw new Error(`Workspace deployment migration evidence at ${input.evidenceSource} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
432
+ }
433
+ (0, migration_evidence_js_1.validateWorkspaceDeploymentMigrationEvidence)({
434
+ evidence,
435
+ expectedCoordinates: workspaceDeploymentMigrationCoordinates(input.policy),
436
+ workspaceDeploymentId: input.policy.workspaceDeploymentId,
437
+ });
438
+ }
439
+ function isContainedFilesystemPath(root, path) {
440
+ const fromRoot = (0, node_path_1.relative)(root, path);
441
+ return (fromRoot === '' ||
442
+ (!fromRoot.startsWith(`..${node_path_1.sep}`) &&
443
+ fromRoot !== '..' &&
444
+ !(0, node_path_1.isAbsolute)(fromRoot)));
445
+ }
446
+ function repositoryPolicyWorkspaceRoot(workspaceRoot) {
447
+ try {
448
+ const root = (0, node_fs_1.realpathSync)(workspaceRoot);
449
+ if (!(0, node_fs_1.lstatSync)(root).isDirectory()) {
450
+ throw new Error('workspace root is not a directory');
451
+ }
452
+ return root;
453
+ }
454
+ catch (error) {
455
+ throw new Error(`Repository Operating Policy workspace root is unavailable at ${workspaceRoot}: ${error instanceof Error ? error.message : String(error)}`);
456
+ }
457
+ }
458
+ function readBoundedContainedRepositoryFile(input) {
459
+ const segments = input.relativePath.split('/');
460
+ if (input.relativePath.length === 0 ||
461
+ input.relativePath.includes('\0') ||
462
+ input.relativePath.includes('\\') ||
463
+ (0, node_path_1.isAbsolute)(input.relativePath) ||
464
+ segments.some((segment) => segment === '' || segment === '.' || segment === '..')) {
465
+ throw new Error(`${input.label} path escaped the workspace: ${input.relativePath}`);
466
+ }
467
+ const path = (0, node_path_1.resolve)(input.workspaceRoot, ...segments);
468
+ if (!isContainedFilesystemPath(input.workspaceRoot, path)) {
469
+ throw new Error(`${input.label} path escaped the workspace: ${path}`);
470
+ }
471
+ let descriptor;
335
472
  try {
336
- contents = (0, node_fs_1.readFileSync)(path, 'utf8');
473
+ const pathMetadata = (0, node_fs_1.lstatSync)(path);
474
+ if (pathMetadata.isSymbolicLink() || !pathMetadata.isFile()) {
475
+ throw new Error('path is not one regular non-symlink file');
476
+ }
477
+ const resolvedPath = (0, node_fs_1.realpathSync)(path);
478
+ if (!isContainedFilesystemPath(input.workspaceRoot, resolvedPath)) {
479
+ throw new Error(`${input.label} path escaped the workspace through a parent path`);
480
+ }
481
+ descriptor = (0, node_fs_1.openSync)(path, node_fs_1.constants.O_RDONLY | (node_fs_1.constants.O_NOFOLLOW ?? 0));
482
+ const metadata = (0, node_fs_1.fstatSync)(descriptor);
483
+ if (!metadata.isFile() ||
484
+ metadata.dev !== pathMetadata.dev ||
485
+ metadata.ino !== pathMetadata.ino) {
486
+ throw new Error('path changed before it could be read safely');
487
+ }
488
+ if (metadata.size > input.maximumBytes) {
489
+ throw new Error(`file exceeds ${input.maximumDescription}`);
490
+ }
491
+ const capacity = Math.min(input.maximumBytes + 1, metadata.size + 1);
492
+ const buffer = node_buffer_1.Buffer.alloc(capacity);
493
+ let offset = 0;
494
+ while (offset < buffer.byteLength) {
495
+ const count = (0, node_fs_1.readSync)(descriptor, buffer, offset, buffer.byteLength - offset, null);
496
+ if (count === 0)
497
+ break;
498
+ offset += count;
499
+ }
500
+ const finalMetadata = (0, node_fs_1.fstatSync)(descriptor);
501
+ if (offset !== metadata.size ||
502
+ finalMetadata.size !== metadata.size ||
503
+ finalMetadata.mtimeMs !== metadata.mtimeMs ||
504
+ finalMetadata.ctimeMs !== metadata.ctimeMs) {
505
+ throw new Error('file changed while it was read or exceeded its fixed byte bound');
506
+ }
507
+ const finalPathMetadata = (0, node_fs_1.lstatSync)(path);
508
+ const finalResolvedPath = (0, node_fs_1.realpathSync)(path);
509
+ if (finalPathMetadata.isSymbolicLink() ||
510
+ !finalPathMetadata.isFile() ||
511
+ finalPathMetadata.dev !== metadata.dev ||
512
+ finalPathMetadata.ino !== metadata.ino ||
513
+ !isContainedFilesystemPath(input.workspaceRoot, finalResolvedPath)) {
514
+ throw new Error('path changed after it was read safely');
515
+ }
516
+ return {
517
+ contents: buffer.subarray(0, offset).toString('utf8'),
518
+ path: finalResolvedPath,
519
+ };
337
520
  }
338
521
  catch (error) {
339
- throw new Error(`Repository Operating Policy is required at ${path}: ${error instanceof Error ? error.message : String(error)}`);
522
+ throw new Error(`${input.label} is required as a bounded contained regular non-symlink file at ${path}: ${error instanceof Error ? error.message : String(error)}`);
523
+ }
524
+ finally {
525
+ if (descriptor !== undefined)
526
+ (0, node_fs_1.closeSync)(descriptor);
527
+ }
528
+ }
529
+ function readRepositoryOperatingPolicy(workspaceRoot) {
530
+ const workspace = repositoryPolicyWorkspaceRoot(workspaceRoot);
531
+ const policySource = readBoundedContainedRepositoryFile({
532
+ label: 'Repository Operating Policy',
533
+ maximumBytes: MAX_REPOSITORY_POLICY_BYTES,
534
+ maximumDescription: 'its 1 MiB control-file bound',
535
+ relativePath: exports.REPOSITORY_POLICY_FILE,
536
+ workspaceRoot: workspace,
537
+ });
538
+ const policy = parseRepositoryOperatingPolicy(policySource.contents, policySource.path);
539
+ if (policy.workspaceDeploymentProvenance.kind === 'migrated') {
540
+ const evidenceSource = readBoundedContainedRepositoryFile({
541
+ label: 'Workspace deployment migration evidence',
542
+ maximumBytes: MAX_WORKSPACE_DEPLOYMENT_MIGRATION_EVIDENCE_BYTES,
543
+ maximumDescription: 'the 128 KiB retention bound',
544
+ relativePath: policy.workspaceDeploymentProvenance.evidencePath,
545
+ workspaceRoot: workspace,
546
+ });
547
+ validateRepositoryOperatingPolicyMigrationProvenance({
548
+ evidenceBytes: evidenceSource.contents,
549
+ evidenceSource: evidenceSource.path,
550
+ policy,
551
+ });
340
552
  }
341
- return parseRepositoryOperatingPolicy(contents, path);
553
+ return policy;
342
554
  }
343
- function createIncubationRepositoryPolicy(deploymentProfile = 'starter') {
555
+ function createIncubationRepositoryPolicy(deploymentProfile = 'starter', workspaceDeploymentId = (0, identity_js_1.createWorkspaceDeploymentId)()) {
344
556
  return {
345
557
  $schema: exports.REPOSITORY_POLICY_SCHEMA_URL,
346
558
  deploymentAccounts: {
@@ -359,6 +571,8 @@ function createIncubationRepositoryPolicy(deploymentProfile = 'starter') {
359
571
  },
360
572
  schemaVersion: exports.REPOSITORY_POLICY_SCHEMA_VERSION,
361
573
  slices: {},
574
+ workspaceDeploymentId,
575
+ workspaceDeploymentProvenance: { kind: 'fresh', schemaVersion: 1 },
362
576
  };
363
577
  }
364
578
  function applyRepositoryPolicyChange(current, change) {
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../../packages/nx/src/repository-policy/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../../packages/nx/src/repository-policy/policy.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@
12
12
  "productionAccess",
13
13
  "productionApproval",
14
14
  "productionFoundation",
15
- "slices"
15
+ "slices",
16
+ "workspaceDeploymentId",
17
+ "workspaceDeploymentProvenance"
16
18
  ],
17
19
  "properties": {
18
20
  "$schema": { "type": "string", "minLength": 1 },
@@ -26,7 +28,7 @@
26
28
  { "type": "null" },
27
29
  {
28
30
  "type": "string",
29
- "pattern": "^[a-z]{2}(-gov)?-[a-z]+(-[a-z]+)*-[0-9]$"
31
+ "pattern": "^(?!(us-iso-|us-isob-|eu-isoe-|us-isof-))[a-z]{2}(-gov)?-[a-z]+(-[a-z]+)*-[0-9]$"
30
32
  }
31
33
  ]
32
34
  },
@@ -95,6 +97,48 @@
95
97
  }
96
98
  }
97
99
  }
100
+ },
101
+ "workspaceDeploymentId": {
102
+ "type": "string",
103
+ "pattern": "^ebkws-[a-f0-9]{32}$",
104
+ "description": "Stable generated identity shared by clones of this workspace and bound to every active AWS stage tuple."
105
+ },
106
+ "workspaceDeploymentProvenance": {
107
+ "oneOf": [
108
+ {
109
+ "type": "object",
110
+ "additionalProperties": false,
111
+ "required": ["kind", "schemaVersion"],
112
+ "properties": {
113
+ "kind": { "const": "fresh" },
114
+ "schemaVersion": { "const": 1 }
115
+ }
116
+ },
117
+ {
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "required": [
121
+ "evidencePath",
122
+ "evidenceSha256",
123
+ "kind",
124
+ "schemaVersion"
125
+ ],
126
+ "properties": {
127
+ "evidencePath": {
128
+ "type": "string",
129
+ "pattern": "^docs/adoption/[A-Za-z0-9._/-]+[.]json$",
130
+ "not": { "pattern": "/(?:[.]|[.][.])(?:/|$)|//" }
131
+ },
132
+ "evidenceSha256": {
133
+ "type": "string",
134
+ "pattern": "^[a-f0-9]{64}$"
135
+ },
136
+ "kind": { "const": "migrated" },
137
+ "schemaVersion": { "const": 1 }
138
+ }
139
+ }
140
+ ],
141
+ "description": "Required origin declaration. Migrated identities retain an exact version-controlled occupancy-evidence binding."
98
142
  }
99
143
  }
100
144
  }
@@ -31,7 +31,7 @@ export interface SecretDeclarationContractLike {
31
31
  };
32
32
  }
33
33
  export declare class SecretDeclarationAdapterError extends Error {
34
- readonly code: 'secret-cross-slice-approval-required' | 'secret-consumption-stage-invalid' | 'secret-declaration-adapter-invalid' | 'secret-reference-undeclared';
34
+ readonly code: 'secret-cross-slice-approval-required' | 'secret-consumption-stage-invalid' | 'secret-declaration-adapter-invalid' | 'secret-reference-ownership-invalid' | 'secret-reference-undeclared';
35
35
  constructor(code: SecretDeclarationAdapterError['code']);
36
36
  }
37
37
  export declare function toSecretMetadataDeclaration(declaration: SecretDeclarationContractLike): SecretMetadataDeclaration;
@@ -43,6 +43,7 @@ export declare function createDeclaredWorkloadSecretPermissionIntent(input: {
43
43
  declarations: Readonly<Record<string, SecretDeclarationContractLike>>;
44
44
  externalApprovals?: readonly {
45
45
  approved: true;
46
+ containerOwnership: 'ebk-stage' | 'external';
46
47
  logicalName: string;
47
48
  owner: string;
48
49
  secretArn: string;
@@ -187,14 +187,24 @@ function createDeclaredWorkloadSecretPermissionIntent(input) {
187
187
  }
188
188
  const resourceName = reference.secretArn.split(':secret:')[1] ?? '';
189
189
  const expectedPrefix = `ebk/${input.stage}/${input.consumerSlice}/`;
190
+ const reservedStagePrefix = `ebk/${input.stage}/`;
190
191
  if (!resourceName.startsWith(expectedPrefix)) {
191
- const approved = input.externalApprovals?.some((approval) => approval.approved === true &&
192
+ const approval = input.externalApprovals?.find((approval) => approval.approved === true &&
192
193
  approval.logicalName === reference.logicalName &&
193
194
  approval.owner === declaration.owner &&
194
195
  approval.secretArn === reference.secretArn);
195
- if (!approved) {
196
+ if (approval === undefined) {
196
197
  throw new SecretDeclarationAdapterError('secret-cross-slice-approval-required');
197
198
  }
199
+ const isReservedStageContainer = resourceName.startsWith(reservedStagePrefix);
200
+ const isAnyReservedEbkContainer = resourceName.startsWith('ebk/');
201
+ if ((isReservedStageContainer &&
202
+ approval.containerOwnership !== 'ebk-stage') ||
203
+ (!isReservedStageContainer &&
204
+ approval.containerOwnership !== 'external') ||
205
+ (isAnyReservedEbkContainer && !isReservedStageContainer)) {
206
+ throw new SecretDeclarationAdapterError('secret-reference-ownership-invalid');
207
+ }
198
208
  }
199
209
  }
200
210
  return (0, permissions_js_1.createWorkloadSecretPermissionIntent)({
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../../packages/nx/src/secrets/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../../packages/nx/src/secrets/adapters.ts"],"names":[],"mappings":"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"}
@@ -207,28 +207,39 @@ const localFederated =
207
207
  process.env.GITHUB_ACTIONS !== 'true' &&
208
208
  process.env.EBK_LOCAL_DEPLOYMENT_MODE === 'federated';
209
209
  const localRunId = process.env.EBK_LOCAL_CONTAINER_RUN_ID?.trim() ?? '';
210
- if (localFederated) {
211
- const policy = JSON.parse(
212
- readFileSync(join(repositoryRoot, 'ebk.repository-policy.json'), 'utf8'),
213
- );
214
- const selectedDeploymentProfile =
215
- process.env.EBK_DEPLOYMENT_PROFILE?.trim() ?? '';
216
- const admittedStages = {
210
+ const policy = JSON.parse(
211
+ readFileSync(join(repositoryRoot, 'ebk.repository-policy.json'), 'utf8'),
212
+ );
213
+ const selectedDeploymentProfile =
214
+ process.env.EBK_DEPLOYMENT_PROFILE?.trim() ?? '';
215
+ const activeStages = {
216
+ starter: ['development', 'production'],
217
+ 'production-isolated': ['development', 'staging', 'production'],
218
+ 'fully-isolated': ['development', 'staging', 'production'],
219
+ }[policy.deploymentProfile];
220
+ const locallyAdmittedStages = {
217
221
  starter: ['development', 'production'],
218
222
  'production-isolated': ['development', 'staging'],
219
223
  'fully-isolated': ['development'],
220
224
  }[policy.deploymentProfile];
221
- if (
222
- selectedDeploymentProfile !== policy.deploymentProfile ||
223
- !admittedStages ||
224
- !admittedStages.includes(stage) ||
225
- policy.deploymentAccounts?.[stage] !== accountId ||
226
- policy.deploymentRegion !== region
227
- ) {
228
- throw new Error(
229
- 'Local container release requires the exact committed profile and one of its locally admitted stages.',
230
- );
231
- }
225
+ if (
226
+ selectedDeploymentProfile !== policy.deploymentProfile ||
227
+ !activeStages ||
228
+ !activeStages.includes(stage) ||
229
+ policy.deploymentAccounts?.[stage] !== accountId ||
230
+ policy.deploymentRegion !== region
231
+ ) {
232
+ throw new Error(
233
+ 'Container release requires the exact committed profile, active stage, account, and Region.',
234
+ );
235
+ }
236
+ if (
237
+ localFederated &&
238
+ (!locallyAdmittedStages || !locallyAdmittedStages.includes(stage))
239
+ ) {
240
+ throw new Error(
241
+ 'Local container release requires one of the committed profile locally admitted stages.',
242
+ );
232
243
  }
233
244
  const runId = localFederated
234
245
  ? localRunId
@@ -1135,6 +1146,18 @@ const caller = awsJson(
1135
1146
  if (caller?.Account !== accountId) {
1136
1147
  throw new Error('Container release AWS caller differs from the target account.');
1137
1148
  }
1149
+ execute(
1150
+ process.execPath,
1151
+ [
1152
+ safePath(
1153
+ 'tools/stage-authority-render.mjs',
1154
+ 'Workspace ownership doctor',
1155
+ ),
1156
+ '--stage=' + stage,
1157
+ '--ownership-doctor=true',
1158
+ ],
1159
+ 'Workspace stage ownership',
1160
+ );
1138
1161
  const controls = readJson(
1139
1162
  safePath('operations/release.json', 'Release controls', { base: sliceRoot }),
1140
1163
  'Release controls',