@jterrats/smart-deployment 1.2.2 → 1.2.4

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.
@@ -0,0 +1,235 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { mkdir, writeFile } from 'node:fs/promises';
3
+ import * as path from 'node:path';
4
+ import { promisify } from 'node:util';
5
+ import { ForceIgnoreStagingService } from './forceignore-staging-service.js';
6
+ const execFileAsync = promisify(execFile);
7
+ export class SpecialDeploymentPlanExecutor {
8
+ runCommand;
9
+ forceIgnoreStagingService;
10
+ publishedVersions = new Map();
11
+ constructor(dependencies = {}) {
12
+ const resolved = typeof dependencies === 'function' ? { runCommand: dependencies } : dependencies;
13
+ this.runCommand = resolved.runCommand ?? defaultCommandRunner;
14
+ this.forceIgnoreStagingService = resolved.forceIgnoreStagingService ?? new ForceIgnoreStagingService();
15
+ }
16
+ async execute(plan) {
17
+ const result = {
18
+ success: true,
19
+ completedPhases: [],
20
+ skippedPhases: [],
21
+ errors: [],
22
+ commands: [],
23
+ };
24
+ for (const phase of plan.phases) {
25
+ if (phase.skipped) {
26
+ result.skippedPhases.push(phase.kind);
27
+ continue;
28
+ }
29
+ for (const command of phase.commands) {
30
+ const workspace = await this.forceIgnoreStagingService.prepare({ projectRoot: plan.projectRoot });
31
+ let commandResult;
32
+ try {
33
+ const stagedPlan = { ...plan, projectRoot: workspace.projectRoot };
34
+ const preparedCommand = await prepareCommand(command, phase, stagedPlan, this.publishedVersions);
35
+ commandResult = await this.executeCommand(preparedCommand, phase.kind, phase.label, workspace.projectRoot);
36
+ this.capturePublishedVersion(commandResult);
37
+ result.commands.push(commandResult);
38
+ }
39
+ catch (error) {
40
+ commandResult = buildFailedCommandResult(command, phase.kind, phase.label, error);
41
+ result.commands.push(commandResult);
42
+ }
43
+ finally {
44
+ await workspace.cleanup();
45
+ }
46
+ if (!commandResult.success) {
47
+ result.success = false;
48
+ result.failedPhase = phase.kind;
49
+ result.exitCode = commandResult.exitCode;
50
+ result.errors.push(`${phase.label} failed with exit code ${commandResult.exitCode ?? 'unknown'}: ${commandResult.stderr || commandResult.stdout || 'No command output captured.'}`);
51
+ return result;
52
+ }
53
+ }
54
+ result.completedPhases.push(phase.kind);
55
+ }
56
+ return result;
57
+ }
58
+ async executeCommand(command, phaseKind, phaseLabel, cwd) {
59
+ try {
60
+ const { stdout, stderr } = await this.runCommand(command, cwd);
61
+ return {
62
+ phaseKind,
63
+ phaseLabel,
64
+ command,
65
+ success: true,
66
+ stdout,
67
+ stderr,
68
+ };
69
+ }
70
+ catch (error) {
71
+ const failure = toExecFileFailure(error);
72
+ return {
73
+ phaseKind,
74
+ phaseLabel,
75
+ command,
76
+ success: false,
77
+ stdout: failure.stdout ?? '',
78
+ stderr: failure.stderr ?? failure.message ?? String(error),
79
+ exitCode: typeof failure.code === 'number' ? failure.code : undefined,
80
+ };
81
+ }
82
+ }
83
+ capturePublishedVersion(commandResult) {
84
+ if (!commandResult.success || commandResult.phaseKind !== 'agentforce-publish') {
85
+ return;
86
+ }
87
+ const nameArgIndex = commandResult.command.args.findIndex((arg) => arg === '-n');
88
+ const agentName = nameArgIndex >= 0 ? commandResult.command.args[nameArgIndex + 1] : undefined;
89
+ const version = findPublishedVersion(commandResult.stdout);
90
+ if (agentName && version) {
91
+ this.publishedVersions.set(agentName, version);
92
+ }
93
+ }
94
+ }
95
+ async function defaultCommandRunner(command, cwd) {
96
+ return execFileAsync(command.tool, command.args, { cwd });
97
+ }
98
+ async function prepareCommand(command, phase, plan, publishedVersions = new Map()) {
99
+ const versionPlaceholderIndex = command.args.findIndex((arg) => /^<published-version:[^>]+>$/u.test(arg));
100
+ if (versionPlaceholderIndex >= 0) {
101
+ const agentName = command.args[versionPlaceholderIndex].slice('<published-version:'.length, -1);
102
+ const version = publishedVersions.get(agentName);
103
+ if (!version) {
104
+ throw new Error(`Published Agentforce version for "${agentName}" is not available for activation.`);
105
+ }
106
+ return replaceArg(command, versionPlaceholderIndex, version);
107
+ }
108
+ const manifestArgIndex = command.args.findIndex((arg) => arg === '<generated-core-manifest>');
109
+ if (manifestArgIndex >= 0) {
110
+ const manifestPath = await writePhaseManifest(plan.projectRoot, phase, plan.apiVersion, 'core-metadata-package.xml');
111
+ return replaceArg(command, manifestArgIndex, manifestPath);
112
+ }
113
+ const aiEvalManifestArgIndex = command.args.findIndex((arg) => arg === '<generated-ai-evaluation-manifest>');
114
+ if (aiEvalManifestArgIndex >= 0) {
115
+ const manifestPath = await writePhaseManifest(plan.projectRoot, phase, plan.apiVersion, 'ai-evaluations-package.xml');
116
+ return replaceArg(command, aiEvalManifestArgIndex, manifestPath);
117
+ }
118
+ return command;
119
+ }
120
+ async function writePhaseManifest(projectRoot, phase, apiVersion, fileName) {
121
+ const manifestDirectory = path.join(projectRoot, '.smart-deployment', 'ci-publish');
122
+ const manifestPath = path.join(manifestDirectory, fileName);
123
+ await mkdir(manifestDirectory, { recursive: true });
124
+ await writeFile(manifestPath, buildPackageXml(phase.components, apiVersion), 'utf8');
125
+ return manifestPath;
126
+ }
127
+ function buildPackageXml(components, apiVersion) {
128
+ const byType = new Map();
129
+ for (const component of components) {
130
+ const separator = component.indexOf(':');
131
+ if (separator <= 0) {
132
+ continue;
133
+ }
134
+ const type = component.slice(0, separator);
135
+ const name = component.slice(separator + 1);
136
+ const members = byType.get(type) ?? [];
137
+ members.push(name);
138
+ byType.set(type, members);
139
+ }
140
+ const typeBlocks = [...byType.entries()]
141
+ .sort(([left], [right]) => left.localeCompare(right))
142
+ .map(([type, members]) => {
143
+ const memberLines = [...new Set(members)]
144
+ .sort()
145
+ .map((member) => ` <members>${escapeXml(member)}</members>`)
146
+ .join('\n');
147
+ return ` <types>\n${memberLines}\n <name>${escapeXml(type)}</name>\n </types>`;
148
+ })
149
+ .join('\n');
150
+ return [
151
+ '<?xml version="1.0" encoding="UTF-8"?>',
152
+ '<Package xmlns="http://soap.sforce.com/2006/04/metadata">',
153
+ typeBlocks,
154
+ ` <version>${escapeXml(apiVersion)}</version>`,
155
+ '</Package>',
156
+ '',
157
+ ]
158
+ .filter((line) => line !== '')
159
+ .join('\n');
160
+ }
161
+ function replaceArg(command, index, value) {
162
+ const args = [...command.args];
163
+ args[index] = value;
164
+ return { ...command, args };
165
+ }
166
+ function buildFailedCommandResult(command, phaseKind, phaseLabel, error) {
167
+ const failure = toExecFileFailure(error);
168
+ return {
169
+ phaseKind,
170
+ phaseLabel,
171
+ command,
172
+ success: false,
173
+ stdout: failure.stdout ?? '',
174
+ stderr: failure.stderr ?? failure.message ?? String(error),
175
+ exitCode: typeof failure.code === 'number' ? failure.code : undefined,
176
+ };
177
+ }
178
+ function findPublishedVersion(stdout) {
179
+ const parsed = parseJson(stdout);
180
+ if (!parsed) {
181
+ return undefined;
182
+ }
183
+ return findVersionValue(parsed);
184
+ }
185
+ function parseJson(stdout) {
186
+ try {
187
+ return JSON.parse(stdout);
188
+ }
189
+ catch {
190
+ const jsonMatch = stdout.match(/\{[\s\S]*\}/u);
191
+ if (!jsonMatch) {
192
+ return undefined;
193
+ }
194
+ try {
195
+ return JSON.parse(jsonMatch[0]);
196
+ }
197
+ catch {
198
+ return undefined;
199
+ }
200
+ }
201
+ }
202
+ function findVersionValue(value) {
203
+ if (!value || typeof value !== 'object') {
204
+ return undefined;
205
+ }
206
+ const record = value;
207
+ for (const key of ['version', 'versionNumber', 'publishedVersion', 'agentVersion']) {
208
+ const candidate = record[key];
209
+ if (typeof candidate === 'number' || typeof candidate === 'string') {
210
+ return String(candidate);
211
+ }
212
+ }
213
+ for (const nested of Object.values(record)) {
214
+ const found = findVersionValue(nested);
215
+ if (found) {
216
+ return found;
217
+ }
218
+ }
219
+ return undefined;
220
+ }
221
+ function escapeXml(value) {
222
+ return value
223
+ .replace(/&/gu, '&amp;')
224
+ .replace(/</gu, '&lt;')
225
+ .replace(/>/gu, '&gt;')
226
+ .replace(/"/gu, '&quot;')
227
+ .replace(/'/gu, '&apos;');
228
+ }
229
+ function toExecFileFailure(error) {
230
+ if (error && typeof error === 'object') {
231
+ return error;
232
+ }
233
+ return { message: String(error) };
234
+ }
235
+ //# sourceMappingURL=special-deployment-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"special-deployment-executor.js","sourceRoot":"","sources":["../../src/deployment/special-deployment-executor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { MetadataScannerService } from '../services/metadata-scanner-service.js';
2
+ import { type SpecialDeploymentTargetLookup } from './special-deployment-target-lookup.js';
2
3
  export type SpecialDeploymentPhaseKind = 'core-metadata' | 'agentforce-publish' | 'agentforce-activate' | 'ai-evaluations' | 'community-publish' | 'omnistudio-vlocity';
3
4
  export type SpecialDeploymentCommand = {
4
5
  tool: 'sf' | 'vlocity';
@@ -21,6 +22,7 @@ export type SpecialDeploymentPlan = {
21
22
  success: boolean;
22
23
  projectRoot: string;
23
24
  apiVersion: string;
25
+ targetOrg?: string;
24
26
  since?: string;
25
27
  dryRun: boolean;
26
28
  autoActivate: boolean;
@@ -31,10 +33,12 @@ export type SpecialDeploymentPlan = {
31
33
  export type SpecialDeploymentPlanOptions = {
32
34
  sourcePath?: string;
33
35
  since?: string;
36
+ targetOrg?: string;
34
37
  dryRun?: boolean;
35
38
  autoActivate?: boolean;
36
39
  scanner?: Pick<MetadataScannerService, 'scan'>;
37
40
  changedPathProvider?: (projectRoot: string, since?: string) => Promise<string[]>;
41
+ targetLookup?: SpecialDeploymentTargetLookup;
38
42
  };
39
43
  export declare class SpecialDeploymentPlanService {
40
44
  buildPlan(options?: SpecialDeploymentPlanOptions): Promise<SpecialDeploymentPlan>;
@@ -5,6 +5,7 @@ import { promisify } from 'node:util';
5
5
  import { XMLParser } from 'fast-xml-parser';
6
6
  import { glob } from 'glob';
7
7
  import { MetadataScannerService } from '../services/metadata-scanner-service.js';
8
+ import { SfCliSpecialDeploymentTargetLookup, } from './special-deployment-target-lookup.js';
8
9
  const execFileAsync = promisify(execFile);
9
10
  const CORE_EXCLUDED_TYPES = ['Bot', 'BotVersion', 'AiAuthoringBundle'];
10
11
  export class SpecialDeploymentPlanService {
@@ -20,8 +21,10 @@ export class SpecialDeploymentPlanService {
20
21
  components: scanResult.components,
21
22
  changedPaths,
22
23
  since: options.since,
24
+ targetOrg: options.targetOrg,
23
25
  dryRun: options.dryRun ?? true,
24
26
  autoActivate: options.autoActivate ?? false,
27
+ targetLookup: options.targetLookup ?? new SfCliSpecialDeploymentTargetLookup(),
25
28
  };
26
29
  const providers = [
27
30
  new CoreMetadataProvider(),
@@ -34,13 +37,11 @@ export class SpecialDeploymentPlanService {
34
37
  const phases = await Promise.all(providers.map(async (provider) => provider.plan(context)));
35
38
  const phaseErrors = phases.flatMap((phase) => phase.errors ?? []);
36
39
  const warnings = [...scanResult.warnings, ...phases.flatMap((phase) => phase.warnings ?? [])];
37
- if (!context.dryRun) {
38
- warnings.push('Execution is not implemented in this release slice; generated plan only.');
39
- }
40
40
  return {
41
41
  success: scanResult.errors.length === 0 && phaseErrors.length === 0,
42
42
  projectRoot,
43
43
  apiVersion: scanResult.apiVersion,
44
+ targetOrg: options.targetOrg,
44
45
  since: options.since,
45
46
  dryRun: context.dryRun,
46
47
  autoActivate: context.autoActivate,
@@ -64,7 +65,7 @@ class CoreMetadataProvider {
64
65
  commands: [
65
66
  {
66
67
  tool: 'sf',
67
- args: ['project', 'deploy', 'start', '--manifest', '<generated-core-manifest>'],
68
+ args: withTargetOrg(['project', 'deploy', 'start', '--manifest', '<generated-core-manifest>'], context),
68
69
  reason: 'Deploy regular Salesforce metadata after excluding lifecycle-owned provider artifacts.',
69
70
  },
70
71
  ],
@@ -83,7 +84,7 @@ class AgentforcePublishProvider {
83
84
  changedPaths: changedPathsFor(context.changedPaths, 'aiAuthoringBundles/'),
84
85
  commands: bundles.map((name) => ({
85
86
  tool: 'sf',
86
- args: ['agent', 'publish', 'authoring-bundle', '-n', name, '--skip-retrieve'],
87
+ args: withTargetOrg(['agent', 'publish', 'authoring-bundle', '-n', name, '--skip-retrieve', '--json'], context),
87
88
  reason: 'Publish changed Agentforce authoring bundle without retrieving generated version artifacts.',
88
89
  })),
89
90
  skipped: bundles.length === 0,
@@ -101,7 +102,7 @@ class AgentforceActivationProvider {
101
102
  changedPaths: changedPathsFor(context.changedPaths, 'aiAuthoringBundles/'),
102
103
  commands: bundles.map((name) => ({
103
104
  tool: 'sf',
104
- args: ['agent', 'activate', '-n', name, '--version', '<published-version>'],
105
+ args: withTargetOrg(['agent', 'activate', '-n', name, '--version', `<published-version:${name}>`], context),
105
106
  reason: 'Activate the newly published Agentforce version only when explicitly requested.',
106
107
  })),
107
108
  skipped: bundles.length === 0,
@@ -122,7 +123,7 @@ class AiEvaluationProvider {
122
123
  const sourceSubjects = new Set(context.components
123
124
  .filter((component) => component.type === 'AiAuthoringBundle' || component.type === 'Bot')
124
125
  .map((component) => component.name));
125
- const precheckErrors = await findMissingEvaluationSubjects(context.projectRoot, changedFiles, sourceSubjects);
126
+ const precheckErrors = await findMissingEvaluationSubjects(context.projectRoot, changedFiles, sourceSubjects, context.targetOrg, context.targetLookup);
126
127
  return {
127
128
  kind: 'ai-evaluations',
128
129
  label: 'Phase 4: AI evaluation metadata deploy',
@@ -132,7 +133,7 @@ class AiEvaluationProvider {
132
133
  ? [
133
134
  {
134
135
  tool: 'sf',
135
- args: ['project', 'deploy', 'start', '--manifest', '<generated-ai-evaluation-manifest>'],
136
+ args: withTargetOrg(['project', 'deploy', 'start', '--manifest', '<generated-ai-evaluation-manifest>'], context),
136
137
  reason: 'Deploy AI evaluations after Agentforce bundle publish/precheck ordering.',
137
138
  },
138
139
  ]
@@ -140,8 +141,8 @@ class AiEvaluationProvider {
140
141
  skipped: changedFiles.length === 0,
141
142
  skipReason: changedFiles.length === 0 ? 'No changed AiEvaluationDefinition files detected.' : undefined,
142
143
  errors: precheckErrors,
143
- warnings: changedFiles.length > 0
144
- ? ['AiEvaluationDefinition target-org subject lookup is not executed in dry-run planning mode.']
144
+ warnings: changedFiles.length > 0 && !context.targetOrg
145
+ ? ['AiEvaluationDefinition target-org subject lookup requires --target-org.']
145
146
  : undefined,
146
147
  };
147
148
  }
@@ -156,7 +157,7 @@ class CommunityPublishProvider {
156
157
  changedPaths: changedPathsFor(context.changedPaths, 'digitalExperiences/site/'),
157
158
  commands: sites.map((name) => ({
158
159
  tool: 'sf',
159
- args: ['community', 'publish', '-n', name],
160
+ args: withTargetOrg(['community', 'publish', '-n', name], context),
160
161
  reason: 'Publish changed LWR site to register route/view bindings after metadata deployment.',
161
162
  })),
162
163
  skipped: sites.length === 0,
@@ -231,7 +232,13 @@ function normalizePath(filePath) {
231
232
  function firstPathSegment(filePath) {
232
233
  return normalizePath(filePath).split('/')[0] ?? filePath;
233
234
  }
234
- async function findMissingEvaluationSubjects(projectRoot, files, sourceSubjects) {
235
+ function withTargetOrg(args, context) {
236
+ if (!context.targetOrg) {
237
+ return args;
238
+ }
239
+ return [...args, '--target-org', context.targetOrg];
240
+ }
241
+ async function findMissingEvaluationSubjects(projectRoot, files, sourceSubjects, targetOrg, targetLookup) {
235
242
  const parser = new XMLParser({ ignoreAttributes: false });
236
243
  const errors = [];
237
244
  for (const file of files) {
@@ -239,7 +246,11 @@ async function findMissingEvaluationSubjects(projectRoot, files, sourceSubjects)
239
246
  const content = await readFile(absolutePath, 'utf8');
240
247
  const parsed = parser.parse(content);
241
248
  const subjectName = findXmlValue(parsed, 'subjectName');
242
- if (subjectName && !sourceSubjects.has(subjectName)) {
249
+ if (!subjectName || sourceSubjects.has(subjectName)) {
250
+ continue;
251
+ }
252
+ const existsInTarget = targetOrg ? await targetLookup.hasEvaluationSubject(targetOrg, subjectName) : false;
253
+ if (!existsInTarget) {
243
254
  errors.push(`${file}: subjectName "${subjectName}" was not found in source Agentforce bundles or Bots.`);
244
255
  }
245
256
  }
@@ -1 +1 @@
1
- {"version":3,"file":"special-deployment-plan.js","sourceRoot":"","sources":["../../src/deployment/special-deployment-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"special-deployment-plan.js","sourceRoot":"","sources":["../../src/deployment/special-deployment-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type SpecialDeploymentTargetLookup = {
2
+ hasEvaluationSubject(targetOrg: string, subjectName: string): Promise<boolean>;
3
+ };
4
+ export declare class SfCliSpecialDeploymentTargetLookup implements SpecialDeploymentTargetLookup {
5
+ hasEvaluationSubject(targetOrg: string, subjectName: string): Promise<boolean>;
6
+ private metadataExists;
7
+ }
@@ -0,0 +1,26 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ const execFileAsync = promisify(execFile);
4
+ const EVALUATION_SUBJECT_METADATA_TYPES = ['AiAuthoringBundle', 'Bot'];
5
+ export class SfCliSpecialDeploymentTargetLookup {
6
+ async hasEvaluationSubject(targetOrg, subjectName) {
7
+ const lookups = await Promise.all(EVALUATION_SUBJECT_METADATA_TYPES.map(async (metadataType) => this.metadataExists(targetOrg, metadataType, subjectName)));
8
+ return lookups.some(Boolean);
9
+ }
10
+ async metadataExists(targetOrg, metadataType, fullName) {
11
+ const { stdout } = await execFileAsync('sf', [
12
+ 'org',
13
+ 'list',
14
+ 'metadata',
15
+ '--metadata-type',
16
+ metadataType,
17
+ '--target-org',
18
+ targetOrg,
19
+ '--json',
20
+ ]);
21
+ const parsed = JSON.parse(stdout);
22
+ const records = parsed.result ?? [];
23
+ return records.some((record) => record.fullName === fullName || record.fileName?.endsWith(`/${fullName}`));
24
+ }
25
+ }
26
+ //# sourceMappingURL=special-deployment-target-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"special-deployment-target-lookup.js","sourceRoot":"","sources":["../../src/deployment/special-deployment-target-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAa1C,MAAM,iCAAiC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAU,CAAC;AAEhF,MAAM,OAAO,kCAAkC;IACtC,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,WAAmB;QACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,iCAAiC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAC3D,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAC1D,CACF,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,YAAoB,EAAE,QAAgB;QACpF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;YAC3C,KAAK;YACL,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,YAAY;YACZ,cAAc;YACd,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEpC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC;CACF"}