export type BetaManagedAgentsModel = string; export type BetaManagedAgentsAgentToolName = 'bash' | 'write' | 'glob' | 'web_fetch' | 'read' | 'edit' | 'grep' | 'web_search'; /** Built-in agent toolset supported by the current Qoder Cloud API. */ export interface BetaManagedAgentsAgentToolset20260401Params { type: 'agent_toolset_20260401'; /** Body param: Built-in tools enabled by the current Qoder Cloud API. */ enabled_tools?: Array; } /** URL-based MCP server connection. */ export interface BetaManagedAgentsURLMCPServerParams { /** Body param: Unique MCP server name. */ name: string; type: 'url'; /** Body param: Endpoint URL for the MCP server. */ url: string; } /** A user-created custom skill. */ export interface BetaManagedAgentsCustomSkillParams { /** Body param: Tagged ID of the custom skill. */ skill_id: string; type: 'custom'; } /** Skill to load in the session container. */ export type BetaManagedAgentsSkillParams = BetaManagedAgentsCustomSkillParams; /** Parameters for creating a Cloud Agent. */ export interface AgentCreateParams { /** Body param: Model identifier. */ model: BetaManagedAgentsModel; /** Body param: Human-readable name for the agent. */ name: string; /** Body param: Description of what the agent does. */ description?: string | null; /** Body param: MCP servers this agent connects to. */ mcp_servers?: Array; /** Body param: Arbitrary key-value metadata. */ metadata?: Record; /** Body param: Skills available to the agent. */ skills?: Array; /** Body param: System prompt for the agent. */ system?: string | null; /** Body param: Tool configurations available to the agent. */ tools?: Array; } export type CloudAgentReference = { id: string; create?: never; } | { create: AgentCreateParams; id?: never; }; /** Mount a file uploaded via the Files API into the session. */ export interface BetaManagedAgentsFileResourceParams { /** Body param: ID of a previously uploaded file. */ file_id: string; type: 'file'; /** Body param: Mount path used by the current Qoder Cloud API. */ path?: string; } export type CloudSessionResource = BetaManagedAgentsFileResourceParams; /** Parameters for creating a Cloud Agent session. */ export interface SessionCreateParams { /** Body param: Agent identifier. */ agent: string; /** Body param: ID of the environment defining the container configuration. */ environment_id: string; /** Body param: Resources to mount into the session container. */ resources?: Array; /** Body param: Human-readable session title. */ title?: string | null; /** Body param: Vault IDs for stored credentials. */ vault_ids?: Array; /** Body param: Memory store IDs used by the current Qoder OpenAPI. */ memory_store_ids?: Array; } export type CloudSessionCreateParams = Omit; export type CloudSessionExistingReference = { id: string; create?: never; }; export type CloudSessionCreateReference = { create: CloudSessionCreateParams; id?: never; }; export type CloudSessionReference = CloudSessionExistingReference | CloudSessionCreateReference; export type CloudAgentStreamOptions = { afterId?: string; deltaFlushIntervalMs?: number; }; export type CloudAgentOptions = { /** Use an existing Cloud session. The session already selects its agent. */ session: CloudSessionExistingReference; agent?: never; /** SSE replay / delta options for the Cloud session event stream. */ stream?: CloudAgentStreamOptions; } | { /** Use an existing Cloud Agent or create one before starting the session. */ agent: CloudAgentReference; /** * Create a new Cloud session for the configured Cloud Agent. * environment_id is required by the Cloud API. */ session: CloudSessionCreateReference; /** SSE replay / delta options for the Cloud session event stream. */ stream?: CloudAgentStreamOptions; };