sf-plugin-cms 0.3.0 → 0.4.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 (50) hide show
  1. package/README.md +99 -14
  2. package/lib/command-base.d.ts +4 -0
  3. package/lib/command-base.js +34 -0
  4. package/lib/command-base.js.map +1 -1
  5. package/lib/commands/cms/export/workspace.d.ts +2 -1
  6. package/lib/commands/cms/export/workspace.js +31 -18
  7. package/lib/commands/cms/export/workspace.js.map +1 -1
  8. package/lib/commands/cms/import/workspace.d.ts +3 -1
  9. package/lib/commands/cms/import/workspace.js +43 -22
  10. package/lib/commands/cms/import/workspace.js.map +1 -1
  11. package/lib/commands/cms/info.d.ts +1 -1
  12. package/lib/commands/cms/info.js +11 -13
  13. package/lib/commands/cms/info.js.map +1 -1
  14. package/lib/runtime-version.d.ts +2 -0
  15. package/lib/runtime-version.js +18 -0
  16. package/lib/runtime-version.js.map +1 -0
  17. package/lib/services/atomic-publish.d.ts +15 -0
  18. package/lib/services/atomic-publish.js +109 -0
  19. package/lib/services/atomic-publish.js.map +1 -0
  20. package/lib/services/bulk-export-workspaces.js +12 -5
  21. package/lib/services/bulk-export-workspaces.js.map +1 -1
  22. package/lib/services/editable-raw-html-export.d.ts +26 -0
  23. package/lib/services/editable-raw-html-export.js +100 -0
  24. package/lib/services/editable-raw-html-export.js.map +1 -0
  25. package/lib/services/editable-raw-html-import.d.ts +25 -0
  26. package/lib/services/editable-raw-html-import.js +107 -0
  27. package/lib/services/editable-raw-html-import.js.map +1 -0
  28. package/lib/services/editable-raw-html.d.ts +34 -0
  29. package/lib/services/editable-raw-html.js +83 -0
  30. package/lib/services/editable-raw-html.js.map +1 -0
  31. package/lib/services/export-references.js +3 -1
  32. package/lib/services/export-references.js.map +1 -1
  33. package/lib/services/export-workspace.d.ts +8 -0
  34. package/lib/services/export-workspace.js +46 -15
  35. package/lib/services/export-workspace.js.map +1 -1
  36. package/lib/services/import-identities.d.ts +33 -0
  37. package/lib/services/import-identities.js +287 -0
  38. package/lib/services/import-identities.js.map +1 -0
  39. package/lib/services/import-workspace.d.ts +39 -0
  40. package/lib/services/import-workspace.js +316 -20
  41. package/lib/services/import-workspace.js.map +1 -1
  42. package/lib/services/resolve-workspace.d.ts +6 -1
  43. package/lib/services/resolve-workspace.js +51 -4
  44. package/lib/services/resolve-workspace.js.map +1 -1
  45. package/lib/services/variant-identity.d.ts +13 -0
  46. package/lib/services/variant-identity.js +34 -0
  47. package/lib/services/variant-identity.js.map +1 -0
  48. package/messages/cms.export.workspace.md +12 -2
  49. package/messages/cms.import.workspace.md +23 -3
  50. package/package.json +15 -5
@@ -1,15 +1,18 @@
1
1
  import { Flags } from '@salesforce/sf-plugins-core';
2
+ import { readFile } from 'node:fs/promises';
2
3
  import { assertWorkspaceImportResult, WORKSPACE_IMPORT_CONTRACT, } from '../../../contracts/workspace-import.js';
3
- import { assertCmsEnvelope, sanitizeDiagnostics, } from '../../../contracts/shared.js';
4
- import { executeWorkspaceImport, loadWorkspaceExport, } from '../../../services/import-workspace.js';
4
+ import { sanitizeDiagnostics, } from '../../../contracts/shared.js';
5
+ import { executeWorkspaceImport, loadWorkspaceExport, planNativeWorkspaceImport, } from '../../../services/import-workspace.js';
5
6
  import { assertWorkspaceSelector, resolveWorkspace } from '../../../services/resolve-workspace.js';
