@letta-ai/letta-agent-sdk 0.7.6 → 0.7.8

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.
@@ -1,6 +1,7 @@
1
1
  import type Letta from "@letta-ai/letta-client";
2
2
  import { RemoteClientSessionCore, type RuntimeScope, type RuntimeSessionInit, type RuntimeSessionMode } from "./remote-client-session-core.js";
3
3
  import type { CreateAgentOptions, LettaCodeClientSessionOptions, LettaCodeCloudClientOptions } from "./types.js";
4
+ import { type SandboxFilesClient } from "./sandbox-files.js";
4
5
  /**
5
6
  * The Cloud API reaped a conversation-scoped managed sandbox before the SDK
6
7
  * could refresh it. The failed refresh happens before the next turn is sent,
@@ -22,6 +23,7 @@ export declare function assertCloudSessionOptionsSupported(action: string, optio
22
23
  export declare class CloudEnvironmentSession extends RemoteClientSessionCore {
23
24
  private readonly cloudOptions;
24
25
  private readonly apiClient;
26
+ readonly sandbox: SandboxFilesClient | undefined;
25
27
  private connectionId;
26
28
  private removeExternalToolHandler;
27
29
  private removeControlRequestHandler;
@@ -39,6 +41,8 @@ export declare class CloudEnvironmentSession extends RemoteClientSessionCore {
39
41
  constructor(cloudOptions: LettaCodeCloudClientOptions, mode: CloudSessionMode, apiClient?: Letta);
40
42
  protected initializeRuntimeController(): Promise<RuntimeSessionInit>;
41
43
  private openCloudTransport;
44
+ private createCloudTransportClient;
45
+ private connectCloudTransport;
42
46
  private installTransportHandlers;
43
47
  private cleanupTransportHandlers;
44
48
  protected recoverIdleTransport(runtime: RuntimeScope): Promise<RuntimeSessionInit>;
@@ -48,6 +52,9 @@ export declare class CloudEnvironmentSession extends RemoteClientSessionCore {
48
52
  private startCloudRuntime;
49
53
  protected afterRuntimeInitialized(): Promise<void>;
50
54
  protected beforeTurn(): Promise<void>;
55
+ private uploadFilesToManagedSandbox;
56
+ private downloadFileFromManagedSandbox;
57
+ private requireManagedSandboxForFileTransfer;
51
58
  protected onCoreClose(): void;
52
59
  protected onCoreDisposed(): Promise<void>;
53
60
  private closeMcpBridge;
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-session.d.ts","sourceRoot":"","sources":["../src/cloud-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-session.d.ts","sourceRoot":"","sources":["../src/cloud-session.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -27,6 +27,7 @@
27
27
  */
28
28
  import type { CreateSessionOptions, CreateAgentOptions, LettaCodeSession, SDKResultMessage, SendMessage } from "./types.js";
29
29
  export type { CreateSessionOptions, CreateAgentOptions, LettaCodePersonalityId, LettaCodeBackend, LettaCodeEnvironment, LettaCodeLocalClientOptions, LettaCodeLocalAppServerOptions, LettaCodeRemoteClientOptions, LettaCodeCloudClientOptions, LettaCodeCloudSandboxOptions, GitHubRepositoryRef, LettaCodeClientOptions, LettaCodeClientSessionOptions, LettaCodeSession, LettaCodeSocketLike, LettaCodeSocketConstructor, LettaCodeReactNativeSocketConstructor, SDKMessage, SDKInitMessage, SDKAssistantMessage, SDKToolCallMessage, SDKToolResultMessage, SDKReasoningMessage, SDKResultMessage, SDKErrorCode, SDKStreamEventMessage, SDKStreamEventPayload, SDKStreamEventDeltaPayload, SDKStreamEventMessagePayload, SDKUnknownStreamEventPayload, SDKErrorMessage, SDKRetryMessage, SDKQueueItem, SDKQueueUpdateMessage, SDKLoopStatusMessage, SDKProtocolMessage, SDKProtocolCommand, SendCommandOptions, RecoverPendingApprovalsOptions, RecoverPendingApprovalsResult, ChangeDeviceStateOptions, RemoveQueuedMessageResult, GetDeviceStatusOptions, SessionDeviceStatus, SessionPendingControlRequest, SessionReadyInfo, SessionPermissionSuggestion, SessionDiffHunkLine, SessionDiffHunk, SessionDiffPreview, SkillSource, DreamingOptions, SessionDreamingOptions, DreamingTrigger, DreamingBehavior, EffectiveDreamingSettings, PermissionMode, ReasoningEffort, CanUseToolCallback, CanUseToolContext, CanUseToolPermissionSuggestion, CanUseToolResponse, CanUseToolResponseAllow, CanUseToolResponseDeny, TextContent, ImageContent, MessageContentItem, SendMessage, SendOptions, ListMessagesOptions, ListMessagesResult, ListModelsResult, LettaCodeModelEntry, UpdateModelOptions, UpdateModelResult, Repository, CreateRepositoryParams, ListRepositoriesParams, ListRepositoriesResult, RepositoryResource, RepositoryFileEntry, ListRepositoryFilesParams, ListRepositoryFilesResult, CreateRepositoryFileParams, RepositoryFile, UpdateRepositoryFileParams, RepositoryFileMutationResult, DeleteRepositoryFileParams, DeleteRepositoryFileResult, RepositoryVersion, ListRepositoryVersionsParams, GetRepositoryVersionParams, BootstrapStateOptions, BootstrapStateResult, AgentTool, AgentToolResult, AgentToolResultContent, AgentToolUpdateCallback, AnyAgentTool, McpServerConfig, McpStdioServerConfig, McpHttpServerConfig, McpSseServerConfig, McpServers, } from "./types.js";
