import type { Letta } from "@letta-ai/letta-client"; /** * Selects the computer where a Cloud session runs tools and accesses files. * * Strings are treated as human-readable computer names. Prefer `deviceId` when * persisting a selection because connection IDs can rotate after reconnects. */ export type ComputerSelector = string | { name: string; } | { id: string; } | { connectionId: string; } | { deviceId: string; }; export interface ComputerMetadata { os?: string; lettaCodeVersion?: string; nodeVersion?: string; workingDirectory?: string; gitBranch?: string; [key: string]: unknown; } /** A registered computer that can host Letta agent tool execution. */ export interface Computer { /** Environment record ID. */ id: string; /** Stable identifier for the physical device across reconnects. */ deviceId: string; /** Current online connection lease. This may rotate after reconnects. */ connectionId: string | null; /** Human-readable computer name. */ name: string; status: "online" | "offline"; connectedAt: number | null; lastSeenAt: number; metadata?: ComputerMetadata; } export interface ListComputersOptions { limit?: number; after?: string; onlineOnly?: boolean; } export interface ListComputersResult { computers: Computer[]; hasNextPage: boolean; } export interface ResolvedComputer { connectionId: string; /** Omitted when resolving an explicit connection ID. */ computer?: Computer; } export interface ComputersClient { list(options?: ListComputersOptions): Promise; get(deviceId: string): Promise; resolve(selector: ComputerSelector): Promise; } /** Public Cloud computer discovery and selection client. */ export declare class ComputersClientImpl implements ComputersClient { private readonly environments; constructor(client: Letta); list(options?: ListComputersOptions): Promise; get(deviceId: string): Promise; resolve(selector: ComputerSelector): Promise; } //# sourceMappingURL=computers.d.ts.map