{ "metadata": { "ref": { "name": "org.agntcy.mailcomposer", "version": "0.0.1", "url": "https://github.com/agntcy/acp-spec/blob/main/docs/sample_acp_descriptors/mailcomposer.json" }, "description": "This agent is able to collect user intent through a chat interface and compose wonderful emails based on that." }, "specs": { "capabilities": { "threads": true, "interrupts": true, "callbacks": true }, "input": { "type": "object", "description": "Agent Input", "properties": { "message": { "type": "string", "description": "Last message of the chat from the user" } } }, "thread_state": { "type": "object", "description": "The state of the agent", "properties": { "messages": { "type": "array", "description": "Full chat history", "items": { "type": "string", "description": "A message in the chat" } } } }, "output": { "type": "object", "description": "Agent Input", "properties": { "message": { "type": "string", "description": "Last message of the chat from the user" } } }, "config": { "type": "object", "description": "The configuration of the agent", "properties": { "style": { "type": "string", "enum": ["formal", "friendly"] } } }, "interrupts": [ { "interrupt_type": "mail_send_approval", "interrupt_payload": { "type": "object", "title": "Mail Approval Payload", "description": "Description of the email", "properties": { "subject": { "title": "Mail Subject", "description": "Subject of the email that is about to be sent", "type": "string" }, "body": { "title": "Mail Body", "description": "Body of the email that is about to be sent", "type": "string" }, "recipients": { "title": "Mail recipients", "description": "List of recipients of the email", "type": "array", "items": { "type": "string", "format": "email" } } }, "required": [ "subject", "body", "recipients" ] }, "resume_payload": { "type": "object", "title": "Email Approval Input", "description": "User Approval for this email", "properties": { "reason": { "title": "Approval Reason", "description": "Reason to approve or decline", "type": "string" }, "approved": { "title": "Approval Decision", "description": "True if approved, False if declined", "type": "boolean" } }, "required": [ "approved" ] } } ] } }