@jterrats/smart-deployment 1.3.1 → 1.5.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.
Files changed (125) hide show
  1. package/README.md +38 -0
  2. package/lib/analysis/metadata-capability-definitions.d.ts +2 -0
  3. package/lib/analysis/metadata-capability-definitions.js +284 -0
  4. package/lib/analysis/metadata-capability-definitions.js.map +1 -0
  5. package/lib/analysis/metadata-capability-registry.d.ts +11 -0
  6. package/lib/analysis/metadata-capability-registry.js +142 -0
  7. package/lib/analysis/metadata-capability-registry.js.map +1 -0
  8. package/lib/analysis/metadata-gap-analysis-service.d.ts +51 -0
  9. package/lib/analysis/metadata-gap-analysis-service.js +277 -0
  10. package/lib/analysis/metadata-gap-analysis-service.js.map +1 -0
  11. package/lib/commands/ci/preset.js +2 -1
  12. package/lib/commands/ci/preset.js.map +1 -1
  13. package/lib/commands/ci-publish.d.ts +6 -2
  14. package/lib/commands/ci-publish.js +23 -8
  15. package/lib/commands/ci-publish.js.map +1 -1
  16. package/lib/commands/metadata/gaps.d.ts +15 -0
  17. package/lib/commands/metadata/gaps.js +84 -0
  18. package/lib/commands/metadata/gaps.js.map +1 -0
  19. package/lib/commands/resume.d.ts +7 -0
  20. package/lib/commands/resume.js +59 -6
  21. package/lib/commands/resume.js.map +1 -1
  22. package/lib/commands/start.d.ts +9 -0
  23. package/lib/commands/start.js +89 -29
  24. package/lib/commands/start.js.map +1 -1
  25. package/lib/commands/status.js +10 -4
  26. package/lib/commands/status.js.map +1 -1
  27. package/lib/commands/validate.d.ts +7 -0
  28. package/lib/commands/validate.js +26 -3
  29. package/lib/commands/validate.js.map +1 -1
  30. package/lib/config/repo-config.d.ts +3 -0
  31. package/lib/config/repo-config.js +12 -0
  32. package/lib/config/repo-config.js.map +1 -1
  33. package/lib/constants/deployment-order.js +1 -0
  34. package/lib/constants/deployment-order.js.map +1 -1
  35. package/lib/deployment/ci-preset-service.d.ts +2 -0
  36. package/lib/deployment/ci-preset-service.js +7 -0
  37. package/lib/deployment/ci-preset-service.js.map +1 -1
  38. package/lib/deployment/commit-scope-service.d.ts +7 -0
  39. package/lib/deployment/commit-scope-service.js +104 -21
  40. package/lib/deployment/commit-scope-service.js.map +1 -1
  41. package/lib/deployment/deployment-runner.d.ts +18 -4
  42. package/lib/deployment/deployment-runner.js +135 -33
  43. package/lib/deployment/deployment-runner.js.map +1 -1
  44. package/lib/deployment/deployment-state-summary.d.ts +7 -1
  45. package/lib/deployment/deployment-state-summary.js +24 -6
  46. package/lib/deployment/deployment-state-summary.js.map +1 -1
  47. package/lib/deployment/deployment-status-service.d.ts +15 -8
  48. package/lib/deployment/deployment-status-service.js +53 -28
  49. package/lib/deployment/deployment-status-service.js.map +1 -1
  50. package/lib/deployment/deployment-validation-service.d.ts +2 -0
  51. package/lib/deployment/deployment-validation-service.js +2 -0
  52. package/lib/deployment/deployment-validation-service.js.map +1 -1
  53. package/lib/deployment/resume-deployment-service.d.ts +24 -4
  54. package/lib/deployment/resume-deployment-service.js +108 -23
  55. package/lib/deployment/resume-deployment-service.js.map +1 -1
  56. package/lib/deployment/sf-cli-integration.d.ts +5 -2
  57. package/lib/deployment/sf-cli-integration.js +26 -14
  58. package/lib/deployment/sf-cli-integration.js.map +1 -1
  59. package/lib/deployment/special-deployment-plan.js +36 -49
  60. package/lib/deployment/special-deployment-plan.js.map +1 -1
  61. package/lib/deployment/start-execution-service.d.ts +11 -1
  62. package/lib/deployment/start-execution-service.js +13 -5
  63. package/lib/deployment/start-execution-service.js.map +1 -1
  64. package/lib/deployment/state-manager.d.ts +22 -0
  65. package/lib/deployment/state-manager.js +40 -5
  66. package/lib/deployment/state-manager.js.map +1 -1
  67. package/lib/presentation/release-report-presenter.d.ts +10 -0
  68. package/lib/presentation/release-report-presenter.js +35 -0
  69. package/lib/presentation/release-report-presenter.js.map +1 -0
  70. package/lib/presentation/validate-command-presenter.js +13 -0
  71. package/lib/presentation/validate-command-presenter.js.map +1 -1
  72. package/lib/reports/deployment-plan-report-service.d.ts +3 -0
  73. package/lib/reports/deployment-plan-report-service.js +9 -0
  74. package/lib/reports/deployment-plan-report-service.js.map +1 -1
  75. package/lib/reports/release-report-builder.d.ts +6 -0
  76. package/lib/reports/release-report-builder.js +115 -0
  77. package/lib/reports/release-report-builder.js.map +1 -0
  78. package/lib/reports/release-report-command-adapter.d.ts +14 -0
  79. package/lib/reports/release-report-command-adapter.js +28 -0
  80. package/lib/reports/release-report-command-adapter.js.map +1 -0
  81. package/lib/reports/release-report-facts-factory.d.ts +14 -0
  82. package/lib/reports/release-report-facts-factory.js +140 -0
  83. package/lib/reports/release-report-facts-factory.js.map +1 -0
  84. package/lib/reports/release-report-sanitizer.d.ts +5 -0
  85. package/lib/reports/release-report-sanitizer.js +120 -0
  86. package/lib/reports/release-report-sanitizer.js.map +1 -0
  87. package/lib/reports/release-report-service.d.ts +43 -0
  88. package/lib/reports/release-report-service.js +80 -0
  89. package/lib/reports/release-report-service.js.map +1 -0
  90. package/lib/reports/release-report-store.d.ts +30 -0
  91. package/lib/reports/release-report-store.js +57 -0
  92. package/lib/reports/release-report-store.js.map +1 -0
  93. package/lib/reports/start-release-report-coordinator.d.ts +15 -0
  94. package/lib/reports/start-release-report-coordinator.js +23 -0
  95. package/lib/reports/start-release-report-coordinator.js.map +1 -0
  96. package/lib/services/metadata-scanner-service.js +12 -2
  97. package/lib/services/metadata-scanner-service.js.map +1 -1
  98. package/lib/services/scanners/additional-metadata-scanner.js +37 -3
  99. package/lib/services/scanners/additional-metadata-scanner.js.map +1 -1
  100. package/lib/services/scanners/automation-ai-metadata-scanner.d.ts +2 -1
  101. package/lib/services/scanners/automation-ai-metadata-scanner.js +48 -0
  102. package/lib/services/scanners/automation-ai-metadata-scanner.js.map +1 -1
  103. package/lib/types/index.d.ts +2 -0
  104. package/lib/types/index.js +2 -0
  105. package/lib/types/index.js.map +1 -1
  106. package/lib/types/manual-checkpoint.d.ts +27 -0
  107. package/lib/types/manual-checkpoint.js +89 -0
  108. package/lib/types/manual-checkpoint.js.map +1 -0
  109. package/lib/types/metadata-capability.d.ts +39 -0
  110. package/lib/types/metadata-capability.js +2 -0
  111. package/lib/types/metadata-capability.js.map +1 -0
  112. package/lib/types/metadata.d.ts +7 -1
  113. package/lib/types/release-report.d.ts +89 -0
  114. package/lib/types/release-report.js +42 -0
  115. package/lib/types/release-report.js.map +1 -0
  116. package/lib/waves/wave-priority-policy.js +2 -25
  117. package/lib/waves/wave-priority-policy.js.map +1 -1
  118. package/messages/metadata.gaps.json +12 -0
  119. package/messages/resume.json +5 -3
  120. package/messages/start.json +2 -0
  121. package/messages/validate.json +3 -1
  122. package/npm-shrinkwrap.json +417 -901
  123. package/oclif.lock +415 -718
  124. package/oclif.manifest.json +103 -12
  125. package/package.json +18 -14
