sf-plugin-cms 0.4.0 → 0.6.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.
- package/README.md +276 -20
- package/lib/commands/cms/export/workspace.d.ts +7 -1
- package/lib/commands/cms/export/workspace.js +113 -2
- package/lib/commands/cms/export/workspace.js.map +1 -1
- package/lib/commands/cms/import/workspace.d.ts +12 -4
- package/lib/commands/cms/import/workspace.js +167 -20
- package/lib/commands/cms/import/workspace.js.map +1 -1
- package/lib/commands/cms/info.js +21 -2
- package/lib/commands/cms/info.js.map +1 -1
- package/lib/contracts/info.d.ts +7 -4
- package/lib/contracts/info.js +17 -8
- package/lib/contracts/info.js.map +1 -1
- package/lib/contracts/shared.d.ts +2 -1
- package/lib/contracts/shared.js +11 -3
- package/lib/contracts/shared.js.map +1 -1
- package/lib/contracts/workspace-export.d.ts +41 -3
- package/lib/contracts/workspace-export.js +171 -5
- package/lib/contracts/workspace-export.js.map +1 -1
- package/lib/contracts/workspace-import.d.ts +65 -0
- package/lib/contracts/workspace-import.js +132 -1
- package/lib/contracts/workspace-import.js.map +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/services/cms-prerequisite-lookup.d.ts +16 -0
- package/lib/services/cms-prerequisite-lookup.js +89 -0
- package/lib/services/cms-prerequisite-lookup.js.map +1 -0
- package/lib/services/content-key.d.ts +9 -0
- package/lib/services/content-key.js +15 -0
- package/lib/services/content-key.js.map +1 -0
- package/lib/services/email-fragment.d.ts +15 -0
- package/lib/services/email-fragment.js +203 -0
- package/lib/services/email-fragment.js.map +1 -0
- package/lib/services/export-workspace.d.ts +15 -1
- package/lib/services/export-workspace.js +284 -51
- package/lib/services/export-workspace.js.map +1 -1
- package/lib/services/image-import.d.ts +91 -0
- package/lib/services/image-import.js +575 -0
- package/lib/services/image-import.js.map +1 -0
- package/lib/services/import-identities.js +5 -1
- package/lib/services/import-identities.js.map +1 -1
- package/lib/services/import-workspace.d.ts +63 -3
- package/lib/services/import-workspace.js +277 -26
- package/lib/services/import-workspace.js.map +1 -1
- package/lib/services/landing-page-pair-export.d.ts +31 -0
- package/lib/services/landing-page-pair-export.js +122 -0
- package/lib/services/landing-page-pair-export.js.map +1 -0
- package/lib/services/landing-page-template.d.ts +62 -0
- package/lib/services/landing-page-template.js +372 -0
- package/lib/services/landing-page-template.js.map +1 -0
- package/lib/services/landing-page.d.ts +87 -0
- package/lib/services/landing-page.js +355 -0
- package/lib/services/landing-page.js.map +1 -0
- package/lib/services/variant-identity.d.ts +14 -0
- package/lib/services/variant-identity.js +24 -0
- package/lib/services/variant-identity.js.map +1 -1
- package/lib/services/web-fragment.d.ts +47 -0
- package/lib/services/web-fragment.js +286 -0
- package/lib/services/web-fragment.js.map +1 -0
- package/lib/transport/experimental-media.d.ts +30 -0
- package/lib/transport/experimental-media.js +224 -0
- package/lib/transport/experimental-media.js.map +1 -0
- package/lib/transport/json-request.d.ts +9 -1
- package/lib/transport/json-request.js +30 -3
- package/lib/transport/json-request.js.map +1 -1
- package/lib/transport/multipart-image-create.d.ts +28 -0
- package/lib/transport/multipart-image-create.js +189 -0
- package/lib/transport/multipart-image-create.js.map +1 -0
- package/messages/cms.export.workspace.md +20 -0
- package/messages/cms.import.workspace.md +12 -2
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type WorkspaceImportResult } from '../../../contracts/workspace-import.js';
|
|
1
|
+
import { type WorkspaceImageImportResultV2, type WorkspaceImportResult } from '../../../contracts/workspace-import.js';
|
|
2
2
|
import { type CmsEnvelope } from '../../../contracts/shared.js';
|
|
3
3
|
import { CmsCommand } from '../../../command-base.js';
|
|
4
|
-
|
|
4
|
+
type WorkspaceImportCommandResult = WorkspaceImportResult | WorkspaceImageImportResultV2;
|
|
5
|
+
export default class ImportWorkspace extends CmsCommand<CmsEnvelope<WorkspaceImportCommandResult>> {
|
|
5
6
|
static readonly summary = "Safely plan or apply a create-only import into a CMS workspace.";
|
|
6
|
-
static readonly 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.";
|
|
7
|
+
static readonly 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. --email-fragment-map selects only the exact dependency-free sfdc_cms__emailFragment root/section/empty-column profile for create-only destination-default-language Drafts with fresh identities. --web-fragment-map selects exact sfdc_cms__webFragment API names, fresh create identities, and exact preserved or explicitly mapped Data Graph developer-name/data-space prerequisites. --landing-page-template-map selects exact sfdc_cms__landingPageTemplate API names with fresh identities and explicit typed CMS/Data Graph prerequisites. --landing-page-map selects paired sfdc_cms__landingPage exports with an explicitly declared destination Landing Page Template plus exact image and Data Graph prerequisites. Source pairing is title-first and the canonical package template identity is retained as compatibility evidence, not historical provenance. --image-map selects strict workspace package v2 images for exact destination preflight and sequential create-only apply under contract version 2. Profile map flags are mutually exclusive. Native and edited HTML is not resolved, rewritten, sanitized, or scanned through Phase 7. Pass --apply with a new --report-dir. No updates, publication, activation, send, rollback, or package transaction.";
|
|
7
8
|
static readonly examples: string[];
|
|
8
9
|
static readonly flags: {
|
|
9
10
|
'target-org': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -14,11 +15,18 @@ export default class ImportWorkspace extends CmsCommand<CmsEnvelope<WorkspaceImp
|
|
|
14
15
|
'source-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
16
|
'editable-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
17
|
'native-copy-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'email-fragment-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'web-fragment-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'landing-page-template-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'landing-page-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'image-map': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
23
|
apply: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
24
|
'allow-partial': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
25
|
'report-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
26
|
};
|
|
21
|
-
run(): Promise<CmsEnvelope<
|
|
27
|
+
run(): Promise<CmsEnvelope<WorkspaceImportCommandResult>>;
|
|
22
28
|
private finish;
|
|
29
|
+
private showImagePlan;
|
|
23
30
|
private showPlan;
|
|
24
31
|
}
|
|
32
|
+
export {};
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { Flags } from '@salesforce/sf-plugins-core';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
|
-
import { assertWorkspaceImportResult, WORKSPACE_IMPORT_CONTRACT, } from '../../../contracts/workspace-import.js';
|
|
3
|
+
import { assertWorkspaceImageImportResultV2, assertWorkspaceImportResult, WORKSPACE_IMPORT_CONTRACT, WORKSPACE_IMPORT_CONTRACT_V2, } from '../../../contracts/workspace-import.js';
|
|
4
4
|
import { sanitizeDiagnostics, } from '../../../contracts/shared.js';
|
|
5
5
|
import { executeWorkspaceImport, loadWorkspaceExport, planNativeWorkspaceImport, } from '../../../services/import-workspace.js';
|
|
6
|
+
import { UnsupportedWorkspacePackageVersionError } from '../../../contracts/workspace-export.js';
|
|
6
7
|
import { assertWorkspaceSelector, resolveWorkspace } from '../../../services/resolve-workspace.js';
|
|
8
|
+
import { planEmailFragmentCopies } from '../../../services/email-fragment.js';
|
|
9
|
+
import { planWebFragmentCopies } from '../../../services/web-fragment.js';
|
|
10
|
+
import { planLandingPageTemplateCopies } from '../../../services/landing-page-template.js';
|
|
11
|
+
import { planLandingPageCopies } from '../../../services/landing-page.js';
|
|
12
|
+
import { applyImageImports, planImageImports, preflightImageImports, } from '../../../services/image-import.js';
|
|
7
13
|
import { apiVersionFlag, CmsCommand, targetOrgFlag } from '../../../command-base.js';
|
|
8
14
|
export default class ImportWorkspace extends CmsCommand {
|
|
9
15
|
static summary = 'Safely plan or apply a create-only import into a CMS workspace.';
|
|
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.';
|
|
16
|
+
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. --email-fragment-map selects only the exact dependency-free sfdc_cms__emailFragment root/section/empty-column profile for create-only destination-default-language Drafts with fresh identities. --web-fragment-map selects exact sfdc_cms__webFragment API names, fresh create identities, and exact preserved or explicitly mapped Data Graph developer-name/data-space prerequisites. --landing-page-template-map selects exact sfdc_cms__landingPageTemplate API names with fresh identities and explicit typed CMS/Data Graph prerequisites. --landing-page-map selects paired sfdc_cms__landingPage exports with an explicitly declared destination Landing Page Template plus exact image and Data Graph prerequisites. Source pairing is title-first and the canonical package template identity is retained as compatibility evidence, not historical provenance. --image-map selects strict workspace package v2 images for exact destination preflight and sequential create-only apply under contract version 2. Profile map flags are mutually exclusive. Native and edited HTML is not resolved, rewritten, sanitized, or scanned through Phase 7. Pass --apply with a new --report-dir. No updates, publication, activation, send, rollback, or package transaction.';
|
|
11
17
|
static examples = [
|
|
12
18
|
'<%= config.bin %> cms import workspace --target-org my-org --workspace-name "Destination" --source-dir ./cms/Source',
|
|
13
19
|
'<%= 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
20
|
'<%= 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
21
|
'<%= 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',
|
|
22
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --email-fragment-map ./email-fragment-map.json --contract-version 1 --json',
|
|
23
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --web-fragment-map ./web-fragment-map.json --contract-version 1 --json',
|
|
24
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --landing-page-template-map ./landing-page-template-map.json --contract-version 1 --json',
|
|
25
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-baseline --landing-page-map ./landing-page-map.json --contract-version 1 --json',
|
|
26
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-v2 --image-map ./image-map.json --contract-version 2 --json',
|
|
27
|
+
'<%= config.bin %> cms import workspace --target-org my-org --workspace-id 0ZuTARGET --source-dir ./cms-v2 --image-map ./image-map.json --contract-version 2 --apply --report-dir ./image-import-report --json',
|
|
16
28
|
];
|
|
17
29
|
static flags = {
|
|
18
30
|
'target-org': targetOrgFlag,
|
|
@@ -20,7 +32,7 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
20
32
|
'contract-version': Flags.integer({
|
|
21
33
|
default: 1,
|
|
22
34
|
min: 1,
|
|
23
|
-
summary: 'Machine contract major version (supported: 1).',
|
|
35
|
+
summary: 'Machine contract major version (supported: 1; --image-map requires 2).',
|
|
24
36
|
}),
|
|
25
37
|
'workspace-id': Flags.string({ summary: 'Exact destination CMS workspace ID.' }),
|
|
26
38
|
'workspace-name': Flags.string({ summary: 'Exact case-sensitive destination workspace name.' }),
|
|
@@ -36,8 +48,75 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
36
48
|
}),
|
|
37
49
|
'native-copy-map': Flags.file({
|
|
38
50
|
exists: true,
|
|
51
|
+
exclusive: [
|
|
52
|
+
'email-fragment-map',
|
|
53
|
+
'web-fragment-map',
|
|
54
|
+
'landing-page-template-map',
|
|
55
|
+
'landing-page-map',
|
|
56
|
+
'image-map',
|
|
57
|
+
],
|
|
39
58
|
summary: 'JSON array selecting native raw-HTML parents: sourceContentKey, language, fresh apiName and urlName. Server generates keys; no updates or publication.',
|
|
40
59
|
}),
|
|
60
|
+
'email-fragment-map': Flags.file({
|
|
61
|
+
exists: true,
|
|
62
|
+
exclusive: [
|
|
63
|
+
'native-copy-map',
|
|
64
|
+
'web-fragment-map',
|
|
65
|
+
'landing-page-template-map',
|
|
66
|
+
'landing-page-map',
|
|
67
|
+
'editable-dir',
|
|
68
|
+
'image-map',
|
|
69
|
+
],
|
|
70
|
+
summary: 'JSON array selecting exact typed cms/emailFragment API names with fresh target contentKey/apiName; source keys remain provenance.',
|
|
71
|
+
}),
|
|
72
|
+
'web-fragment-map': Flags.file({
|
|
73
|
+
exists: true,
|
|
74
|
+
exclusive: [
|
|
75
|
+
'native-copy-map',
|
|
76
|
+
'email-fragment-map',
|
|
77
|
+
'landing-page-template-map',
|
|
78
|
+
'landing-page-map',
|
|
79
|
+
'editable-dir',
|
|
80
|
+
'image-map',
|
|
81
|
+
],
|
|
82
|
+
summary: 'JSON array selecting exact cms/webFragment API names, fresh create identities, and exact Data Graph prerequisite mappings.',
|
|
83
|
+
}),
|
|
84
|
+
'landing-page-template-map': Flags.file({
|
|
85
|
+
exists: true,
|
|
86
|
+
exclusive: [
|
|
87
|
+
'native-copy-map',
|
|
88
|
+
'email-fragment-map',
|
|
89
|
+
'web-fragment-map',
|
|
90
|
+
'landing-page-map',
|
|
91
|
+
'editable-dir',
|
|
92
|
+
'image-map',
|
|
93
|
+
],
|
|
94
|
+
summary: 'JSON array selecting exact cms/landingPageTemplate API names, fresh identities, and explicit CMS/Data Graph prerequisites.',
|
|
95
|
+
}),
|
|
96
|
+
'landing-page-map': Flags.file({
|
|
97
|
+
exists: true,
|
|
98
|
+
exclusive: [
|
|
99
|
+
'native-copy-map',
|
|
100
|
+
'email-fragment-map',
|
|
101
|
+
'web-fragment-map',
|
|
102
|
+
'landing-page-template-map',
|
|
103
|
+
'editable-dir',
|
|
104
|
+
'image-map',
|
|
105
|
+
],
|
|
106
|
+
summary: 'JSON array selecting paired cms/landingPage API names, fresh identities, an exact Draft template selector, and image/Data Graph prerequisites.',
|
|
107
|
+
}),
|
|
108
|
+
'image-map': Flags.file({
|
|
109
|
+
exists: true,
|
|
110
|
+
exclusive: [
|
|
111
|
+
'native-copy-map',
|
|
112
|
+
'email-fragment-map',
|
|
113
|
+
'web-fragment-map',
|
|
114
|
+
'landing-page-template-map',
|
|
115
|
+
'landing-page-map',
|
|
116
|
+
'editable-dir',
|
|
117
|
+
],
|
|
118
|
+
summary: 'JSON array selecting strict v2 package images and explicit preserve/fresh/generated identity strategies; requires --contract-version 2.',
|
|
119
|
+
}),
|
|
41
120
|
apply: Flags.boolean({
|
|
42
121
|
default: false,
|
|
43
122
|
summary: 'Create after local validation and bounded profile preflight; dry-run does not establish full conflict or apply readiness.',
|
|
@@ -55,17 +134,16 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
55
134
|
async run() {
|
|
56
135
|
const { flags } = await this.parse(ImportWorkspace);
|
|
57
136
|
const requestedVersion = flags['contract-version'] ?? 1;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
]));
|
|
137
|
+
const imageProfile = flags['image-map'] !== undefined;
|
|
138
|
+
const profileContractMajor = imageProfile ? 2 : 1;
|
|
139
|
+
if (requestedVersion !== profileContractMajor) {
|
|
140
|
+
const message = imageProfile
|
|
141
|
+
? '--image-map requires --contract-version 2.'
|
|
142
|
+
: `Contract major ${requestedVersion} is unsupported for this profile; supported major is 1.`;
|
|
143
|
+
return this.finish(envelope('blocked', profileContractMajor, flags['api-version'], 'unresolved-org', this.pluginVersion, null, [{ code: 'UNSUPPORTED_CONTRACT_VERSION', message, retryable: false }]));
|
|
66
144
|
}
|
|
67
145
|
if (flags.apply && flags['report-dir'] === undefined) {
|
|
68
|
-
return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
|
|
146
|
+
return this.finish(envelope('blocked', profileContractMajor, flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
|
|
69
147
|
{
|
|
70
148
|
code: 'REPORT_DIRECTORY_REQUIRED',
|
|
71
149
|
message: '--report-dir is required when --apply is set.',
|
|
@@ -74,17 +152,43 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
74
152
|
]));
|
|
75
153
|
}
|
|
76
154
|
let source;
|
|
155
|
+
let emailFragmentMappings;
|
|
156
|
+
let imagePlans;
|
|
157
|
+
let landingPageTemplateMappings;
|
|
158
|
+
let landingPageMappings;
|
|
77
159
|
let nativeCopyMappings;
|
|
160
|
+
let webFragmentMappings;
|
|
78
161
|
try {
|
|
79
162
|
if (flags['editable-dir'] !== undefined && flags['native-copy-map'] === undefined)
|
|
80
163
|
throw new TypeError('--editable-dir requires --native-copy-map');
|
|
81
164
|
source = await loadWorkspaceExport(flags['source-dir'], {
|
|
82
165
|
allowPartial: flags['allow-partial'],
|
|
166
|
+
profile: imageProfile ? 'image' : 'general',
|
|
83
167
|
});
|
|
168
|
+
if (flags['image-map'] !== undefined) {
|
|
169
|
+
const imageMappings = JSON.parse(await readFile(flags['image-map'], 'utf8'));
|
|
170
|
+
imagePlans = planImageImports(source, imageMappings);
|
|
171
|
+
}
|
|
84
172
|
if (flags['native-copy-map'] !== undefined) {
|
|
85
173
|
nativeCopyMappings = JSON.parse(await readFile(flags['native-copy-map'], 'utf8'));
|
|
86
174
|
await planNativeWorkspaceImport(source, nativeCopyMappings, flags['editable-dir']);
|
|
87
175
|
}
|
|
176
|
+
if (flags['email-fragment-map'] !== undefined) {
|
|
177
|
+
emailFragmentMappings = JSON.parse(await readFile(flags['email-fragment-map'], 'utf8'));
|
|
178
|
+
planEmailFragmentCopies(source, emailFragmentMappings);
|
|
179
|
+
}
|
|
180
|
+
if (flags['web-fragment-map'] !== undefined) {
|
|
181
|
+
webFragmentMappings = JSON.parse(await readFile(flags['web-fragment-map'], 'utf8'));
|
|
182
|
+
planWebFragmentCopies(source, webFragmentMappings);
|
|
183
|
+
}
|
|
184
|
+
if (flags['landing-page-template-map'] !== undefined) {
|
|
185
|
+
landingPageTemplateMappings = JSON.parse(await readFile(flags['landing-page-template-map'], 'utf8'));
|
|
186
|
+
planLandingPageTemplateCopies(source, landingPageTemplateMappings);
|
|
187
|
+
}
|
|
188
|
+
if (flags['landing-page-map'] !== undefined) {
|
|
189
|
+
landingPageMappings = JSON.parse(await readFile(flags['landing-page-map'], 'utf8'));
|
|
190
|
+
planLandingPageCopies(source, landingPageMappings);
|
|
191
|
+
}
|
|
88
192
|
assertWorkspaceSelector({
|
|
89
193
|
workspaceId: flags['workspace-id'],
|
|
90
194
|
workspaceName: flags['workspace-name'],
|
|
@@ -92,8 +196,8 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
92
196
|
}
|
|
93
197
|
catch (error) {
|
|
94
198
|
const message = error instanceof Error ? error.message : String(error);
|
|
95
|
-
const packageVersionFailure =
|
|
96
|
-
return this.finish(envelope('blocked', flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
|
|
199
|
+
const packageVersionFailure = error instanceof UnsupportedWorkspacePackageVersionError;
|
|
200
|
+
return this.finish(envelope('blocked', profileContractMajor, flags['api-version'], 'unresolved-org', this.pluginVersion, null, [
|
|
97
201
|
{
|
|
98
202
|
code: packageVersionFailure
|
|
99
203
|
? 'UNSUPPORTED_PACKAGE_VERSION'
|
|
@@ -109,6 +213,28 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
109
213
|
workspaceId: flags['workspace-id'],
|
|
110
214
|
workspaceName: flags['workspace-name'],
|
|
111
215
|
});
|
|
216
|
+
if (imagePlans !== undefined) {
|
|
217
|
+
const execution = flags.apply
|
|
218
|
+
? await applyImageImports({
|
|
219
|
+
connection,
|
|
220
|
+
destinationOrgId: orgId,
|
|
221
|
+
destinationWorkspaceId: selected.id,
|
|
222
|
+
plans: imagePlans,
|
|
223
|
+
reportDirectory: flags['report-dir'],
|
|
224
|
+
source,
|
|
225
|
+
})
|
|
226
|
+
: await preflightImageImports({
|
|
227
|
+
connection,
|
|
228
|
+
destinationOrgId: orgId,
|
|
229
|
+
destinationWorkspaceId: selected.id,
|
|
230
|
+
plans: imagePlans,
|
|
231
|
+
source,
|
|
232
|
+
});
|
|
233
|
+
const result = envelope('success', 2, flags['api-version'], orgId, this.pluginVersion, execution.contractResult, []);
|
|
234
|
+
if (!this.jsonEnabled())
|
|
235
|
+
this.showImagePlan(execution, result);
|
|
236
|
+
return this.finish(result);
|
|
237
|
+
}
|
|
112
238
|
const execution = await executeWorkspaceImport({
|
|
113
239
|
allowPartial: flags['allow-partial'],
|
|
114
240
|
connection,
|
|
@@ -117,19 +243,23 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
117
243
|
dryRun: !flags.apply,
|
|
118
244
|
loadedSource: source,
|
|
119
245
|
editableDirectory: flags['editable-dir'],
|
|
246
|
+
emailFragmentMappings,
|
|
247
|
+
landingPageTemplateMappings,
|
|
248
|
+
landingPageMappings,
|
|
120
249
|
nativeCopyMappings,
|
|
250
|
+
webFragmentMappings,
|
|
121
251
|
reportDirectory: flags['report-dir'],
|
|
122
252
|
sourceDirectory: flags['source-dir'],
|
|
123
253
|
workspaceId: selected.id,
|
|
124
254
|
});
|
|
125
255
|
const status = source.isPartial ? 'partial' : 'success';
|
|
126
|
-
const result = envelope(status, flags['api-version'], orgId, this.pluginVersion, execution.contractResult, [], execution.diagnostics);
|
|
256
|
+
const result = envelope(status, 1, flags['api-version'], orgId, this.pluginVersion, execution.contractResult, [], execution.diagnostics);
|
|
127
257
|
if (!this.jsonEnabled())
|
|
128
258
|
this.showPlan(execution, result);
|
|
129
259
|
return this.finish(result);
|
|
130
260
|
}
|
|
131
261
|
catch (error) {
|
|
132
|
-
return this.finish(envelope('failed', flags['api-version'], orgId, this.pluginVersion, null, [
|
|
262
|
+
return this.finish(envelope('failed', profileContractMajor, flags['api-version'], orgId, this.pluginVersion, null, [
|
|
133
263
|
{
|
|
134
264
|
code: 'IMPORT_FAILED',
|
|
135
265
|
message: error instanceof Error ? error.message : String(error),
|
|
@@ -139,7 +269,24 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
139
269
|
}
|
|
140
270
|
}
|
|
141
271
|
finish(result) {
|
|
142
|
-
return
|
|
272
|
+
return result.contractVersion === '2.0.0'
|
|
273
|
+
? this.finishEnvelope(result, assertWorkspaceImageImportResultV2)
|
|
274
|
+
: this.finishEnvelope(result, assertWorkspaceImportResult);
|
|
275
|
+
}
|
|
276
|
+
showImagePlan(execution, envelopeResult) {
|
|
277
|
+
this.log(`Status: ${envelopeResult.status}`);
|
|
278
|
+
this.log(`Mode: ${execution.dryRun ? 'dry-run (preflight only)' : 'apply (create-only)'}`);
|
|
279
|
+
this.log(`Destination workspace: ${execution.contractResult.target.workspaceId}`);
|
|
280
|
+
this.log(`Selected images: ${execution.contractResult.assets.length}`);
|
|
281
|
+
this.log(`Image result: ${execution.contractResult.status}`);
|
|
282
|
+
if (execution.dryRun) {
|
|
283
|
+
this.log('No images were created. Every selected identity passed exact destination preflight.');
|
|
284
|
+
this.log('Binary byte proof remains unavailable; apply is sequential and stops on first error.');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
this.log(`Run report: ${execution.reportFile}`);
|
|
288
|
+
this.log('Images were created sequentially; metadata readback passed for every completed asset.');
|
|
289
|
+
}
|
|
143
290
|
}
|
|
144
291
|
showPlan(execution, envelopeResult) {
|
|
145
292
|
const primaryCount = execution.plan.groups.length;
|
|
@@ -163,10 +310,10 @@ export default class ImportWorkspace extends CmsCommand {
|
|
|
163
310
|
}
|
|
164
311
|
}
|
|
165
312
|
}
|
|
166
|
-
function envelope(status, apiVersion, orgId, pluginVersion, result, errors, warnings = []) {
|
|
313
|
+
function envelope(status, contractMajor, apiVersion, orgId, pluginVersion, result, errors, warnings = []) {
|
|
167
314
|
return {
|
|
168
|
-
contract: WORKSPACE_IMPORT_CONTRACT,
|
|
169
|
-
contractVersion: '1.0.0',
|
|
315
|
+
contract: contractMajor === 2 ? WORKSPACE_IMPORT_CONTRACT_V2 : WORKSPACE_IMPORT_CONTRACT,
|
|
316
|
+
contractVersion: contractMajor === 2 ? '2.0.0' : '1.0.0',
|
|
170
317
|
status,
|
|
171
318
|
metadata: {
|
|
172
319
|
operation: 'workspace.import',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/commands/cms/import/workspace.ts"],"names":[],"mappings":"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"}
|
|
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,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,GAG7B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,mBAAmB,GAIpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAG1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAGtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIrF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAqD;IACzF,MAAM,CAAU,OAAO,GAC5B,iEAAiE,CAAC;IAC7D,MAAM,CAAU,WAAW,GAChC,mqDAAmqD,CAAC;IAC/pD,MAAM,CAAU,QAAQ,GAAG;QAChC,qHAAqH;QACrH,iLAAiL;QACjL,sLAAsL;QACtL,oNAAoN;QACpN,4LAA4L;QAC5L,wLAAwL;QACxL,0MAA0M;QAC1M,wLAAwL;QACxL,oKAAoK;QACpK,+MAA+M;KAChN,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,wEAAwE;SAClF,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,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC,iBAAiB,CAAC;YAC9B,OAAO,EACL,sHAAsH;SACzH,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC;YAC5B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,oBAAoB;gBACpB,kBAAkB;gBAClB,2BAA2B;gBAC3B,kBAAkB;gBAClB,WAAW;aACZ;YACD,OAAO,EACL,wJAAwJ;SAC3J,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC;YAC/B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,iBAAiB;gBACjB,kBAAkB;gBAClB,2BAA2B;gBAC3B,kBAAkB;gBAClB,cAAc;gBACd,WAAW;aACZ;YACD,OAAO,EACL,mIAAmI;SACtI,CAAC;QACF,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,2BAA2B;gBAC3B,kBAAkB;gBAClB,cAAc;gBACd,WAAW;aACZ;YACD,OAAO,EACL,4HAA4H;SAC/H,CAAC;QACF,2BAA2B,EAAE,KAAK,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,kBAAkB;gBAClB,kBAAkB;gBAClB,cAAc;gBACd,WAAW;aACZ;YACD,OAAO,EACL,4HAA4H;SAC/H,CAAC;QACF,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,kBAAkB;gBAClB,2BAA2B;gBAC3B,cAAc;gBACd,WAAW;aACZ;YACD,OAAO,EACL,gJAAgJ;SACnJ,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,kBAAkB;gBAClB,2BAA2B;gBAC3B,kBAAkB;gBAClB,cAAc;aACf;YACD,OAAO,EACL,yIAAyI;SAC5I,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EACL,2HAA2H;SAC9H,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,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;QACtD,MAAM,oBAAoB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,gBAAgB,KAAK,oBAAoB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,YAAY;gBAC1B,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,kBAAkB,gBAAgB,yDAAyD,CAAC;YAChG,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CACN,SAAS,EACT,oBAAoB,EACpB,KAAK,CAAC,aAAa,CAAC,EACpB,gBAAgB,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACtE,CACF,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CACN,SAAS,EACT,oBAAoB,EACpB,KAAK,CAAC,aAAa,CAAC,EACpB,gBAAgB,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ;gBACE;oBACE,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,+CAA+C;oBACxD,SAAS,EAAE,KAAK;iBACjB;aACF,CACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,MAA6B,CAAC;QAClC,IAAI,qBAA8B,CAAC;QACnC,IAAI,UAA2D,CAAC;QAChE,IAAI,2BAAoC,CAAC;QACzC,IAAI,mBAA4B,CAAC;QACjC,IAAI,kBAA2B,CAAC;QAChC,IAAI,mBAA4B,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,SAAS;gBAC/E,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;YACnE,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;gBACtD,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;gBACpC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC5C,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAY,CAAC;gBACxF,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3C,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC7B,MAAM,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACtC,CAAC;gBACb,MAAM,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,KAAK,CAAC,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9C,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAChC,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACzC,CAAC;gBACb,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CACvC,CAAC;gBACb,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,KAAK,CAAC,2BAA2B,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrD,2BAA2B,GAAG,IAAI,CAAC,KAAK,CACtC,MAAM,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC,CAChD,CAAC;gBACb,6BAA6B,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CACvC,CAAC;gBACb,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YACD,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,GAAG,KAAK,YAAY,uCAAuC,CAAC;YACvF,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CACN,SAAS,EACT,oBAAoB,EACpB,KAAK,CAAC,aAAa,CAAC,EACpB,gBAAgB,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ;gBACE;oBACE,IAAI,EAAE,qBAAqB;wBACzB,CAAC,CAAC,6BAA6B;wBAC/B,CAAC,CAAC,2BAA2B;oBAC/B,OAAO;oBACP,SAAS,EAAE,KAAK;iBACjB;aACF,CACF,CACF,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,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK;oBAC3B,CAAC,CAAC,MAAM,iBAAiB,CAAC;wBACtB,UAAU;wBACV,gBAAgB,EAAE,KAAK;wBACvB,sBAAsB,EAAE,QAAQ,CAAC,EAAE;wBACnC,KAAK,EAAE,UAAU;wBACjB,eAAe,EAAE,KAAK,CAAC,YAAY,CAAE;wBACrC,MAAM;qBACP,CAAC;oBACJ,CAAC,CAAC,MAAM,qBAAqB,CAAC;wBAC1B,UAAU;wBACV,gBAAgB,EAAE,KAAK;wBACvB,sBAAsB,EAAE,QAAQ,CAAC,EAAE;wBACnC,KAAK,EAAE,UAAU;wBACjB,MAAM;qBACP,CAAC,CAAC;gBACP,MAAM,MAAM,GAAG,QAAQ,CACrB,SAAS,EACT,CAAC,EACD,KAAK,CAAC,aAAa,CAAC,EACpB,KAAK,EACL,IAAI,CAAC,aAAa,EAClB,SAAS,CAAC,cAAc,EACxB,EAAE,CACH,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,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,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC;gBACxC,qBAAqB;gBACrB,2BAA2B;gBAC3B,mBAAmB;gBACnB,kBAAkB;gBAClB,mBAAmB;gBACnB,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,CACrB,MAAM,EACN,CAAC,EACD,KAAK,CAAC,aAAa,CAAC,EACpB,KAAK,EACL,IAAI,CAAC,aAAa,EAClB,SAAS,CAAC,cAAc,EACxB,EAAE,EACF,SAAS,CAAC,WAAW,CACtB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAA4C,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CACN,QAAQ,EACR,oBAAoB,EACpB,KAAK,CAAC,aAAa,CAAC,EACpB,KAAK,EACL,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ;gBACE;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,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CACZ,MAAiD;QAEjD,OAAO,MAAM,CAAC,eAAe,KAAK,OAAO;YACvC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,kCAAkC,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC;IAEO,aAAa,CACnB,SAA8D,EAC9D,cAAyD;QAEzD,IAAI,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,0BAA0B,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,oBAAoB,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,iBAAiB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CACN,qFAAqF,CACtF,CAAC;YACF,IAAI,CAAC,GAAG,CACN,sFAAsF,CACvF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CACN,uFAAuF,CACxF,CAAC;QACJ,CAAC;IACH,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,4EAA4E,CAAC,CAAC;YACvF,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;;AAGH,SAAS,QAAQ,CACf,MAAiB,EACjB,aAAoB,EACpB,UAAkB,EAClB,KAAa,EACb,aAAqB,EACrB,MAA2C,EAC3C,MAAuB,EACvB,WAA4B,EAAE;IAE9B,OAAO;QACL,QAAQ,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,yBAAyB;QACxF,eAAe,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QACxD,MAAM;QACN,QAAQ,EAAE;YACR,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE;YACzD,UAAU;SACX;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YAC/D,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,CAAC;SAC1D;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,KAAK;YAClB,aAAa;YACb,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
|
package/lib/commands/cms/info.js
CHANGED
|
@@ -53,15 +53,16 @@ function successEnvelope(pluginVersion) {
|
|
|
53
53
|
commandResults: {
|
|
54
54
|
info: ['1.0.0'],
|
|
55
55
|
workspaceExportSet: ['1.0.0'],
|
|
56
|
-
workspaceImport: ['1.0.0'],
|
|
56
|
+
workspaceImport: ['1.0.0', '2.0.0'],
|
|
57
57
|
},
|
|
58
|
-
packageManifests: { workspaceExport: ['1.0.0'] },
|
|
58
|
+
packageManifests: { workspaceExport: ['1.0.0', '2.0.0'] },
|
|
59
59
|
embeddedResults: {
|
|
60
60
|
externalReferenceCorrelations: ['sf-cms-external-reference-correlations@1'],
|
|
61
61
|
},
|
|
62
62
|
compatibility: {
|
|
63
63
|
'workspaceExportSet@1': { workspaceExportManifestMajors: [1] },
|
|
64
64
|
'workspaceImport@1': { workspaceExportManifestMajors: [1] },
|
|
65
|
+
'workspaceImport@2': { workspaceExportManifestMajors: [2] },
|
|
65
66
|
},
|
|
66
67
|
},
|
|
67
68
|
capabilities: [
|
|
@@ -83,6 +84,24 @@ function successEnvelope(pluginVersion) {
|
|
|
83
84
|
transport: 'cli-json',
|
|
84
85
|
contract: 'sf-cms-external-reference-correlations@1',
|
|
85
86
|
},
|
|
87
|
+
{
|
|
88
|
+
id: 'workspace.export.experimental-media',
|
|
89
|
+
state: 'experimental',
|
|
90
|
+
transport: 'cli-json',
|
|
91
|
+
contract: 'sf-cms-workspace-export@2',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 'workspace.import.email-fragment-create',
|
|
95
|
+
state: 'experimental',
|
|
96
|
+
transport: 'cli-json',
|
|
97
|
+
contract: 'sf-cms-workspace-import@1',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: 'workspace.import.image-create',
|
|
101
|
+
state: 'experimental',
|
|
102
|
+
transport: 'cli-json',
|
|
103
|
+
contract: 'sf-cms-workspace-import@2',
|
|
104
|
+
},
|
|
86
105
|
{
|
|
87
106
|
id: 'workspace.import.mapping',
|
|
88
107
|
state: 'experimental',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/cms/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,oEAAoE;AACpE,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAsC;IAC/D,MAAM,CAAU,OAAO,GAAG,uDAAuD,CAAC;IAClF,MAAM,CAAU,WAAW,GAChC,4JAA4J,CAAC;IACxJ,MAAM,CAAU,QAAQ,GAAG;QAChC,4BAA4B;QAC5B,mCAAmC;QACnC,wDAAwD;KACzD,CAAC;IACK,MAAM,CAAU,KAAK,GAAG;QAC7B,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,gDAAgD;SAC1D,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,gBAAgB,KAAK,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;YACrC,CAAC,CAAC,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1D,CAAC;;AAGH,SAAS,eAAe,CAAC,aAAqB;IAC5C,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE;YACR,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE;YACzD,UAAU,EAAE,IAAI;SACjB;QACD,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,UAAU,EAAE;YACV,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,SAAS;YACtB,aAAa;YACb,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC;QACD,MAAM,EAAE;YACN,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE;YACzD,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;YACzD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,kBAAkB,EAAE,CAAC,OAAO,CAAC;oBAC7B,eAAe,EAAE,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/cms/info.ts"],"names":[],"mappings":"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"}
|
package/lib/contracts/info.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ export declare const CMS_INFO_CONTRACT: "sf-cms-info";
|
|
|
3
3
|
export declare const CMS_CAPABILITY_STATES: readonly ["implemented", "experimental", "unavailable"];
|
|
4
4
|
export declare const CMS_CAPABILITY_TRANSPORT: "cli-json";
|
|
5
5
|
export type CmsCapability = {
|
|
6
|
-
id: 'workspace.export.bulk' | 'workspace.export.dependency-closure' | 'workspace.export.external-reference-correlation' | 'workspace.import.mapping';
|
|
6
|
+
id: 'workspace.export.bulk' | 'workspace.export.dependency-closure' | 'workspace.export.external-reference-correlation' | 'workspace.export.experimental-media' | 'workspace.import.email-fragment-create' | 'workspace.import.image-create' | 'workspace.import.mapping';
|
|
7
7
|
state: (typeof CMS_CAPABILITY_STATES)[number];
|
|
8
8
|
transport: typeof CMS_CAPABILITY_TRANSPORT;
|
|
9
|
-
contract: 'unavailable' | 'sf-cms-workspace-export-set@1' | typeof EXTERNAL_REFERENCE_CORRELATIONS_CONTRACT | 'sf-cms-workspace-import@1';
|
|
9
|
+
contract: 'unavailable' | 'sf-cms-workspace-export-set@1' | 'sf-cms-workspace-export@2' | typeof EXTERNAL_REFERENCE_CORRELATIONS_CONTRACT | 'sf-cms-workspace-import@1' | 'sf-cms-workspace-import@2';
|
|
10
10
|
};
|
|
11
11
|
export type CmsInfoResult = {
|
|
12
12
|
plugin: {
|
|
@@ -21,10 +21,10 @@ export type CmsInfoResult = {
|
|
|
21
21
|
commandResults: {
|
|
22
22
|
info: ['1.0.0'];
|
|
23
23
|
workspaceExportSet: ['1.0.0'];
|
|
24
|
-
workspaceImport: ['1.0.0'];
|
|
24
|
+
workspaceImport: ['1.0.0', '2.0.0'];
|
|
25
25
|
};
|
|
26
26
|
packageManifests: {
|
|
27
|
-
workspaceExport: ['1.0.0'];
|
|
27
|
+
workspaceExport: ['1.0.0', '2.0.0'];
|
|
28
28
|
};
|
|
29
29
|
embeddedResults: {
|
|
30
30
|
externalReferenceCorrelations: [typeof EXTERNAL_REFERENCE_CORRELATIONS_CONTRACT];
|
|
@@ -36,6 +36,9 @@ export type CmsInfoResult = {
|
|
|
36
36
|
'workspaceImport@1': {
|
|
37
37
|
workspaceExportManifestMajors: [1];
|
|
38
38
|
};
|
|
39
|
+
'workspaceImport@2': {
|
|
40
|
+
workspaceExportManifestMajors: [2];
|
|
41
|
+
};
|
|
39
42
|
};
|
|
40
43
|
};
|
|
41
44
|
capabilities: CmsCapability[];
|
package/lib/contracts/info.js
CHANGED
|
@@ -15,13 +15,16 @@ export function assertCmsInfoResult(value) {
|
|
|
15
15
|
}
|
|
16
16
|
assertExactKeys(value.contracts, ['commandResults', 'packageManifests', 'embeddedResults', 'compatibility'], 'result.contracts');
|
|
17
17
|
assertExactKeys(value.contracts.commandResults, ['info', 'workspaceExportSet', 'workspaceImport'], 'result.contracts.commandResults');
|
|
18
|
-
for (const key of ['info', 'workspaceExportSet'
|
|
18
|
+
for (const key of ['info', 'workspaceExportSet']) {
|
|
19
19
|
if (!isExactArray(value.contracts.commandResults[key], ['1.0.0'])) {
|
|
20
20
|
throw new TypeError(`result.contracts.commandResults.${key} is invalid`);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
if (!isExactArray(value.contracts.commandResults.workspaceImport, ['1.0.0', '2.0.0'])) {
|
|
24
|
+
throw new TypeError('result.contracts.commandResults.workspaceImport is invalid');
|
|
25
|
+
}
|
|
23
26
|
assertExactKeys(value.contracts.packageManifests, ['workspaceExport'], 'result.contracts.packageManifests');
|
|
24
|
-
if (!isExactArray(value.contracts.packageManifests.workspaceExport, ['1.0.0'])) {
|
|
27
|
+
if (!isExactArray(value.contracts.packageManifests.workspaceExport, ['1.0.0', '2.0.0'])) {
|
|
25
28
|
throw new TypeError('result.contracts.packageManifests.workspaceExport is invalid');
|
|
26
29
|
}
|
|
27
30
|
assertExactKeys(value.contracts.embeddedResults, ['externalReferenceCorrelations'], 'result.contracts.embeddedResults');
|
|
@@ -30,12 +33,15 @@ export function assertCmsInfoResult(value) {
|
|
|
30
33
|
])) {
|
|
31
34
|
throw new TypeError('result.contracts.embeddedResults.externalReferenceCorrelations is invalid');
|
|
32
35
|
}
|
|
33
|
-
assertExactKeys(value.contracts.compatibility, ['workspaceExportSet@1', 'workspaceImport@1'], 'result.contracts.compatibility');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
assertExactKeys(value.contracts.compatibility, ['workspaceExportSet@1', 'workspaceImport@1', 'workspaceImport@2'], 'result.contracts.compatibility');
|
|
37
|
+
const compatibility = value.contracts.compatibility;
|
|
38
|
+
for (const key of ['workspaceExportSet@1', 'workspaceImport@1', 'workspaceImport@2']) {
|
|
39
|
+
assertExactKeys(compatibility[key], ['workspaceExportManifestMajors'], `result.contracts.compatibility.${key}`);
|
|
40
|
+
}
|
|
41
|
+
if (!isExactArray(compatibility['workspaceExportSet@1'].workspaceExportManifestMajors, [1]) ||
|
|
42
|
+
!isExactArray(compatibility['workspaceImport@1'].workspaceExportManifestMajors, [1]) ||
|
|
43
|
+
!isExactArray(compatibility['workspaceImport@2'].workspaceExportManifestMajors, [2])) {
|
|
44
|
+
throw new TypeError('result.contracts.compatibility is invalid');
|
|
39
45
|
}
|
|
40
46
|
if (!Array.isArray(value.capabilities))
|
|
41
47
|
throw new TypeError('result.capabilities must be an array');
|
|
@@ -56,6 +62,9 @@ export function assertCmsInfoResult(value) {
|
|
|
56
62
|
['workspace.export.bulk', 'sf-cms-workspace-export-set@1'],
|
|
57
63
|
['workspace.export.dependency-closure', 'unavailable'],
|
|
58
64
|
['workspace.export.external-reference-correlation', EXTERNAL_REFERENCE_CORRELATIONS_CONTRACT],
|
|
65
|
+
['workspace.export.experimental-media', 'sf-cms-workspace-export@2'],
|
|
66
|
+
['workspace.import.email-fragment-create', 'sf-cms-workspace-import@1'],
|
|
67
|
+
['workspace.import.image-create', 'sf-cms-workspace-import@2'],
|
|
59
68
|
['workspace.import.mapping', 'sf-cms-workspace-import@1'],
|
|
60
69
|
]);
|
|
61
70
|
if (capability.contract !== expectedContracts.get(capability.id)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/contracts/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAsB,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAU,CAAC;AAC7F,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/contracts/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const CMS_CONTRACT_MAJOR: 1;
|
|
2
2
|
export declare const CMS_CONTRACT_VERSION: "1.0.0";
|
|
3
|
+
export declare const CMS_CONTRACT_VERSIONS: readonly ["1.0.0", "2.0.0"];
|
|
3
4
|
export declare const CMS_PLUGIN_NAME: "sf-plugin-cms";
|
|
4
5
|
export declare const CMS_STATUSES: readonly ["success", "partial", "failed", "blocked"];
|
|
5
6
|
export declare const CMS_OPERATIONS: readonly ["cms.info", "workspace.export.bulk", "workspace.import"];
|
|
@@ -55,7 +56,7 @@ export type CmsProvenance = {
|
|
|
55
56
|
};
|
|
56
57
|
export type CmsEnvelope<T> = {
|
|
57
58
|
contract: string;
|
|
58
|
-
contractVersion: typeof
|
|
59
|
+
contractVersion: (typeof CMS_CONTRACT_VERSIONS)[number];
|
|
59
60
|
status: CmsStatus;
|
|
60
61
|
metadata: CmsMetadata;
|
|
61
62
|
diagnostics: CmsDiagnostics;
|
package/lib/contracts/shared.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { redactSecrets } from '../transport/redact-secrets.js';
|
|
2
2
|
export const CMS_CONTRACT_MAJOR = 1;
|
|
3
3
|
export const CMS_CONTRACT_VERSION = '1.0.0';
|
|
4
|
+
export const CMS_CONTRACT_VERSIONS = ['1.0.0', '2.0.0'];
|
|
4
5
|
export const CMS_PLUGIN_NAME = 'sf-plugin-cms';
|
|
5
6
|
export const CMS_STATUSES = ['success', 'partial', 'failed', 'blocked'];
|
|
6
7
|
export const CMS_OPERATIONS = ['cms.info', 'workspace.export.bulk', 'workspace.import'];
|
|
@@ -116,18 +117,25 @@ export function assertOpaqueCmsReference(value, label = 'reference') {
|
|
|
116
117
|
export function assertCmsEnvelope(value, resultValidator) {
|
|
117
118
|
assertExactKeys(value, ['contract', 'contractVersion', 'status', 'metadata', 'diagnostics', 'provenance', 'result'], 'envelope');
|
|
118
119
|
assertNonemptyString(value.contract, 'envelope.contract');
|
|
119
|
-
if (value.contractVersion
|
|
120
|
-
throw new TypeError('envelope.contractVersion
|
|
120
|
+
if (!CMS_CONTRACT_VERSIONS.includes(value.contractVersion)) {
|
|
121
|
+
throw new TypeError('envelope.contractVersion is unsupported');
|
|
121
122
|
}
|
|
122
123
|
if (!CMS_STATUSES.includes(value.status))
|
|
123
124
|
throw new TypeError('envelope.status is invalid');
|
|
124
125
|
assertMetadata(value.metadata);
|
|
126
|
+
if (value.contractVersion === '2.0.0' && value.metadata.operation !== 'workspace.import') {
|
|
127
|
+
throw new TypeError('envelope.contractVersion 2.0.0 is supported only for workspace.import');
|
|
128
|
+
}
|
|
125
129
|
const expectedContract = new Map([
|
|
126
130
|
['cms.info', 'sf-cms-info'],
|
|
127
131
|
['workspace.export.bulk', 'sf-cms-workspace-export-set'],
|
|
128
132
|
['workspace.import', 'sf-cms-workspace-import'],
|
|
129
133
|
]);
|
|
130
|
-
|
|
134
|
+
const operationContract = expectedContract.get(value.metadata.operation);
|
|
135
|
+
const expected = value.metadata.operation === 'workspace.import' && value.contractVersion === '2.0.0'
|
|
136
|
+
? 'sf-cms-workspace-import@2'
|
|
137
|
+
: operationContract;
|
|
138
|
+
if (value.contract !== expected) {
|
|
131
139
|
throw new TypeError('envelope.contract does not match metadata.operation');
|
|
132
140
|
}
|
|
133
141
|
assertDiagnostics(value.diagnostics);
|