@salesforce/b2c-tooling-sdk 2.0.0 → 2.2.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 (97) hide show
  1. package/data/content-schemas/databindingcontext.json +1 -1
  2. package/data/guides/enrichment.json +2030 -1413
  3. package/data/guides/index.json +2637 -1807
  4. package/data/help/index.json +1537 -1457
  5. package/data/help-kb/enrichment.json +6122 -0
  6. package/data/help-kb/index.json +8496 -0
  7. package/data/job-steps/index.json +1 -1
  8. package/data/job-steps/job-steps.json +1 -1
  9. package/data/script-api/index.json +137 -22
  10. package/data/tooling/index.json +19 -10
  11. package/data/xsd/channels.xsd +47 -0
  12. package/data/xsd/index.json +6 -2
  13. package/data/xsd/library.xsd +31 -0
  14. package/data/xsd/order.xsd +317 -0
  15. package/data/xsd/search2.xsd +1 -1
  16. package/data/xsd/sort.xsd +17 -0
  17. package/data/xsd/storefronts.xsd +34 -48
  18. package/dist/esm/cli/config.js +7 -1
  19. package/dist/esm/cli/config.js.map +1 -1
  20. package/dist/esm/cli/mrt-command.d.ts +20 -4
  21. package/dist/esm/cli/mrt-command.js +28 -6
  22. package/dist/esm/cli/mrt-command.js.map +1 -1
  23. package/dist/esm/cli/webdav-command.d.ts +1 -0
  24. package/dist/esm/cli/webdav-command.js +1 -0
  25. package/dist/esm/cli/webdav-command.js.map +1 -1
  26. package/dist/esm/clients/index.d.ts +2 -0
  27. package/dist/esm/clients/index.js +1 -0
  28. package/dist/esm/clients/index.js.map +1 -1
  29. package/dist/esm/clients/middleware-registry.d.ts +9 -37
  30. package/dist/esm/clients/middleware-registry.js +62 -1
  31. package/dist/esm/clients/middleware-registry.js.map +1 -1
  32. package/dist/esm/clients/storefront-deployments.d.ts +1 -0
  33. package/dist/esm/clients/storefront-deployments.js.map +1 -1
  34. package/dist/esm/clients/storefront-environments.d.ts +56 -0
  35. package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
  36. package/dist/esm/clients/storefront-environments.generated.js +6 -0
  37. package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
  38. package/dist/esm/clients/storefront-environments.js +24 -0
  39. package/dist/esm/clients/storefront-environments.js.map +1 -0
  40. package/dist/esm/config/dw-json.d.ts +28 -0
  41. package/dist/esm/config/dw-json.js +47 -1
  42. package/dist/esm/config/dw-json.js.map +1 -1
  43. package/dist/esm/config/index.d.ts +2 -2
  44. package/dist/esm/config/index.js +1 -1
  45. package/dist/esm/config/index.js.map +1 -1
  46. package/dist/esm/config/resolver.js +12 -0
  47. package/dist/esm/config/resolver.js.map +1 -1
  48. package/dist/esm/config/sources/env-source.d.ts +10 -1
  49. package/dist/esm/config/sources/env-source.js +29 -1
  50. package/dist/esm/config/sources/env-source.js.map +1 -1
  51. package/dist/esm/config/types.d.ts +1 -1
  52. package/dist/esm/docs/search.js +3 -1
  53. package/dist/esm/docs/search.js.map +1 -1
  54. package/dist/esm/docs/types.d.ts +4 -1
  55. package/dist/esm/docs/types.js +1 -0
  56. package/dist/esm/docs/types.js.map +1 -1
  57. package/dist/esm/guidance/catalog.js +1 -1
  58. package/dist/esm/guidance/catalog.js.map +1 -1
  59. package/dist/esm/guidance/types.d.ts +6 -2
  60. package/dist/esm/guidance/types.js.map +1 -1
  61. package/dist/esm/operations/code/deploy.js +4 -0
  62. package/dist/esm/operations/code/deploy.js.map +1 -1
  63. package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
  64. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  65. package/dist/esm/operations/mrt/deployment.d.ts +28 -1
  66. package/dist/esm/operations/mrt/deployment.js +17 -4
  67. package/dist/esm/operations/mrt/deployment.js.map +1 -1
  68. package/dist/esm/operations/mrt/env-var.d.ts +135 -0
  69. package/dist/esm/operations/mrt/env-var.js +203 -0
  70. package/dist/esm/operations/mrt/env-var.js.map +1 -1
  71. package/dist/esm/operations/mrt/index.d.ts +4 -4
  72. package/dist/esm/operations/mrt/index.js +2 -2
  73. package/dist/esm/operations/mrt/index.js.map +1 -1
  74. package/dist/esm/operations/mrt/push.d.ts +202 -0
  75. package/dist/esm/operations/mrt/push.js +280 -0
  76. package/dist/esm/operations/mrt/push.js.map +1 -1
  77. package/dist/esm/operations/mtls/index.d.ts +135 -0
  78. package/dist/esm/operations/mtls/index.js +270 -0
  79. package/dist/esm/operations/mtls/index.js.map +1 -0
  80. package/dist/esm/safety/safety-guard.d.ts +1 -0
  81. package/dist/esm/safety/safety-guard.js +2 -1
  82. package/dist/esm/safety/safety-guard.js.map +1 -1
  83. package/dist/esm/safety/types.d.ts +2 -2
  84. package/dist/esm/scapi/index.d.ts +2 -2
  85. package/dist/esm/scapi/request.d.ts +13 -0
  86. package/dist/esm/scapi/request.js +49 -15
  87. package/dist/esm/scapi/request.js.map +1 -1
  88. package/dist/esm/scapi/runtime.d.ts +7 -0
  89. package/dist/esm/scapi/runtime.js +31 -1
  90. package/dist/esm/scapi/runtime.js.map +1 -1
  91. package/dist/esm/skills/sources.js +8 -0
  92. package/dist/esm/skills/sources.js.map +1 -1
  93. package/dist/esm/skills/types.d.ts +1 -1
  94. package/dist/esm/test-utils/config-isolation.js +2 -2
  95. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  96. package/package.json +8 -2
  97. package/specs/storefront-environments-v1.yaml +272 -0