@@ -1,4 +1,5 @@
1
1
  import type { LLMProviderName } from '../ai/llm-provider.js';
2
+ import type { ManualCheckpoint } from '../types/manual-checkpoint.js';
2
3
  export type UserPriorities = {
3
4
  [metadataId: string]: number;
4
5
  };
@@ -40,8 +41,10 @@ export type DeploymentConfig = {
40
41
  cache?: RepoCacheConfig;
41
42
  ci?: RepoCiConfig;
42
43
  reports?: RepoReportConfig;
44
+ checkpoints?: ManualCheckpoint[];
43
45
  };
44
46
  export declare function getRepoConfigPath(baseDir?: string): string;
45
47
  export declare function loadRepoConfig(baseDir?: string): Promise<DeploymentConfig>;
48
+ export declare function loadRepoConfigStrict(baseDir?: string): Promise<DeploymentConfig>;
46
49
  export declare function saveRepoConfig(config: DeploymentConfig, baseDir?: string): Promise<void>;
47
50
  export declare function loadRepoConfigSync(baseDir?: string): DeploymentConfig;
@@ -14,6 +14,18 @@ export async function loadRepoConfig(baseDir) {
14
14
  return {};
15
15
  }
16
16
  }
17
+ export async function loadRepoConfigStrict(baseDir) {
18
+ const configPath = getRepoConfigPath(baseDir);
19
+ try {
20
+ return JSON.parse(await fs.readFile(configPath, 'utf-8'));
21
+ }
22
+ catch (error) {
23
+ if (error.code === 'ENOENT') {
24
+ return {};
25
+ }
26
+ throw new Error(`Failed to load deployment config ${configPath}: ${error instanceof Error ? error.message : String(error)}`);
27
+ }
28
+ }
17
29
  export async function saveRepoConfig(config, baseDir) {
18
30
  const configPath = getRepoConfigPath(baseDir);
19
31
  await fs.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"repo-config.js","sourceRoot":"","sources":["../../src/config/repo-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAqDlC,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB;IACnD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAwB,EAAE,OAAgB;IAC7E,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"repo-config.js","sourceRoot":"","sources":["../../src/config/repo-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAuDlC,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB;IACnD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAqB,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAwB,EAAE,OAAgB;IAC7E,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -95,6 +95,7 @@ export const DEPLOYMENT_ORDER = Object.freeze({
95
95
  Bot: 51, // Einstein Bots
96
96
  BotVersion: 52, // Bot versions
97
97
  AiAuthoringBundle: 53, // Agentforce authoring bundles
98
+ AiEvaluationDefinition: 54, // AI evaluations deploy in the special phase after agent publish
98
99
  GenAiPlugin: 53, // Einstein plugins
99
100
  FlexiPage: 54, // Lightning pages
100
101
  QuickAction: 55, // Quick actions
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-order.js","sourceRoot":"","sources":["../../src/constants/deployment-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-order.js","sourceRoot":"","sources":["../../src/constants/deployment-order.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { DeploymentPlanReportService, type DeploymentPlanReport } from '../reports/deployment-plan-report-service.js';
2
+ import { type ManualCheckpoint } from '../types/manual-checkpoint.js';
2
3
  import type { CommitScopeOptions } from './commit-scope-service.js';
3
4
  import { DeploymentContextService } from './deployment-context-service.js';
4
5
  export type CiPresetValidationMode = 'strict' | 'warn-only' | 'local-only';
@@ -28,6 +29,7 @@ export type CiPresetResult = {
28
29
  };
29
30
  blockers: string[];
30
31
  warnings: string[];
32
+ checkpoints: ManualCheckpoint[];
31
33
  };
32
34
  type CiPresetServiceDependencies = {
33
35
  deploymentContextService?: DeploymentContextService;
@@ -1,5 +1,7 @@
1
1
  import * as path from 'node:path';
2
2
  import { DeploymentPlanReportService } from '../reports/deployment-plan-report-service.js';
3
+ import { loadRepoConfigStrict } from '../config/repo-config.js';
4
+ import { validateManualCheckpoints } from '../types/manual-checkpoint.js';
3
5
  import { DeploymentContextService } from './deployment-context-service.js';
4
6
  export class CiPresetService {
5
7
  deploymentContextService;
@@ -16,6 +18,9 @@ export class CiPresetService {
16
18
  industry: options.industry,
17
19
  commitScope: options.commitScope,
18
20
  });
21
+ const config = await loadRepoConfigStrict(context.scanResult.projectRoot);
22
+ const checkpoints = config.checkpoints ?? [];
23
+ validateManualCheckpoints(checkpoints, context.orderedWaves);
19
24
  const reportResult = await this.deploymentPlanReportService.generate(context, {
20
25
  reportDir: options.reportDir,
21
26
  targetOrg: options.targetOrg,
@@ -24,6 +29,7 @@ export class CiPresetService {
24
29
  validateOnly: options.validationMode !== 'local-only',
25
30
  skipTests: options.skipTests,
26
31
  destructive: false,
32
+ checkpoints,
27
33
  });
28
34
  const exitCode = this.resolveExitCode(reportResult.report, options.validationMode);
29
35
  const reportDir = path.dirname(reportResult.jsonPath);
@@ -44,6 +50,7 @@ export class CiPresetService {
44
50
  },
45
51
  blockers: reportResult.report.blockers,
46
52
  warnings: reportResult.report.warnings,
53
+ checkpoints,
47
54
  };
48
55
  }
49
56
  resolveExitCode(report, validationMode) {
@@ -1 +1 @@
1
- {"version":3,"file":"ci-preset-service.js","sourceRoot":"","sources":["../../src/deployment/ci-preset-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-preset-service.js","sourceRoot":"","sources":["../../src/deployment/ci-preset-service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { NodeId } from '../types/dependency.js';
3
3
  export type CommitScopeOptions = {
4
4
  commits?: string[];
5
5
  manifestPath?: string;
6
+ outputManifestPath?: string;
6
7
  };
7
8
  export type CommitScopeChangeStatus = 'added' | 'changed' | 'deleted';
8
9
  export type CommitScopeGitChange = {
@@ -13,9 +14,11 @@ export type CommitScopeGitChange = {
13
14
  export type CommitScopeSummary = {
14
15
  enabled: boolean;
15
16
  commits: string[];
17
+ manifestPath?: string;
16
18
  changedFiles: CommitScopeGitChange[];
17
19
  changedComponents: NodeId[];
18
20
  dependencyComponents: NodeId[];
21
+ explicitComponents: NodeId[];
19
22
  includedComponents: NodeId[];
20
23
  ignoredComponents: NodeId[];
21
24
  };
@@ -35,9 +38,13 @@ export declare class CommitScopeService {
35
38
  apply(scanResult: ScanResult, options?: CommitScopeOptions): Promise<CommitScopeResult>;
36
39
  private resolveCommits;
37
40
  private readManifest;
41
+ private writeManifest;
42
+ private resolveManifestScope;
43
+ private resolveScopeFromCommits;
38
44
  private resolveChangedComponents;
39
45
  private collectDependencyClosure;
40
46
  private deduplicate;
41
47
  private deduplicateComponents;
48
+ private filterKnownNodeIds;
42
49
  }
43
50
  export {};
@@ -1,5 +1,5 @@
1
1
  import { execFile } from 'node:child_process';
2
- import { readFile } from 'node:fs/promises';
2
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
3
  import * as path from 'node:path';
4
4
  import { promisify } from 'node:util';
5
5
  import { DependencyGraphBuilder } from '../dependencies/dependency-graph-builder.js';
@@ -10,18 +10,27 @@ export class CommitScopeService {
10
10
  this.gitChangeProvider = dependencies.gitChangeProvider ?? new CliCommitScopeGitChangeProvider();
11
11
  }
12
12
  async apply(scanResult, options = {}) {
13
- const commits = await this.resolveCommits(scanResult.projectRoot, options);
14
- if (commits.length === 0) {
13
+ const manifest = options.manifestPath
14
+ ? await this.readManifest(scanResult.projectRoot, options.manifestPath)
15
+ : undefined;
16
+ const commits = this.resolveCommits(options, manifest);
17
+ const manifestScope = manifest ? this.resolveManifestScope(manifest) : undefined;
18
+ if (commits.length === 0 && (manifestScope?.includedComponents.length ?? 0) === 0) {
15
19
  return {
16
20
  scanResult,
17
21
  summary: createDisabledSummary(),
18
22
  };
19
23
  }
20
- const changedFiles = await this.gitChangeProvider.listCommitChanges(scanResult.projectRoot, commits);
21
- const changedComponents = this.resolveChangedComponents(scanResult, changedFiles);
22
- const changedNodeIds = this.deduplicate(changedComponents.map((component) => toNodeId(component)));
23
- const dependencyNodeIds = this.collectDependencyClosure(scanResult, changedNodeIds);
24
- const includedNodeIds = this.deduplicate([...changedNodeIds, ...dependencyNodeIds]);
24
+ const commitScope = manifestScope?.hasIncludedComponentContract === true
25
+ ? {
26
+ changedFiles: manifest?.changes ?? [],
27
+ changedNodeIds: manifestScope.changedComponents,
28
+ dependencyNodeIds: manifestScope.dependencyComponents,
29
+ explicitNodeIds: manifestScope.explicitComponents,
30
+ includedNodeIds: manifestScope.includedComponents,
31
+ }
32
+ : await this.resolveScopeFromCommits(scanResult, commits, manifestScope?.explicitComponents ?? []);
33
+ const includedNodeIds = this.deduplicate(commitScope.includedNodeIds);
25
34
  const included = new Set(includedNodeIds);
26
35
  const scopedComponents = scanResult.components
27
36
  .filter((component) => included.has(toNodeId(component)))
@@ -33,28 +42,32 @@ export class CommitScopeService {
33
42
  .map((component) => toNodeId(component))
34
43
  .filter((nodeId) => !included.has(nodeId))
35
44
  .sort();
45
+ const summary = {
46
+ enabled: true,
47
+ commits,
48
+ manifestPath: options.outputManifestPath ?? options.manifestPath,
49
+ changedFiles: commitScope.changedFiles,
50
+ changedComponents: commitScope.changedNodeIds,
51
+ dependencyComponents: commitScope.dependencyNodeIds,
52
+ explicitComponents: commitScope.explicitNodeIds,
53
+ includedComponents: includedNodeIds,
54
+ ignoredComponents,
55
+ };
56
+ if (options.outputManifestPath) {
57
+ await this.writeManifest(scanResult.projectRoot, options.outputManifestPath, summary);
58
+ }
36
59
  return {
37
60
  scanResult: {
38
61
  ...scanResult,
39
62
  components: scopedComponents,
40
63
  dependencyResult: scopedDependencyResult,
41
64
  },
42
- summary: {
43
- enabled: true,
44
- commits,
45
- changedFiles,
46
- changedComponents: changedNodeIds,
47
- dependencyComponents: dependencyNodeIds,
48
- includedComponents: includedNodeIds,
49
- ignoredComponents,
50
- },
65
+ summary,
51
66
  };
52
67
  }
53
- async resolveCommits(projectRoot, options) {
68
+ resolveCommits(options, manifest) {
54
69
  const directCommits = parseCommitList(options.commits ?? []);
55
- const manifestCommits = options.manifestPath
56
- ? parseCommitList(extractManifestCommits(await this.readManifest(projectRoot, options.manifestPath)))
57
- : [];
70
+ const manifestCommits = manifest ? parseCommitList(extractManifestCommits(manifest)) : [];
58
71
  return this.deduplicate([...directCommits, ...manifestCommits]);
59
72
  }
60
73
  async readManifest(projectRoot, manifestPath) {
@@ -66,6 +79,55 @@ export class CommitScopeService {
66
79
  }
67
80
  return parsed;
68
81
  }
82
+ async writeManifest(projectRoot, manifestPath, summary) {
83
+ const resolvedPath = path.isAbsolute(manifestPath) ? manifestPath : path.join(projectRoot, manifestPath);
84
+ await mkdir(path.dirname(resolvedPath), { recursive: true });
85
+ await writeFile(resolvedPath, `${JSON.stringify(toManifest(summary), null, 2)}\n`, 'utf8');
86
+ }
87
+ resolveManifestScope(manifest) {
88
+ const changedComponents = parseNodeIdList(manifest.scope?.changedComponents ?? []);
89
+ const dependencyComponents = parseNodeIdList(manifest.scope?.dependencyComponents ?? []);
90
+ const explicitComponents = parseNodeIdList([
91
+ ...(manifest.scope?.explicitComponents ?? []),
92
+ ...(manifest.includeComponents ?? []),
93
+ ...(manifest.stories?.flatMap((story) => story.includeComponents ?? []) ?? []),
94
+ ]);
95
+ const contractComponents = parseNodeIdList(manifest.scope?.includedComponents ?? []);
96
+ const includedComponents = parseNodeIdList([
97
+ ...contractComponents,
98
+ ...changedComponents,
99
+ ...dependencyComponents,
100
+ ...explicitComponents,
101
+ ]);
102
+ if (changedComponents.length === 0 &&
103
+ dependencyComponents.length === 0 &&
104
+ explicitComponents.length === 0 &&
105
+ includedComponents.length === 0) {
106
+ return undefined;
107
+ }
108
+ return {
109
+ changedComponents,
110
+ dependencyComponents,
111
+ explicitComponents,
112
+ includedComponents,
113
+ hasIncludedComponentContract: contractComponents.length > 0,
114
+ };
115
+ }
116
+ async resolveScopeFromCommits(scanResult, commits, explicitNodeIds) {
117
+ const changedFiles = await this.gitChangeProvider.listCommitChanges(scanResult.projectRoot, commits);
118
+ const changedComponents = this.resolveChangedComponents(scanResult, changedFiles);
119
+ const changedNodeIds = this.deduplicate(changedComponents.map((component) => toNodeId(component)));
120
+ const dependencyNodeIds = this.collectDependencyClosure(scanResult, changedNodeIds);
121
+ const knownExplicitNodeIds = this.filterKnownNodeIds(scanResult, explicitNodeIds);
122
+ const includedNodeIds = this.deduplicate([...changedNodeIds, ...dependencyNodeIds, ...knownExplicitNodeIds]);
123
+ return {
124
+ changedFiles,
125
+ changedNodeIds,
126
+ dependencyNodeIds,
127
+ explicitNodeIds: knownExplicitNodeIds,
128
+ includedNodeIds,
129
+ };
130
+ }
69
131
  resolveChangedComponents(scanResult, changes) {
70
132
  const components = [];
71
133
  for (const change of changes) {
@@ -107,6 +169,9 @@ export class CommitScopeService {
107
169
  }
108
170
  return [...byNodeId.values()].sort((left, right) => toNodeId(left).localeCompare(toNodeId(right)));
109
171
  }
172
+ filterKnownNodeIds(scanResult, nodeIds) {
173
+ return this.deduplicate(nodeIds.filter((nodeId) => scanResult.dependencyResult.components.has(nodeId)));
174
+ }
110
175
  }
111
176
  class CliCommitScopeGitChangeProvider {
112
177
  async listCommitChanges(projectRoot, commits) {
@@ -137,6 +202,9 @@ function parseCommitList(values) {
137
202
  .map((value) => value.trim())
138
203
  .filter(Boolean);
139
204
  }
205
+ function parseNodeIdList(values) {
206
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value.includes(':')))].sort();
207
+ }
140
208
  function extractManifestCommits(manifest) {
141
209
  return [
142
210
  ...(Array.isArray(manifest.commits) ? manifest.commits : []),
@@ -195,6 +263,20 @@ function normalizePath(filePath) {
195
263
  function toNodeId(component) {
196
264
  return `${component.type}:${component.name}`;
197
265
  }
266
+ function toManifest(summary) {
267
+ return {
268
+ schemaVersion: 1,
269
+ commits: summary.commits,
270
+ changes: summary.changedFiles,
271
+ scope: {
272
+ changedComponents: summary.changedComponents,
273
+ dependencyComponents: summary.dependencyComponents,
274
+ explicitComponents: summary.explicitComponents,
275
+ includedComponents: summary.includedComponents,
276
+ ignoredComponents: summary.ignoredComponents,
277
+ },
278
+ };
279
+ }
198
280
  function createDisabledSummary() {
199
281
  return {
200
282
  enabled: false,
@@ -202,6 +284,7 @@ function createDisabledSummary() {
202
284
  changedFiles: [],
203
285
  changedComponents: [],
204
286
  dependencyComponents: [],
287
+ explicitComponents: [],
205
288
  includedComponents: [],
206
289
  ignoredComponents: [],
207
290
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commit-scope-service.js","sourceRoot":"","sources":["../../src/deployment/commit-scope-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-scope-service.js","sourceRoot":"","sources":["../../src/deployment/commit-scope-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { DependencyGraph, NodeId } from '../types/dependency.js';
2
2
  import type { MetadataComponent } from '../types/metadata.js';
3
3
  import type { Wave } from '../waves/wave-builder.js';
4
+ import { type ManualCheckpoint, type ReachedManualCheckpoint } from '../types/manual-checkpoint.js';
4
5
  import { DeploymentTracker } from './deployment-tracker.js';
5
6
  import { SfCliIntegration } from './sf-cli-integration.js';
6
7
  import { StateManager } from './state-manager.js';
@@ -8,7 +9,7 @@ import { TestPlanService } from './test-plan-service.js';
8
9
  import { WaveManifestService } from './wave-manifest-service.js';
9
10
  import { ForceIgnoreStagingService } from './forceignore-staging-service.js';
10
11
  import type { TestExecutor } from './test-executor.js';
11
- import type { DeploymentAIContext } from './deployment-context-service.js';
12
+ import type { DeploymentAIContext, DeploymentContextBuildOptions } from './deployment-context-service.js';
12
13
  export type DeploymentRunnerParams = {
13
14
  deploymentId: string;
14
15
  targetOrg: string;
@@ -18,13 +19,24 @@ export type DeploymentRunnerParams = {
18
19
  componentMap: ReadonlyMap<NodeId, MetadataComponent>;
19
20
  apiVersion?: string;
20
21
  skipTests: boolean;
22
+ destructive: boolean;
21
23
  testExecutor: TestExecutor;
22
24
  tracker: DeploymentTracker;
23
25
  stateManager: StateManager;
24
26
  sfCli: SfCliIntegration;
25
27
  aiContext?: DeploymentAIContext;
26
- mode?: 'deploy' | 'destructive';
27
28
  log: (message: string) => void;
29
+ checkpoints?: ManualCheckpoint[];
30
+ approvedCheckpointIds?: ReadonlySet<string>;
31
+ startExecutionIndex?: number;
32
+ planFingerprint?: string;
33
+ contextOptions?: Omit<DeploymentContextBuildOptions, 'sourcePath'>;
34
+ };
35
+ export type DeploymentRunnerResult = {
36
+ kind: 'completed';
37
+ } | {
38
+ kind: 'paused';
39
+ checkpoint: ReachedManualCheckpoint;
28
40
  };
29
41
  type DeploymentRunnerDependencies = {
30
42
  testPlanService?: TestPlanService;
@@ -36,8 +48,10 @@ export declare class DeploymentRunner {
36
48
  private readonly waveManifestService;
37
49
  private readonly forceIgnoreStagingService;
38
50
  constructor(dependencies?: DeploymentRunnerDependencies);
39
- execute(params: DeploymentRunnerParams): Promise<void>;
51
+ execute(params: DeploymentRunnerParams): Promise<DeploymentRunnerResult>;
52
+ private findCheckpoint;
53
+ private pauseAtCheckpoint;
54
+ private buildExecutionState;
40
55
  private buildAIMetadata;
41
- private forEachSequentially;
42
56
  }
43
57
  export {};