@blaxel/core 0.2.81-preview.142 → 0.2.81

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.
@@ -2,8 +2,8 @@
2
2
  // This file is auto-generated by @hey-api/openapi-ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.createJob = exports.listJobs = exports.getIntegrationConnectionModel = exports.listIntegrationConnectionModels = exports.getIntegrationConnectionModelEndpointConfigurations = exports.updateIntegrationConnection = exports.getIntegrationConnection = exports.deleteIntegrationConnection = exports.createIntegrationConnection = exports.listIntegrationConnections = exports.getIntegration = exports.deleteImageTag = exports.unshareImage = exports.shareImage = exports.listImageShares = exports.getImage = exports.deleteImage = exports.createImage = exports.listImages = exports.cleanupImages = exports.listFunctionRevisions = exports.updateFunction = exports.getFunction = exports.deleteFunction = exports.createFunction = exports.listFunctions = exports.testFeatureFlag = exports.getWorkspaceFeatures = exports.listAllEgressIps = exports.listAllEgressGateways = exports.getDriveJwks = exports.createDriveAccessToken = exports.updateDrive = exports.getDrive = exports.deleteDrive = exports.createDrive = exports.listDrives = exports.verifyCustomDomain = exports.updateCustomDomain = exports.getCustomDomain = exports.deleteCustomDomain = exports.createCustomDomain = exports.listCustomDomains = exports.getConfiguration = exports.listAgentRevisions = exports.updateAgent = exports.getAgent = exports.deleteAgent = exports.createAgent = exports.listAgents = void 0;
