/** * The three target shapes the registry stores, one per `TargetKind`. * * Cross-package references (`AgentDriver`, `ModelEntry`, `Connector`) are * `import type` only — the registry carries no runtime dependency on bridge or * connectors, so no import cycle is introduced. */ import type { AgentDriver, ModelEntry } from "@skaile/workspaces/bridge"; import type { Connector } from "@skaile/workspaces/connectors-shared"; import type { z } from "zod"; import type { ConnectorContext, DeployContext, DriverContext } from "./context.js"; import type { DeployHandle } from "./deploy-handle.js"; /** A registrable LLM driver backend. */ export interface DriverTarget { readonly id: string; readonly displayName: string; readonly apiVersion: 1; readonly configSchema: z.ZodType; /** Backend runs against any provider/model rather than a fixed one. Defaults to `false`. */ readonly modelAgnostic?: boolean; /** Backend can abort an in-flight turn without tearing the process down. Defaults to `false`. */ readonly supportsInBandAbort?: boolean; create(config: C, ctx: DriverContext): Promise; listModels?(apiKeys: Record): Promise; } /** A registrable connector backend. */ export interface ConnectorTarget { readonly id: string; readonly displayName: string; readonly apiVersion: 1; readonly configSchema: z.ZodType; create(config: C, ctx: ConnectorContext): Connector; } /** A registrable deploy target (where a workspace is stood up and reached over WS). */ export interface DeployTarget { readonly id: string; readonly displayName: string; readonly apiVersion: 1; readonly tlsTermination: "edge" | "self" | "none"; readonly configSchema: z.ZodType; readonly payloadSchema: z.ZodType; create(config: C, ctx: DeployContext): Promise>; restore(payload: S, ctx: DeployContext): Promise>; } //# sourceMappingURL=targets.d.ts.map