/** * Site operations for B2C Commerce instances. * * This module provides functions for managing site cartridge paths * on B2C Commerce instances. Operations work via OCAPI Data API with * automatic fallback to site archive import/export when OCAPI permissions * are unavailable. Business Manager (Sites-Site) is supported via the * import/export mechanism. * * ## Cartridge Path Functions * * - {@link getCartridgePath} - Get the current cartridge path for a site * - {@link addCartridge} - Add a cartridge at a specific position * - {@link removeCartridge} - Remove a cartridge from the path * - {@link setCartridgePath} - Replace the entire cartridge path * * ## Usage * * ```typescript * import {getCartridgePath, addCartridge, setCartridgePath} from '@salesforce/b2c-tooling-sdk/operations/sites'; * import {resolveConfig} from '@salesforce/b2c-tooling-sdk/config'; * * const config = resolveConfig(); * const instance = config.createB2CInstance(); * * // List cartridge path * const result = await getCartridgePath(instance, 'RefArch'); * console.log(result.cartridgeList); * * // Add a cartridge * await addCartridge(instance, 'RefArch', { name: 'my_cartridge', position: 'first' }); * * // Business Manager * await addCartridge(instance, 'Sites-Site', { name: 'bm_ext', position: 'first' }); * ``` * * ## Authentication * * Cartridge path operations require OAuth authentication. For OCAPI direct updates, * grant POST/PUT/DELETE on `/sites/∗/cartridges`. For import/export fallback, * grant job execution permissions and WebDAV write access. * * @module operations/sites */ export { getCartridgePath, addCartridge, removeCartridge, setCartridgePath, BM_SITE_ID } from './cartridges.js'; export type { CartridgePathResult, AddCartridgeOptions, CartridgePosition, CartridgeUpdateOptions, } from './cartridges.js';