5
- exports.listVolumeTemplates = exports.updateWorkspaceUserRole = exports.removeWorkspaceUser = exports.inviteWorkspaceUser = exports.listWorkspaceUsers = exports.getTemplate = exports.listTemplates = exports.deleteApiKeyForServiceAccount = exports.createApiKeyForServiceAccount = exports.listApiKeysForServiceAccount = exports.updateWorkspaceServiceAccount = exports.deleteWorkspaceServiceAccount = exports.createWorkspaceServiceAccount = exports.getWorkspaceServiceAccounts = exports.deleteSandboxPreviewToken = exports.createSandboxPreviewToken = exports.listSandboxPreviewTokens = exports.updateSandboxPreview = exports.getSandboxPreview = exports.deleteSandboxPreview = exports.createSandboxPreview = exports.listSandboxPreviews = exports.updateSandbox = exports.getSandbox = exports.deleteSandbox = exports.createSandbox = exports.listSandboxes = exports.listSandboxHubDefinitions = exports.listPublicIps = exports.updatePolicy = exports.getPolicy = exports.deletePolicy = exports.createPolicy = exports.listPolicies = exports.listModelRevisions = exports.updateModel = exports.getModel = exports.deleteModel = exports.createModel = exports.listModels = exports.listMcpHubDefinitions = exports.listLocations = exports.listJobRevisions = exports.getJobExecution = exports.deleteJobExecution = exports.createJobExecution = exports.listJobExecutions = exports.updateJob = exports.getJob = exports.deleteJob = void 0;
6
- exports.checkWorkspaceAvailability = exports.leaveWorkspace = exports.acceptWorkspaceInvitation = exports.declineWorkspaceInvitation = exports.updateWorkspace = exports.getWorkspace = exports.deleteWorkspace = exports.createWorkspace = exports.listWorkspaces = exports.getEgressIp = exports.deleteEgressIp = exports.createEgressIp = exports.listEgressIps = exports.getEgressGateway = exports.deleteEgressGateway = exports.createEgressGateway = exports.listEgressGateways = exports.getVpc = exports.deleteVpc = exports.createVpc = exports.listVpcs = exports.updateVolume = exports.getVolume = exports.deleteVolume = exports.createVolume = exports.listVolumes = exports.deleteVolumeTemplateVersion = exports.updateVolumeTemplate = exports.getVolumeTemplate = exports.deleteVolumeTemplate = exports.createVolumeTemplate = void 0;
5
+ exports.inviteWorkspaceUser = exports.listWorkspaceUsers = exports.getTemplate = exports.listTemplates = exports.deleteApiKeyForServiceAccount = exports.createApiKeyForServiceAccount = exports.listApiKeysForServiceAccount = exports.updateWorkspaceServiceAccount = exports.deleteWorkspaceServiceAccount = exports.createWorkspaceServiceAccount = exports.getWorkspaceServiceAccounts = exports.deleteSandboxPreviewToken = exports.createSandboxPreviewToken = exports.listSandboxPreviewTokens = exports.updateSandboxPreview = exports.getSandboxPreview = exports.deleteSandboxPreview = exports.createSandboxPreview = exports.listSandboxPreviews = exports.updateSandbox = exports.getSandbox = exports.deleteSandbox = exports.createSandbox = exports.listSandboxes = exports.listSandboxHubDefinitions = exports.listPublicIps = exports.updatePolicy = exports.getPolicy = exports.deletePolicy = exports.createPolicy = exports.listPolicies = exports.declineImageShare = exports.acceptImageShare = exports.listPendingImageShares = exports.listModelRevisions = exports.updateModel = exports.getModel = exports.deleteModel = exports.createModel = exports.listModels = exports.listMcpHubDefinitions = exports.listLocations = exports.listJobRevisions = exports.getJobExecution = exports.deleteJobExecution = exports.createJobExecution = exports.listJobExecutions = exports.updateJob = exports.getJob = exports.deleteJob = void 0;
6
+ exports.checkWorkspaceAvailability = exports.leaveWorkspace = exports.acceptWorkspaceInvitation = exports.declineWorkspaceInvitation = exports.updateWorkspace = exports.getWorkspace = exports.deleteWorkspace = exports.createWorkspace = exports.listWorkspaces = exports.getEgressIp = exports.deleteEgressIp = exports.createEgressIp = exports.listEgressIps = exports.getEgressGateway = exports.deleteEgressGateway = exports.createEgressGateway = exports.listEgressGateways = exports.getVpc = exports.deleteVpc = exports.createVpc = exports.listVpcs = exports.updateVolume = exports.getVolume = exports.deleteVolume = exports.createVolume = exports.listVolumes = exports.deleteVolumeTemplateVersion = exports.updateVolumeTemplate = exports.getVolumeTemplate = exports.deleteVolumeTemplate = exports.createVolumeTemplate = exports.listVolumeTemplates = exports.updateWorkspaceUserRole = exports.removeWorkspaceUser = void 0;
7
7
  const client_gen_1 = require("./client.gen");
8
8
  /**
9
9
  * List all agents
@@ -642,7 +642,7 @@ const listImageShares = (options) => {
642
642
  exports.listImageShares = listImageShares;
643
643
  /**
644
644
  * Share a container image
645
- * Shares a container image with another workspace by copying the metadata record. The underlying storage (S3) data is not duplicated. The target workspace must belong to the same account.
645
+ * Shares a container image with another workspace by copying the metadata record. The underlying storage (S3) data is not duplicated. For same-account targets the share is applied immediately. For cross-account targets, a pending image share is created and must be explicitly accepted by an admin of the target workspace; the correct target account ID must be supplied as an anti-spam measure.
646
646
  */
