@ash-cloud/ash-ai 0.1.19 → 0.1.20

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.
package/dist/index.d.ts CHANGED
@@ -915,12 +915,16 @@ interface AgentConfig$1 {
915
915
  maxTurns?: number;
916
916
  permissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
917
917
  hooks?: AgentHooks;
918
- mcpServers?: Record<string, {
919
- command: string;
920
- args?: string[];
921
- }>;
918
+ mcpServers?: Record<string, Record<string, unknown>>;
919
+ /**
920
+ * Load project/user settings from the .claude directory.
921
+ * See Claude Agent SDK settingSources for details.
922
+ */
923
+ settingSources?: Array<'project' | 'user'>;
922
924
  /** Skills to enable for this agent (materialized at session start) */
923
925
  skills?: SkillConfig[];
926
+ /** Additional SDK-specific options (passed through to the SDK client) */
927
+ config?: Record<string, unknown>;
924
928
  /**
925
929
  * Sandbox provider configuration for agent execution.
926
930
  * Determines where and how the agent runs (local, Vercel, E2B, etc.)
@@ -1057,6 +1061,13 @@ interface SendMessageOptions {
1057
1061
  mimeType: string;
1058
1062
  }>;
1059
1063
  metadata?: Record<string, unknown>;
1064
+ /**
1065
+ * Structured output configuration (JSON Schema).
1066
+ */
1067
+ outputFormat?: {
1068
+ type: 'json_schema';
1069
+ schema: Record<string, unknown>;
1070
+ };
1060
1071
  /**
1061
1072
  * Per-request context to prepend to the user's message.
1062
1073
  * This is useful for providing dynamic context on each request, such as:
@@ -2103,32 +2114,370 @@ declare class SessionManager {
2103
2114
  /**
2104
2115
  * Delete a session and all associated messages
2105
2116
  */
2106
- deleteSession(sessionId: SessionId): Promise<void>;
2117
+ deleteSession(sessionId: SessionId): Promise<void>;
2118
+ /**
2119
+ * List sessions with optional filtering
2120
+ */
2121
+ listSessions(options?: ListSessionsOptions): Promise<PaginatedResult<Session>>;
2122
+ /**
2123
+ * Create a forked session from an existing one
2124
+ */
2125
+ forkSession(sessionId: SessionId, _options?: ResumeSessionOptions): Promise<Session>;
2126
+ /**
2127
+ * Save messages to a session
2128
+ */
2129
+ saveMessages(sessionId: SessionId, messages: Array<Omit<Message, 'id' | 'sessionId' | 'createdAt'>>): Promise<Message[]>;
2130
+ /**
2131
+ * Get messages for a session
2132
+ */
2133
+ getSessionMessages(sessionId: SessionId, options?: PaginationOptions): Promise<PaginatedResult<Message>>;
2134
+ /**
2135
+ * Delete a specific message
2136
+ */
2137
+ deleteMessage(messageId: string): Promise<void>;
2138
+ /**
2139
+ * Get session history chain (for forked sessions)
2140
+ */
2141
+ getSessionHistory(sessionId: SessionId): Promise<Session[]>;
2142
+ }
2143
+
2144
+ /**
2145
+ * MCP (Model Context Protocol) Server Integration
2146
+ *
2147
+ * This module provides utilities for configuring and managing MCP servers
2148
+ * that extend agent capabilities with external tools and resources.
2149
+ *
2150
+ * Popular MCP servers:
2151
+ * - Playwright: Browser automation (@playwright/mcp)
2152
+ * - GitHub: Repository operations (github-mcp-server)
2153
+ * - Filesystem: File system access (filesystem-mcp-server)
2154
+ * - Postgres: Database queries (postgres-mcp-server)
2155
+ *
2156
+ * @see https://github.com/modelcontextprotocol/servers
2157
+ */
2158
+
2159
+ /**
2160
+ * Transport type for MCP servers
2161
+ */
2162
+ type McpTransportType = 'stdio' | 'http' | 'sse';
2163
+ /**
2164
+ * Authentication configuration for MCP servers
2165
+ */
2166
+ type McpAuth = {
2167
+ type: 'bearer';
2168
+ token: string;
2169
+ } | {
2170
+ type: 'basic';
2171
+ username: string;
2172
+ password: string;
2173
+ } | {
2174
+ type: 'api-key';
2175
+ key: string;
2176
+ header?: string;
2177
+ };
2178
+ /**
2179
+ * Convert McpAuth to HTTP headers
2180
+ */
2181
+ declare function mcpAuthToHeaders(auth: McpAuth): Record<string, string>;
2182
+ /**
2183
+ * Base MCP server configuration (common fields)
2184
+ */
2185
+ interface McpServerConfigBase {
2186
+ /** Transport type - defaults to 'stdio' if command is provided */
2187
+ type?: McpTransportType;
2188
+ }
2189
+ /**
2190
+ * Configuration for stdio-based MCP servers (local processes)
2191
+ */
2192
+ interface McpStdioServerConfig extends McpServerConfigBase {
2193
+ type?: 'stdio';
2194
+ /** Command to run the server */
2195
+ command: string;
2196
+ /** Arguments to pass to the command */
2197
+ args?: string[];
2198
+ /** Environment variables for the server process */
2199
+ env?: Record<string, string>;
2200
+ /** Working directory for the server */
2201
+ cwd?: string;
2202
+ }
2203
+ /**
2204
+ * Configuration for HTTP/SSE-based MCP servers (remote)
2205
+ */
2206
+ interface McpHttpServerConfig extends McpServerConfigBase {
2207
+ type: 'http' | 'sse';
2208
+ /** URL of the MCP server endpoint */
2209
+ url: string;
2210
+ /**
2211
+ * Authentication for the MCP server (preferred over raw headers)
2212
+ *
2213
+ * @example Bearer token
2214
+ * ```typescript
2215
+ * auth: { type: 'bearer', token: userAccessToken }
2216
+ * ```
2217
+ *
2218
+ * @example API key
2219
+ * ```typescript
2220
+ * auth: { type: 'api-key', key: 'sk-...', header: 'X-API-Key' }
2221
+ * ```
2222
+ */
2223
+ auth?: McpAuth;
2224
+ /** Additional HTTP headers (auth headers are added automatically from auth field) */
2225
+ headers?: Record<string, string>;
2226
+ }
2227
+ /**
2228
+ * MCP server configuration - supports both stdio and HTTP/SSE transports
2229
+ *
2230
+ * @example Stdio server (local process)
2231
+ * ```typescript
2232
+ * const stdioConfig: McpServerConfig = {
2233
+ * command: 'npx',
2234
+ * args: ['@modelcontextprotocol/server-github'],
2235
+ * env: { GITHUB_TOKEN: process.env.GITHUB_TOKEN }
2236
+ * };
2237
+ * ```
2238
+ *
2239
+ * @example HTTP server (remote)
2240
+ * ```typescript
2241
+ * const httpConfig: McpServerConfig = {
2242
+ * type: 'http',
2243
+ * url: 'https://api.example.com/mcp',
2244
+ * headers: { Authorization: `Bearer ${token}` }
2245
+ * };
2246
+ * ```
2247
+ */
2248
+ type McpServerConfig = McpStdioServerConfig | McpHttpServerConfig;
2249
+ /**
2250
+ * In-process MCP server configuration (created via createSdkMcpServer).
2251
+ * This is passed directly to the Claude Agent SDK.
2252
+ */
2253
+ type SdkMcpServerConfig = Record<string, unknown>;
2254
+ /**
2255
+ * Any MCP server config supported by the SDK (stdio/http/sse or in-process).
2256
+ */
2257
+ type AnyMcpServerConfig = McpServerConfig | SdkMcpServerConfig;
2258
+ /**
2259
+ * Type guard to check if config is for HTTP/SSE transport
2260
+ */
2261
+ declare function isHttpMcpConfig(config: McpServerConfig): config is McpHttpServerConfig;
2262
+ /**
2263
+ * Type guard to check if config is for stdio transport
2264
+ */
2265
+ declare function isStdioMcpConfig(config: McpServerConfig): config is McpStdioServerConfig;
2266
+ /**
2267
+ * Create an HTTP MCP server configuration with Bearer token authentication
2268
+ *
2269
+ * @param url - The MCP server endpoint URL
2270
+ * @param token - Bearer token for authentication
2271
+ * @param additionalHeaders - Optional additional headers
2272
+ * @returns HTTP MCP server configuration
2273
+ *
2274
+ * @example
2275
+ * ```typescript
2276
+ * const config = httpMcpWithAuth(
2277
+ * 'https://myapp.com/api/mcp',
2278
+ * userAccessToken
2279
+ * );
2280
+ * ```
2281
+ */
2282
+ declare function httpMcpWithAuth(url: string, token: string, additionalHeaders?: Record<string, string>): McpHttpServerConfig;
2283
+ /**
2284
+ * Create an SSE MCP server configuration with Bearer token authentication
2285
+ *
2286
+ * @param url - The MCP server SSE endpoint URL
2287
+ * @param token - Bearer token for authentication
2288
+ * @param additionalHeaders - Optional additional headers
2289
+ * @returns SSE MCP server configuration
2290
+ */
2291
+ declare function sseMcpWithAuth(url: string, token: string, additionalHeaders?: Record<string, string>): McpHttpServerConfig;
2292
+ /**
2293
+ * Pre-configured MCP server definitions
2294
+ */
2295
+ declare const McpServers: {
2296
+ /**
2297
+ * Playwright MCP server for browser automation
2298
+ * @see https://github.com/microsoft/playwright-mcp
2299
+ */
2300
+ playwright: (options?: {
2301
+ headless?: boolean;
2302
+ }) => McpServerConfig;
2303
+ /**
2304
+ * GitHub MCP server for repository operations
2305
+ * Requires GITHUB_TOKEN environment variable
2306
+ */
2307
+ github: (options?: {
2308
+ owner?: string;
2309
+ repo?: string;
2310
+ }) => McpServerConfig;
2311
+ /**
2312
+ * Filesystem MCP server for file operations
2313
+ * @param allowedPaths Paths the server can access
2314
+ */
2315
+ filesystem: (allowedPaths: string[]) => McpServerConfig;
2316
+ /**
2317
+ * PostgreSQL MCP server for database queries
2318
+ * @param connectionString PostgreSQL connection URL
2319
+ */
2320
+ postgres: (connectionString: string) => McpServerConfig;
2321
+ /**
2322
+ * SQLite MCP server for database queries
2323
+ * @param dbPath Path to the SQLite database file
2324
+ */
2325
+ sqlite: (dbPath: string) => McpServerConfig;
2326
+ /**
2327
+ * Brave Search MCP server for web search
2328
+ * Requires BRAVE_API_KEY environment variable
2329
+ */
2330
+ braveSearch: () => McpServerConfig;
2331
+ /**
2332
+ * Google Drive MCP server for file access
2333
+ * Requires Google OAuth credentials
2334
+ */
2335
+ googleDrive: () => McpServerConfig;
2336
+ /**
2337
+ * Slack MCP server for messaging
2338
+ * Requires SLACK_BOT_TOKEN environment variable
2339
+ */
2340
+ slack: () => McpServerConfig;
2341
+ /**
2342
+ * Puppeteer MCP server for browser automation (alternative to Playwright)
2343
+ */
2344
+ puppeteer: () => McpServerConfig;
2345
+ /**
2346
+ * Memory MCP server for persistent key-value storage
2347
+ */
2348
+ memory: () => McpServerConfig;
2349
+ /**
2350
+ * Custom MCP server from a local path
2351
+ * @param path Path to the server script
2352
+ * @param runtime Runtime to use (node, python, etc.)
2353
+ */
2354
+ custom: (path: string, runtime?: "node" | "python" | "deno", args?: string[]) => McpServerConfig;
2355
+ };
2356
+ /**
2357
+ * Builder for configuring multiple MCP servers
2358
+ */
2359
+ declare class McpConfigBuilder {
2360
+ private servers;
2361
+ /**
2362
+ * Add a pre-configured MCP server
2363
+ */
2364
+ add(name: string, config: McpServerConfig): this;
2365
+ /**
2366
+ * Add Playwright for browser automation
2367
+ */
2368
+ withPlaywright(options?: {
2369
+ headless?: boolean;
2370
+ }): this;
2371
+ /**
2372
+ * Add GitHub for repository operations
2373
+ */
2374
+ withGitHub(options?: {
2375
+ owner?: string;
2376
+ repo?: string;
2377
+ }): this;
2378
+ /**
2379
+ * Add Filesystem for file access
2380
+ */
2381
+ withFilesystem(allowedPaths: string[]): this;
2382
+ /**
2383
+ * Add PostgreSQL for database queries
2384
+ */
2385
+ withPostgres(connectionString: string): this;
2386
+ /**
2387
+ * Add SQLite for database queries
2388
+ */
2389
+ withSqlite(dbPath: string): this;
2390
+ /**
2391
+ * Add Brave Search for web search
2392
+ */
2393
+ withBraveSearch(): this;
2394
+ /**
2395
+ * Add Memory for key-value storage
2396
+ */
2397
+ withMemory(): this;
2398
+ /**
2399
+ * Add a custom stdio MCP server
2400
+ */
2401
+ withCustom(name: string, path: string, runtime?: 'node' | 'python' | 'deno', args?: string[]): this;
2402
+ /**
2403
+ * Add an HTTP MCP server with typed authentication
2404
+ *
2405
+ * @param name - Server name (used as mcp__name__ prefix for tools)
2406
+ * @param url - The MCP server endpoint URL
2407
+ * @param options - Authentication and additional headers
2408
+ *
2409
+ * @example Bearer token auth
2410
+ * ```typescript
2411
+ * builder.withHttp('myapp', '/api/mcp', {
2412
+ * auth: { type: 'bearer', token: userAccessToken }
2413
+ * })
2414
+ * ```
2415
+ *
2416
+ * @example API key auth
2417
+ * ```typescript
2418
+ * builder.withHttp('myapp', '/api/mcp', {
2419
+ * auth: { type: 'api-key', key: 'sk-...', header: 'X-API-Key' }
2420
+ * })
2421
+ * ```
2422
+ */
2423
+ withHttp(name: string, url: string, options?: {
2424
+ auth?: McpAuth;
2425
+ headers?: Record<string, string>;
2426
+ }): this;
2427
+ /**
2428
+ * Add an SSE MCP server with typed authentication
2429
+ *
2430
+ * @param name - Server name (used as mcp__name__ prefix for tools)
2431
+ * @param url - The MCP server SSE endpoint URL
2432
+ * @param options - Authentication and additional headers
2433
+ */
2434
+ withSse(name: string, url: string, options?: {
2435
+ auth?: McpAuth;
2436
+ headers?: Record<string, string>;
2437
+ }): this;
2107
2438
  /**
2108
- * List sessions with optional filtering
2439
+ * Build the MCP servers configuration
2109
2440
  */
2110
- listSessions(options?: ListSessionsOptions): Promise<PaginatedResult<Session>>;
2441
+ build(): Record<string, McpServerConfig>;
2111
2442
  /**
2112
- * Create a forked session from an existing one
2443
+ * Convert to ClaudeAgentOptions format
2444
+ * Properly handles both stdio and HTTP/SSE server configs
2445
+ * Converts typed auth to headers automatically
2113
2446
  */
2114
- forkSession(sessionId: SessionId, _options?: ResumeSessionOptions): Promise<Session>;
2447
+ toAgentOptions(): Pick<ClaudeAgentOptions, 'mcpServers'>;
2448
+ }
2449
+ /**
2450
+ * Create a new MCP config builder
2451
+ */
2452
+ declare function configureMcp(): McpConfigBuilder;
2453
+ /**
2454
+ * Common MCP server presets for different use cases
2455
+ */
2456
+ declare const McpPresets: {
2115
2457
  /**
2116
- * Save messages to a session
2458
+ * Web research preset: browser automation + web search
2117
2459
  */
2118
- saveMessages(sessionId: SessionId, messages: Array<Omit<Message, 'id' | 'sessionId' | 'createdAt'>>): Promise<Message[]>;
2460
+ webResearch: () => McpConfigBuilder;
2119
2461
  /**
2120
- * Get messages for a session
2462
+ * Database preset: PostgreSQL + memory
2121
2463
  */
2122
- getSessionMessages(sessionId: SessionId, options?: PaginationOptions): Promise<PaginatedResult<Message>>;
2464
+ database: (connectionString: string) => McpConfigBuilder;
2123
2465
  /**
2124
- * Delete a specific message
2466
+ * GitHub development preset: GitHub + filesystem
2125
2467
  */
2126
- deleteMessage(messageId: string): Promise<void>;
2468
+ githubDev: (options: {
2469
+ allowedPaths: string[];
2470
+ owner?: string;
2471
+ repo?: string;
2472
+ }) => McpConfigBuilder;
2127
2473
  /**
2128
- * Get session history chain (for forked sessions)
2474
+ * Full-featured preset with multiple servers
2129
2475
  */
2130
- getSessionHistory(sessionId: SessionId): Promise<Session[]>;
2131
- }
2476
+ fullFeatured: (options: {
2477
+ allowedPaths: string[];
2478
+ dbConnectionString?: string;
2479
+ }) => McpConfigBuilder;
2480
+ };
2132
2481
 