6
7
  import { apiVersionFlag, CmsCommand, targetOrgFlag } from '../../../command-base.js';
7
8
  export default class ImportWorkspace extends CmsCommand {
8
9
  static summary = 'Safely plan or apply a create-only import into a CMS workspace.';
9
- static description = 'Validates the source workspace export locally before any org request, selects one destination workspace by exact ID or exact case-sensitive name, checks every content key for conflicts, and defaults to a non-mutating dry run. Pass --apply with a new --report-dir to create content.';
10
+ static description = 'Validates the complete source workspace export locally, selects a destination, and defaults to dry-run. The default profile checks source-key absence, but complete server conflict validation and destination name availability are not established. --native-copy-map selects bounded default-language raw-HTML email/template copies with fresh names and server-generated keys; --editable-dir applies verified HTML-only companion edits against the unchanged baseline. Native and edited HTML is not resolved, rewritten, sanitized, or scanned through Phase 7. Pass --apply with a new --report-dir. No updates, publication, rollback, or package transaction.';
10
11
  static examples = [
11
12
  '<%= config.bin %> cms import workspace --target-org my-org --workspace-name "Destination" --source-dir ./cms/Source',
12
13
  '<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0Zu... --source-dir ./cms/Source --apply --report-dir ./cms-import-report --contract-version 1 --json',
14
+ '<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --native-copy-map ./native-copy-map.json --contract-version 1 --json',
15
+ '<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --native-copy-map ./native-copy-map.json --editable-dir ./cms-editable --contract-version 1 --json',
13
16
  ];
14
17
  static flags = {
15
18
  'target-org': targetOrgFlag,
@@ -26,9 +29,18 @@ export default class ImportWorkspace extends CmsCommand {
26
29
  required: true,
27
30
  summary: 'Source workspace export containing manifest.json and items/.',
28
31
  }),
32
+ 'editable-dir': Flags.directory({
33
+ exists: true,
34
+ dependsOn: ['native-copy-map'],
35
+ summary: 'Verified companion directory with editable native email/template raw HTML; original source package remains required.',
36
+ }),
37
+ 'native-copy-map': Flags.file({
38
+ exists: true,
39
+ summary: 'JSON array selecting native raw-HTML parents: sourceContentKey, language, fresh apiName and urlName. Server generates keys; no updates or publication.',
40
+ }),
29
41
  apply: Flags.boolean({
30
42
  default: false,
31
- summary: 'Create the planned content after all validation and conflict checks pass.',
43
+ summary: 'Create after local validation and bounded profile preflight; dry-run does not establish full conflict or apply readiness.',
32
44
  }),
33
45
  'allow-partial': Flags.boolean({
34
46
  default: false,
@@ -44,7 +56,7 @@ export default class ImportWorkspace extends CmsCommand {
44
56
  const { flags } = await this.parse(ImportWorkspace);
45
57
  const requestedVersion = flags['contract-version'] ?? 1;
46
58
  if (requestedVersion !== 1) {
47
- return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', null, [
59
+ return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
48
60
  {
49
61
  code: 'UNSUPPORTED_CONTRACT_VERSION',
50
62
  message: `Contract major ${requestedVersion} is unsupported; supported major is 1.`,
@@ -53,7 +65,7 @@ export default class ImportWorkspace extends CmsCommand {
53
65
  ]));
54
66
  }
55
67
  if (flags.apply && flags['report-dir'] === undefined) {
56
- return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', null, [
68
+ return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
57
69
  {
58
70
  code: 'REPORT_DIRECTORY_REQUIRED',
59
71
  message: '--report-dir is required when --apply is set.',
@@ -62,10 +74,17 @@ export default class ImportWorkspace extends CmsCommand {
62
74
  ]));
63
75
  }
64
76
  let source;
77
+ let nativeCopyMappings;
65
78
  try {
79
+ if (flags['editable-dir'] !== undefined && flags['native-copy-map'] === undefined)
80
+ throw new TypeError('--editable-dir requires --native-copy-map');
66
81
  source = await loadWorkspaceExport(flags['source-dir'], {
67
82
  allowPartial: flags['allow-partial'],
68
83
  });
84
+ if (flags['native-copy-map'] !== undefined) {
85
+ nativeCopyMappings = JSON.parse(await readFile(flags['native-copy-map'], 'utf8'));
86
+ await planNativeWorkspaceImport(source, nativeCopyMappings, flags['editable-dir']);
87
+ }
69
88
  assertWorkspaceSelector({
70
89
  workspaceId: flags['workspace-id'],
71
90
  workspaceName: flags['workspace-name'],
@@ -74,7 +93,7 @@ export default class ImportWorkspace extends CmsCommand {
74
93
  catch (error) {
75
94
  const message = error instanceof Error ? error.message : String(error);
76
95
  const packageVersionFailure = /manifest contract\/version is unsupported|schemaVersion\/mode is unsupported/u.test(message);
77
- return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', null, [
96
+ return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
78
97
  {
79
98
  code: packageVersionFailure
80
99
  ? 'UNSUPPORTED_PACKAGE_VERSION'
@@ -97,18 +116,20 @@ export default class ImportWorkspace extends CmsCommand {
97
116
  destinationWorkspace: selected.workspace,
98
117
  dryRun: !flags.apply,
99
118
  loadedSource: source,
119
+ editableDirectory: flags['editable-dir'],
120
+ nativeCopyMappings,
100
121
  reportDirectory: flags['report-dir'],
101
122
  sourceDirectory: flags['source-dir'],
102
123
  workspaceId: selected.id,
103
124
  });
104
125
  const status = source.isPartial ? 'partial' : 'success';
105
- const result = envelope(status, flags['api-version'], orgId, execution.contractResult, []);
126
+ const result = envelope(status, flags['api-version'], orgId, this.pluginVersion, execution.contractResult, [], execution.diagnostics);
106
127
  if (!this.jsonEnabled())
107
128
  this.showPlan(execution, result);
108
129
  return this.finish(result);
109
130
  }
110
131
  catch (error) {
111
- return this.finish(envelope('failed', flags['api-version'], orgId, null, [
132
+ return this.finish(envelope('failed', flags['api-version'], orgId, this.pluginVersion, null, [
112
133
  {
113
134
  code: 'IMPORT_FAILED',
114
135
  message: error instanceof Error ? error.message : String(error),
@@ -118,14 +139,7 @@ export default class ImportWorkspace extends CmsCommand {
118
139
  }
119
140
  }
120
141
  finish(result) {
121
- assertCmsEnvelope(result, assertWorkspaceImportResult);
122
- if (result.status === 'success')
123
- process.exitCode = 0;
124
- else if (result.status === 'partial')
125
- process.exitCode = 2;
126
- else
127
- process.exitCode = 1;
128
- return result;
142
+ return this.finishEnvelope(result, assertWorkspaceImportResult);
129
143
  }
130
144
  showPlan(execution, envelopeResult) {
131
145
  const primaryCount = execution.plan.groups.length;
@@ -138,28 +152,35 @@ export default class ImportWorkspace extends CmsCommand {
138
152
  this.log(`Resolved mappings: ${execution.contractResult.mappings.length}`);
139
153
  this.log(`Explicit unresolved/unsupported references: ${execution.contractResult.references.length}`);
140
154
  if (execution.dryRun) {
141
- this.log('No content was created. Re-run with --apply and a new --report-dir to mutate.');
155
+ this.log('No content was created. This proposal does not establish deploy readiness.');
156
+ for (const diagnostic of execution.diagnostics)
157
+ this.log(diagnostic.message);
142
158
  }
143
159
  else {
144
160
  this.log(`Run report: ${execution.reportFile ?? ''}`);
161
+ for (const diagnostic of execution.diagnostics)
162
+ this.log(diagnostic.message);
145
163
  }
146
164
  }
147
165
  }
148
- function envelope(status, apiVersion, orgId, result, errors) {
166
+ function envelope(status, apiVersion, orgId, pluginVersion, result, errors, warnings = []) {
149
167
  return {
150
168
  contract: WORKSPACE_IMPORT_CONTRACT,
151
169
  contractVersion: '1.0.0',
152
170
  status,
153
171
  metadata: {
154
172
  operation: 'workspace.import',
155
- plugin: { name: 'sf-plugin-cms', version: '0.3.0' },
173
+ plugin: { name: 'sf-plugin-cms', version: pluginVersion },
156
174
  apiVersion,
157
175
  },
158
- diagnostics: { warnings: [], errors: sanitizeDiagnostics(errors, 'diagnostics.errors') },
176
+ diagnostics: {
177
+ warnings: sanitizeDiagnostics(warnings, 'diagnostics.warnings'),
178
+ errors: sanitizeDiagnostics(errors, 'diagnostics.errors'),
179
+ },
159
180
  provenance: {
160
181
  producer: 'sf-plugin-cms',
161
182
  sourceOrgId: orgId,
162
- pluginVersion: '0.3.0',
183
+ pluginVersion,
163
184
  command: 'sf cms import workspace',
164
185
  generatedAt: new Date().toISOString(),
165
186
  },
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/commands/cms/import/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAIpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAErF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAA8C;IAClF,MAAM,CAAU,OAAO,GAC5B,iEAAiE,CAAC;IAC7D,MAAM,CAAU,WAAW,GAChC,2RAA2R,CAAC;IACvR,MAAM,CAAU,QAAQ,GAAG;QAChC,qHAAqH;QACrH,iLAAiL;KAClL,CAAC;IACK,MAAM,CAAU,KAAK,GAAG;QAC7B,YAAY,EAAE,aAAa;QAC3B,aAAa,EAAE,cAAc;QAC7B,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,gDAAgD;SAC1D,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAChF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;QAC/F,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,8DAA8D;SACxE,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,2EAA2E;SACrF,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,2EAA2E;SACrF,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;YAC5B,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,0DAA0D;SACpE,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAChE;oBACE,IAAI,EAAE,8BAA8B;oBACpC,OAAO,EAAE,kBAAkB,gBAAgB,wCAAwC;oBACnF,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAChE;oBACE,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,+CAA+C;oBACxD,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBACtD,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;aACrC,CAAC,CAAC;YACH,uBAAuB,CAAC;gBACtB,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;gBAClC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,qBAAqB,GACzB,+EAA+E,CAAC,IAAI,CAClF,OAAO,CACR,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE;gBAChE;oBACE,IAAI,EAAE,qBAAqB;wBACzB,CAAC,CAAC,6BAA6B;wBAC/B,CAAC,CAAC,2BAA2B;oBAC/B,OAAO;oBACP,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CACpD,KAAK,CAAC,YAAY,CAAC,EACnB,KAAK,CAAC,aAAa,CAAC,CACrB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE;gBAClD,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;gBAClC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;gBAC7C,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;gBACpC,UAAU;gBACV,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,QAAQ,CAAC,SAAS;gBACxC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK;gBACpB,YAAY,EAAE,MAAM;gBACpB,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC;gBACpC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC;gBACpC,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,MAAM,MAAM,GAAc,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gBACpD;oBACE,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/D,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,MAA0C;QACvD,iBAAiB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;aACjD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;;YACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,QAAQ,CACd,SAAyC,EACzC,cAAkD;QAElD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAC/C,CAAC,CACF,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,CAAC,4BAA4B,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,wBAAwB,YAAY,eAAe,YAAY,mBAAmB,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CACN,+CAA+C,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,CAC5F,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;;AAGH,SAAS,QAAQ,CACf,MAAiB,EACjB,UAAkB,EAClB,KAAa,EACb,MAAoC,EACpC,MAAuB;IAEvB,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,eAAe,EAAE,OAAO;QACxB,MAAM;QACN,QAAQ,EAAE;YACR,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;YACnD,UAAU;SACX;QACD,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE;QACxF,UAAU,EAAE;YACV,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/commands/cms/import/workspace.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type CmsInfoResult } from '../../contracts/info.js';
2
- import { type CmsEnvelope } from '../../contracts/shared.js';
2
+ import type { CmsEnvelope } from '../../contracts/shared.js';
3
3
  import { CmsCommand } from '../../command-base.js';
4
4
  /** Reports the offline CMS CLI contract and capability envelope. */
5
5
  export default class Info extends CmsCommand<CmsEnvelope<CmsInfoResult>> {
@@ -1,8 +1,6 @@
1
1
  import { Flags } from '@salesforce/sf-plugins-core';
2
2
  import { assertCmsInfoResult, CMS_INFO_CONTRACT, } from '../../contracts/info.js';
3
- import { assertCmsEnvelope } from '../../contracts/shared.js';
4
3
  import { CmsCommand } from '../../command-base.js';
5
- const PLUGIN_VERSION = '0.3.0';
6
4
  /** Reports the offline CMS CLI contract and capability envelope. */
7
5
  export default class Info extends CmsCommand {
8
6
  static summary = 'Show offline CMS contract and capability information.';
@@ -22,34 +20,34 @@ export default class Info extends CmsCommand {
22
20
  async run() {
23
21
  const { flags } = await this.parse(Info);
24
22
  const requestedVersion = flags['contract-version'] ?? 1;
25
- const result = requestedVersion === 1 ? successEnvelope() : blockedEnvelope(requestedVersion);
26
- assertCmsEnvelope(result, assertCmsInfoResult);
23
+ const result = requestedVersion === 1
24
+ ? successEnvelope(this.pluginVersion)
25
+ : blockedEnvelope(requestedVersion, this.pluginVersion);
27
26
  if (!this.jsonEnabled())
28
27
  this.styledJSON(result);
29
- process.exitCode = result.status === 'success' ? 0 : 1;
30
- return result;
28
+ return this.finishEnvelope(result, assertCmsInfoResult);
31
29
  }
32
30
  }
33
- function successEnvelope() {
31
+ function successEnvelope(pluginVersion) {
34
32
  return {
35
33
  contract: CMS_INFO_CONTRACT,
36
34
  contractVersion: '1.0.0',
37
35
  status: 'success',
38
36
  metadata: {
39
37
  operation: 'cms.info',
40
- plugin: { name: 'sf-plugin-cms', version: PLUGIN_VERSION },
38
+ plugin: { name: 'sf-plugin-cms', version: pluginVersion },
41
39
  apiVersion: null,
42
40
  },
43
41
  diagnostics: { warnings: [], errors: [] },
44
42
  provenance: {
45
43
  producer: 'sf-plugin-cms',
46
44
  sourceOrgId: 'offline',
47
- pluginVersion: PLUGIN_VERSION,
45
+ pluginVersion,
48
46
  command: 'sf cms info',
49
47
  generatedAt: new Date().toISOString(),
50
48
  },
51
49
  result: {
52
- plugin: { name: 'sf-plugin-cms', version: PLUGIN_VERSION },
50
+ plugin: { name: 'sf-plugin-cms', version: pluginVersion },
53
51
  api: { defaultVersion: '67.0', testedVersions: ['67.0'] },
54
52
  contracts: {
55
53
  commandResults: {
@@ -95,14 +93,14 @@ function successEnvelope() {
95
93
  },
96
94
  };
97
95
  }
98
- function blockedEnvelope(requestedVersion) {
96
+ function blockedEnvelope(requestedVersion, pluginVersion) {
99
97
  return {
100
98
  contract: CMS_INFO_CONTRACT,
101
99
  contractVersion: '1.0.0',
102
100
  status: 'blocked',
103
101
  metadata: {
104
102
  operation: 'cms.info',
105
- plugin: { name: 'sf-plugin-cms', version: PLUGIN_VERSION },
103
+ plugin: { name: 'sf-plugin-cms', version: pluginVersion },
106
104
  apiVersion: null,
107
105
  },
108
106
  diagnostics: {
@@ -118,7 +116,7 @@ function blockedEnvelope(requestedVersion) {
118
116
  provenance: {
119
117
  producer: 'sf-plugin-cms',
120
118
  sourceOrgId: 'offline',
121
- pluginVersion: PLUGIN_VERSION,
119
+ pluginVersion,
122
120
  command: 'sf cms info',
123
121
  generatedAt: new Date().toISOString(),
124
122
  },
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/cms/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/cms/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Config } from '@oclif/core';
2
+ export declare function getPluginVersion(config?: Config): string;
@@ -0,0 +1,18 @@
1
+ import { readFileSync } from 'node:fs';
2
+ const PLUGIN_NAME = 'sf-plugin-cms';
3
+ let packageVersion;
4
+ export function getPluginVersion(config) {
5
+ const configuredVersion = config?.plugins.get(PLUGIN_NAME)?.version;
6
+ if (configuredVersion !== undefined && configuredVersion.length > 0)
7
+ return configuredVersion;
8
+ packageVersion ??= readPackageVersion();
9
+ return packageVersion;
10
+ }
11
+ function readPackageVersion() {
12
+ const packageJson = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
13
+ if (packageJson.name !== PLUGIN_NAME || typeof packageJson.version !== 'string') {
14
+ throw new Error(`${PLUGIN_NAME} runtime package metadata is invalid.`);
15
+ }
16
+ return packageJson.version;
17
+ }
18
+ //# sourceMappingURL=runtime-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-version.js","sourceRoot":"","sources":["../src/runtime-version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,IAAI,cAAkC,CAAC;AAEvC,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,MAAM,iBAAiB,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACpE,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAE9F,cAAc,KAAK,kBAAkB,EAAE,CAAC;IACxC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CACzB,CAAC;IAC3C,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,uCAAuC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { rename, rm } from 'node:fs/promises';
2
+ export type AtomicPublishOptions = {
3
+ readonly delay?: (milliseconds: number) => Promise<void>;
4
+ readonly platform?: NodeJS.Platform;
5
+ readonly renamePath?: typeof rename;
6
+ };
7
+ export type CleanupOptions = {
8
+ readonly removePath?: typeof rm;
9
+ };
10
+ export type DirectoryPublishOptions = AtomicPublishOptions & {
11
+ readonly publishPath?: (temporary: string, destination: string) => Promise<void>;
12
+ };
13
+ export declare function replaceFileByAtomicRename(temporary: string, destination: string, options?: AtomicPublishOptions): Promise<void>;
14
+ export declare function publishDirectoryNoClobber(temporary: string, destination: string, options?: DirectoryPublishOptions): Promise<void>;
15
+ export declare function cleanupOwnedPath(ownedPath: string, primaryError: unknown, options?: CleanupOptions): Promise<never>;
@@ -0,0 +1,109 @@
1
+ import { createRequire } from 'node:module';
2
+ import { open, rename, rm } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ const windowsRenameRetryDelays = [10, 25, 50];
5
+ const require = createRequire(import.meta.url);
6
+ const runtimeReport = process.report.getReport();
7
+ const linuxLibc = runtimeReport.header?.glibcVersionRuntime === undefined ? 'musl' : 'gnu';
8
+ const nativeNoReplacePackages = {
9
+ darwin: {
10
+ arm64: '@skill-steward/rename-noreplace-darwin-arm64',
11
+ x64: '@skill-steward/rename-noreplace-darwin-x64',
12
+ },
13
+ linux: {
14
+ arm64: `@skill-steward/rename-noreplace-linux-arm64-${linuxLibc}`,
15
+ x64: `@skill-steward/rename-noreplace-linux-x64-${linuxLibc}`,
16
+ },
17
+ };
18
+ function errorCode(error) {
19
+ return typeof error === 'object' &&
20
+ error !== null &&
21
+ 'code' in error &&
22
+ typeof error.code === 'string'
23
+ ? error.code
24
+ : undefined;
25
+ }
26
+ function delay(milliseconds) {
27
+ return new Promise((resolve) => {
28
+ setTimeout(resolve, milliseconds);
29
+ });
30
+ }
31
+ async function renameWithNarrowWindowsRetry(temporary, destination, options) {
32
+ const renamePath = options.renamePath ?? rename;
33
+ const wait = options.delay ?? delay;
34
+ for (let attempt = 0;; attempt += 1) {
35
+ try {
36
+ await renamePath(temporary, destination);
37
+ return;
38
+ }
39
+ catch (error) {
40
+ const retryDelay = windowsRenameRetryDelays[attempt];
41
+ const code = errorCode(error);
42
+ if ((options.platform ?? process.platform) !== 'win32' ||
43
+ (code !== 'EPERM' && code !== 'EBUSY') ||
44
+ retryDelay === undefined) {
45
+ throw error;
46
+ }
47
+ await wait(retryDelay);
48
+ }
49
+ }
50
+ }
51
+ export async function replaceFileByAtomicRename(temporary, destination, options = {}) {
52
+ await renameWithNarrowWindowsRetry(temporary, destination, options);
53
+ }
54
+ function nativeDirectoryPublisher() {
55
+ if (process.platform === 'win32')
56
+ return rename;
57
+ const packageName = nativeNoReplacePackages[process.platform]?.[process.arch];
58
+ if (packageName === undefined) {
59
+ throw new Error(`Atomic no-clobber directory publication is unsupported on ${process.platform}/${process.arch}`);
60
+ }
61
+ const binding = require(packageName);
62
+ const renameNoReplace = typeof binding === 'function' ? binding : binding.renameNoReplace;
63
+ if (renameNoReplace === undefined) {
64
+ throw new TypeError(`${packageName} does not export renameNoReplace`);
65
+ }
66
+ return async (temporary, destination) => {
67
+ const parent = path.dirname(temporary);
68
+ if (path.dirname(destination) !== parent) {
69
+ throw new Error('Atomic no-clobber publication requires sibling paths');
70
+ }
71
+ const directory = await open(parent, 'r');
72
+ try {
73
+ renameNoReplace(directory.fd, path.basename(temporary), path.basename(destination));
74
+ }
75
+ finally {
76
+ await directory.close();
77
+ }
78
+ };
79
+ }
80
+ export async function publishDirectoryNoClobber(temporary, destination, options = {}) {
81
+ const publishPath = options.publishPath ?? options.renamePath ?? nativeDirectoryPublisher();
82
+ await renameWithNarrowWindowsRetry(temporary, destination, {
83
+ ...options,
84
+ renamePath: publishPath,
85
+ });
86
+ }
87
+ export async function cleanupOwnedPath(ownedPath, primaryError, options = {}) {
88
+ try {
89
+ await (options.removePath ?? rm)(ownedPath, { force: true, recursive: true });
90
+ }
91
+ catch (cleanupError) {
92
+ try {
93
+ if (typeof primaryError === 'object' &&
94
+ primaryError !== null &&
95
+ Object.isExtensible(primaryError)) {
96
+ Object.defineProperty(primaryError, 'cleanupError', {
97
+ configurable: true,
98
+ enumerable: false,
99
+ value: cleanupError,
100
+ });
101
+ }
102
+ }
103
+ catch {
104
+ // Preserve the primary publication error even when diagnostics cannot be attached.
105
+ }
106
+ }
107
+ throw primaryError;
108
+ }
109
+ //# sourceMappingURL=atomic-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-publish.js","sourceRoot":"","sources":["../../src/services/atomic-publish.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { mkdir, stat } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { assertCmsEnvelope, MAX_DIAGNOSTICS_PER_KIND, sanitizeDiagnostics, } from '../contracts/shared.js';
5
5
  import { assertWorkspaceExportSetResult, WORKSPACE_EXPORT_MANIFEST_CONTRACT, WORKSPACE_EXPORT_SET_CONTRACT, } from '../contracts/workspace-export.js';
6
+ import { getPluginVersion } from '../runtime-version.js';
6
7
  import { redactSecrets } from '../transport/redact-secrets.js';
7
8
  import { exportWorkspace, safeWorkspaceDirectoryName } from './export-workspace.js';
8
9
  import { getWorkspace } from './read.js';
@@ -16,14 +17,16 @@ function nonemptyString(value) {
16
17
  function folded(value) {
17
18
  return value.normalize('NFKC').toLocaleLowerCase('en-US');
18
19
  }
19
- function actualWorkspaceType(workspace) {
20
+ function actualWorkspaceType(workspace, listedType) {
20
21
  const spaceType = workspace.spaceType;
21
22
  if (typeof spaceType === 'string')
22
23
  return normalizeWorkspaceType(spaceType);
23
24
  if (isRecord(spaceType) && typeof spaceType.apiName === 'string') {
24
25
  return normalizeWorkspaceType(spaceType.apiName);
25
26
  }
26
- return normalizeWorkspaceType();
27
+ if (spaceType === undefined && listedType !== undefined)
28
+ return listedType;
29
+ return normalizeWorkspaceType(spaceType);
27
30
  }
28
31
  export function normalizeWorkspaceType(value) {
29
32
  if (typeof value === 'string') {
@@ -85,7 +88,11 @@ function hashExportSet(result) {
85
88
  return `export-set:${createHash('sha256').update(JSON.stringify(result)).digest('hex')}`;
86
89
  }
87
90
  export async function preflightBulkWorkspaceExport(connection, outputDirectory, workspaceType, options = {}) {
88
- const listed = await enumerateWorkspaces(connection, options);
91
+ const listedTypes = new Map();
92
+ const listed = await enumerateWorkspaces(connection, options, {}, {
93
+ collectWorkspaceType: true,
94
+ workspaceTypes: listedTypes,
95
+ });
89
96
  const canonical = [];
90
97
  const canonicalNames = new Map();
91
98
  for (const summary of listed) {
@@ -99,7 +106,7 @@ export async function preflightBulkWorkspaceExport(connection, outputDirectory,
99
106
  throw new Error(`Workspace names for IDs ${existingNameId} and ${summary.id} differ only by case or Unicode normalization and are ambiguous.`);
100
107
  }
101
108
  canonicalNames.set(nameKey, summary.id);
102
- const type = actualWorkspaceType(workspace);
109
+ const type = actualWorkspaceType(workspace, listedTypes.get(summary.id));
103
110
  if (workspaceType !== undefined && type !== workspaceType)
104
111
  continue;
105
112
  canonical.push({
@@ -127,7 +134,7 @@ export async function preflightBulkWorkspaceExport(connection, outputDirectory,
127
134
  }
128
135
  export async function exportAllWorkspaces(connection, outputDirectory, workspaceType, options = {}) {
129
136
  const generatedAt = options.generatedAt ?? new Date().toISOString();
130
- const pluginVersion = options.pluginVersion ?? '0.3.0';
137
+ const pluginVersion = options.pluginVersion ?? getPluginVersion();
131
138
  const sourceOrgId = options.sourceOrgId ?? 'unknown-org';
132
139
  const preflight = await preflightBulkWorkspaceExport(connection, outputDirectory, workspaceType, options);
133
140
  if (preflight.selected.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-export-workspaces.js","sourceRoot":"","sources":["../../src/services/bulk-export-workspaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulk-export-workspaces.js","sourceRoot":"","sources":["../../src/services/bulk-export-workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { type CleanupOptions, type DirectoryPublishOptions } from './atomic-publish.js';
2
+ import { type EditableRawItem } from './editable-raw-html.js';
3
+ export type EditablePublishOptions = DirectoryPublishOptions & CleanupOptions;
4
+ /**
5
+ * Validate portable directory paths and reject observed symlink routes.
6
+ * @param {string} destination - Local directory path.
7
+ * @param {boolean} requireNew - Whether the final directory must not exist.
8
+ * @returns {Promise<void>} Resolves for a safe directory route.
9
+ */
10
+ export declare function assertEditableDirectoryPath(destination: string, requireNew?: boolean): Promise<void>;
11
+ /**
12
+ * Validate disjoint, new destinations without writes or org access.
13
+ * @param {string} outputDirectory - Explicit immutable package destination.
14
+ * @param {string} editableDirectory - Separate new companion destination.
15
+ * @returns {Promise<void>} Resolves when both local destinations are safe.
16
+ */
17
+ export declare function preflightEditableExport(outputDirectory: string, editableDirectory: string): Promise<void>;
18
+ /**
19
+ * Publish only the fixed companion paths from original raw variant JSON.
20
+ * @param {readonly EditableRawItem[]} rawItems - Verified original JSON paired with manifest IDs.
21
+ * @param {string} sourceManifestSha256 - Verified immutable manifest digest.
22
+ * @param {string} destination - New companion directory.
23
+ * @param {EditablePublishOptions} options - Atomic publication and cleanup hooks.
24
+ * @returns {Promise<void>} Resolves after no-clobber publication.
25
+ */
26
+ export declare function writeEditableRawHtml(rawItems: readonly EditableRawItem[], sourceManifestSha256: string, destination: string, options?: EditablePublishOptions): Promise<void>;