30
+ export type * from "./sandbox-files.js";
30
31
  export type { AgentRepositoriesClient, AgentRepository, AgentRepositoryRecompileTarget, AttachAgentRepositoryOptions, AgentsClient, ConversationsClient, LettaAgent, LettaConversation, LettaConversationMessage, ModelsClient, ListAgentsOptions, UpdateAgentOptions, ListConversationsOptions, CreateConversationOptions, ForkConversationOptions, UpdateConversationOptions, ConversationMessagesOptions, ConversationMessagesResult, DetachAgentRepositoryOptions, AgentRepositoryPermissions, } from "./management-types.js";
31
32
  export { RepositoriesClient } from "./repositories.js";
32
33
  export { ConversationForkHydrationError } from "./management-errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,qCAAqC,EACrC,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EAEtB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EAEX,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAE1B,qBAAqB,EACrB,oBAAoB,EAEpB,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,8BAA8B,EAC9B,4BAA4B,EAC5B,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,gBAAgB,CAGlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,oBAAyB,GACjC,gBAAgB,CAGlB;AAuBD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAMD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAOD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAa5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAe,GAC7D,YAAY,CAKd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10984,6 +10984,51 @@ function validateCloudSandboxOptions(options, name) {
10984
10984
  }
10985
10985
  }
10986
10986
 
10987
+ // src/sandbox-files.ts
10988
+ function isUploadedFile(value) {
10989
+ if (!value || typeof value !== "object" || Array.isArray(value))
10990
+ return false;
10991
+ const file = value;
10992
+ return typeof file.path === "string" && typeof file.name === "string" && typeof file.mimeType === "string" && typeof file.size === "number" && Number.isSafeInteger(file.size) && file.size >= 0;
10993
+ }
10994
+ function parseUploadResult(value) {
10995
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
10996
+ throw new Error("Cloud sandbox file upload returned an invalid response.");
10997
+ }
10998
+ const files = value.files;
10999
+ if (!Array.isArray(files) || !files.every(isUploadedFile)) {
11000
+ throw new Error("Cloud sandbox file upload returned invalid file metadata.");
11001
+ }
11002
+ return { files };
11003
+ }
11004
+ function uploadForm(files) {
11005
+ if (files.length === 0) {
11006
+ throw new Error("Cloud sandbox file upload requires at least one file.");
11007
+ }
11008
+ const form = new FormData;
11009
+ for (const [index, file] of files.entries()) {
11010
+ if (!file || typeof file.name !== "string" || file.name.trim() === "") {
11011
+ throw new Error(`Invalid Cloud sandbox upload file at index ${index}.`);
11012
+ }
11013
+ form.append("file", file.data, file.name);
11014
+ }
11015
+ return form;
11016
+ }
11017
+ async function uploadSandboxFiles(apiClient, sandboxId, files) {
11018
+ const response = await apiClient.post(`/v1/sandboxes/${encodeURIComponent(sandboxId)}/files`, { body: uploadForm(files) });
11019
+ return parseUploadResult(response);
11020
+ }
11021
+ async function downloadSandboxFile(apiClient, sandboxId, path2) {
11022
+ if (typeof path2 !== "string" || path2.trim() === "") {
11023
+ throw new Error("Cloud sandbox file download requires a non-empty path.");
11024
+ }
11025
+ const response = await apiClient.get(`/v1/sandboxes/${encodeURIComponent(sandboxId)}/files`, {
11026
+ query: { path: path2 },
11027
+ __binaryResponse: true
11028
+ });
11029
+ return new Uint8Array(await response.arrayBuffer());
11030
+ }
11031
+
10987
11032
  // src/cloud-session.ts
