/** * Multi-agent support utilities for Signet. * * Handles agent discovery, scaffolding, identity file resolution, * and per-agent skill filtering. */ import type { AgentDefinition, ReadPolicy } from "./types"; export type AgentRosterReadPolicy = "isolated" | "shared" | "group"; export interface NormalizedAgentRosterEntry { readonly name: string; readonly readPolicy: AgentRosterReadPolicy; readonly policyGroup: string | null; } /** * Scans {agentsDir}/agents/* subdirectories and returns a minimal * AgentDefinition for each one found. Returns [] when agents/ is absent. */ export declare function discoverAgents(agentsDir: string): AgentDefinition[]; /** * Creates {agentsDir}/agents/{name}/ and writes stub identity files * (SOUL.md, IDENTITY.md) if they don't already exist. */ export declare function scaffoldAgent(name: string, agentsDir: string): void; /** * Returns a map of filename → absolute path for each identity file that * exists on disk for the given agent. * * Inheritance rules: * - Check `~/.agents/agents/{name}/{file}` first. * - Fall back to root-level `~/.agents/{file}` when the agent has no override. */ export declare function getAgentIdentityFiles(name: string, agentsDir: string): Record; export declare function normalizeAgentRosterEntry(entry: unknown): NormalizedAgentRosterEntry | null; export declare function buildAgentMemoryConfig(readPolicy: AgentRosterReadPolicy, policyGroup: string | null): { readonly read_policy: ReadPolicy; }; /** * Returns the subset of `allSkills` available to the given agent. * * - `undefined` / `null` skills → all skills pass through. * - Empty array → no skills. * - Non-empty array → intersection with `allSkills`. */ export declare function resolveAgentSkills(agentDef: AgentDefinition, allSkills: readonly string[]): string[]; //# sourceMappingURL=agents.d.ts.map