/** * Catalog-derived agent projections and the scoped agent read-model API. * * All agents share the same declared, actual, and detected projectors. The * canonical capability catalog carries genuine per-agent variance, so adding * an agent does not require a placeholder module or registry edit here. */ import * as Effect from "effect/Effect"; import * as Option from "effect/Option"; import { type AgentDescriptor, type AgentId, type ConfigurableAgentId } from "../../../agents/types.js"; import type { SettingsReadError } from "../errors.js"; import type { Scope } from "../types.js"; import { type ActualAgent, type AgentModule, type AgentScannerObservations, type DeclaredAgent, type DeclaredSettingsShape, type DetectedAgent } from "./types.js"; export type { ActualAgent, AgentModule, AgentScannerObservations, AgentSubjectType, DeclaredAgent, DeclaredSettingsShape, DetectedAgent, DetectionStatus, } from "./types.js"; export { defineAgentModule } from "./types.js"; /** Every configurable catalog agent, in canonical order. */ export declare const registeredAgentModules: ReadonlyArray>; /** Build the common projector module for one catalog agent. */ export declare const getAgentModule: (id: TId) => AgentModule; /** Public shape of `ctx.scope(scope).agents`. */ export interface ScopedAgentsApi { readonly list: Effect.Effect>; readonly known: Effect.Effect>; readonly byId: (id: string) => Option.Option; readonly declared: (id: AgentId) => Effect.Effect, SettingsReadError>; readonly actual: (id: AgentId) => Effect.Effect>; readonly detected: Effect.Effect>; } /** Dependency-closed inputs captured by the scoped agent API. */ export interface ScopedAgentsApiDeps { readonly scope: Scope; readonly settings: Effect.Effect, SettingsReadError>; readonly presence: Effect.Effect>; readonly observations: Effect.Effect; } /** Build the agent portion of a scoped workspace read model. */ export declare const makeScopedAgentsApi: (deps: ScopedAgentsApiDeps) => ScopedAgentsApi; //# sourceMappingURL=index.d.ts.map