import type { Sandbox } from '@cloudflare/sandbox'; import type { OpenhandsOptions, OpenhandsServer } from './types'; /** * Starts an agent-server inside a Sandbox container. * * This function manages the server lifecycle only. If an agent-server is already * running on the specified port, this function will reuse it instead of starting * a new one. * * @param sandbox - The Sandbox instance to run agent-server in * @param options - Configuration options * @returns Promise resolving to server handle { port, url, previewUrl?, close() } * * @example * ```typescript * import { getSandbox } from '@cloudflare/sandbox' * import { createOpenhandsServer } from 'openhands-sdk/openhands' * * const sandbox = getSandbox(env.Sandbox, 'my-sandbox') * const server = await createOpenhandsServer(sandbox, { * port: 8001, * exposePort: true, * hostname: 'yourdomain.com' * }) * * // Proxy requests to the server * return sandbox.containerFetch(request, server.port) * * // When done * await server.close() * ``` */ export declare function createOpenhandsServer(sandbox: Sandbox, options?: OpenhandsOptions): Promise; /** * Proxy a request to the agent-server. * * This function handles proxying only - you must start the server separately * using `createOpenhandsServer()`. * * @param request - The incoming HTTP request * @param sandbox - The Sandbox instance running agent-server * @param server - The agent-server handle from createOpenhandsServer() * @returns Response from agent-server * * @example * ```typescript * import { getSandbox } from '@cloudflare/sandbox' * import { createOpenhandsServer, proxyToOpenhands } from 'openhands-sdk/openhands' * * export default { * async fetch(request: Request, env: Env) { * const sandbox = getSandbox(env.Sandbox, 'my-sandbox') * const server = await createOpenhandsServer(sandbox, { * port: 8001, * exposePort: true, * hostname: 'yourdomain.com' * }) * return proxyToOpenhands(request, sandbox, server) * } * } * ``` */ export declare function proxyToOpenhands(request: Request, sandbox: Sandbox, server: OpenhandsServer): Response | Promise; //# sourceMappingURL=openhands.d.ts.map