10988
11033
  var DEFAULT_TURN_TIMEOUT_MS = 120000;
10989
11034
  var DEFAULT_PING_INTERVAL_MS = 30000;
@@ -10992,6 +11037,7 @@ var DEFAULT_SANDBOX_READY_TIMEOUT_MS = 120000;
10992
11037
  var DEFAULT_SANDBOX_READY_POLL_INTERVAL_MS = 1000;
10993
11038
  var DEFAULT_REPOSITORY_ATTACH_TIMEOUT_MS = 1e4;
10994
11039
  var DEFAULT_REPOSITORY_ATTACH_POLL_INTERVAL_MS = 250;
11040
+ var INITIAL_CLOUD_TRANSPORT_ATTEMPTS = 2;
10995
11041
  var SDK_AGENT_ORIGIN = "@letta-ai/letta-agent-sdk";
10996
11042
 
10997
11043
  class CloudManagedSandboxOwnershipError extends Error {
@@ -11123,6 +11169,7 @@ function assertCloudSessionOptionsSupported(action, options) {
11123
11169
  class CloudEnvironmentSession extends RemoteClientSessionCore {
11124
11170
  cloudOptions;
11125
11171
  apiClient;
11172
+ sandbox;
11126
11173
  connectionId = null;
11127
11174
  removeExternalToolHandler = null;
11128
11175
  removeControlRequestHandler = null;
@@ -11146,6 +11193,10 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
11146
11193
  this.apiClient = apiClient;
11147
11194
  this.cloudMode = mode;
11148
11195
  this.repositoryManagement = new CloudManagementTransport(apiClient);
11196
+ this.sandbox = this.effectiveEnvironment() === undefined ? {
11197
+ uploadFiles: (files) => this.uploadFilesToManagedSandbox(files),
11198
+ downloadFile: (path2) => this.downloadFileFromManagedSandbox(path2)
11199
+ } : undefined;
11149
11200
  const tools = mode.options.tools;
11150
11201
  this.externalTools = externalToolsByName(tools);
11151
11202
  }
@@ -11177,30 +11228,9 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
11177
11228
  }
11178
11229
  }
