{"serverId":"mcp-registry/co.civai.nova/support-agent-admin","tools":[{"name":"admin__assign_instagram_account","fixed":{"name":"admin__assign_instagram_account","description":"Assign or remove Instagram account on agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"instagram_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"admin__assign_jiji_account","fixed":{"name":"admin__assign_jiji_account","description":"Assign or remove Jiji account on agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"jiji_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"admin__assign_smtp_account","fixed":{"name":"admin__assign_smtp_account","description":"Assign or remove SMTP account on agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"smtp_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"admin__assign_telegram_account","fixed":{"name":"admin__assign_telegram_account","description":"Assign or remove Telegram account on agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"telegram_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"admin__assign_whatsapp_account","fixed":{"name":"admin__assign_whatsapp_account","description":"Assign or remove WhatsApp Web account on agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"whatsapp_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"admin__assign_x_account","fixed":{"name":"admin__assign_x_account","description":"Assign main X account on agent (inbound DMs and replies). One agent per handle.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"x_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"admin__assign_x_campaign_account","fixed":{"name":"admin__assign_x_campaign_account","description":"Assign campaign X account: outbound only, borrows login from another agent's main account.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"move_main_to_agent_id":{"type":"string","description":"When this wave agent is still MAIN for the handle, move MAIN here first (hub/product agent), then set campaign borrow on the wave."},"x_campaign_account_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"admin__bulk_delete_sessions","fixed":{"name":"admin__bulk_delete_sessions","description":"Delete multiple visitor sessions and their files.","inputSchema":{"type":"object","required":["agent_id","visitor_ids"],"properties":{"agent_id":{"type":"string"},"visitor_ids":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"admin__bulk_set_session_labels","fixed":{"name":"admin__bulk_set_session_labels","description":"Merge labels onto multiple visitor sessions.","inputSchema":{"type":"object","required":["agent_id","visitor_ids"],"properties":{"labels":{"type":"array","items":{"type":"object"}},"agent_id":{"type":"string"},"visitor_ids":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"admin__create_agent","fixed":{"name":"admin__create_agent","description":"Create a new Support Agent for CRM/outreach.","inputSchema":{"type":"object","required":["title","contact_option"],"properties":{"inapp":{"type":"boolean"},"theme":{"type":"string"},"title":{"type":"string"},"context":{"type":"string"},"is_public":{"type":"boolean"},"allow_list":{"type":"array","items":{"type":"string"},"description":"Visitor allow list (emails, @handles, Jiji seller ids, X ids). Empty list = allow all visitors."},"description":{"type":"string"},"public_slug":{"type":"string"},"file_support":{"type":"boolean"},"instructions":{"type":"string"},"contact_option":{"enum":["email","whatsapp","instagram","x","telegram"],"type":"string"},"disable_ai_reply":{"type":"boolean"},"x_ld_public_only":{"type":"boolean","description":"Cold LD import: public quote/reply only, no DMs."},"x_ld_quote_target":{"enum":["engagement","root"],"type":"string"},"followup_x_message":{"type":"string","description":"X DM opening template for outreach compose."},"public_category_id":{"type":"integer"},"public_description":{"type":"string"},"x_ld_public_poster":{"enum":["main","pool"],"type":"string"},"x_ld_like_before_dm":{"type":"boolean"},"x_ld_public_surface":{"enum":["quote","reply"],"type":"string"},"x_ld_public_after_dm":{"type":"boolean"},"bulk_followup_enabled":{"type":"boolean"},"x_ld_public_post_goal":{"enum":["attention","check_dm"],"type":"string"},"followup_email_message":{"type":"string","description":"Email opening template (UI: Outreach opening messages → Email). Used for Leads Discovery Message now, bulk follow-up, and first inbound CRM email auto-reply."},"followup_telegram_message":{"type":"string","description":"Telegram opening template for outreach compose."},"followup_whatsapp_message":{"type":"string","description":"WhatsApp opening template for outreach compose."},"x_followup_max_per_thread":{"type":"integer","description":"Max automated reply rounds in one public thread (main-account thread replies, or a pool peer answering its own quote) before going quiet. Not account-only — layered agent/account/workspace/env like the fields above."},"x_ld_attention_use_custom":{"type":"boolean","description":"When true, use agent-specific X Leads Discovery public attention (Lane A/B)."},"x_ld_public_per_run_limit":{"type":"integer"},"followup_instagram_message":{"type":"string","description":"Instagram DM opening template for outreach compose."},"auto_reply_allowed_channels":{"type":"array","items":{"enum":["email","jiji","whatsapp","instagram","x","telegram","inapp"],"type":"string"},"description":"Channels where the agent may send AI auto-replies. Empty = all channels (still filtered by allow_list)."},"x_ld_pool_public_quote_after_dm_fail":{"type":"boolean"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":766,"tokensAfter":766},{"name":"admin__create_scan_schedule","fixed":{"name":"admin__create_scan_schedule","description":"Create an auto-scan schedule (Import Only or Message now outreach).","inputSchema":{"type":"object","required":["agent_id","channel"],"properties":{"label":{"type":"string"},"params":{"type":"object"},"channel":{"type":"string"},"enabled":{"type":"boolean"},"agent_id":{"type":"string"},"max_runs":{"type":"integer"},"frequency":{"type":"string"},"auto_import":{"type":"boolean"},"run_hour_utc":{"type":"integer"},"auto_outreach":{"type":"string"},"source_scan_at":{"type":"string"},"source_scan_id":{"type":"string"},"max_leads_per_run":{"type":"integer"},"relax_target_filter_after_runs":{"type":"integer"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":185,"tokensAfter":185},{"name":"admin__delete_agent","fixed":{"name":"admin__delete_agent","description":"Permanently delete a Support Agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":51,"tokensAfter":51},{"name":"admin__delete_attachment","fixed":{"name":"admin__delete_attachment","description":"Delete one agent KB attachment.","inputSchema":{"type":"object","required":["agent_id","attachment_id"],"properties":{"agent_id":{"type":"string"},"attachment_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"admin__delete_scan_schedule","fixed":{"name":"admin__delete_scan_schedule","description":"Delete an auto-scan schedule.","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"agent_id":{"type":"string"},"schedule_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"admin__delete_scans","fixed":{"name":"admin__delete_scans","description":"Delete one or more completed scan runs (does not delete schedules).","inputSchema":{"type":"object","required":["agent_id","scan_ids"],"properties":{"agent_id":{"type":"string"},"scan_ids":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"admin__export_contacts","fixed":{"name":"admin__export_contacts","description":"Export filtered contacts as CSV (returns csv_content in result).","inputSchema":{"type":"object","required":["agent_id","contact_type"],"properties":{"agent_id":{"type":"string"},"filter_by":{"type":"string"},"created_to":{"type":"string"},"contact_type":{"enum":["email","whatsapp","instagram","x","telegram","web"],"type":"string"},"created_from":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"admin__generate_agent_preview","fixed":{"name":"admin__generate_agent_preview","description":"AI-generate agent title/instructions/context from business description.","inputSchema":{"type":"object","required":["business_name","business_description"],"properties":{"business_name":{"type":"string"},"business_description":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"admin__get_agent","fixed":{"name":"admin__get_agent","description":"Return full agent metadata including chat/public/iframe links.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"admin__get_agent_analytics","fixed":{"name":"admin__get_agent_analytics","description":"Pipeline overview on one agent_id (totals + top visitors).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"top_visitors_limit":{"type":"integer"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"admin__get_attachment_content","fixed":{"name":"admin__get_attachment_content","description":"Read converted markdown or database schema summary for one attachment.","inputSchema":{"type":"object","required":["agent_id","attachment_id"],"properties":{"agent_id":{"type":"string"},"attachment_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"admin__get_chat","fixed":{"name":"admin__get_chat","description":"Open a lead chat by visitor_id, email, phone, or contact handle.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"contact":{"type":"string","description":"Generic contact from analytics/list_sessions (email, phone, or @instagram)."},"agent_id":{"type":"string"},"visitor_id":{"type":"string"},"whatsapp_no":{"type":"string"},"visitor_email":{"type":"string"},"instagram_username":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"admin__get_crm_unreplied_alert_config","fixed":{"name":"admin__get_crm_unreplied_alert_config","description":"Read CRM unreplied digest email settings.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"admin__get_discovery_analytics","fixed":{"name":"admin__get_discovery_analytics","description":"Get sourced-leads analytics for an agent (window e.g. 7d, 30d).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"window":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"admin__get_followup_run","fixed":{"name":"admin__get_followup_run","description":"Get one follow-up run with progress log.","inputSchema":{"type":"object","required":["agent_id","run_id"],"properties":{"run_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"admin__get_scan","fixed":{"name":"admin__get_scan","description":"Get one scan with paginated leads (status, progress, leads).","inputSchema":{"type":"object","required":["agent_id","scan_id"],"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"scan_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"admin__import_contacts","fixed":{"name":"admin__import_contacts","description":"Import contacts onto an agent.","inputSchema":{"type":"object","required":["agent_id","channel"],"properties":{"emails":{"type":"string"},"channel":{"enum":["email","whatsapp","instagram","x","telegram"],"type":"string"},"agent_id":{"type":"string"},"contacts":{"type":"string"},"whatsapp_numbers":{"type":"string"},"telegram_usernames":{"type":"array","items":{"type":"string"}},"instagram_usernames":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"admin__import_leads","fixed":{"name":"admin__import_leads","description":"Import discovered leads into the agent CRM (outreach: none|immediate|bulk_followup).","inputSchema":{"type":"object","required":["agent_id","scan_id","lead_ids"],"properties":{"label":{"type":"string"},"scan_id":{"type":"string"},"agent_id":{"type":"string"},"lead_ids":{"type":"array","items":{"type":"string"}},"outreach":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"admin__invite_agent_collaborator","fixed":{"name":"admin__invite_agent_collaborator","description":"Invite a Nova user by email to collaborate on an agent (owner only).","inputSchema":{"type":"object","required":["agent_id","email"],"properties":{"role":{"enum":["viewer","operator","editor","admin"],"type":"string"},"email":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"admin__list_agent_collaborators","fixed":{"name":"admin__list_agent_collaborators","description":"List team members with access to a support agent (owner only).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"admin__list_agents","fixed":{"name":"admin__list_agents","description":"List all Support Agents for the signed-in owner.","inputSchema":{"type":"object","properties":{"order_by":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":48,"tokensAfter":48},{"name":"admin__list_attachments","fixed":{"name":"admin__list_attachments","description":"List knowledge-base attachments on a Support Agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"admin__list_channel_accounts","fixed":{"name":"admin__list_channel_accounts","description":"List available channel accounts for assignment (IG, X, Telegram, SMTP).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"admin__list_connectors","fixed":{"name":"admin__list_connectors","description":"List WhatsApp, Instagram, Email, X connector status for a support agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"admin__list_followup_runs","fixed":{"name":"admin__list_followup_runs","description":"List bulk follow-up runs for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"limit":{"type":"integer"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"admin__list_scan_results","fixed":{"name":"admin__list_scan_results","description":"Alias of get_scan — read leads from an active or completed scan.","inputSchema":{"type":"object","required":["agent_id","scan_id"],"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"scan_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"admin__list_scan_schedules","fixed":{"name":"admin__list_scan_schedules","description":"List auto-scan schedules for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"admin__list_scans","fixed":{"name":"admin__list_scans","description":"List past and active leads discovery scans for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":56,"tokensAfter":56},{"name":"admin__list_session_labels","fixed":{"name":"admin__list_session_labels","description":"List visitor session label catalog for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"admin__list_sessions","fixed":{"name":"admin__list_sessions","description":"Filtered drill-down on visitor sessions (requires filter_by).","inputSchema":{"type":"object","required":["agent_id","filter_by"],"properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"agent_id":{"type":"string"},"filter_by":{"type":"string"},"created_to":{"type":"string"},"contact_type":{"type":"string"},"created_from":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"admin__list_top_agents","fixed":{"name":"admin__list_top_agents","description":"List busiest CRM agents (limit 5–10).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer"},"order_by":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"admin__pending_reply_count","fixed":{"name":"admin__pending_reply_count","description":"Count pending replies on an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"},"channels":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"admin__preview_followup_email","fixed":{"name":"admin__preview_followup_email","description":"Preview rendered follow-up email HTML.","inputSchema":{"type":"object","required":["agent_id","message"],"properties":{"format":{"type":"string"},"cta_url":{"type":"string"},"message":{"type":"string"},"agent_id":{"type":"string"},"cta_label":{"type":"string"},"image_url":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"admin__remove_agent_collaborator","fixed":{"name":"admin__remove_agent_collaborator","description":"Remove a collaborator from an agent (owner only).","inputSchema":{"type":"object","required":["agent_id","email"],"properties":{"email":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"admin__resume_followup_run","fixed":{"name":"admin__resume_followup_run","description":"Resume an interrupted follow-up run.","inputSchema":{"type":"object","required":["agent_id","run_id"],"properties":{"run_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"admin__run_scan","fixed":{"name":"admin__run_scan","description":"Start a leads discovery scan (whatsapp, instagram, x, telegram, or jiji).","inputSchema":{"type":"object","required":["agent_id","channel"],"properties":{"params":{"type":"object"},"channel":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"admin__send_followup","fixed":{"name":"admin__send_followup","description":"Send follow-up via admin_followup channels. Optionally attach public KB files.","inputSchema":{"type":"object","required":["agent_id","message"],"properties":{"contact":{"type":"string","description":"Generic contact from analytics/list_sessions (email, phone, or @instagram)."},"message":{"type":"string"},"agent_id":{"type":"string"},"file_ids":{"type":"array","items":{"type":"string"},"maxItems":5,"description":"Optional attachment_id values from list_attachments to attach to this send. Only attachments marked public (is_public true) can be sent; private ones are rejected. Attach only what the lead asked for."},"visitor_id":{"type":"string"},"whatsapp_no":{"type":"string"},"visitor_email":{"type":"string"},"instagram_username":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":224,"tokensAfter":224},{"name":"admin__send_message","fixed":{"name":"admin__send_message","description":"Send follow-up via WhatsApp, email, or Instagram. Optionally attach public KB files.","inputSchema":{"type":"object","required":["agent_id","message"],"properties":{"contact":{"type":"string","description":"Generic contact from analytics/list_sessions (email, phone, or @instagram)."},"message":{"type":"string"},"agent_id":{"type":"string"},"file_ids":{"type":"array","items":{"type":"string"},"maxItems":5,"description":"Optional attachment_id values from list_attachments to attach to this send. Only attachments marked public (is_public true) can be sent; private ones are rejected. Attach only what the lead asked for."},"visitor_id":{"type":"string"},"whatsapp_no":{"type":"string"},"visitor_email":{"type":"string"},"instagram_username":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":225,"tokensAfter":225},{"name":"admin__set_attachment_visibility","fixed":{"name":"admin__set_attachment_visibility","description":"Mark a KB attachment public or private. Every attachment defaults to private on upload. Only a public attachment can ever be offered or sent by the agent's converse tool (email attachment, or a shared file in chat) — a private one is never visible to the model at all, regardless of what a visitor asks for.","inputSchema":{"type":"object","required":["agent_id","attachment_id","is_public"],"properties":{"agent_id":{"type":"string"},"is_public":{"type":"boolean","description":"True to let the agent attach/send this file; false (default) to keep it private."},"attachment_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":183,"tokensAfter":183},{"name":"admin__set_pool_mode","fixed":{"name":"admin__set_pool_mode","description":"Enable/disable pool fallback for x, instagram, or telegram channel.","inputSchema":{"type":"object","required":["agent_id","channel","enabled"],"properties":{"channel":{"enum":["x","instagram","telegram"],"type":"string"},"enabled":{"type":"boolean"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"admin__set_session_labels","fixed":{"name":"admin__set_session_labels","description":"Replace labels on one visitor session.","inputSchema":{"type":"object","required":["agent_id","visitor_id"],"properties":{"labels":{"type":"array","items":{"type":"object"}},"agent_id":{"type":"string"},"visitor_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"admin__set_x_account_attention","fixed":{"name":"admin__set_x_account_attention","description":"Set X Leads Discovery public-attention settings on an account (main or pool): poster, surface, post goal, quote target, like/public-after-DM toggles, pool fallback, per-run limit, and the account's daily post/like caps (superset of set_x_account_daily_limits). Only fields you pass change; everything else keeps its current account/workspace/env value.","inputSchema":{"type":"object","required":["x_account_id"],"properties":{"x_account_id":{"type":"string"},"x_ld_public_only":{"type":"boolean","description":"Cold LD import: public quote/reply only, no DMs."},"x_ld_quote_target":{"enum":["engagement","root"],"type":"string"},"x_ld_public_poster":{"enum":["main","pool"],"type":"string"},"x_ld_like_before_dm":{"type":"boolean"},"x_ld_public_surface":{"enum":["quote","reply"],"type":"string"},"x_ld_public_after_dm":{"type":"boolean"},"x_ld_like_daily_limit":{"type":"integer","description":"Max engagement likes this account may send per day (0-2000)."},"x_ld_public_post_goal":{"enum":["attention","check_dm"],"type":"string"},"x_ld_public_daily_limit":{"type":"integer","description":"Max public quotes/replies this account may post per day (0-500)."},"x_followup_max_per_thread":{"type":"integer","description":"Max automated reply rounds in one public thread before going quiet. Not a daily cap — per-thread, and not account-only."},"x_ld_public_per_run_limit":{"type":"integer"},"x_ld_pool_public_quote_after_dm_fail":{"type":"boolean"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":419,"tokensAfter":419},{"name":"admin__set_x_account_daily_limits","fixed":{"name":"admin__set_x_account_daily_limits","description":"Set the daily public-post and/or engagement-like cap for an X account (main or pool). This is the only place these volumes can be set — they are a per-account safety ceiling shared by every agent/campaign that uses the account, never per-agent or per-workspace.","inputSchema":{"type":"object","required":["x_account_id"],"properties":{"x_account_id":{"type":"string"},"x_ld_like_daily_limit":{"type":"integer","description":"Max engagement likes this account may send per day (0-2000)."},"x_ld_public_daily_limit":{"type":"integer","description":"Max public quotes/replies this account may post per day (0-500)."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":188,"tokensAfter":188},{"name":"admin__transfer_agent_owner","fixed":{"name":"admin__transfer_agent_owner","description":"Transfer agent ownership to another subscribed Nova user.","inputSchema":{"type":"object","required":["agent_id","new_owner_email"],"properties":{"agent_id":{"type":"string"},"new_owner_email":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"admin__trigger_scan_schedule","fixed":{"name":"admin__trigger_scan_schedule","description":"Run an auto-scan schedule immediately (Run now).","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"agent_id":{"type":"string"},"schedule_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"admin__update_agent","fixed":{"name":"admin__update_agent","description":"Update Support Agent settings (partial patch — only send fields to change).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"inapp":{"type":"boolean"},"theme":{"type":"string"},"title":{"type":"string"},"context":{"type":"string"},"agent_id":{"type":"string"},"is_public":{"type":"boolean"},"allow_list":{"type":"array","items":{"type":"string"},"description":"Visitor allow list (emails, @handles, Jiji seller ids, X ids). Empty list = allow all visitors."},"description":{"type":"string"},"public_slug":{"type":"string"},"file_support":{"type":"boolean"},"instructions":{"type":"string"},"contact_option":{"enum":["email","whatsapp","instagram","x","telegram"],"type":"string"},"disable_ai_reply":{"type":"boolean"},"x_ld_public_only":{"type":"boolean","description":"Cold LD import: public quote/reply only, no DMs."},"x_ld_quote_target":{"enum":["engagement","root"],"type":"string"},"followup_x_message":{"type":"string","description":"X DM opening template for outreach compose."},"public_category_id":{"type":"integer"},"public_description":{"type":"string"},"x_ld_public_poster":{"enum":["main","pool"],"type":"string"},"x_ld_like_before_dm":{"type":"boolean"},"x_ld_public_surface":{"enum":["quote","reply"],"type":"string"},"x_ld_public_after_dm":{"type":"boolean"},"bulk_followup_enabled":{"type":"boolean"},"x_ld_public_post_goal":{"enum":["attention","check_dm"],"type":"string"},"followup_email_message":{"type":"string","description":"Email opening template (UI: Outreach opening messages → Email). Used for Leads Discovery Message now, bulk follow-up, and first inbound CRM email auto-reply."},"followup_telegram_message":{"type":"string","description":"Telegram opening template for outreach compose."},"followup_whatsapp_message":{"type":"string","description":"WhatsApp opening template for outreach compose."},"x_followup_max_per_thread":{"type":"integer","description":"Max automated reply rounds in one public thread (main-account thread replies, or a pool peer answering its own quote) before going quiet. Not account-only — layered agent/account/workspace/env like the fields above."},"x_ld_attention_use_custom":{"type":"boolean","description":"When true, use agent-specific X Leads Discovery public attention (Lane A/B)."},"x_ld_public_per_run_limit":{"type":"integer"},"followup_instagram_message":{"type":"string","description":"Instagram DM opening template for outreach compose."},"auto_reply_allowed_channels":{"type":"array","items":{"enum":["email","jiji","whatsapp","instagram","x","telegram","inapp"],"type":"string"},"description":"Channels where the agent may send AI auto-replies. Empty = all channels (still filtered by allow_list)."},"x_ld_pool_public_quote_after_dm_fail":{"type":"boolean"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":779,"tokensAfter":779},{"name":"admin__update_agent_collaborator","fixed":{"name":"admin__update_agent_collaborator","description":"Update collaborator role or permissions on an agent (owner only).","inputSchema":{"type":"object","required":["agent_id","email"],"properties":{"role":{"type":"string"},"email":{"type":"string"},"status":{"type":"string"},"agent_id":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"admin__update_crm_unreplied_alert_config","fixed":{"name":"admin__update_crm_unreplied_alert_config","description":"Update CRM unreplied digest email settings.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"enabled":{"type":"boolean"},"agent_id":{"type":"string"},"min_unreplied":{"type":"integer"},"recipient_emails":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"admin__update_scan_schedule","fixed":{"name":"admin__update_scan_schedule","description":"Update or pause/resume an auto-scan schedule.","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"label":{"type":"string"},"params":{"type":"object"},"channel":{"type":"string"},"enabled":{"type":"boolean"},"agent_id":{"type":"string"},"max_runs":{"type":"integer"},"frequency":{"type":"string"},"auto_import":{"type":"boolean"},"schedule_id":{"type":"string"},"run_hour_utc":{"type":"integer"},"auto_outreach":{"type":"string"},"max_leads_per_run":{"type":"integer"},"relax_target_filter_after_runs":{"type":"integer"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":169,"tokensAfter":169},{"name":"admin__update_session_label","fixed":{"name":"admin__update_session_label","description":"Update catalog label (e.g. disable_auto_reply).","inputSchema":{"type":"object","required":["agent_id","label_id"],"properties":{"agent_id":{"type":"string"},"label_id":{"type":"string"},"disable_auto_reply":{"type":"boolean"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"admin__upload_agent_icon","fixed":{"name":"admin__upload_agent_icon","description":"Upload agent icon (JPEG/PNG/WebP, max 2MB, base64).","inputSchema":{"type":"object","required":["agent_id","content_base64"],"properties":{"agent_id":{"type":"string"},"content_type":{"type":"string"},"content_base64":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"admin__upload_attachments","fixed":{"name":"admin__upload_attachments","description":"Upload files to agent KB (PDF/DOCX/TXT → prose; CSV/XLSX/SQLite → database).","inputSchema":{"type":"object","required":["agent_id","files"],"properties":{"files":{"type":"array","items":{"type":"object","required":["filename","content_base64"],"properties":{"filename":{"type":"string"},"content_type":{"type":"string"},"content_base64":{"type":"string"}}},"maxItems":10},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"calendar__add_event","fixed":{"name":"calendar__add_event","description":"Run Google calendar action: add event","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"calendar__check_events_today","fixed":{"name":"calendar__check_events_today","description":"Run Google calendar action: check events today","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"calendar__check_events_week","fixed":{"name":"calendar__check_events_week","description":"Run Google calendar action: check events week","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"calendar__convert_timezone","fixed":{"name":"calendar__convert_timezone","description":"Run Google calendar action: convert timezone","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"calendar__delete_event","fixed":{"name":"calendar__delete_event","description":"Run Google calendar action: delete event","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"calendar__update_event","fixed":{"name":"calendar__update_event","description":"Run Google calendar action: update event","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"docs__create_doc","fixed":{"name":"docs__create_doc","description":"Run Google docs action: create doc","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"docs__delete_doc","fixed":{"name":"docs__delete_doc","description":"Run Google docs action: delete doc","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"docs__get_doc","fixed":{"name":"docs__get_doc","description":"Run Google docs action: get doc","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"docs__list_docs","fixed":{"name":"docs__list_docs","description":"Run Google docs action: list docs","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"sheets__create_sheet","fixed":{"name":"sheets__create_sheet","description":"Run Google sheets action: create sheet","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"sheets__delete_sheet","fixed":{"name":"sheets__delete_sheet","description":"Run Google sheets action: delete sheet","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"sheets__get_sheet","fixed":{"name":"sheets__get_sheet","description":"Run Google sheets action: get sheet","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"sheets__list_sheets","fixed":{"name":"sheets__list_sheets","description":"Run Google sheets action: list sheets","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"sheets__update_sheet","fixed":{"name":"sheets__update_sheet","description":"Run Google sheets action: update sheet","inputSchema":{"type":"object","properties":{"detail":{"type":"string","description":"Task-specific details from the objective."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61}],"toolsChanged":76,"tokensSaved":0,"todo":[{"tool":"admin__abort_scans","params":["reason","agent_id","scan_ids"]},{"tool":"admin__assign_instagram_account","params":["agent_id","instagram_account_id"]},{"tool":"admin__assign_jiji_account","params":["agent_id","jiji_account_id"]},{"tool":"admin__assign_smtp_account","params":["agent_id","smtp_account_id"]},{"tool":"admin__assign_telegram_account","params":["agent_id","telegram_account_id"]},{"tool":"admin__assign_whatsapp_account","params":["agent_id","whatsapp_account_id"]},{"tool":"admin__assign_x_account","params":["agent_id","x_account_id"]},{"tool":"admin__assign_x_campaign_account","params":["agent_id","x_campaign_account_id"]},{"tool":"admin__bulk_delete_sessions","params":["agent_id","visitor_ids"]},{"tool":"admin__bulk_followup","params":["message","agent_id","filter_by","visitor_ids"]},{"tool":"admin__bulk_set_session_labels","params":["labels","agent_id","visitor_ids"]},{"tool":"admin__clear_discovery_cache","params":["agent_id"]},{"tool":"admin__compose_bulk_draft","params":["agent_id"]},{"tool":"admin__compose_draft","params":["agent_id","visitor_id"]},{"tool":"admin__continue_scan","params":["scan_id","agent_id","selected_resources","max_contacts_per_group"]},{"tool":"admin__create_agent","params":["inapp","theme","title","context","is_public","description","public_slug","file_support","instructions","contact_option","disable_ai_reply","x_ld_quote_target","public_category_id","public_description","x_ld_public_poster","x_ld_like_before_dm","x_ld_public_surface","x_ld_public_after_dm","bulk_followup_enabled","x_ld_public_post_goal","x_ld_public_per_run_limit","x_ld_pool_public_quote_after_dm_fail"]},{"tool":"admin__create_scan_schedule","params":["label","params","channel","enabled","agent_id","max_runs","frequency","auto_import","run_hour_utc","auto_outreach","source_scan_at","source_scan_id","max_leads_per_run","relax_target_filter_after_runs"]},{"tool":"admin__delete_agent","params":["agent_id"]},{"tool":"admin__delete_attachment","params":["agent_id","attachment_id"]},{"tool":"admin__delete_scan_schedule","params":["agent_id","schedule_id"]},{"tool":"admin__delete_scans","params":["agent_id","scan_ids"]},{"tool":"admin__end_conversation","params":["agent_id","visitor_id"]},{"tool":"admin__export_contacts","params":["agent_id","filter_by","created_to","contact_type","created_from"]},{"tool":"admin__generate_agent_preview","params":["business_name","business_description"]},{"tool":"admin__get_agent","params":["agent_id"]},{"tool":"admin__get_agent_analytics","params":["agent_id","top_visitors_limit"]},{"tool":"admin__get_attachment_content","params":["agent_id","attachment_id"]},{"tool":"admin__get_chat","params":["agent_id","visitor_id","whatsapp_no","visitor_email","instagram_username"]},{"tool":"admin__get_crm_unreplied_alert_config","params":["agent_id"]},{"tool":"admin__get_discovery_analytics","params":["window","agent_id"]},{"tool":"admin__get_followup_run","params":["run_id","agent_id"]},{"tool":"admin__get_scan","params":["limit","offset","scan_id","agent_id"]},{"tool":"admin__import_contacts","params":["emails","channel","agent_id","contacts","whatsapp_numbers","telegram_usernames","instagram_usernames"]},{"tool":"admin__import_leads","params":["label","scan_id","agent_id","lead_ids","outreach"]},{"tool":"admin__invite_agent_collaborator","params":["role","email","agent_id"]},{"tool":"admin__list_agent_collaborators","params":["agent_id"]},{"tool":"admin__list_agents","params":["order_by"]},{"tool":"admin__list_attachments","params":["agent_id"]},{"tool":"admin__list_channel_accounts","params":["agent_id"]},{"tool":"admin__list_connectors","params":["agent_id"]},{"tool":"admin__list_followup_runs","params":["limit","agent_id"]},{"tool":"admin__list_scan_results","params":["limit","offset","scan_id","agent_id"]},{"tool":"admin__list_scan_schedules","params":["agent_id"]},{"tool":"admin__list_scans","params":["agent_id"]},{"tool":"admin__list_session_labels","params":["agent_id"]},{"tool":"admin__list_sessions","params":["page","limit","agent_id","filter_by","created_to","contact_type","created_from"]},{"tool":"admin__list_top_agents","params":["limit","order_by"]},{"tool":"admin__pending_reply_count","params":["agent_id","channels"]},{"tool":"admin__preview_followup_email","params":["format","cta_url","message","agent_id","cta_label","image_url"]},{"tool":"admin__regenerate_attachment","params":["agent_id","attachment_id"]},{"tool":"admin__remove_agent_collaborator","params":["email","agent_id"]},{"tool":"admin__resume_conversation","params":["agent_id","visitor_id"]},{"tool":"admin__resume_followup_run","params":["run_id","agent_id"]},{"tool":"admin__run_scan","params":["params","channel","agent_id"]},{"tool":"admin__send_followup","params":["message","agent_id","visitor_id","whatsapp_no","visitor_email","instagram_username"]},{"tool":"admin__send_message","params":["message","agent_id","visitor_id","whatsapp_no","visitor_email","instagram_username"]},{"tool":"admin__set_attachment_visibility","params":["agent_id","attachment_id"]},{"tool":"admin__set_pool_mode","params":["channel","enabled","agent_id"]},{"tool":"admin__set_session_labels","params":["labels","agent_id","visitor_id"]},{"tool":"admin__set_x_account_attention","params":["x_account_id","x_ld_quote_target","x_ld_public_poster","x_ld_like_before_dm","x_ld_public_surface","x_ld_public_after_dm","x_ld_public_post_goal","x_ld_public_per_run_limit","x_ld_pool_public_quote_after_dm_fail"]},{"tool":"admin__set_x_account_daily_limits","params":["x_account_id"]},{"tool":"admin__suggest_targets","params":["channel","agent_id","min_followers","discovery_depth","discovery_breadth","disable_hard_filter"]},{"tool":"admin__transfer_agent_owner","params":["agent_id","new_owner_email"]},{"tool":"admin__trigger_scan_schedule","params":["agent_id","schedule_id"]},{"tool":"admin__update_agent","params":["inapp","theme","title","context","agent_id","is_public","description","public_slug","file_support","instructions","contact_option","disable_ai_reply","x_ld_quote_target","public_category_id","public_description","x_ld_public_poster","x_ld_like_before_dm","x_ld_public_surface","x_ld_public_after_dm","bulk_followup_enabled","x_ld_public_post_goal","x_ld_public_per_run_limit","x_ld_pool_public_quote_after_dm_fail"]},{"tool":"admin__update_agent_collaborator","params":["role","email","status","agent_id","permissions"]},{"tool":"admin__update_crm_unreplied_alert_config","params":["enabled","agent_id","min_unreplied","recipient_emails"]},{"tool":"admin__update_scan_schedule","params":["label","params","channel","enabled","agent_id","max_runs","frequency","auto_import","schedule_id","run_hour_utc","auto_outreach","max_leads_per_run","relax_target_filter_after_runs"]},{"tool":"admin__update_session_label","params":["agent_id","label_id","disable_auto_reply"]},{"tool":"admin__upload_agent_icon","params":["agent_id","content_type","content_base64"]},{"tool":"admin__upload_attachments","params":["files","agent_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}