/** * Remote Execution — remote resume builder (2.14.0 → 3.0.0 bridge). * * Builds a `RemoteMissionExecutor` for a resolved durable child session, mirroring * `buildChildResumeExecutor` but with a remote transport instead of local spawn. * With the synchronised modern runtime, the remote child uses the durable * `--child-mission` / `--session-id` path: the SAME child session file is * materialised onto the target and the child continues the SAME logical mission * (continue-not-replay), never an unrelated subordinate session. */ import type { BuildAssignedExecutor } from "../assignment/assignment-control-service.js"; import { type BuiltChildResume } from "../durable-child-session/child-session-restore.js"; import type { DurableMissionRecord } from "../mission-domain/durable-store.js"; import type { ProcessMissionVerifier } from "../mission-domain/process-mission-executor.js"; import type { SessionManager } from "../session-manager.js"; import { type RemoteMissionExecutorOptions } from "./remote-mission-executor.js"; import type { RemoteExecutionTarget } from "./remote-target-types.js"; import type { RemoteChildLaunch, RemoteCommandRunner, RemoteExecutionTransport } from "./remote-transport.js"; /** * Legacy projection prompt (kept for the explicitly-flagged temporary mode only; * never used by ordinary orchestration once a synchronised runtime is present). */ export declare function buildRemoteTaskPrompt(record: DurableMissionRecord): string; export interface BuildRemoteChildResumeOptions { record: DurableMissionRecord; childSessionId: string; target: RemoteExecutionTarget; transport: RemoteExecutionTransport & RemoteCommandRunner; /** Resolved session manager (enables the modern durable child-session path). */ sessionManager?: SessionManager; /** Override the materialised child session file content (else read from the session manager). */ sessionFileContent?: string; /** Concrete remote child launch (remote jensen CLI command). */ buildRemoteLaunch: (input: { request: DurableMissionRecord["request"]; resumePrompt: string; childSessionId: string; workspaceDir: string; agentDir: string; sessionDir: string; }) => RemoteChildLaunch; /** Materialised remote models.json content (ephemeral protected config). */ modelsJson: string; /** Absolute remote temp root for execution-scoped workspaces. */ remoteTempRoot: string; /** Remote-relative files to hash before/after (location proof). */ evidenceFiles?: string[]; /** Initial workspace files to materialise on the target (remote-relative). */ workspaceFiles?: (request: DurableMissionRecord["request"]) => { path: string; content: string; }[]; executorId?: string; verifier?: ProcessMissionVerifier; /** Shared-inference admission wiring (reverse tunnel + token issuer). */ admission?: RemoteMissionExecutorOptions["admission"]; /** Remote execution timeout (ms). */ timeoutMs?: number; } /** * Build the continue-not-replay remote executor from a resolved session. When a * `sessionManager` is supplied, the remote child resumes the SAME durable * child session via `--child-mission` / `--session-id`. */ export declare function buildRemoteChildResumeExecutor(options: BuildRemoteChildResumeOptions): BuiltChildResume; export interface BuildRemoteAssignedExecutorOptions { executorId: string; target: RemoteExecutionTarget; transport: RemoteExecutionTransport & RemoteCommandRunner; /** Absolute path to the synchronised remote Jensen CLI JS entry. */ remoteCliEntry: string; /** Materialised remote models.json content (ephemeral protected config). */ modelsJson: string; /** Absolute remote temp root for execution-scoped workspaces. */ remoteTempRoot: string; /** Remote-relative files to hash before/after (location proof). */ evidenceFiles?: string[]; /** Initial workspace files to materialise on the target (remote-relative). */ workspaceFiles?: (request: DurableMissionRecord["request"]) => { path: string; content: string; }[]; verifier?: ProcessMissionVerifier; /** Shared-inference admission wiring (reverse tunnel + token issuer). */ admission?: RemoteMissionExecutorOptions["admission"]; /** Remote execution timeout (ms). */ timeoutMs?: number; } /** * Build the worker's remote executor factory for a remote-bound executor. The * returned `BuildAssignedExecutor` produces a `RemoteMissionExecutor` that runs * the synchronised current Jensen CLI on the target with the materialised agent * dir and the durable child-session path. */ export declare function buildRemoteAssignedExecutor(options: BuildRemoteAssignedExecutorOptions): BuildAssignedExecutor; //# sourceMappingURL=remote-resume.d.ts.map