modal 0.11.1-dev.8 → 0.11.1

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.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { createChannel, Client, Status, ClientMiddleware } from 'nice-grpc';
2
1
  import { BinaryWriter, BinaryReader } from '@bufbuild/protobuf/wire';
2
+ import { createChannel, Client, Status, ClientMiddleware } from 'nice-grpc';
3
3
 
4
4
  /**
5
5
  * A generic empty message that you can re-use to avoid defining duplicated
@@ -54,7 +54,7 @@ declare enum AppDisconnectReason {
54
54
  * NOTE: make sure to update the frontend if we add a new state here
55
55
  * https://github.com/modal-labs/modal/blob/main/frontend/src/routes/(dashboard)/%5B%5Bworkspace%5D%5D/apps/+page.svelte#L95
56
56
  */
57
- declare enum AppState {
57
+ declare enum AppState$1 {
58
58
  APP_STATE_UNSPECIFIED = 0,
59
59
  /** APP_STATE_EPHEMERAL - Will be discharged when the client disconnects */
60
60
  APP_STATE_EPHEMERAL = 1,
@@ -207,6 +207,7 @@ declare enum EnvironmentRole {
207
207
  ENVIRONMENT_ROLE_VIEWER = 1,
208
208
  ENVIRONMENT_ROLE_CONTRIBUTOR = 2,
209
209
  ENVIRONMENT_ROLE_NO_ACCESS = 3,
210
+ ENVIRONMENT_ROLE_MODAL_ADMINISTERED_OBSERVER = 4,
210
211
  UNRECOGNIZED = -1
211
212
  }
212
213
  /**
@@ -372,36 +373,6 @@ declare enum ServerInferenceStatsStatus {
372
373
  SERVER_INFERENCE_STATS_STATUS_UNAVAILABLE = 3,
373
374
  UNRECOGNIZED = -1
374
375
  }
375
- declare enum SystemErrorCode {
376
- SYSTEM_ERROR_CODE_UNSPECIFIED = 0,
377
- /** SYSTEM_ERROR_CODE_PERM - EPERM: Operation not permitted */
378
- SYSTEM_ERROR_CODE_PERM = 1,
379
- /** SYSTEM_ERROR_CODE_NOENT - ENOENT: No such file or directory */
380
- SYSTEM_ERROR_CODE_NOENT = 2,
381
- /** SYSTEM_ERROR_CODE_IO - EIO: Input/output error */
382
- SYSTEM_ERROR_CODE_IO = 5,
383
- /** SYSTEM_ERROR_CODE_NXIO - ENXIO: No such device or address */
384
- SYSTEM_ERROR_CODE_NXIO = 6,
385
- /** SYSTEM_ERROR_CODE_NOMEM - ENOMEM: Out of memory */
386
- SYSTEM_ERROR_CODE_NOMEM = 12,
387
- /** SYSTEM_ERROR_CODE_ACCES - EACCES: Permission denied */
388
- SYSTEM_ERROR_CODE_ACCES = 13,
389
- /** SYSTEM_ERROR_CODE_EXIST - EEXIST: File exists */
390
- SYSTEM_ERROR_CODE_EXIST = 17,
391
- /** SYSTEM_ERROR_CODE_NOTDIR - ENOTDIR: Not a directory */
392
- SYSTEM_ERROR_CODE_NOTDIR = 20,
393
- /** SYSTEM_ERROR_CODE_ISDIR - EISDIR: Is a directory */
394
- SYSTEM_ERROR_CODE_ISDIR = 21,
395
- /** SYSTEM_ERROR_CODE_INVAL - EINVAL: Invalid argument */
396
- SYSTEM_ERROR_CODE_INVAL = 22,
397
- /** SYSTEM_ERROR_CODE_MFILE - EMFILE: Too many open files */
398
- SYSTEM_ERROR_CODE_MFILE = 24,
399
- /** SYSTEM_ERROR_CODE_FBIG - EFBIG: File too large */
400
- SYSTEM_ERROR_CODE_FBIG = 27,
401
- /** SYSTEM_ERROR_CODE_NOSPC - ENOSPC: No space left on device */
402
- SYSTEM_ERROR_CODE_NOSPC = 28,
403
- UNRECOGNIZED = -1
404
- }
405
376
  declare enum TaskSnapshotBehavior {
406
377
  TASK_SNAPSHOT_BEHAVIOR_UNSPECIFIED = 0,
407
378
  TASK_SNAPSHOT_BEHAVIOR_SNAPSHOT = 1,
@@ -539,6 +510,12 @@ declare enum GenericResult_GenericStatus {
539
510
  GENERIC_STATUS_MEMORY_MANAGER_EVICTION = 8,
540
511
  UNRECOGNIZED = -1
541
512
  }
513
+ declare enum MetricsGetInfoRequest_MetricsTargetType {
514
+ METRICS_TARGET_TYPE_UNSPECIFIED = 0,
515
+ METRICS_TARGET_TYPE_FUNCTION = 1,
516
+ METRICS_TARGET_TYPE_SERVER = 2,
517
+ UNRECOGNIZED = -1
518
+ }
542
519
  declare enum NetworkAccess_NetworkAccessType {
543
520
  UNSPECIFIED = 0,
544
521
  OPEN = 1,
@@ -546,6 +523,14 @@ declare enum NetworkAccess_NetworkAccessType {
546
523
  ALLOWLIST = 3,
547
524
  UNRECOGNIZED = -1
548
525
  }
526
+ declare enum OutboundPolicy_Transport {
527
+ /** TRANSPORT_UNSPECIFIED - The route type's default, described on each route's transport field. */
528
+ TRANSPORT_UNSPECIFIED = 0,
529
+ TRANSPORT_ANY = 1,
530
+ TRANSPORT_TCP = 2,
531
+ TRANSPORT_UDP = 3,
532
+ UNRECOGNIZED = -1
533
+ }
549
534
  declare enum PTYInfo_PTYType {
550
535
  /** PTY_TYPE_UNSPECIFIED - Nothing */
551
536
  PTY_TYPE_UNSPECIFIED = 0,
@@ -617,7 +602,7 @@ interface AppCreateRequest {
617
602
  /** Human readable label for the app */
618
603
  description: string;
619
604
  environmentName: string;
620
- appState: AppState;
605
+ appState: AppState$1;
621
606
  /** Additional metadata to attach to the App */
622
607
  tags: {
623
608
  [key: string]: string;
@@ -697,7 +682,7 @@ interface AppGetByDeploymentNameResponse {
697
682
  /** Populated because server may resolve default environment */
698
683
  environmentName: string;
699
684
  /** Lifecycle of current App or recently stopped App */
700
- lifecycle: AppLifecycle | undefined;
685
+ lifecycle: AppLifecycle$1 | undefined;
701
686
  }
702
687
  declare const AppGetByDeploymentNameResponse: MessageFns$1<AppGetByDeploymentNameResponse>;
703
688
  interface AppGetInfoRequest {
@@ -734,7 +719,7 @@ interface AppGetLifecycleRequest {
734
719
  }
735
720
  declare const AppGetLifecycleRequest: MessageFns$1<AppGetLifecycleRequest>;
736
721
  interface AppGetLifecycleResponse {
737
- lifecycle: AppLifecycle | undefined;
722
+ lifecycle: AppLifecycle$1 | undefined;
738
723
  }
739
724
  declare const AppGetLifecycleResponse: MessageFns$1<AppGetLifecycleResponse>;
740
725
  interface AppGetLogsRequest {
@@ -792,7 +777,7 @@ interface AppHandleMetadata {
792
777
  description: string;
793
778
  appId: string;
794
779
  environmentName: string;
795
- lifecycle: AppLifecycle | undefined;
780
+ lifecycle: AppLifecycle$1 | undefined;
796
781
  /** tag -> function id */
797
782
  functions: {
798
783
  [key: string]: string;
@@ -819,8 +804,8 @@ interface AppLayout {
819
804
  };
820
805
  }
821
806
  declare const AppLayout: MessageFns$1<AppLayout>;
822
- interface AppLifecycle {
823
- appState: AppState;
807
+ interface AppLifecycle$1 {
808
+ appState: AppState$1;
824
809
  createdAt: number;
825
810
  /** User or service user name */
826
811
  createdBy: string;
@@ -835,7 +820,7 @@ interface AppLifecycle {
835
820
  /** User or service user name, null if running or ephemeral App that finished normally */
836
821
  stoppedBy: string;
837
822
  }
838
- declare const AppLifecycle: MessageFns$1<AppLifecycle>;
823
+ declare const AppLifecycle$1: MessageFns$1<AppLifecycle$1>;
839
824
  interface AppListRequest {
840
825
  environmentName: string;
841
826
  }
@@ -847,7 +832,7 @@ declare const AppListResponse: MessageFns$1<AppListResponse>;
847
832
  interface AppListResponse_AppListItem {
848
833
  appId: string;
849
834
  description: string;
850
- state: AppState;
835
+ state: AppState$1;
851
836
  createdAt: number;
852
837
  stoppedAt: number;
853
838
  nRunningTasks: number;
@@ -881,7 +866,7 @@ interface AppPublishRequest {
881
866
  /** Additional metadata to identify a deployment */
882
867
  deploymentTag: string;
883
868
  /** Published app will be in this state */
884
- appState: AppState;
869
+ appState: AppState$1;
885
870
  /** function_name -> function_id */
886
871
  functionIds: {
887
872
  [key: string]: string;
@@ -948,7 +933,7 @@ interface AppSetObjectsRequest {
948
933
  clientId: string;
949
934
  unindexedObjectIds: string[];
950
935
  /** promotes an app from initializing to this new state */
951
- newAppState: AppState;
936
+ newAppState: AppState$1;
952
937
  }
953
938
  declare const AppSetObjectsRequest: MessageFns$1<AppSetObjectsRequest>;
954
939
  interface AppSetTagsRequest {
@@ -1396,11 +1381,6 @@ interface ContainerFileWriteRequest {
1396
1381
  data: Uint8Array;
1397
1382
  }
1398
1383
  declare const ContainerFileWriteRequest: MessageFns$1<ContainerFileWriteRequest>;
1399
- interface ContainerFilesystemExecGetOutputRequest {
1400
- execId: string;
1401
- timeout: number;
1402
- }
1403
- declare const ContainerFilesystemExecGetOutputRequest: MessageFns$1<ContainerFilesystemExecGetOutputRequest>;
1404
1384
  interface ContainerFilesystemExecRequest {
1405
1385
  fileOpenRequest?: ContainerFileOpenRequest | undefined;
1406
1386
  fileWriteRequest?: ContainerFileWriteRequest | undefined;
@@ -1764,7 +1744,7 @@ interface EndpointListItem {
1764
1744
  activeDeploymentId: string;
1765
1745
  updatedAt: number;
1766
1746
  metadata: EndpointMetadata | undefined;
1767
- appState: AppState;
1747
+ appState: AppState$1;
1768
1748
  functionId: string;
1769
1749
  createdByAvatarUrl: string;
1770
1750
  provisioningStatus: EndpointProvisioningStatus;
@@ -1950,6 +1930,9 @@ interface EnvironmentRoleSetRequest {
1950
1930
  role: EnvironmentRole;
1951
1931
  /** String representation from the CLI; parsed when role is unspecified */
1952
1932
  roleStr: string;
1933
+ serviceUserName: string;
1934
+ /** Sent by the client when an environment ID is unavailable */
1935
+ environmentName: string;
1953
1936
  }
1954
1937
  declare const EnvironmentRoleSetRequest: MessageFns$1<EnvironmentRoleSetRequest>;
1955
1938
  interface EnvironmentSetBudgetRequest {
@@ -1996,6 +1979,38 @@ interface EnvironmentUpdateRequest {
1996
1979
  blockUnauthenticatedResources?: EnvironmentBlockUnauthenticatedResources | undefined;
1997
1980
  }
1998
1981
  declare const EnvironmentUpdateRequest: MessageFns$1<EnvironmentUpdateRequest>;
1982
+ /**
1983
+ * Experimental policy for outbound traffic from a sandbox: header
1984
+ * replacements.
1985
+ */
1986
+ interface ExperimentalOutboundPolicy$1 {
1987
+ /** Replace headers in outbound HTTPS requests, potentially with secret values. */
1988
+ headerReplacements: ExperimentalOutboundPolicy_HeaderReplacement[];
1989
+ }
1990
+ declare const ExperimentalOutboundPolicy$1: MessageFns$1<ExperimentalOutboundPolicy$1>;
1991
+ interface ExperimentalOutboundPolicy_HeaderReplacement {
1992
+ /**
1993
+ * Domain that the header replacements are scoped to. Supports wildcards in
1994
+ * subdomain positions.
1995
+ */
1996
+ domain: string;
1997
+ /**
1998
+ * Reference to a secret usable in the header value templates. Can be
1999
+ * empty if no secret value is used.
2000
+ */
2001
+ secretId: string;
2002
+ /**
2003
+ * Header name -> header value.
2004
+ *
2005
+ * Values support templating with keys in the stanza's secret_id: a
2006
+ * $-prefixed key name in the secret will be replaced with the secret
2007
+ * value. Literal $ characters can be represented by two dollars: `$$`.
2008
+ */
2009
+ headers: {
2010
+ [key: string]: string;
2011
+ };
2012
+ }
2013
+ declare const ExperimentalOutboundPolicy_HeaderReplacement: MessageFns$1<ExperimentalOutboundPolicy_HeaderReplacement>;
1999
2014
  /** A file entry when listing files in a volume or network file system. */
2000
2015
  interface FileEntry {
2001
2016
  path: string;
@@ -2004,13 +2019,6 @@ interface FileEntry {
2004
2019
  size: number;
2005
2020
  }
2006
2021
  declare const FileEntry: MessageFns$1<FileEntry>;
2007
- interface FilesystemRuntimeOutputBatch {
2008
- output: Uint8Array[];
2009
- error?: SystemErrorMessage | undefined;
2010
- batchIndex: number;
2011
- eof: boolean;
2012
- }
2013
- declare const FilesystemRuntimeOutputBatch: MessageFns$1<FilesystemRuntimeOutputBatch>;
2014
2022
  interface FlashContainerDeregisterRequest {
2015
2023
  serviceName: string;
2016
2024
  }
@@ -2230,20 +2238,58 @@ interface FunctionCallCancelRequest {
2230
2238
  functionId?: string | undefined;
2231
2239
  }
2232
2240
  declare const FunctionCallCancelRequest: MessageFns$1<FunctionCallCancelRequest>;
2241
+ interface FunctionCallCountRequest {
2242
+ functionId: string;
2243
+ /** Inclusive, based on input enqueue time. */
2244
+ since: Date | undefined;
2245
+ /** Exclusive, based on input enqueue time. */
2246
+ until: Date | undefined;
2247
+ bucketSecs: number;
2248
+ /** Include the root Function and its eligible variants. */
2249
+ allVariants: boolean;
2250
+ }
2251
+ declare const FunctionCallCountRequest: MessageFns$1<FunctionCallCountRequest>;
2252
+ interface FunctionCallCountResponse {
2253
+ /**
2254
+ * Ordered by bucket start time, from oldest to newest.
2255
+ * Counts include only inputs within the requested time range.
2256
+ */
2257
+ buckets: FunctionCallCountResponse_InputBucket[];
2258
+ }
2259
+ declare const FunctionCallCountResponse: MessageFns$1<FunctionCallCountResponse>;
2260
+ interface FunctionCallCountResponse_InputBucket {
2261
+ bucketStartAt: Date | undefined;
2262
+ /** Number of unique inputs, matching FunctionCallFetch. */
2263
+ count: number;
2264
+ }
2265
+ declare const FunctionCallCountResponse_InputBucket: MessageFns$1<FunctionCallCountResponse_InputBucket>;
2233
2266
  interface FunctionCallFetchRequest {
2234
2267
  functionId: string;
2235
2268
  tail?: FunctionCallFetchRequest_Tail | undefined;
2269
+ range?: FunctionCallFetchRequest_Range | undefined;
2236
2270
  /** Include the root Function and its eligible variants. */
2237
2271
  allVariants: boolean;
2238
2272
  }
2239
2273
  declare const FunctionCallFetchRequest: MessageFns$1<FunctionCallFetchRequest>;
2274
+ interface FunctionCallFetchRequest_Range {
2275
+ /** Inclusive, based on input enqueue time. */
2276
+ since: Date | undefined;
2277
+ /** Exclusive, based on input enqueue time. */
2278
+ until: Date | undefined;
2279
+ /** Maximum number of inputs to return. Must be between 1 and 20000. */
2280
+ limit: number;
2281
+ }
2282
+ declare const FunctionCallFetchRequest_Range: MessageFns$1<FunctionCallFetchRequest_Range>;
2240
2283
  interface FunctionCallFetchRequest_Tail {
2241
2284
  /** Number of most recent inputs to return. Must be between 1 and 1000. */
2242
2285
  count: number;
2243
2286
  }
2244
2287
  declare const FunctionCallFetchRequest_Tail: MessageFns$1<FunctionCallFetchRequest_Tail>;
2245
2288
  interface FunctionCallFetchResponse {
2246
- /** The requested number of most recent inputs from the last seven days, ordered from newest to oldest. */
2289
+ /**
2290
+ * Tail queries return the most recent inputs from the last seven days, ordered from newest to oldest.
2291
+ * Range queries return inputs ordered from oldest to newest.
2292
+ */
2247
2293
  functionCallInputs: FunctionCallInputInfo[];
2248
2294
  }
2249
2295
  declare const FunctionCallFetchResponse: MessageFns$1<FunctionCallFetchResponse>;
@@ -2505,6 +2551,36 @@ interface FunctionGetInputsResponse {
2505
2551
  rateLimitSleepDuration: number;
2506
2552
  }
2507
2553
  declare const FunctionGetInputsResponse: MessageFns$1<FunctionGetInputsResponse>;
2554
+ interface FunctionGetMetricsRequest {
2555
+ functionId: string;
2556
+ /** Required; rounded down to a UTC bucket boundary. */
2557
+ since: Date | undefined;
2558
+ /** Required; rounded down; at most 31 days after since. */
2559
+ until: Date | undefined;
2560
+ /**
2561
+ * If omitted, choose a supported width targeting approximately 100 buckets.
2562
+ * Allowed widths are documented in MetricsGetInfoRequest.bucket_secs.
2563
+ * At most 500 points per series in the rounded interval.
2564
+ */
2565
+ bucketSecs?: number | undefined;
2566
+ /**
2567
+ * Metric groups: containers, calls.
2568
+ * Empty selects all applicable groups. Each group returns its standard series.
2569
+ */
2570
+ groups: string[];
2571
+ /** Restrict the root Function's metrics to one of its parametrized Functions. */
2572
+ rollup: boolean;
2573
+ }
2574
+ declare const FunctionGetMetricsRequest: MessageFns$1<FunctionGetMetricsRequest>;
2575
+ interface FunctionGetMetricsResponse {
2576
+ /** Inclusive effective bound, rounded down. */
2577
+ since: Date | undefined;
2578
+ /** Exclusive effective bound, rounded down. */
2579
+ until: Date | undefined;
2580
+ bucketSecs: number;
2581
+ series: FunctionMetricSeries[];
2582
+ }
2583
+ declare const FunctionGetMetricsResponse: MessageFns$1<FunctionGetMetricsResponse>;
2508
2584
  interface FunctionGetOutputsItem {
2509
2585
  result: GenericResult | undefined;
2510
2586
  idx: number;
@@ -2705,6 +2781,25 @@ interface FunctionMapResponse {
2705
2781
  maxInputsOutstanding: number;
2706
2782
  }
2707
2783
  declare const FunctionMapResponse: MessageFns$1<FunctionMapResponse>;
2784
+ interface FunctionMetricPoint {
2785
+ /** UTC-aligned bucket start within the response's effective [since, until). */
2786
+ timestamp: Date | undefined;
2787
+ value?: number | undefined;
2788
+ }
2789
+ declare const FunctionMetricPoint: MessageFns$1<FunctionMetricPoint>;
2790
+ interface FunctionMetricSeries {
2791
+ /**
2792
+ * Unique within the response; identifies one aggregate series for this metric.
2793
+ * The metric name defines the aggregation semantics.
2794
+ */
2795
+ name: string;
2796
+ /** Public semantic unit, such as seconds, calls, containers, or requests. */
2797
+ unit: string;
2798
+ /** Ascending timestamps; absent points are gaps. */
2799
+ points: FunctionMetricPoint[];
2800
+ description: string;
2801
+ }
2802
+ declare const FunctionMetricSeries: MessageFns$1<FunctionMetricSeries>;
2708
2803
  /** todo(ayush): update this to also use `autoscaler_settings` */
2709
2804
  interface FunctionOptions$1 {
2710
2805
  secretIds: string[];
@@ -3043,6 +3138,8 @@ interface ImageListTagsRequest {
3043
3138
  /** Defaults to 100. Values above 100 are rejected by the server. */
3044
3139
  maxObjects: number;
3045
3140
  pageToken: string;
3141
+ /** Returns only the tags that currently point at this image. Optional. */
3142
+ imageId: string;
3046
3143
  }
3047
3144
  declare const ImageListTagsRequest: MessageFns$1<ImageListTagsRequest>;
3048
3145
  interface ImageListTagsResponse {
@@ -3075,6 +3172,11 @@ interface ImageMetadata {
3075
3172
  imageBuilderVersion?: string | undefined;
3076
3173
  }
3077
3174
  declare const ImageMetadata: MessageFns$1<ImageMetadata>;
3175
+ interface ImageNameDeleteRequest {
3176
+ /** Named image reference: "[environment/]name[:tag]". */
3177
+ tag: string;
3178
+ }
3179
+ declare const ImageNameDeleteRequest: MessageFns$1<ImageNameDeleteRequest>;
3078
3180
  interface ImagePublishRequest {
3079
3181
  imageId: string;
3080
3182
  /**
@@ -3225,12 +3327,59 @@ interface MethodDefinition {
3225
3327
  supportedOutputFormats: DataFormat[];
3226
3328
  }
3227
3329
  declare const MethodDefinition: MessageFns$1<MethodDefinition>;
3330
+ interface MetricDefinition$1 {
3331
+ /** Exact series name returned by the metrics RPC. */
3332
+ name: string;
3333
+ /** Matches FunctionMetricSeries.unit. */
3334
+ unit: string;
3335
+ /** Meaning and aggregation semantics of the series. */
3336
+ description: string;
3337
+ }
3338
+ declare const MetricDefinition$1: MessageFns$1<MetricDefinition$1>;
3339
+ interface MetricGroupDefinition {
3340
+ /** Group selector, such as "calls". Multiple catalogue rows can share this name. */
3341
+ name: string;
3342
+ /** Shared description of this catalogue row's series. */
3343
+ description: string;
3344
+ /** Individual series represented by this row, ordered by name; all have the same unit. */
3345
+ metrics: MetricDefinition$1[];
3346
+ /** Display label, such as "execution_time_{p50,p90,p99}". */
3347
+ displayName: string;
3348
+ }
3349
+ declare const MetricGroupDefinition: MessageFns$1<MetricGroupDefinition>;
3350
+ interface MetricsGetInfoRequest {
3351
+ /** Required; unspecified and unrecognized targets are rejected. */
3352
+ targetType: MetricsGetInfoRequest_MetricsTargetType;
3353
+ /** Required; rounded down to a UTC bucket boundary. */
3354
+ since: Date | undefined;
3355
+ /** Required; rounded down; at most 31 days after since. */
3356
+ until: Date | undefined;
3357
+ /** If omitted, choose a supported width targeting approximately 100 buckets. */
3358
+ bucketSecs?: number | undefined;
3359
+ groups: string[];
3360
+ }
3361
+ declare const MetricsGetInfoRequest: MessageFns$1<MetricsGetInfoRequest>;
3362
+ interface MetricsGetInfoResponse {
3363
+ /**
3364
+ * Catalogue rows for the requested target type, ordered by name then display_name.
3365
+ * Rows sharing a name belong under the same group heading. Each series appears once per group.
3366
+ * Describes the catalog; individual exports may omit unavailable series.
3367
+ */
3368
+ groups: MetricGroupDefinition[];
3369
+ /** Resolved bucket width. */
3370
+ bucketSecs: number;
3371
+ /** Projected buckets per series, not observed sample count. */
3372
+ bucketCount: number;
3373
+ }
3374
+ declare const MetricsGetInfoResponse: MessageFns$1<MetricsGetInfoResponse>;
3228
3375
  interface MountBatchedCheckExistenceRequest {
3229
3376
  sha256HexHashes: string[];
3230
3377
  }
3231
3378
  declare const MountBatchedCheckExistenceRequest: MessageFns$1<MountBatchedCheckExistenceRequest>;
3232
3379
  interface MountBatchedCheckExistenceResponse {
3233
3380
  missingSha256HexHashes: string[];
3381
+ /** Server time of the check. Clients send the earliest one back as earliest_checked_at on the commit. */
3382
+ checkedAt: Date | undefined;
3234
3383
  }
3235
3384
  declare const MountBatchedCheckExistenceResponse: MessageFns$1<MountBatchedCheckExistenceResponse>;
3236
3385
  interface MountFile {
@@ -3251,6 +3400,8 @@ interface MountGetOrCreateRequest {
3251
3400
  files: MountFile[];
3252
3401
  /** only used with OBJECT_CREATION_TYPE_ANONYMOUS_OWNED_BY_APP */
3253
3402
  appId: string;
3403
+ /** Earliest checked_at the client received from the existence checks for these files. Telemetry only. */
3404
+ earliestCheckedAt: Date | undefined;
3254
3405
  }
3255
3406
  declare const MountGetOrCreateRequest: MessageFns$1<MountGetOrCreateRequest>;
3256
3407
  interface MountGetOrCreateResponse {
@@ -3270,6 +3421,8 @@ interface MountPutFileRequest {
3270
3421
  declare const MountPutFileRequest: MessageFns$1<MountPutFileRequest>;
3271
3422
  interface MountPutFileResponse {
3272
3423
  exists: boolean;
3424
+ /** Server time of the check. Clients send the earliest one back as earliest_checked_at on the commit. */
3425
+ checkedAt: Date | undefined;
3273
3426
  }
3274
3427
  declare const MountPutFileResponse: MessageFns$1<MountPutFileResponse>;
3275
3428
  interface MultiPartUpload {
@@ -3381,35 +3534,119 @@ interface ObjectDependency {
3381
3534
  objectId: string;
3382
3535
  }
3383
3536
  declare const ObjectDependency: MessageFns$1<ObjectDependency>;
3384
- /** Policy for outbound traffic from a sandbox. */
3537
+ /**
3538
+ * Route-based policy for outbound network traffic. A sandbox applies it to
3539
+ * its main container.
3540
+ *
3541
+ * Routes are evaluated in order and the first match decides what happens to
3542
+ * a connection or packet. The last route must be the policy's only
3543
+ * `any` route, which decides what happens to traffic no other route
3544
+ * matches. Traffic a route matches without a redirect goes to its original
3545
+ * destination.
3546
+ */
3385
3547
  interface OutboundPolicy {
3386
- /** Replace headers in outbound HTTPS requests, potentially with secret values. */
3387
- headerReplacements: OutboundPolicy_HeaderReplacement[];
3548
+ tlsDecryption: OutboundPolicy_TLSDecryption | undefined;
3549
+ routes: OutboundPolicy_Route[];
3388
3550
  }
3389
3551
  declare const OutboundPolicy: MessageFns$1<OutboundPolicy>;
3552
+ /** An inclusive range of ports. A single port has start == end. */
3553
+ interface OutboundPolicy_PortRange {
3554
+ start: number;
3555
+ end: number;
3556
+ }
3557
+ declare const OutboundPolicy_PortRange: MessageFns$1<OutboundPolicy_PortRange>;
3558
+ /** Traffic to these CIDRs. */
3559
+ interface OutboundPolicy_IPRoute {
3560
+ /** Unspecified means any transport. */
3561
+ transport: OutboundPolicy_Transport;
3562
+ /** Empty means every port. */
3563
+ ports: OutboundPolicy_PortRange[];
3564
+ cidrs: string[];
3565
+ redirect: OutboundPolicy_Redirect | undefined;
3566
+ }
3567
+ declare const OutboundPolicy_IPRoute: MessageFns$1<OutboundPolicy_IPRoute>;
3568
+ /**
3569
+ * Connections that carry TLS from the first byte to these domains. Never
3570
+ * decrypted.
3571
+ */
3572
+ interface OutboundPolicy_TLSRoute {
3573
+ /** Unspecified means TCP. */
3574
+ transport: OutboundPolicy_Transport;
3575
+ /** Empty means port 443. */
3576
+ ports: OutboundPolicy_PortRange[];
3577
+ /** Supports `*.` wildcard prefixes and a bare `*`. */
3578
+ domains: string[];
3579
+ redirect: OutboundPolicy_Redirect | undefined;
3580
+ }
3581
+ declare const OutboundPolicy_TLSRoute: MessageFns$1<OutboundPolicy_TLSRoute>;
3582
+ /**
3583
+ * HTTPS connections to these domains. Always decrypted, which requires TLS
3584
+ * decryption to be allowed.
3585
+ */
3586
+ interface OutboundPolicy_HTTPSRoute {
3587
+ /** Unspecified means TCP. */
3588
+ transport: OutboundPolicy_Transport;
3589
+ /** Empty means port 443. */
3590
+ ports: OutboundPolicy_PortRange[];
3591
+ /** Supports `*.` wildcard prefixes and a bare `*`. */
3592
+ domains: string[];
3593
+ headerReplacements: OutboundPolicy_HeaderReplacement[];
3594
+ redirect: OutboundPolicy_Redirect | undefined;
3595
+ }
3596
+ declare const OutboundPolicy_HTTPSRoute: MessageFns$1<OutboundPolicy_HTTPSRoute>;
3597
+ /** Everything earlier routes didn't match. */
3598
+ interface OutboundPolicy_AnyRoute {
3599
+ redirect: OutboundPolicy_Redirect | undefined;
3600
+ }
3601
+ declare const OutboundPolicy_AnyRoute: MessageFns$1<OutboundPolicy_AnyRoute>;
3390
3602
  interface OutboundPolicy_HeaderReplacement {
3391
3603
  /**
3392
- * Domain that the header replacements are scoped to. Supports wildcards in
3393
- * subdomain positions.
3394
- */
3395
- domain: string;
3396
- /**
3397
- * Reference to a secret usable in the header value templates. Can be
3398
- * empty if no secret value is used.
3604
+ * Secret whose keys the header value templates may reference. Empty for
3605
+ * static values.
3399
3606
  */
3400
3607
  secretId: string;
3401
3608
  /**
3402
- * Header name -> header value.
3403
- *
3404
- * Values support templating with keys in the stanza's secret_id: a
3405
- * $-prefixed key name in the secret will be replaced with the secret
3406
- * value. Literal $ characters can be represented by two dollars: `$$`.
3609
+ * Header name -> value template. A $-prefixed key name in the secret is
3610
+ * replaced with the secret value; `$$` is a literal `$`.
3407
3611
  */
3408
3612
  headers: {
3409
3613
  [key: string]: string;
3410
3614
  };
3411
3615
  }
3412
3616
  declare const OutboundPolicy_HeaderReplacement: MessageFns$1<OutboundPolicy_HeaderReplacement>;
3617
+ interface OutboundPolicy_Redirect {
3618
+ block?: OutboundPolicy_Redirect_Block | undefined;
3619
+ viaProxy?: OutboundPolicy_Redirect_ViaProxy | undefined;
3620
+ viaSidecar?: OutboundPolicy_Redirect_ViaSidecar | undefined;
3621
+ }
3622
+ declare const OutboundPolicy_Redirect: MessageFns$1<OutboundPolicy_Redirect>;
3623
+ interface OutboundPolicy_Redirect_Block {
3624
+ }
3625
+ declare const OutboundPolicy_Redirect_Block: MessageFns$1<OutboundPolicy_Redirect_Block>;
3626
+ interface OutboundPolicy_Redirect_ViaProxy {
3627
+ proxyId: string;
3628
+ }
3629
+ declare const OutboundPolicy_Redirect_ViaProxy: MessageFns$1<OutboundPolicy_Redirect_ViaProxy>;
3630
+ interface OutboundPolicy_Redirect_ViaSidecar {
3631
+ sidecarName: string;
3632
+ }
3633
+ declare const OutboundPolicy_Redirect_ViaSidecar: MessageFns$1<OutboundPolicy_Redirect_ViaSidecar>;
3634
+ interface OutboundPolicy_Route {
3635
+ ip?: OutboundPolicy_IPRoute | undefined;
3636
+ tls?: OutboundPolicy_TLSRoute | undefined;
3637
+ https?: OutboundPolicy_HTTPSRoute | undefined;
3638
+ any?: OutboundPolicy_AnyRoute | undefined;
3639
+ }
3640
+ declare const OutboundPolicy_Route: MessageFns$1<OutboundPolicy_Route>;
3641
+ interface OutboundPolicy_TLSDecryption {
3642
+ /**
3643
+ * Generate a certificate authority for the sandbox and attempt to make the
3644
+ * sandbox trust it, so that routes that need to can decrypt its TLS traffic.
3645
+ * Decrypts nothing on its own. Required by HTTPS routes. Fixed at creation.
3646
+ */
3647
+ allowed: boolean;
3648
+ }
3649
+ declare const OutboundPolicy_TLSDecryption: MessageFns$1<OutboundPolicy_TLSDecryption>;
3413
3650
  interface PTYInfo {
3414
3651
  /** Soon deprecated */
3415
3652
  enabled: boolean;
@@ -3422,6 +3659,47 @@ interface PTYInfo {
3422
3659
  noTerminateOnIdleStdin: boolean;
3423
3660
  }
3424
3661
  declare const PTYInfo: MessageFns$1<PTYInfo>;
3662
+ interface PersistentSandboxCreateRequest {
3663
+ appId: string;
3664
+ definition: Sandbox$1 | undefined;
3665
+ }
3666
+ declare const PersistentSandboxCreateRequest: MessageFns$1<PersistentSandboxCreateRequest>;
3667
+ interface PersistentSandboxCreateResponse {
3668
+ persistentSandboxId: string;
3669
+ sandboxId: string;
3670
+ }
3671
+ declare const PersistentSandboxCreateResponse: MessageFns$1<PersistentSandboxCreateResponse>;
3672
+ interface PersistentSandboxGetRequest {
3673
+ persistentSandboxId?: string | undefined;
3674
+ name?: PersistentSandboxNameLookup | undefined;
3675
+ }
3676
+ declare const PersistentSandboxGetRequest: MessageFns$1<PersistentSandboxGetRequest>;
3677
+ interface PersistentSandboxGetResponse {
3678
+ persistentSandboxId: string;
3679
+ sandboxId: string;
3680
+ }
3681
+ declare const PersistentSandboxGetResponse: MessageFns$1<PersistentSandboxGetResponse>;
3682
+ interface PersistentSandboxNameLookup {
3683
+ appName: string;
3684
+ environmentName: string;
3685
+ name: string;
3686
+ }
3687
+ declare const PersistentSandboxNameLookup: MessageFns$1<PersistentSandboxNameLookup>;
3688
+ interface PersistentSandboxResumeRequest {
3689
+ persistentSandboxId: string;
3690
+ }
3691
+ declare const PersistentSandboxResumeRequest: MessageFns$1<PersistentSandboxResumeRequest>;
3692
+ interface PersistentSandboxResumeResponse {
3693
+ sandboxId: string;
3694
+ }
3695
+ declare const PersistentSandboxResumeResponse: MessageFns$1<PersistentSandboxResumeResponse>;
3696
+ interface PersistentSandboxTerminateRequest {
3697
+ persistentSandboxId: string;
3698
+ }
3699
+ declare const PersistentSandboxTerminateRequest: MessageFns$1<PersistentSandboxTerminateRequest>;
3700
+ interface PersistentSandboxTerminateResponse {
3701
+ }
3702
+ declare const PersistentSandboxTerminateResponse: MessageFns$1<PersistentSandboxTerminateResponse>;
3425
3703
  interface PortSpec {
3426
3704
  port: number;
3427
3705
  unencrypted: boolean;
@@ -3784,7 +4062,7 @@ interface Sandbox$1 {
3784
4062
  */
3785
4063
  inboundCidrAllowlist: string[];
3786
4064
  environmentVariables: StringMap | undefined;
3787
- outboundPolicy?: OutboundPolicy | undefined;
4065
+ experimentalOutboundPolicy?: ExperimentalOutboundPolicy$1 | undefined;
3788
4066
  /**
3789
4067
  * If set, the sandbox's main container is served an X.509-SVID over a
3790
4068
  * SPIFFE Workload API socket, addressed by SPIFFE_ENDPOINT_SOCKET. The
@@ -3792,6 +4070,12 @@ interface Sandbox$1 {
3792
4070
  * Sidecars are not served one.
3793
4071
  */
3794
4072
  includeX509Svid: boolean;
4073
+ /**
4074
+ * Route-based outbound policy. Mutually exclusive with
4075
+ * experimental_outbound_policy (superseded, experimental API) and with any
4076
+ * network_access other than OPEN.
4077
+ */
4078
+ outboundPolicy?: OutboundPolicy | undefined;
3795
4079
  }
3796
4080
  declare const Sandbox$1: MessageFns$1<Sandbox$1>;
3797
4081
  interface SandboxContainerCreateV2Request {
@@ -4261,6 +4545,53 @@ interface SecretUpdateRequest_Update {
4261
4545
  value?: string | undefined;
4262
4546
  }
4263
4547
  declare const SecretUpdateRequest_Update: MessageFns$1<SecretUpdateRequest_Update>;
4548
+ interface ServerCountRequestsRequest {
4549
+ functionId: string;
4550
+ /** Inclusive, based on request timestamp. */
4551
+ since: Date | undefined;
4552
+ /** Exclusive, based on request timestamp. */
4553
+ until: Date | undefined;
4554
+ bucketSecs: number;
4555
+ }
4556
+ declare const ServerCountRequestsRequest: MessageFns$1<ServerCountRequestsRequest>;
4557
+ interface ServerCountRequestsResponse {
4558
+ /**
4559
+ * Ordered by bucket start time, from oldest to newest.
4560
+ * Counts include only requests within the requested time range.
4561
+ */
4562
+ buckets: ServerCountRequestsResponse_RequestBucket[];
4563
+ }
4564
+ declare const ServerCountRequestsResponse: MessageFns$1<ServerCountRequestsResponse>;
4565
+ interface ServerCountRequestsResponse_RequestBucket {
4566
+ bucketStartAt: Date | undefined;
4567
+ /** Number of request records, matching ServerRequestFetch. */
4568
+ count: number;
4569
+ }
4570
+ declare const ServerCountRequestsResponse_RequestBucket: MessageFns$1<ServerCountRequestsResponse_RequestBucket>;
4571
+ interface ServerGetMetricsRequest {
4572
+ functionId: string;
4573
+ /** Required; rounded down to a UTC bucket boundary. */
4574
+ since: Date | undefined;
4575
+ /** Required; rounded down; at most 31 days after since. */
4576
+ until: Date | undefined;
4577
+ /**
4578
+ * If omitted, choose a supported width targeting approximately 100 buckets.
4579
+ * At most 500 points per series in the rounded interval.
4580
+ */
4581
+ bucketSecs?: number | undefined;
4582
+ /** Metric groups: containers, requests, etc. */
4583
+ groups: string[];
4584
+ }
4585
+ declare const ServerGetMetricsRequest: MessageFns$1<ServerGetMetricsRequest>;
4586
+ interface ServerGetMetricsResponse {
4587
+ /** Inclusive effective bound, rounded down. */
4588
+ since: Date | undefined;
4589
+ /** Exclusive effective bound, rounded down. */
4590
+ until: Date | undefined;
4591
+ bucketSecs: number;
4592
+ series: FunctionMetricSeries[];
4593
+ }
4594
+ declare const ServerGetMetricsResponse: MessageFns$1<ServerGetMetricsResponse>;
4264
4595
  interface ServerGetTimeRangeStatsRequest {
4265
4596
  functionId: string;
4266
4597
  /** Inclusive. */
@@ -4331,15 +4662,28 @@ declare const ServerGetTimeRangeStatsResponse_ServerStatusCodeCount: MessageFns$
4331
4662
  interface ServerRequestFetchRequest {
4332
4663
  functionId: string;
4333
4664
  tail?: ServerRequestFetchRequest_Tail | undefined;
4665
+ range?: ServerRequestFetchRequest_Range | undefined;
4334
4666
  }
4335
4667
  declare const ServerRequestFetchRequest: MessageFns$1<ServerRequestFetchRequest>;
4668
+ interface ServerRequestFetchRequest_Range {
4669
+ /** Inclusive, based on request timestamp. */
4670
+ since: Date | undefined;
4671
+ /** Exclusive, based on request timestamp. */
4672
+ until: Date | undefined;
4673
+ /** Maximum number of requests to return. Must be between 1 and 20000. */
4674
+ limit: number;
4675
+ }
4676
+ declare const ServerRequestFetchRequest_Range: MessageFns$1<ServerRequestFetchRequest_Range>;
4336
4677
  interface ServerRequestFetchRequest_Tail {
4337
4678
  /** Number of most recent requests to return. Must be between 1 and 1000. */
4338
4679
  count: number;
4339
4680
  }
4340
4681
  declare const ServerRequestFetchRequest_Tail: MessageFns$1<ServerRequestFetchRequest_Tail>;
4341
4682
  interface ServerRequestFetchResponse {
4342
- /** The requested number of most recent requests from the last seven days, ordered from newest to oldest. */
4683
+ /**
4684
+ * Tail queries return the most recent requests from the last seven days, ordered from newest to oldest.
4685
+ * Range queries return requests ordered from oldest to newest.
4686
+ */
4343
4687
  requests: ServerRequestInfo[];
4344
4688
  }
4345
4689
  declare const ServerRequestFetchResponse: MessageFns$1<ServerRequestFetchResponse>;
@@ -4359,14 +4703,52 @@ interface ServiceUser {
4359
4703
  lastUsedAt: number;
4360
4704
  createdByAvatarUrl: string;
4361
4705
  serviceUserId: string;
4706
+ status: string;
4707
+ scoped: boolean;
4708
+ environmentRoles: ServiceUser_EnvironmentRoleEntry[];
4709
+ /** This should be a TImestamp type, but keeping as a double for compatibility with public_api.proto */
4710
+ expiresAt?: number | undefined;
4362
4711
  }
4363
4712
  declare const ServiceUser: MessageFns$1<ServiceUser>;
4713
+ interface ServiceUser_EnvironmentRoleEntry {
4714
+ environmentId: string;
4715
+ role: EnvironmentRole;
4716
+ environmentName: string;
4717
+ roleStr: string;
4718
+ }
4719
+ declare const ServiceUser_EnvironmentRoleEntry: MessageFns$1<ServiceUser_EnvironmentRoleEntry>;
4720
+ interface ServiceUserCreateRequest {
4721
+ name: string;
4722
+ scoped: boolean;
4723
+ expiresInSeconds: number;
4724
+ }
4725
+ declare const ServiceUserCreateRequest: MessageFns$1<ServiceUserCreateRequest>;
4726
+ interface ServiceUserCreateResponse {
4727
+ tokenId: string;
4728
+ tokenSecret: string;
4729
+ serviceUserId: string;
4730
+ expiresAt: Date | undefined;
4731
+ }
4732
+ declare const ServiceUserCreateResponse: MessageFns$1<ServiceUserCreateResponse>;
4733
+ interface ServiceUserDeleteRequest {
4734
+ serviceUserId: string;
4735
+ serviceUserName: string;
4736
+ }
4737
+ declare const ServiceUserDeleteRequest: MessageFns$1<ServiceUserDeleteRequest>;
4364
4738
  interface ServiceUserIdentity {
4365
4739
  serviceUserId: string;
4366
4740
  serviceUserName: string;
4367
4741
  createdBy: UserIdentity | undefined;
4368
4742
  }
4369
4743
  declare const ServiceUserIdentity: MessageFns$1<ServiceUserIdentity>;
4744
+ interface ServiceUserInfoRequest {
4745
+ serviceUserName: string;
4746
+ }
4747
+ declare const ServiceUserInfoRequest: MessageFns$1<ServiceUserInfoRequest>;
4748
+ interface ServiceUserInfoResponse {
4749
+ serviceUser: ServiceUser | undefined;
4750
+ }
4751
+ declare const ServiceUserInfoResponse: MessageFns$1<ServiceUserInfoResponse>;
4370
4752
  interface ServiceUserListResponse {
4371
4753
  serviceUsers: ServiceUser[];
4372
4754
  }
@@ -4471,11 +4853,6 @@ interface StringMap {
4471
4853
  };
4472
4854
  }
4473
4855
  declare const StringMap: MessageFns$1<StringMap>;
4474
- interface SystemErrorMessage {
4475
- errorCode: SystemErrorCode;
4476
- errorMessage: string;
4477
- }
4478
- declare const SystemErrorMessage: MessageFns$1<SystemErrorMessage>;
4479
4856
  interface TaskClusterHelloRequest {
4480
4857
  taskId: string;
4481
4858
  containerIp: string;
@@ -4976,6 +5353,8 @@ interface VolumePutFilesRequest {
4976
5353
  * existing directories with uploaded files regardless.)
4977
5354
  */
4978
5355
  disallowOverwriteExistingFiles: boolean;
5356
+ /** Earliest checked_at the client received from the existence checks for these files. Telemetry only. */
5357
+ earliestCheckedAt: Date | undefined;
4979
5358
  }
4980
5359
  declare const VolumePutFilesRequest: MessageFns$1<VolumePutFilesRequest>;
4981
5360
  interface VolumeReloadRequest {
@@ -5546,14 +5925,6 @@ declare const ModalClientDefinition: {
5546
5925
  readonly responseStream: false;
5547
5926
  readonly options: {};
5548
5927
  };
5549
- readonly containerFilesystemExecGetOutput: {
5550
- readonly name: "ContainerFilesystemExecGetOutput";
5551
- readonly requestType: MessageFns$1<ContainerFilesystemExecGetOutputRequest>;
5552
- readonly requestStream: false;
5553
- readonly responseType: MessageFns$1<FilesystemRuntimeOutputBatch>;
5554
- readonly responseStream: true;
5555
- readonly options: {};
5556
- };
5557
5928
  readonly containerHeartbeat: {
5558
5929
  readonly name: "ContainerHeartbeat";
5559
5930
  readonly requestType: MessageFns$1<ContainerHeartbeatRequest>;
@@ -5945,6 +6316,14 @@ declare const ModalClientDefinition: {
5945
6316
  readonly responseStream: false;
5946
6317
  readonly options: {};
5947
6318
  };
6319
+ readonly functionCallCount: {
6320
+ readonly name: "FunctionCallCount";
6321
+ readonly requestType: MessageFns$1<FunctionCallCountRequest>;
6322
+ readonly requestStream: false;
6323
+ readonly responseType: MessageFns$1<FunctionCallCountResponse>;
6324
+ readonly responseStream: false;
6325
+ readonly options: {};
6326
+ };
5948
6327
  readonly functionCallFetch: {
5949
6328
  readonly name: "FunctionCallFetch";
5950
6329
  readonly requestType: MessageFns$1<FunctionCallFetchRequest>;
@@ -6075,6 +6454,14 @@ declare const ModalClientDefinition: {
6075
6454
  readonly responseStream: false;
6076
6455
  readonly options: {};
6077
6456
  };
6457
+ readonly functionGetMetrics: {
6458
+ readonly name: "FunctionGetMetrics";
6459
+ readonly requestType: MessageFns$1<FunctionGetMetricsRequest>;
6460
+ readonly requestStream: false;
6461
+ readonly responseType: MessageFns$1<FunctionGetMetricsResponse>;
6462
+ readonly responseStream: false;
6463
+ readonly options: {};
6464
+ };
6078
6465
  /** Returns the next result(s) for an entire function call (FunctionMap) */
6079
6466
  readonly functionGetOutputs: {
6080
6467
  readonly name: "FunctionGetOutputs";
@@ -6230,6 +6617,14 @@ declare const ModalClientDefinition: {
6230
6617
  readonly responseStream: false;
6231
6618
  readonly options: {};
6232
6619
  };
6620
+ readonly imageNameDelete: {
6621
+ readonly name: "ImageNameDelete";
6622
+ readonly requestType: MessageFns$1<ImageNameDeleteRequest>;
6623
+ readonly requestStream: false;
6624
+ readonly responseType: MessageFns$2<Empty>;
6625
+ readonly responseStream: false;
6626
+ readonly options: {};
6627
+ };
6233
6628
  readonly imagePublish: {
6234
6629
  readonly name: "ImagePublish";
6235
6630
  readonly requestType: MessageFns$1<ImagePublishRequest>;
@@ -6271,6 +6666,15 @@ declare const ModalClientDefinition: {
6271
6666
  readonly responseStream: false;
6272
6667
  readonly options: {};
6273
6668
  };
6669
+ /** Metrics discovery */
6670
+ readonly metricsGetInfo: {
6671
+ readonly name: "MetricsGetInfo";
6672
+ readonly requestType: MessageFns$1<MetricsGetInfoRequest>;
6673
+ readonly requestStream: false;
6674
+ readonly responseType: MessageFns$1<MetricsGetInfoResponse>;
6675
+ readonly responseStream: false;
6676
+ readonly options: {};
6677
+ };
6274
6678
  /** Mounts */
6275
6679
  readonly mountBatchedCheckExistence: {
6276
6680
  readonly name: "MountBatchedCheckExistence";
@@ -6305,6 +6709,39 @@ declare const ModalClientDefinition: {
6305
6709
  readonly responseStream: false;
6306
6710
  readonly options: {};
6307
6711
  };
6712
+ /** Persistent sandboxes */
6713
+ readonly persistentSandboxCreate: {
6714
+ readonly name: "PersistentSandboxCreate";
6715
+ readonly requestType: MessageFns$1<PersistentSandboxCreateRequest>;
6716
+ readonly requestStream: false;
6717
+ readonly responseType: MessageFns$1<PersistentSandboxCreateResponse>;
6718
+ readonly responseStream: false;
6719
+ readonly options: {};
6720
+ };
6721
+ readonly persistentSandboxGet: {
6722
+ readonly name: "PersistentSandboxGet";
6723
+ readonly requestType: MessageFns$1<PersistentSandboxGetRequest>;
6724
+ readonly requestStream: false;
6725
+ readonly responseType: MessageFns$1<PersistentSandboxGetResponse>;
6726
+ readonly responseStream: false;
6727
+ readonly options: {};
6728
+ };
6729
+ readonly persistentSandboxResume: {
6730
+ readonly name: "PersistentSandboxResume";
6731
+ readonly requestType: MessageFns$1<PersistentSandboxResumeRequest>;
6732
+ readonly requestStream: false;
6733
+ readonly responseType: MessageFns$1<PersistentSandboxResumeResponse>;
6734
+ readonly responseStream: false;
6735
+ readonly options: {};
6736
+ };
6737
+ readonly persistentSandboxTerminate: {
6738
+ readonly name: "PersistentSandboxTerminate";
6739
+ readonly requestType: MessageFns$1<PersistentSandboxTerminateRequest>;
6740
+ readonly requestStream: false;
6741
+ readonly responseType: MessageFns$1<PersistentSandboxTerminateResponse>;
6742
+ readonly responseStream: false;
6743
+ readonly options: {};
6744
+ };
6308
6745
  /** Proxies */
6309
6746
  readonly proxyAddIp: {
6310
6747
  readonly name: "ProxyAddIp";
@@ -6783,6 +7220,22 @@ declare const ModalClientDefinition: {
6783
7220
  readonly options: {};
6784
7221
  };
6785
7222
  /** Servers */
7223
+ readonly serverCountRequests: {
7224
+ readonly name: "ServerCountRequests";
7225
+ readonly requestType: MessageFns$1<ServerCountRequestsRequest>;
7226
+ readonly requestStream: false;
7227
+ readonly responseType: MessageFns$1<ServerCountRequestsResponse>;
7228
+ readonly responseStream: false;
7229
+ readonly options: {};
7230
+ };
7231
+ readonly serverGetMetrics: {
7232
+ readonly name: "ServerGetMetrics";
7233
+ readonly requestType: MessageFns$1<ServerGetMetricsRequest>;
7234
+ readonly requestStream: false;
7235
+ readonly responseType: MessageFns$1<ServerGetMetricsResponse>;
7236
+ readonly responseStream: false;
7237
+ readonly options: {};
7238
+ };
6786
7239
  readonly serverGetTimeRangeStats: {
6787
7240
  readonly name: "ServerGetTimeRangeStats";
6788
7241
  readonly requestType: MessageFns$1<ServerGetTimeRangeStatsRequest>;
@@ -6800,6 +7253,30 @@ declare const ModalClientDefinition: {
6800
7253
  readonly options: {};
6801
7254
  };
6802
7255
  /** Service users */
7256
+ readonly serviceUserCreate: {
7257
+ readonly name: "ServiceUserCreate";
7258
+ readonly requestType: MessageFns$1<ServiceUserCreateRequest>;
7259
+ readonly requestStream: false;
7260
+ readonly responseType: MessageFns$1<ServiceUserCreateResponse>;
7261
+ readonly responseStream: false;
7262
+ readonly options: {};
7263
+ };
7264
+ readonly serviceUserDelete: {
7265
+ readonly name: "ServiceUserDelete";
7266
+ readonly requestType: MessageFns$1<ServiceUserDeleteRequest>;
7267
+ readonly requestStream: false;
7268
+ readonly responseType: MessageFns$2<Empty>;
7269
+ readonly responseStream: false;
7270
+ readonly options: {};
7271
+ };
7272
+ readonly serviceUserInfo: {
7273
+ readonly name: "ServiceUserInfo";
7274
+ readonly requestType: MessageFns$1<ServiceUserInfoRequest>;
7275
+ readonly requestStream: false;
7276
+ readonly responseType: MessageFns$1<ServiceUserInfoResponse>;
7277
+ readonly responseStream: false;
7278
+ readonly options: {};
7279
+ };
6803
7280
  readonly serviceUserList: {
6804
7281
  readonly name: "ServiceUserList";
6805
7282
  readonly requestType: MessageFns$2<Empty>;
@@ -7358,7 +7835,7 @@ declare class Secret {
7358
7835
  #private;
7359
7836
  readonly name?: string;
7360
7837
  /** @ignore */
7361
- constructor(secretId: string, name?: string, hydrator?: SecretHydrator, keys?: readonly string[]);
7838
+ constructor(secretId: string, name?: string, hydrator?: SecretHydrator);
7362
7839
  /** The ID of the server-side Secret, or an empty string if not yet hydrated. */
7363
7840
  get secretId(): string;
7364
7841
  /**
@@ -7369,14 +7846,6 @@ declare class Secret {
7369
7846
  * @hidden
7370
7847
  */
7371
7848
  get _hydrator(): SecretHydrator | undefined;
7372
- /**
7373
- * Names of the env vars this server-side Secret defines, or `undefined` if
7374
- * unknown (e.g. for lazy fromObject Secrets or Secrets constructed by id).
7375
- *
7376
- * @internal
7377
- * @hidden
7378
- */
7379
- get _keys(): ReadonlySet<string> | undefined;
7380
7849
  /**
7381
7850
  * Lazily create the ephemeral server-side Secret backing a fromObject Secret
7382
7851
  * and populate {@link Secret#secretId secretId}. A no-op once secretId is set
@@ -7732,7 +8201,12 @@ declare class FunctionCall {
7732
8201
  readonly functionCallId: string;
7733
8202
  /** @ignore */
7734
8203
  constructor(client: ModalClient, functionCallId: string, appId: string, functionId: string);
7735
- /** Get the result of a FunctionCall, optionally waiting with a timeout. */
8204
+ /**
8205
+ * Get the result of a FunctionCall, optionally waiting with a timeout.
8206
+ *
8207
+ * @throws {@link TimeoutError} if `timeoutMs` elapses before the Function finishes.
8208
+ * @throws {@link FunctionTimeoutError} if the Function exceeds its execution timeout.
8209
+ */
7736
8210
  get(params?: FunctionCallGetParams): Promise<any>;
7737
8211
  /** Cancel a running FunctionCall. */
7738
8212
  cancel(params?: FunctionCallCancelParams): Promise<void>;
@@ -7750,6 +8224,91 @@ declare class FunctionCall {
7750
8224
  get logs(): FunctionCallLogsManager;
7751
8225
  }
7752
8226
 
8227
+ /** An observation at a UTC-aligned bucket start. */
8228
+ interface TimeSeriesPoint {
8229
+ time: Date;
8230
+ /** Missing observations are null; observed zeroes remain zero. */
8231
+ value: number | null;
8232
+ }
8233
+ /** An individual metric series with points ordered by time. */
8234
+ interface MetricSeries {
8235
+ name: string;
8236
+ unit: string;
8237
+ aggregation: string;
8238
+ description: string;
8239
+ points: TimeSeriesPoint[];
8240
+ }
8241
+ /** The name, unit, and meaning of an exportable series. */
8242
+ interface MetricDefinition {
8243
+ name: string;
8244
+ unit: string;
8245
+ description: string;
8246
+ }
8247
+ /** A metrics group and its individual series definitions. */
8248
+ interface MetricsSchema {
8249
+ name: string;
8250
+ definitions: MetricDefinition[];
8251
+ }
8252
+ /** Exported metrics over the effective, UTC-aligned [since, until) range. */
8253
+ interface ObjectMetrics {
8254
+ objectId: string;
8255
+ since: Date;
8256
+ until: Date;
8257
+ bucketSizeSecs: number;
8258
+ /** Total points across series, including missing observations. */
8259
+ pointCount: number;
8260
+ series: Record<string, MetricSeries>;
8261
+ }
8262
+ /** Options for discovering metric definitions. */
8263
+ interface MetricsSchemaParams {
8264
+ /** Omit or pass an empty array to select all groups. */
8265
+ groups?: string[];
8266
+ }
8267
+ /** Options for exporting Function metric samples. */
8268
+ interface FunctionMetricsExportParams extends MetricsSchemaParams {
8269
+ /** Defaults to one hour before until. */
8270
+ since?: Date;
8271
+ /** Defaults to the current time. */
8272
+ until?: Date;
8273
+ /** Bucket width in whole seconds. */
8274
+ bucketSizeSecs?: number;
8275
+ /** Include the root Function and all its variants. Defaults to false. */
8276
+ allVariants?: boolean;
8277
+ }
8278
+ /** Namespace for Function metric samples and definitions. */
8279
+ declare class FunctionMetricsManager {
8280
+ #private;
8281
+ /** @hidden */
8282
+ constructor(client: ModalClient, functionId: string);
8283
+ /**
8284
+ * Fetch metric samples, defaulting to all groups over the last hour.
8285
+ *
8286
+ * The maximum range is 31 days, with at most 500 points per series. Omit
8287
+ * bucketSizeSecs to let Modal select a supported width targeting approximately
8288
+ * 100 buckets. Bounds round down to UTC bucket boundaries: data before since
8289
+ * may be included, and the partial bucket at until is excluded.
8290
+ * Missing observations have value null. Use schema() to discover definitions.
8291
+ *
8292
+ * @example
8293
+ * ```typescript
8294
+ * const metrics = await fn.metrics.export({
8295
+ * bucketSizeSecs: 5 * 60,
8296
+ * groups: ["calls"],
8297
+ * });
8298
+ * for (const point of metrics.series["successful_calls_count"].points) {
8299
+ * console.log(point.time, point.value);
8300
+ * }
8301
+ * ```
8302
+ */
8303
+ export(params?: FunctionMetricsExportParams): Promise<ObjectMetrics>;
8304
+ /**
8305
+ * Return metric definitions keyed by group name, without fetching samples.
8306
+ * Omit groups to return all groups. Each group's definitions include all its
8307
+ * individual series.
8308
+ */
8309
+ schema(params?: MetricsSchemaParams): Promise<Record<string, MetricsSchema>>;
8310
+ }
8311
+
7753
8312
  type HeartbeatFunction = () => Promise<any>;
7754
8313
  declare class EphemeralHeartbeatManager {
7755
8314
  private readonly heartbeatFn;
@@ -7763,6 +8322,8 @@ declare class EphemeralHeartbeatManager {
7763
8322
  type VolumeFromNameParams = {
7764
8323
  environment?: string;
7765
8324
  createIfMissing?: boolean;
8325
+ /** Experimental VolumeFS version; omit to accept either version. */
8326
+ version?: 1 | 2;
7766
8327
  };
7767
8328
  /** Optional parameters for {@link VolumeService#ephemeral client.volumes.ephemeral()}. */
7768
8329
  type VolumeEphemeralParams = {
@@ -7986,6 +8547,8 @@ declare class Function_ {
7986
8547
  * for CLI access to logs for an App.
7987
8548
  */
7988
8549
  get logs(): FunctionLogsManager;
8550
+ /** Access metric samples with export() and series definitions with schema(). */
8551
+ get metrics(): FunctionMetricsManager;
7989
8552
  /** Override the static Function configuration at runtime. */
7990
8553
  withOptions(options: FunctionWithOptionsParams): Function_;
7991
8554
  /** Override the static Function concurrency configuration at runtime. */
@@ -8585,6 +9148,12 @@ interface TaskReloadVolumesRequest {
8585
9148
  containerId: string;
8586
9149
  }
8587
9150
  declare const TaskReloadVolumesRequest: MessageFns<TaskReloadVolumesRequest>;
9151
+ interface TaskSetExperimentalOutboundPolicyRequest {
9152
+ taskId: string;
9153
+ /** Replaces the task's experimental outbound policy. */
9154
+ experimentalOutboundPolicy: ExperimentalOutboundPolicy$1 | undefined;
9155
+ }
9156
+ declare const TaskSetExperimentalOutboundPolicyRequest: MessageFns<TaskSetExperimentalOutboundPolicyRequest>;
8588
9157
  interface TaskSetNetworkAccessRequest {
8589
9158
  taskId: string;
8590
9159
  /**
@@ -8594,12 +9163,6 @@ interface TaskSetNetworkAccessRequest {
8594
9163
  networkAccess: NetworkAccess | undefined;
8595
9164
  }
8596
9165
  declare const TaskSetNetworkAccessRequest: MessageFns<TaskSetNetworkAccessRequest>;
8597
- interface TaskSetOutboundPolicyRequest {
8598
- taskId: string;
8599
- /** Replaces the task's outbound policy. */
8600
- outboundPolicy: OutboundPolicy | undefined;
8601
- }
8602
- declare const TaskSetOutboundPolicyRequest: MessageFns<TaskSetOutboundPolicyRequest>;
8603
9166
  interface TaskSnapshotDirectoryRequest {
8604
9167
  taskId: string;
8605
9168
  path: Uint8Array;
@@ -8846,14 +9409,14 @@ declare class TaskCommandRouterClientImpl {
8846
9409
  */
8847
9410
  execStdinWriteStream(taskId: string, execId: string, source: StdinSource, chunkSize?: number, maxResumeAttempts?: number): Promise<number>;
8848
9411
  execPoll(taskId: string, execId: string, deadline?: number | null): Promise<TaskExecPollResponse>;
8849
- execWait(taskId: string, execId: string, deadline?: number | null): Promise<TaskExecWaitResponse>;
9412
+ execWait(taskId: string, execId: string, deadline?: number | null, signal?: AbortSignal): Promise<TaskExecWaitResponse>;
8850
9413
  mountDirectory(request: TaskMountDirectoryRequest): Promise<void>;
8851
9414
  snapshotDirectory(request: TaskSnapshotDirectoryRequest, options?: TimeoutOptions): Promise<TaskSnapshotDirectoryResponse>;
8852
9415
  snapshotFilesystem(request: TaskSnapshotFilesystemRequest, options?: TimeoutOptions): Promise<TaskSnapshotFilesystemResponse>;
8853
9416
  snapshotMemory(request: TaskSnapshotMemoryRequest, options?: TimeoutOptions): Promise<TaskSnapshotMemoryResponse>;
8854
9417
  unmountDirectory(request: TaskUnmountDirectoryRequest): Promise<void>;
8855
9418
  setNetworkAccess(request: TaskSetNetworkAccessRequest): Promise<void>;
8856
- setOutboundPolicy(request: TaskSetOutboundPolicyRequest): Promise<void>;
9419
+ setOutboundPolicy(request: TaskSetExperimentalOutboundPolicyRequest): Promise<void>;
8857
9420
  /**
8858
9421
  * Reload all Volumes mounted in the task to reflect their latest committed state.
8859
9422
  *
@@ -8952,7 +9515,7 @@ declare class ExperimentalOutboundPolicy {
8952
9515
  /** Convert to the wire format. Referenced secrets must be hydrated first.
8953
9516
  * @internal
8954
9517
  */
8955
- _toProto(): OutboundPolicy;
9518
+ _toProto(): ExperimentalOutboundPolicy$1;
8956
9519
  }
8957
9520
 
8958
9521
  /** Type of a filesystem entry. */
@@ -9600,6 +10163,8 @@ declare class SandboxService {
9600
10163
  /** Get a running {@link Sandbox} by name from a deployed {@link App}.
9601
10164
  *
9602
10165
  * Raises a {@link NotFoundError} if no running Sandbox is found with the given name.
10166
+ * If `includeTerminated` is set to `true` and no Sandbox with the name is currently
10167
+ * running, the most recent terminated Sandbox will be returned instead.
9603
10168
  * A Sandbox's name is the `name` argument passed to {@link SandboxService#create sandboxes.create()}.
9604
10169
  *
9605
10170
  * @param appName - Name of the deployed App
@@ -9671,10 +10236,20 @@ type SandboxExperimentalListParams = {
9671
10236
  /** Optional parameters for {@link SandboxService#fromName client.sandboxes.fromName()}. */
9672
10237
  type SandboxFromNameParams = {
9673
10238
  environment?: string;
10239
+ /**
10240
+ * If `includeTerminated` is set to `true` and no Sandbox with the name is
10241
+ * currently running, the most recent terminated Sandbox will be returned instead.
10242
+ */
10243
+ includeTerminated?: boolean;
9674
10244
  };
9675
10245
  /** Optional parameters for {@link SandboxService#experimentalFromName client.sandboxes.experimentalFromName()}. */
9676
10246
  type SandboxExperimentalFromNameParams = {
9677
10247
  environment?: string;
10248
+ /**
10249
+ * If `includeTerminated` is set to `true` and no Sandbox with the name is
10250
+ * currently running, the most recent terminated Sandbox will be returned instead.
10251
+ */
10252
+ includeTerminated?: boolean;
9678
10253
  };
9679
10254
  /** Optional parameters for {@link SandboxService#experimentalFromSnapshot client.sandboxes.experimentalFromSnapshot()}. */
9680
10255
  type SandboxExperimentalFromSnapshotParams = {
@@ -10085,6 +10660,86 @@ declare class ContainerProcess<R extends string | Uint8Array = any> {
10085
10660
  _poll(): Promise<number | null>;
10086
10661
  /** Wait for process completion and return the exit code. */
10087
10662
  wait(): Promise<number>;
10663
+ /**
10664
+ * @internal
10665
+ * @hidden
10666
+ * Like `wait()`, but stops waiting when `signal` is aborted.
10667
+ */
10668
+ _wait(signal?: AbortSignal): Promise<number>;
10669
+ }
10670
+
10671
+ /** Service for looking up {@link Environment}s through `client.environments`. */
10672
+ declare class EnvironmentService {
10673
+ #private;
10674
+ /** Namespace for creating, listing, and deleting Environments. */
10675
+ readonly objects: EnvironmentObjectsService;
10676
+ /** @ignore */
10677
+ constructor(client: ModalClient);
10678
+ /**
10679
+ * Look up an Environment by name, optionally creating it if it does not exist.
10680
+ * @throws {InvalidError} The Environment name is invalid.
10681
+ */
10682
+ fromName(name: string, params?: EnvironmentFromNameParams): Promise<Environment>;
10683
+ }
10684
+ /** Optional parameters for {@link EnvironmentService#fromName client.environments.fromName()}. */
10685
+ type EnvironmentFromNameParams = {
10686
+ createIfMissing?: boolean;
10687
+ };
10688
+ /** Namespace for creating, listing, and deleting Environments. */
10689
+ declare class EnvironmentObjectsService {
10690
+ #private;
10691
+ /** @ignore */
10692
+ constructor(client: ModalClient);
10693
+ /** Create an Environment with the given name. */
10694
+ create(name: string, params?: EnvironmentCreateParams): Promise<void>;
10695
+ /**
10696
+ * Yield Environment handles without additional lookup requests.
10697
+ *
10698
+ * ```typescript
10699
+ * for await (const environment of client.environments.objects.list()) {
10700
+ * console.log(environment.environmentId, environment.name);
10701
+ * }
10702
+ * ```
10703
+ */
10704
+ list(): AsyncGenerator<Environment, void, unknown>;
10705
+ /**
10706
+ * Delete an Environment by name.
10707
+ * This permanently deletes the Environment and all objects in it.
10708
+ */
10709
+ delete(name: string): Promise<void>;
10710
+ }
10711
+ /** Optional parameters for {@link EnvironmentObjectsService#create}. */
10712
+ type EnvironmentCreateParams = {
10713
+ /** Restrict access to users with explicitly assigned Environment roles. */
10714
+ restricted?: boolean;
10715
+ /** Default Environment role for workspace members. */
10716
+ defaultRole?: string;
10717
+ };
10718
+ /** A Modal Environment, with namespaces for accessing its resources. */
10719
+ declare class Environment {
10720
+ readonly environmentId: string;
10721
+ readonly name: string;
10722
+ readonly apps: EnvironmentAppsService;
10723
+ /** @ignore */
10724
+ constructor(client: ModalClient, environmentId: string, name: string);
10725
+ }
10726
+ /** Namespace for accessing Apps in an {@link Environment}. */
10727
+ declare class EnvironmentAppsService {
10728
+ #private;
10729
+ /** @ignore */
10730
+ constructor(client: ModalClient, environmentName: string);
10731
+ /**
10732
+ * Yield handles for live Apps in this Environment, excluding stopped and disabled Apps.
10733
+ * Listing Apps does not create Apps.
10734
+ *
10735
+ * ```typescript
10736
+ * const environment = await client.environments.fromName("prod");
10737
+ * for await (const app of environment.apps.list()) {
10738
+ * console.log(app.appId, app.name);
10739
+ * }
10740
+ * ```
10741
+ */
10742
+ list(): AsyncGenerator<App, void, unknown>;
10088
10743
  }
10089
10744
 
10090
10745
  interface ModalClientParams {
@@ -10141,6 +10796,7 @@ declare class ModalClient {
10141
10796
  readonly apps: AppService;
10142
10797
  readonly cloudBucketMounts: CloudBucketMountService;
10143
10798
  readonly cls: ClsService;
10799
+ readonly environments: EnvironmentService;
10144
10800
  readonly functions: FunctionService;
10145
10801
  readonly functionCalls: FunctionCallService;
10146
10802
  readonly images: ImageService;
@@ -10219,22 +10875,64 @@ type AppFromNameParams = {
10219
10875
  environment?: string;
10220
10876
  createIfMissing?: boolean;
10221
10877
  };
10222
- /** Represents a deployed Modal App. */
10878
+ /** Lifecycle state of a Modal App. */
10879
+ type AppState = "ephemeral" | "detached" | "deployed" | "stopping" | "stopped" | "initializing" | "disabled" | "unknown";
10880
+ /** Timestamps and attributions for events in an App's lifecycle. */
10881
+ interface AppLifecycle {
10882
+ state: AppState;
10883
+ version?: number;
10884
+ createdAt: Date;
10885
+ createdBy: string;
10886
+ deployedAt?: Date;
10887
+ deployedBy?: string;
10888
+ stoppedAt?: Date;
10889
+ stoppedBy?: string;
10890
+ }
10891
+ /** Information about an App, its lifecycle, and its member Functions and Servers. */
10892
+ interface AppInfo {
10893
+ appId: string;
10894
+ description: string;
10895
+ lifecycle: AppLifecycle;
10896
+ /** Function names mapped to Function IDs. */
10897
+ functions: Record<string, string>;
10898
+ /** Server names mapped to Function IDs. */
10899
+ servers: Record<string, string>;
10900
+ }
10901
+ /** Optional parameters for {@link App#info}. */
10902
+ type AppInfoParams = {
10903
+ /** Fetch current information rather than the cached lookup or listing snapshot. */
10904
+ refresh?: boolean;
10905
+ };
10906
+ /** Represents a Modal App. */
10223
10907
  declare class App {
10908
+ #private;
10224
10909
  readonly appId: string;
10225
10910
  readonly name?: string;
10226
10911
  readonly environmentName?: string;
10227
10912
  /** @ignore */
10228
- constructor(appId: string, name?: string, environmentName?: string);
10913
+ constructor(appId: string, name?: string, environmentName?: string, client?: ModalClient, metadata?: AppHandleMetadata);
10914
+ /**
10915
+ * Return information about this App, including its lifecycle and member Functions and Servers.
10916
+ * By default, returns the snapshot from the previous lookup, listing, or refresh.
10917
+ */
10918
+ info(params?: AppInfoParams): Promise<AppInfo>;
10229
10919
  }
10230
10920
 
10231
10921
  /** An operation exceeds the allowed time limit. */
10232
10922
  declare class TimeoutError extends Error {
10233
10923
  constructor(message?: string);
10234
10924
  }
10235
- /** Function execution exceeds the allowed time limit. */
10925
+ /**
10926
+ * Function execution exceeds the allowed time limit.
10927
+ *
10928
+ * {@link FunctionCall#get FunctionCall.get()} throws {@link TimeoutError}
10929
+ * instead when `timeoutMs` elapses before the Function finishes. Matching that
10930
+ * case with `instanceof FunctionTimeoutError` is deprecated and will stop
10931
+ * working in a future release.
10932
+ */
10236
10933
  declare class FunctionTimeoutError extends Error {
10237
10934
  constructor(message: string);
10935
+ static [Symbol.hasInstance](instance: unknown): boolean;
10238
10936
  }
10239
10937
  /** An error on the Modal server, or a Python exception. */
10240
10938
  declare class RemoteError extends Error {
@@ -10323,4 +11021,4 @@ declare class ClientClosedError extends Error {
10323
11021
 
10324
11022
  declare function checkForRenamedParams(params: any, renames: Record<string, string>): void;
10325
11023
 
10326
- export { AlreadyExistsError, App, type AppFromNameParams, AppService, ClientClosedError, CloudBucketMount, CloudBucketMountService, Cls, type ClsFromNameParams, ClsInstance, ClsService, type ClsWithBatchingParams, type ClsWithConcurrencyParams, type ClsWithOptionsParams, ConflictError, ContainerProcess, ExecutionError, ExperimentalOutboundPolicy, type FileInfo, type FileType, type FileWatchEvent, type FileWatchEventType, type FunctionAutoscalerSettings, FunctionCall, type FunctionCallCancelParams, type FunctionCallGetParams, type FunctionCallLogFetchParams, type FunctionCallLogStreamParams, type FunctionCallLogTailParams, FunctionCallLogsManager, FunctionCallService, type FunctionCurrentStats, type FunctionFromNameParams, type FunctionLogFetchParams, type FunctionLogStreamParams, type FunctionLogTailParams, FunctionLogsManager, FunctionService, type FunctionStats, type FunctionStatsParams, FunctionTimeoutError, type FunctionUpdateAutoscalerParams, type FunctionWithBatchingParams, type FunctionWithConcurrencyParams, type FunctionWithOptionsParams, Function_, Image, type ImageDeleteParams, type ImageDockerfileCommandsParams, type ImageFromNameParams, type ImagePublishParams, ImageService, InternalFailure, InvalidError, type LogEntry, type FunctionLogFetchParams as LogFetchParams, type LogLevel, type LogSource, type Logger, ModalClient, type ModalClientParams, type ModalReadStream, type ModalWriteStream, NotFoundError, Probe, type ProbeParams, type Profile, Proxy, type ProxyFromNameParams, ProxyService, Queue, type QueueClearParams, type QueueDeleteParams, QueueEmptyError, type QueueEphemeralParams, type QueueFromNameParams, QueueFullError, type QueueGetParams, type QueueIterateParams, type QueueLenParams, type QueuePutParams, QueueService, RemoteError, ResourceExhaustedError, Retries, Sandbox, type SandboxCreateConnectCredentials, type SandboxCreateConnectTokenParams, type SandboxCreateParams, type SandboxExecParams, type SandboxExperimentalFromNameParams, type SandboxExperimentalFromSnapshotParams, type SandboxExperimentalGetExitSnapshotParams, type SandboxExperimentalListParams, SandboxFilesystem, SandboxFilesystemDirectoryNotEmptyError, SandboxFilesystemError, SandboxFilesystemFileTooLargeError, SandboxFilesystemIsADirectoryError, SandboxFilesystemNotADirectoryError, SandboxFilesystemNotFoundError, SandboxFilesystemPathAlreadyExistsError, SandboxFilesystemPermissionError, type SandboxFromNameParams, type SandboxListParams, type SandboxLogFetchParams, type SandboxLogTailParams, SandboxLogsManager, type SandboxMountImageParams, type SandboxReloadVolumesParams, type SandboxRuntime, SandboxService, SandboxSnapshot, type SandboxSnapshotDirectoryParams, type SandboxSnapshotFilesystemParams, SandboxSnapshotService, type SandboxTerminateParams, SandboxTimeoutError, type SandboxUpdateNetworkPolicyParams, Secret, type SecretDeleteParams, type SecretFromNameParams, type SecretFromObjectParams, SecretService, SidecarContainer, type SidecarCreateParams, type SidecarExecParams, type SidecarGetParams, type SidecarListParams, type SidecarMountImageParams, SidecarService, type SidecarSnapshotDirectoryParams, type SidecarSnapshotFilesystemParams, type SidecarTerminateParams, type SidecarUnmountImageParams, SnapshotCreationError, type StatsPercentile, type StatsPercentileDistribution, type StdioBehavior, type StreamMode, TimeoutError, Tunnel, Volume, type VolumeDeleteParams, type VolumeEphemeralParams, type VolumeFromNameParams, type VolumeMountOptionsParams, VolumeService, checkForRenamedParams };
11024
+ export { AlreadyExistsError, App, type AppFromNameParams, type AppInfo, type AppInfoParams, type AppLifecycle, AppService, type AppState, ClientClosedError, CloudBucketMount, CloudBucketMountService, Cls, type ClsFromNameParams, ClsInstance, ClsService, type ClsWithBatchingParams, type ClsWithConcurrencyParams, type ClsWithOptionsParams, ConflictError, ContainerProcess, Environment, EnvironmentAppsService, type EnvironmentCreateParams, type EnvironmentFromNameParams, EnvironmentObjectsService, EnvironmentService, ExecutionError, ExperimentalOutboundPolicy, type FileInfo, type FileType, type FileWatchEvent, type FileWatchEventType, type FunctionAutoscalerSettings, FunctionCall, type FunctionCallCancelParams, type FunctionCallGetParams, type FunctionCallLogFetchParams, type FunctionCallLogStreamParams, type FunctionCallLogTailParams, FunctionCallLogsManager, FunctionCallService, type FunctionCurrentStats, type FunctionFromNameParams, type FunctionLogFetchParams, type FunctionLogStreamParams, type FunctionLogTailParams, FunctionLogsManager, type FunctionMetricsExportParams, FunctionMetricsManager, FunctionService, type FunctionStats, type FunctionStatsParams, FunctionTimeoutError, type FunctionUpdateAutoscalerParams, type FunctionWithBatchingParams, type FunctionWithConcurrencyParams, type FunctionWithOptionsParams, Function_, Image, type ImageDeleteParams, type ImageDockerfileCommandsParams, type ImageFromNameParams, type ImagePublishParams, ImageService, InternalFailure, InvalidError, type LogEntry, type FunctionLogFetchParams as LogFetchParams, type LogLevel, type LogSource, type Logger, type MetricDefinition, type MetricSeries, type MetricsSchema, type MetricsSchemaParams, ModalClient, type ModalClientParams, type ModalReadStream, type ModalWriteStream, NotFoundError, type ObjectMetrics, Probe, type ProbeParams, type Profile, Proxy, type ProxyFromNameParams, ProxyService, Queue, type QueueClearParams, type QueueDeleteParams, QueueEmptyError, type QueueEphemeralParams, type QueueFromNameParams, QueueFullError, type QueueGetParams, type QueueIterateParams, type QueueLenParams, type QueuePutParams, QueueService, RemoteError, ResourceExhaustedError, Retries, Sandbox, type SandboxCreateConnectCredentials, type SandboxCreateConnectTokenParams, type SandboxCreateParams, type SandboxExecParams, type SandboxExperimentalFromNameParams, type SandboxExperimentalFromSnapshotParams, type SandboxExperimentalGetExitSnapshotParams, type SandboxExperimentalListParams, SandboxFilesystem, SandboxFilesystemDirectoryNotEmptyError, SandboxFilesystemError, SandboxFilesystemFileTooLargeError, SandboxFilesystemIsADirectoryError, SandboxFilesystemNotADirectoryError, SandboxFilesystemNotFoundError, SandboxFilesystemPathAlreadyExistsError, SandboxFilesystemPermissionError, type SandboxFromNameParams, type SandboxListParams, type SandboxLogFetchParams, type SandboxLogTailParams, SandboxLogsManager, type SandboxMountImageParams, type SandboxReloadVolumesParams, type SandboxRuntime, SandboxService, SandboxSnapshot, type SandboxSnapshotDirectoryParams, type SandboxSnapshotFilesystemParams, SandboxSnapshotService, type SandboxTerminateParams, SandboxTimeoutError, type SandboxUpdateNetworkPolicyParams, Secret, type SecretDeleteParams, type SecretFromNameParams, type SecretFromObjectParams, SecretService, SidecarContainer, type SidecarCreateParams, type SidecarExecParams, type SidecarGetParams, type SidecarListParams, type SidecarMountImageParams, SidecarService, type SidecarSnapshotDirectoryParams, type SidecarSnapshotFilesystemParams, type SidecarTerminateParams, type SidecarUnmountImageParams, SnapshotCreationError, type StatsPercentile, type StatsPercentileDistribution, type StdioBehavior, type StreamMode, type TimeSeriesPoint, TimeoutError, Tunnel, Volume, type VolumeDeleteParams, type VolumeEphemeralParams, type VolumeFromNameParams, type VolumeMountOptionsParams, VolumeService, checkForRenamedParams };