/** * Agent specialty profiles — used by Agim (Loop parent / call_agents) to * pick the right CLI Subagent. Agim Agent itself is the orchestrator and * is intentionally omitted. * * SSOT for builtin defaults lives here. Operators override via * `config.agentProfiles` (Settings → Agents). Effective = defaults ⊕ overrides. * * Structured `capabilities` (coding / finance / zhWriting / reasoning / * dataCheck) sit beside free-text strengths so Agim can compare CLI agents * with same-family backends (see backend-profiles.ts) on the same dims. */ import { type CapabilityMap, type CapabilityNotes } from './capability-dims.js'; export interface AgentProfile { /** One-line specialty (shown in Settings + injected into prompts). */ summary: string; /** What this agent is good at. */ strengths: string[]; /** What to avoid assigning. */ avoid: string[]; /** Short English tags for matching / UI chips. */ tags: string[]; /** Structured ratings on the shared capability dims. */ capabilities: CapabilityMap; /** Optional per-dim notes (e.g. finance: "非专长"). */ capabilityNotes?: CapabilityNotes; } export type { CapabilityDim, CapabilityLevel, CapabilityMap, CapabilityNotes, } from './capability-dims.js'; export { CAPABILITY_DIMS, CAPABILITY_LEVELS, CAPABILITY_DIM_LABELS_ZH, CAPABILITY_DIM_LABELS_EN, CAPABILITY_LEVEL_LABELS_ZH, CAPABILITY_LEVEL_LABELS_EN, } from './capability-dims.js'; /** Canonical non-Agim built-in adapter ids (registry names). */ export declare const NON_AGIM_AGENT_IDS: readonly ["claude-code", "codex", "copilot", "opencode", "antigravity", "cursor", "kimi-code", "qoder", "pi", "mimo"]; export type NonAgimAgentId = (typeof NON_AGIM_AGENT_IDS)[number]; export declare function isNonAgimAgentId(id: string | undefined | null): id is NonAgimAgentId; /** Builtin defaults — keep summaries actionable for call_agents routing. */ export declare const DEFAULT_AGENT_PROFILES: Record; /** Sparse override/input — capabilities may omit dims (filled from fallback). */ export type AgentProfilePatch = Omit, 'capabilities'> & { capabilities?: Partial; }; export declare function normalizeAgentProfile(raw: AgentProfilePatch | null | undefined, fallback?: AgentProfile): AgentProfile; export type AgentProfileOverrides = Record; /** Merge builtin defaults with config overrides (canonical ids only). */ export declare function mergeAgentProfiles(overrides?: AgentProfileOverrides | null): Record; /** Persist only profiles that differ from builtin defaults. */ export declare function agentProfileOverridesFromEffective(effective: Record): AgentProfileOverrides; export declare function profilesEqual(a: AgentProfile, b: AgentProfile): boolean; /** * Compact catalog for system / tool prompts. Prefer enabled agents when * provided; always skip Agim (orchestrator, not a Subagent specialty). */ export declare function formatAgentProfilesForPrompt(profiles: Record, opts?: { enabledAgents?: string[]; maxAgents?: number; }): string; /** Load overrides from a Config-like object. */ export declare function readAgentProfileOverrides(config: unknown): AgentProfileOverrides; export declare function resolveAgentProfiles(config?: unknown): Record; /** * Live catalog for Agim system / tool prompts: CLI agents + same-family * backends (capability matrix on both sides). */ export declare function getAgentProfilesCatalogForPrompt(): string; //# sourceMappingURL=agent-profiles.d.ts.map