@blaxel/core 0.2.95-preview.199 → 0.2.95

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.
@@ -28,8 +28,8 @@ function missingCredentialsMessage() {
28
28
  return "No Blaxel credentials found. Set the BL_API_KEY and BL_WORKSPACE environment variables, or run `bl login`.";
29
29
  }
30
30
  // Build info - these placeholders are replaced at build time by build:replace-imports
31
- const BUILD_VERSION = "0.2.95-preview.199";
32
- const BUILD_COMMIT = "a9ab5d2a89d113a4b1c42476839f7424b5165f31";
31
+ const BUILD_VERSION = "0.2.95";
32
+ const BUILD_COMMIT = "21ecd90513bd1d7c3e6af0a9e8add801c5abb297";
33
33
  const BUILD_SENTRY_DSN = "https://fd5e60e1c9820e1eef5ccebb84a07127@o4508714045276160.ingest.us.sentry.io/4510465864564736";
34
34
  const BLAXEL_API_VERSION = "2026-04-16";
35
35
  // Cache for config.yaml tracking value
@@ -33,6 +33,9 @@ class DriveInstance {
33
33
  get region() {
34
34
  return this.drive.spec.region;
35
35
  }
36
+ get permissions() {
37
+ return this.drive.spec?.permissions;
38
+ }
36
39
  static async create(config) {
37
40
  const defaultName = `drive-${(0, uuid_1.v4)().replace(/-/g, '').substring(0, 8)}`;
38
41
  let drive;
@@ -50,7 +53,8 @@ class DriveInstance {
50
53
  },
51
54
  spec: {
52
55
  size: config.size,
53
- region: config.region || settings_js_1.settings.region
56
+ region: config.region || settings_js_1.settings.region,
57
+ permissions: config.permissions,
54
58
  }
55
59
  };
56
60
  }
@@ -120,6 +124,8 @@ class DriveInstance {
120
124
  specUpdates.size = updates.spec.size;
121
125
  if (updates.spec.region !== undefined)
122
126
  specUpdates.region = updates.spec.region;
127
+ if (updates.spec.permissions !== undefined)
128
+ specUpdates.permissions = updates.spec.permissions;
123
129
  }
124
130
  }