11179
11230
  async openCloudTransport(runtime, connectionId) {
11180
- const apiKey = getCloudApiKey(this.cloudOptions);
11181
- const url = buildCloudStatusWebSocketUrl({
11182
- apiBaseUrl: this.cloudOptions.apiBaseUrl,
11183
- connectionId,
11184
- agentId: runtime.agent_id,
11185
- conversationId: runtime.conversation_id,
11186
- apiKey,
11187
- authMode: this.cloudOptions.webSocketAuth ?? "header"
11188
- });
11189
- const client = applyUniqueRequestIds(createAppServerClient({
11190
- url,
11191
- WebSocket: createCloudStatusTransportConstructor({
11192
- url,
11193
- WebSocket: getWebSocketConstructor(this.cloudOptions.WebSocket),
11194
- ...(this.cloudOptions.webSocketAuth ?? "header") === "header" ? { headers: cloudWebSocketHeaders(this.cloudOptions) } : {},
11195
- pingIntervalMs: this.cloudOptions.pingIntervalMs ?? DEFAULT_PING_INTERVAL_MS,
11196
- runtime
11197
- }),
11198
- requestTimeoutMs: this.cloudOptions.requestTimeoutMs ?? DEFAULT_TURN_TIMEOUT_MS
11199
- }));
11231
+ const client = await this.connectCloudTransport(runtime, connectionId);
11200
11232
  const options = this.currentOptions();
11201
- this.installTransportHandlers(client);
11202
11233
  try {
11203
- await client.connect();
11204
11234
  const response = await this.startCloudRuntime(client, runtime);
11205
11235
  if (!response.success || !response.runtime) {
11206
11236
  throw new Error(response.error ?? "Failed to start Cloud status runtime");
@@ -11228,6 +11258,62 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
11228
11258
  throw error;
11229
11259
  }
11230
11260
  }
11261
+ createCloudTransportClient(runtime, connectionId) {
11262
+ const apiKey = getCloudApiKey(this.cloudOptions);
11263
+ const url = buildCloudStatusWebSocketUrl({
11264
+ apiBaseUrl: this.cloudOptions.apiBaseUrl,
11265
+ connectionId,
11266
+ agentId: runtime.agent_id,
11267
+ conversationId: runtime.conversation_id,
11268
+ apiKey,
11269
+ authMode: this.cloudOptions.webSocketAuth ?? "header"
11270
+ });
11271
+ return applyUniqueRequestIds(createAppServerClient({
11272
+ url,
11273
+ WebSocket: createCloudStatusTransportConstructor({
11274
+ url,
11275
+ WebSocket: getWebSocketConstructor(this.cloudOptions.WebSocket),
11276
+ ...(this.cloudOptions.webSocketAuth ?? "header") === "header" ? { headers: cloudWebSocketHeaders(this.cloudOptions) } : {},
11277
+ pingIntervalMs: this.cloudOptions.pingIntervalMs ?? DEFAULT_PING_INTERVAL_MS,
11278
+ runtime
11279
+ }),
11280
+ requestTimeoutMs: this.cloudOptions.requestTimeoutMs ?? DEFAULT_TURN_TIMEOUT_MS
11281
+ }));
11282
+ }
11283
+ async connectCloudTransport(runtime, initialConnectionId) {
11284
+ let connectionId = initialConnectionId;
11285
+ let lastError;
11286
+ for (let attempt = 0;attempt < INITIAL_CLOUD_TRANSPORT_ATTEMPTS; attempt++) {
11287
+ const client = this.createCloudTransportClient(runtime, connectionId);
11288
+ this.installTransportHandlers(client);
11289
+ try {
11290
+ await client.connect();
11291
+ this.connectionId = connectionId;
11292
+ return client;
11293
+ } catch (error) {
11294
+ lastError = error;
11295
+ console.warn(JSON.stringify({
11296
+ event: "cloud_status_transport_connection_failed",
11297
+ attempt: attempt + 1,
11298
+ max_attempts: INITIAL_CLOUD_TRANSPORT_ATTEMPTS,
11299
+ will_retry: attempt + 1 < INITIAL_CLOUD_TRANSPORT_ATTEMPTS,
11300
+ connection_id: connectionId,
11301
+ agent_id: runtime.agent_id,
11302
+ conversation_id: runtime.conversation_id,
11303
+ error_name: error instanceof Error ? error.name : null,
11304
+ error_message: error instanceof Error ? error.message : String(error)
11305
+ }));
11306
+ this.cleanupTransportHandlers();
11307
+ client.close();
11308
+ }
11309
+ if (attempt + 1 < INITIAL_CLOUD_TRANSPORT_ATTEMPTS) {
11310
+ const resolved = await this.resolveRecoveryConnection(runtime);
11311
+ connectionId = resolved.connectionId;
11312
+ }
11313
+ }
11314
+ const detail = lastError instanceof Error ? lastError.message : String(lastError);
11315
+ throw new Error(`Cloud status WebSocket failed to open for connection ${connectionId}: ${detail}`, { cause: lastError });
11316
+ }
11231
11317
  installTransportHandlers(client) {
11232
11318
  this.cleanupTransportHandlers();
11233
11319
  this.removeControlRequestHandler = registerAppServerControlRequestHandler({
@@ -11311,6 +11397,26 @@ class CloudEnvironmentSession extends RemoteClientSessionCore {
11311
11397
  return;
11312
11398
  await this.refreshManagedSandbox(sandbox);
11313
11399
  }
11400
+ async uploadFilesToManagedSandbox(files) {
11401
+ const sandbox = await this.requireManagedSandboxForFileTransfer();
11402
+ return uploadSandboxFiles(this.apiClient, sandbox.sandboxId, files);
11403
+ }
11404
+ async downloadFileFromManagedSandbox(path2) {
11405
+ const sandbox = await this.requireManagedSandboxForFileTransfer();
11406
+ return downloadSandboxFile(this.apiClient, sandbox.sandboxId, path2);
11407
+ }
11408
+ async requireManagedSandboxForFileTransfer() {
11409
+ if (this.effectiveEnvironment() !== undefined) {
11410
+ throw new Error("Sandbox file transfer requires an SDK-managed Cloud sandbox.");
11411
+ }
11412
+ await this.ready();
11413
+ const sandbox = this.managedSandbox;
11414
+ if (!sandbox) {
11415
+ throw new Error("SDK-managed Cloud sandbox is unavailable.");
11416
+ }
11417
+ await this.refreshManagedSandbox(sandbox);
11418
+ return sandbox;
11419
+ }
11314
11420
  onCoreClose() {
11315
11421
  this.cleanupTransportHandlers();
11316
11422
  this.mcpCleanup = this.closeMcpBridge();
@@ -30448,4 +30554,4 @@ export {
30448
30554
  CloudManagedSandboxExpiredError
30449
30555
  };
30450
30556
 
30451
- //# debugId=5C0B89B8615651E364756E2164756E21
30557
+ //# debugId=1DB15671E78E416164756E2164756E21