@salesforce/b2c-tooling-sdk 2.0.0 → 2.1.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/data/tooling/index.json +9 -9
- package/dist/esm/cli/config.js +7 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +20 -4
- package/dist/esm/cli/mrt-command.js +28 -6
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.js +1 -0
- package/dist/esm/cli/webdav-command.js.map +1 -1
- package/dist/esm/clients/index.d.ts +2 -0
- package/dist/esm/clients/index.js +1 -0
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +1 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/storefront-deployments.d.ts +1 -0
- package/dist/esm/clients/storefront-deployments.js.map +1 -1
- package/dist/esm/clients/storefront-environments.d.ts +56 -0
- package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
- package/dist/esm/clients/storefront-environments.generated.js +6 -0
- package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-environments.js +24 -0
- package/dist/esm/clients/storefront-environments.js.map +1 -0
- package/dist/esm/config/resolver.js +12 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +10 -1
- package/dist/esm/config/sources/env-source.js +29 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +1 -1
- package/dist/esm/guidance/catalog.js +1 -1
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +6 -2
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/operations/code/deploy.js +4 -0
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/mrt/deployment.d.ts +28 -1
- package/dist/esm/operations/mrt/deployment.js +17 -4
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/env-var.d.ts +135 -0
- package/dist/esm/operations/mrt/env-var.js +203 -0
- package/dist/esm/operations/mrt/env-var.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +4 -4
- package/dist/esm/operations/mrt/index.js +2 -2
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/push.d.ts +202 -0
- package/dist/esm/operations/mrt/push.js +280 -0
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/safety/safety-guard.d.ts +1 -0
- package/dist/esm/safety/safety-guard.js +2 -1
- package/dist/esm/safety/safety-guard.js.map +1 -1
- package/dist/esm/safety/types.d.ts +2 -2
- package/dist/esm/scapi/index.d.ts +2 -2
- package/dist/esm/scapi/request.d.ts +13 -0
- package/dist/esm/scapi/request.js +49 -15
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +7 -0
- package/dist/esm/scapi/runtime.js +31 -1
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/skills/sources.js +8 -0
- package/dist/esm/skills/sources.js.map +1 -1
- package/dist/esm/skills/types.d.ts +1 -1
- package/dist/esm/test-utils/config-isolation.js +2 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/package.json +2 -2
- package/specs/storefront-environments-v1.yaml +272 -0
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
*/
|
|
42
42
|
export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
|
|
43
43
|
export type { CreateBundleOptions, Bundle, MrtServerConfig, CreateBundleV2Options, BundleV2, BundleV2Config, BundleV2Metadata, BundleV2MatchMode, } from './bundle.js';
|
|
44
|
-
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
|
|
45
|
-
export type { PushOptions, PushResult, PushV2Options, PushV2Result, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, } from './push.js';
|
|
46
|
-
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
|
|
47
|
-
export type { EnvVarOptions, SetEnvVarOptions, SetEnvVarsOptions, DeleteEnvVarOptions, ListEnvVarsResult, EnvironmentVariable, } from './env-var.js';
|
|
44
|
+
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, listBundlesScapi, uploadBundleScapi, listMrtBundles, pushMrtBundle, normalizeLegacyBundle, normalizeScapiBundle, } from './push.js';
|
|
45
|
+
export type { PushOptions, PushResult, PushV2Options, PushV2Result, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, MrtBundleView, MrtBundlesView, ListMrtBundlesBackendOptions, UploadBundleScapiResult, PushMrtBundleBackendOptions, MrtPushResultView, } from './push.js';
|
|
46
|
+
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar, getEnvironmentVariablesScapi, updateEnvironmentVariablesScapi, listEnvVarsWithBackend, setEnvVarWithBackend, setEnvVarsWithBackend, deleteEnvVarWithBackend, normalizeLegacyEnvVar, normalizeEnvVarScapi, } from './env-var.js';
|
|
47
|
+
export type { EnvVarOptions, SetEnvVarOptions, SetEnvVarsOptions, DeleteEnvVarOptions, ListEnvVarsResult, EnvironmentVariable, MrtEnvVarView, MrtEnvVarsView, MrtEnvVarWriteResult, EnvVarBackendOptions, SetEnvVarBackendOptions, SetEnvVarsBackendOptions, DeleteEnvVarBackendOptions, } from './env-var.js';
|
|
48
48
|
export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
|
|
49
49
|
export type { CloneEnvOptions, CreateEnvOptions, DeleteEnvOptions, GetEnvOptions, WaitForEnvOptions, WaitForEnvPollInfo, ListEnvsOptions, ListEnvsResult, UpdateEnvOptions, MrtEnvironment, MrtEnvironmentState, MrtEnvironmentUpdate, PatchedMrtEnvironment, } from './env.js';
|
|
50
50
|
export { listDeployments, createDeployment, listDeploymentsScapi, createDeploymentScapi, getDeploymentScapi, waitForDeploymentScapi, listMrtDeployments, deployMrtBundle, normalizeLegacyDeployment, normalizeDeploymentScapi, } from './deployment.js';
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
// Bundle creation
|
|
48
48
|
export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
|
|
49
49
|
// Push and bundle operations
|
|
50
|
-
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
|
|
50
|
+
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, listBundlesScapi, uploadBundleScapi, listMrtBundles, pushMrtBundle, normalizeLegacyBundle, normalizeScapiBundle, } from './push.js';
|
|
51
51
|
// Environment variable operations
|
|
52
|
-
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
|
|
52
|
+
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar, getEnvironmentVariablesScapi, updateEnvironmentVariablesScapi, listEnvVarsWithBackend, setEnvVarWithBackend, setEnvVarsWithBackend, deleteEnvVarWithBackend, normalizeLegacyEnvVar, normalizeEnvVarScapi, } from './env-var.js';
|
|
53
53
|
// Environment (target) operations
|
|
54
54
|
export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
|
|
55
55
|
// Deployment operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAYrB,6BAA6B;AAC7B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { AuthStrategy } from '../../auth/types.js';
|
|
9
9
|
import type { MrtClient, components } from '../../clients/mrt.js';
|
|
10
|
+
import { type Bundle as BundleScapi, type BundleUploadResponse } from '../../clients/storefront-deployments.js';
|
|
10
11
|
import type { CreateBundleOptions, Bundle, BundleV2, CreateBundleV2Options } from './bundle.js';
|
|
12
|
+
import { type MrtBackend, type MrtBackendPreference, type ScapiMrtConnection } from './mrt-backend.js';
|
|
11
13
|
/**
|
|
12
14
|
* Options for pushing a bundle to MRT.
|
|
13
15
|
*/
|
|
@@ -374,3 +376,203 @@ export interface BulkDeleteBundlesResult {
|
|
|
374
376
|
* @throws Error if the request itself fails
|
|
375
377
|
*/
|
|
376
378
|
export declare function bulkDeleteBundles(options: BulkDeleteBundlesOptions, auth: AuthStrategy): Promise<BulkDeleteBundlesResult>;
|
|
379
|
+
/**
|
|
380
|
+
* A single bundle list row, normalized across the legacy and SCAPI backends so
|
|
381
|
+
* the CLI table renders one shape regardless of backend.
|
|
382
|
+
*
|
|
383
|
+
* Status is kept **raw** per backend (legacy numeric enum `0 | 1 | 2`, SCAPI
|
|
384
|
+
* string enum `"ok"` / `"broken"` / `"preparing"`) so display doesn't silently
|
|
385
|
+
* change for existing legacy users.
|
|
386
|
+
*/
|
|
387
|
+
export interface MrtBundleView {
|
|
388
|
+
/** Numeric bundle identifier. */
|
|
389
|
+
id?: number;
|
|
390
|
+
/** Human-readable bundle message/description. */
|
|
391
|
+
message?: string;
|
|
392
|
+
/** Raw backend status string. */
|
|
393
|
+
status?: string | number;
|
|
394
|
+
/** Email of the user who uploaded the bundle. */
|
|
395
|
+
user?: string;
|
|
396
|
+
/** Creation timestamp (ISO 8601). */
|
|
397
|
+
created?: string;
|
|
398
|
+
/** Backend that produced this row. */
|
|
399
|
+
backend: MrtBackend;
|
|
400
|
+
}
|
|
401
|
+
/** Normalizes a legacy MRT bundle list item into an {@link MrtBundleView}. */
|
|
402
|
+
export declare function normalizeLegacyBundle(bundle: MrtBundle): MrtBundleView;
|
|
403
|
+
/** Normalizes a SCAPI MRT {@link BundleScapi} into an {@link MrtBundleView}. */
|
|
404
|
+
export declare function normalizeScapiBundle(bundle: BundleScapi): MrtBundleView;
|
|
405
|
+
/**
|
|
406
|
+
* Lists bundles for a storefront via the SCAPI MRT Deployments API.
|
|
407
|
+
*
|
|
408
|
+
* Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
|
|
409
|
+
* provided (the response echoes the full `total`), mirroring the legacy list and
|
|
410
|
+
* {@link listDeploymentsScapi}.
|
|
411
|
+
*
|
|
412
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
413
|
+
*/
|
|
414
|
+
export declare function listBundlesScapi(conn: ScapiMrtConnection, params: {
|
|
415
|
+
storefrontId: string;
|
|
416
|
+
limit?: number;
|
|
417
|
+
offset?: number;
|
|
418
|
+
}): Promise<{
|
|
419
|
+
bundles: MrtBundleView[];
|
|
420
|
+
count: number;
|
|
421
|
+
raw: unknown;
|
|
422
|
+
}>;
|
|
423
|
+
/** Result of a SCAPI bundle upload. */
|
|
424
|
+
export interface UploadBundleScapiResult {
|
|
425
|
+
/** Numeric bundle identifier assigned by SCAPI. */
|
|
426
|
+
bundleId: number;
|
|
427
|
+
/** Non-blocking warnings returned during bundle processing. */
|
|
428
|
+
warnings: string[];
|
|
429
|
+
/** Server-computed ssrOnly/ssrShared file matches. */
|
|
430
|
+
matches: Record<string, unknown>;
|
|
431
|
+
/** Raw, backend-native upload response, surfaced verbatim under `--json`. */
|
|
432
|
+
raw: BundleUploadResponse;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Uploads a pre-built v2 bundle archive to a storefront via the SCAPI MRT
|
|
436
|
+
* Deployments API as multipart/form-data.
|
|
437
|
+
*
|
|
438
|
+
* The multipart payload mirrors the legacy {@link uploadBundleV2} exactly (same
|
|
439
|
+
* `bundle`/`message`/`rootDir`/`configPath`/`matchMode` fields), so a bundle
|
|
440
|
+
* built with {@link createBundleV2} uploads identically on either backend. As
|
|
441
|
+
* with the legacy path, openapi-fetch passes the `FormData` body through
|
|
442
|
+
* unchanged and lets fetch set the multipart Content-Type + boundary.
|
|
443
|
+
*
|
|
444
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
445
|
+
*/
|
|
446
|
+
export declare function uploadBundleScapi(conn: ScapiMrtConnection, params: {
|
|
447
|
+
storefrontId: string;
|
|
448
|
+
bundle: BundleV2;
|
|
449
|
+
}): Promise<UploadBundleScapiResult>;
|
|
450
|
+
/** Options for {@link listMrtBundles}. */
|
|
451
|
+
export interface ListMrtBundlesBackendOptions {
|
|
452
|
+
/** Resolved `--mrt-backend` preference. */
|
|
453
|
+
preference: MrtBackendPreference;
|
|
454
|
+
/** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
|
|
455
|
+
scapiConnection?: ScapiMrtConnection;
|
|
456
|
+
/** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
|
|
457
|
+
legacyAuth?: AuthStrategy;
|
|
458
|
+
/** Project slug (= SCAPI storefront ID). */
|
|
459
|
+
projectSlug: string;
|
|
460
|
+
/** Maximum results per page (forwarded to both backends). */
|
|
461
|
+
limit?: number;
|
|
462
|
+
/** Pagination offset (forwarded to both backends). */
|
|
463
|
+
offset?: number;
|
|
464
|
+
/** Legacy MRT API origin. */
|
|
465
|
+
origin?: string;
|
|
466
|
+
/** Invoked when `auto` falls back from SCAPI to legacy. */
|
|
467
|
+
onFallback?: (reason: string) => void;
|
|
468
|
+
/** Invoked with the backend that serves the call (for `-D` debug). */
|
|
469
|
+
onResolve?: (backend: MrtBackend) => void;
|
|
470
|
+
}
|
|
471
|
+
/** Backend-neutral bundle list result. */
|
|
472
|
+
export interface MrtBundlesView {
|
|
473
|
+
/** Backend that served the list. */
|
|
474
|
+
backend: MrtBackend;
|
|
475
|
+
/** Total count reported by the backend. */
|
|
476
|
+
count: number;
|
|
477
|
+
/** Normalized bundle rows, consumed by the CLI table. */
|
|
478
|
+
bundles: MrtBundleView[];
|
|
479
|
+
/**
|
|
480
|
+
* The raw, backend-native list response, surfaced verbatim under `--json` so
|
|
481
|
+
* each backend keeps its original machine contract (legacy: the MRT Cloud API
|
|
482
|
+
* list shape — `count`/`next`/`previous`/`bundles`; SCAPI: the Storefront
|
|
483
|
+
* Deployments response — `data`/`total`). The normalized {@link bundles} feed
|
|
484
|
+
* the human table only.
|
|
485
|
+
*/
|
|
486
|
+
raw: unknown;
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Lists bundles, routing to the SCAPI or legacy backend per the given
|
|
490
|
+
* preference (with safe `auto` fallback). Returns normalized rows.
|
|
491
|
+
*/
|
|
492
|
+
export declare function listMrtBundles(options: ListMrtBundlesBackendOptions): Promise<MrtBundlesView>;
|
|
493
|
+
/** Options for {@link pushMrtBundle}. */
|
|
494
|
+
export interface PushMrtBundleBackendOptions {
|
|
495
|
+
/** Resolved `--mrt-backend` preference. */
|
|
496
|
+
preference: MrtBackendPreference;
|
|
497
|
+
/** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
|
|
498
|
+
scapiConnection?: ScapiMrtConnection;
|
|
499
|
+
/** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
|
|
500
|
+
legacyAuth?: AuthStrategy;
|
|
501
|
+
/** Project slug (= SCAPI storefront ID). */
|
|
502
|
+
projectSlug: string;
|
|
503
|
+
/** Target/environment slug (= SCAPI environment ID). When omitted, the bundle is uploaded but not deployed. */
|
|
504
|
+
targetSlug?: string;
|
|
505
|
+
/** Bundle message/description. */
|
|
506
|
+
message?: string;
|
|
507
|
+
/** SSR runtime parameters. */
|
|
508
|
+
ssrParameters?: Record<string, unknown>;
|
|
509
|
+
/** Glob patterns for server-only files. */
|
|
510
|
+
ssrOnly?: string[];
|
|
511
|
+
/** Glob patterns for files shared between server and client. */
|
|
512
|
+
ssrShared?: string[];
|
|
513
|
+
/** Build output directory. */
|
|
514
|
+
buildDirectory?: string;
|
|
515
|
+
/** Directory to read `config.server.{ts,js}` from. */
|
|
516
|
+
projectDirectory?: string;
|
|
517
|
+
/** v2 archive root directory (v2 uploads only). */
|
|
518
|
+
rootDir?: string;
|
|
519
|
+
/** v2 in-archive config path (v2 uploads only). */
|
|
520
|
+
configPath?: string;
|
|
521
|
+
/** v2 match mode (v2 uploads only). */
|
|
522
|
+
matchMode?: BundleV2['matchMode'];
|
|
523
|
+
/**
|
|
524
|
+
* Use the v2 bundle format/endpoint. SCAPI is always v2 (this flag is
|
|
525
|
+
* redundant there). Legacy defaults to v1; set this to route the legacy push
|
|
526
|
+
* through the v2 endpoint so the `rootDir`/`configPath`/`matchMode` options
|
|
527
|
+
* take effect.
|
|
528
|
+
*/
|
|
529
|
+
v2?: boolean;
|
|
530
|
+
/** Legacy MRT API origin. */
|
|
531
|
+
origin?: string;
|
|
532
|
+
/** Invoked when `auto` falls back from SCAPI to legacy. */
|
|
533
|
+
onFallback?: (reason: string) => void;
|
|
534
|
+
/** Invoked with the backend that serves the call (for `-D` debug). */
|
|
535
|
+
onResolve?: (backend: MrtBackend) => void;
|
|
536
|
+
}
|
|
537
|
+
/** Backend-neutral local-build push result. */
|
|
538
|
+
export interface MrtPushResultView {
|
|
539
|
+
/** Backend that served the push (pins the `--wait` strategy). */
|
|
540
|
+
backend: MrtBackend;
|
|
541
|
+
/** Bundle that was uploaded. */
|
|
542
|
+
bundleId: number;
|
|
543
|
+
/** Resolved bundle message/description (the auto-generated default when none was given). */
|
|
544
|
+
message?: string;
|
|
545
|
+
/** Whether the bundle was also deployed (a target was provided). */
|
|
546
|
+
deployed: boolean;
|
|
547
|
+
/** SCAPI deployment UUID for `--wait` polling; undefined for legacy or upload-only. */
|
|
548
|
+
deploymentId?: string;
|
|
549
|
+
/** Initial deployment status; undefined for upload-only. */
|
|
550
|
+
status?: string;
|
|
551
|
+
/** Non-blocking warnings returned by the backend. */
|
|
552
|
+
warnings?: string[];
|
|
553
|
+
/**
|
|
554
|
+
* The raw, backend-native response, surfaced verbatim under `--json`. Legacy:
|
|
555
|
+
* the combined MRT Cloud API push result. SCAPI: `{bundle, deployment?}` — the
|
|
556
|
+
* upload response plus, when a target was given, the create-deployment
|
|
557
|
+
* response (the two native calls that make up a SCAPI local-build deploy).
|
|
558
|
+
*/
|
|
559
|
+
raw: unknown;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Builds a bundle from a local build and pushes it, routing to the SCAPI or
|
|
563
|
+
* legacy backend per the given preference (with safe `auto` fallback). When a
|
|
564
|
+
* `targetSlug` is given the bundle is also deployed; otherwise it is uploaded
|
|
565
|
+
* only. The returned `backend` pins which `--wait` strategy the caller uses.
|
|
566
|
+
*
|
|
567
|
+
* **Bundle format:** SCAPI always uploads the v2 format. Legacy defaults to the
|
|
568
|
+
* v1 combined upload+deploy; set `v2` to route the legacy push through the v2
|
|
569
|
+
* endpoint instead (upload, then a separate deploy when a target is given), so
|
|
570
|
+
* the `rootDir`/`configPath`/`matchMode` options take effect on legacy too.
|
|
571
|
+
*
|
|
572
|
+
* **Fallback safety:** only the SCAPI *upload* is fallback-eligible — if it
|
|
573
|
+
* fails with a safe pre-execution error nothing was created, so `auto` retries
|
|
574
|
+
* on legacy. Once the upload succeeds a bundle exists on SCAPI, so a failure of
|
|
575
|
+
* the subsequent create-deployment is re-thrown as a plain `Error` (not a
|
|
576
|
+
* fallback trigger) to avoid re-uploading the whole build on legacy.
|
|
577
|
+
*/
|
|
578
|
+
export declare function pushMrtBundle(options: PushMrtBundleBackendOptions): Promise<MrtPushResultView>;
|
|
@@ -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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"}
|
|
@@ -4,6 +4,7 @@ import type { SafetyEvaluation, SafetyOperation, SafetyRule } from './types.js';
|
|
|
4
4
|
* Extract a job ID from a URL path if it's a job execution endpoint.
|
|
5
5
|
*
|
|
6
6
|
* Matches patterns like:
|
|
7
|
+
* - `/operation/jobs/v1/organizations/org/jobs/catalog-import/executions`
|
|
7
8
|
* - `/s/-/dw/data/v24_5/jobs/sfcc-site-archive-import/executions`
|
|
8
9
|
* - `/jobs/sfcc-site-archive-export/executions`
|
|
9
10
|
*/
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
import { Minimatch } from 'minimatch';
|
|
16
16
|
import { getLogger } from '../logging/index.js';
|
|
17
17
|
import { SafetyBlockedError, SafetyConfirmationRequired, checkLevelViolation, describeSafetyLevel, } from './safety-middleware.js';
|
|
18
|
-
/** Regex to extract job ID from OCAPI job execution URLs. */
|
|
18
|
+
/** Regex to extract job ID from SCAPI and OCAPI job execution URLs. */
|
|
19
19
|
const JOB_EXECUTION_PATTERN = /\/jobs\/([^/]+)\/executions/;
|
|
20
20
|
/**
|
|
21
21
|
* Extract a job ID from a URL path if it's a job execution endpoint.
|
|
22
22
|
*
|
|
23
23
|
* Matches patterns like:
|
|
24
|
+
* - `/operation/jobs/v1/organizations/org/jobs/catalog-import/executions`
|
|
24
25
|
* - `/s/-/dw/data/v24_5/jobs/sfcc-site-archive-import/executions`
|
|
25
26
|
* - `/jobs/sfcc-site-archive-export/executions`
|
|
26
27
|
*/
|