import type { ManagedResource } from "../resource-managers/types.js"; import { type JsonValue } from "../state/json.js"; export declare const RESOURCE_RUNNER_LAUNCH_SCHEMA: "pi-workflows.controller-worker-launch.v1"; export declare const RESOURCE_RUNNER_MESSAGE_SCHEMA: "pi-workflows.controller-worker-message.v1"; export declare const RESOURCE_RUNNER_RESPONSE_SCHEMA: "pi-workflows.controller-worker-response.v1"; export type ResourceRunnerLaunchEnvelope = { schema: typeof RESOURCE_RUNNER_LAUNCH_SCHEMA; runnerEpoch: string; serverEpoch: number; generation: number; projectPath: string; definitionPath: string; resourceManagerName: string; resource: ManagedResource; timeoutMs: number; }; export type ResourceRunnerOperation = "runner.ready" | "effect.reserve" | "effect.settle" | "workflow.ensure" | "workflow.changeSettings" | "workflow.queueFollowUp" | "workflow.removeFollowUp" | "runner.finished" | "runner.failed"; export type ResourceRunnerMessage = { schema: typeof RESOURCE_RUNNER_MESSAGE_SCHEMA; launchSchema: typeof RESOURCE_RUNNER_LAUNCH_SCHEMA; messageId: string; runnerEpoch: string; generation: number; operation: ResourceRunnerOperation; payload: JsonValue; }; export type ResourceRunnerResponse = { schema: typeof RESOURCE_RUNNER_RESPONSE_SCHEMA; messageId: string; outcome: "accepted" | "rejected" | "claimLost"; result?: JsonValue; error?: string; }; export declare function encodeResourceRunnerLine(value: ResourceRunnerMessage | ResourceRunnerResponse): Buffer; export declare function parseResourceRunnerMessage(frame: Buffer): ResourceRunnerMessage; export declare function parseResourceRunnerResponse(frame: Buffer): ResourceRunnerResponse;