/** * `weft.workers.diagnostics` operation + REST binding. * * Bounded diagnostic detail for one connected worker (WFT-29), split into * two structurally distinct sub-objects: `instance` (this live socket — * queue, health, connection timestamps) and `deploymentVersion` (what * artifact it loaded — SDK/runtime identity, manifest digest, and every * advertised workflow's version/revision/contract hash). Keeping these * separate mirrors the manifest's own split between "which process" and * "which build" questions. * * Deliberately excludes `capabilities` and the raw payload schemas backing * each `contractHash` — this surfaces identity for drift detection, not a * schema dump. * * @module server/operations/get-worker-diagnostics */ import { z } from 'zod'; import type { WorkerHealth, WorkerRegistry } from '../../worker/registry.ts'; import type { UnknownRestBinding } from '../rest-bindings.ts'; declare const workerDiagnosticsEntrySchema: z.ZodObject<{ instance: z.ZodObject<{ workerId: z.ZodString; queue: z.ZodString; health: z.ZodType>; connectedAt: z.ZodNumber; startedAt: z.ZodNumber; lastHeartbeatAt: z.ZodNumber; heartbeatAgeMs: z.ZodNumber; }, z.core.$strict>; deploymentVersion: z.ZodObject<{ deploymentName: z.ZodString; buildId: z.ZodString; artifactDigest: z.ZodString; runtimeName: z.ZodString; runtimeVersion: z.ZodString; sdkVersion: z.ZodString; manifestVersion: z.ZodNumber; protocolVersion: z.ZodNumber; manifestDigest: z.ZodString; workflows: z.ZodRecord>; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>; declare const getWorkerDiagnosticsInput: z.ZodObject<{ workerId: z.ZodString; }, z.core.$strip>; declare const getWorkerDiagnosticsOutput: z.ZodObject<{ worker: z.ZodNullable>; connectedAt: z.ZodNumber; startedAt: z.ZodNumber; lastHeartbeatAt: z.ZodNumber; heartbeatAgeMs: z.ZodNumber; }, z.core.$strict>; deploymentVersion: z.ZodObject<{ deploymentName: z.ZodString; buildId: z.ZodString; artifactDigest: z.ZodString; runtimeName: z.ZodString; runtimeVersion: z.ZodString; sdkVersion: z.ZodString; manifestVersion: z.ZodNumber; protocolVersion: z.ZodNumber; manifestDigest: z.ZodString; workflows: z.ZodRecord>; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>>; }, z.core.$strip>; export type GetWorkerDiagnosticsInput = z.infer; export type WorkerDiagnosticsEntry = z.infer; export type GetWorkerDiagnosticsOutput = z.infer; type GetWorkerDiagnosticsOptions = { workerRegistry?: WorkerRegistry; clock?: () => number; }; /** * Build the `weft.workers.diagnostics` operation, optionally bound to a live * `WorkerRegistry` and clock. Mirrors `createListWorkersOperation`'s * discovery-only fallback: when `workerRegistry` is omitted, `invoke` throws * if reached — reserved for discovery-only registries (OpenAPI/AsyncAPI). */ export declare function createGetWorkerDiagnosticsOperation(options?: GetWorkerDiagnosticsOptions): import("../operation-catalog.ts").OperationDefinition<{ workerId: string; }, { worker: { instance: { workerId: string; queue: string; health: WorkerHealth; connectedAt: number; startedAt: number; lastHeartbeatAt: number; heartbeatAgeMs: number; }; deploymentVersion: { deploymentName: string; buildId: string; artifactDigest: string; runtimeName: string; runtimeVersion: string; sdkVersion: string; manifestVersion: number; protocolVersion: number; manifestDigest: string; workflows: Record; }>; }; } | null; }, unknown>; /** Default discovery-only operation; live servers use `createGetWorkerDiagnosticsOperation(...)`. */ export declare const getWorkerDiagnosticsOperation: import("../operation-catalog.ts").OperationDefinition<{ workerId: string; }, { worker: { instance: { workerId: string; queue: string; health: WorkerHealth; connectedAt: number; startedAt: number; lastHeartbeatAt: number; heartbeatAgeMs: number; }; deploymentVersion: { deploymentName: string; buildId: string; artifactDigest: string; runtimeName: string; runtimeVersion: string; sdkVersion: string; manifestVersion: number; protocolVersion: number; manifestDigest: string; workflows: Record; }>; }; } | null; }, unknown>; /** * Build the REST binding for `weft.workers.diagnostics`. The binding is * metadata only; the live `WorkerRegistry` is wired into the operation. */ export declare function createGetWorkerDiagnosticsRestBinding(): UnknownRestBinding; export {};