/** * Parser for the worker-to-server `taskResult` message. * * `taskResult` is a discriminated union over status `completed | failed | * cancelled`. Variant dispatch uses a `satisfies Record` * lookup so adding a new variant becomes a compile-time error. This cluster is * split out of `./protocol.ts` so the canonical parser module stays focused on * the top-level schema-to-guard dispatch a reviewer audits. * * @module worker/protocol-task-result */ import type { RemoteWorkerProtocolParseResult } from './protocol-internals.ts'; import type { CancelledTaskResultMessage, CompletedTaskResultMessage, FailedTaskResultMessage } from './protocol-messages.ts'; /** * Worker-to-server task result message. Discriminated union over `status`. * * @example * ```ts * import type { TaskResultMessage } from '@lostgradient/weft/worker-protocol'; * * const message: TaskResultMessage = { * type: 'taskResult', operationId: 'op-1', status: 'completed', value: { ok: true }, * attemptToken: 'attempt-token', * }; * ``` */ export type TaskResultMessage = CompletedTaskResultMessage | FailedTaskResultMessage | CancelledTaskResultMessage; /** Parse and validate a worker-to-server `taskResult` message into its typed variant. */ export declare function parseTaskResultMessage(record: Record): RemoteWorkerProtocolParseResult;