@cloudflare/containers-shared 0.16.4 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ComplianceConfig, Logger, FetchResultFetcher, FetchPagedListResultFetcher, Config, ContainerApp } from '@cloudflare/workers-utils';
2
+ import { ParsedInputContainerConfig } from '@cloudflare/config';
2
3
  import { ComplianceConfig as ComplianceConfig$1 } from '@cloudflare/workers-utils/compliance';
3
4
  import { StdioOptions } from 'node:child_process';
4
5
 
@@ -149,7 +150,25 @@ type ContainerDevOptions = {
149
150
  image_tag: string;
150
151
  /** container's DO class name */
151
152
  class_name: string;
153
+ /** configured image key for Durable Object-managed Containers */
154
+ image_name?: string;
152
155
  } & (DockerfileConfig | ImageURIConfig);
156
+ /**
157
+ * Runtime configuration for one Durable Object class with an attached
158
+ * Container. This structurally matches workerd's ContainerOptions.
159
+ */
160
+ type ContainerDevRuntimeOptions = {
161
+ imageName?: string;
162
+ images?: {
163
+ name: string;
164
+ image: string;
165
+ }[];
166
+ };
167
+ /** Complete local image and runtime plan derived from Worker configuration. */
168
+ type ContainerDevPlan = {
169
+ containerOptions: ContainerDevOptions[];
170
+ containerRuntimeOptions: Map<string, ContainerDevRuntimeOptions>;
171
+ };
153
172
 
154
173
  type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
155
174
  type Headers = Record<string, string>;