647
647
  const shareImage = (options) => {
648
648
  return (options.client ?? client_gen_1.client).post({
@@ -1182,6 +1182,57 @@ const listModelRevisions = (options) => {
1182
1182
  });
1183
1183
  };
1184
1184
  exports.listModelRevisions = listModelRevisions;
1185
+ /**
1186
+ * List pending image shares
1187
+ * Lists pending cross-account image shares targeting the caller's workspace (incoming) or originating from it (outgoing). Expired shares are cleaned up opportunistically.
1188
+ */
1189
+ const listPendingImageShares = (options) => {
1190
+ return (options?.client ?? client_gen_1.client).get({
1191
+ security: [
1192
+ {
1193
+ scheme: 'bearer',
1194
+ type: 'http'
1195
+ }
1196
+ ],
1197
+ url: '/pending-image-shares',
1198
+ ...options
1199
+ });
1200
+ };
1201
+ exports.listPendingImageShares = listPendingImageShares;
1202
+ /**
1203
+ * Accept a pending image share
1204
+ * Accepts a pending cross-account image share and copies the image metadata to the target workspace. Caller must be an admin of the target workspace.
1205
+ */
1206
+ const acceptImageShare = (options) => {
1207
+ return (options.client ?? client_gen_1.client).post({
1208
+ security: [
1209
+ {
1210
+ scheme: 'bearer',
1211
+ type: 'http'
1212
+ }
1213
+ ],
1214
+ url: '/pending-image-shares/{pendingShareId}/accept',
1215
+ ...options
1216
+ });
1217
+ };
1218
+ exports.acceptImageShare = acceptImageShare;
1219
+ /**
1220
+ * Decline a pending image share
1221
+ * Declines a pending cross-account image share. Caller must be an admin of the target workspace.
1222
+ */
1223
+ const declineImageShare = (options) => {
1224
+ return (options.client ?? client_gen_1.client).post({
1225
+ security: [
1226
+ {
1227
+ scheme: 'bearer',
1228
+ type: 'http'
1229
+ }
1230
+ ],
1231
+ url: '/pending-image-shares/{pendingShareId}/decline',
1232
+ ...options
1233
+ });
1234
+ };
1235
+ exports.declineImageShare = declineImageShare;
1185
1236
  /**
1186
1237
  * List governance policies
1187
1238
  * Returns all governance policies in the workspace. Policies control deployment locations, hardware flavors, and token limits for agents, functions, and models.
@@ -11,8 +11,8 @@ const index_js_1 = require("../authentication/index.js");
11
11
  const env_js_1 = require("../common/env.js");
12
12
  const node_js_1 = require("../common/node.js");
13
13
  // Build info - these placeholders are replaced at build time by build:replace-imports
14
- const BUILD_VERSION = "0.2.81-preview.142";
15
- const BUILD_COMMIT = "5e4e897bb63e75547d12e911fa6a2b5b0970b1f1";
14
+ const BUILD_VERSION = "0.2.81";
15
+ const BUILD_COMMIT = "e2dfc37c711becd7d0262c6cb7b566301dc35d71";
16
16
  const BUILD_SENTRY_DSN = "https://fd5e60e1c9820e1eef5ccebb84a07127@o4508714045276160.ingest.us.sentry.io/4510465864564736";
17
17
  // Cache for config.yaml tracking value
18
18
  let configTrackingValue = null;
@@ -140,7 +140,8 @@ class SandboxInstance {
140
140
  'lifecycle' in sandbox ||
141
141
  'network' in sandbox ||
142
142
  'snapshotEnabled' in sandbox ||
143
- 'labels' in sandbox) {
143
+ 'labels' in sandbox ||
144
+ 'extraArgs' in sandbox) {
144
145
  if (!sandbox)
145
146
  sandbox = {};
146
147
  if (!sandbox.name)
@@ -162,6 +163,7 @@ class SandboxInstance {
162
163
  const lifecycle = sandbox.lifecycle;
163
164
  const network = sandbox.network;
164
165
  const snapshotEnabled = sandbox.snapshotEnabled;
166
+ const extraArgs = sandbox.extraArgs;
165
167
  sandbox = {
166
168
  metadata: { name: sandbox.name, labels: sandbox.labels },
167
169
  spec: {
@@ -173,6 +175,7 @@ class SandboxInstance {
173
175
  envs: envs,
174
176
  generation: "mk3",
175
177
  snapshotEnabled,
178
+ extraArgs,
176
179
  },
177
180
  volumes: volumes,
178
181
  lifecycle: lifecycle,
@@ -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, ListAllEgressIpsData, GetWorkspaceFeaturesData, TestFeatureFlagData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, CleanupImagesData, ListImagesData, CreateImageData, DeleteImageData, GetImageData, ListImageSharesData, ShareImageData, UnshareImageData, DeleteImageTagData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobExecutionsData, CreateJobExecutionData, DeleteJobExecutionData, GetJobExecutionData, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, 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, GetConfigurationData, ListCustomDomainsData, CreateCustomDomainData, DeleteCustomDomainData, GetCustomDomainData, UpdateCustomDomainData, VerifyCustomDomainData, ListDrivesData, CreateDriveData, DeleteDriveData, GetDriveData, UpdateDriveData, CreateDriveAccessTokenData, GetDriveJwksData, ListAllEgressGatewaysData, 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, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPendingImageSharesData, AcceptImageShareData, DeclineImageShareData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, 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
@@ -216,12 +216,12 @@ export declare const getImage: <ThrowOnError extends boolean = false>(options: O
216
216
  * List image shares
217
217
  * Returns the list of workspaces that a container image is currently shared with.
218
218
  */
219
- export declare const listImageShares: <ThrowOnError extends boolean = false>(options: Options<ListImageSharesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<string[], unknown, ThrowOnError>;
219
+ export declare const listImageShares: <ThrowOnError extends boolean = false>(options: Options<ListImageSharesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").ImageShareTarget[], unknown, ThrowOnError>;
220
220
  /**
221
221
  * Share a container image
222
- * Shares a container image with another workspace by copying the metadata record. The underlying storage (S3) data is not duplicated. The target workspace must belong to the same account.
222
+ * Shares a container image with another workspace by copying the metadata record. The underlying storage (S3) data is not duplicated. For same-account targets the share is applied immediately. For cross-account targets, a pending image share is created and must be explicitly accepted by an admin of the target workspace; the correct target account ID must be supplied as an anti-spam measure.
223
223
  */
224
- export declare const shareImage: <ThrowOnError extends boolean = false>(options: Options<ShareImageData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Image, unknown, ThrowOnError>;
224
+ export declare const shareImage: <ThrowOnError extends boolean = false>(options: Options<ShareImageData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<ShareImageResponse, unknown, ThrowOnError>;
225
225
  /**
226
226
  * Unshare a container image
227
227
  * Revokes sharing of a container image with a target workspace. Removes the metadata copy from the target workspace. The source image is not affected.
@@ -367,6 +367,21 @@ export declare const updateModel: <ThrowOnError extends boolean = false>(options
367
367
  * Returns revisions for a model by name.
368
368
  */
369
369
  export declare const listModelRevisions: <ThrowOnError extends boolean = false>(options: Options<ListModelRevisionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").RevisionMetadata[], unknown, ThrowOnError>;
370
+ /**
371
+ * List pending image shares
372
+ * Lists pending cross-account image shares targeting the caller's workspace (incoming) or originating from it (outgoing). Expired shares are cleaned up opportunistically.
373
+ */
374
+ export declare const listPendingImageShares: <ThrowOnError extends boolean = false>(options?: Options<ListPendingImageSharesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").PendingImageShareRender[], unknown, ThrowOnError>;
375
+ /**
376
+ * Accept a pending image share
377
+ * Accepts a pending cross-account image share and copies the image metadata to the target workspace. Caller must be an admin of the target workspace.
378
+ */
379
+ export declare const acceptImageShare: <ThrowOnError extends boolean = false>(options: Options<AcceptImageShareData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Image, unknown, ThrowOnError>;
380
+ /**
381
+ * Decline a pending image share
382
+ * Declines a pending cross-account image share. Caller must be an admin of the target workspace.
383
+ */
384
+ export declare const declineImageShare: <ThrowOnError extends boolean = false>(options: Options<DeclineImageShareData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, unknown, ThrowOnError>;
370
385
  /**
371
386
  * List governance policies
372
387
  * Returns all governance policies in the workspace. Policies control deployment locations, hardware flavors, and token limits for agents, functions, and models.
@@ -709,4 +724,4 @@ export declare const leaveWorkspace: <ThrowOnError extends boolean = false>(opti
709
724
  * Check workspace availability
710
725
  * Check if a workspace is available.
711
726
  */
712
- export declare const checkWorkspaceAvailability: <ThrowOnError extends boolean = false>(options: Options<CheckWorkspaceAvailabilityData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<boolean, unknown, ThrowOnError>;
727
+ export declare const checkWorkspaceAvailability: <ThrowOnError extends boolean = false>(options: Options<CheckWorkspaceAvailabilityData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<boolean | import("./types.gen.js").WorkspaceAvailability, unknown, ThrowOnError>;
@@ -948,6 +948,32 @@ export type ImageMetadataWritable = {
948
948
  resourceType?: string;
949
949
  status?: Status;
950
950
  };
951
+ export type ImageShareTarget = {
952
+ /**
953
+ * ID of the account that owns the target workspace.
954
+ */
955
+ accountId: string;
956
+ /**
957
+ * Email of the account owner for the target workspace (when available).
958
+ */
959
+ accountOwnerEmail?: string;
960
+ /**
961
+ * ID of the pending share record when status is "pending".
962
+ */
963
+ pendingShareId?: string;
964
+ /**
965
+ * "active" when the share is applied in the target workspace, "pending" when it is awaiting accept on a cross-account share.
966
+ */
967
+ status: string;
968
+ /**
969
+ * The workspace the image is shared with.
970
+ */
971
+ workspace: string;
972
+ /**
973
+ * Display name of the target workspace.
974
+ */
975
+ workspaceDisplayName?: string;
976
+ };
951
977
  export type ImageSpec = {
952
978
  /**
953
979
  * The size of the image in bytes.
@@ -1924,6 +1950,149 @@ export type OwnerFields = {
1924
1950
  */
1925
1951
  readonly updatedBy?: string;
1926
1952
  };
1953
+ /**
1954
+ * Pending cross-account image share awaiting approval from the destination workspace
1955
+ */
1956
+ export type PendingImageShare = TimeFields & OwnerFields & {
1957
+ /**
1958
+ * The date and time when the pending share expires
1959
+ */
1960
+ expiresAt?: string;
1961
+ /**
1962
+ * Unique identifier for the pending image share
1963
+ */
1964
+ id?: string;
1965
+ /**
1966
+ * Image name (repository)
1967
+ */
1968
+ imageName?: string;
1969
+ /**
1970
+ * Resource type (agent, function, sandbox, job)
1971
+ */
1972
+ resourceType?: string;
1973
+ /**
1974
+ * User sub who initiated the share
1975
+ */
1976
+ sharedBy?: string;
1977
+ /**
1978
+ * Source account ID
1979
+ */
1980
+ sourceAccountId?: string;
1981
+ /**
1982
+ * Source workspace name
1983
+ */
1984
+ sourceWorkspace?: string;
1985
+ /**
1986
+ * Target account ID
1987
+ */
1988
+ targetAccountId?: string;
1989
+ /**
1990
+ * Target workspace name
1991
+ */
1992
+ targetWorkspace?: string;
1993
+ };
1994
+ /**
1995
+ * Pending cross-account image share awaiting approval from the destination workspace
1996
+ */
1997
+ export type PendingImageShareWritable = TimeFields & OwnerFields & {
1998
+ /**
1999
+ * The date and time when the pending share expires
2000
+ */
2001
+ expiresAt?: string;
2002
+ /**
2003
+ * Unique identifier for the pending image share
2004
+ */
2005
+ id?: string;
2006
+ /**
2007
+ * Image name (repository)
2008
+ */
2009
+ imageName?: string;
2010
+ /**
2011
+ * Resource type (agent, function, sandbox, job)
2012
+ */
2013
+ resourceType?: string;
2014
+ /**
2015
+ * User sub who initiated the share
2016
+ */
2017
+ sharedBy?: string;
2018
+ /**
2019
+ * Source account ID
2020
+ */
2021
+ sourceAccountId?: string;
2022
+ /**
2023
+ * Source workspace name
2024
+ */
2025
+ sourceWorkspace?: string;
2026
+ /**
2027
+ * Target account ID
2028
+ */
2029
+ targetAccountId?: string;
2030
+ /**
2031
+ * Target workspace name
2032
+ */
2033
+ targetWorkspace?: string;
2034
+ };
2035
+ /**
2036
+ * Rendered pending image share with source/target workspace metadata
2037
+ */
2038
+ export type PendingImageShareRender = {
2039
+ /**
2040
+ * Creation date
2041
+ */
2042
+ createdAt?: string;
2043
+ /**
2044
+ * Expiration date
2045
+ */
2046
+ expiresAt?: string;
2047
+ /**
2048
+ * Whether the target workspace already has an image with the same name (potential conflict)
2049
+ */
2050
+ hasConflict?: boolean;
2051
+ /**
2052
+ * Unique identifier for the pending image share
2053
+ */
2054
+ id?: string;
2055
+ /**
2056
+ * Image name (repository)
2057
+ */
2058
+ imageName?: string;
2059
+ /**
2060
+ * Resource type (agent, function, sandbox, job)
2061
+ */
2062
+ resourceType?: string;
2063
+ /**
2064
+ * User sub who initiated the share
2065
+ */
2066
+ sharedBy?: string;
2067
+ /**
2068
+ * Email of the user who initiated the share
2069
+ */
2070
+ sharedByEmail?: string;
2071
+ /**
2072
+ * Source account ID
2073
+ */
2074
+ sourceAccountId?: string;
2075
+ /**
2076
+ * Source workspace name
2077
+ */
2078
+ sourceWorkspace?: string;
2079
+ /**
2080
+ * Source workspace display name
2081
+ */
2082
+ sourceWorkspaceDisplayName?: string;
2083
+ /**
2084
+ * Target account ID
2085
+ */
2086
+ targetAccountId?: string;
2087
+ /**
2088
+ * Target workspace name
2089
+ */
2090
+ targetWorkspace?: string;
2091
+ /**
2092
+ * Target workspace display name
2093
+ */
2094
+ targetWorkspaceDisplayName?: string;
2095
+ };
1927
2096
  /**
1928
2097
  * Pending invitation in workspace
1929
2098
  */
@@ -2909,6 +3078,12 @@ export type SandboxRuntime = {
2909
3078
  * Absolute expiration timestamp in ISO 8601 format when the sandbox will be deleted
2910
3079
  */
2911
3080
  expires?: string;
3081
+ /**
3082
+ * Extra arguments for sandbox kernel selection. Supported keys: 'iptables', 'nvme'. Values: 'enabled' or 'disabled'. Determines which kernel variant the sandbox runs on. Immutable after creation.
3083
+ */
3084
+ extraArgs?: {
3085
+ [key: string]: string;
3086
+ };
2912
3087
  /**
2913
3088
  * Sandbox image to use. Can be a public Blaxel image (e.g., blaxel/base-image:latest) or a custom template image built with 'bl deploy'.
2914
3089
  */
@@ -2918,6 +3093,10 @@ export type SandboxRuntime = {
2918
3093
  */
2919
3094
  memory?: number;
2920
3095
  ports?: Ports;
3096
+ /**
3097
+ * Duration in seconds the pod needs to terminate gracefully. Defaults to 0 for immediate termination.
3098
+ */
3099
+ terminationGracePeriodSeconds?: number;
2921
3100
  /**
2922
3101
  * Time-to-live duration after which the sandbox is automatically deleted (e.g., '30m', '24h', '7d')
2923
3102
  */
@@ -3470,6 +3649,23 @@ export type WorkspaceWritable = TimeFields & OwnerFields & {
3470
3649
  */
3471
3650
  status?: 'created' | 'account_binded' | 'account_configured' | 'workspace_configured' | 'ready' | 'error';
3472
3651
  };
3652
+ /**
3653
+ * Result of a workspace-name availability check.
3654
+ */
3655
+ export type WorkspaceAvailability = {
3656
+ /**
3657
+ * Whether the requested workspace name is available.
3658
+ */
3659
+ available?: boolean;
3660
+ /**
3661
+ * Human-readable explanation suitable for display in the UI. Empty when available.
3662
+ */
3663
+ message?: string;
3664
+ /**
3665
+ * Machine-readable reason explaining why the name is unavailable. Empty when available.
3666
+ */
3667
+ reason?: 'taken' | 'forbidden_reserved' | 'forbidden_blaxel' | 'forbidden_v_prefix';
3668
+ };
3473
3669
  /**
3474
3670
  * Runtime configuration for the workspace infrastructure
3475
3671
  */
@@ -4475,11 +4671,15 @@ export type ListImageSharesResponses = {
4475
4671
  /**
4476
4672
  * successful operation
4477
4673
  */
4478
- 200: Array<string>;
4674
+ 200: Array<ImageShareTarget>;
4479
4675
  };
4480
4676
  export type ListImageSharesResponse = ListImageSharesResponses[keyof ListImageSharesResponses];
4481
4677
  export type ShareImageData = {
4482
4678
  body: {
4679
+ /**
4680
+ * Account ID of the target workspace. Required when the target workspace belongs to a different account than the source workspace (anti-spam).
4681
+ */
4682
+ targetAccountId?: string;
4483
4683
  /**
4484
4684
  * Name of the workspace to share the image with
4485
4685
  */
@@ -4507,12 +4707,20 @@ export type ShareImageErrors = {
4507
4707
  * image not found
4508
4708
  */
4509
4709
  404: unknown;
4710
+ /**
4711
+ * image conflict in target workspace
4712
+ */
4713
+ 409: unknown;
4510
4714
  };
4511
4715
  export type ShareImageResponses = {
4512
4716
  /**
4513
- * successful operation
4717
+ * successful operation (same-account share, applied immediately)
4514
4718
  */
4515
4719
  200: Image;
4720
+ /**
4721
+ * pending approval from target workspace admin
4722
+ */
4723
+ 202: PendingImageShare;
4516
4724
  };
4517
4725
  export type ShareImageResponse = ShareImageResponses[keyof ShareImageResponses];
4518
4726
  export type UnshareImageData = {
@@ -5302,6 +5510,93 @@ export type ListModelRevisionsResponses = {
5302
5510
  200: Array<RevisionMetadata>;
5303
5511
  };
5304
5512
  export type ListModelRevisionsResponse = ListModelRevisionsResponses[keyof ListModelRevisionsResponses];
5513
+ export type ListPendingImageSharesData = {
5514
+ body?: never;
5515
+ path?: never;
5516
+ query?: {
5517
+ /**
5518
+ * Direction of pending shares: "incoming" (default) or "outgoing"
5519
+ */
5520
+ direction?: 'incoming' | 'outgoing';
5521
+ };
5522
+ url: '/pending-image-shares';
5523
+ };
5524
+ export type ListPendingImageSharesResponses = {
5525
+ /**
5526
+ * successful operation
5527
+ */
5528
+ 200: Array<PendingImageShareRender>;
5529
+ };
5530
+ export type ListPendingImageSharesResponse = ListPendingImageSharesResponses[keyof ListPendingImageSharesResponses];
5531
+ export type AcceptImageShareData = {
5532
+ body?: never;
5533
+ path: {
5534
+ /**
5535
+ * ID of the pending image share
5536
+ */
5537
+ pendingShareId: string;
5538
+ };
5539
+ query?: {
5540
+ /**
5541
+ * When true, overwrite conflicting tags in the target workspace instead of returning 409.
5542
+ */
5543
+ force?: boolean;
5544
+ };
5545
+ url: '/pending-image-shares/{pendingShareId}/accept';
5546
+ };
5547
+ export type AcceptImageShareErrors = {
5548
+ /**
5549
+ * forbidden
5550
+ */
5551
+ 403: unknown;
5552
+ /**
5553
+ * pending image share not found
5554
+ */
5555
+ 404: unknown;
5556
+ /**
5557
+ * image conflict in target workspace
5558
+ */
5559
+ 409: unknown;
5560
+ /**
5561
+ * pending image share expired
5562
+ */
5563
+ 410: unknown;
5564
+ };
5565
+ export type AcceptImageShareResponses = {
5566
+ /**
5567
+ * successful operation
5568
+ */
5569
+ 200: Image;
5570
+ };
5571
+ export type AcceptImageShareResponse = AcceptImageShareResponses[keyof AcceptImageShareResponses];
5572
+ export type DeclineImageShareData = {
5573
+ body?: never;
5574
+ path: {
5575
+ /**
5576
+ * ID of the pending image share
5577
+ */
5578
+ pendingShareId: string;
5579
+ };
5580
+ query?: never;
5581
+ url: '/pending-image-shares/{pendingShareId}/decline';
5582
+ };
5583
+ export type DeclineImageShareErrors = {
5584
+ /**
5585
+ * forbidden
5586
+ */
5587
+ 403: unknown;
5588
+ /**
5589
+ * pending image share not found
5590
+ */
5591
+ 404: unknown;
5592
+ };
5593
+ export type DeclineImageShareResponses = {
5594
+ /**
5595
+ * successfully declined
5596
+ */
5597
+ 204: void;
5598
+ };
5599
+ export type DeclineImageShareResponse = DeclineImageShareResponses[keyof DeclineImageShareResponses];
5305
5600
  export type ListPoliciesData = {
5306
5601
  body?: never;
5307
5602
  path?: never;
@@ -6864,14 +7159,19 @@ export type CheckWorkspaceAvailabilityData = {
6864
7159
  name: string;
6865
7160
  };
6866
7161
  path?: never;
6867
- query?: never;
7162
+ query?: {
7163
+ /**
7164
+ * When true, return a structured WorkspaceAvailability object with a machine-readable reason and human-readable message instead of a bare boolean. Defaults to false for backwards compatibility.
7165
+ */
7166
+ withReason?: boolean;
7167
+ };
6868
7168
  url: '/workspaces/availability';
6869
7169
  };
6870
7170
  export type CheckWorkspaceAvailabilityResponses = {
6871
7171
  /**
6872
7172
  * successful operation
6873
7173
  */
6874
- 200: boolean;
7174
+ 200: boolean | WorkspaceAvailability;
6875
7175
  };
6876
7176
  export type CheckWorkspaceAvailabilityResponse = CheckWorkspaceAvailabilityResponses[keyof CheckWorkspaceAvailabilityResponses];
6877
7177
  export type ClientOptions = {
@@ -45,6 +45,7 @@ export type SandboxCreateConfiguration = {
45
45
  network?: SandboxNetwork;
46
46
  snapshotEnabled?: boolean;
47
47
  labels?: Record<string, string>;
48
+ extraArgs?: Record<string, string>;
48
49
  };
49
50
  export declare function normalizePorts(ports?: (Port | Record<string, any>)[]): Port[] | undefined;
50
51
  export declare function normalizeEnvs(envs?: EnvVar[]): EnvVar[] | undefined;