import { RepositoriesClient } from "./repositories.js"; import { type ComputerSelector, type ComputersClient } from "./computers.js"; import { type ManagementTransport } from "./management.js"; import type { AgentsClient, ConversationsClient, ModelsClient } from "./management-types.js"; import type { CreateAgentOptions, LettaCodeBackend, LettaCodeClientOptions, LettaCodeClientSessionOptions, LettaCodeEnvironment, LettaCodeSession, SDKResultMessage, SendMessage } from "./types.js"; /** * Top-level Letta Agent SDK client. * * `backend` selects how the SDK reaches or runs the Letta Code harness. * `local` spawns an SDK-owned Letta Code app-server and speaks the websocket * protocol. * `remote` connects to a user-managed Letta Code app-server websocket endpoint. * `cloud` uses agents hosted on Letta Cloud, with an explicit remote * environment or SDK-managed sandbox. */ export declare class LettaAgentClientBase { readonly backend: LettaCodeBackend; readonly computer: ComputerSelector | undefined; /** @deprecated Use `computer`. */ readonly environment: LettaCodeEnvironment | undefined; readonly agents: AgentsClient; readonly conversations: ConversationsClient; readonly models: ModelsClient; protected readonly options: LettaCodeClientOptions; private repositoriesClient; private computersClient; private agentRepositoriesClient; private cloudClient; private managementTransport; constructor(options?: LettaCodeClientOptions); /** * Create a new Letta Code agent with a default conversation. * * Environment/device selection is intentionally not part of the agent payload; * it belongs to the client/session execution context. */ get repositories(): RepositoriesClient; /** Discover and resolve computers registered with this Letta Cloud account. */ get computers(): ComputersClient; createAgent(options?: CreateAgentOptions): Promise; /** * Create a new conversation/session. * * The app-server protocol requires an explicit agent id. */ createSession(agentId: string, options?: LettaCodeClientSessionOptions): LettaCodeSession; /** * Resume an existing agent default conversation or a specific conversation. * * `options.environment` overrides the client's default execution target for * Letta Cloud sessions. Remote app-server URLs already select the runtime. */ resumeSession(id: string, options?: LettaCodeClientSessionOptions): LettaCodeSession; /** * One-shot convenience for scripts, smoke tests, and evals. * Applications should use a session when they need interactive turn state. */ prompt(message: SendMessage, agentId: string, options?: LettaCodeClientSessionOptions): Promise; private assertSessionBackend; protected createLocalAgent(_options: CreateAgentOptions): Promise; protected createLocalSession(_agentId: string, _options: LettaCodeClientSessionOptions): LettaCodeSession; protected resumeLocalSession(_id: string, _options: LettaCodeClientSessionOptions): LettaCodeSession; protected localBackendUnavailableError(): Error; protected createLocalManagementTransport(): ManagementTransport; private remoteOptions; private appServerSessionOptions; private getComputersClient; private getRepositoriesClient; private getAgentRepositoriesClient; private getCloudManagementTransport; private getCloudClient; private getManagementTransport; private cloudOptions; } //# sourceMappingURL=client-base.d.ts.map