/**
 * MCP Tool Definitions
 *
 * JSON Schema definitions for every tool exposed by the Crewly MCP server.
 * Extracted from `mcp-server.ts` so that the server module can stay focused
 * on routing + lifecycle, while tool contracts live on their own.
 *
 * Each entry describes the tool's public shape: `name`, `description`, and
 * `inputSchema`. The server advertises these verbatim in response to the
 * MCP `tools/list` request and uses the `name` to dispatch `tools/call`.
 *
 * @module services/mcp-tool-definitions
 */
/**
 * MCP tool definitions for Crewly capabilities.
 * Each tool has a name, description, and JSON Schema for its input.
 */
export declare const TOOL_DEFINITIONS: readonly [{
    readonly name: "crewly_get_teams";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly teamId: {
                readonly type: "string";
                readonly description: "Optional: filter to a specific team by ID";
            };
        };
    };
}, {
    readonly name: "crewly_create_team";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly name: {
                readonly type: "string";
                readonly description: "Team name (e.g. \"Backend Squad\")";
            };
            readonly description: {
                readonly type: "string";
                readonly description: "Optional team description";
            };
            readonly members: {
                readonly type: "array";
                readonly description: "Array of team members to create";
                readonly items: {
                    readonly type: "object";
                    readonly properties: {
                        readonly name: {
                            readonly type: "string";
                            readonly description: "Member name";
                        };
                        readonly role: {
                            readonly type: "string";
                            readonly description: "Member role (developer, qa, product-manager, designer, etc.)";
                        };
                        readonly runtimeType: {
                            readonly type: "string";
                            readonly enum: readonly ["claude-code", "gemini-cli", "codex-cli", "crewly-agent"];
                            readonly description: "AI runtime to use (default: claude-code)";
                        };
                    };
                    readonly required: readonly ["name", "role"];
                };
            };
        };
        readonly required: readonly ["name", "members"];
    };
}, {
    readonly name: "crewly_assign_task";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly teamId: {
                readonly type: "string";
                readonly description: "ID of the team the agent belongs to";
            };
            readonly memberId: {
                readonly type: "string";
                readonly description: "ID of the member to assign the task to";
            };
            readonly task: {
                readonly type: "string";
                readonly description: "Task description/instructions for the agent";
            };
        };
        readonly required: readonly ["teamId", "memberId", "task"];
    };
}, {
    readonly name: "crewly_get_status";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly teamId: {
                readonly type: "string";
                readonly description: "Optional: filter to a specific team";
            };
            readonly memberId: {
                readonly type: "string";
                readonly description: "Optional: filter to a specific member within a team";
            };
        };
    };
}, {
    readonly name: "crewly_recall_memory";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly query: {
                readonly type: "string";
                readonly description: "Search query for the memory/knowledge system";
            };
            readonly agentId: {
                readonly type: "string";
                readonly description: "Optional: agent ID to scope the recall";
            };
            readonly projectPath: {
                readonly type: "string";
                readonly description: "Optional: project path to scope the recall";
            };
            readonly scope: {
                readonly type: "string";
                readonly enum: readonly ["agent", "project", "both"];
                readonly description: "Memory scope to search (default: both)";
            };
            readonly capability: {
                readonly type: "string";
                readonly description: string;
            };
        };
        readonly required: readonly ["query"];
    };
}, {
    readonly name: "crewly_send_message";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly message: {
                readonly type: "string";
                readonly description: "Message content to send";
            };
            readonly conversationId: {
                readonly type: "string";
                readonly description: "Optional: conversation ID for threading (auto-generated if omitted)";
            };
        };
        readonly required: readonly ["message"];
    };
}, {
    readonly name: "crewly_credential_list";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly type: {
                readonly type: "string";
                readonly enum: readonly ["api-key", "google-oauth"];
                readonly description: "Optional: filter by credential type";
            };
            readonly provider: {
                readonly type: "string";
                readonly description: "Optional: filter by provider (e.g., \"google\", \"gemini\")";
            };
        };
    };
}, {
    readonly name: "crewly_credential_add_api_key";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly name: {
                readonly type: "string";
                readonly description: "User-facing name for this credential (e.g., \"gemini-main\")";
            };
            readonly provider: {
                readonly type: "string";
                readonly description: "Provider identifier (e.g., \"gemini\", \"openai\", \"anthropic\")";
            };
            readonly value: {
                readonly type: "string";
                readonly description: "The raw API key value";
            };
        };
        readonly required: readonly ["name", "provider", "value"];
    };
}, {
    readonly name: "crewly_credential_oauth_import_gemini_cli";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly name: {
                readonly type: "string";
                readonly description: "Name for this credential (typically the account email or a nickname like \"info-steam-fun\")";
            };
        };
        readonly required: readonly ["name"];
    };
}, {
    readonly name: "crewly_credential_clear_gemini_cli_file";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {};
    };
}, {
    readonly name: "crewly_credential_delete";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly id: {
                readonly type: "string";
                readonly description: "Credential UUID (e.g., \"cred-abc123\")";
            };
        };
        readonly required: readonly ["id"];
    };
}, {
    readonly name: "crewly_execute_skill";
    readonly description: string;
    readonly inputSchema: {
        readonly type: "object";
        readonly properties: {
            readonly skillId: {
                readonly type: "string";
                readonly description: "Skill identifier (e.g., \"skill-gmail-reader\")";
            };
            readonly credentialBindings: {
                readonly type: "object";
                readonly description: "Map of skill slot name → credential UUID. Overrides any default bound to the skill.";
                readonly additionalProperties: {
                    readonly type: "string";
                };
            };
            readonly userInput: {
                readonly type: "string";
                readonly description: "User-provided input for the skill (optional)";
            };
            readonly agentId: {
                readonly type: "string";
                readonly description: "Agent ID for context (default: \"mcp-agent\")";
            };
            readonly roleId: {
                readonly type: "string";
                readonly description: "Role ID for context (default: \"default\")";
            };
        };
        readonly required: readonly ["skillId"];
    };
}];
//# sourceMappingURL=mcp-tool-definitions.d.ts.map