125
131
  else {
@@ -132,6 +138,8 @@ class DriveInstance {
132
138
  specUpdates.size = updates.size;
133
139
  if (updates.region !== undefined)
134
140
  specUpdates.region = updates.region;
141
+ if (updates.permissions !== undefined)
142
+ specUpdates.permissions = updates.permissions;
135
143
  }
136
144
  const body = {
137
145
  metadata: {
@@ -1,5 +1,5 @@
1
1
  import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
2
- import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, GetConfigurationData, ListCustomDomainsData, CreateCustomDomainData, DeleteCustomDomainData, GetCustomDomainData, UpdateCustomDomainData, VerifyCustomDomainData, ListDrivesData, CreateDriveData, DeleteDriveData, GetDriveData, UpdateDriveData, CreateDriveAccessTokenData, GetDriveJwksData, ListAllEgressGatewaysData, GetEgressGatewayUsageData, ListAllEgressIpsData, GetWorkspaceFeaturesData, TestFeatureFlagData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, CleanupImagesData, ListImagesData, CreateImageData, DeleteImageData, GetImageData, ListImageSharesData, ShareImageData, ShareImageResponse, UnshareImageData, DeleteImageTagData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobExecutionsData, CreateJobExecutionData, DeleteJobExecutionData, GetJobExecutionData, ListJobExecutionTasksData, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPendingImageSharesData, AcceptImageShareData, DeclineImageShareData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, GetPolicyUsagesData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, GetSandboxByExternalIdData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListVolumeTemplatesData, CreateVolumeTemplateData, DeleteVolumeTemplateData, GetVolumeTemplateData, UpdateVolumeTemplateData, DeleteVolumeTemplateVersionData, ListVolumesData, CreateVolumeData, DeleteVolumeData, GetVolumeData, UpdateVolumeData, ListVpcsData, CreateVpcData, DeleteVpcData, GetVpcData, ListEgressGatewaysData, CreateEgressGatewayData, DeleteEgressGatewayData, GetEgressGatewayData, ListEgressIpsData, CreateEgressIpData, DeleteEgressIpData, GetEgressIpData, ListWorkspacesData, CreateWorkspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, DeclineWorkspaceInvitationData, AcceptWorkspaceInvitationData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
2
+ import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, ListApplicationsData, CreateApplicationData, DeleteApplicationData, GetApplicationData, UpdateApplicationData, CreateApplicationCustomDomainData, ListApplicationRevisionsData, GetConfigurationData, ListCustomDomainsData, CreateCustomDomainData, DeleteCustomDomainData, GetCustomDomainData, UpdateCustomDomainData, VerifyCustomDomainData, ListDrivesData, CreateDriveData, DeleteDriveData, GetDriveData, UpdateDriveData, CreateDriveAccessTokenData, GetDriveJwksData, ListAllEgressGatewaysData, GetEgressGatewayUsageData, ListAllEgressIpsData, GetWorkspaceFeaturesData, TestFeatureFlagData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, CleanupImagesData, ListImagesData, CreateImageData, DeleteImageData, GetImageData, ListImageSharesData, ShareImageData, ShareImageResponse, UnshareImageData, DeleteImageTagData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobExecutionsData, CreateJobExecutionData, DeleteJobExecutionData, GetJobExecutionData, ListJobExecutionTasksData, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPendingImageSharesData, AcceptImageShareData, DeclineImageShareData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, GetPolicyUsagesData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, GetSandboxByExternalIdData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListVolumeTemplatesData, CreateVolumeTemplateData, DeleteVolumeTemplateData, GetVolumeTemplateData, UpdateVolumeTemplateData, DeleteVolumeTemplateVersionData, ListVolumesData, CreateVolumeData, DeleteVolumeData, GetVolumeData, UpdateVolumeData, ListVpcsData, CreateVpcData, DeleteVpcData, GetVpcData, ListEgressGatewaysData, CreateEgressGatewayData, DeleteEgressGatewayData, GetEgressGatewayData, ListEgressIpsData, CreateEgressIpData, DeleteEgressIpData, GetEgressIpData, ListWorkspacesData, CreateWorkspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, DeclineWorkspaceInvitationData, AcceptWorkspaceInvitationData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -42,6 +42,40 @@ export declare const updateAgent: <ThrowOnError extends boolean = false>(options
42
42
  * List all agent revisions
43
43
  */
44
44
  export declare const listAgentRevisions: <ThrowOnError extends boolean = false>(options: Options<ListAgentRevisionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").RevisionMetadata[], unknown, ThrowOnError>;
45
+ /**
46
+ * List all applications
47
+ * Returns applications deployed in the workspace. Each application includes its deployment status, runtime configuration, and endpoint URL. Starting with API version 2026-04-28 the response is wrapped in `{data, meta}` and supports cursor pagination via the `cursor` and `limit` query parameters; older versions keep returning a bare array with all applications.
48
+ */
49
+ export declare const listApplications: <ThrowOnError extends boolean = false>(options?: Options<ListApplicationsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").ApplicationList, import("./types.gen.js")._Error, ThrowOnError>;
50
+ /**
51
+ * Create application
52
+ * Creates a new application deployment. Applications are long-running workloads that default to public access and mk3 generation.
53
+ */
54
+ export declare const createApplication: <ThrowOnError extends boolean = false>(options: Options<CreateApplicationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Application, import("./types.gen.js")._Error, ThrowOnError>;
55
+ /**
56
+ * Delete application
57
+ * Permanently deletes an application and all its deployment history. The application endpoint will immediately stop responding. This action cannot be undone.
58
+ */
59
+ export declare const deleteApplication: <ThrowOnError extends boolean = false>(options: Options<DeleteApplicationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Application, import("./types.gen.js")._Error, ThrowOnError>;
60
+ /**
61
+ * Get application
62
+ * Returns detailed information about an application including its current deployment status, configuration, events history, and endpoint URL.
63
+ */
64
+ export declare const getApplication: <ThrowOnError extends boolean = false>(options: Options<GetApplicationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Application, import("./types.gen.js")._Error, ThrowOnError>;
65
+ /**
66
+ * Update application
67
+ * Updates an application's configuration and triggers a new deployment. Changes to runtime settings, environment variables, or scaling parameters will be applied on the next deployment.
68
+ */
69
+ export declare const updateApplication: <ThrowOnError extends boolean = false>(options: Options<UpdateApplicationData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Application, import("./types.gen.js")._Error, ThrowOnError>;
70
+ /**
71
+ * Create application custom domain
72
+ * Creates a new custom domain scoped to a specific application. After creation, you must configure DNS records and verify domain ownership before it becomes active.
73
+ */
74
+ export declare const createApplicationCustomDomain: <ThrowOnError extends boolean = false>(options: Options<CreateApplicationCustomDomainData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").CustomDomain, unknown, ThrowOnError>;
75
+ /**
76
+ * List all application revisions
77
+ */
78
+ export declare const listApplicationRevisions: <ThrowOnError extends boolean = false>(options: Options<ListApplicationRevisionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").RevisionMetadata[], unknown, ThrowOnError>;
45
79
  /**
46
80
  * Get platform configuration
47
81
  * Returns global platform configuration including available regions, countries, continents, and private locations for deployment policies.
@@ -157,6 +157,144 @@ export type ApiKeyWritable = TimeFields & OwnerFields & {
157
157
  */
158
158
  sub_type?: string;
159
159
  };
160
+ /**
161
+ * A single application revision containing the deployed image and configuration
162
+ */
163
+ export type AppRevision = {
164
+ /**
165
+ * When this revision was created
166
+ */
167
+ createdAt?: string;
168
+ /**
169
+ * Who created this revision
170
+ */
171
+ createdBy?: string;
172
+ /**
173
+ * Environment variables for this revision
174
+ */
175
+ envs?: Array<Env>;
176
+ /**
177
+ * Unique revision identifier
178
+ */
179
+ id?: string;
180
+ /**
181
+ * Container image for this revision (mandatory)
182
+ */
183
+ image: string;
184
+ /**
185
+ * Memory allocation in megabytes. Determines CPU allocation (CPU = memory / 2048).
186
+ */
187
+ memory?: number;
188
+ /**
189
+ * Port the application listens on for this revision (default uses spec-level port or 8080)
190
+ */
191
+ port?: number;
192
+ };
193
+ /**
194
+ * Routing configuration controlling which revision is active and canary traffic splitting
195
+ */
196
+ export type AppRevisionConfiguration = {
197
+ /**
198
+ * Active revision id
199
+ */
200
+ active?: string;
201
+ /**
202
+ * Canary revision id
203
+ */
204
+ canary?: string;
205
+ /**
206
+ * Canary revision percent (0-100)
207
+ */
208
+ canaryPercent?: number;
209
+ /**
210
+ * Sticky session TTL in seconds (0 = disabled)
211
+ */
212
+ stickySessionTtl?: number;
213
+ /**
214
+ * Traffic percentage for deployment
215
+ */
216
+ traffic?: number;
217
+ };
218
+ export type AppRevisions = Array<AppRevision>;
219
+ /**
220
+ * A single URL entry for the application. If the domain is a wildcard custom domain (e.g. *.sandbox.vybe.build), use subdomain to pick a specific subdomain. If the domain is a direct custom domain (e.g. app.vybe.build), subdomain is not needed.
221
+ */
222
+ export type AppUrl = {
223
+ /**
224
+ * Custom domain (must be a verified custom domain in the workspace). Can be a wildcard domain (e.g. sandbox.vybe.build registered as *.sandbox.vybe.build) or a direct domain (e.g. app.vybe.build).
225
+ */
226
+ domain: string;
227
+ /**
228
+ * Subdomain to use with a wildcard custom domain (optional)
229
+ */
230
+ subdomain?: string;
231
+ };
232
+ /**
233
+ * URL configuration for the application. Each entry defines a custom URL through which the application is accessible. The domain must be a verified custom domain in the workspace.
234
+ */
235
+ export type AppUrls = Array<AppUrl>;
236
+ /**
237
+ * Long-running application deployment that runs your custom code as a publicly accessible endpoint. Applications are always public and use mk3 generation.
238
+ */
239
+ export type Application = {
240
+ events?: CoreEvents;
241
+ metadata: Metadata;
242
+ spec: ApplicationSpec;
243
+ /**
244
+ * Application status computed from events
245
+ */
246
+ readonly status?: string;
247
+ };
248
+ /**
249
+ * Long-running application deployment that runs your custom code as a publicly accessible endpoint. Applications are always public and use mk3 generation.
250
+ */
251
+ export type ApplicationWritable = {
252
+ events?: CoreEventsWritable;
253
+ metadata: MetadataWritable;
254
+ spec: ApplicationSpec;
255
+ };
256
+ /**
257
+ * Cursor-paginated list of applications. Returned starting with API version 2026-04-28; older API versions return a bare array of applications instead.
258
+ */
259
+ export type ApplicationList = {
260
+ /**
261
+ * Page of applications.
262
+ */
263
+ data?: Array<Application>;
264
+ meta?: PaginationMeta;
265
+ };
266
+ /**
267
+ * Cursor-paginated list of applications. Returned starting with API version 2026-04-28; older API versions return a bare array of applications instead.
268
+ */
269
+ export type ApplicationListWritable = {
270
+ /**
271
+ * Page of applications.
272
+ */
273
+ data?: Array<ApplicationWritable>;
274
+ meta?: PaginationMeta;
275
+ };
276
+ /**
277
+ * Configuration for an application including revision management, URL routing, and deployment region
278
+ */
279
+ export type ApplicationSpec = {
280
+ /**
281
+ * When false, the application is disabled and will not serve requests
282
+ */
283
+ enabled?: boolean;
284
+ /**
285
+ * Port the application listens on (default 8080)
286
+ */
287
+ port?: number;
288
+ /**
289
+ * Region where the application is deployed (e.g. us-pdx-1, eu-lon-1)
290
+ */
291
+ region?: string;
292
+ revision?: AppRevisionConfiguration;
293
+ revisions?: AppRevisions;
294
+ urls?: AppUrls;
295
+ };
296
+ export type Applications = Array<Application>;
297
+ export type ApplicationsWritable = Array<ApplicationWritable>;
160
298
  /**
161
299
  * Configuration
162
300
  */
@@ -419,9 +557,11 @@ export type CustomDomainSpec = {
419
557
  */
420
558
  status?: 'pending' | 'verified' | 'failed';
421
559
  /**
422
- * List of subdomains (previews) currently using this custom domain. Only populated on GET /customdomains/{domainName}.
560
+ * Subject Alternative Names (SANs) for the ACM certificate. Only applicable for application domains.
423
561
  */
424
- readonly subdomains?: Array<CustomDomainSubdomain>;
562
+ subjectAlternativeNames?: Array<{
563
+ [key: string]: unknown;
564
+ }>;
425
565
  /**
426
566
  * Map of TXT record names to values for domain verification
427
567
  */
@@ -453,6 +593,12 @@ export type CustomDomainSpecWritable = {
453
593
  * Current status of the domain (pending, verified, failed)
454
594
  */
455
595
  status?: 'pending' | 'verified' | 'failed';
596
+ /**
597
+ * Subject Alternative Names (SANs) for the ACM certificate. Only applicable for application domains.
598
+ */
599
+ subjectAlternativeNames?: Array<{
600
+ [key: string]: unknown;
601
+ }>;
456
602
  /**
457
603
  * Map of TXT record names to values for domain verification
458
604
  */
@@ -460,31 +606,6 @@ export type CustomDomainSpecWritable = {
460
606
  [key: string]: string;
461
607
  };
462
608
  };
463
- /**
464
- * A subdomain (preview) using a custom domain
465
- */
466
- export type CustomDomainSubdomain = {
467
- /**
468
- * Preview name
469
- */
470
- previewName?: string;
471
- /**
472
- * Resource name
473
- */
474
- resourceName?: string;
475
- /**
476
- * Resource type (e.g., sandbox)
477
- */
478
- resourceType?: string;
479
- /**
480
- * Subdomain prefix used for routing
481
- */
482
- subdomain?: string;
483
- /**
484
- * Full URL of the preview on this custom domain
485
- */
486
- url?: string;
487
- };
488
609
  /**
489
610
  * Drive providing persistent storage that can be attached to agents, functions, and sandboxes. Drives can be mounted at runtime via the sbx API.
490
611
  */
@@ -527,6 +648,25 @@ export type DriveListWritable = {
527
648
  data?: Array<DriveWritable>;
528
649
  meta?: PaginationMeta;
529
650
  };
651
+ /**
652
+ * Permission that controls which workloads can access a drive. A workload must have ALL specified labels (AND logic). Permissions are evaluated with OR logic — the first matching permission grants access.
653
+ */
654
+ export type DrivePermission = {
655
+ /**
656
+ * Labels that the workload must have. All labels must match (AND logic). Empty labels match all workloads.
657
+ */
658
+ labels?: {
659
+ [key: string]: unknown;
660
+ };
661
+ /**
662
+ * Access mode granted by this permission
663
+ */
664
+ mode?: 'read' | 'read-write';
665
+ /**
666
+ * Subfolder path to restrict access to. Defaults to / (full drive).
667
+ */
668
+ path?: string;
669
+ };
530
670
  /**
531
671
  * Immutable drive configuration set at creation time
532
672
  */
@@ -535,6 +675,10 @@ export type DriveSpec = {
535
675
  * The internal infrastructure resource identifier for this drive (bucket name)
536
676
  */
537
677
  readonly infrastructureId?: string;
678
+ /**
679
+ * Permissions controlling which workloads can access this drive. Empty means all workloads in the workspace can access the drive. Maximum 3 permissions.
680
+ */
681
+ permissions?: Array<DrivePermission>;
538
682
  /**
539
683
  * Deployment region for the drive (e.g., us-pdx-1, eu-lon-1). Must match the region of resources it attaches to.
540
684
  */
@@ -548,6 +692,10 @@ export type DriveSpec = {
548
692
  * Immutable drive configuration set at creation time
549
693
  */
550
694
  export type DriveSpecWritable = {
695
+ /**
696
+ * Permissions controlling which workloads can access this drive. Empty means all workloads in the workspace can access the drive. Maximum 3 permissions.
697
+ */
698
+ permissions?: Array<DrivePermission>;
551
699
  /**
552
700
  * Deployment region for the drive (e.g., us-pdx-1, eu-lon-1). Must match the region of resources it attaches to.
553
701
  */
@@ -933,6 +1081,7 @@ export type FunctionRuntime = {
933
1081
  * Minimum instances to keep warm. Set to 1+ to eliminate cold starts, 0 for scale-to-zero.
934
1082
  */
935
1083
  minScale?: number;
1084
+ ports?: Ports;
936
1085
  /**
937
1086
  * Transport compatibility for the MCP, can be "websocket" or "http-stream"
938
1087
  */
@@ -2196,7 +2345,7 @@ export type OAuth = {
2196
2345
  type?: string;
2197
2346
  };
2198
2347
  /**
2199
- * Owner fields for Persistance
2348
+ * Owner fields for Persistence
2200
2349
  */
2201
2350
  export type OwnerFields = {
2202
2351
  /**
@@ -2615,7 +2764,7 @@ export type PolicyMaxTokens = {
2615
2764
  /**
2616
2765
  * PolicyResourceType is a type of resource, e.g. model, function, etc.
2617
2766
  */
2618
- export type PolicyResourceType = 'model' | 'function' | 'agent' | 'sandbox';
2767
+ export type PolicyResourceType = 'model' | 'function' | 'agent' | 'sandbox' | 'application';
2619
2768
  /**
2620
2769
  * PolicyResourceTypes is a local type that wraps a slice of PolicyResourceType
2621
2770
  */
@@ -3294,7 +3443,7 @@ export type SandboxWritable = {
3294
3443
  */
3295
3444
  export type SandboxDefinition = {
3296
3445
  /**
3297
- * Categories of the defintion
3446
+ * Categories of the definition
3298
3447
  */
3299
3448
  categories?: Array<{
3300
3449
  [key: string]: unknown;
@@ -3304,7 +3453,7 @@ export type SandboxDefinition = {
3304
3453
  */
3305
3454
  coming_soon?: boolean;
3306
3455
  /**
3307
- * Description of the defintion
3456
+ * Description of the definition
3308
3457
  */
3309
3458
  description?: string;
3310
3459
  /**
@@ -3328,7 +3477,7 @@ export type SandboxDefinition = {
3328
3477
  */
3329
3478
  image?: string;
3330
3479
  /**
3331
- * Long description of the defintion
3480
+ * Long description of the definition
3332
3481
  */
3333
3482
  longDescription?: string;
3334
3483
  /**
@@ -3581,7 +3730,7 @@ export type TemplateVariable = {
3581
3730
  secret?: boolean;
3582
3731
  };
3583
3732
  /**
3584
- * Time fields for Persistance
3733
+ * Time fields for Persistence
3585
3734
  */
3586
3735
  export type TimeFields = {
3587
3736
  /**
@@ -3994,6 +4143,7 @@ export type Workspace = TimeFields & OwnerFields & {
3994
4143
  * Group-to-role mappings for directory sync (SCIM) group membership
3995
4144
  */
3996
4145
  groupMappings?: Array<GroupWorkspaceMapping>;
4146
+ hipaaInfo?: WorkspaceHipaaInfo;
3997
4147
  /**
3998
4148
  * Autogenerated unique workspace id
3999
4149
  */
@@ -4039,6 +4189,7 @@ export type WorkspaceWritable = TimeFields & OwnerFields & {
4039
4189
  * Group-to-role mappings for directory sync (SCIM) group membership
4040
4190
  */
4041
4191
  groupMappings?: Array<GroupWorkspaceMapping>;
4192
+ hipaaInfo?: WorkspaceHipaaInfoWritable;
4042
4193
  labels?: MetadataLabels;
4043
4194
  /**
4044
4195
  * Workspace name
@@ -4424,6 +4575,242 @@ export type ListAgentRevisionsResponses = {
4424
4575
  200: Array<RevisionMetadata>;
4425
4576
  };
4426
4577
  export type ListAgentRevisionsResponse = ListAgentRevisionsResponses[keyof ListAgentRevisionsResponses];
4578
+ export type ListApplicationsData = {
4579
+ body?: never;
4580
+ path?: never;
4581
+ query?: {
4582
+ /**
4583
+ * Opaque cursor returned by a previous response's meta.nextCursor. Only valid for the same query (workspace + filters); the server rejects cursors bound to a different query or older than 24h. Omit on the first page.
4584
+ */
4585
+ cursor?: string;
4586
+ /**
4587
+ * Maximum number of items to return per page. Defaults to 50, clamped to 200.
4588
+ */
4589
+ limit?: number;
4590
+ /**
4591
+ * Sort spec, formatted as `<key>:<direction>`. Allowed values are `createdAt:desc` (default), `createdAt:asc`, `name:asc`, `name:desc`. The cursor fingerprint is bound to the sort, so a cursor opened with one value cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4592
+ */
4593
+ sort?: 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc';
4594
+ /**
4595
+ * Substring search across `metadata.name`, `metadata.displayName` and labels (keys + values). Trimmed and lowercased server-side; queries shorter than 2 characters fall back to the unfiltered listing. Bound into the cursor fingerprint so a cursor opened with one query cannot be reused with another. Only honoured starting on Blaxel-Version 2026-04-28.
4596
+ */
4597
+ q?: string;
4598
+ /**
4599
+ * Start from a known pagination boundary. `end` is only supported for `createdAt:desc` listings and returns the oldest page directly without walking every cursor from the first page.
4600
+ */
4601
+ anchor?: 'end';
4602
+ };
4603
+ url: '/applications';
4604
+ };
4605
+ export type ListApplicationsErrors = {
4606
+ /**
4607
+ * Unauthorized - Invalid or missing authentication credentials
4608
+ */
4609
+ 401: _Error;
4610
+ /**
4611
+ * Forbidden - Insufficient permissions to list applications
4612
+ */
4613
+ 403: _Error;
4614
+ /**
4615
+ * Internal server error
4616
+ */
4617
+ 500: _Error;
4618
+ };
4619
+ export type ListApplicationsError = ListApplicationsErrors[keyof ListApplicationsErrors];
4620
+ export type ListApplicationsResponses = {
4621
+ /**
4622
+ * successful operation
4623
+ */
4624
+ 200: ApplicationList;
4625
+ };
4626
+ export type ListApplicationsResponse = ListApplicationsResponses[keyof ListApplicationsResponses];
4627
+ export type CreateApplicationData = {
4628
+ body: ApplicationWritable;
4629
+ path?: never;
4630
+ query?: never;
4631
+ url: '/applications';
4632
+ };
4633
+ export type CreateApplicationErrors = {
4634
+ /**
4635
+ * Bad request - Invalid application configuration
4636
+ */
4637
+ 400: _Error;
4638
+ /**
4639
+ * Unauthorized - Invalid or missing authentication credentials
4640
+ */
4641
+ 401: _Error;
4642
+ /**
4643
+ * Forbidden - Insufficient permissions to create applications
4644
+ */
4645
+ 403: _Error;
4646
+ /**
4647
+ * Conflict - Application with this name already exists
4648
+ */
4649
+ 409: _Error;
4650
+ /**
4651
+ * Internal server error
4652
+ */
4653
+ 500: _Error;
4654
+ };
4655
+ export type CreateApplicationError = CreateApplicationErrors[keyof CreateApplicationErrors];
4656
+ export type CreateApplicationResponses = {
4657
+ /**
4658
+ * successful operation
4659
+ */
4660
+ 200: Application;
4661
+ };
4662
+ export type CreateApplicationResponse = CreateApplicationResponses[keyof CreateApplicationResponses];
4663
+ export type DeleteApplicationData = {
4664
+ body?: never;
4665
+ path: {
4666
+ /**
4667
+ * Unique name identifier of the application
4668
+ */
4669
+ applicationName: string;
4670
+ };
4671
+ query?: never;
4672
+ url: '/applications/{applicationName}';
4673
+ };
4674
+ export type DeleteApplicationErrors = {
4675
+ /**
4676
+ * Unauthorized - Invalid or missing authentication credentials
4677
+ */
4678
+ 401: _Error;
4679
+ /**
4680
+ * Forbidden - Insufficient permissions to delete this application
4681
+ */
4682
+ 403: _Error;
4683
+ /**
4684
+ * Not found - Application does not exist
4685
+ */
4686
+ 404: _Error;
4687
+ /**
4688
+ * Internal server error
4689
+ */
4690
+ 500: _Error;
4691
+ };
4692
+ export type DeleteApplicationError = DeleteApplicationErrors[keyof DeleteApplicationErrors];
4693
+ export type DeleteApplicationResponses = {
4694
+ /**
4695
+ * successful operation
4696
+ */
4697
+ 200: Application;
4698
+ };
4699
+ export type DeleteApplicationResponse = DeleteApplicationResponses[keyof DeleteApplicationResponses];
4700
+ export type GetApplicationData = {
4701
+ body?: never;
4702
+ path: {
4703
+ /**
4704
+ * Unique name identifier of the application
4705
+ */
4706
+ applicationName: string;
4707
+ };
4708
+ query?: never;
4709
+ url: '/applications/{applicationName}';
4710
+ };
4711
+ export type GetApplicationErrors = {
4712
+ /**
4713
+ * Unauthorized - Invalid or missing authentication credentials
4714
+ */
4715
+ 401: _Error;
4716
+ /**
4717
+ * Forbidden - Insufficient permissions to view this application
4718
+ */
4719
+ 403: _Error;
4720
+ /**
4721
+ * Not found - Application does not exist
4722
+ */
4723
+ 404: _Error;
4724
+ /**
4725
+ * Internal server error
4726
+ */
4727
+ 500: _Error;
4728
+ };
4729
+ export type GetApplicationError = GetApplicationErrors[keyof GetApplicationErrors];
4730
+ export type GetApplicationResponses = {
4731
+ /**
4732
+ * successful operation
4733
+ */
4734
+ 200: Application;
4735
+ };
4736
+ export type GetApplicationResponse = GetApplicationResponses[keyof GetApplicationResponses];
4737
+ export type UpdateApplicationData = {
4738
+ body: ApplicationWritable;
4739
+ path: {
4740
+ /**
4741
+ * Unique name identifier of the application
4742
+ */
4743
+ applicationName: string;
4744
+ };
4745
+ query?: never;
4746
+ url: '/applications/{applicationName}';
4747
+ };
4748
+ export type UpdateApplicationErrors = {
4749
+ /**
4750
+ * Bad request - Invalid application configuration
4751
+ */
4752
+ 400: _Error;
4753
+ /**
4754
+ * Unauthorized - Invalid or missing authentication credentials
4755
+ */
4756
+ 401: _Error;
4757
+ /**
4758
+ * Forbidden - Insufficient permissions to update this application
4759
+ */
4760
+ 403: _Error;
4761
+ /**
4762
+ * Not found - Application does not exist
4763
+ */
4764
+ 404: _Error;
4765
+ /**
4766
+ * Internal server error
4767
+ */
4768
+ 500: _Error;
4769
+ };
4770
+ export type UpdateApplicationError = UpdateApplicationErrors[keyof UpdateApplicationErrors];
4771
+ export type UpdateApplicationResponses = {
4772
+ /**
4773
+ * successful operation
4774
+ */
4775
+ 200: Application;
4776
+ };
4777
+ export type UpdateApplicationResponse = UpdateApplicationResponses[keyof UpdateApplicationResponses];
4778
+ export type CreateApplicationCustomDomainData = {
4779
+ body: CustomDomainWritable;
4780
+ path: {
4781
+ /**
4782
+ * Name of the application
4783
+ */
4784
+ applicationName: string;
4785
+ };
4786
+ query?: never;
4787
+ url: '/applications/{applicationName}/customdomains';
4788
+ };
4789
+ export type CreateApplicationCustomDomainResponses = {
4790
+ /**
4791
+ * successful operation
4792
+ */
4793
+ 200: CustomDomain;
4794
+ };
4795
+ export type CreateApplicationCustomDomainResponse = CreateApplicationCustomDomainResponses[keyof CreateApplicationCustomDomainResponses];
4796
+ export type ListApplicationRevisionsData = {
4797
+ body?: never;
4798
+ path: {
4799
+ /**
4800
+ * Name of the application
4801
+ */
4802
+ applicationName: string;
4803
+ };
4804
+ query?: never;
4805
+ url: '/applications/{applicationName}/revisions';
4806
+ };
4807
+ export type ListApplicationRevisionsResponses = {
4808
+ /**
4809
+ * successful operation
4810
+ */
4811
+ 200: Array<RevisionMetadata>;
4812
+ };
4813
+ export type ListApplicationRevisionsResponse = ListApplicationRevisionsResponses[keyof ListApplicationRevisionsResponses];
4427
4814
  export type GetConfigurationData = {
4428
4815
  body?: never;
4429
4816
  path?: never;
@@ -6661,7 +7048,7 @@ export type CreateSandboxPreviewData = {
6661
7048
  };
6662
7049
  query?: {
6663
7050
  /**
6664
- * Force creation by deleting conflicting previews that use the same custom domain prefix URL
7051
+ * Force creation by replacing conflicting previews that use the same custom domain prefix URL
6665
7052
  */
6666
7053
  force?: boolean;
6667
7054
  };