@@ -3356,6 +3375,7 @@ type BuiltImage = {
3356
3375
  type BuiltContainerImage = BuiltImage & {
3357
3376
  container: DockerfileContainerConfig;
3358
3377
  };
3378
+ declare function normalizeContainerImageRepositoryName(value: string): string;
3359
3379
  declare function isDockerfileContainerConfig(container: ContainerNormalizedConfig): container is DockerfileContainerConfig;
3360
3380
  /**
3361
3381
  * `{ remoteDigest: string }` implies the image was pushed to, or already exists in,
@@ -3484,6 +3504,20 @@ declare function dockerBuild(dockerPath: string, options: {
3484
3504
  ready: Promise<void>;
3485
3505
  }>;
3486
3506
 
3507
+ /**
3508
+ * Builds and writes the Container portion of the Build Output Specification.
3509
+ *
3510
+ * Registry references pass through unchanged. Locally built tags are retained
3511
+ * on success so a later deploy can resolve each emitted `localReference`.
3512
+ *
3513
+ * @param options - The validated Container configs and Docker build environment.
3514
+ */
3515
+ declare function buildAndWriteContainerOutput(options: {
3516
+ containers: Record<string, ParsedInputContainerConfig>;
3517
+ root: string;
3518
+ pathToDocker: string;
3519
+ }): Promise<void>;
3520
+
3487
3521
  declare let logger: Logger;
3488
3522
  declare let fetchResult: FetchResultFetcher;
3489
3523
  declare let fetchPagedListResult: FetchPagedListResultFetcher;
@@ -3728,15 +3762,6 @@ declare function resolveDockerHost(dockerPath: string): string;
3728
3762
  * Does not use the docker context ls command, so we
3729
3763
  */
3730
3764
  declare const getDockerHostFromEnv: () => string;
3731
- /**
3732
- * Get all repository tags for a given image
3733
- */
3734
- declare function getImageRepoTags(dockerPath: string, imageTag: string): Promise<string[]>;
3735
- /**
3736
- * Checks if the given image has any duplicate tags from previous dev sessions,
3737
- * and remove them if so.
3738
- */
3739
- declare function cleanupDuplicateImageTags(dockerPath: string, imageTag: string): Promise<void>;
3740
3765
 
3741
3766
  declare function dockerImageInspect(dockerPath: string, options: {
3742
3767
  imageTag: string;
@@ -3769,7 +3794,9 @@ declare function pullEgressInterceptorImage(dockerPath: string): Promise<void>;
3769
3794
  */
3770
3795
  declare function pullImage(dockerPath: string, options: Exclude<ContainerDevOptions, DockerfileConfig>, logger: WranglerLogger | ViteLogger, complianceConfig?: ComplianceConfig$1): Promise<{
3771
3796
  abort: () => void;
3772
- ready: Promise<void>;
3797
+ ready: Promise<{
3798
+ aborted: boolean;
3799
+ }>;
3773
3800
  }>;
3774
3801
  /**
3775
3802
  *
@@ -3782,7 +3809,7 @@ declare function pullImage(dockerPath: string, options: Exclude<ContainerDevOpti
3782
3809
  * expose any ports.
3783
3810
  *
3784
3811
  * @param args - Image preparation callbacks, Docker settings, and compliance configuration.
3785
- * @returns A promise that resolves when all configured images are ready.
3812
+ * @returns Whether image preparation was aborted before completion.
3786
3813
  */
3787
3814
  declare function prepareContainerImagesForDev(args: {
3788
3815
  dockerPath: string;
@@ -3796,7 +3823,18 @@ declare function prepareContainerImagesForDev(args: {
3796
3823
  }) => void;
3797
3824
  logger: WranglerLogger | ViteLogger;
3798
3825
  complianceConfig?: ComplianceConfig$1;
3799
- }): Promise<void>;
3826
+ }): Promise<{
3827
+ aborted: boolean;
3828
+ }>;
3829
+ /**
3830
+ * Determines whether an image reference belongs to the Cloudflare-managed
3831
+ * registry, including shorthand references that omit the registry hostname.
3832
+ *
3833
+ * @param image - Image reference to classify.
3834
+ * @param complianceConfig - Compliance configuration used to select the managed registry.
3835
+ * @returns Whether the image uses the Cloudflare-managed registry.
3836
+ */
3837
+ declare function isCloudflareRegistryImage(image: string, complianceConfig?: ComplianceConfig$1): boolean;
3800
3838
  /**
3801
3839
  * Resolve an image name to the full unambiguous name.
3802
3840
  *
@@ -3841,4 +3879,21 @@ declare function promiseSpinner<T>(promise: Promise<T>, { message, }?: {
3841
3879
  message: string;
3842
3880
  }): Promise<T>;
3843
3881
 
3844
- export { type AccountDefaults, type AccountID, type AccountLimit, type AccountLocation, type AccountLocationLimits, type AccountLocationLimitsAsProperty, type AccountRegistryToken, AccountService, type AddressAssignment, ApiError, type Application, type ApplicationAffinities, ApplicationAffinityColocation, ApplicationAffinityHardwareGeneration, type ApplicationConstraintPop, type ApplicationConstraints, type ApplicationHealth, type ApplicationHealthInstances, type ApplicationID, type ApplicationJob, type ApplicationJobsConfig, ApplicationMutationError, type ApplicationName, type ApplicationNotFoundError, type ApplicationObservability, type ApplicationPriorities, type ApplicationPriority, ApplicationRollout, type ApplicationRolloutActiveGracePeriod, type ApplicationRolloutProgress, type ApplicationSchedulingHint, type ApplicationStatus, ApplicationsService, AssignIPv4, AssignIPv6, type BadRequestError, BadRequestWithCodeError, type BuildArgs, type BuiltContainerImage, type BuiltImage, CancelError, CancelablePromise, type City, type Command, type CompleteAccountCustomer, type CompleteAccountLocationCustomer, type ContainerBuildCommandArgs, type ContainerDevOptions, type ContainerImagePreparation, ContainerImagePreparationStatus, ContainerImagePreparationsService, ContainerNetworkMode, type ContainerNormalizedConfig, type ContainerPushCommandArgs, type ContainersSharedContext, type CreateApplicationBadRequest, type CreateApplicationJobBadRequest, type CreateApplicationJobRequest, type CreateApplicationRequest, CreateApplicationRolloutRequest, type CreateDeploymentBadRequest, type CreateDeploymentV2RequestBody, type CreateDurableObjectApplicationRequest, type CreateImageRegistryRequestBody, type CreateSSHPublicKeyError, type CreateSSHPublicKeyRequestBody, type CustomerImageRegistry, DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE, type DNSConfiguration, type DashApplication, type DashApplicationDurableObjectInstance, type DashApplicationInstance, type DashApplicationInstances, type DeleteDeploymentError, type DeleteImageRegistryResponse, type DeploymentAlreadyExists, type DeploymentCheck, type DeploymentCheckHTTP, type DeploymentCheckHTTPRequestBody, DeploymentCheckKind, type DeploymentCheckRequestBody, DeploymentCheckType, type DeploymentCreationError, type DeploymentID, type DeploymentListError, type DeploymentLocation, type DeploymentModificationError, DeploymentMutationError, DeploymentNotFoundError, DeploymentPlacementState, type DeploymentQueuedDetails, DeploymentQueuedReason, type DeploymentReplacementError, DeploymentSchedulingState, type DeploymentSecretMap, type DeploymentState, DeploymentType, type DeploymentV2, type DeploymentVersion, DeploymentsService, Diff, type Disk, type DiskMB, type DiskSizeWithUnit, type DockerfileConfig, type DockerfileContainerConfig, type Domain, type DurableObjectNamespace, DurableObjectStatusHealth, type DurableObjectsConfiguration, type Duration, type EmptyResponse, type Entrypoint, type EnvironmentVariable, type EnvironmentVariableName, type EnvironmentVariableValue, EventName, EventType, type ExecFormParam, ExternalRegistryKind, FUSE_CONTAINER_PRIVILEGES, type GenericErrorDetails, type GenericErrorResponseWithRequestID, type GenericMessageResponse, type GetDeploymentError, type GetPlacementError, HTTPMethod, type IP, type IPAllocation, type IPAllocationConfiguration, type IPAllocationsWithFilter, IPType, type IPV4, IPsService, type ISO8601Timestamp, type Identity, type Image, type ImageRef, ImageRegistriesService, ImageRegistryAlreadyExistsError, type ImageRegistryAuth, type ImageRegistryCredentialsConfiguration, ImageRegistryIsPublic, ImageRegistryNotAllowedError, ImageRegistryNotFoundError, ImageRegistryPermissions, type ImageRegistryProtoDomain, type ImageRegistryProtocol, ImageRegistryProtocolAlreadyExists, ImageRegistryProtocolIsReferencedError, ImageRegistryProtocolNotFound, type ImageRegistryProtocols, type ImageURIConfig, InstanceType, type InstanceTypeOrLimits, type InternalError, type JobEvents, type JobID, type JobNotFoundError, type JobSecretMap, type JobStatus, JobStatusHealth, type JobTimeoutSeconds, JobsService, type Label, type LabelName, type LabelValue, type ListApplications, type ListDeploymentsV2, type ListIPsIsAllocated, type ListPlacements, type ListPlacementsError, type ListSSHPublicKeys, type ListSSHPublicKeysError, type ListSecretsMetadata, type Location, type LocationID, MF_DEV_CONTAINER_PREFIX, type MemorySizeWithUnit, type ModifyApplicationBadRequest, type ModifyApplicationJobBadRequest, type ModifyApplicationJobRequest, type ModifyApplicationRequestBody, type ModifyDeploymentBadRequest, type ModifyDeploymentV2RequestBody, type ModifyMeRequestBody, type ModifySecretRequestBody, type ModifyUserDeploymentConfiguration, type Network, NetworkMode, type NetworkParameters, NodeGroup, type Observability, type ObservabilityLogs, OpenAPI, type OpenAPIConfig, type PaginatedResult, type Placement, type PlacementEvent, type PlacementEvents, type PlacementID, type PlacementNotFoundError, type PlacementStatus, PlacementStatusHealth, type PlacementWithEvents, PlacementsService, type PlainTextSecretValue, type Port, type PortRange, type PortRangeAllocation, type PrepareContainerImageRequestBody, ProvisionerConfiguration, type Ref, type Region, type ReplaceDeploymentRequestBody, type ResolvedContainerDeployment, type ResultInfo, type RolloutID, RolloutStep, type RolloutStepRequest, RolloutsService, type SSHPublicKey, type SSHPublicKeyID, type SSHPublicKeyItem, SSHPublicKeyNotFoundError, type SchedulerDeploymentConfiguration, SchedulingPolicy, type Secret, SecretAccessType, type SecretMap, type SecretMetadata, type SecretName, SecretNameAlreadyExists, SecretNotFound, SecretsService, type SecretsStoreRef, type SharedContainerConfig, SshPublicKeysService, type UnAuthorizedError, type UnixTimestamp, type UnknownAccount, UpdateApplicationRolloutRequest, type UpdateRolloutResponse, type UserDeploymentConfiguration, type UserSSHPublicKey, type VerifyDockerInstalledOptions, type ViteLogger, type WranglerLogger, type WranglerSSHConfig, type WranglerSSHResponse, apply, buildAndMaybePush, buildCommand, buildContainerImages, checkExposedPorts, cleanApplicationFromAPI, cleanForInstanceType, cleanupBuiltImages, cleanupContainers, cleanupDuplicateImageTags, configRolloutStepsToAPI, configureOpenAPIForContainerPull, containerPrivilegesAllowed, createDurableObjectNamespaceResolver, deployContainers, dockerBuild, dockerImageInspect, dockerLoginImageRegistry, ensureContainerLimits, ensureImageFitsLimits, fetchPagedListResult, fetchResult, formatError, generateContainerBuildId, getAndValidateRegistryType, getCloudflareContainerRegistry, getCloudflareRegistryWithAccountNamespace, getContainerAccount, getContainerIdsByImageTags, getContainerIdsFromImage, getContainerImageTag, getDevContainerImageName, getDockerHostFromEnv, getDockerSocketFromContext, getEgressInterceptorImage, getEgressInterceptorPlatform, getImageRepoTags, getInstanceTypeUsage, inferInstanceType, initContainersSharedContext, isDockerRunning, isDockerfileContainerConfig, listDurableObjects, logger, prepareContainerImagesForDev, promiseSpinner, pullEgressInterceptorImage, pullImage, pushBuiltContainerImage, pushCommand, pushImageIfChanged, request, requestPaginated, resolveDockerHost, resolveImageName, runDockerCmd, runDockerCmdWithOutput, sortObjectRecursive, startContainerBuild, stripUndefined, validateAndEncodeGarKey, verifyDockerInstalled };
3882
+ type CreateContainerDevPlanOptions = {
3883
+ containers: Config["containers"];
3884
+ exports: Config["exports"];
3885
+ configPath?: string;
3886
+ containerBuildId?: string;
3887
+ };
3888
+ /**
3889
+ * Builds the local image and runtime plan for a Worker's Container
3890
+ * configuration, shared by Wrangler and the Vite plugin.
3891
+ *
3892
+ * @param options - Worker container configuration and optional generated build ID.
3893
+ * @returns Local container plan, or `undefined` when no Container runtime or
3894
+ * image preparation is needed.
3895
+ * @throws If image preparation is required without a build ID.
3896
+ */
3897
+ declare function createContainerDevPlan(options: CreateContainerDevPlanOptions): ContainerDevPlan | undefined;
3898
+
3899
+ export { type AccountDefaults, type AccountID, type AccountLimit, type AccountLocation, type AccountLocationLimits, type AccountLocationLimitsAsProperty, type AccountRegistryToken, AccountService, type AddressAssignment, ApiError, type Application, type ApplicationAffinities, ApplicationAffinityColocation, ApplicationAffinityHardwareGeneration, type ApplicationConstraintPop, type ApplicationConstraints, type ApplicationHealth, type ApplicationHealthInstances, type ApplicationID, type ApplicationJob, type ApplicationJobsConfig, ApplicationMutationError, type ApplicationName, type ApplicationNotFoundError, type ApplicationObservability, type ApplicationPriorities, type ApplicationPriority, ApplicationRollout, type ApplicationRolloutActiveGracePeriod, type ApplicationRolloutProgress, type ApplicationSchedulingHint, type ApplicationStatus, ApplicationsService, AssignIPv4, AssignIPv6, type BadRequestError, BadRequestWithCodeError, type BuildArgs, type BuiltContainerImage, type BuiltImage, CancelError, CancelablePromise, type City, type Command, type CompleteAccountCustomer, type CompleteAccountLocationCustomer, type ContainerBuildCommandArgs, type ContainerDevOptions, type ContainerDevPlan, type ContainerDevRuntimeOptions, type ContainerImagePreparation, ContainerImagePreparationStatus, ContainerImagePreparationsService, ContainerNetworkMode, type ContainerNormalizedConfig, type ContainerPushCommandArgs, type ContainersSharedContext, type CreateApplicationBadRequest, type CreateApplicationJobBadRequest, type CreateApplicationJobRequest, type CreateApplicationRequest, CreateApplicationRolloutRequest, type CreateDeploymentBadRequest, type CreateDeploymentV2RequestBody, type CreateDurableObjectApplicationRequest, type CreateImageRegistryRequestBody, type CreateSSHPublicKeyError, type CreateSSHPublicKeyRequestBody, type CustomerImageRegistry, DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE, type DNSConfiguration, type DashApplication, type DashApplicationDurableObjectInstance, type DashApplicationInstance, type DashApplicationInstances, type DeleteDeploymentError, type DeleteImageRegistryResponse, type DeploymentAlreadyExists, type DeploymentCheck, type DeploymentCheckHTTP, type DeploymentCheckHTTPRequestBody, DeploymentCheckKind, type DeploymentCheckRequestBody, DeploymentCheckType, type DeploymentCreationError, type DeploymentID, type DeploymentListError, type DeploymentLocation, type DeploymentModificationError, DeploymentMutationError, DeploymentNotFoundError, DeploymentPlacementState, type DeploymentQueuedDetails, DeploymentQueuedReason, type DeploymentReplacementError, DeploymentSchedulingState, type DeploymentSecretMap, type DeploymentState, DeploymentType, type DeploymentV2, type DeploymentVersion, DeploymentsService, Diff, type Disk, type DiskMB, type DiskSizeWithUnit, type DockerfileConfig, type DockerfileContainerConfig, type Domain, type DurableObjectNamespace, DurableObjectStatusHealth, type DurableObjectsConfiguration, type Duration, type EmptyResponse, type Entrypoint, type EnvironmentVariable, type EnvironmentVariableName, type EnvironmentVariableValue, EventName, EventType, type ExecFormParam, ExternalRegistryKind, FUSE_CONTAINER_PRIVILEGES, type GenericErrorDetails, type GenericErrorResponseWithRequestID, type GenericMessageResponse, type GetDeploymentError, type GetPlacementError, HTTPMethod, type IP, type IPAllocation, type IPAllocationConfiguration, type IPAllocationsWithFilter, IPType, type IPV4, IPsService, type ISO8601Timestamp, type Identity, type Image, type ImageRef, ImageRegistriesService, ImageRegistryAlreadyExistsError, type ImageRegistryAuth, type ImageRegistryCredentialsConfiguration, ImageRegistryIsPublic, ImageRegistryNotAllowedError, ImageRegistryNotFoundError, ImageRegistryPermissions, type ImageRegistryProtoDomain, type ImageRegistryProtocol, ImageRegistryProtocolAlreadyExists, ImageRegistryProtocolIsReferencedError, ImageRegistryProtocolNotFound, type ImageRegistryProtocols, type ImageURIConfig, InstanceType, type InstanceTypeOrLimits, type InternalError, type JobEvents, type JobID, type JobNotFoundError, type JobSecretMap, type JobStatus, JobStatusHealth, type JobTimeoutSeconds, JobsService, type Label, type LabelName, type LabelValue, type ListApplications, type ListDeploymentsV2, type ListIPsIsAllocated, type ListPlacements, type ListPlacementsError, type ListSSHPublicKeys, type ListSSHPublicKeysError, type ListSecretsMetadata, type Location, type LocationID, MF_DEV_CONTAINER_PREFIX, type MemorySizeWithUnit, type ModifyApplicationBadRequest, type ModifyApplicationJobBadRequest, type ModifyApplicationJobRequest, type ModifyApplicationRequestBody, type ModifyDeploymentBadRequest, type ModifyDeploymentV2RequestBody, type ModifyMeRequestBody, type ModifySecretRequestBody, type ModifyUserDeploymentConfiguration, type Network, NetworkMode, type NetworkParameters, NodeGroup, type Observability, type ObservabilityLogs, OpenAPI, type OpenAPIConfig, type PaginatedResult, type Placement, type PlacementEvent, type PlacementEvents, type PlacementID, type PlacementNotFoundError, type PlacementStatus, PlacementStatusHealth, type PlacementWithEvents, PlacementsService, type PlainTextSecretValue, type Port, type PortRange, type PortRangeAllocation, type PrepareContainerImageRequestBody, ProvisionerConfiguration, type Ref, type Region, type ReplaceDeploymentRequestBody, type ResolvedContainerDeployment, type ResultInfo, type RolloutID, RolloutStep, type RolloutStepRequest, RolloutsService, type SSHPublicKey, type SSHPublicKeyID, type SSHPublicKeyItem, SSHPublicKeyNotFoundError, type SchedulerDeploymentConfiguration, SchedulingPolicy, type Secret, SecretAccessType, type SecretMap, type SecretMetadata, type SecretName, SecretNameAlreadyExists, SecretNotFound, SecretsService, type SecretsStoreRef, type SharedContainerConfig, SshPublicKeysService, type UnAuthorizedError, type UnixTimestamp, type UnknownAccount, UpdateApplicationRolloutRequest, type UpdateRolloutResponse, type UserDeploymentConfiguration, type UserSSHPublicKey, type VerifyDockerInstalledOptions, type ViteLogger, type WranglerLogger, type WranglerSSHConfig, type WranglerSSHResponse, apply, buildAndMaybePush, buildAndWriteContainerOutput, buildCommand, buildContainerImages, checkExposedPorts, cleanApplicationFromAPI, cleanForInstanceType, cleanupBuiltImages, cleanupContainers, configRolloutStepsToAPI, configureOpenAPIForContainerPull, containerPrivilegesAllowed, createContainerDevPlan, createDurableObjectNamespaceResolver, deployContainers, dockerBuild, dockerImageInspect, dockerLoginImageRegistry, ensureContainerLimits, ensureImageFitsLimits, fetchPagedListResult, fetchResult, formatError, generateContainerBuildId, getAndValidateRegistryType, getCloudflareContainerRegistry, getCloudflareRegistryWithAccountNamespace, getContainerAccount, getContainerIdsByImageTags, getContainerIdsFromImage, getContainerImageTag, getDevContainerImageName, getDockerHostFromEnv, getDockerSocketFromContext, getEgressInterceptorImage, getEgressInterceptorPlatform, getInstanceTypeUsage, inferInstanceType, initContainersSharedContext, isCloudflareRegistryImage, isDockerRunning, isDockerfileContainerConfig, listDurableObjects, logger, normalizeContainerImageRepositoryName, prepareContainerImagesForDev, promiseSpinner, pullEgressInterceptorImage, pullImage, pushBuiltContainerImage, pushCommand, pushImageIfChanged, request, requestPaginated, resolveDockerHost, resolveImageName, runDockerCmd, runDockerCmdWithOutput, sortObjectRecursive, startContainerBuild, stripUndefined, validateAndEncodeGarKey, verifyDockerInstalled };
package/dist/index.mjs CHANGED
@@ -1,17 +1,18 @@
1
1
  import { spawn, execFileSync, execFile } from 'node:child_process';
2
- import crypto, { randomUUID } from 'node:crypto';
2
+ import crypto2, { randomUUID, createHash } from 'node:crypto';
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
- import { join } from 'node:path';
4
+ import path2, { join } from 'node:path';
5
5
  import { getDockerPath } from '@cloudflare/workers-utils/docker-path';
6
6
  import { UserError, FatalError } from '@cloudflare/workers-utils/errors';
7
7
  import { isDirectory } from '@cloudflare/workers-utils/fs-helpers';
8
8
  import { COMPLIANCE_REGION_CONFIG_UNKNOWN, getComplianceRegionSubdomain } from '@cloudflare/workers-utils/compliance';
9
9
  import { release } from 'node:os';
10
+ import { writeContainerConfig, cleanBuildOutputDir } from '@cloudflare/build-output-utils';
10
11
  import assert from 'node:assert';
11
12
  import { setTimeout } from 'node:timers/promises';
12
13
  import { log, startSection, newline, endSection, updateStatus, success, shapes } from '@cloudflare/cli-shared-helpers';
13
14
  import { green, red, dim, brandColor, bold } from '@cloudflare/cli-shared-helpers/colors';
14
- import { formatConfigSnippet } from '@cloudflare/workers-utils';
15
+ import { getResolvedDurableObjectContainerApps, isDurableObjectContainerApp, resolveContainerClassName, isDockerfile, formatConfigSnippet } from '@cloudflare/workers-utils';
15
16
  import { spinner } from '@cloudflare/cli-shared-helpers/interactive';
16
17
 
17
18
  var __defProp = Object.defineProperty;
@@ -204,13 +205,13 @@ var getQueryString = /* @__PURE__ */ __name((params) => {
204
205
  }, "getQueryString");
205
206
  var getUrl = /* @__PURE__ */ __name((config, options) => {
206
207
  const encoder = config.ENCODE_PATH || encodeURI;
207
- const path = options.url.replace("{api-version}", config.VERSION).replace(/{(.*?)}/g, (substring, group) => {
208
+ const path3 = options.url.replace("{api-version}", config.VERSION).replace(/{(.*?)}/g, (substring, group) => {
208
209
  if (options.path?.hasOwnProperty(group)) {
209
210
  return encoder(String(options.path[group]));
210
211
  }
211
212
  return substring;
212
213
  });
213
- const url = `${config.BASE}${path}`;
214
+ const url = `${config.BASE}${path3}`;
214
215
  if (options.query) {
215
216
  return `${url}${getQueryString(options.query)}`;
216
217
  }
@@ -2762,8 +2763,9 @@ async function checkExposedPorts(dockerPath, options) {
2762
2763
  formatString: "{{ len .Config.ExposedPorts }}"
2763
2764
  });
2764
2765
  if (output === "0") {
2766
+ const containerName = options.image_name === void 0 ? options.class_name : `${options.class_name}.${options.image_name}`;
2765
2767
  throw new UserError(
2766
- `The container "${options.class_name}" does not expose any ports. In your Dockerfile, please expose any ports you intend to connect to.
2768
+ `The container "${containerName}" does not expose any ports. In your Dockerfile, please expose any ports you intend to connect to.
2767
2769
  For additional information please see: https://developers.cloudflare.com/containers/local-dev/#exposing-ports.
2768
2770
  `,
2769
2771
  { telemetryMessage: false }
@@ -2812,37 +2814,6 @@ var getDockerHostFromEnv = /* @__PURE__ */ __name(() => {
2812
2814
  const fromEnv = process.env.WRANGLER_DOCKER_HOST ?? process.env.DOCKER_HOST;
2813
2815
  return fromEnv ?? process.platform === "win32" ? "//./pipe/docker_engine" : "unix:///var/run/docker.sock";
2814
2816
  }, "getDockerHostFromEnv");
2815
- async function getImageRepoTags(dockerPath, imageTag) {
2816
- try {
2817
- const output = await dockerImageInspect(dockerPath, {
2818
- imageTag,
2819
- formatString: "{{ range .RepoTags }}{{ . }}\n{{ end }}"
2820
- });
2821
- return output.split("\n").filter((tag) => tag.trim() !== "");
2822
- } catch {
2823
- return [];
2824
- }
2825
- }
2826
- __name(getImageRepoTags, "getImageRepoTags");
2827
- async function cleanupDuplicateImageTags(dockerPath, imageTag) {
2828
- try {
2829
- const repoTags = await getImageRepoTags(dockerPath, imageTag);
2830
- const currentBuildId = getImageTag(imageTag);
2831
- const tagsToRemove = repoTags.filter(
2832
- (tag) => tag.startsWith("cloudflare-dev") && getImageTag(tag) !== currentBuildId
2833
- );
2834
- if (tagsToRemove.length > 0) {
2835
- runDockerCmdWithOutput(dockerPath, ["rmi", ...tagsToRemove]);
2836
- }
2837
- } catch {
2838
- }
2839
- }
2840
- __name(cleanupDuplicateImageTags, "cleanupDuplicateImageTags");
2841
- function getImageTag(imageTag) {
2842
- const tagSeparatorIndex = imageTag.lastIndexOf(":");
2843
- return tagSeparatorIndex === -1 ? void 0 : imageTag.slice(tagSeparatorIndex + 1);
2844
- }
2845
- __name(getImageTag, "getImageTag");
2846
2817
 
2847
2818
  // src/images.ts
2848
2819
  var DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE = "cloudflare/proxy-everything:3cb1195@sha256:0ef6716c52430096900b150d84a3302057d6cd2319dae7987128c85d0733e3c8";
@@ -2892,6 +2863,7 @@ async function pullImage(dockerPath, options, logger2, complianceConfig) {
2892
2863
  options.image_tag
2893
2864
  ]);
2894
2865
  }
2866
+ return { aborted };
2895
2867
  });
2896
2868
  return {
2897
2869
  abort: /* @__PURE__ */ __name(() => {
@@ -2959,21 +2931,32 @@ async function prepareContainerImagesForDev(args) {
2959
2931
  pull.abort();
2960
2932
  }, "abort")
2961
2933
  });
2962
- await pull.ready;
2934
+ const pullResult = await pull.ready;
2935
+ aborted ||= pullResult.aborted;
2963
2936
  onContainerImagePreparationEnd({
2964
2937
  containerOptions: options
2965
2938
  });
2966
2939
  }
2967
- if (!aborted) {
2968
- await cleanupDuplicateImageTags(dockerPath, options.image_tag);
2969
- await checkExposedPorts(dockerPath, options);
2940
+ if (aborted) {
2941
+ break;
2970
2942
  }
2943
+ await checkExposedPorts(dockerPath, options);
2971
2944
  }
2972
2945
  if (!aborted) {
2973
2946
  await pullEgressInterceptorImage(dockerPath);
2974
2947
  }
2948
+ return { aborted };
2975
2949
  }
2976
2950
  __name(prepareContainerImagesForDev, "prepareContainerImagesForDev");
2951
+ function isCloudflareRegistryImage(image, complianceConfig) {
2952
+ let url;
2953
+ try {
2954
+ url = new URL(`http://${image}`);
2955
+ } catch {
2956
+ }
2957
+ return url === void 0 || !url.host.match(/[:.]/) && url.hostname !== "localhost" || url.hostname === getCloudflareContainerRegistry(complianceConfig);
2958
+ }
2959
+ __name(isCloudflareRegistryImage, "isCloudflareRegistryImage");
2977
2960
  function resolveImageName(accountId, image, complianceConfig) {
2978
2961
  let url;
2979
2962
  try {
@@ -3341,6 +3324,14 @@ async function getContainerAccount(accountId, complianceConfig) {
3341
3324
  __name(getContainerAccount, "getContainerAccount");
3342
3325
 
3343
3326
  // src/build.ts
3327
+ var MAX_DOCKER_REPOSITORY_NAME_LENGTH = 255;
3328
+ function normalizeContainerImageRepositoryName(value) {
3329
+ return value.toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(
3330
+ /[._-]+/g,
3331
+ (separators) => separators === "." || separators === "_" || separators === "__" || /^-+$/.test(separators) ? separators : "-"
3332
+ ).replace(/^[._-]+|[._-]+$/g, "").slice(0, MAX_DOCKER_REPOSITORY_NAME_LENGTH).replace(/[._-]+$/g, "") || "container";
3333
+ }
3334
+ __name(normalizeContainerImageRepositoryName, "normalizeContainerImageRepositoryName");
3344
3335
  function isDockerfileContainerConfig(container) {
3345
3336
  return "dockerfile" in container;
3346
3337
  }
@@ -3711,7 +3702,7 @@ __name(buildAndMaybePush, "buildAndMaybePush");
3711
3702
  async function buildContainerImage(containerConfig, pathToDocker, verifyDockerIsRunning) {
3712
3703
  const localTag = `${getContainerImageRepositoryName(
3713
3704
  containerConfig
3714
- )}:wrangler-${crypto.randomUUID()}`;
3705
+ )}:wrangler-${crypto2.randomUUID()}`;
3715
3706
  logger.log("Building image", localTag);
3716
3707
  try {
3717
3708
  const build = await startContainerBuild({
@@ -3885,6 +3876,193 @@ async function dockerBuild(dockerPath, options) {
3885
3876
  };
3886
3877
  }
3887
3878
  __name(dockerBuild, "dockerBuild");
3879
+ var BUILD_OUTPUT_IMAGE_NAMESPACE = "cloudflare-build";
3880
+ var DOCKER_REPOSITORY_NAME_LENGTH = 255;
3881
+ async function buildAndWriteContainerOutput(options) {
3882
+ const containers = Object.entries(options.containers);
3883
+ await cleanupPreviousBuildOutputImageTags({
3884
+ root: options.root,
3885
+ pathToDocker: options.pathToDocker
3886
+ });
3887
+ const buildId = createBuildId();
3888
+ const localTags = /* @__PURE__ */ new Set();
3889
+ try {
3890
+ const dockerfileCount = countDockerfiles(containers);
3891
+ if (dockerfileCount > 0) {
3892
+ await verifyDockerInstalled({
3893
+ dockerPath: options.pathToDocker,
3894
+ operation: "building the project",
3895
+ imageNoun: dockerfileCount === 1 ? "the configured image" : "the configured images"
3896
+ });
3897
+ }
3898
+ const outputConfigs = [];
3899
+ try {
3900
+ for (const [directoryName, config] of containers) {
3901
+ outputConfigs.push({
3902
+ root: options.root,
3903
+ directoryName,
3904
+ config: await buildContainerOutputConfig({
3905
+ config,
3906
+ root: options.root,
3907
+ pathToDocker: options.pathToDocker,
3908
+ buildId,
3909
+ localTags
3910
+ })
3911
+ });
3912
+ }
3913
+ } catch (error) {
3914
+ throwBuildError(error);
3915
+ }
3916
+ for (const outputConfig of outputConfigs) {
3917
+ await writeContainerConfig(outputConfig);
3918
+ }
3919
+ } catch (error) {
3920
+ await Promise.allSettled([
3921
+ cleanBuildOutputDir(options.root),
3922
+ cleanupBuiltImages(
3923
+ Array.from(localTags, (localTag) => ({ localTag })),
3924
+ options.pathToDocker
3925
+ )
3926
+ ]);
3927
+ throw error;
3928
+ }
3929
+ }
3930
+ __name(buildAndWriteContainerOutput, "buildAndWriteContainerOutput");
3931
+ async function buildContainerOutputConfig(options) {
3932
+ if (options.config.schedulingPolicy === "durable-object") {
3933
+ if (options.config.images === void 0) {
3934
+ return { ...options.config, images: void 0 };
3935
+ }
3936
+ const images = {};
3937
+ for (const [imageName, image2] of Object.entries(options.config.images)) {
3938
+ images[imageName] = await buildContainerImage2({
3939
+ image: image2,
3940
+ repositoryName: `${options.config.name}-${imageName}`,
3941
+ root: options.root,
3942
+ pathToDocker: options.pathToDocker,
3943
+ buildId: options.buildId,
3944
+ localTags: options.localTags
3945
+ });
3946
+ }
3947
+ return { ...options.config, images };
3948
+ }
3949
+ const image = await buildContainerImage2({
3950
+ image: options.config.image,
3951
+ repositoryName: options.config.name,
3952
+ root: options.root,
3953
+ pathToDocker: options.pathToDocker,
3954
+ buildId: options.buildId,
3955
+ localTags: options.localTags
3956
+ });
3957
+ return { ...options.config, image };
3958
+ }
3959
+ __name(buildContainerOutputConfig, "buildContainerOutputConfig");
3960
+ async function buildContainerImage2(options) {
3961
+ if ("reference" in options.image) {
3962
+ return { reference: options.image.reference };
3963
+ }
3964
+ const pathToDockerfile = path2.resolve(options.root, options.image.dockerfile);
3965
+ const localTag = createBuildOutputImageTag({
3966
+ root: options.root,
3967
+ repositoryName: options.repositoryName,
3968
+ buildId: options.buildId
3969
+ });
3970
+ if (options.localTags.has(localTag)) {
3971
+ throw new UserError(
3972
+ `Container image name ${JSON.stringify(options.repositoryName)} conflicts with another image after Docker name normalization.`,
3973
+ { telemetryMessage: "container build output image name conflict" }
3974
+ );
3975
+ }
3976
+ const build = await startContainerBuild({
3977
+ build: {
3978
+ tag: localTag,
3979
+ pathToDockerfile,
3980
+ buildContext: options.image.buildContext === void 0 ? path2.dirname(pathToDockerfile) : path2.resolve(options.root, options.image.buildContext),
3981
+ args: options.image.buildVars,
3982
+ platform: "linux/amd64"
3983
+ },
3984
+ pathToDocker: options.pathToDocker,
3985
+ verifyDockerIsRunning: false
3986
+ });
3987
+ await build.ready;
3988
+ options.localTags.add(localTag);
3989
+ return { localReference: localTag };
3990
+ }
3991
+ __name(buildContainerImage2, "buildContainerImage");
3992
+ function createBuildOutputImageTag(options) {
3993
+ const repositoryPrefix = getBuildOutputImageRepositoryPrefix(options.root);
3994
+ const maxNameLength = DOCKER_REPOSITORY_NAME_LENGTH - repositoryPrefix.length;
3995
+ const repositoryName = normalizeContainerImageRepositoryName(
3996
+ options.repositoryName
3997
+ ).slice(0, maxNameLength).replace(/[._-]+$/g, "");
3998
+ return `${repositoryPrefix}${repositoryName}:${options.buildId}`;
3999
+ }
4000
+ __name(createBuildOutputImageTag, "createBuildOutputImageTag");
4001
+ async function cleanupPreviousBuildOutputImageTags(options) {
4002
+ const repositoryPrefix = getBuildOutputImageRepositoryPrefix(options.root);
4003
+ let existingTags;
4004
+ try {
4005
+ const output = runDockerCmdWithOutput(options.pathToDocker, [
4006
+ "image",
4007
+ "ls",
4008
+ "--filter",
4009
+ `reference=${repositoryPrefix}*`,
4010
+ "--format",
4011
+ "{{.Repository}}:{{.Tag}}"
4012
+ ]);
4013
+ existingTags = output === "" ? [] : output.split(/\r?\n/);
4014
+ } catch {
4015
+ return;
4016
+ }
4017
+ if (existingTags.length > 0) {
4018
+ await cleanupBuiltImages(
4019
+ existingTags.map((localTag) => ({ localTag })),
4020
+ options.pathToDocker
4021
+ );
4022
+ }
4023
+ }
4024
+ __name(cleanupPreviousBuildOutputImageTags, "cleanupPreviousBuildOutputImageTags");
4025
+ function getBuildOutputImageRepositoryPrefix(root) {
4026
+ return `${BUILD_OUTPUT_IMAGE_NAMESPACE}/${shortHash(path2.resolve(root))}/`;
4027
+ }
4028
+ __name(getBuildOutputImageRepositoryPrefix, "getBuildOutputImageRepositoryPrefix");
4029
+ function shortHash(value) {
4030
+ return crypto2.createHash("sha256").update(value).digest("hex").slice(0, 12);
4031
+ }
4032
+ __name(shortHash, "shortHash");
4033
+ function createBuildId() {
4034
+ return crypto2.randomUUID().replaceAll("-", "").slice(0, 12);
4035
+ }
4036
+ __name(createBuildId, "createBuildId");
4037
+ function countDockerfiles(containers) {
4038
+ let count = 0;
4039
+ for (const [, config] of containers) {
4040
+ if (config.schedulingPolicy === "durable-object") {
4041
+ count += Object.values(config.images ?? {}).filter(
4042
+ (image) => "dockerfile" in image
4043
+ ).length;
4044
+ } else if ("dockerfile" in config.image) {
4045
+ count++;
4046
+ }
4047
+ }
4048
+ return count;
4049
+ }
4050
+ __name(countDockerfiles, "countDockerfiles");
4051
+ function throwBuildError(error) {
4052
+ if (error instanceof UserError) {
4053
+ throw error;
4054
+ }
4055
+ if (error instanceof Error) {
4056
+ throw new UserError(error.message, {
4057
+ cause: error,
4058
+ telemetryMessage: "container build image operation failed"
4059
+ });
4060
+ }
4061
+ throw new UserError("An unknown error occurred", {
4062
+ telemetryMessage: "container build unknown error"
4063
+ });
4064
+ }
4065
+ __name(throwBuildError, "throwBuildError");
3888
4066
  var Diff = class {
3889
4067
  static {
3890
4068
  __name(this, "Diff");
@@ -4107,11 +4285,11 @@ var Diff = class {
4107
4285
  }) {
4108
4286
  log(this.toString(options));
4109
4287
  }
4110
- #addToPath(path, added, removed, oldPosInc) {
4111
- const last = path.lastComponent;
4288
+ #addToPath(path3, added, removed, oldPosInc) {
4289
+ const last = path3.lastComponent;
4112
4290
  if (last && last.added === added && last.removed === removed) {
4113
4291
  return {
4114
- oldPos: path.oldPos + oldPosInc,
4292
+ oldPos: path3.oldPos + oldPosInc,
4115
4293
  lastComponent: {
4116
4294
  count: last.count + 1,
4117
4295
  added,
@@ -4121,7 +4299,7 @@ var Diff = class {
4121
4299
  };
4122
4300
  }
4123
4301
  return {
4124
- oldPos: path.oldPos + oldPosInc,
4302
+ oldPos: path3.oldPos + oldPosInc,
4125
4303
  lastComponent: {
4126
4304
  count: 1,
4127
4305
  added,
@@ -4972,5 +5150,126 @@ var configRolloutStepsToAPI = /* @__PURE__ */ __name((rolloutSteps) => {
4972
5150
  return { steps: output };
4973
5151
  }
4974
5152
  }, "configRolloutStepsToAPI");
5153
+ var MAX_DOCKER_REPOSITORY_NAME_LENGTH2 = 255;
5154
+ var MAX_NAMED_IMAGE_SLUG_LENGTH = MAX_DOCKER_REPOSITORY_NAME_LENGTH2 - MF_DEV_CONTAINER_PREFIX.length - 1;
5155
+ var IMAGE_ID_HASH_LENGTH = 12;
5156
+ function getNamedContainerImageTag(className, imageName, containerBuildId) {
5157
+ const identity = `${className}\0${imageName}`;
5158
+ const classSlug = getDockerRepositorySlug(className);
5159
+ const imageSlug = getDockerRepositorySlug(imageName);
5160
+ const identityHash = createHash("sha256").update(identity).digest("hex").slice(0, IMAGE_ID_HASH_LENGTH);
5161
+ const readableSlug = `${classSlug || "container"}-${imageSlug || "image"}`;
5162
+ const prefix = readableSlug.slice(0, MAX_NAMED_IMAGE_SLUG_LENGTH - identityHash.length - 1).replace(/-+$/g, "");
5163
+ return getDevContainerImageName(
5164
+ `${prefix}-${identityHash}`,
5165
+ containerBuildId
5166
+ );
5167
+ }
5168
+ __name(getNamedContainerImageTag, "getNamedContainerImageTag");
5169
+ function getDockerRepositorySlug(value) {
5170
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
5171
+ }
5172
+ __name(getDockerRepositorySlug, "getDockerRepositorySlug");
5173
+ function requireContainerBuildId(containerBuildId) {
5174
+ if (containerBuildId === void 0) {
5175
+ throw new Error(
5176
+ "Build ID should be set when a Container image requires preparation"
5177
+ );
5178
+ }
5179
+ return containerBuildId;
5180
+ }
5181
+ __name(requireContainerBuildId, "requireContainerBuildId");
5182
+ function createContainerDevPlan(options) {
5183
+ const { containers, exports: exports$1, containerBuildId, configPath } = options;
5184
+ if (!containers?.length) {
5185
+ return void 0;
5186
+ }
5187
+ const containerOptions = [];
5188
+ const containerRuntimeOptions = /* @__PURE__ */ new Map();
5189
+ const durableObjectContainerAppsByName = new Map(
5190
+ getResolvedDurableObjectContainerApps(containers, exports$1).map(
5191
+ (container) => [container.name, container]
5192
+ )
5193
+ );
5194
+ for (const container of containers) {
5195
+ if (isDurableObjectContainerApp(container)) {
5196
+ const resolvedContainer = durableObjectContainerAppsByName.get(
5197
+ container.name
5198
+ );
5199
+ if (resolvedContainer === void 0) {
5200
+ throw new Error(
5201
+ `Expected Durable Object-managed Container "${container.name}" to be resolved`
5202
+ );
5203
+ }
5204
+ const className2 = resolvedContainer.class_name;
5205
+ const namedOptions = [];
5206
+ const baseDir = configPath ? path2.dirname(configPath) : process.cwd();
5207
+ for (const [imageName, image] of Object.entries(container.images ?? {})) {
5208
+ const imageTag2 = getNamedContainerImageTag(
5209
+ className2,
5210
+ imageName,
5211
+ requireContainerBuildId(containerBuildId)
5212
+ );
5213
+ if (image.dockerfile !== void 0) {
5214
+ const dockerfile = path2.resolve(baseDir, image.dockerfile);
5215
+ namedOptions.push({
5216
+ dockerfile,
5217
+ image_build_context: image.build_context === void 0 ? path2.dirname(dockerfile) : path2.resolve(baseDir, image.build_context),
5218
+ image_vars: image.build_vars,
5219
+ class_name: className2,
5220
+ image_name: imageName,
5221
+ image_tag: imageTag2
5222
+ });
5223
+ } else {
5224
+ namedOptions.push({
5225
+ image_uri: image.image,
5226
+ class_name: className2,
5227
+ image_name: imageName,
5228
+ image_tag: imageTag2
5229
+ });
5230
+ }
5231
+ }
5232
+ containerOptions.push(...namedOptions);
5233
+ const images = namedOptions.map(({ image_name, image_tag }) => ({
5234
+ name: image_name,
5235
+ image: image_tag
5236
+ }));
5237
+ containerRuntimeOptions.set(
5238
+ className2,
5239
+ images.length === 0 ? {} : { images }
5240
+ );
5241
+ continue;
5242
+ }
5243
+ if (container.image === void 0) {
5244
+ continue;
5245
+ }
5246
+ const className = resolveContainerClassName(container, exports$1);
5247
+ if (className === void 0) {
5248
+ continue;
5249
+ }
5250
+ const imageTag = getDevContainerImageName(
5251
+ className,
5252
+ requireContainerBuildId(containerBuildId)
5253
+ );
5254
+ containerRuntimeOptions.set(className, { imageName: imageTag });
5255
+ if (isDockerfile(container.image, configPath)) {
5256
+ containerOptions.push({
5257
+ dockerfile: container.image,
5258
+ image_build_context: container.image_build_context ?? path2.dirname(container.image),
5259
+ image_vars: container.image_vars,
5260
+ class_name: className,
5261
+ image_tag: imageTag
5262
+ });
5263
+ } else {
5264
+ containerOptions.push({
5265
+ image_uri: container.image,
5266
+ class_name: className,
5267
+ image_tag: imageTag
5268
+ });
5269
+ }
5270
+ }
5271
+ return containerOptions.length === 0 && containerRuntimeOptions.size === 0 ? void 0 : { containerOptions, containerRuntimeOptions };
5272
+ }
5273
+ __name(createContainerDevPlan, "createContainerDevPlan");
4975
5274
 
4976
- export { AccountService, ApiError, ApplicationAffinityColocation, ApplicationAffinityHardwareGeneration, ApplicationMutationError, ApplicationRollout, ApplicationsService, AssignIPv4, AssignIPv6, BadRequestWithCodeError, CancelError, CancelablePromise, ContainerImagePreparationStatus, ContainerImagePreparationsService, ContainerNetworkMode, CreateApplicationRolloutRequest, DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE, DeploymentCheckKind, DeploymentCheckType, DeploymentMutationError, DeploymentNotFoundError, DeploymentPlacementState, DeploymentQueuedReason, DeploymentSchedulingState, DeploymentType, DeploymentsService, Diff, DurableObjectStatusHealth, EventName, EventType, ExternalRegistryKind, FUSE_CONTAINER_PRIVILEGES, HTTPMethod, IPType, IPsService, ImageRegistriesService, ImageRegistryAlreadyExistsError, ImageRegistryIsPublic, ImageRegistryNotAllowedError, ImageRegistryNotFoundError, ImageRegistryPermissions, ImageRegistryProtocolAlreadyExists, ImageRegistryProtocolIsReferencedError, ImageRegistryProtocolNotFound, InstanceType, JobStatusHealth, JobsService, MF_DEV_CONTAINER_PREFIX, NetworkMode, NodeGroup, OpenAPI, PlacementStatusHealth, PlacementsService, ProvisionerConfiguration, RolloutStep, RolloutsService, SSHPublicKeyNotFoundError, SchedulingPolicy, SecretAccessType, SecretNameAlreadyExists, SecretNotFound, SecretsService, SshPublicKeysService, UpdateApplicationRolloutRequest, apply, buildAndMaybePush, buildCommand, buildContainerImages, checkExposedPorts, cleanApplicationFromAPI, cleanForInstanceType, cleanupBuiltImages, cleanupContainers, cleanupDuplicateImageTags, configRolloutStepsToAPI, configureOpenAPIForContainerPull, containerPrivilegesAllowed, createDurableObjectNamespaceResolver, deployContainers, dockerBuild, dockerImageInspect, dockerLoginImageRegistry, ensureContainerLimits, ensureImageFitsLimits, fetchPagedListResult, fetchResult, formatError, generateContainerBuildId, getAndValidateRegistryType, getCloudflareContainerRegistry, getCloudflareRegistryWithAccountNamespace, getContainerAccount, getContainerIdsByImageTags, getContainerIdsFromImage, getContainerImageTag, getDevContainerImageName, getDockerHostFromEnv, getDockerSocketFromContext, getEgressInterceptorImage, getEgressInterceptorPlatform, getImageRepoTags, getInstanceTypeUsage, inferInstanceType, initContainersSharedContext, isDockerRunning, isDockerfileContainerConfig, listDurableObjects, logger, prepareContainerImagesForDev, promiseSpinner, pullEgressInterceptorImage, pullImage, pushBuiltContainerImage, pushCommand, pushImageIfChanged, request, requestPaginated, resolveDockerHost, resolveImageName, runDockerCmd, runDockerCmdWithOutput, sortObjectRecursive, startContainerBuild, stripUndefined, validateAndEncodeGarKey, verifyDockerInstalled };
5275
+ export { AccountService, ApiError, ApplicationAffinityColocation, ApplicationAffinityHardwareGeneration, ApplicationMutationError, ApplicationRollout, ApplicationsService, AssignIPv4, AssignIPv6, BadRequestWithCodeError, CancelError, CancelablePromise, ContainerImagePreparationStatus, ContainerImagePreparationsService, ContainerNetworkMode, CreateApplicationRolloutRequest, DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE, DeploymentCheckKind, DeploymentCheckType, DeploymentMutationError, DeploymentNotFoundError, DeploymentPlacementState, DeploymentQueuedReason, DeploymentSchedulingState, DeploymentType, DeploymentsService, Diff, DurableObjectStatusHealth, EventName, EventType, ExternalRegistryKind, FUSE_CONTAINER_PRIVILEGES, HTTPMethod, IPType, IPsService, ImageRegistriesService, ImageRegistryAlreadyExistsError, ImageRegistryIsPublic, ImageRegistryNotAllowedError, ImageRegistryNotFoundError, ImageRegistryPermissions, ImageRegistryProtocolAlreadyExists, ImageRegistryProtocolIsReferencedError, ImageRegistryProtocolNotFound, InstanceType, JobStatusHealth, JobsService, MF_DEV_CONTAINER_PREFIX, NetworkMode, NodeGroup, OpenAPI, PlacementStatusHealth, PlacementsService, ProvisionerConfiguration, RolloutStep, RolloutsService, SSHPublicKeyNotFoundError, SchedulingPolicy, SecretAccessType, SecretNameAlreadyExists, SecretNotFound, SecretsService, SshPublicKeysService, UpdateApplicationRolloutRequest, apply, buildAndMaybePush, buildAndWriteContainerOutput, buildCommand, buildContainerImages, checkExposedPorts, cleanApplicationFromAPI, cleanForInstanceType, cleanupBuiltImages, cleanupContainers, configRolloutStepsToAPI, configureOpenAPIForContainerPull, containerPrivilegesAllowed, createContainerDevPlan, createDurableObjectNamespaceResolver, deployContainers, dockerBuild, dockerImageInspect, dockerLoginImageRegistry, ensureContainerLimits, ensureImageFitsLimits, fetchPagedListResult, fetchResult, formatError, generateContainerBuildId, getAndValidateRegistryType, getCloudflareContainerRegistry, getCloudflareRegistryWithAccountNamespace, getContainerAccount, getContainerIdsByImageTags, getContainerIdsFromImage, getContainerImageTag, getDevContainerImageName, getDockerHostFromEnv, getDockerSocketFromContext, getEgressInterceptorImage, getEgressInterceptorPlatform, getInstanceTypeUsage, inferInstanceType, initContainersSharedContext, isCloudflareRegistryImage, isDockerRunning, isDockerfileContainerConfig, listDurableObjects, logger, normalizeContainerImageRepositoryName, prepareContainerImagesForDev, promiseSpinner, pullEgressInterceptorImage, pullImage, pushBuiltContainerImage, pushCommand, pushImageIfChanged, request, requestPaginated, resolveDockerHost, resolveImageName, runDockerCmd, runDockerCmdWithOutput, sortObjectRecursive, startContainerBuild, stripUndefined, validateAndEncodeGarKey, verifyDockerInstalled };
@@ -1 +1 @@
1
- {"inputs":{"src/client/core/ApiError.ts":{"bytes":686,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/core/CancelablePromise.ts":{"bytes":3230,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/core/OpenAPI.ts":{"bytes":896,"imports":[],"format":"esm"},"src/client/core/request.ts":{"bytes":12866,"imports":[{"path":"src/client/core/ApiError.ts","kind":"import-statement","original":"./ApiError"},{"path":"src/client/core/CancelablePromise.ts","kind":"import-statement","original":"./CancelablePromise"},{"path":"./OpenAPI","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/models/ApplicationAffinityColocation.ts":{"bytes":450,"imports":[],"format":"esm"},"src/client/models/ApplicationAffinityHardwareGeneration.ts":{"bytes":304,"imports":[],"format":"esm"},"src/client/models/ApplicationMutationError.ts":{"bytes":960,"imports":[],"format":"esm"},"src/client/models/ApplicationRollout.ts":{"bytes":2627,"imports":[],"format":"esm"},"src/client/models/AssignIPv4.ts":{"bytes":163,"imports":[],"format":"esm"},"src/client/models/AssignIPv6.ts":{"bytes":163,"imports":[],"format":"esm"},"src/client/models/BadRequestWithCodeError.ts":{"bytes":559,"imports":[],"format":"esm"},"src/client/models/ContainerNetworkMode.ts":{"bytes":679,"imports":[],"format":"esm"},"src/client/models/ContainerImagePreparationStatus.ts":{"bytes":176,"imports":[],"format":"esm"},"src/client/models/CreateApplicationRolloutRequest.ts":{"bytes":2341,"imports":[],"format":"esm"},"src/client/models/DeploymentCheckKind.ts":{"bytes":144,"imports":[],"format":"esm"},"src/client/models/DeploymentCheckType.ts":{"bytes":136,"imports":[],"format":"esm"},"src/client/models/DeploymentMutationError.ts":{"bytes":542,"imports":[],"format":"esm"},"src/client/models/DeploymentNotFoundError.ts":{"bytes":357,"imports":[],"format":"esm"},"src/client/models/DeploymentPlacementState.ts":{"bytes":258,"imports":[],"format":"esm"},"src/client/models/DeploymentQueuedReason.ts":{"bytes":246,"imports":[],"format":"esm"},"src/client/models/DeploymentSchedulingState.ts":{"bytes":212,"imports":[],"format":"esm"},"src/client/models/DeploymentType.ts":{"bytes":943,"imports":[],"format":"esm"},"src/client/models/DurableObjectStatusHealth.ts":{"bytes":426,"imports":[],"format":"esm"},"src/client/models/EventName.ts":{"bytes":2451,"imports":[],"format":"esm"},"src/client/models/EventType.ts":{"bytes":204,"imports":[],"format":"esm"},"src/client/models/ExternalRegistryKind.ts":{"bytes":229,"imports":[],"format":"esm"},"src/client/models/HTTPMethod.ts":{"bytes":284,"imports":[],"format":"esm"},"src/client/models/ImageRegistryAlreadyExistsError.ts":{"bytes":574,"imports":[],"format":"esm"},"src/client/models/ImageRegistryIsPublic.ts":{"bytes":364,"imports":[],"format":"esm"},"src/client/models/ImageRegistryNotAllowedError.ts":{"bytes":598,"imports":[],"format":"esm"},"src/client/models/ImageRegistryNotFoundError.ts":{"bytes":333,"imports":[],"format":"esm"},"src/client/models/ImageRegistryPermissions.ts":{"bytes":175,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolAlreadyExists.ts":{"bytes":340,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolIsReferencedError.ts":{"bytes":441,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolNotFound.ts":{"bytes":369,"imports":[],"format":"esm"},"src/client/models/InstanceType.ts":{"bytes":1084,"imports":[],"format":"esm"},"src/client/models/IPType.ts":{"bytes":171,"imports":[],"format":"esm"},"src/client/models/JobStatusHealth.ts":{"bytes":740,"imports":[],"format":"esm"},"src/client/models/NetworkMode.ts":{"bytes":204,"imports":[],"format":"esm"},"src/client/models/NodeGroup.ts":{"bytes":335,"imports":[],"format":"esm"},"src/client/models/PlacementStatusHealth.ts":{"bytes":569,"imports":[],"format":"esm"},"src/client/models/ProvisionerConfiguration.ts":{"bytes":389,"imports":[],"format":"esm"},"src/client/models/RolloutStep.ts":{"bytes":1016,"imports":[],"format":"esm"},"src/client/models/SchedulingPolicy.ts":{"bytes":304,"imports":[],"format":"esm"},"src/client/models/SecretAccessType.ts":{"bytes":239,"imports":[],"format":"esm"},"src/client/models/SecretNameAlreadyExists.ts":{"bytes":546,"imports":[],"format":"esm"},"src/client/models/SecretNotFound.ts":{"bytes":288,"imports":[],"format":"esm"},"src/client/models/SSHPublicKeyNotFoundError.ts":{"bytes":330,"imports":[],"format":"esm"},"src/client/models/UpdateApplicationRolloutRequest.ts":{"bytes":913,"imports":[],"format":"esm"},"src/client/services/AccountService.ts":{"bytes":1535,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ApplicationsService.ts":{"bytes":17858,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ContainerImagePreparationsService.ts":{"bytes":1064,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/DeploymentsService.ts":{"bytes":9316,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ImageRegistriesService.ts":{"bytes":6457,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/IPsService.ts":{"bytes":1441,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/JobsService.ts":{"bytes":4599,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/PlacementsService.ts":{"bytes":2733,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/RolloutsService.ts":{"bytes":4854,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/SecretsService.ts":{"bytes":3305,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/SshPublicKeysService.ts":{"bytes":2261,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/index.ts":{"bytes":16133,"imports":[{"path":"src/client/core/ApiError.ts","kind":"import-statement","original":"./core/ApiError"},{"path":"src/client/core/CancelablePromise.ts","kind":"import-statement","original":"./core/CancelablePromise"},{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"./core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"./core/request"},{"path":"src/client/models/ApplicationAffinityColocation.ts","kind":"import-statement","original":"./models/ApplicationAffinityColocation"},{"path":"src/client/models/ApplicationAffinityHardwareGeneration.ts","kind":"import-statement","original":"./models/ApplicationAffinityHardwareGeneration"},{"path":"src/client/models/ApplicationMutationError.ts","kind":"import-statement","original":"./models/ApplicationMutationError"},{"path":"src/client/models/ApplicationRollout.ts","kind":"import-statement","original":"./models/ApplicationRollout"},{"path":"src/client/models/AssignIPv4.ts","kind":"import-statement","original":"./models/AssignIPv4"},{"path":"src/client/models/AssignIPv6.ts","kind":"import-statement","original":"./models/AssignIPv6"},{"path":"src/client/models/BadRequestWithCodeError.ts","kind":"import-statement","original":"./models/BadRequestWithCodeError"},{"path":"src/client/models/ContainerNetworkMode.ts","kind":"import-statement","original":"./models/ContainerNetworkMode"},{"path":"src/client/models/ContainerImagePreparationStatus.ts","kind":"import-statement","original":"./models/ContainerImagePreparationStatus"},{"path":"src/client/models/CreateApplicationRolloutRequest.ts","kind":"import-statement","original":"./models/CreateApplicationRolloutRequest"},{"path":"src/client/models/DeploymentCheckKind.ts","kind":"import-statement","original":"./models/DeploymentCheckKind"},{"path":"src/client/models/DeploymentCheckType.ts","kind":"import-statement","original":"./models/DeploymentCheckType"},{"path":"src/client/models/DeploymentMutationError.ts","kind":"import-statement","original":"./models/DeploymentMutationError"},{"path":"src/client/models/DeploymentNotFoundError.ts","kind":"import-statement","original":"./models/DeploymentNotFoundError"},{"path":"src/client/models/DeploymentPlacementState.ts","kind":"import-statement","original":"./models/DeploymentPlacementState"},{"path":"src/client/models/DeploymentQueuedReason.ts","kind":"import-statement","original":"./models/DeploymentQueuedReason"},{"path":"src/client/models/DeploymentSchedulingState.ts","kind":"import-statement","original":"./models/DeploymentSchedulingState"},{"path":"src/client/models/DeploymentType.ts","kind":"import-statement","original":"./models/DeploymentType"},{"path":"src/client/models/DurableObjectStatusHealth.ts","kind":"import-statement","original":"./models/DurableObjectStatusHealth"},{"path":"src/client/models/EventName.ts","kind":"import-statement","original":"./models/EventName"},{"path":"src/client/models/EventType.ts","kind":"import-statement","original":"./models/EventType"},{"path":"src/client/models/ExternalRegistryKind.ts","kind":"import-statement","original":"./models/ExternalRegistryKind"},{"path":"src/client/models/HTTPMethod.ts","kind":"import-statement","original":"./models/HTTPMethod"},{"path":"src/client/models/ImageRegistryAlreadyExistsError.ts","kind":"import-statement","original":"./models/ImageRegistryAlreadyExistsError"},{"path":"src/client/models/ImageRegistryIsPublic.ts","kind":"import-statement","original":"./models/ImageRegistryIsPublic"},{"path":"src/client/models/ImageRegistryNotAllowedError.ts","kind":"import-statement","original":"./models/ImageRegistryNotAllowedError"},{"path":"src/client/models/ImageRegistryNotFoundError.ts","kind":"import-statement","original":"./models/ImageRegistryNotFoundError"},{"path":"src/client/models/ImageRegistryPermissions.ts","kind":"import-statement","original":"./models/ImageRegistryPermissions"},{"path":"src/client/models/ImageRegistryProtocolAlreadyExists.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolAlreadyExists"},{"path":"src/client/models/ImageRegistryProtocolIsReferencedError.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolIsReferencedError"},{"path":"src/client/models/ImageRegistryProtocolNotFound.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolNotFound"},{"path":"src/client/models/InstanceType.ts","kind":"import-statement","original":"./models/InstanceType"},{"path":"src/client/models/IPType.ts","kind":"import-statement","original":"./models/IPType"},{"path":"src/client/models/JobStatusHealth.ts","kind":"import-statement","original":"./models/JobStatusHealth"},{"path":"src/client/models/NetworkMode.ts","kind":"import-statement","original":"./models/NetworkMode"},{"path":"src/client/models/NodeGroup.ts","kind":"import-statement","original":"./models/NodeGroup"},{"path":"src/client/models/PlacementStatusHealth.ts","kind":"import-statement","original":"./models/PlacementStatusHealth"},{"path":"src/client/models/ProvisionerConfiguration.ts","kind":"import-statement","original":"./models/ProvisionerConfiguration"},{"path":"src/client/models/RolloutStep.ts","kind":"import-statement","original":"./models/RolloutStep"},{"path":"src/client/models/SchedulingPolicy.ts","kind":"import-statement","original":"./models/SchedulingPolicy"},{"path":"src/client/models/SecretAccessType.ts","kind":"import-statement","original":"./models/SecretAccessType"},{"path":"src/client/models/SecretNameAlreadyExists.ts","kind":"import-statement","original":"./models/SecretNameAlreadyExists"},{"path":"src/client/models/SecretNotFound.ts","kind":"import-statement","original":"./models/SecretNotFound"},{"path":"src/client/models/SSHPublicKeyNotFoundError.ts","kind":"import-statement","original":"./models/SSHPublicKeyNotFoundError"},{"path":"src/client/models/UpdateApplicationRolloutRequest.ts","kind":"import-statement","original":"./models/UpdateApplicationRolloutRequest"},{"path":"src/client/services/AccountService.ts","kind":"import-statement","original":"./services/AccountService"},{"path":"src/client/services/ApplicationsService.ts","kind":"import-statement","original":"./services/ApplicationsService"},{"path":"src/client/services/ContainerImagePreparationsService.ts","kind":"import-statement","original":"./services/ContainerImagePreparationsService"},{"path":"src/client/services/DeploymentsService.ts","kind":"import-statement","original":"./services/DeploymentsService"},{"path":"src/client/services/ImageRegistriesService.ts","kind":"import-statement","original":"./services/ImageRegistriesService"},{"path":"src/client/services/IPsService.ts","kind":"import-statement","original":"./services/IPsService"},{"path":"src/client/services/JobsService.ts","kind":"import-statement","original":"./services/JobsService"},{"path":"src/client/services/PlacementsService.ts","kind":"import-statement","original":"./services/PlacementsService"},{"path":"src/client/services/RolloutsService.ts","kind":"import-statement","original":"./services/RolloutsService"},{"path":"src/client/services/SecretsService.ts","kind":"import-statement","original":"./services/SecretsService"},{"path":"src/client/services/SshPublicKeysService.ts","kind":"import-statement","original":"./services/SshPublicKeysService"}],"format":"esm"},"src/context.ts":{"bytes":901,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/registry.ts":{"bytes":790,"imports":[{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/knobs.ts":{"bytes":1440,"imports":[{"path":"@cloudflare/workers-utils/compliance","kind":"import-statement","external":true},{"path":"src/registry.ts","kind":"import-statement","original":"./registry"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/login.ts":{"bytes":1747,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"./client/core/OpenAPI"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/inspect.ts":{"bytes":886,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":15227,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:os","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/images.ts":{"bytes":14841,"imports":[{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/build.ts","kind":"import-statement","original":"./build"},{"path":"src/client/models/ExternalRegistryKind.ts","kind":"import-statement","original":"./client/models/ExternalRegistryKind"},{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"src/login.ts","kind":"import-statement","original":"./login"},{"path":"src/registry.ts","kind":"import-statement","original":"./registry"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/limits.ts":{"bytes":6884,"imports":[{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/build.ts":{"bytes":24295,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/docker-path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/fs-helpers","kind":"import-statement","external":true},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/images.ts","kind":"import-statement","original":"./images"},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"src/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/login.ts","kind":"import-statement","original":"./login"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/diff.ts":{"bytes":15139,"imports":[{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/object.ts":{"bytes":1435,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/spinner.ts":{"bytes":434,"imports":[{"path":"@cloudflare/cli-shared-helpers/interactive","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/deploy.ts":{"bytes":32106,"imports":[{"path":"node:assert","kind":"import-statement","external":true},{"path":"node:timers/promises","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/diff.ts","kind":"import-statement","original":"./diff"},{"path":"src/images.ts","kind":"import-statement","original":"./images"},{"path":"src/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/object.ts","kind":"import-statement","original":"./object"},{"path":"src/spinner.ts","kind":"import-statement","original":"./spinner"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/types.ts":{"bytes":3389,"imports":[],"format":"esm"},"index.ts":{"bytes":501,"imports":[{"path":"src/client/index.ts","kind":"import-statement","original":"./src/client"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"./src/client/core/request"},{"path":"src/build.ts","kind":"import-statement","original":"./src/build"},{"path":"src/context.ts","kind":"import-statement","original":"./src/context"},{"path":"src/deploy.ts","kind":"import-statement","original":"./src/deploy"},{"path":"src/diff.ts","kind":"import-statement","original":"./src/diff"},{"path":"src/login.ts","kind":"import-statement","original":"./src/login"},{"path":"src/knobs.ts","kind":"import-statement","original":"./src/knobs"},{"path":"src/limits.ts","kind":"import-statement","original":"./src/limits"},{"path":"src/object.ts","kind":"import-statement","original":"./src/object"},{"path":"src/utils.ts","kind":"import-statement","original":"./src/utils"},{"path":"src/types.ts","kind":"import-statement","original":"./src/types"},{"path":"src/inspect.ts","kind":"import-statement","original":"./src/inspect"},{"path":"src/registry.ts","kind":"import-statement","original":"./src/registry"},{"path":"src/images.ts","kind":"import-statement","original":"./src/images"},{"path":"src/spinner.ts","kind":"import-statement","original":"./src/spinner"}],"format":"esm"}},"outputs":{"dist/index.mjs":{"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/docker-path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/fs-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/compliance","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:os","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:assert","kind":"import-statement","external":true},{"path":"node:timers/promises","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/interactive","kind":"import-statement","external":true}],"exports":["AccountService","ApiError","ApplicationAffinityColocation","ApplicationAffinityHardwareGeneration","ApplicationMutationError","ApplicationRollout","ApplicationsService","AssignIPv4","AssignIPv6","BadRequestWithCodeError","CancelError","CancelablePromise","ContainerImagePreparationStatus","ContainerImagePreparationsService","ContainerNetworkMode","CreateApplicationRolloutRequest","DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE","DeploymentCheckKind","DeploymentCheckType","DeploymentMutationError","DeploymentNotFoundError","DeploymentPlacementState","DeploymentQueuedReason","DeploymentSchedulingState","DeploymentType","DeploymentsService","Diff","DurableObjectStatusHealth","EventName","EventType","ExternalRegistryKind","FUSE_CONTAINER_PRIVILEGES","HTTPMethod","IPType","IPsService","ImageRegistriesService","ImageRegistryAlreadyExistsError","ImageRegistryIsPublic","ImageRegistryNotAllowedError","ImageRegistryNotFoundError","ImageRegistryPermissions","ImageRegistryProtocolAlreadyExists","ImageRegistryProtocolIsReferencedError","ImageRegistryProtocolNotFound","InstanceType","JobStatusHealth","JobsService","MF_DEV_CONTAINER_PREFIX","NetworkMode","NodeGroup","OpenAPI","PlacementStatusHealth","PlacementsService","ProvisionerConfiguration","RolloutStep","RolloutsService","SSHPublicKeyNotFoundError","SchedulingPolicy","SecretAccessType","SecretNameAlreadyExists","SecretNotFound","SecretsService","SshPublicKeysService","UpdateApplicationRolloutRequest","apply","buildAndMaybePush","buildCommand","buildContainerImages","checkExposedPorts","cleanApplicationFromAPI","cleanForInstanceType","cleanupBuiltImages","cleanupContainers","cleanupDuplicateImageTags","configRolloutStepsToAPI","configureOpenAPIForContainerPull","containerPrivilegesAllowed","createDurableObjectNamespaceResolver","deployContainers","dockerBuild","dockerImageInspect","dockerLoginImageRegistry","ensureContainerLimits","ensureImageFitsLimits","fetchPagedListResult","fetchResult","formatError","generateContainerBuildId","getAndValidateRegistryType","getCloudflareContainerRegistry","getCloudflareRegistryWithAccountNamespace","getContainerAccount","getContainerIdsByImageTags","getContainerIdsFromImage","getContainerImageTag","getDevContainerImageName","getDockerHostFromEnv","getDockerSocketFromContext","getEgressInterceptorImage","getEgressInterceptorPlatform","getImageRepoTags","getInstanceTypeUsage","inferInstanceType","initContainersSharedContext","isDockerRunning","isDockerfileContainerConfig","listDurableObjects","logger","prepareContainerImagesForDev","promiseSpinner","pullEgressInterceptorImage","pullImage","pushBuiltContainerImage","pushCommand","pushImageIfChanged","request","requestPaginated","resolveDockerHost","resolveImageName","runDockerCmd","runDockerCmdWithOutput","sortObjectRecursive","startContainerBuild","stripUndefined","validateAndEncodeGarKey","verifyDockerInstalled"],"entryPoint":"index.ts","inputs":{"src/client/core/ApiError.ts":{"bytesInOutput":399},"src/client/index.ts":{"bytesInOutput":0},"src/client/core/CancelablePromise.ts":{"bytesInOutput":2718},"src/client/core/OpenAPI.ts":{"bytesInOutput":220},"src/client/core/request.ts":{"bytesInOutput":10963},"src/client/models/ApplicationAffinityColocation.ts":{"bytesInOutput":236},"src/client/models/ApplicationAffinityHardwareGeneration.ts":{"bytesInOutput":310},"src/client/models/ApplicationMutationError.ts":{"bytesInOutput":1249},"src/client/models/ApplicationRollout.ts":{"bytesInOutput":815},"src/client/models/AssignIPv4.ts":{"bytesInOutput":211},"src/client/models/AssignIPv6.ts":{"bytesInOutput":211},"src/client/models/BadRequestWithCodeError.ts":{"bytesInOutput":291},"src/client/models/ContainerNetworkMode.ts":{"bytesInOutput":293},"src/client/models/ContainerImagePreparationStatus.ts":{"bytesInOutput":350},"src/client/models/CreateApplicationRolloutRequest.ts":{"bytesInOutput":1094},"src/client/models/DeploymentCheckKind.ts":{"bytesInOutput":221},"src/client/models/DeploymentCheckType.ts":{"bytesInOutput":213},"src/client/models/DeploymentMutationError.ts":{"bytesInOutput":643},"src/client/models/DeploymentNotFoundError.ts":{"bytesInOutput":303},"src/client/models/DeploymentPlacementState.ts":{"bytesInOutput":365},"src/client/models/DeploymentQueuedReason.ts":{"bytesInOutput":279},"src/client/models/DeploymentSchedulingState.ts":{"bytesInOutput":265},"src/client/models/DeploymentType.ts":{"bytesInOutput":247},"src/client/models/DurableObjectStatusHealth.ts":{"bytesInOutput":277},"src/client/models/EventName.ts":{"bytesInOutput":991},"src/client/models/EventType.ts":{"bytesInOutput":276},"src/client/models/ExternalRegistryKind.ts":{"bytesInOutput":270},"src/client/models/HTTPMethod.ts":{"bytesInOutput":329},"src/client/models/ImageRegistryAlreadyExistsError.ts":{"bytesInOutput":369},"src/client/models/ImageRegistryIsPublic.ts":{"bytesInOutput":299},"src/client/models/ImageRegistryNotAllowedError.ts":{"bytesInOutput":345},"src/client/models/ImageRegistryNotFoundError.ts":{"bytesInOutput":329},"src/client/models/ImageRegistryPermissions.ts":{"bytesInOutput":307},"src/client/models/ImageRegistryProtocolAlreadyExists.ts":{"bytesInOutput":405},"src/client/models/ImageRegistryProtocolIsReferencedError.ts":{"bytesInOutput":421},"src/client/models/ImageRegistryProtocolNotFound.ts":{"bytesInOutput":365},"src/client/models/InstanceType.ts":{"bytesInOutput":433},"src/client/models/IPType.ts":{"bytesInOutput":129},"src/client/models/JobStatusHealth.ts":{"bytesInOutput":332},"src/client/models/NetworkMode.ts":{"bytesInOutput":198},"src/client/models/NodeGroup.ts":{"bytesInOutput":173},"src/client/models/PlacementStatusHealth.ts":{"bytesInOutput":437},"src/client/models/ProvisionerConfiguration.ts":{"bytesInOutput":309},"src/client/models/RolloutStep.ts":{"bytesInOutput":373},"src/client/models/SchedulingPolicy.ts":{"bytesInOutput":395},"src/client/models/SecretAccessType.ts":{"bytesInOutput":157},"src/client/models/SecretNameAlreadyExists.ts":{"bytesInOutput":315},"src/client/models/SecretNotFound.ts":{"bytesInOutput":251},"src/client/models/SSHPublicKeyNotFoundError.ts":{"bytesInOutput":323},"src/client/models/UpdateApplicationRolloutRequest.ts":{"bytesInOutput":397},"src/client/services/AccountService.ts":{"bytesInOutput":1131},"src/client/services/ApplicationsService.ts":{"bytesInOutput":14854},"src/client/services/ContainerImagePreparationsService.ts":{"bytesInOutput":658},"src/client/services/DeploymentsService.ts":{"bytesInOutput":7677},"src/client/services/ImageRegistriesService.ts":{"bytesInOutput":5310},"src/client/services/IPsService.ts":{"bytesInOutput":844},"src/client/services/JobsService.ts":{"bytesInOutput":3741},"src/client/services/PlacementsService.ts":{"bytesInOutput":2069},"src/client/services/RolloutsService.ts":{"bytesInOutput":3924},"src/client/services/SecretsService.ts":{"bytesInOutput":2617},"src/client/services/SshPublicKeysService.ts":{"bytesInOutput":1693},"index.ts":{"bytesInOutput":0},"src/build.ts":{"bytesInOutput":17487},"src/context.ts":{"bytesInOutput":714},"src/images.ts":{"bytesInOutput":11066},"src/knobs.ts":{"bytesInOutput":1075},"src/registry.ts":{"bytesInOutput":292},"src/login.ts":{"bytesInOutput":1525},"src/utils.ts":{"bytesInOutput":10362},"src/inspect.ts":{"bytesInOutput":943},"src/limits.ts":{"bytesInOutput":5446},"src/deploy.ts":{"bytesInOutput":26931},"src/diff.ts":{"bytesInOutput":10086},"src/object.ts":{"bytesInOutput":984},"src/spinner.ts":{"bytesInOutput":422}},"bytes":169170}}}
1
+ {"inputs":{"src/client/core/ApiError.ts":{"bytes":686,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/core/CancelablePromise.ts":{"bytes":3230,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/core/OpenAPI.ts":{"bytes":896,"imports":[],"format":"esm"},"src/client/core/request.ts":{"bytes":12866,"imports":[{"path":"src/client/core/ApiError.ts","kind":"import-statement","original":"./ApiError"},{"path":"src/client/core/CancelablePromise.ts","kind":"import-statement","original":"./CancelablePromise"},{"path":"./OpenAPI","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/models/ApplicationAffinityColocation.ts":{"bytes":450,"imports":[],"format":"esm"},"src/client/models/ApplicationAffinityHardwareGeneration.ts":{"bytes":304,"imports":[],"format":"esm"},"src/client/models/ApplicationMutationError.ts":{"bytes":960,"imports":[],"format":"esm"},"src/client/models/ApplicationRollout.ts":{"bytes":2627,"imports":[],"format":"esm"},"src/client/models/AssignIPv4.ts":{"bytes":163,"imports":[],"format":"esm"},"src/client/models/AssignIPv6.ts":{"bytes":163,"imports":[],"format":"esm"},"src/client/models/BadRequestWithCodeError.ts":{"bytes":559,"imports":[],"format":"esm"},"src/client/models/ContainerNetworkMode.ts":{"bytes":679,"imports":[],"format":"esm"},"src/client/models/ContainerImagePreparationStatus.ts":{"bytes":176,"imports":[],"format":"esm"},"src/client/models/CreateApplicationRolloutRequest.ts":{"bytes":2341,"imports":[],"format":"esm"},"src/client/models/DeploymentCheckKind.ts":{"bytes":144,"imports":[],"format":"esm"},"src/client/models/DeploymentCheckType.ts":{"bytes":136,"imports":[],"format":"esm"},"src/client/models/DeploymentMutationError.ts":{"bytes":542,"imports":[],"format":"esm"},"src/client/models/DeploymentNotFoundError.ts":{"bytes":357,"imports":[],"format":"esm"},"src/client/models/DeploymentPlacementState.ts":{"bytes":258,"imports":[],"format":"esm"},"src/client/models/DeploymentQueuedReason.ts":{"bytes":246,"imports":[],"format":"esm"},"src/client/models/DeploymentSchedulingState.ts":{"bytes":212,"imports":[],"format":"esm"},"src/client/models/DeploymentType.ts":{"bytes":943,"imports":[],"format":"esm"},"src/client/models/DurableObjectStatusHealth.ts":{"bytes":426,"imports":[],"format":"esm"},"src/client/models/EventName.ts":{"bytes":2451,"imports":[],"format":"esm"},"src/client/models/EventType.ts":{"bytes":204,"imports":[],"format":"esm"},"src/client/models/ExternalRegistryKind.ts":{"bytes":229,"imports":[],"format":"esm"},"src/client/models/HTTPMethod.ts":{"bytes":284,"imports":[],"format":"esm"},"src/client/models/ImageRegistryAlreadyExistsError.ts":{"bytes":574,"imports":[],"format":"esm"},"src/client/models/ImageRegistryIsPublic.ts":{"bytes":364,"imports":[],"format":"esm"},"src/client/models/ImageRegistryNotAllowedError.ts":{"bytes":598,"imports":[],"format":"esm"},"src/client/models/ImageRegistryNotFoundError.ts":{"bytes":333,"imports":[],"format":"esm"},"src/client/models/ImageRegistryPermissions.ts":{"bytes":175,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolAlreadyExists.ts":{"bytes":340,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolIsReferencedError.ts":{"bytes":441,"imports":[],"format":"esm"},"src/client/models/ImageRegistryProtocolNotFound.ts":{"bytes":369,"imports":[],"format":"esm"},"src/client/models/InstanceType.ts":{"bytes":1084,"imports":[],"format":"esm"},"src/client/models/IPType.ts":{"bytes":171,"imports":[],"format":"esm"},"src/client/models/JobStatusHealth.ts":{"bytes":740,"imports":[],"format":"esm"},"src/client/models/NetworkMode.ts":{"bytes":204,"imports":[],"format":"esm"},"src/client/models/NodeGroup.ts":{"bytes":335,"imports":[],"format":"esm"},"src/client/models/PlacementStatusHealth.ts":{"bytes":569,"imports":[],"format":"esm"},"src/client/models/ProvisionerConfiguration.ts":{"bytes":389,"imports":[],"format":"esm"},"src/client/models/RolloutStep.ts":{"bytes":1016,"imports":[],"format":"esm"},"src/client/models/SchedulingPolicy.ts":{"bytes":304,"imports":[],"format":"esm"},"src/client/models/SecretAccessType.ts":{"bytes":239,"imports":[],"format":"esm"},"src/client/models/SecretNameAlreadyExists.ts":{"bytes":546,"imports":[],"format":"esm"},"src/client/models/SecretNotFound.ts":{"bytes":288,"imports":[],"format":"esm"},"src/client/models/SSHPublicKeyNotFoundError.ts":{"bytes":330,"imports":[],"format":"esm"},"src/client/models/UpdateApplicationRolloutRequest.ts":{"bytes":913,"imports":[],"format":"esm"},"src/client/services/AccountService.ts":{"bytes":1535,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ApplicationsService.ts":{"bytes":17858,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ContainerImagePreparationsService.ts":{"bytes":1064,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/DeploymentsService.ts":{"bytes":9316,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/ImageRegistriesService.ts":{"bytes":6457,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/IPsService.ts":{"bytes":1441,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/JobsService.ts":{"bytes":4599,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/PlacementsService.ts":{"bytes":2733,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/RolloutsService.ts":{"bytes":4854,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/SecretsService.ts":{"bytes":3305,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/services/SshPublicKeysService.ts":{"bytes":2261,"imports":[{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"../core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"../core/request"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/client/index.ts":{"bytes":16133,"imports":[{"path":"src/client/core/ApiError.ts","kind":"import-statement","original":"./core/ApiError"},{"path":"src/client/core/CancelablePromise.ts","kind":"import-statement","original":"./core/CancelablePromise"},{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"./core/OpenAPI"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"./core/request"},{"path":"src/client/models/ApplicationAffinityColocation.ts","kind":"import-statement","original":"./models/ApplicationAffinityColocation"},{"path":"src/client/models/ApplicationAffinityHardwareGeneration.ts","kind":"import-statement","original":"./models/ApplicationAffinityHardwareGeneration"},{"path":"src/client/models/ApplicationMutationError.ts","kind":"import-statement","original":"./models/ApplicationMutationError"},{"path":"src/client/models/ApplicationRollout.ts","kind":"import-statement","original":"./models/ApplicationRollout"},{"path":"src/client/models/AssignIPv4.ts","kind":"import-statement","original":"./models/AssignIPv4"},{"path":"src/client/models/AssignIPv6.ts","kind":"import-statement","original":"./models/AssignIPv6"},{"path":"src/client/models/BadRequestWithCodeError.ts","kind":"import-statement","original":"./models/BadRequestWithCodeError"},{"path":"src/client/models/ContainerNetworkMode.ts","kind":"import-statement","original":"./models/ContainerNetworkMode"},{"path":"src/client/models/ContainerImagePreparationStatus.ts","kind":"import-statement","original":"./models/ContainerImagePreparationStatus"},{"path":"src/client/models/CreateApplicationRolloutRequest.ts","kind":"import-statement","original":"./models/CreateApplicationRolloutRequest"},{"path":"src/client/models/DeploymentCheckKind.ts","kind":"import-statement","original":"./models/DeploymentCheckKind"},{"path":"src/client/models/DeploymentCheckType.ts","kind":"import-statement","original":"./models/DeploymentCheckType"},{"path":"src/client/models/DeploymentMutationError.ts","kind":"import-statement","original":"./models/DeploymentMutationError"},{"path":"src/client/models/DeploymentNotFoundError.ts","kind":"import-statement","original":"./models/DeploymentNotFoundError"},{"path":"src/client/models/DeploymentPlacementState.ts","kind":"import-statement","original":"./models/DeploymentPlacementState"},{"path":"src/client/models/DeploymentQueuedReason.ts","kind":"import-statement","original":"./models/DeploymentQueuedReason"},{"path":"src/client/models/DeploymentSchedulingState.ts","kind":"import-statement","original":"./models/DeploymentSchedulingState"},{"path":"src/client/models/DeploymentType.ts","kind":"import-statement","original":"./models/DeploymentType"},{"path":"src/client/models/DurableObjectStatusHealth.ts","kind":"import-statement","original":"./models/DurableObjectStatusHealth"},{"path":"src/client/models/EventName.ts","kind":"import-statement","original":"./models/EventName"},{"path":"src/client/models/EventType.ts","kind":"import-statement","original":"./models/EventType"},{"path":"src/client/models/ExternalRegistryKind.ts","kind":"import-statement","original":"./models/ExternalRegistryKind"},{"path":"src/client/models/HTTPMethod.ts","kind":"import-statement","original":"./models/HTTPMethod"},{"path":"src/client/models/ImageRegistryAlreadyExistsError.ts","kind":"import-statement","original":"./models/ImageRegistryAlreadyExistsError"},{"path":"src/client/models/ImageRegistryIsPublic.ts","kind":"import-statement","original":"./models/ImageRegistryIsPublic"},{"path":"src/client/models/ImageRegistryNotAllowedError.ts","kind":"import-statement","original":"./models/ImageRegistryNotAllowedError"},{"path":"src/client/models/ImageRegistryNotFoundError.ts","kind":"import-statement","original":"./models/ImageRegistryNotFoundError"},{"path":"src/client/models/ImageRegistryPermissions.ts","kind":"import-statement","original":"./models/ImageRegistryPermissions"},{"path":"src/client/models/ImageRegistryProtocolAlreadyExists.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolAlreadyExists"},{"path":"src/client/models/ImageRegistryProtocolIsReferencedError.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolIsReferencedError"},{"path":"src/client/models/ImageRegistryProtocolNotFound.ts","kind":"import-statement","original":"./models/ImageRegistryProtocolNotFound"},{"path":"src/client/models/InstanceType.ts","kind":"import-statement","original":"./models/InstanceType"},{"path":"src/client/models/IPType.ts","kind":"import-statement","original":"./models/IPType"},{"path":"src/client/models/JobStatusHealth.ts","kind":"import-statement","original":"./models/JobStatusHealth"},{"path":"src/client/models/NetworkMode.ts","kind":"import-statement","original":"./models/NetworkMode"},{"path":"src/client/models/NodeGroup.ts","kind":"import-statement","original":"./models/NodeGroup"},{"path":"src/client/models/PlacementStatusHealth.ts","kind":"import-statement","original":"./models/PlacementStatusHealth"},{"path":"src/client/models/ProvisionerConfiguration.ts","kind":"import-statement","original":"./models/ProvisionerConfiguration"},{"path":"src/client/models/RolloutStep.ts","kind":"import-statement","original":"./models/RolloutStep"},{"path":"src/client/models/SchedulingPolicy.ts","kind":"import-statement","original":"./models/SchedulingPolicy"},{"path":"src/client/models/SecretAccessType.ts","kind":"import-statement","original":"./models/SecretAccessType"},{"path":"src/client/models/SecretNameAlreadyExists.ts","kind":"import-statement","original":"./models/SecretNameAlreadyExists"},{"path":"src/client/models/SecretNotFound.ts","kind":"import-statement","original":"./models/SecretNotFound"},{"path":"src/client/models/SSHPublicKeyNotFoundError.ts","kind":"import-statement","original":"./models/SSHPublicKeyNotFoundError"},{"path":"src/client/models/UpdateApplicationRolloutRequest.ts","kind":"import-statement","original":"./models/UpdateApplicationRolloutRequest"},{"path":"src/client/services/AccountService.ts","kind":"import-statement","original":"./services/AccountService"},{"path":"src/client/services/ApplicationsService.ts","kind":"import-statement","original":"./services/ApplicationsService"},{"path":"src/client/services/ContainerImagePreparationsService.ts","kind":"import-statement","original":"./services/ContainerImagePreparationsService"},{"path":"src/client/services/DeploymentsService.ts","kind":"import-statement","original":"./services/DeploymentsService"},{"path":"src/client/services/ImageRegistriesService.ts","kind":"import-statement","original":"./services/ImageRegistriesService"},{"path":"src/client/services/IPsService.ts","kind":"import-statement","original":"./services/IPsService"},{"path":"src/client/services/JobsService.ts","kind":"import-statement","original":"./services/JobsService"},{"path":"src/client/services/PlacementsService.ts","kind":"import-statement","original":"./services/PlacementsService"},{"path":"src/client/services/RolloutsService.ts","kind":"import-statement","original":"./services/RolloutsService"},{"path":"src/client/services/SecretsService.ts","kind":"import-statement","original":"./services/SecretsService"},{"path":"src/client/services/SshPublicKeysService.ts","kind":"import-statement","original":"./services/SshPublicKeysService"}],"format":"esm"},"src/context.ts":{"bytes":901,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/registry.ts":{"bytes":790,"imports":[{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/knobs.ts":{"bytes":1440,"imports":[{"path":"@cloudflare/workers-utils/compliance","kind":"import-statement","external":true},{"path":"src/registry.ts","kind":"import-statement","original":"./registry"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/login.ts":{"bytes":1747,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/client/core/OpenAPI.ts","kind":"import-statement","original":"./client/core/OpenAPI"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/inspect.ts":{"bytes":886,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":14079,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:os","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/images.ts":{"bytes":15535,"imports":[{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/build.ts","kind":"import-statement","original":"./build"},{"path":"src/client/models/ExternalRegistryKind.ts","kind":"import-statement","original":"./client/models/ExternalRegistryKind"},{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"src/login.ts","kind":"import-statement","original":"./login"},{"path":"src/registry.ts","kind":"import-statement","original":"./registry"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/limits.ts":{"bytes":6884,"imports":[{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/build.ts":{"bytes":24807,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/docker-path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/fs-helpers","kind":"import-statement","external":true},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/images.ts","kind":"import-statement","original":"./images"},{"path":"src/inspect.ts","kind":"import-statement","original":"./inspect"},{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"src/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/login.ts","kind":"import-statement","original":"./login"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/build-output.ts":{"bytes":7530,"imports":[{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/build-output-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/build.ts","kind":"import-statement","original":"./build"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/diff.ts":{"bytes":15139,"imports":[{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/object.ts":{"bytes":1435,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/spinner.ts":{"bytes":434,"imports":[{"path":"@cloudflare/cli-shared-helpers/interactive","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/deploy.ts":{"bytes":32106,"imports":[{"path":"node:assert","kind":"import-statement","external":true},{"path":"node:timers/promises","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"src/client/index.ts","kind":"import-statement","original":"./client"},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/diff.ts","kind":"import-statement","original":"./diff"},{"path":"src/images.ts","kind":"import-statement","original":"./images"},{"path":"src/limits.ts","kind":"import-statement","original":"./limits"},{"path":"src/object.ts","kind":"import-statement","original":"./object"},{"path":"src/spinner.ts","kind":"import-statement","original":"./spinner"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/types.ts":{"bytes":3964,"imports":[],"format":"esm"},"src/dev-options.ts":{"bytes":5572,"imports":[{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true},{"path":"src/knobs.ts","kind":"import-statement","original":"./knobs"},{"path":"src/registry.ts","kind":"import-statement","original":"./registry"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"index.ts":{"bytes":572,"imports":[{"path":"src/client/index.ts","kind":"import-statement","original":"./src/client"},{"path":"src/client/core/request.ts","kind":"import-statement","original":"./src/client/core/request"},{"path":"src/build.ts","kind":"import-statement","original":"./src/build"},{"path":"src/build-output.ts","kind":"import-statement","original":"./src/build-output"},{"path":"src/context.ts","kind":"import-statement","original":"./src/context"},{"path":"src/deploy.ts","kind":"import-statement","original":"./src/deploy"},{"path":"src/diff.ts","kind":"import-statement","original":"./src/diff"},{"path":"src/login.ts","kind":"import-statement","original":"./src/login"},{"path":"src/knobs.ts","kind":"import-statement","original":"./src/knobs"},{"path":"src/limits.ts","kind":"import-statement","original":"./src/limits"},{"path":"src/object.ts","kind":"import-statement","original":"./src/object"},{"path":"src/utils.ts","kind":"import-statement","original":"./src/utils"},{"path":"src/types.ts","kind":"import-statement","original":"./src/types"},{"path":"src/inspect.ts","kind":"import-statement","original":"./src/inspect"},{"path":"src/registry.ts","kind":"import-statement","original":"./src/registry"},{"path":"src/images.ts","kind":"import-statement","original":"./src/images"},{"path":"src/spinner.ts","kind":"import-statement","original":"./src/spinner"},{"path":"src/dev-options.ts","kind":"import-statement","original":"./src/dev-options"}],"format":"esm"}},"outputs":{"dist/index.mjs":{"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/docker-path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/fs-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/compliance","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:os","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/build-output-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"node:assert","kind":"import-statement","external":true},{"path":"node:timers/promises","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils/errors","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/colors","kind":"import-statement","external":true},{"path":"@cloudflare/cli-shared-helpers/interactive","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@cloudflare/workers-utils","kind":"import-statement","external":true}],"exports":["AccountService","ApiError","ApplicationAffinityColocation","ApplicationAffinityHardwareGeneration","ApplicationMutationError","ApplicationRollout","ApplicationsService","AssignIPv4","AssignIPv6","BadRequestWithCodeError","CancelError","CancelablePromise","ContainerImagePreparationStatus","ContainerImagePreparationsService","ContainerNetworkMode","CreateApplicationRolloutRequest","DEFAULT_CONTAINER_EGRESS_INTERCEPTOR_IMAGE","DeploymentCheckKind","DeploymentCheckType","DeploymentMutationError","DeploymentNotFoundError","DeploymentPlacementState","DeploymentQueuedReason","DeploymentSchedulingState","DeploymentType","DeploymentsService","Diff","DurableObjectStatusHealth","EventName","EventType","ExternalRegistryKind","FUSE_CONTAINER_PRIVILEGES","HTTPMethod","IPType","IPsService","ImageRegistriesService","ImageRegistryAlreadyExistsError","ImageRegistryIsPublic","ImageRegistryNotAllowedError","ImageRegistryNotFoundError","ImageRegistryPermissions","ImageRegistryProtocolAlreadyExists","ImageRegistryProtocolIsReferencedError","ImageRegistryProtocolNotFound","InstanceType","JobStatusHealth","JobsService","MF_DEV_CONTAINER_PREFIX","NetworkMode","NodeGroup","OpenAPI","PlacementStatusHealth","PlacementsService","ProvisionerConfiguration","RolloutStep","RolloutsService","SSHPublicKeyNotFoundError","SchedulingPolicy","SecretAccessType","SecretNameAlreadyExists","SecretNotFound","SecretsService","SshPublicKeysService","UpdateApplicationRolloutRequest","apply","buildAndMaybePush","buildAndWriteContainerOutput","buildCommand","buildContainerImages","checkExposedPorts","cleanApplicationFromAPI","cleanForInstanceType","cleanupBuiltImages","cleanupContainers","configRolloutStepsToAPI","configureOpenAPIForContainerPull","containerPrivilegesAllowed","createContainerDevPlan","createDurableObjectNamespaceResolver","deployContainers","dockerBuild","dockerImageInspect","dockerLoginImageRegistry","ensureContainerLimits","ensureImageFitsLimits","fetchPagedListResult","fetchResult","formatError","generateContainerBuildId","getAndValidateRegistryType","getCloudflareContainerRegistry","getCloudflareRegistryWithAccountNamespace","getContainerAccount","getContainerIdsByImageTags","getContainerIdsFromImage","getContainerImageTag","getDevContainerImageName","getDockerHostFromEnv","getDockerSocketFromContext","getEgressInterceptorImage","getEgressInterceptorPlatform","getInstanceTypeUsage","inferInstanceType","initContainersSharedContext","isCloudflareRegistryImage","isDockerRunning","isDockerfileContainerConfig","listDurableObjects","logger","normalizeContainerImageRepositoryName","prepareContainerImagesForDev","promiseSpinner","pullEgressInterceptorImage","pullImage","pushBuiltContainerImage","pushCommand","pushImageIfChanged","request","requestPaginated","resolveDockerHost","resolveImageName","runDockerCmd","runDockerCmdWithOutput","sortObjectRecursive","startContainerBuild","stripUndefined","validateAndEncodeGarKey","verifyDockerInstalled"],"entryPoint":"index.ts","inputs":{"src/client/core/ApiError.ts":{"bytesInOutput":399},"src/client/index.ts":{"bytesInOutput":0},"src/client/core/CancelablePromise.ts":{"bytesInOutput":2718},"src/client/core/OpenAPI.ts":{"bytesInOutput":220},"src/client/core/request.ts":{"bytesInOutput":10965},"src/client/models/ApplicationAffinityColocation.ts":{"bytesInOutput":236},"src/client/models/ApplicationAffinityHardwareGeneration.ts":{"bytesInOutput":310},"src/client/models/ApplicationMutationError.ts":{"bytesInOutput":1249},"src/client/models/ApplicationRollout.ts":{"bytesInOutput":815},"src/client/models/AssignIPv4.ts":{"bytesInOutput":211},"src/client/models/AssignIPv6.ts":{"bytesInOutput":211},"src/client/models/BadRequestWithCodeError.ts":{"bytesInOutput":291},"src/client/models/ContainerNetworkMode.ts":{"bytesInOutput":293},"src/client/models/ContainerImagePreparationStatus.ts":{"bytesInOutput":350},"src/client/models/CreateApplicationRolloutRequest.ts":{"bytesInOutput":1094},"src/client/models/DeploymentCheckKind.ts":{"bytesInOutput":221},"src/client/models/DeploymentCheckType.ts":{"bytesInOutput":213},"src/client/models/DeploymentMutationError.ts":{"bytesInOutput":643},"src/client/models/DeploymentNotFoundError.ts":{"bytesInOutput":303},"src/client/models/DeploymentPlacementState.ts":{"bytesInOutput":365},"src/client/models/DeploymentQueuedReason.ts":{"bytesInOutput":279},"src/client/models/DeploymentSchedulingState.ts":{"bytesInOutput":265},"src/client/models/DeploymentType.ts":{"bytesInOutput":247},"src/client/models/DurableObjectStatusHealth.ts":{"bytesInOutput":277},"src/client/models/EventName.ts":{"bytesInOutput":991},"src/client/models/EventType.ts":{"bytesInOutput":276},"src/client/models/ExternalRegistryKind.ts":{"bytesInOutput":270},"src/client/models/HTTPMethod.ts":{"bytesInOutput":329},"src/client/models/ImageRegistryAlreadyExistsError.ts":{"bytesInOutput":369},"src/client/models/ImageRegistryIsPublic.ts":{"bytesInOutput":299},"src/client/models/ImageRegistryNotAllowedError.ts":{"bytesInOutput":345},"src/client/models/ImageRegistryNotFoundError.ts":{"bytesInOutput":329},"src/client/models/ImageRegistryPermissions.ts":{"bytesInOutput":307},"src/client/models/ImageRegistryProtocolAlreadyExists.ts":{"bytesInOutput":405},"src/client/models/ImageRegistryProtocolIsReferencedError.ts":{"bytesInOutput":421},"src/client/models/ImageRegistryProtocolNotFound.ts":{"bytesInOutput":365},"src/client/models/InstanceType.ts":{"bytesInOutput":433},"src/client/models/IPType.ts":{"bytesInOutput":129},"src/client/models/JobStatusHealth.ts":{"bytesInOutput":332},"src/client/models/NetworkMode.ts":{"bytesInOutput":198},"src/client/models/NodeGroup.ts":{"bytesInOutput":173},"src/client/models/PlacementStatusHealth.ts":{"bytesInOutput":437},"src/client/models/ProvisionerConfiguration.ts":{"bytesInOutput":309},"src/client/models/RolloutStep.ts":{"bytesInOutput":373},"src/client/models/SchedulingPolicy.ts":{"bytesInOutput":395},"src/client/models/SecretAccessType.ts":{"bytesInOutput":157},"src/client/models/SecretNameAlreadyExists.ts":{"bytesInOutput":315},"src/client/models/SecretNotFound.ts":{"bytesInOutput":251},"src/client/models/SSHPublicKeyNotFoundError.ts":{"bytesInOutput":323},"src/client/models/UpdateApplicationRolloutRequest.ts":{"bytesInOutput":397},"src/client/services/AccountService.ts":{"bytesInOutput":1131},"src/client/services/ApplicationsService.ts":{"bytesInOutput":14854},"src/client/services/ContainerImagePreparationsService.ts":{"bytesInOutput":658},"src/client/services/DeploymentsService.ts":{"bytesInOutput":7677},"src/client/services/ImageRegistriesService.ts":{"bytesInOutput":5310},"src/client/services/IPsService.ts":{"bytesInOutput":844},"src/client/services/JobsService.ts":{"bytesInOutput":3741},"src/client/services/PlacementsService.ts":{"bytesInOutput":2069},"src/client/services/RolloutsService.ts":{"bytesInOutput":3924},"src/client/services/SecretsService.ts":{"bytesInOutput":2617},"src/client/services/SshPublicKeysService.ts":{"bytesInOutput":1693},"index.ts":{"bytesInOutput":0},"src/build.ts":{"bytesInOutput":18012},"src/context.ts":{"bytesInOutput":714},"src/images.ts":{"bytesInOutput":11463},"src/knobs.ts":{"bytesInOutput":1075},"src/registry.ts":{"bytesInOutput":292},"src/login.ts":{"bytesInOutput":1525},"src/utils.ts":{"bytesInOutput":9403},"src/inspect.ts":{"bytesInOutput":943},"src/limits.ts":{"bytesInOutput":5446},"src/build-output.ts":{"bytesInOutput":6603},"src/deploy.ts":{"bytesInOutput":26931},"src/diff.ts":{"bytesInOutput":10090},"src/object.ts":{"bytesInOutput":984},"src/spinner.ts":{"bytesInOutput":422},"src/dev-options.ts":{"bytesInOutput":4846}},"bytes":180714}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/containers-shared",
3
- "version": "0.16.4",
3
+ "version": "0.17.0",
4
4
  "description": "Internal-only shared container helpers for workers-sdk. Do not use directly; APIs are unstable and may change or disappear without notice.",
5
5
  "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/containers-shared#readme",
6
6
  "bugs": {
@@ -24,8 +24,10 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@cloudflare/cli-shared-helpers": "0.1.32",
28
- "@cloudflare/workers-utils": "0.39.1"
27
+ "@cloudflare/build-output-utils": "0.6.0",
28
+ "@cloudflare/cli-shared-helpers": "0.1.34",
29
+ "@cloudflare/workers-utils": "0.40.1",
30
+ "@cloudflare/config": "0.15.0"
29
31
  },
30
32
  "devDependencies": {
31
33
  "@types/node": "22.15.17",