2133
2482
  /**
2134
2483
  * Claude Agent SDK Integration Module
@@ -2168,8 +2517,19 @@ interface ClaudeAgentOptions {
2168
2517
  disallowedTools?: string[];
2169
2518
  /** Permission mode for tool execution */
2170
2519
  permissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
2520
+ /** Enable SDK file checkpointing (Claude Code) */
2521
+ enableFileCheckpointing?: boolean;
2522
+ /** Extra CLI args for Claude Code */
2523
+ extraArgs?: Record<string, string | null>;
2171
2524
  /** Maximum number of turns in the conversation */
2172
2525
  maxTurns?: number;
2526
+ /**
2527
+ * Structured output configuration (JSON Schema)
2528
+ */
2529
+ outputFormat?: {
2530
+ type: 'json_schema';
2531
+ schema: Record<string, unknown>;
2532
+ };
2173
2533
  /** Claude session ID for resuming a previous session (V1) */
2174
2534
  resume?: string;
2175
2535
  /** Whether to fork the session when resuming (V1) */
@@ -2177,7 +2537,9 @@ interface ClaudeAgentOptions {
2177
2537
  /**
2178
2538
  * MCP servers to connect
2179
2539
  *
2180
- * Supports both stdio (local process) and HTTP/SSE (remote) transports:
2540
+ * Supports stdio (local process), HTTP/SSE (remote), and in-process SDK servers.
2541
+ * In-process servers (from createSdkMcpServer) require streaming prompt input;
2542
+ * this client will auto-wrap string prompts when such servers are present.
2181
2543
  *
2182
2544
  * @example Stdio server
2183
2545
  * ```typescript
@@ -2208,30 +2570,7 @@ interface ClaudeAgentOptions {
2208
2570
  * }
2209
2571
  * ```
2210
2572
  */
2211
- mcpServers?: Record<string, {
2212
- command?: string;
2213
- args?: string[];
2214
- env?: Record<string, string>;
2215
- type?: 'stdio' | 'http' | 'sse';
2216
- url?: string;
2217
- headers?: Record<string, string>;
2218
- /**
2219
- * Typed authentication (alternative to raw headers).
2220
- * Will be converted to appropriate Authorization header.
2221
- */
2222
- auth?: {
2223
- type: 'bearer';
2224
- token: string;
2225
- } | {
2226
- type: 'basic';
2227
- username: string;
2228
- password: string;
2229
- } | {
2230
- type: 'api-key';
2231
- key: string;
2232
- header?: string;
2233
- };
2234
- }>;
2573
+ mcpServers?: Record<string, AnyMcpServerConfig>;
2235
2574
  /** Custom agents/subagents */
2236
2575
  agents?: Record<string, {
2237
2576
  description: string;
@@ -2252,6 +2591,14 @@ interface ClaudeAgentOptions {
2252
2591
  SessionEnd?: Function[];
2253
2592
  Stop?: Function[];
2254
2593
  };
2594
+ /**
2595
+ * Plugins to load for this session.
2596
+ * Each plugin must be a local path to its root directory (containing .claude-plugin/plugin.json).
2597
+ */
2598
+ plugins?: Array<{
2599
+ type: 'local';
2600
+ path: string;
2601
+ }>;
2255
2602
  /** Load project settings from .claude directory */
2256
2603
  settingSources?: Array<'project' | 'user'>;
2257
2604
  /**
@@ -2295,6 +2642,17 @@ interface ClaudeMessage {
2295
2642
  content: ClaudeContentBlock[];
2296
2643
  };
2297
2644
  result?: string;
2645
+ structured_output?: unknown;
2646
+ usage?: {
2647
+ total_cost_usd?: number;
2648
+ input_tokens?: number;
2649
+ output_tokens?: number;
2650
+ };
2651
+ modelUsage?: Record<string, {
2652
+ input_tokens?: number;
2653
+ output_tokens?: number;
2654
+ total_cost_usd?: number;
2655
+ }>;
2298
2656
  cost?: number;
2299
2657
  tokens?: {
2300
2658
  input: number;
@@ -2321,6 +2679,12 @@ type ClaudeContentBlock = {
2321
2679
  interface ClaudeStreamEvent {
2322
2680
  type: 'session_init' | 'text_delta' | 'thinking_delta' | 'text' | 'tool_use' | 'tool_result' | 'complete' | 'error';
2323
2681
  sessionId?: string;
2682
+ /** Slash commands advertised by the SDK on init */
2683
+ slashCommands?: Array<{
2684
+ name: string;
2685
+ description?: string;
2686
+ prompt?: string;
2687
+ }>;
2324
2688
  /** Incremental text or thinking delta (for streaming) */
2325
2689
  delta?: string;
2326
2690
  /** Complete text block (for compatibility) */
@@ -2338,6 +2702,7 @@ interface ClaudeStreamEvent {
2338
2702
  /** Whether the tool result is an error */
2339
2703
  isError?: boolean;
2340
2704
  result?: string;
2705
+ structured_output?: unknown;
2341
2706
  totalCost?: number;
2342
2707
  totalTokens?: number;
2343
2708
  error?: string;
@@ -2379,7 +2744,7 @@ declare class ClaudeSdkClient {
2379
2744
  * @param options - Agent configuration options
2380
2745
  * @yields ClaudeStreamEvent for each response chunk
2381
2746
  */
2382
- query(prompt: string, options?: ClaudeAgentOptions): AsyncGenerator<ClaudeStreamEvent, void, unknown>;
2747
+ query(prompt: string | AsyncIterable<unknown>, options?: ClaudeAgentOptions): AsyncGenerator<ClaudeStreamEvent, void, unknown>;
2383
2748
  /**
2384
2749
  * Execute using the real Claude Agent SDK V1 query function
2385
2750
  */
@@ -2532,7 +2897,7 @@ declare function getDefaultModel(backend: AgentBackend): string;
2532
2897
  * This allows the cloud layer to provide a custom execution strategy,
2533
2898
  * such as running queries inside a Vercel Sandbox instead of locally.
2534
2899
  */
2535
- type CustomExecutor = (prompt: string, options: ClaudeAgentOptions) => AsyncGenerator<ClaudeStreamEvent, void, unknown>;
2900
+ type CustomExecutor = (prompt: string | AsyncIterable<unknown>, options: ClaudeAgentOptions) => AsyncGenerator<ClaudeStreamEvent, void, unknown>;
2536
2901
  /**
2537
2902
  * Configuration for creating an AgentHarness
2538
2903
  */
@@ -3892,377 +4257,48 @@ type HarnessConfig = z.infer<typeof HarnessConfigSchema>;
3892
4257
  */
3893
4258
  declare function loadConfig(configPath?: string, options?: {
3894
4259
  env?: string;
3895
- }): Promise<HarnessConfig>;
3896
- /**
3897
- * Define configuration with type checking
3898
- */
3899
- declare function defineConfig(config: Partial<HarnessConfig>): HarnessConfig;
3900
- /**
3901
- * Define an agent with type checking
3902
- */
3903
- declare function defineAgent(config: AgentConfig): AgentConfig;
3904
- /**
3905
- * Create a config builder for fluent configuration
3906
- */
3907
- declare class ConfigBuilder {
3908
- private config;
3909
- name(name: string): this;
3910
- storage(storage: StorageConfig): this;
3911
- memoryStorage(): this;
3912
- sqliteStorage(dbPath?: string): this;
3913
- postgresStorage(connectionString: string, poolSize?: number): this;
3914
- libsqlStorage(url: string, authToken?: string): this;
3915
- defaultAgent(config: Partial<AgentConfig>): this;
3916
- agent(name: string, config: Omit<AgentConfig, 'name'>): this;
3917
- server(config: Partial<ServerConfig>): this;
3918
- attachments(config: Partial<AttachmentConfig>): this;
3919
- environment(env: string, overrides: {
3920
- storage?: StorageConfig;
3921
- server?: Partial<ServerConfig>;
3922
- }): this;
3923
- build(): HarnessConfig;
3924
- }
3925
- /**
3926
- * Create a new config builder
3927
- */
3928
- declare function createConfig(): ConfigBuilder;
3929
- /**
3930
- * Get environment variable with optional default
3931
- */
3932
- declare function env(key: string, defaultValue?: string): string;
3933
- /**
3934
- * Get optional environment variable
3935
- */
3936
- declare function envOptional(key: string): string | undefined;
3937
-
3938
- /**
3939
- * MCP (Model Context Protocol) Server Integration
3940
- *
3941
- * This module provides utilities for configuring and managing MCP servers
3942
- * that extend agent capabilities with external tools and resources.
3943
- *
3944
- * Popular MCP servers:
3945
- * - Playwright: Browser automation (@playwright/mcp)
3946
- * - GitHub: Repository operations (github-mcp-server)
3947
- * - Filesystem: File system access (filesystem-mcp-server)
3948
- * - Postgres: Database queries (postgres-mcp-server)
3949
- *
3950
- * @see https://github.com/modelcontextprotocol/servers
3951
- */
3952
-
3953
- /**
3954
- * Transport type for MCP servers
3955
- */
3956
- type McpTransportType = 'stdio' | 'http' | 'sse';
3957
- /**
3958
- * Authentication configuration for MCP servers
3959
- */
3960
- type McpAuth = {
3961
- type: 'bearer';
3962
- token: string;
3963
- } | {
3964
- type: 'basic';
3965
- username: string;
3966
- password: string;
3967
- } | {
3968
- type: 'api-key';
3969
- key: string;
3970
- header?: string;
3971
- };
3972
- /**
3973
- * Convert McpAuth to HTTP headers
3974
- */
3975
- declare function mcpAuthToHeaders(auth: McpAuth): Record<string, string>;
3976
- /**
3977
- * Base MCP server configuration (common fields)
3978
- */
3979
- interface McpServerConfigBase {
3980
- /** Transport type - defaults to 'stdio' if command is provided */
3981
- type?: McpTransportType;
3982
- }
3983
- /**
3984
- * Configuration for stdio-based MCP servers (local processes)
3985
- */
3986
- interface McpStdioServerConfig extends McpServerConfigBase {
3987
- type?: 'stdio';
3988
- /** Command to run the server */
3989
- command: string;
3990
- /** Arguments to pass to the command */
3991
- args?: string[];
3992
- /** Environment variables for the server process */
3993
- env?: Record<string, string>;
3994
- /** Working directory for the server */
3995
- cwd?: string;
3996
- }
3997
- /**
3998
- * Configuration for HTTP/SSE-based MCP servers (remote)
3999
- */
4000
- interface McpHttpServerConfig extends McpServerConfigBase {
4001
- type: 'http' | 'sse';
4002
- /** URL of the MCP server endpoint */
4003
- url: string;
4004
- /**
4005
- * Authentication for the MCP server (preferred over raw headers)
4006
- *
4007
- * @example Bearer token
4008
- * ```typescript
4009
- * auth: { type: 'bearer', token: userAccessToken }
4010
- * ```
4011
- *
4012
- * @example API key
4013
- * ```typescript
4014
- * auth: { type: 'api-key', key: 'sk-...', header: 'X-API-Key' }
4015
- * ```
4016
- */
4017
- auth?: McpAuth;
4018
- /** Additional HTTP headers (auth headers are added automatically from auth field) */
4019
- headers?: Record<string, string>;
4020
- }
4021
- /**
4022
- * MCP server configuration - supports both stdio and HTTP/SSE transports
4023
- *
4024
- * @example Stdio server (local process)
4025
- * ```typescript
4026
- * const stdioConfig: McpServerConfig = {
4027
- * command: 'npx',
4028
- * args: ['@modelcontextprotocol/server-github'],
4029
- * env: { GITHUB_TOKEN: process.env.GITHUB_TOKEN }
4030
- * };
4031
- * ```
4032
- *
4033
- * @example HTTP server (remote)
4034
- * ```typescript
4035
- * const httpConfig: McpServerConfig = {
4036
- * type: 'http',
4037
- * url: 'https://api.example.com/mcp',
4038
- * headers: { Authorization: `Bearer ${token}` }
4039
- * };
4040
- * ```
4041
- */
4042
- type McpServerConfig = McpStdioServerConfig | McpHttpServerConfig;
4043
- /**
4044
- * Type guard to check if config is for HTTP/SSE transport
4045
- */
4046
- declare function isHttpMcpConfig(config: McpServerConfig): config is McpHttpServerConfig;
4047
- /**
4048
- * Type guard to check if config is for stdio transport
4049
- */
4050
- declare function isStdioMcpConfig(config: McpServerConfig): config is McpStdioServerConfig;
4051
- /**
4052
- * Create an HTTP MCP server configuration with Bearer token authentication
4053
- *
4054
- * @param url - The MCP server endpoint URL
4055
- * @param token - Bearer token for authentication
4056
- * @param additionalHeaders - Optional additional headers
4057
- * @returns HTTP MCP server configuration
4058
- *
4059
- * @example
4060
- * ```typescript
4061
- * const config = httpMcpWithAuth(
4062
- * 'https://myapp.com/api/mcp',
4063
- * userAccessToken
4064
- * );
4065
- * ```
4066
- */
4067
- declare function httpMcpWithAuth(url: string, token: string, additionalHeaders?: Record<string, string>): McpHttpServerConfig;
4068
- /**
4069
- * Create an SSE MCP server configuration with Bearer token authentication
4070
- *
4071
- * @param url - The MCP server SSE endpoint URL
4072
- * @param token - Bearer token for authentication
4073
- * @param additionalHeaders - Optional additional headers
4074
- * @returns SSE MCP server configuration
4260
+ }): Promise<HarnessConfig>;
4261
+ /**
4262
+ * Define configuration with type checking
4075
4263
  */
4076
- declare function sseMcpWithAuth(url: string, token: string, additionalHeaders?: Record<string, string>): McpHttpServerConfig;
4264
+ declare function defineConfig(config: Partial<HarnessConfig>): HarnessConfig;
4077
4265
  /**
4078
- * Pre-configured MCP server definitions
4266
+ * Define an agent with type checking
4079
4267
  */
4080
- declare const McpServers: {
4081
- /**
4082
- * Playwright MCP server for browser automation
4083
- * @see https://github.com/microsoft/playwright-mcp
4084
- */
4085
- playwright: (options?: {
4086
- headless?: boolean;
4087
- }) => McpServerConfig;
4088
- /**
4089
- * GitHub MCP server for repository operations
4090
- * Requires GITHUB_TOKEN environment variable
4091
- */
4092
- github: (options?: {
4093
- owner?: string;
4094
- repo?: string;
4095
- }) => McpServerConfig;
4096
- /**
4097
- * Filesystem MCP server for file operations
4098
- * @param allowedPaths Paths the server can access
4099
- */
4100
- filesystem: (allowedPaths: string[]) => McpServerConfig;
4101
- /**
4102
- * PostgreSQL MCP server for database queries
4103
- * @param connectionString PostgreSQL connection URL
4104
- */
4105
- postgres: (connectionString: string) => McpServerConfig;
4106
- /**
4107
- * SQLite MCP server for database queries
4108
- * @param dbPath Path to the SQLite database file
4109
- */
4110
- sqlite: (dbPath: string) => McpServerConfig;
4111
- /**
4112
- * Brave Search MCP server for web search
4113
- * Requires BRAVE_API_KEY environment variable
4114
- */
4115
- braveSearch: () => McpServerConfig;
4116
- /**
4117
- * Google Drive MCP server for file access
4118
- * Requires Google OAuth credentials
4119
- */
4120
- googleDrive: () => McpServerConfig;
4121
- /**
4122
- * Slack MCP server for messaging
4123
- * Requires SLACK_BOT_TOKEN environment variable
4124
- */
4125
- slack: () => McpServerConfig;
4126
- /**
4127
- * Puppeteer MCP server for browser automation (alternative to Playwright)
4128
- */
4129
- puppeteer: () => McpServerConfig;
4130
- /**
4131
- * Memory MCP server for persistent key-value storage
4132
- */
4133
- memory: () => McpServerConfig;
4134
- /**
4135
- * Custom MCP server from a local path
4136
- * @param path Path to the server script
4137
- * @param runtime Runtime to use (node, python, etc.)
4138
- */
4139
- custom: (path: string, runtime?: "node" | "python" | "deno", args?: string[]) => McpServerConfig;
4140
- };
4268
+ declare function defineAgent(config: AgentConfig): AgentConfig;
4141
4269
  /**
4142
- * Builder for configuring multiple MCP servers
4270
+ * Create a config builder for fluent configuration
4143
4271
  */
4144
- declare class McpConfigBuilder {
4145
- private servers;
4146
- /**
4147
- * Add a pre-configured MCP server
4148
- */
4149
- add(name: string, config: McpServerConfig): this;
4150
- /**
4151
- * Add Playwright for browser automation
4152
- */
4153
- withPlaywright(options?: {
4154
- headless?: boolean;
4155
- }): this;
4156
- /**
4157
- * Add GitHub for repository operations
4158
- */
4159
- withGitHub(options?: {
4160
- owner?: string;
4161
- repo?: string;
4162
- }): this;
4163
- /**
4164
- * Add Filesystem for file access
4165
- */
4166
- withFilesystem(allowedPaths: string[]): this;
4167
- /**
4168
- * Add PostgreSQL for database queries
4169
- */
4170
- withPostgres(connectionString: string): this;
4171
- /**
4172
- * Add SQLite for database queries
4173
- */
4174
- withSqlite(dbPath: string): this;
4175
- /**
4176
- * Add Brave Search for web search
4177
- */
4178
- withBraveSearch(): this;
4179
- /**
4180
- * Add Memory for key-value storage
4181
- */
4182
- withMemory(): this;
4183
- /**
4184
- * Add a custom stdio MCP server
4185
- */
4186
- withCustom(name: string, path: string, runtime?: 'node' | 'python' | 'deno', args?: string[]): this;
4187
- /**
4188
- * Add an HTTP MCP server with typed authentication
4189
- *
4190
- * @param name - Server name (used as mcp__name__ prefix for tools)
4191
- * @param url - The MCP server endpoint URL
4192
- * @param options - Authentication and additional headers
4193
- *
4194
- * @example Bearer token auth
4195
- * ```typescript
4196
- * builder.withHttp('myapp', '/api/mcp', {
4197
- * auth: { type: 'bearer', token: userAccessToken }
4198
- * })
4199
- * ```
4200
- *
4201
- * @example API key auth
4202
- * ```typescript
4203
- * builder.withHttp('myapp', '/api/mcp', {
4204
- * auth: { type: 'api-key', key: 'sk-...', header: 'X-API-Key' }
4205
- * })
4206
- * ```
4207
- */
4208
- withHttp(name: string, url: string, options?: {
4209
- auth?: McpAuth;
4210
- headers?: Record<string, string>;
4211
- }): this;
4212
- /**
4213
- * Add an SSE MCP server with typed authentication
4214
- *
4215
- * @param name - Server name (used as mcp__name__ prefix for tools)
4216
- * @param url - The MCP server SSE endpoint URL
4217
- * @param options - Authentication and additional headers
4218
- */
4219
- withSse(name: string, url: string, options?: {
4220
- auth?: McpAuth;
4221
- headers?: Record<string, string>;
4272
+ declare class ConfigBuilder {
4273
+ private config;
4274
+ name(name: string): this;
4275
+ storage(storage: StorageConfig): this;
4276
+ memoryStorage(): this;
4277
+ sqliteStorage(dbPath?: string): this;
4278
+ postgresStorage(connectionString: string, poolSize?: number): this;
4279
+ libsqlStorage(url: string, authToken?: string): this;
4280
+ defaultAgent(config: Partial<AgentConfig>): this;
4281
+ agent(name: string, config: Omit<AgentConfig, 'name'>): this;
4282
+ server(config: Partial<ServerConfig>): this;
4283
+ attachments(config: Partial<AttachmentConfig>): this;
4284
+ environment(env: string, overrides: {
4285
+ storage?: StorageConfig;
4286
+ server?: Partial<ServerConfig>;
4222
4287
  }): this;
4223
- /**
4224
- * Build the MCP servers configuration
4225
- */
4226
- build(): Record<string, McpServerConfig>;
4227
- /**
4228
- * Convert to ClaudeAgentOptions format
4229
- * Properly handles both stdio and HTTP/SSE server configs
4230
- * Converts typed auth to headers automatically
4231
- */
4232
- toAgentOptions(): Pick<ClaudeAgentOptions, 'mcpServers'>;
4288
+ build(): HarnessConfig;
4233
4289
  }
4234
4290
  /**
4235
- * Create a new MCP config builder
4291
+ * Create a new config builder
4236
4292
  */
4237
- declare function configureMcp(): McpConfigBuilder;
4293
+ declare function createConfig(): ConfigBuilder;
4238
4294
  /**
4239
- * Common MCP server presets for different use cases
4295
+ * Get environment variable with optional default
4240
4296
  */
4241
- declare const McpPresets: {
4242
- /**
4243
- * Web research preset: browser automation + web search
4244
- */
4245
- webResearch: () => McpConfigBuilder;
4246
- /**
4247
- * Database preset: PostgreSQL + memory
4248
- */
4249
- database: (connectionString: string) => McpConfigBuilder;
4250
- /**
4251
- * GitHub development preset: GitHub + filesystem
4252
- */
4253
- githubDev: (options: {
4254
- allowedPaths: string[];
4255
- owner?: string;
4256
- repo?: string;
4257
- }) => McpConfigBuilder;
4258
- /**
4259
- * Full-featured preset with multiple servers
4260
- */
4261
- fullFeatured: (options: {
4262
- allowedPaths: string[];
4263
- dbConnectionString?: string;
4264
- }) => McpConfigBuilder;
4265
- };
4297
+ declare function env(key: string, defaultValue?: string): string;
4298
+ /**
4299
+ * Get optional environment variable
4300
+ */
4301
+ declare function envOptional(key: string): string | undefined;
4266
4302
 
4267
4303
  /**
4268
4304
  * Sandbox Provider Types
@@ -5531,6 +5567,10 @@ interface SandboxWithState {
5531
5567
  warmupTag?: string;
5532
5568
  /** Whether agent-specific setup was completed during pool warmup */
5533
5569
  agentSetupComplete?: boolean;
5570
+ /** Whether install.sh was run during pool warmup */
5571
+ warmupInstallRan?: boolean;
5572
+ /** Whether startup script was run successfully during pool warmup */
5573
+ warmupStartupRan?: boolean;
5534
5574
  }
5535
5575
  /**
5536
5576
  * Get an existing sandbox for a session, or create a new one.
@@ -5822,6 +5862,21 @@ interface PooledSandbox {
5822
5862
  warmupTag?: string;
5823
5863
  /** Whether agent-specific setup has been completed during warmup */
5824
5864
  agentSetupComplete?: boolean;
5865
+ /** Whether install.sh was run during warmup */
5866
+ warmupInstallRan?: boolean;
5867
+ /** Whether startup script was run successfully during warmup */
5868
+ warmupStartupRan?: boolean;
5869
+ }
5870
+ /**
5871
+ * Result returned by a warmup spec setup function.
5872
+ * Tells the pool which steps actually succeeded so the consumer
5873
+ * can decide what to skip vs re-run.
5874
+ */
5875
+ interface WarmupSetupResult {
5876
+ /** Whether install.sh was found and ran successfully */
5877
+ installRan?: boolean;
5878
+ /** Whether the startup script ran successfully */
5879
+ startupRan?: boolean;
5825
5880
  }
5826
5881
  /**
5827
5882
  * Specification for warming agent-specific sandboxes.
@@ -5832,12 +5887,18 @@ interface WarmupSpec {
5832
5887
  tag: string;
5833
5888
  /** Priority for replenishment — higher = more likely to be warmed. Use Date.now() for MRU. */
5834
5889
  priority: number;
5890
+ /**
5891
+ * Opaque hash of the config that produced this spec.
5892
+ * Used to skip re-registration when the agent config hasn't changed.
5893
+ */
5894
+ configHash?: string;
5835
5895
  /**
5836
5896
  * Setup function called on a sandbox after SDK installation.
5837
5897
  * Should pull agent files, run install.sh, run startup script, etc.
5838
5898
  * If this throws, the sandbox stays generic (graceful degradation).
5899
+ * Return a WarmupSetupResult to indicate which steps succeeded.
5839
5900
  */
5840
- setup: (sandbox: VercelSandboxInstance) => Promise<void>;
5901
+ setup: (sandbox: VercelSandboxInstance) => Promise<WarmupSetupResult | void>;
5841
5902
  }
5842
5903
  /**
5843
5904
  * Pool status for observability
@@ -5894,6 +5955,12 @@ declare class SandboxPool {
5894
5955
  private startPromise;
5895
5956
  /** Registered warmup specs by tag (e.g. agentId -> spec) */
5896
5957
  private warmupSpecs;
5958
+ /** Tags currently being warmed (prevents duplicate warming of same spec) */
5959
+ private warmingTags;
5960
+ /** Max warmup specs to keep (LRU eviction above this) */
5961
+ private static readonly MAX_SPECS;
5962
+ /** Timeout for spec setup in ms (prevents hanging S3 pulls / install.sh) */
5963
+ private static readonly SPEC_SETUP_TIMEOUT_MS;
5897
5964
  /** Consecutive warmup failure count (reset on success) */
5898
5965
  private consecutiveFailures;
5899
5966
  /** Timestamp of last warmup attempt — used for backoff */
@@ -5938,7 +6005,8 @@ declare class SandboxPool {
5938
6005
  onMetrics(callback: SandboxPoolMetricsCallback): void;
5939
6006
  /**
5940
6007
  * Register a warmup spec so the pool can pre-warm agent-specific sandboxes.
5941
- * If a spec with the same tag already exists, it is replaced.
6008
+ * If a spec with the same tag and configHash already exists, only updates priority (skip #7).
6009
+ * Evicts lowest-priority specs when exceeding MAX_SPECS (fix #2).
5942
6010
  * Triggers replenishment to warm a sandbox for this spec.
5943
6011
  */
5944
6012
  registerWarmupSpec(spec: WarmupSpec): void;
@@ -5993,10 +6061,17 @@ declare class SandboxPool {
5993
6061
  private replenishPool;
5994
6062
  /**
5995
6063
  * Decide which specs to apply to new sandboxes during replenishment.
5996
- * Strategy: cover uncovered specs first (highest priority), then fill remaining as generic.
6064
+ * Strategy:
6065
+ * - Always reserve at least 1 slot for generic (fix #3)
6066
+ * - Cover uncovered specs first (highest priority), skipping in-flight tags (fix #4)
6067
+ * - Fill remaining as generic
5997
6068
  * Returns an array of length `needed`, where each element is a spec or undefined (generic).
5998
6069
  */
5999
6070
  private selectSpecsForReplenishment;
6071
+ /**
6072
+ * Evict lowest-priority specs when over MAX_SPECS capacity (fix #2).
6073
+ */
6074
+ private evictLowestPrioritySpecs;
6000
6075
  /**
6001
6076
  * Destroy a sandbox and clean up
6002
6077
  */
@@ -7867,10 +7942,10 @@ declare const StoredAgentSchema: z.ZodObject<{
7867
7942
  command: string;
7868
7943
  args?: string[] | undefined;
7869
7944
  }> | undefined;
7945
+ config?: Record<string, unknown> | undefined;
7870
7946
  envVars?: Record<string, string> | undefined;
7871
7947
  startupScript?: string | undefined;
7872
7948
  configFileUrl?: string | undefined;
7873
- config?: Record<string, unknown> | undefined;
7874
7949
  }, {
7875
7950
  status: "active" | "paused" | "deleted";
7876
7951
  name: string;
@@ -7890,10 +7965,10 @@ declare const StoredAgentSchema: z.ZodObject<{
7890
7965
  command: string;
7891
7966
  args?: string[] | undefined;
7892
7967
  }> | undefined;
7968
+ config?: Record<string, unknown> | undefined;
7893
7969
  envVars?: Record<string, string> | undefined;
7894
7970
  startupScript?: string | undefined;
7895
7971
  configFileUrl?: string | undefined;
7896
- config?: Record<string, unknown> | undefined;
7897
7972
  }>;
7898
7973
  declare const SimpleAgentSchema: z.ZodObject<{
7899
7974
  name: z.ZodString;
@@ -7951,10 +8026,10 @@ declare const PaginatedAgentsSchema: z.ZodObject<{
7951
8026
  command: string;
7952
8027
  args?: string[] | undefined;
7953
8028
  }> | undefined;
8029
+ config?: Record<string, unknown> | undefined;
7954
8030
  envVars?: Record<string, string> | undefined;
7955
8031
  startupScript?: string | undefined;
7956
8032
  configFileUrl?: string | undefined;
7957
- config?: Record<string, unknown> | undefined;
7958
8033
  }, {
7959
8034
  status: "active" | "paused" | "deleted";
7960
8035
  name: string;
@@ -7974,10 +8049,10 @@ declare const PaginatedAgentsSchema: z.ZodObject<{
7974
8049
  command: string;
7975
8050
  args?: string[] | undefined;
7976
8051
  }> | undefined;
8052
+ config?: Record<string, unknown> | undefined;
7977
8053
  envVars?: Record<string, string> | undefined;
7978
8054
  startupScript?: string | undefined;
7979
8055
  configFileUrl?: string | undefined;
7980
- config?: Record<string, unknown> | undefined;
7981
8056
  }>, "many">;
7982
8057
  total: z.ZodNumber;
7983
8058
  hasMore: z.ZodBoolean;
@@ -8001,10 +8076,10 @@ declare const PaginatedAgentsSchema: z.ZodObject<{
8001
8076
  command: string;
8002
8077
  args?: string[] | undefined;
8003
8078
  }> | undefined;
8079
+ config?: Record<string, unknown> | undefined;
8004
8080
  envVars?: Record<string, string> | undefined;
8005
8081
  startupScript?: string | undefined;
8006
8082
  configFileUrl?: string | undefined;
8007
- config?: Record<string, unknown> | undefined;
8008
8083
  }[];
8009
8084
  total: number;
8010
8085
  hasMore: boolean;
@@ -8028,10 +8103,10 @@ declare const PaginatedAgentsSchema: z.ZodObject<{
8028
8103
  command: string;
8029
8104
  args?: string[] | undefined;
8030
8105
  }> | undefined;
8106
+ config?: Record<string, unknown> | undefined;
8031
8107
  envVars?: Record<string, string> | undefined;
8032
8108
  startupScript?: string | undefined;
8033
8109
  configFileUrl?: string | undefined;
8034
- config?: Record<string, unknown> | undefined;
8035
8110
  }[];
8036
8111
  total: number;
8037
8112
  hasMore: boolean;
@@ -8074,9 +8149,9 @@ declare const CreateAgentRequestSchema: z.ZodObject<{
8074
8149
  command: string;
8075
8150
  args?: string[] | undefined;
8076
8151
  }> | undefined;
8152
+ config?: Record<string, unknown> | undefined;
8077
8153
  envVars?: Record<string, string> | undefined;
8078
8154
  startupScript?: string | undefined;
8079
- config?: Record<string, unknown> | undefined;
8080
8155
  slug?: string | undefined;
8081
8156
  }, {
8082
8157
  name: string;
@@ -8092,9 +8167,9 @@ declare const CreateAgentRequestSchema: z.ZodObject<{
8092
8167
  command: string;
8093
8168
  args?: string[] | undefined;
8094
8169
  }> | undefined;
8170
+ config?: Record<string, unknown> | undefined;
8095
8171
  envVars?: Record<string, string> | undefined;
8096
8172
  startupScript?: string | undefined;
8097
- config?: Record<string, unknown> | undefined;
8098
8173
  slug?: string | undefined;
8099
8174
  }>;
8100
8175
  declare const UpdateAgentRequestSchema: z.ZodObject<{
@@ -8136,9 +8211,9 @@ declare const UpdateAgentRequestSchema: z.ZodObject<{
8136
8211
  command: string;
8137
8212
  args?: string[] | undefined;
8138
8213
  }> | undefined;
8214
+ config?: Record<string, unknown> | undefined;
8139
8215
  envVars?: Record<string, string> | undefined;
8140
8216
  startupScript?: string | undefined;
8141
- config?: Record<string, unknown> | undefined;
8142
8217
  }, {
8143
8218
  status?: "active" | "paused" | undefined;
8144
8219
  description?: string | undefined;
@@ -8154,9 +8229,9 @@ declare const UpdateAgentRequestSchema: z.ZodObject<{
8154
8229
  command: string;
8155
8230
  args?: string[] | undefined;
8156
8231
  }> | undefined;
8232
+ config?: Record<string, unknown> | undefined;
8157
8233
  envVars?: Record<string, string> | undefined;
8158
8234
  startupScript?: string | undefined;
8159
- config?: Record<string, unknown> | undefined;
8160
8235
  }>;
8161
8236
  declare const RunAgentRequestSchema: z.ZodObject<{
8162
8237
  prompt: z.ZodString;
@@ -8462,6 +8537,39 @@ declare const SessionStartEventSchema: z.ZodObject<{
8462
8537
  sessionId: string;
8463
8538
  claudeSessionId: string;
8464
8539
  }>;
8540
+ declare const SessionInitEventSchema: z.ZodObject<{
8541
+ type: z.ZodLiteral<"session_init">;
8542
+ sessionId: z.ZodString;
8543
+ slashCommands: z.ZodOptional<z.ZodArray<z.ZodObject<{
8544
+ name: z.ZodString;
8545
+ description: z.ZodOptional<z.ZodString>;
8546
+ prompt: z.ZodOptional<z.ZodString>;
8547
+ }, "strip", z.ZodTypeAny, {
8548
+ name: string;
8549
+ description?: string | undefined;
8550
+ prompt?: string | undefined;
8551
+ }, {
8552
+ name: string;
8553
+ description?: string | undefined;
8554
+ prompt?: string | undefined;
8555
+ }>, "many">>;
8556
+ }, "strip", z.ZodTypeAny, {
8557
+ type: "session_init";
8558
+ sessionId: string;
8559
+ slashCommands?: {
8560
+ name: string;
8561
+ description?: string | undefined;
8562
+ prompt?: string | undefined;
8563
+ }[] | undefined;
8564
+ }, {
8565
+ type: "session_init";
8566
+ sessionId: string;
8567
+ slashCommands?: {
8568
+ name: string;
8569
+ description?: string | undefined;
8570
+ prompt?: string | undefined;
8571
+ }[] | undefined;
8572
+ }>;
8465
8573
  declare const TextDeltaEventSchema: z.ZodObject<{
8466
8574
  type: z.ZodLiteral<"text_delta">;
8467
8575
  delta: z.ZodString;
@@ -8834,6 +8942,7 @@ declare const schemas_ResumeSessionRequestSchema: typeof ResumeSessionRequestSch
8834
8942
  declare const schemas_RunAgentRequestSchema: typeof RunAgentRequestSchema;
8835
8943
  declare const schemas_SendMessageRequestSchema: typeof SendMessageRequestSchema;
8836
8944
  declare const schemas_SessionEndEventSchema: typeof SessionEndEventSchema;
8945
+ declare const schemas_SessionInitEventSchema: typeof SessionInitEventSchema;
8837
8946
  declare const schemas_SessionSchema: typeof SessionSchema;
8838
8947
  declare const schemas_SessionStartEventSchema: typeof SessionStartEventSchema;
8839
8948
  declare const schemas_SessionStatusSchema: typeof SessionStatusSchema;
@@ -8853,7 +8962,7 @@ declare const schemas_ToolUseEventSchema: typeof ToolUseEventSchema;
8853
8962
  declare const schemas_TurnCompleteEventSchema: typeof TurnCompleteEventSchema;
8854
8963
  declare const schemas_UpdateAgentRequestSchema: typeof UpdateAgentRequestSchema;
8855
8964
  declare namespace schemas {
8856
- export { schemas_AgentStatusSchema as AgentStatusSchema, schemas_BrowseSkillsRequestSchema as BrowseSkillsRequestSchema, schemas_BrowseSkillsResponseSchema as BrowseSkillsResponseSchema, schemas_CreateAgentRequestSchema as CreateAgentRequestSchema, schemas_CreateSessionRequestSchema as CreateSessionRequestSchema, schemas_ErrorResponseSchema as ErrorResponseSchema, schemas_FileContentSchema as FileContentSchema, schemas_FileEntrySchema as FileEntrySchema, schemas_GitHubSkillSourceSchema as GitHubSkillSourceSchema, schemas_HealthResponseSchema as HealthResponseSchema, schemas_ImageContentSchema as ImageContentSchema, schemas_ListAgentsQuerySchema as ListAgentsQuerySchema, schemas_ListSessionsQuerySchema as ListSessionsQuerySchema, schemas_LocalSkillSourceSchema as LocalSkillSourceSchema, schemas_McpServerConfigSchema as McpServerConfigSchema, schemas_MessageContentSchema as MessageContentSchema, schemas_MessageEventSchema as MessageEventSchema, schemas_MessageSchema as MessageSchema, schemas_OrderQuerySchema as OrderQuerySchema, schemas_PaginatedAgentsSchema as PaginatedAgentsSchema, schemas_PaginatedMessagesSchema as PaginatedMessagesSchema, schemas_PaginatedSessionsSchema as PaginatedSessionsSchema, schemas_PaginationQuerySchema as PaginationQuerySchema, schemas_PermissionModeSchema as PermissionModeSchema, schemas_ReadSkillFileRequestSchema as ReadSkillFileRequestSchema, schemas_ReadSkillFileResponseSchema as ReadSkillFileResponseSchema, schemas_ResumeSessionRequestSchema as ResumeSessionRequestSchema, schemas_RunAgentRequestSchema as RunAgentRequestSchema, schemas_SendMessageRequestSchema as SendMessageRequestSchema, schemas_SessionEndEventSchema as SessionEndEventSchema, schemas_SessionSchema as SessionSchema, schemas_SessionStartEventSchema as SessionStartEventSchema, schemas_SessionStatusSchema as SessionStatusSchema, schemas_SimpleAgentSchema as SimpleAgentSchema, schemas_SkillFileContentSchema as SkillFileContentSchema, schemas_SkillSourceSchema as SkillSourceSchema, schemas_StoredAgentSchema as StoredAgentSchema, schemas_StreamErrorEventSchema as StreamErrorEventSchema, schemas_SuccessResponseSchema as SuccessResponseSchema, schemas_TextContentSchema as TextContentSchema, schemas_TextDeltaEventSchema as TextDeltaEventSchema, schemas_ThinkingDeltaEventSchema as ThinkingDeltaEventSchema, schemas_ToolResultContentSchema as ToolResultContentSchema, schemas_ToolResultEventSchema as ToolResultEventSchema, schemas_ToolUseContentSchema as ToolUseContentSchema, schemas_ToolUseEventSchema as ToolUseEventSchema, schemas_TurnCompleteEventSchema as TurnCompleteEventSchema, schemas_UpdateAgentRequestSchema as UpdateAgentRequestSchema };
8965
+ export { schemas_AgentStatusSchema as AgentStatusSchema, schemas_BrowseSkillsRequestSchema as BrowseSkillsRequestSchema, schemas_BrowseSkillsResponseSchema as BrowseSkillsResponseSchema, schemas_CreateAgentRequestSchema as CreateAgentRequestSchema, schemas_CreateSessionRequestSchema as CreateSessionRequestSchema, schemas_ErrorResponseSchema as ErrorResponseSchema, schemas_FileContentSchema as FileContentSchema, schemas_FileEntrySchema as FileEntrySchema, schemas_GitHubSkillSourceSchema as GitHubSkillSourceSchema, schemas_HealthResponseSchema as HealthResponseSchema, schemas_ImageContentSchema as ImageContentSchema, schemas_ListAgentsQuerySchema as ListAgentsQuerySchema, schemas_ListSessionsQuerySchema as ListSessionsQuerySchema, schemas_LocalSkillSourceSchema as LocalSkillSourceSchema, schemas_McpServerConfigSchema as McpServerConfigSchema, schemas_MessageContentSchema as MessageContentSchema, schemas_MessageEventSchema as MessageEventSchema, schemas_MessageSchema as MessageSchema, schemas_OrderQuerySchema as OrderQuerySchema, schemas_PaginatedAgentsSchema as PaginatedAgentsSchema, schemas_PaginatedMessagesSchema as PaginatedMessagesSchema, schemas_PaginatedSessionsSchema as PaginatedSessionsSchema, schemas_PaginationQuerySchema as PaginationQuerySchema, schemas_PermissionModeSchema as PermissionModeSchema, schemas_ReadSkillFileRequestSchema as ReadSkillFileRequestSchema, schemas_ReadSkillFileResponseSchema as ReadSkillFileResponseSchema, schemas_ResumeSessionRequestSchema as ResumeSessionRequestSchema, schemas_RunAgentRequestSchema as RunAgentRequestSchema, schemas_SendMessageRequestSchema as SendMessageRequestSchema, schemas_SessionEndEventSchema as SessionEndEventSchema, schemas_SessionInitEventSchema as SessionInitEventSchema, schemas_SessionSchema as SessionSchema, schemas_SessionStartEventSchema as SessionStartEventSchema, schemas_SessionStatusSchema as SessionStatusSchema, schemas_SimpleAgentSchema as SimpleAgentSchema, schemas_SkillFileContentSchema as SkillFileContentSchema, schemas_SkillSourceSchema as SkillSourceSchema, schemas_StoredAgentSchema as StoredAgentSchema, schemas_StreamErrorEventSchema as StreamErrorEventSchema, schemas_SuccessResponseSchema as SuccessResponseSchema, schemas_TextContentSchema as TextContentSchema, schemas_TextDeltaEventSchema as TextDeltaEventSchema, schemas_ThinkingDeltaEventSchema as ThinkingDeltaEventSchema, schemas_ToolResultContentSchema as ToolResultContentSchema, schemas_ToolResultEventSchema as ToolResultEventSchema, schemas_ToolUseContentSchema as ToolUseContentSchema, schemas_ToolUseEventSchema as ToolUseEventSchema, schemas_TurnCompleteEventSchema as TurnCompleteEventSchema, schemas_UpdateAgentRequestSchema as UpdateAgentRequestSchema };
8857
8966
  }
8858
8967
 
8859
8968
  /**
@@ -10864,4 +10973,4 @@ declare class AshCloud {
10864
10973
  */
10865
10974
  declare function createAshCloud(options?: Partial<AshCloudOptions>): AshCloud;
10866
10975
 
10867
- export { AVAILABLE_MODELS, type ActionType, type ActiveSession, type AgentBackend, type AgentConfig$1 as AgentConfig, AgentConfigSchema, AgentError, AgentHarness, type AgentHarnessConfig, type AgentHooks, type AgentId, AgentStatus, type AgentStorage, type AgentsRouterOptions$1 as AgentsRouterOptions, AshCloud, AshCloudApiError, AshCloudClient, type AshCloudConfig, type AshCloudError, type AshCloudOptions, type AssistantMessageEntry, type Attachment, type AttachmentConfig, AttachmentConfigSchema, type AttachmentId, AttachmentStorage, type AttachmentStorageConfig, type BackendConfig, type BulkStorage, type BundleStore, type ClaudeAgentOptions, type ClaudeContentBlock, type ClaudeMessage, ClaudeSdkClient, type ClaudeStreamEvent, type ClaudeV2Session, CloudSandbox, type CloudSandboxConfig, CloudStorage, type CloudStorageConfig, type CommandRunAction, type CommandRunResult, ConfigBuilder, ConfigError, type CreateAgentOptions, type CreateQueueItemOptions, type CreateSessionEventOptions, type CreateSessionOptions, CredentialManager, type CredentialManagerConfig, type CredentialStorage, type CustomExecutor, DEFAULT_MODELS, DEFAULT_SANDBOX_PROVIDER_CONFIG, type DiscoveredSkill, type DockerConfig, type EncryptedCredential, type EntryListener, type ErrorEntry, type ErrorEvent, EventCategory, type EventMiddleware, EventSource, type EventStorage, type FileChangeCallback, type FileChangeEvent, type FileChangeType, type FileContent$1 as FileContent, type FileEditAction, type FileEntry, type FileMetadata, type FileProvider, type FileProviderOptions, type FilePullResult, type FilePushResult, type FileReadAction, type FileStore, type FileSyncEvent, type FileSyncEventData, type FileSyncOperation, type FileSyncSource, type FileWatchOptions, FileWatcherManager, type FileWatcherOptions, type FileWatcherStatus, type FileWriteAction, GCSBundleStore, type GCSBundleStoreConfig, GeminiCliClient, type GeminiCliOptions, type GenericToolAction, type GetOrCreateSandboxOptions, GitHubFileProvider, type GitHubSkillConfig, type GitHubSkillResult, type GitHubSkillSource, type GitRepo, type GlobAction, type AgentConfig as HarnessAgentConfig, type HarnessConfig, HarnessConfigSchema, HarnessError, HarnessErrorCode, type HarnessErrorOptions, HarnessEventEmitter, type HarnessEventHandler, type HarnessEventPayloads, type HarnessEventType, type HarnessServer, type HarnessServerConfig, type HarnessServerHooks, type ImageContent, InSandboxWatcher, InSandboxWatcherManager, type InSandboxWatcherOptions, type ListAgentsOptions, type ListMessagesOptions, type ListQueueItemsOptions, type ListSessionEventsOptions, type ListSessionsOptions, type LoadStateResult, LocalBundleStore, LocalFileProvider, LocalSandbox, type LocalSandboxConfig, type LocalSkillSource, type LogContext, type LogEntry, type LogLevel, type Logger, type LoggerConfig, type ManagedWorkspace, type McpAuth, McpConfigBuilder, type McpGenerationResult, type McpHttpServerConfig, McpPresets, type McpServerConfig, type McpServerInfo, type McpServerStatus, McpServers, type McpStatusEvent, type McpStdioServerConfig, type McpTool, type McpToolAction, type McpTransportType, MemoryBundleStore, MemoryCredentialStorage, MemoryQueueStorage, MemoryRateLimitStore, MemoryStorage, MemoryStreamEventStorage, type Message, type MessageContent, type MessageEvent, type MessageId, MessageRole, type NormalizedEntry, type NormalizedEntryType, type NormalizedToolCall, NotFoundError, type OpenAPIServer, type OpenAPIServerConfig, type PaginatedResult, type PaginationOptions, type PooledSandbox, PostgresQueueStorage, type PostgresQueueStorageConfig, PostgresStorage, type PostgresStorageConfig, ProviderSandbox, type ProviderSandboxConfig, type ProxyConfig, type PullOptions, type PushOptions, type QueueItem, QueueItemStatus, QueueProcessor, type QueueProcessorCallbacks, type QueueProcessorConfig, type QueueRouterOptions, type QueueStats, type QueueStorage, type RateLimitConfig, type RateLimitResult, type RateLimitStore, type ReadStreamEventsOptions, type RequestLoggerOptions, type ResumeSessionOptions, type RuntimeConfig, RuntimeConfigBuilder, RuntimePresets, S3BundleStore, type S3BundleStoreConfig, S3FileStore, type S3FileStoreConfig, SENSITIVE_PATHS, type SandboxCommandResult, type SandboxConfig, type SandboxConnection, type SandboxFileOperations, SandboxFileSync, type SandboxFileSyncOptions, SandboxFileWatcher, SandboxGitRepo, type SandboxHeartbeatStatus, type SandboxLogCallback, type SandboxLogCategory$1 as SandboxLogCategory, type SandboxLogEntry$1 as SandboxLogEntry, type SandboxLogEvent, type SandboxLogLevel$1 as SandboxLogLevel, SandboxLogger, SandboxPool, type SandboxPoolConfig, type SandboxPoolMetricsCallback, type SandboxPoolStatus, type SandboxProviderConfig, type SandboxProviderType, type SandboxReadResult, type SandboxWithState, type SandboxWriteResult, type SaveStateResult, type SearchAction, type SendMessageOptions, type SendMessageRequest, type SendMessageResult, type ServerConfig, ServerConfigSchema, type Session, type SessionEndEvent, SessionError, type SessionEvent, type SessionId, SessionManager, type SessionQueueStatus, type SessionStartEvent, SessionStatus, type SessionStoppedEvent, type SessionStorage, type SessionsRouterOptions$1 as SessionsRouterOptions, SkillCatalog, type SkillConfig, SkillManager, type SkillManagerOptions, type SkillSource, type SkillsConfig, type StartServerOptions, type StopSessionResult, type StorageConfig$1 as StorageConfig, StorageConfigSchema, StorageError, type StoredAgent, type StoredStreamEvent, type StreamEvent, type StreamEventRelayOptions, type StreamEventStorage, StreamEventType, StreamEventWriter, type StreamEventWriterOptions, SupabaseBundleStore, type SupabaseBundleStoreConfig, SupabaseStorage, type SupabaseStorageConfig, type SyncResult, type TextContent, type TextDeltaEvent, type ThinkingDeltaEvent, type ThinkingEntry, type TodoItem, type TodoStatus, type TodoWriteAction, type ToolCallEntry, ToolCallProcessor, ToolError, type ToolResult, type ToolResultContent, type ToolResultEvent, type ToolStatus, type ToolUseContent, type ToolUseEvent, type TransactionalStorage, type TurnCompleteEvent, type UpdateAgentOptions, type UserMessageEntry, ValidationError, type WarmSandboxOptions, type WarmSandboxResult, type WarmupSpec, type WebFetchAction, type WebSearchAction, type WebhookBatchPayload, type WebhookConfig, type WebhookDeliveryEventData, type WebhookFileSyncEvent, type WebhookPayload, Workspace, type CommandResult as WorkspaceCommandResult, type WorkspaceConfig, type WorkspaceHook, type WorkspaceLoadResult, WorkspaceManager, type WorkspaceSaveResult, type WorkspaceSessionConfig, attachmentSchema, attachmentToDataUrl, checkSecurityConfig, claudeClient, cleanupAllSandboxes, configureMcp, configureRuntime, convertClaudeMessage, createAgentsRouter$1 as createAgentsRouter, createAshCloud, createBackendExecutor, createCloudSandbox, createConfig, createCredentialManager, createOpenAPIServer as createDocumentedServer, createE2BSandbox, createEventHandler, createEventMiddlewareChain, createFileWatcher, createFileWatcherManager, createGCSBundleStore, createGeminiExecutor, createGitHubFileProvider, createGitRepo, createHarnessServer, createInSandboxWatcher, createInSandboxWatcherManager, createLocalBundleStore, createLocalFileProvider, createLocalSandbox, createLogger, createMemoryBundleStore, createMinioBundleStore, createMinioFileStore, createModalSandbox, createAgentsRouter as createOpenAPIAgentsRouter, createOpenAPIServer, createSessionsRouter as createOpenAPISessionsRouter, createSkillsRouter as createOpenAPISkillsRouter, createProviderSandbox, createQueueProcessor, createQueueRouter, createR2BundleStore, createR2FileStore, createS3BundleStore, createS3FileStore, createSandboxFileOperations, createSandboxFileSync, createSandboxLogger, createSandboxOptions, createSessionWorkspace, createSessionsRouter$1 as createSessionsRouter, createSkillCatalog, createSkillManager, createSupabaseBundleStore, createSupabaseBundleStoreFromEnv, createToolCall, createToolCallProcessor, createVercelSandbox, createVercelSandboxExecutor, createWorkspace, createWorkspaceHooks, createWorkspaceManager, dataUrlToBuffer, defineAgent, defineConfig, ensureSandboxPoolInitialized, env, envOptional, executeCommandInSandbox, extractTextContent, extractTextFromMessage, fileEntrySchema, formatToolName, generateDockerCommand, generateMcpServerPackage, generateMcpServers, generateProxyEnv, generateToolSummary, getActionIcon, getActionLabel, getAllHeartbeatStatuses, getApiKeyEnvVar, getCachedSandbox, getDefaultModel, getFileWatcherManager, getHeartbeatStatus, getInSandboxWatcherManager, getOrCreateSandbox, getSandboxCacheStats, getSandboxPool, getWorkspaceManager, gitHubSkillSourceSchema, globalEventEmitter, hasErrorCode, hashStartupScript, httpMcpWithAuth, initializeSandboxPool, introspectMcpServer, invalidateSandbox, isCommandRunAction, isDocumentMimeType, isErrorEntry, isFileEditAction, isFileReadAction, isFileWriteAction, isGenericToolAction, isGlobAction, isHarnessError, isHttpMcpConfig, isImageMimeType, isMcpToolAction, isSandboxExpiredError, isSandboxRunning, isSearchAction, isSensitivePath, isStdioMcpConfig, isTodoWriteAction, isToolCallEntry, isValidModel, isWebFetchAction, isWebSearchAction, listFilesInSandbox, loadConfig, loadGitHubSkill, loadGitHubSkills, loadWorkspaceState, localSkillSourceSchema, log, mapClaudeOptionsToGemini, mapToolToActionType, markConfigInstalled, markInstallScriptRan, markSdkInstalled, markStartupScriptRan, mcpAuthToHeaders, messageContentSchema, messageSchema, needsStartupScriptRerun, normalizeGitHubConfigs, normalizeMcpServers, normalizeMessages, normalizeToolResult, onHeartbeat, schemas as openApiSchemas, parseCommandResult, parseGitHubUrl, parseMcpToolName, processStreamEvents, rateLimit, rateLimiters, readFileFromSandbox, rekeySessionId, releaseSandbox, requestLogger, saveWorkspaceState, sessionSchema, shouldUseSandbox, shutdownSandboxPool, skillConfigSchema, skillSourceSchema, sseMcpWithAuth, startServer, streamEventRelay, updateToolCallWithResult, warmSandboxForSession, writeFileToSandbox };
10976
+ export { AVAILABLE_MODELS, type ActionType, type ActiveSession, type AgentBackend, type AgentConfig$1 as AgentConfig, AgentConfigSchema, AgentError, AgentHarness, type AgentHarnessConfig, type AgentHooks, type AgentId, AgentStatus, type AgentStorage, type AgentsRouterOptions$1 as AgentsRouterOptions, type AnyMcpServerConfig, AshCloud, AshCloudApiError, AshCloudClient, type AshCloudConfig, type AshCloudError, type AshCloudOptions, type AssistantMessageEntry, type Attachment, type AttachmentConfig, AttachmentConfigSchema, type AttachmentId, AttachmentStorage, type AttachmentStorageConfig, type BackendConfig, type BulkStorage, type BundleStore, type ClaudeAgentOptions, type ClaudeContentBlock, type ClaudeMessage, ClaudeSdkClient, type ClaudeStreamEvent, type ClaudeV2Session, CloudSandbox, type CloudSandboxConfig, CloudStorage, type CloudStorageConfig, type CommandRunAction, type CommandRunResult, ConfigBuilder, ConfigError, type CreateAgentOptions, type CreateQueueItemOptions, type CreateSessionEventOptions, type CreateSessionOptions, CredentialManager, type CredentialManagerConfig, type CredentialStorage, type CustomExecutor, DEFAULT_MODELS, DEFAULT_SANDBOX_PROVIDER_CONFIG, type DiscoveredSkill, type DockerConfig, type EncryptedCredential, type EntryListener, type ErrorEntry, type ErrorEvent, EventCategory, type EventMiddleware, EventSource, type EventStorage, type FileChangeCallback, type FileChangeEvent, type FileChangeType, type FileContent$1 as FileContent, type FileEditAction, type FileEntry, type FileMetadata, type FileProvider, type FileProviderOptions, type FilePullResult, type FilePushResult, type FileReadAction, type FileStore, type FileSyncEvent, type FileSyncEventData, type FileSyncOperation, type FileSyncSource, type FileWatchOptions, FileWatcherManager, type FileWatcherOptions, type FileWatcherStatus, type FileWriteAction, GCSBundleStore, type GCSBundleStoreConfig, GeminiCliClient, type GeminiCliOptions, type GenericToolAction, type GetOrCreateSandboxOptions, GitHubFileProvider, type GitHubSkillConfig, type GitHubSkillResult, type GitHubSkillSource, type GitRepo, type GlobAction, type AgentConfig as HarnessAgentConfig, type HarnessConfig, HarnessConfigSchema, HarnessError, HarnessErrorCode, type HarnessErrorOptions, HarnessEventEmitter, type HarnessEventHandler, type HarnessEventPayloads, type HarnessEventType, type HarnessServer, type HarnessServerConfig, type HarnessServerHooks, type ImageContent, InSandboxWatcher, InSandboxWatcherManager, type InSandboxWatcherOptions, type ListAgentsOptions, type ListMessagesOptions, type ListQueueItemsOptions, type ListSessionEventsOptions, type ListSessionsOptions, type LoadStateResult, LocalBundleStore, LocalFileProvider, LocalSandbox, type LocalSandboxConfig, type LocalSkillSource, type LogContext, type LogEntry, type LogLevel, type Logger, type LoggerConfig, type ManagedWorkspace, type McpAuth, McpConfigBuilder, type McpGenerationResult, type McpHttpServerConfig, McpPresets, type McpServerConfig, type McpServerInfo, type McpServerStatus, McpServers, type McpStatusEvent, type McpStdioServerConfig, type McpTool, type McpToolAction, type McpTransportType, MemoryBundleStore, MemoryCredentialStorage, MemoryQueueStorage, MemoryRateLimitStore, MemoryStorage, MemoryStreamEventStorage, type Message, type MessageContent, type MessageEvent, type MessageId, MessageRole, type NormalizedEntry, type NormalizedEntryType, type NormalizedToolCall, NotFoundError, type OpenAPIServer, type OpenAPIServerConfig, type PaginatedResult, type PaginationOptions, type PooledSandbox, PostgresQueueStorage, type PostgresQueueStorageConfig, PostgresStorage, type PostgresStorageConfig, ProviderSandbox, type ProviderSandboxConfig, type ProxyConfig, type PullOptions, type PushOptions, type QueueItem, QueueItemStatus, QueueProcessor, type QueueProcessorCallbacks, type QueueProcessorConfig, type QueueRouterOptions, type QueueStats, type QueueStorage, type RateLimitConfig, type RateLimitResult, type RateLimitStore, type ReadStreamEventsOptions, type RequestLoggerOptions, type ResumeSessionOptions, type RuntimeConfig, RuntimeConfigBuilder, RuntimePresets, S3BundleStore, type S3BundleStoreConfig, S3FileStore, type S3FileStoreConfig, SENSITIVE_PATHS, type SandboxCommandResult, type SandboxConfig, type SandboxConnection, type SandboxFileOperations, SandboxFileSync, type SandboxFileSyncOptions, SandboxFileWatcher, SandboxGitRepo, type SandboxHeartbeatStatus, type SandboxLogCallback, type SandboxLogCategory$1 as SandboxLogCategory, type SandboxLogEntry$1 as SandboxLogEntry, type SandboxLogEvent, type SandboxLogLevel$1 as SandboxLogLevel, SandboxLogger, SandboxPool, type SandboxPoolConfig, type SandboxPoolMetricsCallback, type SandboxPoolStatus, type SandboxProviderConfig, type SandboxProviderType, type SandboxReadResult, type SandboxWithState, type SandboxWriteResult, type SaveStateResult, type SdkMcpServerConfig, type SearchAction, type SendMessageOptions, type SendMessageRequest, type SendMessageResult, type ServerConfig, ServerConfigSchema, type Session, type SessionEndEvent, SessionError, type SessionEvent, type SessionId, SessionManager, type SessionQueueStatus, type SessionStartEvent, SessionStatus, type SessionStoppedEvent, type SessionStorage, type SessionsRouterOptions$1 as SessionsRouterOptions, SkillCatalog, type SkillConfig, SkillManager, type SkillManagerOptions, type SkillSource, type SkillsConfig, type StartServerOptions, type StopSessionResult, type StorageConfig$1 as StorageConfig, StorageConfigSchema, StorageError, type StoredAgent, type StoredStreamEvent, type StreamEvent, type StreamEventRelayOptions, type StreamEventStorage, StreamEventType, StreamEventWriter, type StreamEventWriterOptions, SupabaseBundleStore, type SupabaseBundleStoreConfig, SupabaseStorage, type SupabaseStorageConfig, type SyncResult, type TextContent, type TextDeltaEvent, type ThinkingDeltaEvent, type ThinkingEntry, type TodoItem, type TodoStatus, type TodoWriteAction, type ToolCallEntry, ToolCallProcessor, ToolError, type ToolResult, type ToolResultContent, type ToolResultEvent, type ToolStatus, type ToolUseContent, type ToolUseEvent, type TransactionalStorage, type TurnCompleteEvent, type UpdateAgentOptions, type UserMessageEntry, ValidationError, type WarmSandboxOptions, type WarmSandboxResult, type WarmupSetupResult, type WarmupSpec, type WebFetchAction, type WebSearchAction, type WebhookBatchPayload, type WebhookConfig, type WebhookDeliveryEventData, type WebhookFileSyncEvent, type WebhookPayload, Workspace, type CommandResult as WorkspaceCommandResult, type WorkspaceConfig, type WorkspaceHook, type WorkspaceLoadResult, WorkspaceManager, type WorkspaceSaveResult, type WorkspaceSessionConfig, attachmentSchema, attachmentToDataUrl, checkSecurityConfig, claudeClient, cleanupAllSandboxes, configureMcp, configureRuntime, convertClaudeMessage, createAgentsRouter$1 as createAgentsRouter, createAshCloud, createBackendExecutor, createCloudSandbox, createConfig, createCredentialManager, createOpenAPIServer as createDocumentedServer, createE2BSandbox, createEventHandler, createEventMiddlewareChain, createFileWatcher, createFileWatcherManager, createGCSBundleStore, createGeminiExecutor, createGitHubFileProvider, createGitRepo, createHarnessServer, createInSandboxWatcher, createInSandboxWatcherManager, createLocalBundleStore, createLocalFileProvider, createLocalSandbox, createLogger, createMemoryBundleStore, createMinioBundleStore, createMinioFileStore, createModalSandbox, createAgentsRouter as createOpenAPIAgentsRouter, createOpenAPIServer, createSessionsRouter as createOpenAPISessionsRouter, createSkillsRouter as createOpenAPISkillsRouter, createProviderSandbox, createQueueProcessor, createQueueRouter, createR2BundleStore, createR2FileStore, createS3BundleStore, createS3FileStore, createSandboxFileOperations, createSandboxFileSync, createSandboxLogger, createSandboxOptions, createSessionWorkspace, createSessionsRouter$1 as createSessionsRouter, createSkillCatalog, createSkillManager, createSupabaseBundleStore, createSupabaseBundleStoreFromEnv, createToolCall, createToolCallProcessor, createVercelSandbox, createVercelSandboxExecutor, createWorkspace, createWorkspaceHooks, createWorkspaceManager, dataUrlToBuffer, defineAgent, defineConfig, ensureSandboxPoolInitialized, env, envOptional, executeCommandInSandbox, extractTextContent, extractTextFromMessage, fileEntrySchema, formatToolName, generateDockerCommand, generateMcpServerPackage, generateMcpServers, generateProxyEnv, generateToolSummary, getActionIcon, getActionLabel, getAllHeartbeatStatuses, getApiKeyEnvVar, getCachedSandbox, getDefaultModel, getFileWatcherManager, getHeartbeatStatus, getInSandboxWatcherManager, getOrCreateSandbox, getSandboxCacheStats, getSandboxPool, getWorkspaceManager, gitHubSkillSourceSchema, globalEventEmitter, hasErrorCode, hashStartupScript, httpMcpWithAuth, initializeSandboxPool, introspectMcpServer, invalidateSandbox, isCommandRunAction, isDocumentMimeType, isErrorEntry, isFileEditAction, isFileReadAction, isFileWriteAction, isGenericToolAction, isGlobAction, isHarnessError, isHttpMcpConfig, isImageMimeType, isMcpToolAction, isSandboxExpiredError, isSandboxRunning, isSearchAction, isSensitivePath, isStdioMcpConfig, isTodoWriteAction, isToolCallEntry, isValidModel, isWebFetchAction, isWebSearchAction, listFilesInSandbox, loadConfig, loadGitHubSkill, loadGitHubSkills, loadWorkspaceState, localSkillSourceSchema, log, mapClaudeOptionsToGemini, mapToolToActionType, markConfigInstalled, markInstallScriptRan, markSdkInstalled, markStartupScriptRan, mcpAuthToHeaders, messageContentSchema, messageSchema, needsStartupScriptRerun, normalizeGitHubConfigs, normalizeMcpServers, normalizeMessages, normalizeToolResult, onHeartbeat, schemas as openApiSchemas, parseCommandResult, parseGitHubUrl, parseMcpToolName, processStreamEvents, rateLimit, rateLimiters, readFileFromSandbox, rekeySessionId, releaseSandbox, requestLogger, saveWorkspaceState, sessionSchema, shouldUseSandbox, shutdownSandboxPool, skillConfigSchema, skillSourceSchema, sseMcpWithAuth, startServer, streamEventRelay, updateToolCallWithResult, warmSandboxForSession, writeFileToSandbox };