agentmail 2.0.4__tar.gz → 2.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentmail-2.0.4 → agentmail-2.0.6}/PKG-INFO +1 -1
- {agentmail-2.0.4 → agentmail-2.0.6}/pyproject.toml +1 -1
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/__init__.py +12 -1
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/__init__.py +18 -2
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/client.py +117 -14
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/raw_client.py +183 -10
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/types/__init__.py +12 -1
- agentmail-2.0.6/src/agentmail/agent/types/agent_attach_human_request.py +27 -0
- agentmail-2.0.6/src/agentmail/agent/types/agent_attach_human_response.py +32 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/types/agent_signup_request.py +2 -1
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key_permissions.py +5 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/create_api_key_response.py +2 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/create_bearer_api_key_request.py +11 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/client_wrapper.py +2 -2
- {agentmail-2.0.4 → agentmail-2.0.6}/LICENSE +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/README.md +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/account.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/account_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/account_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/list_accounts_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/provider_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/update_account_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/accounts/types/update_account_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/types/agent_signup_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/types/agent_verify_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/agent/types/agent_verify_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/accept_disclosure.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key_creator.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key_mutable_fields.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/api_key_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/auth_token.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/bearer_api_key.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/create_api_key_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/create_api_key_result.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/create_public_key_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/created_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/expires_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/inbox_scope_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/list_api_keys_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/name.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/pod_scope_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/prefix.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_jwk.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_jwk_coordinate.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_key_client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_key_credential.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_key_material.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/public_key_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/update_api_key_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/updated_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/api_keys/types/used_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_content_disposition.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_content_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_content_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_filename.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/attachment_size.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/attachments/types/send_attachment.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/types/identity.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/auth/types/scope_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/api_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/datetime_utils.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/events.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/file.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/force_multipart.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_sse/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_sse/_api.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_sse/_decoders.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_sse/_exceptions.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/http_sse/_models.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/jsonable_encoder.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/logging.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/parse_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/pydantic_utilities.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/query_encoder.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/remove_none_from_dict.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/request_options.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/serialization.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/unchecked_base_model.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/core/websocket_compat.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/create_domain_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/domain.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/domain_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/domain_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/domain_name.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/feedback_enabled.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/get_setup_link_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/list_domains_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/record_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/record_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/subdomains_enabled.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/tracking_enabled.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/update_domain_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/verification_record.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/domains/types/verification_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/create_draft_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_attachments.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_bcc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_cc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_forward_of.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_html.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_in_reply_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_labels.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_preview.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_reply_all.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_reply_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_send_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_send_status.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_subject.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_text.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/draft_updated_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/list_drafts_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/drafts/types/update_draft_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/environment.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/conflict_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/is_taken_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/not_found_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/unprocessable_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/errors/validation_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/bounce.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/complaint.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/delivery.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/domain_verified_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/event_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/event_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/event_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/inbox_ids.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_bounced_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_complained_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_delivered_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_opened_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_received_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_received_event_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_rejected_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/message_sent_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/open.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/pod_ids.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/recipient.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/reject.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/send.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/events/types/timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/types/inbox_event.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/types/inbox_event_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/types/inbox_event_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inbox_events/types/list_inbox_events_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/accounts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/accounts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/accounts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/api_keys/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/api_keys/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/api_keys/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/drafts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/drafts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/drafts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/events/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/events/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/events/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/lists/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/lists/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/lists/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/messages/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/messages/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/messages/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/metrics/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/metrics/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/metrics/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/threads/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/threads/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/threads/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/authorize_inbox_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/authorize_inbox_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/create_inbox_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/display_name.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/email.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/inbox.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/inbox_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/list_inboxes_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/metadata.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/metadata_value.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/search_inboxes_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/update_inbox_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/types/update_metadata.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/webhooks/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/webhooks/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/inboxes/webhooks/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/create_list_entry_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/direction.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/entry_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/list_entry.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/list_entry_base.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/list_list_entries_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/list_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/pod_list_entry.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/lists/types/pod_list_list_entries_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/errors/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/errors/message_rejected_error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/addresses.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_get_messages_message_ids.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_get_messages_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_get_messages_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_update_messages_message_ids.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_update_messages_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/batch_update_messages_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/list_messages_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_attachments.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_bcc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_cc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_created_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_from.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_headers.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_html.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_in_reply_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_labels.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_preview.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_references.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_reply_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_size.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_subject.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_text.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/message_updated_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/raw_message_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/reply_all.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/reply_all_message_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/reply_to_message_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/search_message_highlights.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/search_message_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/search_messages_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_attachments.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_bcc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_cc.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_headers.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_reply_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/send_message_to.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/track_opens.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/update_message_labels.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/update_message_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/messages/types/update_message_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/descending.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/end.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/metric_bucket.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/metric_event_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/metric_event_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/metric_limit.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/period.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/query_metrics_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/query_rates_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/query_usage_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/rate_period.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/rate_point.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/rate_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/rate_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/start.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/usage_point.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/usage_type.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/usage_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/metrics/types/window.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/organizations/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/organizations/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/organizations/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/organizations/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/organizations/types/organization.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/accounts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/accounts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/accounts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/api_keys/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/api_keys/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/api_keys/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/domains/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/domains/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/domains/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/drafts/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/drafts/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/drafts/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/inboxes/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/inboxes/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/inboxes/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/lists/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/lists/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/lists/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/metrics/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/metrics/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/metrics/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/threads/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/threads/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/threads/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/create_pod_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/list_pods_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/name.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/pod.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/types/pod_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/webhooks/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/webhooks/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/pods/webhooks/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/connect_accepted.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/connect_inbox_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/connect_provider_body.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/list_provider_accounts_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/list_providers_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/magic_url.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/provider.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/providers/types/search_providers_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/py.typed +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/list_threads_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/search_thread_highlights.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/search_thread_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/search_threads_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_attachments.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_created_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_item.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_labels.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_last_message_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_message_count.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_preview.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_received_timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_recipients.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_senders.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_sent_timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_size.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_subject.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/thread_updated_at.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/update_thread_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/threads/types/update_thread_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/after.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/ascending.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/before.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/count.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_code.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_docs.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_fix.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_message.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_name.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/error_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/include_blocked.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/include_spam.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/include_trash.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/include_unauthenticated.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/labels.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/limit.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/organization_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/page_token.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/query.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/types/validation_error_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/version.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/events/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/events/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/events/types/svix_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/events/types/svix_signature.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/events/types/svix_timestamp.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/client_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/create_inbox_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/create_pod_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/create_webhook_event_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/create_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/list_webhooks_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/update_inbox_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/update_pod_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/update_webhook_event_types.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/update_webhook_headers_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/update_webhook_request.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/url.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/webhook.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/webhook_header_names_response.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/webhook_headers.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/webhooks/types/webhook_id.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/raw_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/socket_client.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/types/__init__.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/types/error.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/types/subscribe.py +0 -0
- {agentmail-2.0.4 → agentmail-2.0.6}/src/agentmail/websockets/types/subscribed.py +0 -0
|
@@ -59,7 +59,14 @@ if typing.TYPE_CHECKING:
|
|
|
59
59
|
UpdateAccountRequest,
|
|
60
60
|
UpdateAccountStatus,
|
|
61
61
|
)
|
|
62
|
-
from .agent import
|
|
62
|
+
from .agent import (
|
|
63
|
+
AgentAttachHumanRequest,
|
|
64
|
+
AgentAttachHumanResponse,
|
|
65
|
+
AgentSignupRequest,
|
|
66
|
+
AgentSignupResponse,
|
|
67
|
+
AgentVerifyRequest,
|
|
68
|
+
AgentVerifyResponse,
|
|
69
|
+
)
|
|
63
70
|
from .api_keys import (
|
|
64
71
|
AcceptDisclosure,
|
|
65
72
|
ApiKey,
|
|
@@ -303,6 +310,8 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
303
310
|
"AccountStatus": ".accounts",
|
|
304
311
|
"Addresses": ".messages",
|
|
305
312
|
"After": ".types",
|
|
313
|
+
"AgentAttachHumanRequest": ".agent",
|
|
314
|
+
"AgentAttachHumanResponse": ".agent",
|
|
306
315
|
"AgentMail": ".client",
|
|
307
316
|
"AgentMailEnvironment": ".environment",
|
|
308
317
|
"AgentSignupRequest": ".agent",
|
|
@@ -606,6 +615,8 @@ __all__ = [
|
|
|
606
615
|
"AccountStatus",
|
|
607
616
|
"Addresses",
|
|
608
617
|
"After",
|
|
618
|
+
"AgentAttachHumanRequest",
|
|
619
|
+
"AgentAttachHumanResponse",
|
|
609
620
|
"AgentMail",
|
|
610
621
|
"AgentMailEnvironment",
|
|
611
622
|
"AgentSignupRequest",
|
|
@@ -6,8 +6,17 @@ import typing
|
|
|
6
6
|
from importlib import import_module
|
|
7
7
|
|
|
8
8
|
if typing.TYPE_CHECKING:
|
|
9
|
-
from .types import
|
|
9
|
+
from .types import (
|
|
10
|
+
AgentAttachHumanRequest,
|
|
11
|
+
AgentAttachHumanResponse,
|
|
12
|
+
AgentSignupRequest,
|
|
13
|
+
AgentSignupResponse,
|
|
14
|
+
AgentVerifyRequest,
|
|
15
|
+
AgentVerifyResponse,
|
|
16
|
+
)
|
|
10
17
|
_dynamic_imports: typing.Dict[str, str] = {
|
|
18
|
+
"AgentAttachHumanRequest": ".types",
|
|
19
|
+
"AgentAttachHumanResponse": ".types",
|
|
11
20
|
"AgentSignupRequest": ".types",
|
|
12
21
|
"AgentSignupResponse": ".types",
|
|
13
22
|
"AgentVerifyRequest": ".types",
|
|
@@ -36,4 +45,11 @@ def __dir__():
|
|
|
36
45
|
return sorted(lazy_attrs)
|
|
37
46
|
|
|
38
47
|
|
|
39
|
-
__all__ = [
|
|
48
|
+
__all__ = [
|
|
49
|
+
"AgentAttachHumanRequest",
|
|
50
|
+
"AgentAttachHumanResponse",
|
|
51
|
+
"AgentSignupRequest",
|
|
52
|
+
"AgentSignupResponse",
|
|
53
|
+
"AgentVerifyRequest",
|
|
54
|
+
"AgentVerifyResponse",
|
|
55
|
+
]
|
|
@@ -5,6 +5,7 @@ import typing
|
|
|
5
5
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
6
|
from ..core.request_options import RequestOptions
|
|
7
7
|
from .raw_client import AsyncRawAgentClient, RawAgentClient
|
|
8
|
+
from .types.agent_attach_human_response import AgentAttachHumanResponse
|
|
8
9
|
from .types.agent_signup_response import AgentSignupResponse
|
|
9
10
|
from .types.agent_verify_response import AgentVerifyResponse
|
|
10
11
|
|
|
@@ -30,8 +31,8 @@ class AgentClient:
|
|
|
30
31
|
def sign_up(
|
|
31
32
|
self,
|
|
32
33
|
*,
|
|
33
|
-
human_email: str,
|
|
34
34
|
username: str,
|
|
35
|
+
human_email: typing.Optional[str] = OMIT,
|
|
35
36
|
source: typing.Optional[str] = OMIT,
|
|
36
37
|
referrer: typing.Optional[str] = OMIT,
|
|
37
38
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -41,6 +42,8 @@ class AgentClient:
|
|
|
41
42
|
|
|
42
43
|
A 6-digit OTP is sent to the human's email for verification.
|
|
43
44
|
|
|
45
|
+
`human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint. There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
|
|
46
|
+
|
|
44
47
|
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
45
48
|
|
|
46
49
|
The returned API key has limited permissions until the organization is verified via the verify endpoint.
|
|
@@ -52,12 +55,13 @@ class AgentClient:
|
|
|
52
55
|
|
|
53
56
|
Parameters
|
|
54
57
|
----------
|
|
55
|
-
human_email : str
|
|
56
|
-
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
57
|
-
|
|
58
58
|
username : str
|
|
59
59
|
Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).
|
|
60
60
|
|
|
61
|
+
human_email : typing.Optional[str]
|
|
62
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
63
|
+
Omit it to get a receive-only inbox: it can receive email but cannot send until a human is attached with the attach human endpoint.
|
|
64
|
+
|
|
61
65
|
source : typing.Optional[str]
|
|
62
66
|
The SDK, framework, or platform issuing this sign-up (e.g. `agentmail-python`, `agentmail-cli`, `agentmail-mcp`).
|
|
63
67
|
Identifies the caller — answers "who is signing up".
|
|
@@ -83,26 +87,70 @@ class AgentClient:
|
|
|
83
87
|
api_key="YOUR_API_KEY",
|
|
84
88
|
)
|
|
85
89
|
client.agent.sign_up(
|
|
86
|
-
human_email="human_email",
|
|
87
90
|
username="username",
|
|
88
91
|
)
|
|
89
92
|
"""
|
|
90
93
|
_response = self._raw_client.sign_up(
|
|
91
|
-
human_email=human_email,
|
|
92
94
|
username=username,
|
|
95
|
+
human_email=human_email,
|
|
93
96
|
source=source,
|
|
94
97
|
referrer=referrer,
|
|
95
98
|
request_options=request_options,
|
|
96
99
|
)
|
|
97
100
|
return _response.data
|
|
98
101
|
|
|
102
|
+
def attach_human(
|
|
103
|
+
self, *, human_email: str, request_options: typing.Optional[RequestOptions] = None
|
|
104
|
+
) -> AgentAttachHumanResponse:
|
|
105
|
+
"""
|
|
106
|
+
Attach a human to an unverified agent organization. A 6-digit OTP is sent to the human's email, which you then submit to the verify endpoint.
|
|
107
|
+
|
|
108
|
+
Use it after signing up without a `human_email`. Once the human is attached, the organization can send email to that human only, and verification lifts the remaining restrictions. For up to 5 minutes after attaching, sends to the human can still be rejected with a `429` daily send limit error while the API key's cached limits catch up. Wait and retry.
|
|
109
|
+
|
|
110
|
+
Calling it again with the same `human_email` does not rotate the API key. It resends the OTP if it was never delivered, or issues a new one if it expired. While the current OTP is still valid, calling it again keeps that OTP and its attempt count. If all 10 attempts are used up, wait until the OTP expires, 24 hours after it was issued, then call it again for a new one.
|
|
111
|
+
|
|
112
|
+
Calling it with a different `human_email` replaces the attached human and sends the new human an OTP. An organization can replace its human at most 2 times.
|
|
113
|
+
|
|
114
|
+
Only available until the organization is verified.
|
|
115
|
+
|
|
116
|
+
**CLI:**
|
|
117
|
+
```bash
|
|
118
|
+
agentmail agent attach-human --human-email user@example.com
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Parameters
|
|
122
|
+
----------
|
|
123
|
+
human_email : str
|
|
124
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
125
|
+
|
|
126
|
+
request_options : typing.Optional[RequestOptions]
|
|
127
|
+
Request-specific configuration.
|
|
128
|
+
|
|
129
|
+
Returns
|
|
130
|
+
-------
|
|
131
|
+
AgentAttachHumanResponse
|
|
132
|
+
|
|
133
|
+
Examples
|
|
134
|
+
--------
|
|
135
|
+
from agentmail import AgentMail
|
|
136
|
+
|
|
137
|
+
client = AgentMail(
|
|
138
|
+
api_key="YOUR_API_KEY",
|
|
139
|
+
)
|
|
140
|
+
client.agent.attach_human(
|
|
141
|
+
human_email="human_email",
|
|
142
|
+
)
|
|
143
|
+
"""
|
|
144
|
+
_response = self._raw_client.attach_human(human_email=human_email, request_options=request_options)
|
|
145
|
+
return _response.data
|
|
146
|
+
|
|
99
147
|
def verify(self, *, otp_code: str, request_options: typing.Optional[RequestOptions] = None) -> AgentVerifyResponse:
|
|
100
148
|
"""
|
|
101
149
|
Verify an agent organization using the 6-digit OTP sent to the human's email during sign-up.
|
|
102
150
|
|
|
103
151
|
On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
|
|
104
152
|
|
|
105
|
-
The OTP expires after 24 hours and allows a maximum of 10 attempts. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
153
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
106
154
|
|
|
107
155
|
**CLI:**
|
|
108
156
|
```bash
|
|
@@ -154,8 +202,8 @@ class AsyncAgentClient:
|
|
|
154
202
|
async def sign_up(
|
|
155
203
|
self,
|
|
156
204
|
*,
|
|
157
|
-
human_email: str,
|
|
158
205
|
username: str,
|
|
206
|
+
human_email: typing.Optional[str] = OMIT,
|
|
159
207
|
source: typing.Optional[str] = OMIT,
|
|
160
208
|
referrer: typing.Optional[str] = OMIT,
|
|
161
209
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -165,6 +213,8 @@ class AsyncAgentClient:
|
|
|
165
213
|
|
|
166
214
|
A 6-digit OTP is sent to the human's email for verification.
|
|
167
215
|
|
|
216
|
+
`human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint. There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
|
|
217
|
+
|
|
168
218
|
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
169
219
|
|
|
170
220
|
The returned API key has limited permissions until the organization is verified via the verify endpoint.
|
|
@@ -176,12 +226,13 @@ class AsyncAgentClient:
|
|
|
176
226
|
|
|
177
227
|
Parameters
|
|
178
228
|
----------
|
|
179
|
-
human_email : str
|
|
180
|
-
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
181
|
-
|
|
182
229
|
username : str
|
|
183
230
|
Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).
|
|
184
231
|
|
|
232
|
+
human_email : typing.Optional[str]
|
|
233
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
234
|
+
Omit it to get a receive-only inbox: it can receive email but cannot send until a human is attached with the attach human endpoint.
|
|
235
|
+
|
|
185
236
|
source : typing.Optional[str]
|
|
186
237
|
The SDK, framework, or platform issuing this sign-up (e.g. `agentmail-python`, `agentmail-cli`, `agentmail-mcp`).
|
|
187
238
|
Identifies the caller — answers "who is signing up".
|
|
@@ -212,7 +263,6 @@ class AsyncAgentClient:
|
|
|
212
263
|
|
|
213
264
|
async def main() -> None:
|
|
214
265
|
await client.agent.sign_up(
|
|
215
|
-
human_email="human_email",
|
|
216
266
|
username="username",
|
|
217
267
|
)
|
|
218
268
|
|
|
@@ -220,14 +270,67 @@ class AsyncAgentClient:
|
|
|
220
270
|
asyncio.run(main())
|
|
221
271
|
"""
|
|
222
272
|
_response = await self._raw_client.sign_up(
|
|
223
|
-
human_email=human_email,
|
|
224
273
|
username=username,
|
|
274
|
+
human_email=human_email,
|
|
225
275
|
source=source,
|
|
226
276
|
referrer=referrer,
|
|
227
277
|
request_options=request_options,
|
|
228
278
|
)
|
|
229
279
|
return _response.data
|
|
230
280
|
|
|
281
|
+
async def attach_human(
|
|
282
|
+
self, *, human_email: str, request_options: typing.Optional[RequestOptions] = None
|
|
283
|
+
) -> AgentAttachHumanResponse:
|
|
284
|
+
"""
|
|
285
|
+
Attach a human to an unverified agent organization. A 6-digit OTP is sent to the human's email, which you then submit to the verify endpoint.
|
|
286
|
+
|
|
287
|
+
Use it after signing up without a `human_email`. Once the human is attached, the organization can send email to that human only, and verification lifts the remaining restrictions. For up to 5 minutes after attaching, sends to the human can still be rejected with a `429` daily send limit error while the API key's cached limits catch up. Wait and retry.
|
|
288
|
+
|
|
289
|
+
Calling it again with the same `human_email` does not rotate the API key. It resends the OTP if it was never delivered, or issues a new one if it expired. While the current OTP is still valid, calling it again keeps that OTP and its attempt count. If all 10 attempts are used up, wait until the OTP expires, 24 hours after it was issued, then call it again for a new one.
|
|
290
|
+
|
|
291
|
+
Calling it with a different `human_email` replaces the attached human and sends the new human an OTP. An organization can replace its human at most 2 times.
|
|
292
|
+
|
|
293
|
+
Only available until the organization is verified.
|
|
294
|
+
|
|
295
|
+
**CLI:**
|
|
296
|
+
```bash
|
|
297
|
+
agentmail agent attach-human --human-email user@example.com
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Parameters
|
|
301
|
+
----------
|
|
302
|
+
human_email : str
|
|
303
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
304
|
+
|
|
305
|
+
request_options : typing.Optional[RequestOptions]
|
|
306
|
+
Request-specific configuration.
|
|
307
|
+
|
|
308
|
+
Returns
|
|
309
|
+
-------
|
|
310
|
+
AgentAttachHumanResponse
|
|
311
|
+
|
|
312
|
+
Examples
|
|
313
|
+
--------
|
|
314
|
+
import asyncio
|
|
315
|
+
|
|
316
|
+
from agentmail import AsyncAgentMail
|
|
317
|
+
|
|
318
|
+
client = AsyncAgentMail(
|
|
319
|
+
api_key="YOUR_API_KEY",
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
async def main() -> None:
|
|
324
|
+
await client.agent.attach_human(
|
|
325
|
+
human_email="human_email",
|
|
326
|
+
)
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
asyncio.run(main())
|
|
330
|
+
"""
|
|
331
|
+
_response = await self._raw_client.attach_human(human_email=human_email, request_options=request_options)
|
|
332
|
+
return _response.data
|
|
333
|
+
|
|
231
334
|
async def verify(
|
|
232
335
|
self, *, otp_code: str, request_options: typing.Optional[RequestOptions] = None
|
|
233
336
|
) -> AgentVerifyResponse:
|
|
@@ -236,7 +339,7 @@ class AsyncAgentClient:
|
|
|
236
339
|
|
|
237
340
|
On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
|
|
238
341
|
|
|
239
|
-
The OTP expires after 24 hours and allows a maximum of 10 attempts. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
342
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
240
343
|
|
|
241
344
|
**CLI:**
|
|
242
345
|
```bash
|
|
@@ -9,8 +9,11 @@ from ..core.http_response import AsyncHttpResponse, HttpResponse
|
|
|
9
9
|
from ..core.parse_error import ParsingError
|
|
10
10
|
from ..core.request_options import RequestOptions
|
|
11
11
|
from ..core.unchecked_base_model import construct_type
|
|
12
|
+
from ..errors.conflict_error import ConflictError
|
|
12
13
|
from ..errors.validation_error import ValidationError as errors_validation_error_ValidationError
|
|
14
|
+
from ..types.error_response import ErrorResponse
|
|
13
15
|
from ..types.validation_error_response import ValidationErrorResponse
|
|
16
|
+
from .types.agent_attach_human_response import AgentAttachHumanResponse
|
|
14
17
|
from .types.agent_signup_response import AgentSignupResponse
|
|
15
18
|
from .types.agent_verify_response import AgentVerifyResponse
|
|
16
19
|
from pydantic import ValidationError as pydantic_ValidationError
|
|
@@ -26,8 +29,8 @@ class RawAgentClient:
|
|
|
26
29
|
def sign_up(
|
|
27
30
|
self,
|
|
28
31
|
*,
|
|
29
|
-
human_email: str,
|
|
30
32
|
username: str,
|
|
33
|
+
human_email: typing.Optional[str] = OMIT,
|
|
31
34
|
source: typing.Optional[str] = OMIT,
|
|
32
35
|
referrer: typing.Optional[str] = OMIT,
|
|
33
36
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -37,6 +40,8 @@ class RawAgentClient:
|
|
|
37
40
|
|
|
38
41
|
A 6-digit OTP is sent to the human's email for verification.
|
|
39
42
|
|
|
43
|
+
`human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint. There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
|
|
44
|
+
|
|
40
45
|
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
41
46
|
|
|
42
47
|
The returned API key has limited permissions until the organization is verified via the verify endpoint.
|
|
@@ -48,12 +53,13 @@ class RawAgentClient:
|
|
|
48
53
|
|
|
49
54
|
Parameters
|
|
50
55
|
----------
|
|
51
|
-
human_email : str
|
|
52
|
-
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
53
|
-
|
|
54
56
|
username : str
|
|
55
57
|
Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).
|
|
56
58
|
|
|
59
|
+
human_email : typing.Optional[str]
|
|
60
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
61
|
+
Omit it to get a receive-only inbox: it can receive email but cannot send until a human is attached with the attach human endpoint.
|
|
62
|
+
|
|
57
63
|
source : typing.Optional[str]
|
|
58
64
|
The SDK, framework, or platform issuing this sign-up (e.g. `agentmail-python`, `agentmail-cli`, `agentmail-mcp`).
|
|
59
65
|
Identifies the caller — answers "who is signing up".
|
|
@@ -114,6 +120,88 @@ class RawAgentClient:
|
|
|
114
120
|
)
|
|
115
121
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
116
122
|
|
|
123
|
+
def attach_human(
|
|
124
|
+
self, *, human_email: str, request_options: typing.Optional[RequestOptions] = None
|
|
125
|
+
) -> HttpResponse[AgentAttachHumanResponse]:
|
|
126
|
+
"""
|
|
127
|
+
Attach a human to an unverified agent organization. A 6-digit OTP is sent to the human's email, which you then submit to the verify endpoint.
|
|
128
|
+
|
|
129
|
+
Use it after signing up without a `human_email`. Once the human is attached, the organization can send email to that human only, and verification lifts the remaining restrictions. For up to 5 minutes after attaching, sends to the human can still be rejected with a `429` daily send limit error while the API key's cached limits catch up. Wait and retry.
|
|
130
|
+
|
|
131
|
+
Calling it again with the same `human_email` does not rotate the API key. It resends the OTP if it was never delivered, or issues a new one if it expired. While the current OTP is still valid, calling it again keeps that OTP and its attempt count. If all 10 attempts are used up, wait until the OTP expires, 24 hours after it was issued, then call it again for a new one.
|
|
132
|
+
|
|
133
|
+
Calling it with a different `human_email` replaces the attached human and sends the new human an OTP. An organization can replace its human at most 2 times.
|
|
134
|
+
|
|
135
|
+
Only available until the organization is verified.
|
|
136
|
+
|
|
137
|
+
**CLI:**
|
|
138
|
+
```bash
|
|
139
|
+
agentmail agent attach-human --human-email user@example.com
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Parameters
|
|
143
|
+
----------
|
|
144
|
+
human_email : str
|
|
145
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
146
|
+
|
|
147
|
+
request_options : typing.Optional[RequestOptions]
|
|
148
|
+
Request-specific configuration.
|
|
149
|
+
|
|
150
|
+
Returns
|
|
151
|
+
-------
|
|
152
|
+
HttpResponse[AgentAttachHumanResponse]
|
|
153
|
+
"""
|
|
154
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
155
|
+
"v0/agent/human",
|
|
156
|
+
base_url=self._client_wrapper.get_environment().http,
|
|
157
|
+
method="POST",
|
|
158
|
+
json={
|
|
159
|
+
"human_email": human_email,
|
|
160
|
+
},
|
|
161
|
+
request_options=request_options,
|
|
162
|
+
omit=OMIT,
|
|
163
|
+
)
|
|
164
|
+
try:
|
|
165
|
+
if 200 <= _response.status_code < 300:
|
|
166
|
+
_data = typing.cast(
|
|
167
|
+
AgentAttachHumanResponse,
|
|
168
|
+
construct_type(
|
|
169
|
+
type_=AgentAttachHumanResponse, # type: ignore
|
|
170
|
+
object_=_response.json(),
|
|
171
|
+
),
|
|
172
|
+
)
|
|
173
|
+
return HttpResponse(response=_response, data=_data)
|
|
174
|
+
if _response.status_code == 400:
|
|
175
|
+
raise errors_validation_error_ValidationError(
|
|
176
|
+
headers=dict(_response.headers),
|
|
177
|
+
body=typing.cast(
|
|
178
|
+
ValidationErrorResponse,
|
|
179
|
+
construct_type(
|
|
180
|
+
type_=ValidationErrorResponse, # type: ignore
|
|
181
|
+
object_=_response.json(),
|
|
182
|
+
),
|
|
183
|
+
),
|
|
184
|
+
)
|
|
185
|
+
if _response.status_code == 409:
|
|
186
|
+
raise ConflictError(
|
|
187
|
+
headers=dict(_response.headers),
|
|
188
|
+
body=typing.cast(
|
|
189
|
+
ErrorResponse,
|
|
190
|
+
construct_type(
|
|
191
|
+
type_=ErrorResponse, # type: ignore
|
|
192
|
+
object_=_response.json(),
|
|
193
|
+
),
|
|
194
|
+
),
|
|
195
|
+
)
|
|
196
|
+
_response_json = _response.json()
|
|
197
|
+
except JSONDecodeError:
|
|
198
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
199
|
+
except pydantic_ValidationError as e:
|
|
200
|
+
raise ParsingError(
|
|
201
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
202
|
+
)
|
|
203
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
204
|
+
|
|
117
205
|
def verify(
|
|
118
206
|
self, *, otp_code: str, request_options: typing.Optional[RequestOptions] = None
|
|
119
207
|
) -> HttpResponse[AgentVerifyResponse]:
|
|
@@ -122,7 +210,7 @@ class RawAgentClient:
|
|
|
122
210
|
|
|
123
211
|
On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
|
|
124
212
|
|
|
125
|
-
The OTP expires after 24 hours and allows a maximum of 10 attempts. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
213
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
126
214
|
|
|
127
215
|
**CLI:**
|
|
128
216
|
```bash
|
|
@@ -178,8 +266,8 @@ class AsyncRawAgentClient:
|
|
|
178
266
|
async def sign_up(
|
|
179
267
|
self,
|
|
180
268
|
*,
|
|
181
|
-
human_email: str,
|
|
182
269
|
username: str,
|
|
270
|
+
human_email: typing.Optional[str] = OMIT,
|
|
183
271
|
source: typing.Optional[str] = OMIT,
|
|
184
272
|
referrer: typing.Optional[str] = OMIT,
|
|
185
273
|
request_options: typing.Optional[RequestOptions] = None,
|
|
@@ -189,6 +277,8 @@ class AsyncRawAgentClient:
|
|
|
189
277
|
|
|
190
278
|
A 6-digit OTP is sent to the human's email for verification.
|
|
191
279
|
|
|
280
|
+
`human_email` is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint. There is also no way to recover the API key, so store it durably. Calling sign-up again without `human_email` creates a new organization, which needs a different `username`: the original username stays with the lost organization's inbox.
|
|
281
|
+
|
|
192
282
|
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
193
283
|
|
|
194
284
|
The returned API key has limited permissions until the organization is verified via the verify endpoint.
|
|
@@ -200,12 +290,13 @@ class AsyncRawAgentClient:
|
|
|
200
290
|
|
|
201
291
|
Parameters
|
|
202
292
|
----------
|
|
203
|
-
human_email : str
|
|
204
|
-
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
205
|
-
|
|
206
293
|
username : str
|
|
207
294
|
Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).
|
|
208
295
|
|
|
296
|
+
human_email : typing.Optional[str]
|
|
297
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
298
|
+
Omit it to get a receive-only inbox: it can receive email but cannot send until a human is attached with the attach human endpoint.
|
|
299
|
+
|
|
209
300
|
source : typing.Optional[str]
|
|
210
301
|
The SDK, framework, or platform issuing this sign-up (e.g. `agentmail-python`, `agentmail-cli`, `agentmail-mcp`).
|
|
211
302
|
Identifies the caller — answers "who is signing up".
|
|
@@ -266,6 +357,88 @@ class AsyncRawAgentClient:
|
|
|
266
357
|
)
|
|
267
358
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
268
359
|
|
|
360
|
+
async def attach_human(
|
|
361
|
+
self, *, human_email: str, request_options: typing.Optional[RequestOptions] = None
|
|
362
|
+
) -> AsyncHttpResponse[AgentAttachHumanResponse]:
|
|
363
|
+
"""
|
|
364
|
+
Attach a human to an unverified agent organization. A 6-digit OTP is sent to the human's email, which you then submit to the verify endpoint.
|
|
365
|
+
|
|
366
|
+
Use it after signing up without a `human_email`. Once the human is attached, the organization can send email to that human only, and verification lifts the remaining restrictions. For up to 5 minutes after attaching, sends to the human can still be rejected with a `429` daily send limit error while the API key's cached limits catch up. Wait and retry.
|
|
367
|
+
|
|
368
|
+
Calling it again with the same `human_email` does not rotate the API key. It resends the OTP if it was never delivered, or issues a new one if it expired. While the current OTP is still valid, calling it again keeps that OTP and its attempt count. If all 10 attempts are used up, wait until the OTP expires, 24 hours after it was issued, then call it again for a new one.
|
|
369
|
+
|
|
370
|
+
Calling it with a different `human_email` replaces the attached human and sends the new human an OTP. An organization can replace its human at most 2 times.
|
|
371
|
+
|
|
372
|
+
Only available until the organization is verified.
|
|
373
|
+
|
|
374
|
+
**CLI:**
|
|
375
|
+
```bash
|
|
376
|
+
agentmail agent attach-human --human-email user@example.com
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Parameters
|
|
380
|
+
----------
|
|
381
|
+
human_email : str
|
|
382
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
383
|
+
|
|
384
|
+
request_options : typing.Optional[RequestOptions]
|
|
385
|
+
Request-specific configuration.
|
|
386
|
+
|
|
387
|
+
Returns
|
|
388
|
+
-------
|
|
389
|
+
AsyncHttpResponse[AgentAttachHumanResponse]
|
|
390
|
+
"""
|
|
391
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
392
|
+
"v0/agent/human",
|
|
393
|
+
base_url=self._client_wrapper.get_environment().http,
|
|
394
|
+
method="POST",
|
|
395
|
+
json={
|
|
396
|
+
"human_email": human_email,
|
|
397
|
+
},
|
|
398
|
+
request_options=request_options,
|
|
399
|
+
omit=OMIT,
|
|
400
|
+
)
|
|
401
|
+
try:
|
|
402
|
+
if 200 <= _response.status_code < 300:
|
|
403
|
+
_data = typing.cast(
|
|
404
|
+
AgentAttachHumanResponse,
|
|
405
|
+
construct_type(
|
|
406
|
+
type_=AgentAttachHumanResponse, # type: ignore
|
|
407
|
+
object_=_response.json(),
|
|
408
|
+
),
|
|
409
|
+
)
|
|
410
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
411
|
+
if _response.status_code == 400:
|
|
412
|
+
raise errors_validation_error_ValidationError(
|
|
413
|
+
headers=dict(_response.headers),
|
|
414
|
+
body=typing.cast(
|
|
415
|
+
ValidationErrorResponse,
|
|
416
|
+
construct_type(
|
|
417
|
+
type_=ValidationErrorResponse, # type: ignore
|
|
418
|
+
object_=_response.json(),
|
|
419
|
+
),
|
|
420
|
+
),
|
|
421
|
+
)
|
|
422
|
+
if _response.status_code == 409:
|
|
423
|
+
raise ConflictError(
|
|
424
|
+
headers=dict(_response.headers),
|
|
425
|
+
body=typing.cast(
|
|
426
|
+
ErrorResponse,
|
|
427
|
+
construct_type(
|
|
428
|
+
type_=ErrorResponse, # type: ignore
|
|
429
|
+
object_=_response.json(),
|
|
430
|
+
),
|
|
431
|
+
),
|
|
432
|
+
)
|
|
433
|
+
_response_json = _response.json()
|
|
434
|
+
except JSONDecodeError:
|
|
435
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
436
|
+
except pydantic_ValidationError as e:
|
|
437
|
+
raise ParsingError(
|
|
438
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
439
|
+
)
|
|
440
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
441
|
+
|
|
269
442
|
async def verify(
|
|
270
443
|
self, *, otp_code: str, request_options: typing.Optional[RequestOptions] = None
|
|
271
444
|
) -> AsyncHttpResponse[AgentVerifyResponse]:
|
|
@@ -274,7 +447,7 @@ class AsyncRawAgentClient:
|
|
|
274
447
|
|
|
275
448
|
On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
|
|
276
449
|
|
|
277
|
-
The OTP expires after 24 hours and allows a maximum of 10 attempts. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
450
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts. If the OTP expired, call the attach human endpoint with the same `human_email` to get a new one without rotating the API key. Once all 10 attempts are used, even the correct OTP is rejected, and attach human keeps returning the same OTP until it expires, so wait for it to expire before asking for a new one. An organization that signed up without a `human_email` has no OTP until a human is attached. If you run into any difficulties receiving the OTP code, you can also create an account on [console.agentmail.to](https://console.agentmail.to) using the human email address you provided to verify your account.
|
|
278
451
|
|
|
279
452
|
**CLI:**
|
|
280
453
|
```bash
|
|
@@ -6,11 +6,15 @@ import typing
|
|
|
6
6
|
from importlib import import_module
|
|
7
7
|
|
|
8
8
|
if typing.TYPE_CHECKING:
|
|
9
|
+
from .agent_attach_human_request import AgentAttachHumanRequest
|
|
10
|
+
from .agent_attach_human_response import AgentAttachHumanResponse
|
|
9
11
|
from .agent_signup_request import AgentSignupRequest
|
|
10
12
|
from .agent_signup_response import AgentSignupResponse
|
|
11
13
|
from .agent_verify_request import AgentVerifyRequest
|
|
12
14
|
from .agent_verify_response import AgentVerifyResponse
|
|
13
15
|
_dynamic_imports: typing.Dict[str, str] = {
|
|
16
|
+
"AgentAttachHumanRequest": ".agent_attach_human_request",
|
|
17
|
+
"AgentAttachHumanResponse": ".agent_attach_human_response",
|
|
14
18
|
"AgentSignupRequest": ".agent_signup_request",
|
|
15
19
|
"AgentSignupResponse": ".agent_signup_response",
|
|
16
20
|
"AgentVerifyRequest": ".agent_verify_request",
|
|
@@ -39,4 +43,11 @@ def __dir__():
|
|
|
39
43
|
return sorted(lazy_attrs)
|
|
40
44
|
|
|
41
45
|
|
|
42
|
-
__all__ = [
|
|
46
|
+
__all__ = [
|
|
47
|
+
"AgentAttachHumanRequest",
|
|
48
|
+
"AgentAttachHumanResponse",
|
|
49
|
+
"AgentSignupRequest",
|
|
50
|
+
"AgentSignupResponse",
|
|
51
|
+
"AgentVerifyRequest",
|
|
52
|
+
"AgentVerifyResponse",
|
|
53
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ...core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class AgentAttachHumanRequest(UncheckedBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Request body to attach a human to an agent organization.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
human_email: str = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
23
|
+
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|