import type { AgentApi } from "@opencode-ai/client/effect/api" import type { Agent } from "@opencode-ai/schema/agent" import type { Effect, Types } from "effect" import type { Transform } from "./registration.js" export interface AgentDraft { list(): readonly Types.DeepMutable[] get(id: string): Types.DeepMutable | undefined default(id: string | undefined): void update(id: string, update: (agent: Types.DeepMutable) => void): void remove(id: string): void } export interface AgentDomain extends AgentApi { readonly transform: Transform readonly reload: () => Effect.Effect }