@@ -1,6 +1,10 @@
1
1
  import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
3
+ import { toOrganizationId, } from '../../clients/storefront-deployments.js';
2
4
  import { getLogger } from '../../logging/logger.js';
3
5
  import { createBundle, createBundleV2 } from './bundle.js';
6
+ import { buildScapiDeploymentsClient, createDeployment, createDeploymentScapi, LEGACY_AUTH_REQUIRED_MESSAGE, READ_HEADERS, WRITE_HEADERS, } from './deployment.js';
7
+ import { runMrtWithFallback, } from './mrt-backend.js';
4
8
  /**
5
9
  * Pushes a bundle to a Managed Runtime project.
6
10
  *
@@ -387,4 +391,280 @@ export async function bulkDeleteBundles(options, auth) {
387
391
  rejected,
388
392
  };
389
393
  }
394
+ /** Normalizes a legacy MRT bundle list item into an {@link MrtBundleView}. */
395
+ export function normalizeLegacyBundle(bundle) {
396
+ return {
397
+ id: bundle.id ?? undefined,
398
+ message: bundle.message ?? undefined,
399
+ status: bundle.status ?? undefined,
400
+ user: bundle.user ?? undefined,
401
+ created: bundle.created_at ?? undefined,
402
+ backend: 'legacy',
403
+ };
404
+ }
405
+ /** Normalizes a SCAPI MRT {@link BundleScapi} into an {@link MrtBundleView}. */
406
+ export function normalizeScapiBundle(bundle) {
407
+ return {
408
+ id: bundle.bundleId ?? undefined,
409
+ message: bundle.description ?? undefined,
410
+ status: bundle.status ?? undefined,
411
+ user: bundle.createdBy ?? undefined,
412
+ created: bundle.creationDate ?? undefined,
413
+ backend: 'scapi',
414
+ };
415
+ }
416
+ /**
417
+ * Lists bundles for a storefront via the SCAPI MRT Deployments API.
418
+ *
419
+ * Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
420
+ * provided (the response echoes the full `total`), mirroring the legacy list and
421
+ * {@link listDeploymentsScapi}.
422
+ *
423
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
424
+ */
425
+ export async function listBundlesScapi(conn, params) {
426
+ const logger = getLogger();
427
+ const { storefrontId, limit, offset } = params;
428
+ const organizationId = toOrganizationId(conn.tenantId);
429
+ logger.debug({ organizationId, storefrontId, limit, offset }, '[MRT-SCAPI] Listing bundles');
430
+ const client = buildScapiDeploymentsClient(conn);
431
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/bundles', {
432
+ params: { path: { organizationId, storefrontId }, query: { limit, offset } },
433
+ headers: READ_HEADERS,
434
+ });
435
+ if (error || !data) {
436
+ throw createScapiRequestError(error, response, 'Failed to list bundles');
437
+ }
438
+ return {
439
+ bundles: (data.data ?? []).map(normalizeScapiBundle),
440
+ count: data.total ?? data.data?.length ?? 0,
441
+ raw: data,
442
+ };
443
+ }
444
+ /**
445
+ * Uploads a pre-built v2 bundle archive to a storefront via the SCAPI MRT
446
+ * Deployments API as multipart/form-data.
447
+ *
448
+ * The multipart payload mirrors the legacy {@link uploadBundleV2} exactly (same
449
+ * `bundle`/`message`/`rootDir`/`configPath`/`matchMode` fields), so a bundle
450
+ * built with {@link createBundleV2} uploads identically on either backend. As
451
+ * with the legacy path, openapi-fetch passes the `FormData` body through
452
+ * unchanged and lets fetch set the multipart Content-Type + boundary.
453
+ *
454
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
455
+ */
456
+ export async function uploadBundleScapi(conn, params) {
457
+ const logger = getLogger();
458
+ const { storefrontId, bundle } = params;
459
+ const organizationId = toOrganizationId(conn.tenantId);
460
+ logger.debug({ organizationId, storefrontId, rootDir: bundle.rootDir }, '[MRT-SCAPI] Uploading bundle');
461
+ // Build the same multipart body as the legacy v2 upload so the two backends
462
+ // stay in sync. openapi-fetch passes a FormData body through unchanged.
463
+ const form = new FormData();
464
+ form.append('bundle', new Blob([bundle.archive]), 'bundle.tar.gz');
465
+ form.append('message', bundle.message);
466
+ form.append('rootDir', bundle.rootDir);
467
+ form.append('configPath', bundle.configPath);
468
+ form.append('matchMode', bundle.matchMode);
469
+ const client = buildScapiDeploymentsClient(conn);
470
+ const { data, error, response } = await client.POST('/organizations/{organizationId}/storefronts/{storefrontId}/bundles', {
471
+ params: { path: { organizationId, storefrontId } },
472
+ headers: WRITE_HEADERS,
473
+ // The generated body type describes the multipart fields; we pass a real
474
+ // FormData instance (with the binary archive) instead.
475
+ body: form,
476
+ });
477
+ if (error || !data) {
478
+ throw createScapiRequestError(error, response, 'Failed to upload bundle');
479
+ }
480
+ if (data.bundleId === undefined) {
481
+ throw new Error(`Bundle upload succeeded but the response omitted a bundle id: ${JSON.stringify(data)}`);
482
+ }
483
+ return {
484
+ bundleId: data.bundleId,
485
+ warnings: data.warnings ?? [],
486
+ matches: data.matches ?? {},
487
+ raw: data,
488
+ };
489
+ }
490
+ /**
491
+ * Lists bundles, routing to the SCAPI or legacy backend per the given
492
+ * preference (with safe `auto` fallback). Returns normalized rows.
493
+ */
494
+ export async function listMrtBundles(options) {
495
+ const { preference, scapiConnection, legacyAuth, projectSlug, limit, offset, origin, onFallback, onResolve } = options;
496
+ const run = await runMrtWithFallback({
497
+ preference,
498
+ hasScapiConfig: Boolean(scapiConnection),
499
+ canFallbackToLegacy: Boolean(legacyAuth),
500
+ onFallback,
501
+ onResolve,
502
+ }, {
503
+ scapi: () => listBundlesScapi(scapiConnection, { storefrontId: projectSlug, limit, offset }),
504
+ legacy: async () => {
505
+ if (!legacyAuth) {
506
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
507
+ }
508
+ const result = await listBundles({ projectSlug, limit, offset, origin }, legacyAuth);
509
+ // The legacy list result already mirrors the raw MRT Cloud API shape
510
+ // (count/next/previous/bundles), so surface it verbatim under --json.
511
+ return { count: result.count, bundles: result.bundles.map(normalizeLegacyBundle), raw: result };
512
+ },
513
+ });
514
+ return { backend: run.backend, count: run.value.count, bundles: run.value.bundles, raw: run.value.raw };
515
+ }
516
+ /**
517
+ * Builds a bundle from a local build and pushes it, routing to the SCAPI or
518
+ * legacy backend per the given preference (with safe `auto` fallback). When a
519
+ * `targetSlug` is given the bundle is also deployed; otherwise it is uploaded
520
+ * only. The returned `backend` pins which `--wait` strategy the caller uses.
521
+ *
522
+ * **Bundle format:** SCAPI always uploads the v2 format. Legacy defaults to the
523
+ * v1 combined upload+deploy; set `v2` to route the legacy push through the v2
524
+ * endpoint instead (upload, then a separate deploy when a target is given), so
525
+ * the `rootDir`/`configPath`/`matchMode` options take effect on legacy too.
526
+ *
527
+ * **Fallback safety:** only the SCAPI *upload* is fallback-eligible — if it
528
+ * fails with a safe pre-execution error nothing was created, so `auto` retries
529
+ * on legacy. Once the upload succeeds a bundle exists on SCAPI, so a failure of
530
+ * the subsequent create-deployment is re-thrown as a plain `Error` (not a
531
+ * fallback trigger) to avoid re-uploading the whole build on legacy.
532
+ */
533
+ export async function pushMrtBundle(options) {
534
+ const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, message, ssrParameters, ssrOnly, ssrShared, buildDirectory, projectDirectory, rootDir, configPath, matchMode, v2, origin, onFallback, onResolve, } = options;
535
+ const run = await runMrtWithFallback({
536
+ preference,
537
+ hasScapiConfig: Boolean(scapiConnection),
538
+ canFallbackToLegacy: Boolean(legacyAuth),
539
+ onFallback,
540
+ onResolve,
541
+ }, {
542
+ scapi: async () => {
543
+ const bundle = await createBundleV2({
544
+ message,
545
+ ssrParameters,
546
+ ssrOnly,
547
+ ssrShared,
548
+ buildDirectory,
549
+ projectDirectory,
550
+ rootDir,
551
+ configPath,
552
+ matchMode,
553
+ });
554
+ const uploaded = await uploadBundleScapi(scapiConnection, { storefrontId: projectSlug, bundle });
555
+ // Upload-only: no target to deploy to.
556
+ if (!targetSlug) {
557
+ return {
558
+ backend: 'scapi',
559
+ bundleId: uploaded.bundleId,
560
+ message: bundle.message,
561
+ deployed: false,
562
+ warnings: uploaded.warnings,
563
+ raw: { bundle: uploaded.raw },
564
+ };
565
+ }
566
+ // The upload succeeded, so a bundle now exists on SCAPI. Re-throw any
567
+ // deploy failure as a plain Error so `runMrtWithFallback` treats it as
568
+ // fatal and does NOT fall back to legacy (which would re-upload).
569
+ let deployment;
570
+ try {
571
+ deployment = await createDeploymentScapi(scapiConnection, {
572
+ storefrontId: projectSlug,
573
+ environmentId: targetSlug,
574
+ bundleId: uploaded.bundleId,
575
+ });
576
+ }
577
+ catch (error) {
578
+ const reason = error instanceof Error ? error.message : String(error);
579
+ throw new Error(`Bundle ${uploaded.bundleId} uploaded successfully but the deployment to ${targetSlug} failed: ${reason}`);
580
+ }
581
+ return {
582
+ backend: 'scapi',
583
+ bundleId: uploaded.bundleId,
584
+ message: bundle.message,
585
+ deployed: true,
586
+ deploymentId: deployment.deploymentId,
587
+ status: deployment.status ?? 'queued',
588
+ warnings: uploaded.warnings,
589
+ raw: { bundle: uploaded.raw, deployment: deployment.raw },
590
+ };
591
+ },
592
+ legacy: async () => {
593
+ if (!legacyAuth) {
594
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
595
+ }
596
+ // Legacy v2 opt-in: build+upload via the v2 endpoint (same as the
597
+ // `upload-v2` command), then deploy the resulting bundle separately —
598
+ // the v2 endpoint is upload-only, so a target requires a follow-up
599
+ // deploy call. `rootDir`/`configPath`/`matchMode` take effect here.
600
+ if (v2) {
601
+ const bundle = await createBundleV2({
602
+ message,
603
+ ssrParameters,
604
+ ssrOnly,
605
+ ssrShared,
606
+ buildDirectory,
607
+ projectDirectory,
608
+ rootDir,
609
+ configPath,
610
+ matchMode,
611
+ });
612
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, legacyAuth);
613
+ const uploaded = await uploadBundleV2(client, projectSlug, bundle);
614
+ if (!targetSlug) {
615
+ return {
616
+ backend: 'legacy',
617
+ bundleId: uploaded.bundleId,
618
+ message: uploaded.message,
619
+ deployed: false,
620
+ warnings: uploaded.warnings,
621
+ raw: uploaded,
622
+ };
623
+ }
624
+ // The upload succeeded, so a bundle now exists. Wrap a deploy failure
625
+ // with a clear message (legacy is terminal here — there is no further
626
+ // backend to fall back to, so this bundle is simply left undeployed).
627
+ let deployment;
628
+ try {
629
+ deployment = await createDeployment({ projectSlug, targetSlug, bundleId: uploaded.bundleId, origin }, legacyAuth);
630
+ }
631
+ catch (error) {
632
+ const reason = error instanceof Error ? error.message : String(error);
633
+ throw new Error(`Bundle ${uploaded.bundleId} uploaded successfully but the deployment to ${targetSlug} failed: ${reason}`);
634
+ }
635
+ return {
636
+ backend: 'legacy',
637
+ bundleId: uploaded.bundleId,
638
+ message: uploaded.message,
639
+ deployed: true,
640
+ warnings: [...uploaded.warnings, ...(deployment.warnings ?? [])],
641
+ raw: { bundle: uploaded, deployment },
642
+ };
643
+ }
644
+ // Default v1: delegate to the existing combined upload+deploy. Its
645
+ // PushResult is the shape legacy `--json` emitted before the backend
646
+ // split. `rootDir`/`configPath`/`matchMode` do not apply to v1.
647
+ const result = await pushBundle({
648
+ projectSlug,
649
+ target: targetSlug,
650
+ message,
651
+ ssrParameters,
652
+ ssrOnly,
653
+ ssrShared,
654
+ buildDirectory,
655
+ projectDirectory,
656
+ origin,
657
+ }, legacyAuth);
658
+ return {
659
+ backend: 'legacy',
660
+ bundleId: result.bundleId,
661
+ message: result.message,
662
+ deployed: result.deployed,
663
+ warnings: result.warnings,
664
+ raw: result,
665
+ };
666
+ },
667
+ });
668
+ return run.value;
669
+ }
390
670
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/operations/mrt/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/operations/mrt/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ import type { CdnZonesClient, CdnZonesComponents } from '../../clients/index.js';
2
+ /** eCDN mTLS certificate as returned by the CDN Zones API. */
3
+ export type MtlsCertificate = CdnZonesComponents['schemas']['MtlsCertificateResponse'];
4
+ /**
5
+ * Maximum validity eCDN accepts for an uploaded code upload CA certificate.
6
+ * Also the default validity for {@link generateCaCertificate}.
7
+ */
8
+ export declare const MAX_CODE_UPLOAD_CA_VALIDITY_DAYS = 365;
9
+ /** Default validity for a generated CA certificate. */
10
+ export declare const DEFAULT_CA_VALIDITY_DAYS = 365;
11
+ /** Default validity for an issued client certificate (1 year). */
12
+ export declare const DEFAULT_CLIENT_VALIDITY_DAYS = 365;
13
+ /** Default RSA key size in bits. */
14
+ export declare const DEFAULT_KEY_SIZE = 2048;
15
+ /** A PEM-encoded certificate and its private key. */
16
+ export interface CertificateKeyPair {
17
+ /** PEM-encoded X.509 certificate */
18
+ certificatePem: string;
19
+ /** PEM-encoded private key */
20
+ privateKeyPem: string;
21
+ }
22
+ /** A generated certificate with metadata. */
23
+ export interface GeneratedCertificate extends CertificateKeyPair {
24
+ /** Hex-encoded serial number */
25
+ serialNumber: string;
26
+ /** Certificate subject distinguished name (e.g. `CN=My CA`) */
27
+ subject: string;
28
+ /** Start of validity */
29
+ notBefore: Date;
30
+ /** End of validity */
31
+ notAfter: Date;
32
+ }
33
+ /** Options for {@link generateCaCertificate}. */
34
+ export interface GenerateCaCertificateOptions {
35
+ /**
36
+ * Subject common name. Salesforce recommends the staging Business Manager
37
+ * hostname (`staging-<realm>-<customer>.demandware.net`).
38
+ * Default: `B2C Commerce Code Upload CA`
39
+ */
40
+ commonName?: string;
41
+ /** Optional subject organization (O) */
42
+ organization?: string;
43
+ /**
44
+ * Validity in days. Default: {@link DEFAULT_CA_VALIDITY_DAYS}. eCDN rejects CA
45
+ * certificates valid for more than {@link MAX_CODE_UPLOAD_CA_VALIDITY_DAYS} days.
46
+ */
47
+ validityDays?: number;
48
+ /** RSA key size in bits. Default: {@link DEFAULT_KEY_SIZE} */
49
+ keySize?: number;
50
+ }
51
+ /** Options for {@link issueClientCertificate}. */
52
+ export interface IssueClientCertificateOptions {
53
+ /** CA certificate and private key used to sign the client certificate */
54
+ ca: CertificateKeyPair;
55
+ /** Subject common name identifying the client; Salesforce recommends the Business Manager username or API client ID */
56
+ commonName: string;
57
+ /** Optional subject organization (O) */
58
+ organization?: string;
59
+ /** Validity in days. Default: {@link DEFAULT_CLIENT_VALIDITY_DAYS}; capped at the CA's expiry */
60
+ validityDays?: number;
61
+ /** RSA key size in bits. Default: {@link DEFAULT_KEY_SIZE} */
62
+ keySize?: number;
63
+ /** Passphrase protecting the PKCS12 bundle. Default: a random passphrase */
64
+ passphrase?: string;
65
+ }
66
+ /** An issued client certificate, including the PKCS12 bundle. */
67
+ export interface IssuedClientCertificate extends GeneratedCertificate {
68
+ /** PKCS12 (`.p12`) bundle containing the client key, certificate, and CA certificate */
69
+ pkcs12: Buffer;
70
+ /** Passphrase protecting {@link pkcs12} */
71
+ passphrase: string;
72
+ }
73
+ /** Options for {@link createCodeUploadCertificate}. */
74
+ export interface CreateCodeUploadCertificateOptions {
75
+ /** Certificate name for identification */
76
+ name: string;
77
+ /** PEM-encoded CA certificate */
78
+ certificatePem: string;
79
+ /** PEM-encoded CA private key */
80
+ privateKeyPem: string;
81
+ }
82
+ /**
83
+ * Generates a random passphrase suitable for protecting a PKCS12 bundle.
84
+ *
85
+ * @returns A 32-character URL-safe random string
86
+ */
87
+ export declare function generatePassphrase(): string;
88
+ /**
89
+ * Generates a self-signed CA certificate for mTLS code upload.
90
+ *
91
+ * The CA is uploaded to eCDN with {@link createCodeUploadCertificate} and used
92
+ * to sign client certificates with {@link issueClientCertificate}. Keep the CA
93
+ * private key secret: anyone holding it can issue trusted client certificates.
94
+ *
95
+ * @param options - Subject, validity, and key size options
96
+ * @returns The CA certificate and private key as PEM strings
97
+ */
98
+ export declare function generateCaCertificate(options?: GenerateCaCertificateOptions): GeneratedCertificate;
99
+ /**
100
+ * Issues a client certificate signed by the given CA and bundles it as PKCS12.
101
+ *
102
+ * The resulting `.p12` is what the CLI, IDE extension, and other WebDAV clients
103
+ * use for two-factor code upload (`certificate` / `certificate-passphrase` in
104
+ * dw.json). This runs entirely locally; no API call is made.
105
+ *
106
+ * @param options - CA, subject, validity, and passphrase options
107
+ * @returns The client certificate, private key, and PKCS12 bundle
108
+ * @throws Error if the CA certificate/key are invalid, don't match, or the CA has expired
109
+ */
110
+ export declare function issueClientCertificate(options: IssueClientCertificateOptions): IssuedClientCertificate;
111
+ /**
112
+ * Validates that a PEM certificate can be uploaded as a code upload CA.
113
+ *
114
+ * The CA certificate bundle is allowed a maximum expiry of 1 year
115
+ * ({@link MAX_CODE_UPLOAD_CA_VALIDITY_DAYS} days); before it expires it must be
116
+ * renewed to avoid disruption with code uploads.
117
+ *
118
+ * @param certificatePem - PEM-encoded CA certificate
119
+ * @throws Error if the certificate can't be parsed, isn't a CA, is expired, or is valid for more than 1 year
120
+ */
121
+ export declare function validateCodeUploadCaCertificate(certificatePem: string): void;
122
+ /**
123
+ * Uploads a CA certificate to eCDN for two-factor (mTLS) code upload.
124
+ *
125
+ * Requires a read-write CDN Zones client (`sfcc.cdn-zones.rw` scope) for a
126
+ * staging organization. The certificate is checked locally first with
127
+ * {@link validateCodeUploadCaCertificate}.
128
+ *
129
+ * @param client - Read-write CDN Zones client
130
+ * @param organizationId - Organization ID (`f_ecom_<tenant>`)
131
+ * @param options - Certificate name and PEM contents
132
+ * @returns The created certificate, including `mtlsAssociatedCodeUploadHostname`
133
+ * @throws Error if the certificate is invalid or the API request fails
134
+ */
135
+ export declare function createCodeUploadCertificate(client: CdnZonesClient, organizationId: string, options: CreateCodeUploadCertificateOptions): Promise<MtlsCertificate>;