/** * `weft.catalog.diagnostics` operation + REST binding (WFT-12). * * Read-only, bounded diagnostics for one `(name, revision)` workflow * catalog entry: whether it is installed, whether it is currently active, * its full reference-count breakdown, and whether it would currently be * removable. No REST/JSON-RPC removal surface exists this batch — removal * (`removeWorkflowRevision`) is a plain in-process function, not a wire * operation, per the coordinator's "single bounded diagnostics operation" * steer. * * Static, not factory-built — unlike `get-worker-diagnostics.ts`'s injected * `WorkerRegistry`, this operation needs no per-server state beyond the * live `engine` every `invoke` already receives, matching * `get-retention-overview.ts`'s shape. * * @module server/operations/get-catalog-diagnostics */ import { z } from 'zod'; import type { UnknownRestBinding } from '../rest-bindings.ts'; declare const getCatalogDiagnosticsInput: z.ZodObject<{ name: z.ZodString; revision: z.ZodString; }, z.core.$strict>; declare const getCatalogDiagnosticsOutput: z.ZodObject<{ name: z.ZodString; revision: z.ZodString; installed: z.ZodBoolean; active: z.ZodBoolean; activeRevision: z.ZodOptional; references: z.ZodObject<{ registeredDefinitions: z.ZodNumber; inFlightStarts: z.ZodNumber; nonTerminalRuns: z.ZodNumber; pinnedSchedules: z.ZodNumber; pendingDispatches: z.ZodNumber; activeExecutionRealms: z.ZodNumber; retainedRecoveryRecords: z.ZodNumber; }, z.core.$strict>; removable: z.ZodBoolean; source: z.ZodOptional; requestedRevision: z.ZodString; state: z.ZodEnum<{ failed: "failed"; cancelled: "cancelled"; idle: "idle"; loading: "loading"; ready: "ready"; }>; loadDurationMs: z.ZodOptional; lastFailureCategory: z.ZodOptional>; waiterCount: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; export type GetCatalogDiagnosticsInput = z.infer; export type GetCatalogDiagnosticsOutput = z.infer; /** * `weft.catalog.diagnostics`: bounded, per-`(name, revision)` diagnostics * for the durable workflow catalog. Requires `system:read`. Never returns * manifest or contract content — only identity, active-pointer state, and * low-cardinality reference counts, matching the repository's "metrics * remain low-cardinality" observability convention. * * @example * ```ts * import { HttpClient } from '@lostgradient/weft/client'; * * const client = new HttpClient({ baseUrl: 'https://weft.example.com' }); * const diagnostics = await client.operations['weft.catalog.diagnostics']({ * name: 'checkout', * revision: 'some-revision', * }); * console.log(diagnostics.installed, diagnostics.removable); * ``` */ export declare const getCatalogDiagnosticsOperation: import("../operation-catalog.ts").OperationDefinition<{ name: string; revision: string; }, { name: string; revision: string; installed: boolean; active: boolean; references: { registeredDefinitions: number; inFlightStarts: number; nonTerminalRuns: number; pinnedSchedules: number; pendingDispatches: number; activeExecutionRealms: number; retainedRecoveryRecords: number; }; removable: boolean; activeRevision?: string | undefined; source?: { kind: "module"; requestedRevision: string; state: "failed" | "cancelled" | "idle" | "loading" | "ready"; waiterCount: number; loadDurationMs?: number | undefined; lastFailureCategory?: "application" | "timeout" | "cancellation" | "resource" | "system" | undefined; } | undefined; }, unknown>; /** REST binding for `weft.catalog.diagnostics`: `GET /v1/catalog/:name/revisions/:revision/diagnostics`. */ export declare const getCatalogDiagnosticsRestBinding: UnknownRestBinding; export {};