/** * Agent-breed abstraction layer. * * Different AI agent runtimes (Claude Code, Codex, generic) have different * tool naming conventions and preferred interaction modes. ToolProfiles map * canonical tool names to agent-specific aliases and configure defaults. * * Usage: * const profile = getToolProfile("codex"); * const toolName = profile.toolAliases["workspace_exec"] ?? "workspace_exec"; */ export interface ToolProfile { /** Profile identifier (e.g. "claude-code", "codex", "generic"). */ name: string; /** * Maps canonical tool names to agent-specific aliases. * If a canonical name is not in the map, use it as-is. * * Example: { "workspace_apply_patch": "apply_patch" } means Codex * agents see the tool as "apply_patch" instead of "workspace_apply_patch". */ toolAliases: Record; /** * Preferred shell execution mode for this agent breed. * * - "stateless": Each command runs in a fresh shell (workspace_exec). * Better for agents that issue independent, self-contained commands. * - "persistent": Commands run in a persistent session (workspace_shell). * Better for agents that rely on cd, env vars, and shell state. */ defaultShellMode: "stateless" | "persistent"; } /** * Get a tool profile by name. * * @param profileName - Profile identifier. Falls back to "generic" if * not recognized or not provided. * @returns The matching ToolProfile. */ export declare function getToolProfile(profileName?: string): ToolProfile; /** * Resolve a canonical tool name to the agent-specific alias * for the given profile. * * @param profile - The active tool profile. * @param canonicalName - The canonical tool name (e.g. "workspace_exec"). * @returns The alias if one exists, otherwise the canonical name. */ export declare function resolveToolName(profile: ToolProfile, canonicalName: string): string; /** * Build a reverse lookup from alias back to canonical name. * Useful when receiving tool calls from agents that use aliases. * * @param profile - The active tool profile. * @returns A map from alias to canonical name. */ export declare function buildReverseLookup(profile: ToolProfile): Record; /** * List all available profile names. */ export declare function listProfileNames(): string[]; //# sourceMappingURL=toolProfiles.d.ts.map