{
  "version": 3,
  "sources": ["../../src/errors/upgrade.errors.ts", "../../src/errors/version.errors.ts", "../../src/helpers/crypto.helpers.ts", "../../src/helpers/package.helpers.ts", "../../src/helpers/version.helpers.ts", "../../src/helpers/wasm.helpers.ts", "../../src/api/actor.api.ts", "../../declarations/mission_control/mission_control.factory.did.js", "../../declarations/orbiter/orbiter.factory.did.js", "../../declarations/satellite/satellite-deprecated-no-scope.factory.did.js", "../../declarations/satellite/satellite-deprecated-version.factory.did.js", "../../declarations/orbiter/orbiter-deprecated-version.factory.did.js", "../../declarations/mission_control/mission_control-deprecated-version.factory.did.js", "../../declarations/satellite/satellite-deprecated.factory.did.js", "../../declarations/satellite/satellite.factory.did.js", "../../src/utils/actor.utils.ts", "../../src/api/mission-control.api.ts", "../../src/utils/controllers.utils.ts", "../../src/services/mission-control.controllers.services.ts", "../../src/services/mission-control.upgrade.services.ts", "../../src/constants/upgrade.constants.ts", "../../src/handlers/upgrade.handlers.ts", "../../src/api/ic.api.ts", "../../src/types/upgrade.types.ts", "../../src/handlers/upgrade.chunks.handlers.ts", "../../src/handlers/upgrade.single.handlers.ts", "../../src/utils/idl.utils.ts", "../../src/services/mission-control.version.services.ts", "../../src/services/package.services.ts", "../../src/services/module.upgrade.services.ts", "../../src/api/orbiter.api.ts", "../../src/services/orbiter.controllers.services.ts", "../../src/services/orbiter.memory.services.ts", "../../src/services/orbiter.upgrade.services.ts", "../../src/services/orbiter.version.services.ts", "../../src/api/satellite.api.ts", "../../src/services/satellite.assets.services.ts", "../../src/services/satellite.config.services.ts", "../../src/utils/memory.utils.ts", "../../src/services/satellite.controllers.services.ts", "../../src/services/satellite.docs.services.ts", "../../src/services/satellite.domains.services.ts", "../../src/services/satellite.memory.services.ts", "../../src/utils/rule.utils.ts", "../../src/constants/rules.constants.ts", "../../src/services/satellite.rules.services.ts", "../../src/services/satellite.upgrade.services.ts", "../../src/services/satellite.version.services.ts"],
  "sourcesContent": ["export class UpgradeCodeUnchangedError extends Error {\n  constructor() {\n    super(\n      'The Wasm code for the upgrade is identical to the code currently installed. No upgrade is necessary.'\n    );\n  }\n}\n", "import {\n  JUNO_PACKAGE_MISSION_CONTROL_ID,\n  JUNO_PACKAGE_ORBITER_ID,\n  JUNO_PACKAGE_SATELLITE_ID\n} from '@junobuild/config';\n\nexport class SatelliteMissingDependencyError extends Error {\n  constructor() {\n    super(`Invalid dependency tree: required module ${JUNO_PACKAGE_SATELLITE_ID} is missing.`);\n  }\n}\n\nexport class MissionControlVersionError extends Error {\n  constructor() {\n    super(`Invalid package: the provided module name is not ${JUNO_PACKAGE_MISSION_CONTROL_ID}.`);\n  }\n}\n\nexport class OrbiterVersionError extends Error {\n  constructor() {\n    super(`Invalid package: the provided module name is not ${JUNO_PACKAGE_ORBITER_ID}.`);\n  }\n}\n", "// Sources:\n// https://stackoverflow.com/a/70891826/5404186\n// https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest\n\nconst digestSha256 = (data: ArrayBuffer | Uint8Array<ArrayBufferLike>): Promise<ArrayBuffer> =>\n  crypto.subtle.digest('SHA-256', data);\n\nconst sha256ToHex = (hashBuffer: ArrayBuffer): string => {\n  const hashArray = Array.from(new Uint8Array(hashBuffer));\n  return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n};\n\nexport const blobSha256 = async (blob: Blob): Promise<string> => {\n  const hashBuffer = await digestSha256(await blob.arrayBuffer());\n  return sha256ToHex(hashBuffer);\n};\n\nexport const uint8ArraySha256 = async (data: Uint8Array): Promise<string> => {\n  const hashBuffer = await digestSha256(data);\n  return sha256ToHex(hashBuffer);\n};\n", "import type {JunoPackageDependencies} from '@junobuild/config';\n\n/**\n * Finds a specific dependency in a `JunoPackageDependencies` map.\n *\n * @param {Object} params - The parameters for the search.\n * @param {string} params.dependencyId - The ID of the dependency to look for.\n * @param {JunoPackageDependencies | undefined} params.dependencies - The full list of dependencies, or `undefined`.\n *\n * @returns {[string, string] | undefined} A tuple containing the dependency ID and version if found, or `undefined` if not found or no dependencies are present.\n */\nexport const findJunoPackageDependency = ({\n  dependencyId,\n  dependencies\n}: {\n  dependencyId: string;\n  dependencies: JunoPackageDependencies | undefined;\n}): [string, string] | undefined =>\n  Object.entries(dependencies ?? {}).find(([key, _]) => key === dependencyId);\n", "import {major, minor, patch} from 'semver';\n\n/**\n * Checks if the selected version can be upgraded from the current version.\n * @param {Object} params - The parameters for the version check.\n * @param {string} params.currentVersion - The current version.\n * @param {string} params.selectedVersion - The selected version.\n * @returns {Object} An object indicating whether the upgrade can proceed.\n * @returns {boolean} returns.canUpgrade - Whether the selected version can be upgraded from the current version.\n */\nexport const checkUpgradeVersion = ({\n  currentVersion,\n  selectedVersion\n}: {\n  currentVersion: string;\n  selectedVersion: string;\n}): {canUpgrade: boolean} => {\n  const currentMajor = major(currentVersion);\n  const selectedMajor = major(selectedVersion);\n  const currentMinor = minor(currentVersion);\n  const selectedMinor = minor(selectedVersion);\n  const currentPath = patch(currentVersion);\n  const selectedPath = patch(selectedVersion);\n\n  if (\n    currentMajor < selectedMajor - 1 ||\n    currentMinor < selectedMinor - 1 ||\n    currentPath < selectedPath - 1\n  ) {\n    return {canUpgrade: false};\n  }\n\n  return {canUpgrade: true};\n};\n", "import {isNullish, nonNullish} from '@dfinity/utils';\nimport {type JunoPackage, JUNO_PACKAGE_SATELLITE_ID, JunoPackageSchema} from '@junobuild/config';\nimport type {BuildType} from '../types/build.types';\nimport {findJunoPackageDependency} from './package.helpers';\n\n/**\n * Extracts the build type from a provided Juno package or falls back to a deprecated detection method.\n *\n * @param {Object} params\n * @param {JunoPackage | undefined} params.junoPackage - The parsed Juno package metadata.\n * @param {Uint8Array} params.wasm - The WASM binary to inspect if no package is provided.\n * @returns {Promise<BuildType | undefined>} The build type (`'stock'` or `'extended'`) or `undefined` if undetermined.\n */\nexport const extractBuildType = async ({\n  junoPackage,\n  wasm\n}: {\n  junoPackage: JunoPackage | undefined;\n  wasm: Uint8Array;\n}): Promise<BuildType | undefined> => {\n  if (isNullish(junoPackage)) {\n    return await readDeprecatedBuildType({wasm});\n  }\n\n  const {name, dependencies} = junoPackage;\n\n  if (name === JUNO_PACKAGE_SATELLITE_ID) {\n    return 'stock';\n  }\n\n  const satelliteDependency = findJunoPackageDependency({\n    dependencies,\n    dependencyId: JUNO_PACKAGE_SATELLITE_ID\n  });\n\n  return nonNullish(satelliteDependency) ? 'extended' : undefined;\n};\n\n/**\n * @deprecated Modern WASM build use JunoPackage.\n */\nconst readDeprecatedBuildType = async ({\n  wasm\n}: {\n  wasm: Uint8Array;\n}): Promise<BuildType | undefined> => {\n  const buildType = await customSection({wasm, sectionName: 'icp:public juno:build'});\n\n  return nonNullish(buildType) && ['stock', 'extended'].includes(buildType)\n    ? (buildType as BuildType)\n    : undefined;\n};\n\n/**\n * Reads and parses the Juno package from the custom section of a WASM binary.\n *\n * @param {Object} params\n * @param {Uint8Array} params.wasm - The WASM binary containing the embedded custom section.\n * @returns {Promise<JunoPackage | undefined>} The parsed Juno package if present and valid, otherwise `undefined`.\n */\nexport const readCustomSectionJunoPackage = async ({\n  wasm\n}: {\n  wasm: Uint8Array;\n}): Promise<JunoPackage | undefined> => {\n  const section = await customSection({wasm, sectionName: 'icp:public juno:package'});\n\n  if (isNullish(section)) {\n    return undefined;\n  }\n\n  const pkg = JSON.parse(section);\n\n  const {success, data} = JunoPackageSchema.safeParse(pkg);\n  return success ? data : undefined;\n};\n\nconst customSection = async ({\n  sectionName,\n  wasm\n}: {\n  sectionName: string;\n  wasm: Uint8Array;\n}): Promise<string | undefined> => {\n  const wasmModule = await WebAssembly.compile(wasm);\n\n  const pkgSections = WebAssembly.Module.customSections(wasmModule, sectionName);\n\n  const [pkgBuffer] = pkgSections;\n\n  return nonNullish(pkgBuffer) ? new TextDecoder().decode(pkgBuffer) : undefined;\n};\n", "import type {IDL} from '@dfinity/candid';\nimport {isNullish} from '@dfinity/utils';\nimport type {_SERVICE as DeprecatedMissionControlVersionActor} from '../../declarations/mission_control/mission_control-deprecated-version.did';\nimport type {_SERVICE as MissionControlActor} from '../../declarations/mission_control/mission_control.did';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlFactoryMissionControl} from '../../declarations/mission_control/mission_control.factory.did.js';\nimport type {_SERVICE as DeprecatedOrbiterVersionActor} from '../../declarations/orbiter/orbiter-deprecated-version.did';\nimport type {_SERVICE as OrbiterActor} from '../../declarations/orbiter/orbiter.did';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlFactoryOrbiter} from '../../declarations/orbiter/orbiter.factory.did.js';\nimport type {_SERVICE as DeprecatedSatelliteNoScopeActor} from '../../declarations/satellite/satellite-deprecated-no-scope.did';\nimport type {_SERVICE as DeprecatedSatelliteVersionActor} from '../../declarations/satellite/satellite-deprecated-version.did';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlDeprecatedFactorySatelliteNoScope} from '../../declarations/satellite/satellite-deprecated-no-scope.factory.did.js';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlDeprecatedFactorySatelliteVersion} from '../../declarations/satellite/satellite-deprecated-version.factory.did.js';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlDeprecatedFactoryOrbiterVersion} from '../../declarations/orbiter/orbiter-deprecated-version.factory.did.js';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlDeprecatedFactoryMissionControlVersion} from '../../declarations/mission_control/mission_control-deprecated-version.factory.did.js';\nimport type {_SERVICE as DeprecatedSatelliteActor} from '../../declarations/satellite/satellite-deprecated.did';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlDeprecatedFactorySatellite} from '../../declarations/satellite/satellite-deprecated.factory.did.js';\nimport type {_SERVICE as SatelliteActor} from '../../declarations/satellite/satellite.did';\n// eslint-disable-next-line import/no-relative-parent-imports\nimport {idlFactory as idlFactorySatellite} from '../../declarations/satellite/satellite.factory.did.js';\nimport type {\n  ActorParameters,\n  MissionControlParameters,\n  OrbiterParameters,\n  SatelliteParameters\n} from '../types/actor.types';\nimport {createActor} from '../utils/actor.utils';\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const getDeprecatedSatelliteActor = ({\n  satelliteId,\n  ...rest\n}: SatelliteParameters): Promise<DeprecatedSatelliteActor> =>\n  getActor({\n    canisterId: satelliteId,\n    ...rest,\n    idlFactory: idlDeprecatedFactorySatellite\n  });\n\nexport const getSatelliteActor = ({\n  satelliteId,\n  ...rest\n}: SatelliteParameters): Promise<SatelliteActor> =>\n  getActor({\n    canisterId: satelliteId,\n    ...rest,\n    idlFactory: idlFactorySatellite\n  });\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const getDeprecatedSatelliteNoScopeActor = ({\n  satelliteId,\n  ...rest\n}: SatelliteParameters): Promise<DeprecatedSatelliteNoScopeActor> =>\n  getActor({\n    canisterId: satelliteId,\n    ...rest,\n    idlFactory: idlDeprecatedFactorySatelliteNoScope\n  });\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const getDeprecatedSatelliteVersionActor = ({\n  satelliteId,\n  ...rest\n}: SatelliteParameters): Promise<DeprecatedSatelliteVersionActor> =>\n  getActor({\n    canisterId: satelliteId,\n    ...rest,\n    idlFactory: idlDeprecatedFactorySatelliteVersion\n  });\n\nexport const getMissionControlActor = ({\n  missionControlId,\n  ...rest\n}: MissionControlParameters): Promise<MissionControlActor> =>\n  getActor({\n    canisterId: missionControlId,\n    ...rest,\n    idlFactory: idlFactoryMissionControl\n  });\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const getDeprecatedMissionControlVersionActor = ({\n  missionControlId,\n  ...rest\n}: MissionControlParameters): Promise<DeprecatedMissionControlVersionActor> =>\n  getActor({\n    canisterId: missionControlId,\n    ...rest,\n    idlFactory: idlDeprecatedFactoryMissionControlVersion\n  });\n\nexport const getOrbiterActor = ({orbiterId, ...rest}: OrbiterParameters): Promise<OrbiterActor> =>\n  getActor({\n    canisterId: orbiterId,\n    ...rest,\n    idlFactory: idlFactoryOrbiter\n  });\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const getDeprecatedOrbiterVersionActor = ({\n  orbiterId,\n  ...rest\n}: OrbiterParameters): Promise<DeprecatedOrbiterVersionActor> =>\n  getActor({\n    canisterId: orbiterId,\n    ...rest,\n    idlFactory: idlDeprecatedFactoryOrbiterVersion\n  });\n\nexport const getActor = <T>({\n  canisterId,\n  idlFactory,\n  ...rest\n}: ActorParameters & {\n  canisterId: string | undefined;\n  idlFactory: IDL.InterfaceFactory;\n}): Promise<T> => {\n  if (isNullish(canisterId)) {\n    throw new Error('No canister ID provided.');\n  }\n\n  return createActor({\n    canisterId,\n    idlFactory,\n    ...rest\n  });\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const CyclesThreshold = IDL.Record({\n    fund_cycles: IDL.Nat,\n    min_cycles: IDL.Nat\n  });\n  const CyclesMonitoringStrategy = IDL.Variant({\n    BelowThreshold: CyclesThreshold\n  });\n  const CyclesMonitoring = IDL.Record({\n    strategy: IDL.Opt(CyclesMonitoringStrategy),\n    enabled: IDL.Bool\n  });\n  const Monitoring = IDL.Record({cycles: IDL.Opt(CyclesMonitoring)});\n  const Settings = IDL.Record({monitoring: IDL.Opt(Monitoring)});\n  const Orbiter = IDL.Record({\n    updated_at: IDL.Nat64,\n    orbiter_id: IDL.Principal,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    settings: IDL.Opt(Settings)\n  });\n  const CreateCanisterConfig = IDL.Record({\n    subnet_id: IDL.Opt(IDL.Principal),\n    name: IDL.Opt(IDL.Text)\n  });\n  const Satellite = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    settings: IDL.Opt(Settings)\n  });\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const DepositedCyclesEmailNotification = IDL.Record({\n    to: IDL.Opt(IDL.Text),\n    enabled: IDL.Bool\n  });\n  const CyclesMonitoringConfig = IDL.Record({\n    notification: IDL.Opt(DepositedCyclesEmailNotification),\n    default_strategy: IDL.Opt(CyclesMonitoringStrategy)\n  });\n  const MonitoringConfig = IDL.Record({\n    cycles: IDL.Opt(CyclesMonitoringConfig)\n  });\n  const Config = IDL.Record({monitoring: IDL.Opt(MonitoringConfig)});\n  const GetMonitoringHistory = IDL.Record({\n    to: IDL.Opt(IDL.Nat64),\n    from: IDL.Opt(IDL.Nat64),\n    segment_id: IDL.Principal\n  });\n  const MonitoringHistoryKey = IDL.Record({\n    segment_id: IDL.Principal,\n    created_at: IDL.Nat64,\n    nonce: IDL.Int32\n  });\n  const CyclesBalance = IDL.Record({\n    timestamp: IDL.Nat64,\n    amount: IDL.Nat\n  });\n  const FundingErrorCode = IDL.Variant({\n    BalanceCheckFailed: IDL.Null,\n    ObtainCyclesFailed: IDL.Null,\n    DepositFailed: IDL.Null,\n    InsufficientCycles: IDL.Null,\n    Other: IDL.Text\n  });\n  const FundingFailure = IDL.Record({\n    timestamp: IDL.Nat64,\n    error_code: FundingErrorCode\n  });\n  const MonitoringHistoryCycles = IDL.Record({\n    deposited_cycles: IDL.Opt(CyclesBalance),\n    cycles: CyclesBalance,\n    funding_failure: IDL.Opt(FundingFailure)\n  });\n  const MonitoringHistory = IDL.Record({\n    cycles: IDL.Opt(MonitoringHistoryCycles)\n  });\n  const CyclesMonitoringStatus = IDL.Record({\n    monitored_ids: IDL.Vec(IDL.Principal),\n    running: IDL.Bool\n  });\n  const MonitoringStatus = IDL.Record({\n    cycles: IDL.Opt(CyclesMonitoringStatus)\n  });\n  const MissionControlSettings = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    monitoring: IDL.Opt(Monitoring)\n  });\n  const User = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    user: IDL.Opt(IDL.Principal),\n    created_at: IDL.Nat64,\n    config: IDL.Opt(Config)\n  });\n  const Tokens = IDL.Record({e8s: IDL.Nat64});\n  const Timestamp = IDL.Record({timestamp_nanos: IDL.Nat64});\n  const TransferArgs = IDL.Record({\n    to: IDL.Vec(IDL.Nat8),\n    fee: Tokens,\n    memo: IDL.Nat64,\n    from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    created_at_time: IDL.Opt(Timestamp),\n    amount: Tokens\n  });\n  const TransferError = IDL.Variant({\n    TxTooOld: IDL.Record({allowed_window_nanos: IDL.Nat64}),\n    BadFee: IDL.Record({expected_fee: Tokens}),\n    TxDuplicate: IDL.Record({duplicate_of: IDL.Nat64}),\n    TxCreatedInFuture: IDL.Null,\n    InsufficientFunds: IDL.Record({balance: Tokens})\n  });\n  const Result = IDL.Variant({Ok: IDL.Nat64, Err: TransferError});\n  const Account = IDL.Record({\n    owner: IDL.Principal,\n    subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n  });\n  const TransferArg = IDL.Record({\n    to: Account,\n    fee: IDL.Opt(IDL.Nat),\n    memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    created_at_time: IDL.Opt(IDL.Nat64),\n    amount: IDL.Nat\n  });\n  const TransferError_1 = IDL.Variant({\n    GenericError: IDL.Record({\n      message: IDL.Text,\n      error_code: IDL.Nat\n    }),\n    TemporarilyUnavailable: IDL.Null,\n    BadBurn: IDL.Record({min_burn_amount: IDL.Nat}),\n    Duplicate: IDL.Record({duplicate_of: IDL.Nat}),\n    BadFee: IDL.Record({expected_fee: IDL.Nat}),\n    CreatedInFuture: IDL.Record({ledger_time: IDL.Nat64}),\n    TooOld: IDL.Null,\n    InsufficientFunds: IDL.Record({balance: IDL.Nat})\n  });\n  const Result_1 = IDL.Variant({Ok: IDL.Nat, Err: TransferError_1});\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null,\n    Submit: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SegmentsMonitoringStrategy = IDL.Record({\n    ids: IDL.Vec(IDL.Principal),\n    strategy: CyclesMonitoringStrategy\n  });\n  const CyclesMonitoringStartConfig = IDL.Record({\n    orbiters_strategy: IDL.Opt(SegmentsMonitoringStrategy),\n    mission_control_strategy: IDL.Opt(CyclesMonitoringStrategy),\n    satellites_strategy: IDL.Opt(SegmentsMonitoringStrategy)\n  });\n  const MonitoringStartConfig = IDL.Record({\n    cycles_config: IDL.Opt(CyclesMonitoringStartConfig)\n  });\n  const CyclesMonitoringStopConfig = IDL.Record({\n    satellite_ids: IDL.Opt(IDL.Vec(IDL.Principal)),\n    try_mission_control: IDL.Opt(IDL.Bool),\n    orbiter_ids: IDL.Opt(IDL.Vec(IDL.Principal))\n  });\n  const MonitoringStopConfig = IDL.Record({\n    cycles_config: IDL.Opt(CyclesMonitoringStopConfig)\n  });\n  return IDL.Service({\n    add_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    add_satellites_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    create_orbiter: IDL.Func([IDL.Opt(IDL.Text)], [Orbiter], []),\n    create_orbiter_with_config: IDL.Func([CreateCanisterConfig], [Orbiter], []),\n    create_satellite: IDL.Func([IDL.Text], [Satellite], []),\n    create_satellite_with_config: IDL.Func([CreateCanisterConfig], [Satellite], []),\n    del_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    del_orbiter: IDL.Func([IDL.Principal, IDL.Nat], [], []),\n    del_orbiters_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    del_satellite: IDL.Func([IDL.Principal, IDL.Nat], [], []),\n    del_satellites_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_config: IDL.Func([], [IDL.Opt(Config)], ['query']),\n    get_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], ['query']),\n    get_monitoring_history: IDL.Func(\n      [GetMonitoringHistory],\n      [IDL.Vec(IDL.Tuple(MonitoringHistoryKey, MonitoringHistory))],\n      ['query']\n    ),\n    get_monitoring_status: IDL.Func([], [MonitoringStatus], ['query']),\n    get_settings: IDL.Func([], [IDL.Opt(MissionControlSettings)], ['query']),\n    get_user: IDL.Func([], [IDL.Principal], ['query']),\n    get_user_data: IDL.Func([], [User], ['query']),\n    icp_transfer: IDL.Func([TransferArgs], [Result], []),\n    icrc_transfer: IDL.Func([IDL.Principal, TransferArg], [Result_1], []),\n    list_mission_control_controllers: IDL.Func(\n      [],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      ['query']\n    ),\n    list_orbiters: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Orbiter))], ['query']),\n    list_satellites: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Satellite))], ['query']),\n    remove_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    remove_satellites_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)],\n      [],\n      []\n    ),\n    set_config: IDL.Func([IDL.Opt(Config)], [], []),\n    set_metadata: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n    set_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal), SetController], [], []),\n    set_orbiter: IDL.Func([IDL.Principal, IDL.Opt(IDL.Text)], [Orbiter], []),\n    set_orbiter_metadata: IDL.Func(\n      [IDL.Principal, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [Orbiter],\n      []\n    ),\n    set_orbiters_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal), SetController],\n      [],\n      []\n    ),\n    set_satellite: IDL.Func([IDL.Principal, IDL.Opt(IDL.Text)], [Satellite], []),\n    set_satellite_metadata: IDL.Func(\n      [IDL.Principal, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [Satellite],\n      []\n    ),\n    set_satellites_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal), SetController],\n      [],\n      []\n    ),\n    start_monitoring: IDL.Func([], [], []),\n    stop_monitoring: IDL.Func([], [], []),\n    top_up: IDL.Func([IDL.Principal, Tokens], [], []),\n    unset_orbiter: IDL.Func([IDL.Principal], [], []),\n    unset_satellite: IDL.Func([IDL.Principal], [], []),\n    update_and_start_monitoring: IDL.Func([MonitoringStartConfig], [], []),\n    update_and_stop_monitoring: IDL.Func([MonitoringStopConfig], [], [])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null,\n    Submit: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelSatelliteConfig = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const GetAnalytics = IDL.Record({\n    to: IDL.Opt(IDL.Nat64),\n    from: IDL.Opt(IDL.Nat64),\n    satellite_id: IDL.Opt(IDL.Principal)\n  });\n  const AnalyticKey = IDL.Record({\n    key: IDL.Text,\n    collected_at: IDL.Nat64\n  });\n  const PageViewClient = IDL.Record({\n    os: IDL.Text,\n    device: IDL.Opt(IDL.Text),\n    browser: IDL.Text\n  });\n  const PageViewCampaign = IDL.Record({\n    utm_content: IDL.Opt(IDL.Text),\n    utm_medium: IDL.Opt(IDL.Text),\n    utm_source: IDL.Text,\n    utm_term: IDL.Opt(IDL.Text),\n    utm_campaign: IDL.Opt(IDL.Text)\n  });\n  const PageViewDevice = IDL.Record({\n    inner_height: IDL.Nat16,\n    screen_height: IDL.Opt(IDL.Nat16),\n    screen_width: IDL.Opt(IDL.Nat16),\n    inner_width: IDL.Nat16\n  });\n  const PageView = IDL.Record({\n    client: IDL.Opt(PageViewClient),\n    title: IDL.Text,\n    updated_at: IDL.Nat64,\n    referrer: IDL.Opt(IDL.Text),\n    time_zone: IDL.Text,\n    session_id: IDL.Text,\n    campaign: IDL.Opt(PageViewCampaign),\n    href: IDL.Text,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    device: PageViewDevice,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const AnalyticsBrowsersPageViews = IDL.Record({\n    safari: IDL.Float64,\n    opera: IDL.Float64,\n    others: IDL.Float64,\n    firefox: IDL.Float64,\n    chrome: IDL.Float64\n  });\n  const AnalyticsOperatingSystemsPageViews = IDL.Record({\n    ios: IDL.Float64,\n    macos: IDL.Float64,\n    others: IDL.Float64,\n    linux: IDL.Float64,\n    android: IDL.Float64,\n    windows: IDL.Float64\n  });\n  const AnalyticsDevicesPageViews = IDL.Record({\n    desktop: IDL.Float64,\n    laptop: IDL.Opt(IDL.Float64),\n    others: IDL.Float64,\n    tablet: IDL.Opt(IDL.Float64),\n    mobile: IDL.Float64\n  });\n  const AnalyticsClientsPageViews = IDL.Record({\n    browsers: AnalyticsBrowsersPageViews,\n    operating_systems: IDL.Opt(AnalyticsOperatingSystemsPageViews),\n    devices: AnalyticsDevicesPageViews\n  });\n  const CalendarDate = IDL.Record({\n    day: IDL.Nat8,\n    month: IDL.Nat8,\n    year: IDL.Int32\n  });\n  const AnalyticsMetricsPageViews = IDL.Record({\n    bounce_rate: IDL.Float64,\n    average_page_views_per_session: IDL.Float64,\n    daily_total_page_views: IDL.Vec(IDL.Tuple(CalendarDate, IDL.Nat32)),\n    total_page_views: IDL.Nat32,\n    unique_page_views: IDL.Nat64,\n    unique_sessions: IDL.Nat64\n  });\n  const AnalyticsTop10PageViews = IDL.Record({\n    referrers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),\n    pages: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),\n    utm_campaigns: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32))),\n    utm_sources: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32))),\n    time_zones: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)))\n  });\n  const NavigationType = IDL.Variant({\n    Navigate: IDL.Null,\n    Restore: IDL.Null,\n    Reload: IDL.Null,\n    BackForward: IDL.Null,\n    BackForwardCache: IDL.Null,\n    Prerender: IDL.Null\n  });\n  const WebVitalsMetric = IDL.Record({\n    id: IDL.Text,\n    value: IDL.Float64,\n    navigation_type: IDL.Opt(NavigationType),\n    delta: IDL.Float64\n  });\n  const PerformanceData = IDL.Variant({WebVitalsMetric: WebVitalsMetric});\n  const PerformanceMetricName = IDL.Variant({\n    CLS: IDL.Null,\n    FCP: IDL.Null,\n    INP: IDL.Null,\n    LCP: IDL.Null,\n    TTFB: IDL.Null\n  });\n  const PerformanceMetric = IDL.Record({\n    updated_at: IDL.Nat64,\n    session_id: IDL.Text,\n    data: PerformanceData,\n    href: IDL.Text,\n    metric_name: PerformanceMetricName,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AnalyticsWebVitalsPageMetrics = IDL.Record({\n    cls: IDL.Opt(IDL.Float64),\n    fcp: IDL.Opt(IDL.Float64),\n    inp: IDL.Opt(IDL.Float64),\n    lcp: IDL.Opt(IDL.Float64),\n    ttfb: IDL.Opt(IDL.Float64)\n  });\n  const AnalyticsWebVitalsPerformanceMetrics = IDL.Record({\n    overall: AnalyticsWebVitalsPageMetrics,\n    pages: IDL.Vec(IDL.Tuple(IDL.Text, AnalyticsWebVitalsPageMetrics))\n  });\n  const TrackEvent = IDL.Record({\n    updated_at: IDL.Nat64,\n    session_id: IDL.Text,\n    metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))),\n    name: IDL.Text,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AnalyticsTrackEvents = IDL.Record({\n    total: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32))\n  });\n  const HttpRequest = IDL.Record({\n    url: IDL.Text,\n    method: IDL.Text,\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    certificate_version: IDL.Opt(IDL.Nat16)\n  });\n  const HttpResponse = IDL.Record({\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    upgrade: IDL.Opt(IDL.Bool),\n    status_code: IDL.Nat16\n  });\n  const OrbiterSatelliteFeatures = IDL.Record({\n    performance_metrics: IDL.Bool,\n    track_events: IDL.Bool,\n    page_views: IDL.Bool\n  });\n  const OrbiterSatelliteConfig = IDL.Record({\n    updated_at: IDL.Nat64,\n    features: IDL.Opt(OrbiterSatelliteFeatures),\n    restricted_origin: IDL.Opt(IDL.Text),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetPageView = IDL.Record({\n    client: IDL.Opt(PageViewClient),\n    title: IDL.Text,\n    updated_at: IDL.Opt(IDL.Nat64),\n    referrer: IDL.Opt(IDL.Text),\n    time_zone: IDL.Text,\n    session_id: IDL.Text,\n    campaign: IDL.Opt(PageViewCampaign),\n    href: IDL.Text,\n    satellite_id: IDL.Principal,\n    device: PageViewDevice,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result = IDL.Variant({Ok: PageView, Err: IDL.Text});\n  const Result_1 = IDL.Variant({\n    Ok: IDL.Null,\n    Err: IDL.Vec(IDL.Tuple(AnalyticKey, IDL.Text))\n  });\n  const SetPerformanceMetric = IDL.Record({\n    session_id: IDL.Text,\n    data: PerformanceData,\n    href: IDL.Text,\n    metric_name: PerformanceMetricName,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result_2 = IDL.Variant({Ok: PerformanceMetric, Err: IDL.Text});\n  const SetSatelliteConfig = IDL.Record({\n    features: IDL.Opt(OrbiterSatelliteFeatures),\n    restricted_origin: IDL.Opt(IDL.Text),\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const SetTrackEvent = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    session_id: IDL.Text,\n    metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))),\n    name: IDL.Text,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result_3 = IDL.Variant({Ok: TrackEvent, Err: IDL.Text});\n  return IDL.Service({\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_satellite_config: IDL.Func([IDL.Principal, DelSatelliteConfig], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_page_views: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, PageView))],\n      ['query']\n    ),\n    get_page_views_analytics_clients: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsClientsPageViews],\n      ['query']\n    ),\n    get_page_views_analytics_metrics: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsMetricsPageViews],\n      ['query']\n    ),\n    get_page_views_analytics_top_10: IDL.Func([GetAnalytics], [AnalyticsTop10PageViews], ['query']),\n    get_performance_metrics: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, PerformanceMetric))],\n      ['query']\n    ),\n    get_performance_metrics_analytics_web_vitals: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsWebVitalsPerformanceMetrics],\n      ['query']\n    ),\n    get_track_events: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, TrackEvent))],\n      ['query']\n    ),\n    get_track_events_analytics: IDL.Func([GetAnalytics], [AnalyticsTrackEvents], ['query']),\n    http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n    http_request_update: IDL.Func([HttpRequest], [HttpResponse], []),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n    list_satellite_configs: IDL.Func(\n      [],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, OrbiterSatelliteConfig))],\n      ['query']\n    ),\n    memory_size: IDL.Func([], [MemorySize], ['query']),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_page_view: IDL.Func([AnalyticKey, SetPageView], [Result], []),\n    set_page_views: IDL.Func([IDL.Vec(IDL.Tuple(AnalyticKey, SetPageView))], [Result_1], []),\n    set_performance_metric: IDL.Func([AnalyticKey, SetPerformanceMetric], [Result_2], []),\n    set_performance_metrics: IDL.Func(\n      [IDL.Vec(IDL.Tuple(AnalyticKey, SetPerformanceMetric))],\n      [Result_1],\n      []\n    ),\n    set_satellite_configs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Principal, SetSatelliteConfig))],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, OrbiterSatelliteConfig))],\n      []\n    ),\n    set_track_event: IDL.Func([AnalyticKey, SetTrackEvent], [Result_3], []),\n    set_track_events: IDL.Func([IDL.Vec(IDL.Tuple(AnalyticKey, SetTrackEvent))], [Result_1], [])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const CommitBatch = IDL.Record({\n    batch_id: IDL.Nat,\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    chunk_ids: IDL.Vec(IDL.Nat)\n  });\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelDoc = IDL.Record({updated_at: IDL.Opt(IDL.Nat64)});\n  const StorageConfig = IDL.Record({\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))))\n  });\n  const Config = IDL.Record({storage: StorageConfig});\n  const Doc = IDL.Record({\n    updated_at: IDL.Nat64,\n    owner: IDL.Principal,\n    data: IDL.Vec(IDL.Nat8),\n    created_at: IDL.Nat64\n  });\n  const HttpRequest = IDL.Record({\n    url: IDL.Text,\n    method: IDL.Text,\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))\n  });\n  const StreamingCallbackToken = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    index: IDL.Nat64,\n    encoding_type: IDL.Text,\n    full_path: IDL.Text\n  });\n  const StreamingStrategy = IDL.Variant({\n    Callback: IDL.Record({\n      token: StreamingCallbackToken,\n      callback: IDL.Func([], [], [])\n    })\n  });\n  const HttpResponse = IDL.Record({\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    streaming_strategy: IDL.Opt(StreamingStrategy),\n    status_code: IDL.Nat16\n  });\n  const StreamingCallbackHttpResponse = IDL.Record({\n    token: IDL.Opt(StreamingCallbackToken),\n    body: IDL.Vec(IDL.Nat8)\n  });\n  const InitAssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    name: IDL.Text,\n    encoding_type: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n  const ListOrderField = IDL.Variant({\n    UpdatedAt: IDL.Null,\n    Keys: IDL.Null,\n    CreatedAt: IDL.Null\n  });\n  const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n  const ListPaginate = IDL.Record({\n    start_after: IDL.Opt(IDL.Text),\n    limit: IDL.Opt(IDL.Nat64)\n  });\n  const ListParams = IDL.Record({\n    order: IDL.Opt(ListOrder),\n    owner: IDL.Opt(IDL.Principal),\n    matcher: IDL.Opt(IDL.Text),\n    paginate: IDL.Opt(ListPaginate)\n  });\n  const AssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    owner: IDL.Principal,\n    name: IDL.Text,\n    full_path: IDL.Text\n  });\n  const AssetEncodingNoContent = IDL.Record({\n    modified: IDL.Nat64,\n    sha256: IDL.Vec(IDL.Nat8),\n    total_length: IDL.Nat\n  });\n  const AssetNoContent = IDL.Record({\n    key: AssetKey,\n    updated_at: IDL.Nat64,\n    encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64\n  });\n  const ListResults = IDL.Record({\n    matches_length: IDL.Nat64,\n    length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent))\n  });\n  const CustomDomain = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    bn_id: IDL.Opt(IDL.Text)\n  });\n  const ListResults_1 = IDL.Record({\n    matches_length: IDL.Nat64,\n    length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(IDL.Text, Doc))\n  });\n  const RulesType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n  const Permission = IDL.Variant({\n    Controllers: IDL.Null,\n    Private: IDL.Null,\n    Public: IDL.Null,\n    Managed: IDL.Null\n  });\n  const Rule = IDL.Record({\n    updated_at: IDL.Nat64,\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    created_at: IDL.Nat64,\n    write: Permission\n  });\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetDoc = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    data: IDL.Vec(IDL.Nat8)\n  });\n  const SetRule = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    write: Permission\n  });\n  const Chunk = IDL.Record({\n    content: IDL.Vec(IDL.Nat8),\n    batch_id: IDL.Nat\n  });\n  const UploadChunk = IDL.Record({chunk_id: IDL.Nat});\n  return IDL.Service({\n    commit_asset_upload: IDL.Func([CommitBatch], [], []),\n    del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n    del_assets: IDL.Func([IDL.Opt(IDL.Text)], [], []),\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_custom_domain: IDL.Func([IDL.Text], [], []),\n    del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n    get_config: IDL.Func([], [Config], []),\n    get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n    http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n    http_request_streaming_callback: IDL.Func(\n      [StreamingCallbackToken],\n      [StreamingCallbackHttpResponse],\n      ['query']\n    ),\n    init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n    list_assets: IDL.Func([IDL.Opt(IDL.Text), ListParams], [ListResults], ['query']),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n    list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n    list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n    list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),\n    set_config: IDL.Func([Config], [], []),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n    set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n    set_rule: IDL.Func([RulesType, IDL.Text, SetRule], [], []),\n    upload_asset_chunk: IDL.Func([Chunk], [UploadChunk], []),\n    version: IDL.Func([], [IDL.Text], ['query'])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const CommitBatch = IDL.Record({\n    batch_id: IDL.Nat,\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    chunk_ids: IDL.Vec(IDL.Nat)\n  });\n  const ListOrderField = IDL.Variant({\n    UpdatedAt: IDL.Null,\n    Keys: IDL.Null,\n    CreatedAt: IDL.Null\n  });\n  const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n  const TimestampMatcher = IDL.Variant({\n    Equal: IDL.Nat64,\n    Between: IDL.Tuple(IDL.Nat64, IDL.Nat64),\n    GreaterThan: IDL.Nat64,\n    LessThan: IDL.Nat64\n  });\n  const ListMatcher = IDL.Record({\n    key: IDL.Opt(IDL.Text),\n    updated_at: IDL.Opt(TimestampMatcher),\n    description: IDL.Opt(IDL.Text),\n    created_at: IDL.Opt(TimestampMatcher)\n  });\n  const ListPaginate = IDL.Record({\n    start_after: IDL.Opt(IDL.Text),\n    limit: IDL.Opt(IDL.Nat64)\n  });\n  const ListParams = IDL.Record({\n    order: IDL.Opt(ListOrder),\n    owner: IDL.Opt(IDL.Principal),\n    matcher: IDL.Opt(ListMatcher),\n    paginate: IDL.Opt(ListPaginate)\n  });\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelDoc = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const CollectionType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n  const DelRule = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const AssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    owner: IDL.Principal,\n    name: IDL.Text,\n    description: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const AssetEncodingNoContent = IDL.Record({\n    modified: IDL.Nat64,\n    sha256: IDL.Vec(IDL.Nat8),\n    total_length: IDL.Nat\n  });\n  const AssetNoContent = IDL.Record({\n    key: AssetKey,\n    updated_at: IDL.Nat64,\n    encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AuthenticationConfigInternetIdentity = IDL.Record({\n    derivation_origin: IDL.Opt(IDL.Text),\n    external_alternative_origins: IDL.Opt(IDL.Vec(IDL.Text))\n  });\n  const AuthenticationConfig = IDL.Record({\n    internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)\n  });\n  const ConfigMaxMemorySize = IDL.Record({\n    stable: IDL.Opt(IDL.Nat64),\n    heap: IDL.Opt(IDL.Nat64)\n  });\n  const DbConfig = IDL.Record({\n    max_memory_size: IDL.Opt(ConfigMaxMemorySize)\n  });\n  const StorageConfigIFrame = IDL.Variant({\n    Deny: IDL.Null,\n    AllowAny: IDL.Null,\n    SameOrigin: IDL.Null\n  });\n  const StorageConfigRawAccess = IDL.Variant({\n    Deny: IDL.Null,\n    Allow: IDL.Null\n  });\n  const StorageConfigRedirect = IDL.Record({\n    status_code: IDL.Nat16,\n    location: IDL.Text\n  });\n  const StorageConfig = IDL.Record({\n    iframe: IDL.Opt(StorageConfigIFrame),\n    rewrites: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)))),\n    max_memory_size: IDL.Opt(ConfigMaxMemorySize),\n    raw_access: IDL.Opt(StorageConfigRawAccess),\n    redirects: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, StorageConfigRedirect)))\n  });\n  const Config = IDL.Record({\n    db: IDL.Opt(DbConfig),\n    authentication: IDL.Opt(AuthenticationConfig),\n    storage: StorageConfig\n  });\n  const Doc = IDL.Record({\n    updated_at: IDL.Nat64,\n    owner: IDL.Principal,\n    data: IDL.Vec(IDL.Nat8),\n    description: IDL.Opt(IDL.Text),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const Memory = IDL.Variant({Heap: IDL.Null, Stable: IDL.Null});\n  const Permission = IDL.Variant({\n    Controllers: IDL.Null,\n    Private: IDL.Null,\n    Public: IDL.Null,\n    Managed: IDL.Null\n  });\n  const RateConfig = IDL.Record({\n    max_tokens: IDL.Nat64,\n    time_per_token_ns: IDL.Nat64\n  });\n  const Rule = IDL.Record({\n    max_capacity: IDL.Opt(IDL.Nat32),\n    memory: IDL.Opt(Memory),\n    updated_at: IDL.Nat64,\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64),\n    mutable_permissions: IDL.Opt(IDL.Bool),\n    rate_config: IDL.Opt(RateConfig),\n    write: Permission,\n    max_changes_per_user: IDL.Opt(IDL.Nat32)\n  });\n  const HttpRequest = IDL.Record({\n    url: IDL.Text,\n    method: IDL.Text,\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    certificate_version: IDL.Opt(IDL.Nat16)\n  });\n  const StreamingCallbackToken = IDL.Record({\n    memory: Memory,\n    token: IDL.Opt(IDL.Text),\n    sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    index: IDL.Nat64,\n    encoding_type: IDL.Text,\n    full_path: IDL.Text\n  });\n  const StreamingStrategy = IDL.Variant({\n    Callback: IDL.Record({\n      token: StreamingCallbackToken,\n      callback: IDL.Func([], [], ['query'])\n    })\n  });\n  const HttpResponse = IDL.Record({\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    streaming_strategy: IDL.Opt(StreamingStrategy),\n    status_code: IDL.Nat16\n  });\n  const StreamingCallbackHttpResponse = IDL.Record({\n    token: IDL.Opt(StreamingCallbackToken),\n    body: IDL.Vec(IDL.Nat8)\n  });\n  const InitAssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    name: IDL.Text,\n    description: IDL.Opt(IDL.Text),\n    encoding_type: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n  const ListResults = IDL.Record({\n    matches_pages: IDL.Opt(IDL.Nat64),\n    matches_length: IDL.Nat64,\n    items_page: IDL.Opt(IDL.Nat64),\n    items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent)),\n    items_length: IDL.Nat64\n  });\n  const CustomDomain = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64),\n    bn_id: IDL.Opt(IDL.Text)\n  });\n  const ListResults_1 = IDL.Record({\n    matches_pages: IDL.Opt(IDL.Nat64),\n    matches_length: IDL.Nat64,\n    items_page: IDL.Opt(IDL.Nat64),\n    items: IDL.Vec(IDL.Tuple(IDL.Text, Doc)),\n    items_length: IDL.Nat64\n  });\n  const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetDoc = IDL.Record({\n    data: IDL.Vec(IDL.Nat8),\n    description: IDL.Opt(IDL.Text),\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const SetRule = IDL.Record({\n    max_capacity: IDL.Opt(IDL.Nat32),\n    memory: IDL.Opt(Memory),\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    version: IDL.Opt(IDL.Nat64),\n    mutable_permissions: IDL.Opt(IDL.Bool),\n    rate_config: IDL.Opt(RateConfig),\n    write: Permission,\n    max_changes_per_user: IDL.Opt(IDL.Nat32)\n  });\n  const UploadChunk = IDL.Record({\n    content: IDL.Vec(IDL.Nat8),\n    batch_id: IDL.Nat,\n    order_id: IDL.Opt(IDL.Nat)\n  });\n  const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});\n  return IDL.Service({\n    build_version: IDL.Func([], [IDL.Text], ['query']),\n    commit_asset_upload: IDL.Func([CommitBatch], [], []),\n    count_assets: IDL.Func([IDL.Text, ListParams], [IDL.Nat64], ['query']),\n    count_collection_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n    count_collection_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n    count_docs: IDL.Func([IDL.Text, ListParams], [IDL.Nat64], ['query']),\n    del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n    del_assets: IDL.Func([IDL.Text], [], []),\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_custom_domain: IDL.Func([IDL.Text], [], []),\n    del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n    del_docs: IDL.Func([IDL.Text], [], []),\n    del_filtered_assets: IDL.Func([IDL.Text, ListParams], [], []),\n    del_filtered_docs: IDL.Func([IDL.Text, ListParams], [], []),\n    del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n    del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),\n    del_rule: IDL.Func([CollectionType, IDL.Text, DelRule], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),\n    get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),\n    get_config: IDL.Func([], [Config], []),\n    get_db_config: IDL.Func([], [IDL.Opt(DbConfig)], ['query']),\n    get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n    get_many_assets: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],\n      ['query']\n    ),\n    get_many_docs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],\n      ['query']\n    ),\n    get_rule: IDL.Func([CollectionType, IDL.Text], [IDL.Opt(Rule)], ['query']),\n    get_storage_config: IDL.Func([], [StorageConfig], ['query']),\n    http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n    http_request_streaming_callback: IDL.Func(\n      [StreamingCallbackToken],\n      [StreamingCallbackHttpResponse],\n      ['query']\n    ),\n    init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n    list_assets: IDL.Func([IDL.Text, ListParams], [ListResults], ['query']),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n    list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n    list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n    list_rules: IDL.Func([CollectionType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),\n    memory_size: IDL.Func([], [MemorySize], ['query']),\n    set_auth_config: IDL.Func([AuthenticationConfig], [], []),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n    set_db_config: IDL.Func([DbConfig], [], []),\n    set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n    set_many_docs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, SetDoc))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, Doc))],\n      []\n    ),\n    set_rule: IDL.Func([CollectionType, IDL.Text, SetRule], [Rule], []),\n    set_storage_config: IDL.Func([StorageConfig], [], []),\n    upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),\n    version: IDL.Func([], [IDL.Text], ['query'])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelSatelliteConfig = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const GetAnalytics = IDL.Record({\n    to: IDL.Opt(IDL.Nat64),\n    from: IDL.Opt(IDL.Nat64),\n    satellite_id: IDL.Opt(IDL.Principal)\n  });\n  const AnalyticKey = IDL.Record({\n    key: IDL.Text,\n    collected_at: IDL.Nat64\n  });\n  const PageViewDevice = IDL.Record({\n    inner_height: IDL.Nat16,\n    inner_width: IDL.Nat16\n  });\n  const PageView = IDL.Record({\n    title: IDL.Text,\n    updated_at: IDL.Nat64,\n    referrer: IDL.Opt(IDL.Text),\n    time_zone: IDL.Text,\n    session_id: IDL.Text,\n    href: IDL.Text,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    device: PageViewDevice,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const AnalyticsBrowsersPageViews = IDL.Record({\n    safari: IDL.Float64,\n    opera: IDL.Float64,\n    others: IDL.Float64,\n    firefox: IDL.Float64,\n    chrome: IDL.Float64\n  });\n  const AnalyticsDevicesPageViews = IDL.Record({\n    desktop: IDL.Float64,\n    others: IDL.Float64,\n    mobile: IDL.Float64\n  });\n  const AnalyticsClientsPageViews = IDL.Record({\n    browsers: AnalyticsBrowsersPageViews,\n    devices: AnalyticsDevicesPageViews\n  });\n  const CalendarDate = IDL.Record({\n    day: IDL.Nat8,\n    month: IDL.Nat8,\n    year: IDL.Int32\n  });\n  const AnalyticsMetricsPageViews = IDL.Record({\n    bounce_rate: IDL.Float64,\n    average_page_views_per_session: IDL.Float64,\n    daily_total_page_views: IDL.Vec(IDL.Tuple(CalendarDate, IDL.Nat32)),\n    total_page_views: IDL.Nat32,\n    unique_page_views: IDL.Nat64,\n    unique_sessions: IDL.Nat64\n  });\n  const AnalyticsTop10PageViews = IDL.Record({\n    referrers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32)),\n    pages: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32))\n  });\n  const NavigationType = IDL.Variant({\n    Navigate: IDL.Null,\n    Restore: IDL.Null,\n    Reload: IDL.Null,\n    BackForward: IDL.Null,\n    BackForwardCache: IDL.Null,\n    Prerender: IDL.Null\n  });\n  const WebVitalsMetric = IDL.Record({\n    id: IDL.Text,\n    value: IDL.Float64,\n    navigation_type: IDL.Opt(NavigationType),\n    delta: IDL.Float64\n  });\n  const PerformanceData = IDL.Variant({WebVitalsMetric: WebVitalsMetric});\n  const PerformanceMetricName = IDL.Variant({\n    CLS: IDL.Null,\n    FCP: IDL.Null,\n    INP: IDL.Null,\n    LCP: IDL.Null,\n    TTFB: IDL.Null\n  });\n  const PerformanceMetric = IDL.Record({\n    updated_at: IDL.Nat64,\n    session_id: IDL.Text,\n    data: PerformanceData,\n    href: IDL.Text,\n    metric_name: PerformanceMetricName,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AnalyticsWebVitalsPageMetrics = IDL.Record({\n    cls: IDL.Opt(IDL.Float64),\n    fcp: IDL.Opt(IDL.Float64),\n    inp: IDL.Opt(IDL.Float64),\n    lcp: IDL.Opt(IDL.Float64),\n    ttfb: IDL.Opt(IDL.Float64)\n  });\n  const AnalyticsWebVitalsPerformanceMetrics = IDL.Record({\n    overall: AnalyticsWebVitalsPageMetrics,\n    pages: IDL.Vec(IDL.Tuple(IDL.Text, AnalyticsWebVitalsPageMetrics))\n  });\n  const TrackEvent = IDL.Record({\n    updated_at: IDL.Nat64,\n    session_id: IDL.Text,\n    metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))),\n    name: IDL.Text,\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AnalyticsTrackEvents = IDL.Record({\n    total: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat32))\n  });\n  const OrbiterSatelliteFeatures = IDL.Record({\n    performance_metrics: IDL.Bool,\n    track_events: IDL.Bool,\n    page_views: IDL.Bool\n  });\n  const OrbiterSatelliteConfig = IDL.Record({\n    updated_at: IDL.Nat64,\n    features: IDL.Opt(OrbiterSatelliteFeatures),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetPageView = IDL.Record({\n    title: IDL.Text,\n    updated_at: IDL.Opt(IDL.Nat64),\n    referrer: IDL.Opt(IDL.Text),\n    time_zone: IDL.Text,\n    session_id: IDL.Text,\n    href: IDL.Text,\n    satellite_id: IDL.Principal,\n    device: PageViewDevice,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result = IDL.Variant({Ok: PageView, Err: IDL.Text});\n  const Result_1 = IDL.Variant({\n    Ok: IDL.Null,\n    Err: IDL.Vec(IDL.Tuple(AnalyticKey, IDL.Text))\n  });\n  const SetPerformanceMetric = IDL.Record({\n    session_id: IDL.Text,\n    data: PerformanceData,\n    href: IDL.Text,\n    metric_name: PerformanceMetricName,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result_2 = IDL.Variant({Ok: PerformanceMetric, Err: IDL.Text});\n  const SetSatelliteConfig = IDL.Record({\n    features: IDL.Opt(OrbiterSatelliteFeatures),\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const SetTrackEvent = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    session_id: IDL.Text,\n    metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))),\n    name: IDL.Text,\n    satellite_id: IDL.Principal,\n    version: IDL.Opt(IDL.Nat64),\n    user_agent: IDL.Opt(IDL.Text)\n  });\n  const Result_3 = IDL.Variant({Ok: TrackEvent, Err: IDL.Text});\n  return IDL.Service({\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_satellite_config: IDL.Func([IDL.Principal, DelSatelliteConfig], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_page_views: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, PageView))],\n      ['query']\n    ),\n    get_page_views_analytics_clients: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsClientsPageViews],\n      ['query']\n    ),\n    get_page_views_analytics_metrics: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsMetricsPageViews],\n      ['query']\n    ),\n    get_page_views_analytics_top_10: IDL.Func([GetAnalytics], [AnalyticsTop10PageViews], ['query']),\n    get_performance_metrics: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, PerformanceMetric))],\n      ['query']\n    ),\n    get_performance_metrics_analytics_web_vitals: IDL.Func(\n      [GetAnalytics],\n      [AnalyticsWebVitalsPerformanceMetrics],\n      ['query']\n    ),\n    get_track_events: IDL.Func(\n      [GetAnalytics],\n      [IDL.Vec(IDL.Tuple(AnalyticKey, TrackEvent))],\n      ['query']\n    ),\n    get_track_events_analytics: IDL.Func([GetAnalytics], [AnalyticsTrackEvents], ['query']),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n    list_satellite_configs: IDL.Func(\n      [],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, OrbiterSatelliteConfig))],\n      ['query']\n    ),\n    memory_size: IDL.Func([], [MemorySize], ['query']),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_page_view: IDL.Func([AnalyticKey, SetPageView], [Result], []),\n    set_page_views: IDL.Func([IDL.Vec(IDL.Tuple(AnalyticKey, SetPageView))], [Result_1], []),\n    set_performance_metric: IDL.Func([AnalyticKey, SetPerformanceMetric], [Result_2], []),\n    set_performance_metrics: IDL.Func(\n      [IDL.Vec(IDL.Tuple(AnalyticKey, SetPerformanceMetric))],\n      [Result_1],\n      []\n    ),\n    set_satellite_configs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Principal, SetSatelliteConfig))],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, OrbiterSatelliteConfig))],\n      []\n    ),\n    set_track_event: IDL.Func([AnalyticKey, SetTrackEvent], [Result_3], []),\n    set_track_events: IDL.Func([IDL.Vec(IDL.Tuple(AnalyticKey, SetTrackEvent))], [Result_1], []),\n    version: IDL.Func([], [IDL.Text], ['query'])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const CyclesThreshold = IDL.Record({\n    fund_cycles: IDL.Nat,\n    min_cycles: IDL.Nat\n  });\n  const CyclesMonitoringStrategy = IDL.Variant({\n    BelowThreshold: CyclesThreshold\n  });\n  const CyclesMonitoring = IDL.Record({\n    strategy: IDL.Opt(CyclesMonitoringStrategy),\n    enabled: IDL.Bool\n  });\n  const Monitoring = IDL.Record({cycles: IDL.Opt(CyclesMonitoring)});\n  const Settings = IDL.Record({monitoring: IDL.Opt(Monitoring)});\n  const Orbiter = IDL.Record({\n    updated_at: IDL.Nat64,\n    orbiter_id: IDL.Principal,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    settings: IDL.Opt(Settings)\n  });\n  const CreateCanisterConfig = IDL.Record({\n    subnet_id: IDL.Opt(IDL.Principal),\n    name: IDL.Opt(IDL.Text)\n  });\n  const Satellite = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    satellite_id: IDL.Principal,\n    settings: IDL.Opt(Settings)\n  });\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const DepositedCyclesEmailNotification = IDL.Record({\n    to: IDL.Opt(IDL.Text),\n    enabled: IDL.Bool\n  });\n  const CyclesMonitoringConfig = IDL.Record({\n    notification: IDL.Opt(DepositedCyclesEmailNotification),\n    default_strategy: IDL.Opt(CyclesMonitoringStrategy)\n  });\n  const MonitoringConfig = IDL.Record({\n    cycles: IDL.Opt(CyclesMonitoringConfig)\n  });\n  const Config = IDL.Record({monitoring: IDL.Opt(MonitoringConfig)});\n  const GetMonitoringHistory = IDL.Record({\n    to: IDL.Opt(IDL.Nat64),\n    from: IDL.Opt(IDL.Nat64),\n    segment_id: IDL.Principal\n  });\n  const MonitoringHistoryKey = IDL.Record({\n    segment_id: IDL.Principal,\n    created_at: IDL.Nat64,\n    nonce: IDL.Int32\n  });\n  const CyclesBalance = IDL.Record({\n    timestamp: IDL.Nat64,\n    amount: IDL.Nat\n  });\n  const MonitoringHistoryCycles = IDL.Record({\n    deposited_cycles: IDL.Opt(CyclesBalance),\n    cycles: CyclesBalance\n  });\n  const MonitoringHistory = IDL.Record({\n    cycles: IDL.Opt(MonitoringHistoryCycles)\n  });\n  const CyclesMonitoringStatus = IDL.Record({\n    monitored_ids: IDL.Vec(IDL.Principal),\n    running: IDL.Bool\n  });\n  const MonitoringStatus = IDL.Record({\n    cycles: IDL.Opt(CyclesMonitoringStatus)\n  });\n  const MissionControlSettings = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    monitoring: IDL.Opt(Monitoring)\n  });\n  const User = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    user: IDL.Opt(IDL.Principal),\n    created_at: IDL.Nat64,\n    config: IDL.Opt(Config)\n  });\n  const Tokens = IDL.Record({e8s: IDL.Nat64});\n  const Timestamp = IDL.Record({timestamp_nanos: IDL.Nat64});\n  const TransferArgs = IDL.Record({\n    to: IDL.Vec(IDL.Nat8),\n    fee: Tokens,\n    memo: IDL.Nat64,\n    from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    created_at_time: IDL.Opt(Timestamp),\n    amount: Tokens\n  });\n  const TransferError = IDL.Variant({\n    TxTooOld: IDL.Record({allowed_window_nanos: IDL.Nat64}),\n    BadFee: IDL.Record({expected_fee: Tokens}),\n    TxDuplicate: IDL.Record({duplicate_of: IDL.Nat64}),\n    TxCreatedInFuture: IDL.Null,\n    InsufficientFunds: IDL.Record({balance: Tokens})\n  });\n  const Result = IDL.Variant({Ok: IDL.Nat64, Err: TransferError});\n  const Account = IDL.Record({\n    owner: IDL.Principal,\n    subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n  });\n  const TransferArg = IDL.Record({\n    to: Account,\n    fee: IDL.Opt(IDL.Nat),\n    memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    created_at_time: IDL.Opt(IDL.Nat64),\n    amount: IDL.Nat\n  });\n  const TransferError_1 = IDL.Variant({\n    GenericError: IDL.Record({\n      message: IDL.Text,\n      error_code: IDL.Nat\n    }),\n    TemporarilyUnavailable: IDL.Null,\n    BadBurn: IDL.Record({min_burn_amount: IDL.Nat}),\n    Duplicate: IDL.Record({duplicate_of: IDL.Nat}),\n    BadFee: IDL.Record({expected_fee: IDL.Nat}),\n    CreatedInFuture: IDL.Record({ledger_time: IDL.Nat64}),\n    TooOld: IDL.Null,\n    InsufficientFunds: IDL.Record({balance: IDL.Nat})\n  });\n  const Result_1 = IDL.Variant({Ok: IDL.Nat, Err: TransferError_1});\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SegmentsMonitoringStrategy = IDL.Record({\n    ids: IDL.Vec(IDL.Principal),\n    strategy: CyclesMonitoringStrategy\n  });\n  const CyclesMonitoringStartConfig = IDL.Record({\n    orbiters_strategy: IDL.Opt(SegmentsMonitoringStrategy),\n    mission_control_strategy: IDL.Opt(CyclesMonitoringStrategy),\n    satellites_strategy: IDL.Opt(SegmentsMonitoringStrategy)\n  });\n  const MonitoringStartConfig = IDL.Record({\n    cycles_config: IDL.Opt(CyclesMonitoringStartConfig)\n  });\n  const CyclesMonitoringStopConfig = IDL.Record({\n    satellite_ids: IDL.Opt(IDL.Vec(IDL.Principal)),\n    try_mission_control: IDL.Opt(IDL.Bool),\n    orbiter_ids: IDL.Opt(IDL.Vec(IDL.Principal))\n  });\n  const MonitoringStopConfig = IDL.Record({\n    cycles_config: IDL.Opt(CyclesMonitoringStopConfig)\n  });\n  return IDL.Service({\n    add_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    add_satellites_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    create_orbiter: IDL.Func([IDL.Opt(IDL.Text)], [Orbiter], []),\n    create_orbiter_with_config: IDL.Func([CreateCanisterConfig], [Orbiter], []),\n    create_satellite: IDL.Func([IDL.Text], [Satellite], []),\n    create_satellite_with_config: IDL.Func([CreateCanisterConfig], [Satellite], []),\n    del_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    del_orbiter: IDL.Func([IDL.Principal, IDL.Nat], [], []),\n    del_orbiters_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    del_satellite: IDL.Func([IDL.Principal, IDL.Nat], [], []),\n    del_satellites_controllers: IDL.Func([IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_config: IDL.Func([], [IDL.Opt(Config)], ['query']),\n    get_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], ['query']),\n    get_monitoring_history: IDL.Func(\n      [GetMonitoringHistory],\n      [IDL.Vec(IDL.Tuple(MonitoringHistoryKey, MonitoringHistory))],\n      ['query']\n    ),\n    get_monitoring_status: IDL.Func([], [MonitoringStatus], ['query']),\n    get_settings: IDL.Func([], [IDL.Opt(MissionControlSettings)], ['query']),\n    get_user: IDL.Func([], [IDL.Principal], ['query']),\n    get_user_data: IDL.Func([], [User], ['query']),\n    icp_transfer: IDL.Func([TransferArgs], [Result], []),\n    icrc_transfer: IDL.Func([IDL.Principal, TransferArg], [Result_1], []),\n    list_mission_control_controllers: IDL.Func(\n      [],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      ['query']\n    ),\n    list_orbiters: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Orbiter))], ['query']),\n    list_satellites: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Satellite))], ['query']),\n    remove_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n    remove_satellites_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)],\n      [],\n      []\n    ),\n    set_config: IDL.Func([IDL.Opt(Config)], [], []),\n    set_metadata: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n    set_mission_control_controllers: IDL.Func([IDL.Vec(IDL.Principal), SetController], [], []),\n    set_orbiter: IDL.Func([IDL.Principal, IDL.Opt(IDL.Text)], [Orbiter], []),\n    set_orbiter_metadata: IDL.Func(\n      [IDL.Principal, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [Orbiter],\n      []\n    ),\n    set_orbiters_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal), SetController],\n      [],\n      []\n    ),\n    set_satellite: IDL.Func([IDL.Principal, IDL.Opt(IDL.Text)], [Satellite], []),\n    set_satellite_metadata: IDL.Func(\n      [IDL.Principal, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [Satellite],\n      []\n    ),\n    set_satellites_controllers: IDL.Func(\n      [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal), SetController],\n      [],\n      []\n    ),\n    start_monitoring: IDL.Func([], [], []),\n    stop_monitoring: IDL.Func([], [], []),\n    top_up: IDL.Func([IDL.Principal, Tokens], [], []),\n    unset_orbiter: IDL.Func([IDL.Principal], [], []),\n    unset_satellite: IDL.Func([IDL.Principal], [], []),\n    update_and_start_monitoring: IDL.Func([MonitoringStartConfig], [], []),\n    update_and_stop_monitoring: IDL.Func([MonitoringStopConfig], [], []),\n    version: IDL.Func([], [IDL.Text], ['query'])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "export const idlFactory = ({IDL}) => {\n  const CommitBatch = IDL.Record({\n    batch_id: IDL.Nat,\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    chunk_ids: IDL.Vec(IDL.Nat)\n  });\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelDoc = IDL.Record({updated_at: IDL.Opt(IDL.Nat64)});\n  const StorageConfig = IDL.Record({\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))))\n  });\n  const Config = IDL.Record({storage: StorageConfig});\n  const Doc = IDL.Record({\n    updated_at: IDL.Nat64,\n    owner: IDL.Principal,\n    data: IDL.Vec(IDL.Nat8),\n    created_at: IDL.Nat64\n  });\n  const HttpRequest = IDL.Record({\n    url: IDL.Text,\n    method: IDL.Text,\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))\n  });\n  const StreamingCallbackToken = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    index: IDL.Nat64,\n    encoding_type: IDL.Text,\n    full_path: IDL.Text\n  });\n  const StreamingStrategy = IDL.Variant({\n    Callback: IDL.Record({\n      token: StreamingCallbackToken,\n      callback: IDL.Func([], [], [])\n    })\n  });\n  const HttpResponse = IDL.Record({\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    streaming_strategy: IDL.Opt(StreamingStrategy),\n    status_code: IDL.Nat16\n  });\n  const StreamingCallbackHttpResponse = IDL.Record({\n    token: IDL.Opt(StreamingCallbackToken),\n    body: IDL.Vec(IDL.Nat8)\n  });\n  const InitAssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    name: IDL.Text,\n    encoding_type: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n  const ListOrderField = IDL.Variant({\n    UpdatedAt: IDL.Null,\n    Keys: IDL.Null,\n    CreatedAt: IDL.Null\n  });\n  const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n  const ListPaginate = IDL.Record({\n    start_after: IDL.Opt(IDL.Text),\n    limit: IDL.Opt(IDL.Nat64)\n  });\n  const ListParams = IDL.Record({\n    order: IDL.Opt(ListOrder),\n    matcher: IDL.Opt(IDL.Text),\n    paginate: IDL.Opt(ListPaginate)\n  });\n  const AssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    owner: IDL.Principal,\n    name: IDL.Text,\n    full_path: IDL.Text\n  });\n  const AssetEncodingNoContent = IDL.Record({\n    modified: IDL.Nat64,\n    sha256: IDL.Vec(IDL.Nat8),\n    total_length: IDL.Nat\n  });\n  const AssetNoContent = IDL.Record({\n    key: AssetKey,\n    updated_at: IDL.Nat64,\n    encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64\n  });\n  const ListResults = IDL.Record({\n    matches_length: IDL.Nat64,\n    length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent))\n  });\n  const CustomDomain = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    bn_id: IDL.Opt(IDL.Text)\n  });\n  const ListResults_1 = IDL.Record({\n    matches_length: IDL.Nat64,\n    length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(IDL.Text, Doc))\n  });\n  const RulesType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n  const Permission = IDL.Variant({\n    Controllers: IDL.Null,\n    Private: IDL.Null,\n    Public: IDL.Null,\n    Managed: IDL.Null\n  });\n  const Rule = IDL.Record({\n    updated_at: IDL.Nat64,\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    created_at: IDL.Nat64,\n    write: Permission\n  });\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetDoc = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    data: IDL.Vec(IDL.Nat8)\n  });\n  const SetRule = IDL.Record({\n    updated_at: IDL.Opt(IDL.Nat64),\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    write: Permission\n  });\n  const Chunk = IDL.Record({\n    content: IDL.Vec(IDL.Nat8),\n    batch_id: IDL.Nat\n  });\n  const UploadChunk = IDL.Record({chunk_id: IDL.Nat});\n  return IDL.Service({\n    commit_asset_upload: IDL.Func([CommitBatch], [], []),\n    del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n    del_assets: IDL.Func([IDL.Opt(IDL.Text)], [], []),\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_custom_domain: IDL.Func([IDL.Text], [], []),\n    del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n    get_config: IDL.Func([], [Config], []),\n    get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n    http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n    http_request_streaming_callback: IDL.Func(\n      [StreamingCallbackToken],\n      [StreamingCallbackHttpResponse],\n      ['query']\n    ),\n    init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n    list_assets: IDL.Func([IDL.Opt(IDL.Text), ListParams], [ListResults], ['query']),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Principal)], ['query']),\n    list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n    list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n    list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),\n    set_config: IDL.Func([Config], [], []),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n    set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n    set_rule: IDL.Func([RulesType, IDL.Text, SetRule], [], []),\n    upload_asset_chunk: IDL.Func([Chunk], [UploadChunk], []),\n    version: IDL.Func([], [IDL.Text], ['query'])\n  });\n};\nexport const init = ({IDL}) => {\n  return [];\n};\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n  const CommitBatch = IDL.Record({\n    batch_id: IDL.Nat,\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    chunk_ids: IDL.Vec(IDL.Nat)\n  });\n  const CommitProposal = IDL.Record({\n    sha256: IDL.Vec(IDL.Nat8),\n    proposal_id: IDL.Nat\n  });\n  const ListOrderField = IDL.Variant({\n    UpdatedAt: IDL.Null,\n    Keys: IDL.Null,\n    CreatedAt: IDL.Null\n  });\n  const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n  const TimestampMatcher = IDL.Variant({\n    Equal: IDL.Nat64,\n    Between: IDL.Tuple(IDL.Nat64, IDL.Nat64),\n    GreaterThan: IDL.Nat64,\n    LessThan: IDL.Nat64\n  });\n  const ListMatcher = IDL.Record({\n    key: IDL.Opt(IDL.Text),\n    updated_at: IDL.Opt(TimestampMatcher),\n    description: IDL.Opt(IDL.Text),\n    created_at: IDL.Opt(TimestampMatcher)\n  });\n  const ListPaginate = IDL.Record({\n    start_after: IDL.Opt(IDL.Text),\n    limit: IDL.Opt(IDL.Nat64)\n  });\n  const ListParams = IDL.Record({\n    order: IDL.Opt(ListOrder),\n    owner: IDL.Opt(IDL.Principal),\n    matcher: IDL.Opt(ListMatcher),\n    paginate: IDL.Opt(ListPaginate)\n  });\n  const DeleteControllersArgs = IDL.Record({\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const ControllerScope = IDL.Variant({\n    Write: IDL.Null,\n    Admin: IDL.Null,\n    Submit: IDL.Null\n  });\n  const Controller = IDL.Record({\n    updated_at: IDL.Nat64,\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const DelDoc = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const CollectionType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n  const DelRule = IDL.Record({version: IDL.Opt(IDL.Nat64)});\n  const DeleteProposalAssets = IDL.Record({\n    proposal_ids: IDL.Vec(IDL.Nat)\n  });\n  const DepositCyclesArgs = IDL.Record({\n    cycles: IDL.Nat,\n    destination_id: IDL.Principal\n  });\n  const AssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    owner: IDL.Principal,\n    name: IDL.Text,\n    description: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const AssetEncodingNoContent = IDL.Record({\n    modified: IDL.Nat64,\n    sha256: IDL.Vec(IDL.Nat8),\n    total_length: IDL.Nat\n  });\n  const AssetNoContent = IDL.Record({\n    key: AssetKey,\n    updated_at: IDL.Nat64,\n    encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const AuthenticationConfigInternetIdentity = IDL.Record({\n    derivation_origin: IDL.Opt(IDL.Text),\n    external_alternative_origins: IDL.Opt(IDL.Vec(IDL.Text))\n  });\n  const AuthenticationConfig = IDL.Record({\n    internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)\n  });\n  const ConfigMaxMemorySize = IDL.Record({\n    stable: IDL.Opt(IDL.Nat64),\n    heap: IDL.Opt(IDL.Nat64)\n  });\n  const DbConfig = IDL.Record({\n    max_memory_size: IDL.Opt(ConfigMaxMemorySize)\n  });\n  const StorageConfigIFrame = IDL.Variant({\n    Deny: IDL.Null,\n    AllowAny: IDL.Null,\n    SameOrigin: IDL.Null\n  });\n  const StorageConfigRawAccess = IDL.Variant({\n    Deny: IDL.Null,\n    Allow: IDL.Null\n  });\n  const StorageConfigRedirect = IDL.Record({\n    status_code: IDL.Nat16,\n    location: IDL.Text\n  });\n  const StorageConfig = IDL.Record({\n    iframe: IDL.Opt(StorageConfigIFrame),\n    rewrites: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)))),\n    max_memory_size: IDL.Opt(ConfigMaxMemorySize),\n    raw_access: IDL.Opt(StorageConfigRawAccess),\n    redirects: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, StorageConfigRedirect)))\n  });\n  const Config = IDL.Record({\n    db: IDL.Opt(DbConfig),\n    authentication: IDL.Opt(AuthenticationConfig),\n    storage: StorageConfig\n  });\n  const Doc = IDL.Record({\n    updated_at: IDL.Nat64,\n    owner: IDL.Principal,\n    data: IDL.Vec(IDL.Nat8),\n    description: IDL.Opt(IDL.Text),\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const ProposalStatus = IDL.Variant({\n    Initialized: IDL.Null,\n    Failed: IDL.Null,\n    Open: IDL.Null,\n    Rejected: IDL.Null,\n    Executed: IDL.Null,\n    Accepted: IDL.Null\n  });\n  const AssetsUpgradeOptions = IDL.Record({\n    clear_existing_assets: IDL.Opt(IDL.Bool)\n  });\n  const SegmentsDeploymentOptions = IDL.Record({\n    orbiter: IDL.Opt(IDL.Text),\n    mission_control_version: IDL.Opt(IDL.Text),\n    satellite_version: IDL.Opt(IDL.Text)\n  });\n  const ProposalType = IDL.Variant({\n    AssetsUpgrade: AssetsUpgradeOptions,\n    SegmentsDeployment: SegmentsDeploymentOptions\n  });\n  const Proposal = IDL.Record({\n    status: ProposalStatus,\n    updated_at: IDL.Nat64,\n    sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    executed_at: IDL.Opt(IDL.Nat64),\n    owner: IDL.Principal,\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64),\n    proposal_type: ProposalType\n  });\n  const Memory = IDL.Variant({Heap: IDL.Null, Stable: IDL.Null});\n  const Permission = IDL.Variant({\n    Controllers: IDL.Null,\n    Private: IDL.Null,\n    Public: IDL.Null,\n    Managed: IDL.Null\n  });\n  const RateConfig = IDL.Record({\n    max_tokens: IDL.Nat64,\n    time_per_token_ns: IDL.Nat64\n  });\n  const Rule = IDL.Record({\n    max_capacity: IDL.Opt(IDL.Nat32),\n    memory: IDL.Opt(Memory),\n    updated_at: IDL.Nat64,\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64),\n    mutable_permissions: IDL.Opt(IDL.Bool),\n    rate_config: IDL.Opt(RateConfig),\n    write: Permission,\n    max_changes_per_user: IDL.Opt(IDL.Nat32)\n  });\n  const HttpRequest = IDL.Record({\n    url: IDL.Text,\n    method: IDL.Text,\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    certificate_version: IDL.Opt(IDL.Nat16)\n  });\n  const StreamingCallbackToken = IDL.Record({\n    memory: Memory,\n    token: IDL.Opt(IDL.Text),\n    sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    index: IDL.Nat64,\n    encoding_type: IDL.Text,\n    full_path: IDL.Text\n  });\n  const StreamingStrategy = IDL.Variant({\n    Callback: IDL.Record({\n      token: StreamingCallbackToken,\n      callback: IDL.Func([], [], ['query'])\n    })\n  });\n  const HttpResponse = IDL.Record({\n    body: IDL.Vec(IDL.Nat8),\n    headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    streaming_strategy: IDL.Opt(StreamingStrategy),\n    status_code: IDL.Nat16\n  });\n  const StreamingCallbackHttpResponse = IDL.Record({\n    token: IDL.Opt(StreamingCallbackToken),\n    body: IDL.Vec(IDL.Nat8)\n  });\n  const InitAssetKey = IDL.Record({\n    token: IDL.Opt(IDL.Text),\n    collection: IDL.Text,\n    name: IDL.Text,\n    description: IDL.Opt(IDL.Text),\n    encoding_type: IDL.Opt(IDL.Text),\n    full_path: IDL.Text\n  });\n  const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n  const ListResults = IDL.Record({\n    matches_pages: IDL.Opt(IDL.Nat64),\n    matches_length: IDL.Nat64,\n    items_page: IDL.Opt(IDL.Nat64),\n    items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent)),\n    items_length: IDL.Nat64\n  });\n  const CustomDomain = IDL.Record({\n    updated_at: IDL.Nat64,\n    created_at: IDL.Nat64,\n    version: IDL.Opt(IDL.Nat64),\n    bn_id: IDL.Opt(IDL.Text)\n  });\n  const ListResults_1 = IDL.Record({\n    matches_pages: IDL.Opt(IDL.Nat64),\n    matches_length: IDL.Nat64,\n    items_page: IDL.Opt(IDL.Nat64),\n    items: IDL.Vec(IDL.Tuple(IDL.Text, Doc)),\n    items_length: IDL.Nat64\n  });\n  const ListProposalsOrder = IDL.Record({desc: IDL.Bool});\n  const ListProposalsPaginate = IDL.Record({\n    start_after: IDL.Opt(IDL.Nat),\n    limit: IDL.Opt(IDL.Nat)\n  });\n  const ListProposalsParams = IDL.Record({\n    order: IDL.Opt(ListProposalsOrder),\n    paginate: IDL.Opt(ListProposalsPaginate)\n  });\n  const ProposalKey = IDL.Record({proposal_id: IDL.Nat});\n  const ListProposalResults = IDL.Record({\n    matches_length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(ProposalKey, Proposal)),\n    items_length: IDL.Nat64\n  });\n  const ListRulesMatcher = IDL.Record({include_system: IDL.Bool});\n  const ListRulesParams = IDL.Record({matcher: IDL.Opt(ListRulesMatcher)});\n  const ListRulesResults = IDL.Record({\n    matches_length: IDL.Nat64,\n    items: IDL.Vec(IDL.Tuple(IDL.Text, Rule)),\n    items_length: IDL.Nat64\n  });\n  const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n  const SetController = IDL.Record({\n    metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n    scope: ControllerScope,\n    expires_at: IDL.Opt(IDL.Nat64)\n  });\n  const SetControllersArgs = IDL.Record({\n    controller: SetController,\n    controllers: IDL.Vec(IDL.Principal)\n  });\n  const SetDoc = IDL.Record({\n    data: IDL.Vec(IDL.Nat8),\n    description: IDL.Opt(IDL.Text),\n    version: IDL.Opt(IDL.Nat64)\n  });\n  const SetRule = IDL.Record({\n    max_capacity: IDL.Opt(IDL.Nat32),\n    memory: IDL.Opt(Memory),\n    max_size: IDL.Opt(IDL.Nat),\n    read: Permission,\n    version: IDL.Opt(IDL.Nat64),\n    mutable_permissions: IDL.Opt(IDL.Bool),\n    rate_config: IDL.Opt(RateConfig),\n    write: Permission,\n    max_changes_per_user: IDL.Opt(IDL.Nat32)\n  });\n  const UploadChunk = IDL.Record({\n    content: IDL.Vec(IDL.Nat8),\n    batch_id: IDL.Nat,\n    order_id: IDL.Opt(IDL.Nat)\n  });\n  const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});\n  return IDL.Service({\n    commit_asset_upload: IDL.Func([CommitBatch], [], []),\n    commit_proposal: IDL.Func([CommitProposal], [IDL.Null], []),\n    commit_proposal_asset_upload: IDL.Func([CommitBatch], [], []),\n    count_assets: IDL.Func([IDL.Text, ListParams], [IDL.Nat64], ['query']),\n    count_collection_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n    count_collection_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n    count_docs: IDL.Func([IDL.Text, ListParams], [IDL.Nat64], ['query']),\n    count_proposals: IDL.Func([], [IDL.Nat64], ['query']),\n    del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n    del_assets: IDL.Func([IDL.Text], [], []),\n    del_controllers: IDL.Func(\n      [DeleteControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    del_custom_domain: IDL.Func([IDL.Text], [], []),\n    del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n    del_docs: IDL.Func([IDL.Text], [], []),\n    del_filtered_assets: IDL.Func([IDL.Text, ListParams], [], []),\n    del_filtered_docs: IDL.Func([IDL.Text, ListParams], [], []),\n    del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n    del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),\n    del_rule: IDL.Func([CollectionType, IDL.Text, DelRule], [], []),\n    delete_proposal_assets: IDL.Func([DeleteProposalAssets], [], []),\n    deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n    get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),\n    get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),\n    get_config: IDL.Func([], [Config], []),\n    get_db_config: IDL.Func([], [IDL.Opt(DbConfig)], ['query']),\n    get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n    get_many_assets: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],\n      ['query']\n    ),\n    get_many_docs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],\n      ['query']\n    ),\n    get_proposal: IDL.Func([IDL.Nat], [IDL.Opt(Proposal)], ['query']),\n    get_rule: IDL.Func([CollectionType, IDL.Text], [IDL.Opt(Rule)], ['query']),\n    get_storage_config: IDL.Func([], [StorageConfig], ['query']),\n    http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n    http_request_streaming_callback: IDL.Func(\n      [StreamingCallbackToken],\n      [StreamingCallbackHttpResponse],\n      ['query']\n    ),\n    init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n    init_proposal: IDL.Func([ProposalType], [IDL.Nat, Proposal], []),\n    init_proposal_asset_upload: IDL.Func([InitAssetKey, IDL.Nat], [InitUploadResult], []),\n    list_assets: IDL.Func([IDL.Text, ListParams], [ListResults], ['query']),\n    list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n    list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n    list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n    list_proposals: IDL.Func([ListProposalsParams], [ListProposalResults], ['query']),\n    list_rules: IDL.Func([CollectionType, ListRulesParams], [ListRulesResults], ['query']),\n    memory_size: IDL.Func([], [MemorySize], ['query']),\n    reject_proposal: IDL.Func([CommitProposal], [IDL.Null], []),\n    set_auth_config: IDL.Func([AuthenticationConfig], [], []),\n    set_controllers: IDL.Func(\n      [SetControllersArgs],\n      [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n      []\n    ),\n    set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n    set_db_config: IDL.Func([DbConfig], [], []),\n    set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n    set_many_docs: IDL.Func(\n      [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, SetDoc))],\n      [IDL.Vec(IDL.Tuple(IDL.Text, Doc))],\n      []\n    ),\n    set_rule: IDL.Func([CollectionType, IDL.Text, SetRule], [Rule], []),\n    set_storage_config: IDL.Func([StorageConfig], [], []),\n    submit_proposal: IDL.Func([IDL.Nat], [IDL.Nat, Proposal], []),\n    upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),\n    upload_proposal_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], [])\n  });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n  return [];\n};\n", "import {\n  Actor,\n  HttpAgent,\n  type ActorConfig,\n  type ActorMethod,\n  type ActorSubclass\n} from '@dfinity/agent';\nimport type {IDL} from '@dfinity/candid';\nimport {nonNullish} from '@dfinity/utils';\nimport type {ActorParameters} from '../types/actor.types';\n\nexport const createActor = async <T = Record<string, ActorMethod>>({\n  canisterId,\n  idlFactory,\n  config,\n  ...rest\n}: {\n  idlFactory: IDL.InterfaceFactory;\n  canisterId: string;\n  config?: Pick<ActorConfig, 'callTransform' | 'queryTransform'>;\n} & ActorParameters): Promise<ActorSubclass<T>> => {\n  const agent = await useOrInitAgent(rest);\n\n  // Creates an actor with using the candid interface and the HttpAgent\n  return Actor.createActor(idlFactory, {\n    agent,\n    canisterId,\n    ...(config ?? {})\n  });\n};\n\nexport const useOrInitAgent = async ({agent, ...rest}: ActorParameters): Promise<HttpAgent> =>\n  agent ?? (await initAgent(rest));\n\nconst initAgent = async ({\n  identity,\n  container\n}: Omit<ActorParameters, 'agent'>): Promise<HttpAgent> => {\n  const localActor = nonNullish(container) && container !== false;\n\n  const host = localActor\n    ? container === true\n      ? 'http://127.0.0.1:5987'\n      : container\n    : 'https://icp-api.io';\n\n  return await HttpAgent.create({\n    identity,\n    host,\n    retryTimes: 10,\n    shouldFetchRootKey: localActor\n  });\n};\n", "import type {Principal} from '@dfinity/principal';\nimport type {\n  Controller,\n  _SERVICE as MissionControlActor,\n  SetController\n} from '../../declarations/mission_control/mission_control.did';\nimport type {MissionControlParameters} from '../types/actor.types';\nimport {getDeprecatedMissionControlVersionActor, getMissionControlActor} from './actor.api';\n\n/**\n * @deprecated - Replaced in Mission Control > v0.0.14 with public custom section juno:package\n */\nexport const version = async ({\n  missionControl\n}: {\n  missionControl: MissionControlParameters;\n}): Promise<string> => {\n  const {version} = await getDeprecatedMissionControlVersionActor(missionControl);\n  return version();\n};\n\nexport const getUser = async ({\n  missionControl\n}: {\n  missionControl: MissionControlParameters;\n}): Promise<Principal> => {\n  const actor: MissionControlActor = await getMissionControlActor(missionControl);\n  return actor.get_user();\n};\n\nexport const listControllers = async ({\n  missionControl\n}: {\n  missionControl: MissionControlParameters;\n}): Promise<[Principal, Controller][]> => {\n  const actor: MissionControlActor = await getMissionControlActor(missionControl);\n  return actor.list_mission_control_controllers();\n};\n\nexport const setSatellitesController = async ({\n  missionControl,\n  satelliteIds,\n  controllerIds,\n  controller\n}: {\n  missionControl: MissionControlParameters;\n  satelliteIds: Principal[];\n  controllerIds: Principal[];\n  controller: SetController;\n}) => {\n  const actor: MissionControlActor = await getMissionControlActor(missionControl);\n  return actor.set_satellites_controllers(satelliteIds, controllerIds, controller);\n};\n\nexport const setMissionControlController = async ({\n  missionControl,\n  controllerIds,\n  controller\n}: {\n  missionControl: MissionControlParameters;\n  controllerIds: Principal[];\n  controller: SetController;\n}) => {\n  const actor: MissionControlActor = await getMissionControlActor(missionControl);\n  return actor.set_mission_control_controllers(controllerIds, controller);\n};\n", "import {Principal} from '@dfinity/principal';\nimport {nonNullish, toNullable} from '@dfinity/utils';\nimport type {SetController} from '../../declarations/mission_control/mission_control.did';\nimport type {SetControllerParams} from '../types/controllers.types';\n\nexport const mapSetControllerParams = ({\n  controllerId,\n  profile\n}: SetControllerParams): {controllerIds: Principal[]; controller: SetController} => ({\n  controllerIds: [Principal.fromText(controllerId)],\n  controller: toSetController(profile)\n});\n\nconst toSetController = (profile: string | null | undefined): SetController => ({\n  metadata: nonNullish(profile) && profile !== '' ? [['profile', profile]] : [],\n  expires_at: toNullable<bigint>(undefined),\n  scope: {Admin: null}\n});\n", "import type {Principal} from '@dfinity/principal';\nimport type {Controller} from '../../declarations/mission_control/mission_control.did';\nimport {\n  listControllers,\n  setMissionControlController as setMissionControlControllerApi,\n  setSatellitesController as setSatellitesControllerApi\n} from '../api/mission-control.api';\nimport type {MissionControlParameters} from '../types/actor.types';\nimport type {SetControllerParams} from '../types/controllers.types';\nimport {mapSetControllerParams} from '../utils/controllers.utils';\n\n/**\n * Sets the controller for the specified satellites.\n * @param {Object} params - The parameters for setting the satellites controller.\n * @param {MissionControlParameters} params.missionControl - The Mission Control parameters.\n * @param {Principal[]} params.satelliteIds - The IDs of the satellites.\n * @param {SetControllerParams} params - Additional parameters for setting the controller.\n * @returns {Promise<void>} A promise that resolves when the controller is set.\n */\nexport const setSatellitesController = ({\n  controllerId,\n  profile,\n  ...rest\n}: {\n  missionControl: MissionControlParameters;\n  satelliteIds: Principal[];\n} & SetControllerParams): Promise<void> =>\n  setSatellitesControllerApi({\n    ...rest,\n    ...mapSetControllerParams({controllerId, profile})\n  });\n\n/**\n * Sets the controller for Mission Control.\n * @param {Object} params - The parameters for setting the Mission Control controller.\n * @param {MissionControlParameters} params.missionControl - The Mission Control parameters.\n * @param {SetControllerParams} params - Additional parameters for setting the controller.\n * @returns {Promise<void>} A promise that resolves when the controller is set.\n */\nexport const setMissionControlController = ({\n  controllerId,\n  profile,\n  ...rest\n}: {\n  missionControl: MissionControlParameters;\n} & SetControllerParams): Promise<void> =>\n  setMissionControlControllerApi({\n    ...rest,\n    ...mapSetControllerParams({controllerId, profile})\n  });\n\n/**\n * Lists the controllers of Mission Control.\n * @param {Object} params - The parameters for listing the controllers.\n * @param {MissionControlParameters} params.missionControl - The Mission Control parameters.\n * @returns {Promise<[Principal, Controller][]>} A promise that resolves to a list of controllers.\n */\nexport const listMissionControlControllers = (params: {\n  missionControl: MissionControlParameters;\n}): Promise<[Principal, Controller][]> => listControllers(params);\n", "import {Principal} from '@dfinity/principal';\nimport {getUser} from '../api/mission-control.api';\nimport {INSTALL_MODE_UPGRADE} from '../constants/upgrade.constants';\nimport {upgrade} from '../handlers/upgrade.handlers';\nimport type {MissionControlParameters} from '../types/actor.types';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\nimport {encoreIDLUser} from '../utils/idl.utils';\n\n/**\n * Upgrades the Mission Control with the provided WASM module.\n * @param {Object} params - The parameters for upgrading the Mission Control.\n * @param {MissionControlParameters} params.missionControl - The Mission Control parameters, including the actor and mission control ID.\n * @param {Uint8Array} params.wasmModule - The WASM module to be installed during the upgrade.\n * @param {boolean} [params.preClearChunks] - Optional. Whether to force clearing chunks before uploading a chunked WASM module. Recommended if the WASM exceeds 2MB.\n * @param {boolean} [params.takeSnapshot=true] - Optional. Whether to take a snapshot before performing the upgrade. Defaults to true.\n * @param {function} [params.onProgress] - Optional. Callback function to report progress during the upgrade process.\n * @throws {Error} Will throw an error if the mission control principal is not defined.\n * @returns {Promise<void>} Resolves when the upgrade process is complete.\n */\nexport const upgradeMissionControl = async ({\n  missionControl,\n  ...rest\n}: {\n  missionControl: MissionControlParameters;\n} & Pick<\n  UpgradeCodeParams,\n  'wasmModule' | 'preClearChunks' | 'takeSnapshot' | 'onProgress'\n>): Promise<void> => {\n  const user = await getUser({missionControl});\n\n  const {missionControlId, ...actor} = missionControl;\n\n  if (!missionControlId) {\n    throw new Error('No mission control principal defined.');\n  }\n\n  const arg = encoreIDLUser(user);\n\n  await upgrade({\n    actor,\n    canisterId: Principal.fromText(missionControlId),\n    arg: new Uint8Array(arg),\n    mode: INSTALL_MODE_UPGRADE,\n    ...rest\n  });\n};\n", "import type {canister_install_mode} from '@dfinity/ic-management';\n\nexport const SIMPLE_INSTALL_MAX_WASM_SIZE = 2_000_000;\nexport const INSTALL_MAX_CHUNK_SIZE = 1_000_000;\n\nexport const INSTALL_MODE_RESET: canister_install_mode = {reinstall: null};\n\nexport const INSTALL_MODE_UPGRADE: canister_install_mode = {\n  upgrade: [{skip_pre_upgrade: [false], wasm_memory_persistence: [{replace: null}]}]\n};\n", "import {fromNullable, isNullish, uint8ArrayToHexString} from '@dfinity/utils';\nimport {\n  canisterStart,\n  canisterStatus,\n  canisterStop,\n  listCanisterSnapshots,\n  takeCanisterSnapshot\n} from '../api/ic.api';\nimport {SIMPLE_INSTALL_MAX_WASM_SIZE} from '../constants/upgrade.constants';\nimport {UpgradeCodeUnchangedError} from '../errors/upgrade.errors';\nimport {uint8ArraySha256} from '../helpers/crypto.helpers';\nimport {type UpgradeCodeParams, UpgradeCodeProgressStep} from '../types/upgrade.types';\nimport {upgradeChunkedCode} from './upgrade.chunks.handlers';\nimport {upgradeSingleChunkCode} from './upgrade.single.handlers';\n\nexport const upgrade = async ({\n  wasmModule,\n  canisterId,\n  actor,\n  onProgress,\n  takeSnapshot = true,\n  ...rest\n}: UpgradeCodeParams & {reset?: boolean}) => {\n  // 1. We verify that the code to be installed is different from the code already deployed. If the codes are identical, we skip the installation.\n  // TODO: unless mode is reinstall\n  const assert = async () => await assertExistingCode({wasmModule, canisterId, actor, ...rest});\n  await execute({fn: assert, onProgress, step: UpgradeCodeProgressStep.AssertingExistingCode});\n\n  // 2. We stop the canister to prepare for the upgrade.\n  const stop = async () => await canisterStop({canisterId, actor});\n  await execute({fn: stop, onProgress, step: UpgradeCodeProgressStep.StoppingCanister});\n\n  try {\n    // 3. We take a snapshot - create a backup - unless the dev opted-out\n    const snapshot = async () =>\n      takeSnapshot ? await createSnapshot({canisterId, actor}) : Promise.resolve();\n    await execute({fn: snapshot, onProgress, step: UpgradeCodeProgressStep.TakingSnapshot});\n\n    // 4. Upgrading code: If the WASM is > 2MB we proceed with the chunked installation otherwise we use the original single chunk installation method.\n    const upgrade = async () => await upgradeCode({wasmModule, canisterId, actor, ...rest});\n    await execute({fn: upgrade, onProgress, step: UpgradeCodeProgressStep.UpgradingCode});\n  } finally {\n    // 5. We restart the canister to finalize the process.\n    const restart = async () => await canisterStart({canisterId, actor});\n    await execute({fn: restart, onProgress, step: UpgradeCodeProgressStep.RestartingCanister});\n  }\n};\n\nconst execute = async ({\n  fn,\n  step,\n  onProgress\n}: {fn: () => Promise<void>; step: UpgradeCodeProgressStep} & Pick<\n  UpgradeCodeParams,\n  'onProgress'\n>) => {\n  onProgress?.({\n    step,\n    state: 'in_progress'\n  });\n\n  try {\n    await fn();\n\n    onProgress?.({\n      step,\n      state: 'success'\n    });\n  } catch (err: unknown) {\n    onProgress?.({\n      step,\n      state: 'error'\n    });\n\n    throw err;\n  }\n};\n\nconst assertExistingCode = async ({\n  actor,\n  canisterId,\n  wasmModule,\n  reset\n}: Pick<UpgradeCodeParams, 'actor' | 'canisterId' | 'wasmModule'> & {reset?: boolean}) => {\n  // If we want to reinstall the module we are fine reinstalling the same version of the code\n  if (reset === true) {\n    return;\n  }\n\n  const {module_hash} = await canisterStatus({\n    actor,\n    canisterId\n  });\n\n  const installedHash = fromNullable(module_hash);\n\n  if (isNullish(installedHash)) {\n    return;\n  }\n\n  const newWasmModuleHash = await uint8ArraySha256(wasmModule);\n  const existingWasmModuleHash = uint8ArrayToHexString(installedHash);\n\n  if (newWasmModuleHash !== existingWasmModuleHash) {\n    return;\n  }\n\n  throw new UpgradeCodeUnchangedError();\n};\n\nconst upgradeCode = async ({\n  wasmModule,\n  canisterId,\n  actor,\n  ...rest\n}: Omit<UpgradeCodeParams, 'onProgress'>) => {\n  const upgradeType = (): 'chunked' | 'single' => {\n    const blob = new Blob([wasmModule]);\n    return blob.size > SIMPLE_INSTALL_MAX_WASM_SIZE ? 'chunked' : 'single';\n  };\n\n  const fn = upgradeType() === 'chunked' ? upgradeChunkedCode : upgradeSingleChunkCode;\n  await fn({wasmModule, canisterId, actor, ...rest});\n};\n\nconst createSnapshot = async (params: Pick<UpgradeCodeParams, 'canisterId' | 'actor'>) => {\n  const snapshots = await listCanisterSnapshots(params);\n\n  // TODO: currently only one snapshot per canister is supported on the IC\n  await takeCanisterSnapshot({\n    ...params,\n    snapshotId: snapshots?.[0]?.id\n  });\n};\n", "import {CanisterStatus} from '@dfinity/agent';\nimport {\n  type chunk_hash,\n  type InstallChunkedCodeParams,\n  type InstallCodeParams,\n  type list_canister_snapshots_result,\n  type snapshot_id,\n  type UploadChunkParams,\n  ICManagementCanister\n} from '@dfinity/ic-management';\nimport type {take_canister_snapshot_result} from '@dfinity/ic-management/dist/candid/ic-management';\nimport type {CanisterStatusResponse} from '@dfinity/ic-management/dist/types/types/ic-management.responses';\nimport {Principal} from '@dfinity/principal';\nimport type {ActorParameters} from '../types/actor.types';\nimport {useOrInitAgent} from '../utils/actor.utils';\n\nexport const canisterStop = async ({\n  canisterId,\n  actor\n}: {\n  canisterId: Principal;\n  actor: ActorParameters;\n}): Promise<void> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {stopCanister} = ICManagementCanister.create({\n    agent\n  });\n\n  await stopCanister(canisterId);\n};\n\nexport const canisterStart = async ({\n  canisterId,\n  actor\n}: {\n  canisterId: Principal;\n  actor: ActorParameters;\n}): Promise<void> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {startCanister} = ICManagementCanister.create({\n    agent\n  });\n\n  await startCanister(canisterId);\n};\n\nexport const installCode = async ({\n  actor,\n  code\n}: {\n  actor: ActorParameters;\n  code: InstallCodeParams;\n}): Promise<void> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {installCode} = ICManagementCanister.create({\n    agent\n  });\n\n  return installCode(code);\n};\n\nexport const storedChunks = async ({\n  actor,\n  canisterId\n}: {\n  actor: ActorParameters;\n  canisterId: Principal;\n}): Promise<chunk_hash[]> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {storedChunks} = ICManagementCanister.create({\n    agent\n  });\n\n  return storedChunks({canisterId});\n};\n\nexport const clearChunkStore = async ({\n  actor,\n  canisterId\n}: {\n  actor: ActorParameters;\n  canisterId: Principal;\n}): Promise<void> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {clearChunkStore} = ICManagementCanister.create({\n    agent\n  });\n\n  return clearChunkStore({canisterId});\n};\n\nexport const uploadChunk = async ({\n  actor,\n  chunk\n}: {\n  actor: ActorParameters;\n  chunk: UploadChunkParams;\n}): Promise<chunk_hash> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {uploadChunk} = ICManagementCanister.create({\n    agent\n  });\n\n  return uploadChunk(chunk);\n};\n\nexport const installChunkedCode = async ({\n  actor,\n  code\n}: {\n  actor: ActorParameters;\n  code: InstallChunkedCodeParams;\n}): Promise<void> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {installChunkedCode} = ICManagementCanister.create({\n    agent\n  });\n\n  return installChunkedCode(code);\n};\n\nexport const canisterStatus = async ({\n  actor,\n  canisterId\n}: {\n  actor: ActorParameters;\n  canisterId: Principal;\n}): Promise<CanisterStatusResponse> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {canisterStatus} = ICManagementCanister.create({\n    agent\n  });\n\n  return canisterStatus(canisterId);\n};\n\nexport const canisterMetadata = async ({\n  canisterId,\n  path,\n  ...rest\n}: ActorParameters & {\n  canisterId: Principal | string;\n  path: string;\n}): Promise<CanisterStatus.Status | undefined> => {\n  const agent = await useOrInitAgent(rest);\n\n  // TODO: Workaround for agent-js. Disable console.warn.\n  // See https://github.com/dfinity/agent-js/issues/843\n  const hideAgentJsConsoleWarn = globalThis.console.warn;\n  globalThis.console.warn = (): null => null;\n\n  const result = await CanisterStatus.request({\n    canisterId: canisterId instanceof Principal ? canisterId : Principal.fromText(canisterId),\n    agent,\n    paths: [\n      {\n        kind: 'metadata',\n        key: path,\n        path,\n        decodeStrategy: 'utf-8'\n      }\n    ]\n  });\n\n  // Redo console.warn\n  globalThis.console.warn = hideAgentJsConsoleWarn;\n\n  return result.get(path);\n};\n\nexport const listCanisterSnapshots = async ({\n  actor,\n  canisterId\n}: {\n  actor: ActorParameters;\n  canisterId: Principal;\n}): Promise<list_canister_snapshots_result> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {listCanisterSnapshots} = ICManagementCanister.create({\n    agent\n  });\n\n  return listCanisterSnapshots({canisterId});\n};\n\nexport const takeCanisterSnapshot = async ({\n  actor,\n  ...rest\n}: {\n  actor: ActorParameters;\n  canisterId: Principal;\n  snapshotId?: snapshot_id;\n}): Promise<take_canister_snapshot_result> => {\n  const agent = await useOrInitAgent(actor);\n\n  const {takeCanisterSnapshot} = ICManagementCanister.create({\n    agent\n  });\n\n  return takeCanisterSnapshot(rest);\n};\n", "import type {canister_install_mode} from '@dfinity/ic-management';\nimport type {Principal} from '@dfinity/principal';\nimport type {ActorParameters} from './actor.types';\n\nexport enum UpgradeCodeProgressStep {\n  AssertingExistingCode,\n  StoppingCanister,\n  TakingSnapshot,\n  UpgradingCode,\n  RestartingCanister\n}\n\nexport type UpgradeCodeProgressState = 'in_progress' | 'success' | 'error';\n\nexport interface UpgradeCodeProgress {\n  step: UpgradeCodeProgressStep;\n  state: UpgradeCodeProgressState;\n}\n\nexport interface UpgradeCodeParams {\n  actor: ActorParameters;\n  canisterId: Principal;\n  missionControlId?: Principal;\n  wasmModule: Uint8Array;\n  arg: Uint8Array;\n  mode: canister_install_mode;\n  preClearChunks?: boolean;\n  takeSnapshot?: boolean;\n  onProgress?: (progress: UpgradeCodeProgress) => void;\n}\n", "import type {chunk_hash} from '@dfinity/ic-management';\nimport {isNullish, nonNullish, uint8ArrayToHexString} from '@dfinity/utils';\nimport {\n  clearChunkStore,\n  installChunkedCode,\n  storedChunks as storedChunksApi,\n  uploadChunk as uploadChunkApi\n} from '../api/ic.api';\nimport {INSTALL_MAX_CHUNK_SIZE} from '../constants/upgrade.constants';\nimport {blobSha256, uint8ArraySha256} from '../helpers/crypto.helpers';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\n\ninterface UploadChunkOrderId {\n  orderId: number;\n}\n\ninterface UploadChunkParams extends UploadChunkOrderId {\n  chunk: Blob;\n  sha256: string;\n}\n\ninterface UploadChunkResult extends UploadChunkOrderId {\n  chunkHash: chunk_hash;\n}\n\nexport const upgradeChunkedCode = async ({\n  actor,\n  canisterId,\n  missionControlId,\n  wasmModule,\n  preClearChunks: userPreClearChunks,\n  ...rest\n}: UpgradeCodeParams) => {\n  // If the user want to clear - reset - any chunks that have been uploaded before we start by removing those.\n  if (userPreClearChunks) {\n    await clearChunkStore({actor, canisterId});\n  }\n\n  const wasmChunks = await wasmToChunks({wasmModule});\n\n  const {uploadChunks, storedChunks, preClearChunks, postClearChunks} = await prepareUpload({\n    actor,\n    wasmChunks,\n    canisterId,\n    missionControlId\n  });\n\n  // Alright, let's start by clearing existing chunks if there are already stored chunks but, none are matching those we want to upload.\n  if (preClearChunks) {\n    await clearChunkStore({actor, canisterId});\n  }\n\n  // Upload chunks to the IC in batch - i.e. 12 chunks uploaded at a time.\n  let chunkIds: UploadChunkResult[] = [];\n  for await (const results of batchUploadChunks({\n    uploadChunks,\n    actor,\n    canisterId,\n    missionControlId\n  })) {\n    chunkIds = [...chunkIds, ...results];\n  }\n\n  // Install the chunked code.\n  // \u26A0\uFE0F The order of the chunks is really important! \u26A0\uFE0F\n  await installChunkedCode({\n    actor,\n    code: {\n      ...rest,\n      chunkHashesList: [...chunkIds, ...storedChunks]\n        .sort(({orderId: orderIdA}, {orderId: orderIdB}) => orderIdA - orderIdB)\n        .map(({chunkHash}) => chunkHash),\n      targetCanisterId: canisterId,\n      storeCanisterId: missionControlId,\n      wasmModuleHash: await uint8ArraySha256(wasmModule)\n    }\n  });\n\n  // Finally let's clear only if no mission control is provided, as the chunks might be reused in that case.\n  if (postClearChunks) {\n    await clearChunkStore({actor, canisterId});\n  }\n};\n\nconst wasmToChunks = async ({\n  wasmModule\n}: Pick<UpgradeCodeParams, 'wasmModule'>): Promise<UploadChunkParams[]> => {\n  const blob = new Blob([wasmModule]);\n\n  const uploadChunks: UploadChunkParams[] = [];\n\n  const chunkSize = INSTALL_MAX_CHUNK_SIZE;\n\n  // Split data into chunks\n  let orderId = 0;\n  for (let start = 0; start < blob.size; start += chunkSize) {\n    const chunk = blob.slice(start, start + chunkSize);\n    uploadChunks.push({\n      chunk,\n      orderId,\n      sha256: await blobSha256(chunk)\n    });\n\n    orderId++;\n  }\n\n  return uploadChunks;\n};\n\ninterface PrepareUpload {\n  uploadChunks: UploadChunkParams[];\n  storedChunks: UploadChunkResult[];\n  preClearChunks: boolean;\n  postClearChunks: boolean;\n}\n\n/**\n * Prepares the upload of WASM chunks by determining which chunks need to be uploaded\n * and which are already stored. Additionally, it provides flags for pre-clear and post-clear operations.\n *\n * If a `missionControlId` is provided, the function fetches the already stored chunks\n * for the given mission control canister. Otherwise, it fetches them from the `canisterId`.\n *\n * In the response, `preClearChunks` is set to `true` if no stored chunks matching the one we are looking to upload are detected.\n * `postClearChunks` is set to `true` if no `missionControlId` is given, as the chunks might be reused for other installations.\n *\n * @param {Object} params - The input parameters.\n * @param {string} params.canisterId - The ID of the target canister.\n * @param {string} [params.missionControlId] - The ID of the mission control canister, if provided.\n * @param {Object} params.actor - The actor instance for interacting with the canister.\n * @param {UploadChunkParams[]} params.wasmChunks - The WASM chunks to be uploaded, including their hashes and metadata.\n *\n * @returns {Promise<PrepareUpload>} Resolves to an object containing:\n */\nconst prepareUpload = async ({\n  canisterId,\n  missionControlId,\n  actor,\n  wasmChunks\n}: Pick<UpgradeCodeParams, 'canisterId' | 'missionControlId' | 'actor'> & {\n  wasmChunks: UploadChunkParams[];\n}): Promise<PrepareUpload> => {\n  const stored = await storedChunksApi({\n    actor,\n    canisterId: missionControlId ?? canisterId\n  });\n\n  // We convert existing hash to extend with an easily comparable sha256 as hex value\n  const existingStoredChunks: (Pick<UploadChunkResult, 'chunkHash'> &\n    Pick<UploadChunkParams, 'sha256'>)[] = stored.map(({hash}) => ({\n    chunkHash: {hash},\n    sha256: uint8ArrayToHexString(hash)\n  }));\n\n  const {storedChunks, uploadChunks} = wasmChunks.reduce<\n    Omit<PrepareUpload, 'preClearChunks' | 'postClearChunks'>\n  >(\n    ({uploadChunks, storedChunks}, {sha256, ...rest}) => {\n      const existingStoredChunk = existingStoredChunks.find(\n        ({sha256: storedSha256}) => storedSha256 === sha256\n      );\n\n      return {\n        uploadChunks: [\n          ...uploadChunks,\n          ...(nonNullish(existingStoredChunk) ? [] : [{sha256, ...rest}])\n        ],\n        storedChunks: [\n          ...storedChunks,\n          ...(nonNullish(existingStoredChunk) ? [{...rest, ...existingStoredChunk}] : [])\n        ]\n      };\n    },\n    {\n      uploadChunks: [],\n      storedChunks: []\n    }\n  );\n\n  return {\n    uploadChunks,\n    storedChunks,\n    preClearChunks: stored.length > 0 && storedChunks.length === 0,\n    postClearChunks: isNullish(missionControlId)\n  };\n};\n\nasync function* batchUploadChunks({\n  uploadChunks,\n  limit = 12,\n  ...rest\n}: Pick<UpgradeCodeParams, 'actor' | 'canisterId' | 'missionControlId'> & {\n  uploadChunks: UploadChunkParams[];\n  limit?: number;\n}): AsyncGenerator<UploadChunkResult[], void> {\n  for (let i = 0; i < uploadChunks.length; i = i + limit) {\n    const batch = uploadChunks.slice(i, i + limit);\n    const result = await Promise.all(\n      batch.map((uploadChunkParams) =>\n        uploadChunk({\n          uploadChunk: uploadChunkParams,\n          ...rest\n        })\n      )\n    );\n    yield result;\n  }\n}\n\nconst uploadChunk = async ({\n  actor,\n  canisterId,\n  missionControlId,\n  uploadChunk: {chunk, ...rest}\n}: Pick<UpgradeCodeParams, 'actor' | 'canisterId' | 'missionControlId'> & {\n  uploadChunk: UploadChunkParams;\n}): Promise<UploadChunkResult> => {\n  const chunkHash = await uploadChunkApi({\n    actor,\n    chunk: {\n      canisterId: missionControlId ?? canisterId,\n      chunk: new Uint8Array(await chunk.arrayBuffer())\n    }\n  });\n\n  return {\n    chunkHash,\n    ...rest\n  };\n};\n", "import {installCode} from '../api/ic.api';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\n\nexport const upgradeSingleChunkCode = async ({actor, ...rest}: UpgradeCodeParams) => {\n  await installCode({\n    actor,\n    code: rest\n  });\n};\n", "import {IDL} from '@dfinity/candid';\nimport type {Principal} from '@dfinity/principal';\n\nexport const encoreIDLUser = (user: Principal): ArrayBuffer =>\n  IDL.encode(\n    [\n      IDL.Record({\n        user: IDL.Principal\n      })\n    ],\n    [{user}]\n  );\n\nexport const encodeIDLControllers = <T>(controllers: [Principal, T][]): ArrayBuffer =>\n  IDL.encode(\n    [\n      IDL.Record({\n        controllers: IDL.Vec(IDL.Principal)\n      })\n    ],\n    [{controllers: controllers.map(([controller, _]) => controller)}]\n  );\n", "import {assertNonNullish, isNullish} from '@dfinity/utils';\nimport {JUNO_PACKAGE_MISSION_CONTROL_ID} from '@junobuild/config';\nimport {version} from '../api/mission-control.api';\nimport {MissionControlVersionError} from '../errors/version.errors';\nimport type {MissionControlParameters} from '../types/actor.types';\nimport {getJunoPackage} from './package.services';\n\n/**\n * Retrieves the version of Mission Control.\n * @param {Object} params - The parameters for Mission Control.\n * @param {MissionControlParameters} params.missionControl - The Mission Control parameters.\n * @returns {Promise<string>} A promise that resolves to the version of Mission Control.\n */\nexport const missionControlVersion = async ({\n  missionControl: {missionControlId, ...rest}\n}: {\n  missionControl: MissionControlParameters;\n}): Promise<string> => {\n  assertNonNullish(\n    missionControlId,\n    'A Mission Control ID must be provided to request its version.'\n  );\n\n  const pkg = await getJunoPackage({\n    moduleId: missionControlId,\n    ...rest\n  });\n\n  // For backwards compatibility with legacy. Function version() was deprecated in Mission Control > v0.0.14\n  if (isNullish(pkg)) {\n    return await version({missionControl: {missionControlId, ...rest}});\n  }\n\n  const {name, version: missionControlVersion} = pkg;\n\n  if (name === JUNO_PACKAGE_MISSION_CONTROL_ID) {\n    return missionControlVersion;\n  }\n\n  throw new MissionControlVersionError();\n};\n", "import type {Principal} from '@dfinity/principal';\nimport {isNullish} from '@dfinity/utils';\nimport {type JunoPackage, JunoPackageSchema} from '@junobuild/config';\nimport * as z from 'zod';\nimport {canisterMetadata} from '../api/ic.api';\nimport type {ActorParameters} from '../types/actor.types';\n\n/**\n * Parameters required to retrieve a `juno:package` metadata section.\n *\n * @typedef {Object} GetJunoPackageParams\n * @property {Principal | string} moduleId - The ID of the canister module (as a Principal or string).\n * @property {ActorParameters} [ActorParameters] - Additional actor parameters for making the canister call.\n */\nexport type GetJunoPackageParams = {moduleId: Principal | string} & ActorParameters;\n\n/**\n * Get the `juno:package` metadata from the public custom section of a given module.\n *\n * @param {Object} params - The parameters to fetch the metadata.\n * @param {Principal | string} params.moduleId - The canister ID (as a `Principal` or string) from which to retrieve the metadata.\n * @param {ActorParameters} params - Additional actor parameters required for the call.\n *\n * @returns {Promise<JunoPackage | undefined>} A promise that resolves to the parsed `JunoPackage` metadata, or `undefined` if not found.\n *\n * @throws {ZodError} If the metadata exists but does not conform to the expected `JunoPackage` schema.\n */\nexport const getJunoPackage = async ({\n  moduleId,\n  ...rest\n}: GetJunoPackageParams): Promise<JunoPackage | undefined> => {\n  const status = await canisterMetadata({...rest, canisterId: moduleId, path: 'juno:package'});\n\n  if (isNullish(status)) {\n    return undefined;\n  }\n\n  if (typeof status !== 'string') {\n    throw new Error('Unexpected metadata type to parse public custom section juno:package');\n  }\n\n  // https://stackoverflow.com/a/75881231/5404186\n  // https://github.com/colinhacks/zod/discussions/2215#discussioncomment-5356286\n  const createPackageFromJson = (content: string): JunoPackage =>\n    z\n      .string()\n      // eslint-disable-next-line local-rules/prefer-object-params\n      .transform((str, ctx) => {\n        try {\n          return JSON.parse(str);\n        } catch (_err: unknown) {\n          ctx.addIssue({\n            code: z.ZodIssueCode.custom,\n            message: 'Invalid JSON'\n          });\n          return z.never;\n        }\n      })\n      .pipe(JunoPackageSchema)\n      .parse(content);\n\n  return createPackageFromJson(status);\n};\n\n/**\n * Retrieves only the `version` field from the `juno:package` metadata.\n *\n * @param {GetJunoPackageParams} params - The parameters to fetch the package version.\n *\n * @returns {Promise<string | undefined>} A promise that resolves to the version string or `undefined` if not found.\n *\n * @throws {ZodError} If the metadata exists but does not conform to the expected `JunoPackage` schema.\n */\nexport const getJunoPackageVersion = async (\n  params: GetJunoPackageParams\n): Promise<JunoPackage['version'] | undefined> => {\n  const pkg = await getJunoPackage(params);\n  return pkg?.version;\n};\n\n/**\n * Retrieves the `dependencies` field from the `juno:package` metadata.\n *\n * @param {GetJunoPackageParams} params - The parameters to fetch the package metadata.\n *\n * @returns {Promise<JunoPackage['dependencies'] | undefined>} A promise that resolves to the dependencies object or `undefined` if not found.\n *\n * @throws {ZodError} If the metadata exists but does not conform to the expected `JunoPackage` schema.\n */\nexport const getJunoPackageDependencies = async (\n  params: GetJunoPackageParams\n): Promise<JunoPackage['dependencies'] | undefined> => {\n  const pkg = await getJunoPackage(params);\n  return pkg?.dependencies;\n};\n", "import {upgrade} from '../handlers/upgrade.handlers';\nimport type {ActorParameters} from '../types/actor.types';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\n\n/**\n * Upgrades a module with the provided WASM code and arguments. This generic is notably useful for Juno Docker.\n *\n * @param {Object} params - Parameters for upgrading the module.\n * @param {ActorParameters} params.actor - The actor parameters associated with the module.\n * @param {Principal} params.canisterId - The ID of the canister being upgraded.\n * @param {Principal} [params.missionControlId] - Optional. An ID to store and reuse WASM chunks across installations.\n * @param {Uint8Array} params.wasmModule - The WASM code to be installed during the upgrade.\n * @param {Uint8Array} params.arg - The initialization argument for the module upgrade.\n * @param {canister_install_mode} params.mode - The installation mode, e.g., `upgrade` or `reinstall`.\n * @param {boolean} [params.preClearChunks] - Optional. Forces clearing existing chunks before uploading a chunked WASM module. Recommended for WASM modules larger than 2MB.\n * @param {function} [params.onProgress] - Optional. Callback function to track progress during the upgrade process.\n * @param {boolean} [params.reset=false] - Optional. Specifies whether to reset the module (reinstall) instead of performing an upgrade. Defaults to `false`.\n * @throws {Error} Will throw an error if the parameters are invalid or if the upgrade process fails.\n * @returns {Promise<void>} Resolves when the upgrade process is complete.\n */\nexport const upgradeModule = async (\n  params: {\n    actor: ActorParameters;\n    reset?: boolean;\n  } & UpgradeCodeParams\n): Promise<void> => {\n  await upgrade(params);\n};\n", "import type {Principal} from '@dfinity/principal';\nimport type {\n  Controller,\n  MemorySize,\n  _SERVICE as OrbiterActor\n} from '../../declarations/orbiter/orbiter.did';\nimport type {OrbiterParameters} from '../types/actor.types';\nimport {getDeprecatedOrbiterVersionActor, getOrbiterActor} from './actor.api';\n\n/**\n * @deprecated - Replaced in Orbiter > v0.0.8 with public custom section juno:package\n */\nexport const version = async ({orbiter}: {orbiter: OrbiterParameters}): Promise<string> => {\n  const {version} = await getDeprecatedOrbiterVersionActor(orbiter);\n  return version();\n};\n\nexport const listControllers = async ({\n  orbiter\n}: {\n  orbiter: OrbiterParameters;\n}): Promise<[Principal, Controller][]> => {\n  const actor: OrbiterActor = await getOrbiterActor(orbiter);\n  return actor.list_controllers();\n};\n\nexport const memorySize = async ({orbiter}: {orbiter: OrbiterParameters}): Promise<MemorySize> => {\n  const {memory_size} = await getOrbiterActor(orbiter);\n  return memory_size();\n};\n", "import type {Principal} from '@dfinity/principal';\nimport type {Controller} from '../../declarations/mission_control/mission_control.did';\nimport {listControllers} from '../api/orbiter.api';\nimport type {OrbiterParameters} from '../types/actor.types';\n\n/**\n * Lists the controllers of the Orbiter.\n * @param {Object} params - The parameters for listing the controllers.\n * @param {OrbiterParameters} params.orbiter - The Orbiter parameters.\n * @returns {Promise<[Principal, Controller][]>} A promise that resolves to a list of controllers.\n */\nexport const listOrbiterControllers = (params: {\n  orbiter: OrbiterParameters;\n}): Promise<[Principal, Controller][]> => listControllers(params);\n", "import type {MemorySize} from '../../declarations/orbiter/orbiter.did';\nimport {memorySize} from '../api/orbiter.api';\nimport type {OrbiterParameters} from '../types/actor.types';\n\n/**\n * Retrieves the stable and heap memory size of the Orbiter.\n * @param {Object} params - The parameters for the Orbiter.\n * @param {OrbiterParameters} params.orbiter - The Orbiter parameters.\n * @returns {Promise<MemorySize>} A promise that resolves to the memory size of the Orbiter.\n */\nexport const orbiterMemorySize = (params: {orbiter: OrbiterParameters}): Promise<MemorySize> =>\n  memorySize(params);\n", "import {Principal} from '@dfinity/principal';\nimport {listControllers} from '../api/orbiter.api';\nimport {INSTALL_MODE_RESET, INSTALL_MODE_UPGRADE} from '../constants/upgrade.constants';\nimport {upgrade} from '../handlers/upgrade.handlers';\nimport type {OrbiterParameters} from '../types/actor.types';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\nimport {encodeIDLControllers} from '../utils/idl.utils';\n\n/**\n * Upgrades the Orbiter with the provided WASM module.\n * @param {Object} params - The parameters for upgrading the Orbiter.\n * @param {OrbiterParameters} params.orbiter - The Orbiter parameters, including the actor and orbiter ID.\n * @param {Principal} [params.missionControlId] - Optional. The Mission Control ID to potentially store WASM chunks, enabling reuse across installations.\n * @param {Uint8Array} params.wasmModule - The WASM module to be installed during the upgrade.\n * @param {boolean} [params.reset=false] - Optional. Indicates whether to reset the Orbiter (reinstall) instead of performing an upgrade. Defaults to `false`.\n * @param {boolean} [params.preClearChunks] - Optional. Forces clearing existing chunks before uploading a chunked WASM module. Recommended if the WASM exceeds 2MB.\n * @param {boolean} [params.takeSnapshot=true] - Optional. Whether to take a snapshot before performing the upgrade. Defaults to true.\n * @param {function} [params.onProgress] - Optional. Callback function to track progress during the upgrade process.\n * @throws {Error} Will throw an error if the Orbiter principal is not defined.\n * @returns {Promise<void>} Resolves when the upgrade process is complete.\n */\n\nexport const upgradeOrbiter = async ({\n  orbiter,\n  reset = false,\n  ...rest\n}: {\n  orbiter: OrbiterParameters;\n  reset?: boolean;\n} & Pick<\n  UpgradeCodeParams,\n  'wasmModule' | 'missionControlId' | 'preClearChunks' | 'takeSnapshot' | 'onProgress'\n>): Promise<void> => {\n  const {orbiterId, ...actor} = orbiter;\n\n  if (!orbiterId) {\n    throw new Error('No orbiter principal defined.');\n  }\n\n  const controllers = await listControllers({orbiter});\n\n  const arg = encodeIDLControllers(controllers);\n\n  await upgrade({\n    actor,\n    canisterId: Principal.fromText(orbiterId),\n    arg: new Uint8Array(arg),\n    mode: reset ? INSTALL_MODE_RESET : INSTALL_MODE_UPGRADE,\n    reset,\n    ...rest\n  });\n};\n", "import {assertNonNullish, isNullish} from '@dfinity/utils';\nimport {JUNO_PACKAGE_ORBITER_ID} from '@junobuild/config';\nimport {version} from '../api/orbiter.api';\nimport {OrbiterVersionError} from '../errors/version.errors';\nimport type {OrbiterParameters} from '../types/actor.types';\nimport {getJunoPackage} from './package.services';\n\n/**\n * Retrieves the version of the Orbiter.\n * @param {Object} params - The parameters for the Orbiter.\n * @param {OrbiterParameters} params.orbiter - The Orbiter parameters.\n * @returns {Promise<string>} A promise that resolves to the version of the Orbiter.\n */\nexport const orbiterVersion = async ({\n  orbiter: {orbiterId, ...rest}\n}: {\n  orbiter: OrbiterParameters;\n}): Promise<string> => {\n  assertNonNullish(orbiterId, 'An Orbiter ID must be provided to request its version.');\n\n  const pkg = await getJunoPackage({\n    moduleId: orbiterId,\n    ...rest\n  });\n\n  // For backwards compatibility with legacy. Function version() was deprecated in Mission Control > v0.0.8\n  if (isNullish(pkg)) {\n    return await version({orbiter: {orbiterId, ...rest}});\n  }\n\n  const {name, version: missionControlVersion} = pkg;\n\n  if (name === JUNO_PACKAGE_ORBITER_ID) {\n    return missionControlVersion;\n  }\n\n  throw new OrbiterVersionError();\n};\n", "import type {Principal} from '@dfinity/principal';\nimport {toNullable} from '@dfinity/utils';\nimport type {_SERVICE as DeprecatedSatelliteNoScopeActor} from '../../declarations/satellite/satellite-deprecated-no-scope.did';\nimport type {_SERVICE as DeprecatedSatelliteActor} from '../../declarations/satellite/satellite-deprecated.did';\nimport type {\n  AuthenticationConfig,\n  CollectionType,\n  Controller,\n  CustomDomain,\n  DbConfig,\n  ListRulesParams,\n  ListRulesResults,\n  MemorySize,\n  Rule,\n  _SERVICE as SatelliteActor,\n  SetControllersArgs,\n  SetRule,\n  StorageConfig\n} from '../../declarations/satellite/satellite.did';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport {\n  getDeprecatedSatelliteActor,\n  getDeprecatedSatelliteNoScopeActor,\n  getDeprecatedSatelliteVersionActor,\n  getSatelliteActor\n} from './actor.api';\n\nexport const setStorageConfig = async ({\n  config,\n  satellite\n}: {\n  config: StorageConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const {set_storage_config} = await getSatelliteActor(satellite);\n  return set_storage_config(config);\n};\n\nexport const setDatastoreConfig = async ({\n  config,\n  satellite\n}: {\n  config: DbConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const {set_db_config} = await getSatelliteActor(satellite);\n  return set_db_config(config);\n};\n\nexport const setAuthConfig = async ({\n  config,\n  satellite\n}: {\n  config: AuthenticationConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const {set_auth_config} = await getSatelliteActor(satellite);\n  return set_auth_config(config);\n};\n\nexport const getStorageConfig = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<StorageConfig> => {\n  const {get_storage_config} = await getSatelliteActor(satellite);\n  return get_storage_config();\n};\n\nexport const getDatastoreConfig = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<[] | [DbConfig]> => {\n  const {get_db_config} = await getSatelliteActor(satellite);\n  return get_db_config();\n};\n\nexport const getAuthConfig = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<[] | [AuthenticationConfig]> => {\n  const {get_auth_config} = await getSatelliteActor(satellite);\n  return get_auth_config();\n};\n\nexport const listRules = async ({\n  satellite,\n  type,\n  filter\n}: {\n  satellite: SatelliteParameters;\n  type: CollectionType;\n  filter: ListRulesParams;\n}): Promise<ListRulesResults> => {\n  const {list_rules} = await getSatelliteActor(satellite);\n  return list_rules(type, filter);\n};\n\nexport const setRule = async ({\n  type,\n  collection,\n  rule,\n  satellite\n}: {\n  type: CollectionType;\n  collection: string;\n  rule: SetRule;\n  satellite: SatelliteParameters;\n}): Promise<Rule> => {\n  const {set_rule} = await getSatelliteActor(satellite);\n  return set_rule(type, collection, rule);\n};\n\n/**\n * @deprecated - Replaced in Satellite > v0.0.22 with public custom section juno:package\n */\nexport const version = async ({satellite}: {satellite: SatelliteParameters}): Promise<string> => {\n  const {version} = await getDeprecatedSatelliteVersionActor(satellite);\n  return version();\n};\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const listDeprecatedControllers = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<Principal[]> => {\n  const actor: DeprecatedSatelliteActor = await getDeprecatedSatelliteActor(satellite);\n  return actor.list_controllers();\n};\n\n/**\n * @deprecated TODO: for backwards compatibility - to be removed\n */\nexport const listDeprecatedNoScopeControllers = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<[Principal, Controller][]> => {\n  const actor: DeprecatedSatelliteNoScopeActor =\n    await getDeprecatedSatelliteNoScopeActor(satellite);\n  return actor.list_controllers() as Promise<[Principal, Controller][]>;\n};\n\nexport const listControllers = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<[Principal, Controller][]> => {\n  const actor: SatelliteActor = await getSatelliteActor(satellite);\n  return actor.list_controllers();\n};\n\nexport const listCustomDomains = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<[string, CustomDomain][]> => {\n  const {list_custom_domains} = await getSatelliteActor(satellite);\n  return list_custom_domains();\n};\n\nexport const setCustomDomain = async ({\n  satellite,\n  domainName,\n  boundaryNodesId\n}: {\n  satellite: SatelliteParameters;\n  domainName: string;\n  boundaryNodesId: string | undefined;\n}): Promise<void> => {\n  const {set_custom_domain} = await getSatelliteActor(satellite);\n  await set_custom_domain(domainName, toNullable(boundaryNodesId));\n};\n\nexport const memorySize = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<MemorySize> => {\n  const {memory_size} = await getSatelliteActor(satellite);\n  return memory_size();\n};\n\nexport const countDocs = async ({\n  collection,\n  satellite\n}: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<bigint> => {\n  const {count_collection_docs} = await getSatelliteActor(satellite);\n  return count_collection_docs(collection);\n};\n\nexport const countAssets = async ({\n  collection,\n  satellite\n}: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<bigint> => {\n  const {count_collection_assets} = await getSatelliteActor(satellite);\n  return count_collection_assets(collection);\n};\n\nexport const deleteDocs = async ({\n  collection,\n  satellite\n}: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const {del_docs} = await getSatelliteActor(satellite);\n  return del_docs(collection);\n};\n\nexport const deleteAssets = async ({\n  collection,\n  satellite\n}: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const {del_assets} = await getSatelliteActor(satellite);\n  return del_assets(collection);\n};\n\nexport const setControllers = async ({\n  args,\n  satellite\n}: {\n  args: SetControllersArgs;\n  satellite: SatelliteParameters;\n}): Promise<[Principal, Controller][]> => {\n  const {set_controllers} = await getSatelliteActor(satellite);\n  return set_controllers(args);\n};\n", "import {countAssets as countAssetsApi, deleteAssets as deleteAssetsApi} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\n\n/**\n * Counts the assets in a collection.\n * @param {Object} params - The parameters for counting the assets.\n * @param {string} params.collection - The name of the collection.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<bigint>} A promise that resolves to the number of assets in the collection.\n */\nexport const countAssets = (params: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<bigint> => countAssetsApi(params);\n\n/**\n * Deletes the assets in a collection.\n * @param {Object} params - The parameters for deleting the assets.\n * @param {string} params.collection - The name of the collection.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the assets are deleted.\n */\nexport const deleteAssets = (params: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<void> => deleteAssetsApi(params);\n", "import {fromNullable, isNullish, nonNullish, toNullable} from '@dfinity/utils';\nimport type {\n  AuthenticationConfig,\n  DatastoreConfig,\n  StorageConfig,\n  StorageConfigHeader,\n  StorageConfigRedirect,\n  StorageConfigRewrite\n} from '@junobuild/config';\nimport type {\n  StorageConfigIFrame as StorageConfigIFrameDid,\n  StorageConfigRawAccess as StorageConfigRawAccessDid,\n  StorageConfigRedirect as StorageConfigRedirectDid\n} from '../../declarations/satellite/satellite.did';\nimport {\n  getAuthConfig as getAuthConfigApi,\n  setAuthConfig as setAuthConfigApi,\n  setDatastoreConfig as setDatastoreConfigApi,\n  setStorageConfig as setStorageConfigApi\n} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport {toMaxMemorySize} from '../utils/memory.utils';\n\n/**\n * Sets the configuration for the Storage of a Satellite.\n * @param {Object} params - The parameters for setting the configuration.\n * @param {Object} params.config - The storage configuration.\n * @param {Array<StorageConfigHeader>} params.config.headers - The headers configuration.\n * @param {Array<StorageConfigRewrite>} params.config.rewrites - The rewrites configuration.\n * @param {Array<StorageConfigRedirect>} params.config.redirects - The redirects configuration.\n * @param {string} params.config.iframe - The iframe configuration.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the configuration is set.\n */\nexport const setStorageConfig = async ({\n  config: {\n    headers: configHeaders,\n    rewrites: configRewrites,\n    redirects: configRedirects,\n    iframe: configIFrame,\n    rawAccess: configRawAccess,\n    maxMemorySize: configMaxMemorySize\n  },\n  satellite\n}: {\n  config: StorageConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  const headers: [string, [string, string][]][] = (configHeaders ?? []).map(\n    ({source, headers}: StorageConfigHeader) => [source, headers]\n  );\n\n  const rewrites: [string, string][] = (configRewrites ?? []).map(\n    ({source, destination}: StorageConfigRewrite) => [source, destination]\n  );\n\n  const redirects: [string, StorageConfigRedirectDid][] = (configRedirects ?? []).map(\n    ({source, location, code}: StorageConfigRedirect) => [source, {status_code: code, location}]\n  );\n\n  const iframe: StorageConfigIFrameDid =\n    configIFrame === 'same-origin'\n      ? {SameOrigin: null}\n      : configIFrame === 'allow-any'\n        ? {AllowAny: null}\n        : {Deny: null};\n\n  const rawAccess: StorageConfigRawAccessDid =\n    configRawAccess === true ? {Allow: null} : {Deny: null};\n\n  return await setStorageConfigApi({\n    satellite,\n    config: {\n      headers,\n      rewrites,\n      redirects: [redirects],\n      iframe: [iframe],\n      raw_access: [rawAccess],\n      max_memory_size: toMaxMemorySize(configMaxMemorySize)\n    }\n  });\n};\n\n/**\n * Sets the datastore configuration for a satellite.\n * @param {Object} params - The parameters for setting the authentication configuration.\n * @param {Object} params.config - The datastore configuration.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the datastore configuration is set.\n */\nexport const setDatastoreConfig = async ({\n  config: {maxMemorySize},\n  ...rest\n}: {\n  config: DatastoreConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  await setDatastoreConfigApi({\n    config: {\n      max_memory_size: toMaxMemorySize(maxMemorySize)\n    },\n    ...rest\n  });\n};\n\n/**\n * Sets the authentication configuration for a satellite.\n * @param {Object} params - The parameters for setting the authentication configuration.\n * @param {Object} params.config - The authentication configuration.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the authentication configuration is set.\n */\nexport const setAuthConfig = async ({\n  config: {internetIdentity},\n  ...rest\n}: {\n  config: AuthenticationConfig;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  await setAuthConfigApi({\n    config: {\n      internet_identity: isNullish(internetIdentity)\n        ? []\n        : [\n            {\n              derivation_origin: toNullable(internetIdentity?.derivationOrigin),\n              external_alternative_origins: toNullable(internetIdentity?.externalAlternativeOrigins)\n            }\n          ]\n    },\n    ...rest\n  });\n};\n\n/**\n * Gets the authentication configuration for a satellite.\n * @param {Object} params - The parameters for getting the authentication configuration.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<AuthenticationConfig | undefined>} A promise that resolves to the authentication configuration or undefined if not found.\n */\nexport const getAuthConfig = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<AuthenticationConfig | undefined> => {\n  const config = fromNullable(\n    await getAuthConfigApi({\n      satellite\n    })\n  );\n\n  if (isNullish(config)) {\n    return undefined;\n  }\n\n  const internetIdentity = fromNullable(config.internet_identity ?? []);\n\n  return {\n    ...(nonNullish(internetIdentity) && {\n      internetIdentity: {\n        ...(nonNullish(fromNullable(internetIdentity.derivation_origin)) && {\n          derivationOrigin: fromNullable(internetIdentity.derivation_origin)\n        })\n      }\n    })\n  };\n};\n", "import {nonNullish, toNullable} from '@dfinity/utils';\nimport type {MaxMemorySizeConfig} from '@junobuild/config';\nimport type {ConfigMaxMemorySize} from '../../declarations/satellite/satellite.did';\n\nexport const toMaxMemorySize = (\n  configMaxMemorySize?: MaxMemorySizeConfig\n): [] | [ConfigMaxMemorySize] =>\n  toNullable(\n    nonNullish(configMaxMemorySize)\n      ? {\n          heap: toNullable(configMaxMemorySize.heap),\n          stable: toNullable(configMaxMemorySize.stable)\n        }\n      : undefined\n  );\n", "import type {Principal} from '@dfinity/principal';\nimport type {Controller, SetControllersArgs} from '../../declarations/satellite/satellite.did';\nimport {\n  listControllers,\n  listDeprecatedNoScopeControllers,\n  setControllers\n} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\n/**\n * Lists the controllers of a satellite.\n * @param {Object} params - The parameters for listing the controllers.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @param {boolean} [params.deprecatedNoScope] - Whether to list deprecated no-scope controllers.\n * @returns {Promise<[Principal, Controller][]>} A promise that resolves to a list of controllers.\n */\nexport const listSatelliteControllers = ({\n  deprecatedNoScope,\n  ...params\n}: {\n  satellite: SatelliteParameters;\n  deprecatedNoScope?: boolean;\n}): Promise<[Principal, Controller][]> => {\n  const list = deprecatedNoScope === true ? listDeprecatedNoScopeControllers : listControllers;\n  return list(params);\n};\n\n/**\n * Sets the controllers of a satellite.\n * @param {Object} params - The parameters for setting the controllers.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @param {SetControllersArgs} params.args - The arguments for setting the controllers.\n * @returns {Promise<[Principal, Controller][]>} A promise that resolves to a list of controllers.\n */\nexport const setSatelliteControllers = (params: {\n  satellite: SatelliteParameters;\n  args: SetControllersArgs;\n}): Promise<[Principal, Controller][]> => setControllers(params);\n", "import {countDocs as countDocsApi, deleteDocs as deleteDocsApi} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\n\n/**\n * Counts the documents in a collection.\n * @param {Object} params - The parameters for counting the documents.\n * @param {string} params.collection - The name of the collection.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<bigint>} A promise that resolves to the number of documents in the collection.\n */\nexport const countDocs = (params: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<bigint> => countDocsApi(params);\n\n/**\n * Deletes the documents in a collection.\n * @param {Object} params - The parameters for deleting the documents.\n * @param {string} params.collection - The name of the collection.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the documents are deleted.\n */\nexport const deleteDocs = (params: {\n  collection: string;\n  satellite: SatelliteParameters;\n}): Promise<void> => deleteDocsApi(params);\n", "import {fromNullable, nonNullish} from '@dfinity/utils';\nimport {\n  listCustomDomains as listCustomDomainsApi,\n  setCustomDomain as setCustomDomainApi\n} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport type {CustomDomain} from '../types/customdomain.types';\n\n/**\n * Lists the custom domains for a satellite.\n * @param {Object} params - The parameters for listing the custom domains.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<CustomDomain[]>} A promise that resolves to an array of custom domains.\n */\nexport const listCustomDomains = async ({\n  satellite\n}: {\n  satellite: SatelliteParameters;\n}): Promise<CustomDomain[]> => {\n  const domains = await listCustomDomainsApi({\n    satellite\n  });\n\n  return domains.map(([domain, details]) => {\n    const domainVersion = fromNullable(details.version);\n\n    return {\n      domain,\n      bn_id: fromNullable(details.bn_id),\n      created_at: details.created_at,\n      updated_at: details.updated_at,\n      ...(nonNullish(domainVersion) && {version: domainVersion})\n    };\n  });\n};\n\n/**\n * Sets some custom domains for a satellite.\n * @param {Object} params - The parameters for setting the custom domains.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @param {Pick<CustomDomain, \"domain\" | \"bn_id\">}[] params.domains - The custom domains - name and optional BN ID - to set.\n * @returns {Promise<void[]>} A promise that resolves when the custom domains are set.\n */\nexport const setCustomDomains = ({\n  satellite,\n  domains\n}: {\n  satellite: SatelliteParameters;\n  domains: Pick<CustomDomain, 'domain' | 'bn_id'>[];\n}): Promise<void[]> =>\n  Promise.all(\n    domains.map(({domain: domainName, bn_id: boundaryNodesId}) =>\n      setCustomDomainApi({\n        satellite,\n        domainName,\n        boundaryNodesId\n      })\n    )\n  );\n\n/**\n * Sets a custom domain for a satellite.\n * @param {Object} params - The parameters for setting the custom domain.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @param {Pick<CustomDomain, \"domain\" | \"bn_id\">} params.domain - The custom domain name and optional BN ID to set.\n * @returns {Promise<void>} A promise that resolves when the custom domain is set.\n */\nexport const setCustomDomain = ({\n  satellite,\n  domain\n}: {\n  satellite: SatelliteParameters;\n  domain: Pick<CustomDomain, 'domain' | 'bn_id'>;\n}): Promise<void> =>\n  setCustomDomainApi({\n    satellite,\n    domainName: domain.domain,\n    boundaryNodesId: domain.bn_id\n  });\n", "import type {MemorySize} from '../../declarations/satellite/satellite.did';\nimport {memorySize} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\n\n/**\n * Retrieves the stable and heap memory size of a satellite.\n * @param {Object} params - The parameters for retrieving the memory size.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<MemorySize>} A promise that resolves to the memory size of the satellite.\n */\nexport const satelliteMemorySize = (params: {\n  satellite: SatelliteParameters;\n}): Promise<MemorySize> => memorySize(params);\n", "import {fromNullable, isNullish, nonNullish, toNullable} from '@dfinity/utils';\nimport type {MemoryText, PermissionText, Rule, RulesType} from '@junobuild/config';\nimport type {\n  CollectionType as CollectionTypeApi,\n  ListRulesParams as ListRulesParamsApi,\n  Memory,\n  Permission,\n  Rule as RuleApi,\n  SetRule\n} from '../../declarations/satellite/satellite.did';\nimport {\n  DbRulesType,\n  DEFAULT_RATE_CONFIG_TIME_PER_TOKEN_NS,\n  MemoryHeap,\n  MemoryStable,\n  PermissionControllers,\n  PermissionManaged,\n  PermissionPrivate,\n  PermissionPublic,\n  StorageRulesType\n} from '../constants/rules.constants';\nimport type {ListRulesMatcher} from '../types/list.types';\n\nexport const mapRuleType = (type: RulesType): CollectionTypeApi =>\n  type === 'storage' ? StorageRulesType : DbRulesType;\n\nexport const mapRulesFilter = (filter?: ListRulesMatcher): ListRulesParamsApi => ({\n  matcher: isNullish(filter)\n    ? toNullable()\n    : toNullable({\n        include_system: filter.include_system\n      })\n});\n\nexport const mapSetRule = ({\n  read,\n  write,\n  memory,\n  maxSize,\n  maxChangesPerUser,\n  maxCapacity,\n  version,\n  mutablePermissions,\n  maxTokens\n}: Pick<\n  Rule,\n  | 'read'\n  | 'write'\n  | 'maxSize'\n  | 'maxChangesPerUser'\n  | 'maxCapacity'\n  | 'version'\n  | 'memory'\n  | 'mutablePermissions'\n  | 'maxTokens'\n>): SetRule => ({\n  read: permissionFromText(read),\n  write: permissionFromText(write),\n  memory: nonNullish(memory) ? [memoryFromText(memory)] : [],\n  version: toNullable(version),\n  max_size: toNullable(nonNullish(maxSize) && maxSize > 0 ? BigInt(maxSize) : undefined),\n  max_capacity: toNullable(nonNullish(maxCapacity) && maxCapacity > 0 ? maxCapacity : undefined),\n  max_changes_per_user: toNullable(\n    nonNullish(maxChangesPerUser) && maxChangesPerUser > 0 ? maxChangesPerUser : undefined\n  ),\n  mutable_permissions: toNullable(mutablePermissions),\n  rate_config: nonNullish(maxTokens)\n    ? [\n        {\n          max_tokens: BigInt(maxTokens),\n          time_per_token_ns: DEFAULT_RATE_CONFIG_TIME_PER_TOKEN_NS\n        }\n      ]\n    : []\n});\n\nexport const mapRule = ([collection, rule]: [string, RuleApi]): Rule => {\n  const {\n    read,\n    write,\n    updated_at,\n    created_at,\n    max_size,\n    max_changes_per_user,\n    max_capacity,\n    memory,\n    mutable_permissions,\n    version,\n    rate_config\n  } = rule;\n\n  const maxSize = (max_size?.[0] ?? 0n > 0n) ? Number(fromNullable(max_size)) : undefined;\n  const maxChangesPerUser =\n    (max_changes_per_user?.[0] ?? 0 > 0) ? fromNullable(max_changes_per_user) : undefined;\n  const maxCapacity = (max_capacity?.[0] ?? 0 > 0) ? fromNullable(max_capacity) : undefined;\n\n  const ruleVersion = fromNullable(version);\n\n  const maxTokens =\n    (rate_config?.[0]?.max_tokens ?? 0n > 0n) ? fromNullable(rate_config)?.max_tokens : undefined;\n\n  return {\n    collection,\n    read: permissionToText(read),\n    write: permissionToText(write),\n    memory: memoryToText(fromNullable(memory) ?? MemoryHeap),\n    updatedAt: updated_at,\n    createdAt: created_at,\n    ...(nonNullish(ruleVersion) && {version: ruleVersion}),\n    ...(nonNullish(maxChangesPerUser) && {maxChangesPerUser}),\n    ...(nonNullish(maxSize) && {maxSize}),\n    ...(nonNullish(maxCapacity) && {maxCapacity}),\n    mutablePermissions: fromNullable(mutable_permissions) ?? true,\n    ...(nonNullish(maxTokens) && {maxTokens: Number(maxTokens)})\n  };\n};\n\nexport const permissionToText = (permission: Permission): PermissionText => {\n  if ('Public' in permission) {\n    return 'public';\n  }\n\n  if ('Private' in permission) {\n    return 'private';\n  }\n\n  if ('Managed' in permission) {\n    return 'managed';\n  }\n\n  return 'controllers';\n};\n\nconst permissionFromText = (text: PermissionText): Permission => {\n  switch (text) {\n    case 'public':\n      return PermissionPublic;\n    case 'private':\n      return PermissionPrivate;\n    case 'managed':\n      return PermissionManaged;\n    default:\n      return PermissionControllers;\n  }\n};\n\nexport const memoryFromText = (text: MemoryText): Memory => {\n  switch (text.toLowerCase()) {\n    case 'heap':\n      return MemoryHeap;\n    default:\n      return MemoryStable;\n  }\n};\n\nexport const memoryToText = (memory: Memory): MemoryText => {\n  if ('Heap' in memory) {\n    return 'heap';\n  }\n\n  return 'stable';\n};\n", "import type {CollectionType, Memory, Permission} from '../../declarations/satellite/satellite.did';\n\nexport const DbRulesType: CollectionType = {Db: null};\nexport const StorageRulesType: CollectionType = {Storage: null};\n\nexport const PermissionPublic: Permission = {Public: null};\nexport const PermissionPrivate: Permission = {Private: null};\nexport const PermissionManaged: Permission = {Managed: null};\nexport const PermissionControllers: Permission = {Controllers: null};\n\nexport const MemoryHeap: Memory = {Heap: null};\nexport const MemoryStable: Memory = {Stable: null};\n\nexport const DEFAULT_RATE_CONFIG_TIME_PER_TOKEN_NS = 600_000_000n;\n", "import type {Rule, RulesType} from '@junobuild/config';\nimport {listRules as listRulesApi, setRule as setRuleApi} from '../api/satellite.api';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport type {ListRulesMatcher, ListRulesResults} from '../types/list.types';\nimport {mapRule, mapRulesFilter, mapRuleType, mapSetRule} from '../utils/rule.utils';\n\n/**\n * Lists the rules for a satellite.\n * @param {Object} params - The parameters for listing the rules.\n * @param {RulesType} params.type - The type of rules to list.\n * @param {ListRulesMatcher} params.filter - The optional filter for the query.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<ListRulesResults>} A promise that resolves to the resolved rules.\n */\nexport const listRules = async ({\n  type,\n  satellite,\n  filter\n}: {\n  type: RulesType;\n  filter?: ListRulesMatcher;\n  satellite: SatelliteParameters;\n}): Promise<ListRulesResults> => {\n  const {items, ...rest} = await listRulesApi({\n    satellite,\n    type: mapRuleType(type),\n    filter: mapRulesFilter(filter)\n  });\n\n  return {\n    ...rest,\n    items: items.map((rule) => mapRule(rule))\n  };\n};\n\n/**\n * Sets a rule for a satellite.\n * @param {Object} params - The parameters for setting the rule.\n * @param {Rule} params.rule - The rule to set.\n * @param {RulesType} params.type - The type of rule.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<void>} A promise that resolves when the rule is set.\n */\nexport const setRule = async ({\n  rule: {collection, ...rest},\n  type,\n  satellite\n}: {\n  rule: Rule;\n  type: RulesType;\n  satellite: SatelliteParameters;\n}): Promise<void> => {\n  await setRuleApi({\n    type: mapRuleType(type),\n    rule: mapSetRule(rest),\n    satellite,\n    collection\n  });\n};\n", "import {IDL} from '@dfinity/candid';\nimport {Principal} from '@dfinity/principal';\nimport {isNullish} from '@dfinity/utils';\nimport {\n  listControllers,\n  listDeprecatedControllers,\n  listDeprecatedNoScopeControllers\n} from '../api/satellite.api';\nimport {INSTALL_MODE_RESET, INSTALL_MODE_UPGRADE} from '../constants/upgrade.constants';\nimport {upgrade} from '../handlers/upgrade.handlers';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport type {UpgradeCodeParams} from '../types/upgrade.types';\nimport {encodeIDLControllers} from '../utils/idl.utils';\n\n/**\n * Upgrades a satellite with the provided WASM module.\n * @param {Object} params - The parameters for upgrading the satellite.\n * @param {SatelliteParameters} params.satellite - The satellite parameters, including the actor and satellite ID.\n * @param {Principal} [params.missionControlId] - Optional. The Mission Control ID to potentially store WASM chunks, enabling reuse across installations.\n * @param {Uint8Array} params.wasmModule - The WASM module to be installed during the upgrade.\n * @param {boolean} params.deprecated - Indicates whether the upgrade is deprecated.\n * @param {boolean} params.deprecatedNoScope - Indicates whether the upgrade is deprecated and has no scope.\n * @param {boolean} [params.reset=false] - Optional. Specifies whether to reset the satellite (reinstall) instead of performing an upgrade. Defaults to `false`.\n * @param {boolean} [params.preClearChunks] - Optional. Forces clearing existing chunks before uploading a chunked WASM module. Recommended if the WASM exceeds 2MB.\n * @param {boolean} [params.takeSnapshot=true] - Optional. Whether to take a snapshot before performing the upgrade. Defaults to true.\n * @param {function} [params.onProgress] - Optional. Callback function to track progress during the upgrade process.\n * @throws {Error} Will throw an error if the satellite parameters are invalid or missing required fields.\n * @returns {Promise<void>} Resolves when the upgrade process is complete.\n */\nexport const upgradeSatellite = async ({\n  satellite,\n  deprecated,\n  deprecatedNoScope,\n  reset = false,\n  ...rest\n}: {\n  satellite: SatelliteParameters;\n  deprecated: boolean;\n  deprecatedNoScope: boolean;\n  reset?: boolean;\n} & Pick<\n  UpgradeCodeParams,\n  'wasmModule' | 'missionControlId' | 'preClearChunks' | 'takeSnapshot' | 'onProgress'\n>): Promise<void> => {\n  const {satelliteId, ...actor} = satellite;\n\n  if (isNullish(satelliteId)) {\n    throw new Error('No satellite principal defined.');\n  }\n\n  // TODO: remove agent-js \"type mismatch: type on the wire principal\"\n  if (deprecated) {\n    const controllers = await listDeprecatedControllers({satellite});\n\n    const arg = IDL.encode(\n      [\n        IDL.Record({\n          controllers: IDL.Vec(IDL.Principal)\n        })\n      ],\n      [{controllers}]\n    );\n\n    await upgrade({\n      actor,\n      canisterId: Principal.fromText(satelliteId),\n      arg: new Uint8Array(arg),\n      mode: reset ? INSTALL_MODE_RESET : INSTALL_MODE_UPGRADE,\n      reset,\n      ...rest\n    });\n\n    return;\n  }\n\n  const list = deprecatedNoScope ? listDeprecatedNoScopeControllers : listControllers;\n\n  // We pass the controllers to the upgrade but, it's just for the state of the art because I don't want to call the install without passing args. The module's post_upgrade do not consider the init parameters.\n  const controllers = await list({satellite});\n\n  const arg = encodeIDLControllers(controllers);\n\n  await upgrade({\n    actor,\n    canisterId: Principal.fromText(satelliteId),\n    arg: new Uint8Array(arg),\n    mode: reset ? INSTALL_MODE_RESET : INSTALL_MODE_UPGRADE,\n    reset,\n    ...rest\n  });\n};\n", "import {assertNonNullish, isNullish, nonNullish} from '@dfinity/utils';\nimport {JUNO_PACKAGE_SATELLITE_ID} from '@junobuild/config';\nimport {canisterMetadata} from '../api/ic.api';\nimport {version} from '../api/satellite.api';\nimport {SatelliteMissingDependencyError} from '../errors/version.errors';\nimport {findJunoPackageDependency} from '../helpers/package.helpers';\nimport type {SatelliteParameters} from '../types/actor.types';\nimport type {BuildType} from '../types/build.types';\nimport {getJunoPackage} from './package.services';\n\n/**\n * Retrieves the version of the satellite.\n * @param {Object} params - The parameters for retrieving the version.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<string>} A promise that resolves to the version of the satellite.\n */\nexport const satelliteVersion = async ({\n  satellite: {satelliteId, ...rest}\n}: {\n  satellite: SatelliteParameters;\n}): Promise<string> => {\n  assertNonNullish(satelliteId, 'A Satellite ID must be provided to request its version.');\n\n  const pkg = await getJunoPackage({\n    moduleId: satelliteId,\n    ...rest\n  });\n\n  // For backwards compatibility with legacy. Function version() was deprecated in Satellite > v0.0.22\n  if (isNullish(pkg)) {\n    return await version({satellite: {satelliteId, ...rest}});\n  }\n\n  const {name, version: satelliteVersion, dependencies} = pkg;\n\n  if (name === JUNO_PACKAGE_SATELLITE_ID) {\n    return satelliteVersion;\n  }\n\n  const satelliteDependency = findJunoPackageDependency({\n    dependencies,\n    dependencyId: JUNO_PACKAGE_SATELLITE_ID\n  });\n\n  if (nonNullish(satelliteDependency)) {\n    const [_, satelliteVersion] = satelliteDependency;\n    return satelliteVersion;\n  }\n\n  throw new SatelliteMissingDependencyError();\n};\n\n/**\n * Retrieves the build type of the satellite.\n * @param {Object} params - The parameters for retrieving the build type.\n * @param {SatelliteParameters} params.satellite - The satellite parameters.\n * @returns {Promise<BuildType | undefined>} A promise that resolves to the build type of the satellite or undefined if not found.\n */\nexport const satelliteBuildType = async ({\n  satellite: {satelliteId, ...rest}\n}: {\n  satellite: SatelliteParameters;\n}): Promise<BuildType | undefined> => {\n  assertNonNullish(satelliteId, 'A Satellite ID must be provided to request its version.');\n\n  const pkg = await getJunoPackage({\n    moduleId: satelliteId,\n    ...rest\n  });\n\n  if (isNullish(pkg)) {\n    return await satelliteDeprecatedBuildType({satellite: {satelliteId, ...rest}});\n  }\n\n  const {name, dependencies} = pkg;\n\n  if (name === JUNO_PACKAGE_SATELLITE_ID) {\n    return 'stock';\n  }\n\n  const satelliteDependency = findJunoPackageDependency({\n    dependencies,\n    dependencyId: JUNO_PACKAGE_SATELLITE_ID\n  });\n\n  if (nonNullish(satelliteDependency)) {\n    return 'extended';\n  }\n\n  throw new SatelliteMissingDependencyError();\n};\n\n/**\n * @deprecated Replaced in Satellite > v0.0.22\n */\nconst satelliteDeprecatedBuildType = async ({\n  satellite: {satelliteId, ...rest}\n}: {\n  satellite: Omit<SatelliteParameters, 'satelliteId'> &\n    Required<Pick<SatelliteParameters, 'satelliteId'>>;\n}): Promise<BuildType | undefined> => {\n  const status = await canisterMetadata({...rest, canisterId: satelliteId, path: 'juno:build'});\n\n  return nonNullish(status) && ['stock', 'extended'].includes(status as string)\n    ? (status as BuildType)\n    : undefined;\n};\n"],
  "mappings": "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",
  "names": ["UpgradeCodeUnchangedError", "JUNO_PACKAGE_MISSION_CONTROL_ID", "JUNO_PACKAGE_ORBITER_ID", "JUNO_PACKAGE_SATELLITE_ID", "SatelliteMissingDependencyError", "MissionControlVersionError", "OrbiterVersionError", "digestSha256", "data", "sha256ToHex", "hashBuffer", "b", "blobSha256", "blob", "uint8ArraySha256", "findJunoPackageDependency", "dependencyId", "dependencies", "key", "_", "major", "minor", "patch", "checkUpgradeVersion", "currentVersion", "selectedVersion", "currentMajor", "selectedMajor", "currentMinor", "selectedMinor", "currentPath", "selectedPath", "isNullish", "nonNullish", "JUNO_PACKAGE_SATELLITE_ID", "JunoPackageSchema", "extractBuildType", "junoPackage", "wasm", "isNullish", "readDeprecatedBuildType", "name", "dependencies", "JUNO_PACKAGE_SATELLITE_ID", "satelliteDependency", "findJunoPackageDependency", "nonNullish", "buildType", "customSection", "readCustomSectionJunoPackage", "section", "pkg", "success", "data", "JunoPackageSchema", "sectionName", "wasmModule", "pkgSections", "pkgBuffer", "isNullish", "idlFactory", "IDL", "CyclesThreshold", "CyclesMonitoringStrategy", "CyclesMonitoring", "Monitoring", "Settings", "Orbiter", "CreateCanisterConfig", "Satellite", "DepositCyclesArgs", "DepositedCyclesEmailNotification", "CyclesMonitoringConfig", "MonitoringConfig", "Config", "GetMonitoringHistory", "MonitoringHistoryKey", "CyclesBalance", "FundingErrorCode", "FundingFailure", "MonitoringHistoryCycles", "MonitoringHistory", "CyclesMonitoringStatus", "MonitoringStatus", "MissionControlSettings", "User", "Tokens", "Timestamp", "TransferArgs", "TransferError", "Result", "Account", "TransferArg", "TransferError_1", "Result_1", "ControllerScope", "Controller", "SetController", "SegmentsMonitoringStrategy", "CyclesMonitoringStartConfig", "MonitoringStartConfig", "CyclesMonitoringStopConfig", "MonitoringStopConfig", "idlFactory", "IDL", "DeleteControllersArgs", "ControllerScope", "Controller", "DelSatelliteConfig", "DepositCyclesArgs", "GetAnalytics", "AnalyticKey", "PageViewClient", "PageViewCampaign", "PageViewDevice", "PageView", "AnalyticsBrowsersPageViews", "AnalyticsOperatingSystemsPageViews", "AnalyticsDevicesPageViews", "AnalyticsClientsPageViews", "CalendarDate", "AnalyticsMetricsPageViews", "AnalyticsTop10PageViews", "NavigationType", "WebVitalsMetric", "PerformanceData", "PerformanceMetricName", "PerformanceMetric", "AnalyticsWebVitalsPageMetrics", "AnalyticsWebVitalsPerformanceMetrics", "TrackEvent", "AnalyticsTrackEvents", "HttpRequest", "HttpResponse", "OrbiterSatelliteFeatures", "OrbiterSatelliteConfig", "MemorySize", "SetController", "SetControllersArgs", "SetPageView", "Result", "Result_1", "SetPerformanceMetric", "Result_2", "SetSatelliteConfig", "SetTrackEvent", "Result_3", "idlFactory", "IDL", "CommitBatch", "DeleteControllersArgs", "Controller", "DelDoc", "StorageConfig", "Config", "Doc", "HttpRequest", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListOrderField", "ListOrder", "ListPaginate", "ListParams", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "ListResults", "CustomDomain", "ListResults_1", "RulesType", "Permission", "Rule", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "Chunk", "UploadChunk", "idlFactory", "IDL", "CommitBatch", "ListOrderField", "ListOrder", "TimestampMatcher", "ListMatcher", "ListPaginate", "ListParams", "DeleteControllersArgs", "ControllerScope", "Controller", "DelDoc", "CollectionType", "DelRule", "DepositCyclesArgs", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "AuthenticationConfigInternetIdentity", "AuthenticationConfig", "ConfigMaxMemorySize", "DbConfig", "StorageConfigIFrame", "StorageConfigRawAccess", "StorageConfigRedirect", "StorageConfig", "Config", "Doc", "Memory", "Permission", "RateConfig", "Rule", "HttpRequest", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListResults", "CustomDomain", "ListResults_1", "MemorySize", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "UploadChunk", "UploadChunkResult", "idlFactory", "IDL", "DeleteControllersArgs", "ControllerScope", "Controller", "DelSatelliteConfig", "DepositCyclesArgs", "GetAnalytics", "AnalyticKey", "PageViewDevice", "PageView", "AnalyticsBrowsersPageViews", "AnalyticsDevicesPageViews", "AnalyticsClientsPageViews", "CalendarDate", "AnalyticsMetricsPageViews", "AnalyticsTop10PageViews", "NavigationType", "WebVitalsMetric", "PerformanceData", "PerformanceMetricName", "PerformanceMetric", "AnalyticsWebVitalsPageMetrics", "AnalyticsWebVitalsPerformanceMetrics", "TrackEvent", "AnalyticsTrackEvents", "OrbiterSatelliteFeatures", "OrbiterSatelliteConfig", "MemorySize", "SetController", "SetControllersArgs", "SetPageView", "Result", "Result_1", "SetPerformanceMetric", "Result_2", "SetSatelliteConfig", "SetTrackEvent", "Result_3", "idlFactory", "IDL", "CyclesThreshold", "CyclesMonitoringStrategy", "CyclesMonitoring", "Monitoring", "Settings", "Orbiter", "CreateCanisterConfig", "Satellite", "DepositCyclesArgs", "DepositedCyclesEmailNotification", "CyclesMonitoringConfig", "MonitoringConfig", "Config", "GetMonitoringHistory", "MonitoringHistoryKey", "CyclesBalance", "MonitoringHistoryCycles", "MonitoringHistory", "CyclesMonitoringStatus", "MonitoringStatus", "MissionControlSettings", "User", "Tokens", "Timestamp", "TransferArgs", "TransferError", "Result", "Account", "TransferArg", "TransferError_1", "Result_1", "ControllerScope", "Controller", "SetController", "SegmentsMonitoringStrategy", "CyclesMonitoringStartConfig", "MonitoringStartConfig", "CyclesMonitoringStopConfig", "MonitoringStopConfig", "idlFactory", "IDL", "CommitBatch", "DeleteControllersArgs", "Controller", "DelDoc", "StorageConfig", "Config", "Doc", "HttpRequest", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListOrderField", "ListOrder", "ListPaginate", "ListParams", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "ListResults", "CustomDomain", "ListResults_1", "RulesType", "Permission", "Rule", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "Chunk", "UploadChunk", "idlFactory", "IDL", "CommitBatch", "CommitProposal", "ListOrderField", "ListOrder", "TimestampMatcher", "ListMatcher", "ListPaginate", "ListParams", "DeleteControllersArgs", "ControllerScope", "Controller", "DelDoc", "CollectionType", "DelRule", "DeleteProposalAssets", "DepositCyclesArgs", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "AuthenticationConfigInternetIdentity", "AuthenticationConfig", "ConfigMaxMemorySize", "DbConfig", "StorageConfigIFrame", "StorageConfigRawAccess", "StorageConfigRedirect", "StorageConfig", "Config", "Doc", "ProposalStatus", "AssetsUpgradeOptions", "SegmentsDeploymentOptions", "ProposalType", "Proposal", "Memory", "Permission", "RateConfig", "Rule", "HttpRequest", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListResults", "CustomDomain", "ListResults_1", "ListProposalsOrder", "ListProposalsPaginate", "ListProposalsParams", "ProposalKey", "ListProposalResults", "ListRulesMatcher", "ListRulesParams", "ListRulesResults", "MemorySize", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "UploadChunk", "UploadChunkResult", "Actor", "HttpAgent", "nonNullish", "createActor", "canisterId", "idlFactory", "config", "rest", "agent", "useOrInitAgent", "initAgent", "identity", "container", "localActor", "host", "getDeprecatedSatelliteActor", "satelliteId", "rest", "getActor", "idlFactory", "getSatelliteActor", "getDeprecatedSatelliteNoScopeActor", "getDeprecatedSatelliteVersionActor", "getMissionControlActor", "missionControlId", "getDeprecatedMissionControlVersionActor", "getOrbiterActor", "orbiterId", "getDeprecatedOrbiterVersionActor", "canisterId", "isNullish", "createActor", "version", "missionControl", "getDeprecatedMissionControlVersionActor", "getUser", "getMissionControlActor", "listControllers", "setSatellitesController", "satelliteIds", "controllerIds", "controller", "setMissionControlController", "Principal", "nonNullish", "toNullable", "mapSetControllerParams", "controllerId", "profile", "toSetController", "setSatellitesController", "controllerId", "profile", "rest", "mapSetControllerParams", "setMissionControlController", "listMissionControlControllers", "params", "listControllers", "Principal", "INSTALL_MODE_RESET", "INSTALL_MODE_UPGRADE", "fromNullable", "isNullish", "uint8ArrayToHexString", "CanisterStatus", "ICManagementCanister", "Principal", "canisterStop", "canisterId", "actor", "agent", "useOrInitAgent", "stopCanister", "ICManagementCanister", "canisterStart", "startCanister", "installCode", "code", "storedChunks", "clearChunkStore", "uploadChunk", "chunk", "installChunkedCode", "canisterStatus", "canisterMetadata", "path", "rest", "hideAgentJsConsoleWarn", "result", "CanisterStatus", "Principal", "listCanisterSnapshots", "takeCanisterSnapshot", "UpgradeCodeProgressStep", "isNullish", "nonNullish", "uint8ArrayToHexString", "upgradeChunkedCode", "actor", "canisterId", "missionControlId", "wasmModule", "userPreClearChunks", "rest", "clearChunkStore", "wasmChunks", "wasmToChunks", "uploadChunks", "storedChunks", "preClearChunks", "postClearChunks", "prepareUpload", "chunkIds", "results", "batchUploadChunks", "installChunkedCode", "orderIdA", "orderIdB", "chunkHash", "uint8ArraySha256", "blob", "chunkSize", "orderId", "start", "chunk", "blobSha256", "stored", "existingStoredChunks", "hash", "uint8ArrayToHexString", "sha256", "existingStoredChunk", "storedSha256", "nonNullish", "isNullish", "limit", "i", "batch", "uploadChunkParams", "uploadChunk", "upgradeSingleChunkCode", "actor", "rest", "installCode", "upgrade", "wasmModule", "canisterId", "actor", "onProgress", "takeSnapshot", "rest", "execute", "assertExistingCode", "canisterStop", "createSnapshot", "upgradeCode", "canisterStart", "fn", "step", "err", "reset", "module_hash", "canisterStatus", "installedHash", "fromNullable", "isNullish", "newWasmModuleHash", "uint8ArraySha256", "existingWasmModuleHash", "uint8ArrayToHexString", "UpgradeCodeUnchangedError", "upgradeChunkedCode", "upgradeSingleChunkCode", "params", "snapshots", "listCanisterSnapshots", "takeCanisterSnapshot", "IDL", "encoreIDLUser", "user", "encodeIDLControllers", "controllers", "controller", "_", "upgradeMissionControl", "missionControl", "rest", "user", "getUser", "missionControlId", "actor", "arg", "encoreIDLUser", "upgrade", "Principal", "INSTALL_MODE_UPGRADE", "assertNonNullish", "isNullish", "JUNO_PACKAGE_MISSION_CONTROL_ID", "isNullish", "JunoPackageSchema", "z", "getJunoPackage", "moduleId", "rest", "status", "canisterMetadata", "isNullish", "content", "str", "ctx", "JunoPackageSchema", "getJunoPackageVersion", "params", "getJunoPackageDependencies", "missionControlVersion", "missionControlId", "rest", "assertNonNullish", "pkg", "getJunoPackage", "isNullish", "version", "name", "JUNO_PACKAGE_MISSION_CONTROL_ID", "MissionControlVersionError", "upgradeModule", "params", "upgrade", "version", "orbiter", "getDeprecatedOrbiterVersionActor", "listControllers", "getOrbiterActor", "memorySize", "memory_size", "listOrbiterControllers", "params", "listControllers", "orbiterMemorySize", "params", "memorySize", "Principal", "upgradeOrbiter", "orbiter", "reset", "rest", "orbiterId", "actor", "controllers", "listControllers", "arg", "encodeIDLControllers", "upgrade", "Principal", "INSTALL_MODE_RESET", "INSTALL_MODE_UPGRADE", "assertNonNullish", "isNullish", "JUNO_PACKAGE_ORBITER_ID", "orbiterVersion", "orbiterId", "rest", "assertNonNullish", "pkg", "getJunoPackage", "isNullish", "version", "name", "missionControlVersion", "JUNO_PACKAGE_ORBITER_ID", "OrbiterVersionError", "toNullable", "setStorageConfig", "config", "satellite", "set_storage_config", "getSatelliteActor", "setDatastoreConfig", "set_db_config", "setAuthConfig", "set_auth_config", "getAuthConfig", "satellite", "get_auth_config", "getSatelliteActor", "listRules", "type", "filter", "list_rules", "setRule", "collection", "rule", "set_rule", "version", "getDeprecatedSatelliteVersionActor", "listDeprecatedControllers", "getDeprecatedSatelliteActor", "listDeprecatedNoScopeControllers", "getDeprecatedSatelliteNoScopeActor", "listControllers", "listCustomDomains", "list_custom_domains", "setCustomDomain", "domainName", "boundaryNodesId", "set_custom_domain", "toNullable", "memorySize", "memory_size", "countDocs", "count_collection_docs", "countAssets", "count_collection_assets", "deleteDocs", "del_docs", "deleteAssets", "del_assets", "setControllers", "args", "set_controllers", "countAssets", "params", "deleteAssets", "fromNullable", "isNullish", "nonNullish", "toNullable", "nonNullish", "toNullable", "toMaxMemorySize", "configMaxMemorySize", "setStorageConfig", "configHeaders", "configRewrites", "configRedirects", "configIFrame", "configRawAccess", "configMaxMemorySize", "satellite", "headers", "source", "rewrites", "destination", "redirects", "location", "code", "toMaxMemorySize", "setDatastoreConfig", "maxMemorySize", "rest", "setAuthConfig", "internetIdentity", "isNullish", "toNullable", "getAuthConfig", "config", "fromNullable", "nonNullish", "listSatelliteControllers", "deprecatedNoScope", "params", "listDeprecatedNoScopeControllers", "listControllers", "setSatelliteControllers", "setControllers", "countDocs", "params", "deleteDocs", "fromNullable", "nonNullish", "listCustomDomains", "satellite", "domain", "details", "domainVersion", "fromNullable", "nonNullish", "setCustomDomains", "domains", "domainName", "boundaryNodesId", "setCustomDomain", "satelliteMemorySize", "params", "memorySize", "fromNullable", "isNullish", "nonNullish", "toNullable", "DbRulesType", "StorageRulesType", "PermissionPublic", "PermissionPrivate", "PermissionManaged", "PermissionControllers", "MemoryHeap", "MemoryStable", "DEFAULT_RATE_CONFIG_TIME_PER_TOKEN_NS", "mapRuleType", "type", "StorageRulesType", "DbRulesType", "mapRulesFilter", "filter", "isNullish", "toNullable", "mapSetRule", "read", "write", "memory", "maxSize", "maxChangesPerUser", "maxCapacity", "version", "mutablePermissions", "maxTokens", "permissionFromText", "nonNullish", "memoryFromText", "DEFAULT_RATE_CONFIG_TIME_PER_TOKEN_NS", "mapRule", "collection", "rule", "updated_at", "created_at", "max_size", "max_changes_per_user", "max_capacity", "mutable_permissions", "rate_config", "fromNullable", "ruleVersion", "permissionToText", "memoryToText", "MemoryHeap", "permission", "text", "PermissionPublic", "PermissionPrivate", "PermissionManaged", "PermissionControllers", "MemoryStable", "listRules", "type", "satellite", "filter", "items", "rest", "mapRuleType", "mapRulesFilter", "rule", "mapRule", "setRule", "collection", "mapSetRule", "IDL", "Principal", "isNullish", "upgradeSatellite", "satellite", "deprecated", "deprecatedNoScope", "reset", "rest", "satelliteId", "actor", "isNullish", "controllers", "listDeprecatedControllers", "arg", "IDL", "upgrade", "Principal", "INSTALL_MODE_RESET", "INSTALL_MODE_UPGRADE", "listDeprecatedNoScopeControllers", "listControllers", "encodeIDLControllers", "assertNonNullish", "isNullish", "nonNullish", "JUNO_PACKAGE_SATELLITE_ID", "satelliteVersion", "satelliteId", "rest", "assertNonNullish", "pkg", "getJunoPackage", "isNullish", "version", "name", "dependencies", "JUNO_PACKAGE_SATELLITE_ID", "satelliteDependency", "findJunoPackageDependency", "nonNullish", "_", "SatelliteMissingDependencyError", "satelliteBuildType", "satelliteDeprecatedBuildType", "status", "canisterMetadata"]
}
