import type { DurableSessionRuntime, DurableSessionRuntimeFactory } from '@fabric-harness/sdk'; import type { SessionRuntime, TemporalClientOptions } from './types.js'; /** * Build a `DurableSessionRuntimeFactory` for `init({ sessionRuntime })` that * delegates each session's `prompt`/`task`/`shell`/`checkpoint` calls to a * Temporal workflow. * * The Temporal client connection is opened lazily on the first session and * shared across all sessions produced by this factory. * * Pair with `runtime: 'temporal'` for production deployments. For tests, pass * `mode: 'mock'` to use the in-process mock runtime. * * ```ts * import { init } from '@fabric-harness/sdk'; * import { temporalSessionRuntime } from '@fabric-harness/temporal'; * * const fabric = await init({ * runtime: 'temporal', * sessionRuntime: temporalSessionRuntime({ * address: 'localhost:7233', * namespace: 'default', * taskQueue: 'fabric-harness', * }), * }); * * const session = await fabric.session(); * await session.prompt('Triage issue #42'); * ``` */ export declare function temporalSessionRuntime(options?: TemporalClientOptions): DurableSessionRuntimeFactory; /** * Adapt any `SessionRuntime` (Temporal-backed, Mock, or otherwise) into the * SDK's `DurableSessionRuntime` shape. The two interfaces are structurally * identical, but the type bridging keeps SDK types out of the temporal * package's public API. */ export declare function adaptSessionRuntime(runtime: SessionRuntime): DurableSessionRuntime; //# sourceMappingURL=factory.d.ts.map