primitivedotdev 2.3.0__tar.gz → 2.4.0__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.
Files changed (964) hide show
  1. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/PKG-INFO +29 -1
  2. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/README.md +28 -0
  3. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/pyproject.toml +1 -1
  4. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/__init__.py +4 -0
  5. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/__init__.py +4 -0
  6. primitivedotdev-2.4.0/src/primitive/api/models/send_mail_idempotency_replay.py +161 -0
  7. primitivedotdev-2.4.0/src/primitive/api/models/send_mail_idempotency_replay_key_source.py +9 -0
  8. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_mail_result.py +54 -0
  9. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/client.py +60 -0
  10. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_client.py +123 -0
  11. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/.gitignore +0 -0
  12. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/json-schema/email-received-event.schema.json +0 -0
  13. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/json-schema/sent-email-event.schema.json +0 -0
  14. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/scripts/generate_api_client.py +0 -0
  15. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/scripts/generate_models.py +0 -0
  16. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/scripts/generate_schema_module.py +0 -0
  17. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/_compat.py +0 -0
  18. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/__init__.py +0 -0
  19. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/__init__.py +0 -0
  20. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/__init__.py +0 -0
  21. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/get_account.py +0 -0
  22. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/get_storage_stats.py +0 -0
  23. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/get_webhook_secret.py +0 -0
  24. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/provision_member_address.py +0 -0
  25. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/rotate_webhook_secret.py +0 -0
  26. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/update_account.py +0 -0
  27. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/account/whoami.py +0 -0
  28. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/__init__.py +0 -0
  29. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/create_agent_account.py +0 -0
  30. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/create_agent_claim_link.py +0 -0
  31. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/resend_agent_signup_verification.py +0 -0
  32. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/start_agent_claim.py +0 -0
  33. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/start_agent_signup.py +0 -0
  34. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/verify_agent_claim.py +0 -0
  35. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent/verify_agent_signup.py +0 -0
  36. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/__init__.py +0 -0
  37. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/agent_connection_setup.py +0 -0
  38. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/claim_agent_connection.py +0 -0
  39. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/create_agent_connection.py +0 -0
  40. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/invite_agent_connection.py +0 -0
  41. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/list_agent_connections.py +0 -0
  42. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/remove_agent_connection.py +0 -0
  43. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_connections/revoke_agent_connection.py +0 -0
  44. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/__init__.py +0 -0
  45. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/add_default_network_member.py +0 -0
  46. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/check_default_network_contact_admission.py +0 -0
  47. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/get_default_network_agent.py +0 -0
  48. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/list_agent_networks.py +0 -0
  49. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/list_default_network_agents.py +0 -0
  50. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/list_default_network_members.py +0 -0
  51. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/remove_default_network_member.py +0 -0
  52. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/agent_networks/update_default_network_member.py +0 -0
  53. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/__init__.py +0 -0
  54. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/cli_logout.py +0 -0
  55. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/poll_cli_login.py +0 -0
  56. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/resend_cli_signup_verification.py +0 -0
  57. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/start_cli_login.py +0 -0
  58. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/start_cli_signup.py +0 -0
  59. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/cli/verify_cli_signup.py +0 -0
  60. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/__init__.py +0 -0
  61. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/delete_agent_contact.py +0 -0
  62. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/delete_contact.py +0 -0
  63. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/get_agent_contact_policy.py +0 -0
  64. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/get_contact.py +0 -0
  65. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/get_contact_policy.py +0 -0
  66. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/list_agent_contacts.py +0 -0
  67. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/list_contacts.py +0 -0
  68. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/put_agent_contact.py +0 -0
  69. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/put_agent_contact_policy.py +0 -0
  70. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/put_contact.py +0 -0
  71. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/contacts/put_contact_policy.py +0 -0
  72. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/credits_/__init__.py +0 -0
  73. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/credits_/get_credit_balance.py +0 -0
  74. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/credits_/redeem_credit_code.py +0 -0
  75. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/__init__.py +0 -0
  76. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/add_domain.py +0 -0
  77. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/check_domain_dns.py +0 -0
  78. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/delete_domain.py +0 -0
  79. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/download_domain_zone_file.py +0 -0
  80. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/list_domains.py +0 -0
  81. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/update_domain.py +0 -0
  82. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/domains/verify_domain.py +0 -0
  83. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/__init__.py +0 -0
  84. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/delete_email.py +0 -0
  85. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/discard_email_content.py +0 -0
  86. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/download_attachments.py +0 -0
  87. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/download_email_attachment_part.py +0 -0
  88. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/download_raw_email.py +0 -0
  89. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/get_conversation.py +0 -0
  90. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/get_email.py +0 -0
  91. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/list_emails.py +0 -0
  92. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/replay_email_webhooks.py +0 -0
  93. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/emails/search_emails.py +0 -0
  94. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/__init__.py +0 -0
  95. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/complete_webhook_event.py +0 -0
  96. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/create_endpoint.py +0 -0
  97. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/delete_endpoint.py +0 -0
  98. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/list_endpoints.py +0 -0
  99. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/pull_webhook_event.py +0 -0
  100. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/test_endpoint.py +0 -0
  101. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/test_endpoint_rules.py +0 -0
  102. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/endpoints/update_endpoint.py +0 -0
  103. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/filters/__init__.py +0 -0
  104. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/filters/create_filter.py +0 -0
  105. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/filters/delete_filter.py +0 -0
  106. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/filters/list_filters.py +0 -0
  107. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/filters/update_filter.py +0 -0
  108. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/__init__.py +0 -0
  109. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/create_function.py +0 -0
  110. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/create_function_secret.py +0 -0
  111. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/create_org_secret.py +0 -0
  112. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/delete_function.py +0 -0
  113. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/delete_function_secret.py +0 -0
  114. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/delete_org_secret.py +0 -0
  115. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/get_function.py +0 -0
  116. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/get_function_routing.py +0 -0
  117. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/get_function_test_run_trace.py +0 -0
  118. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/get_org_routing_topology.py +0 -0
  119. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/list_function_logs.py +0 -0
  120. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/list_function_secrets.py +0 -0
  121. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/list_functions.py +0 -0
  122. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/list_org_secrets.py +0 -0
  123. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/set_function_route.py +0 -0
  124. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/set_function_secret.py +0 -0
  125. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/set_org_secret.py +0 -0
  126. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/test_function.py +0 -0
  127. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/unset_function_route.py +0 -0
  128. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/functions/update_function.py +0 -0
  129. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/inbox/__init__.py +0 -0
  130. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/inbox/get_inbox_status.py +0 -0
  131. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/memories/__init__.py +0 -0
  132. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/memories/delete_memory.py +0 -0
  133. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/memories/get_memory.py +0 -0
  134. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/memories/search_memories.py +0 -0
  135. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/memories/set_memory.py +0 -0
  136. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/__init__.py +0 -0
  137. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/create_challenge.py +0 -0
  138. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/create_email_challenge.py +0 -0
  139. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/get_challenge.py +0 -0
  140. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/get_spend_policy.py +0 -0
  141. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/list_declined_payments.py +0 -0
  142. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/list_payout_addresses.py +0 -0
  143. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/pay_challenge.py +0 -0
  144. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/register_payout_address.py +0 -0
  145. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/payments/update_spend_policy.py +0 -0
  146. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/__init__.py +0 -0
  147. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/create_registry.py +0 -0
  148. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/decide_registry_request.py +0 -0
  149. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/define_agent.py +0 -0
  150. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/delete_registry.py +0 -0
  151. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/get_agent.py +0 -0
  152. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/get_registry.py +0 -0
  153. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/list_registries.py +0 -0
  154. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/list_registry_agents.py +0 -0
  155. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/list_registry_requests.py +0 -0
  156. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/publish_agent.py +0 -0
  157. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/resolve_registry_handle.py +0 -0
  158. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/unpublish_agent.py +0 -0
  159. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/registries/update_registry.py +0 -0
  160. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/__init__.py +0 -0
  161. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/delete_repeating_send.py +0 -0
  162. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/get_repeating_send.py +0 -0
  163. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/list_repeating_sends.py +0 -0
  164. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/stop_repeat_from_email.py +0 -0
  165. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/repeating_sends/update_repeating_send.py +0 -0
  166. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/__init__.py +0 -0
  167. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/create_route.py +0 -0
  168. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/delete_route.py +0 -0
  169. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/list_routes.py +0 -0
  170. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/reorder_routes.py +0 -0
  171. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/simulate_route.py +0 -0
  172. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/routes/update_route.py +0 -0
  173. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/search/__init__.py +0 -0
  174. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/search/semantic_search.py +0 -0
  175. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/__init__.py +0 -0
  176. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/await_reply.py +0 -0
  177. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/cancel_sent_email.py +0 -0
  178. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/delete_sent_email.py +0 -0
  179. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/download_sent_attachment_part.py +0 -0
  180. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/get_outbound_status.py +0 -0
  181. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/get_send_permissions.py +0 -0
  182. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/get_sent_email.py +0 -0
  183. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/list_sent_emails.py +0 -0
  184. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/reply_to_email.py +0 -0
  185. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/reschedule_sent_email.py +0 -0
  186. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/sending/send_email.py +0 -0
  187. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/templates/__init__.py +0 -0
  188. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/templates/get_template.py +0 -0
  189. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/templates/get_template_install.py +0 -0
  190. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/templates/install_template.py +0 -0
  191. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/templates/list_templates.py +0 -0
  192. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/threads/__init__.py +0 -0
  193. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/threads/get_thread.py +0 -0
  194. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/__init__.py +0 -0
  195. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/create_wake_authorization.py +0 -0
  196. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/create_wake_schedule.py +0 -0
  197. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/delete_wake_authorization.py +0 -0
  198. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/delete_wake_schedule.py +0 -0
  199. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/get_wake_schedule.py +0 -0
  200. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/list_wake_authorizations.py +0 -0
  201. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/list_wake_dispatches.py +0 -0
  202. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/list_wake_schedules.py +0 -0
  203. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/run_wake_schedule.py +0 -0
  204. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/update_wake_authorization.py +0 -0
  205. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/wake/update_wake_schedule.py +0 -0
  206. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/webhook_deliveries/__init__.py +0 -0
  207. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/webhook_deliveries/list_deliveries.py +0 -0
  208. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/api/webhook_deliveries/replay_delivery.py +0 -0
  209. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/client.py +0 -0
  210. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/downloads.py +0 -0
  211. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/errors.py +0 -0
  212. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/account.py +0 -0
  213. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/account_updated.py +0 -0
  214. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/add_default_network_member_response_200.py +0 -0
  215. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/add_domain_input.py +0 -0
  216. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/add_domain_response_201.py +0 -0
  217. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_account_result.py +0 -0
  218. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_account_result_plan.py +0 -0
  219. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_account_upgrade_hint.py +0 -0
  220. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_account_upgrade_hint_plan.py +0 -0
  221. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_claim_link_result.py +0 -0
  222. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_claim_result.py +0 -0
  223. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_claim_result_plan.py +0 -0
  224. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_claim_start_result.py +0 -0
  225. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_contact_policy.py +0 -0
  226. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_contact_policy_override.py +0 -0
  227. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network.py +0 -0
  228. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_contact_admission.py +0 -0
  229. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_contact_admission_input.py +0 -0
  230. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_contact_admission_sender_relation.py +0 -0
  231. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_member.py +0 -0
  232. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_member_owner_type_0.py +0 -0
  233. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_member_ownership_kind.py +0 -0
  234. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_peer.py +0 -0
  235. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_peer_owner_type_0.py +0 -0
  236. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_network_peer_ownership_kind.py +0 -0
  237. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_org_ref.py +0 -0
  238. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_presence_type_0.py +0 -0
  239. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_signup_resend_result.py +0 -0
  240. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_signup_start_result.py +0 -0
  241. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_signup_verify_result.py +0 -0
  242. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_signup_verify_result_auth_method.py +0 -0
  243. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/agent_signup_verify_result_token_type.py +0 -0
  244. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/await_reply_response_200.py +0 -0
  245. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/await_reply_result.py +0 -0
  246. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/caller_identity.py +0 -0
  247. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/caller_identity_member_address_type_0.py +0 -0
  248. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cancel_sent_email_response_200.py +0 -0
  249. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/check_default_network_contact_admission_response_200.py +0 -0
  250. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/check_domain_dns_response_200.py +0 -0
  251. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_body.py +0 -0
  252. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_response_200.py +0 -0
  253. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_response_200_data.py +0 -0
  254. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_response_200_data_connection.py +0 -0
  255. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_response_200_data_connection_ownership_kind.py +0 -0
  256. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/claim_agent_connection_response_200_data_connection_status.py +0 -0
  257. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_login_poll_result.py +0 -0
  258. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_login_poll_result_auth_method.py +0 -0
  259. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_login_poll_result_token_type.py +0 -0
  260. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_login_start_result.py +0 -0
  261. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_logout_input.py +0 -0
  262. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_logout_response_200.py +0 -0
  263. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_logout_result.py +0 -0
  264. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_signup_resend_result.py +0 -0
  265. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_signup_start_result.py +0 -0
  266. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_signup_verify_result.py +0 -0
  267. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_signup_verify_result_auth_method.py +0 -0
  268. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/cli_signup_verify_result_token_type.py +0 -0
  269. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_exec_input.py +0 -0
  270. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_exec_input_mode.py +0 -0
  271. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_exec_input_transport_error.py +0 -0
  272. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_http_input.py +0 -0
  273. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_http_input_mode.py +0 -0
  274. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_http_input_transport_error.py +0 -0
  275. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_response.py +0 -0
  276. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_response_data.py +0 -0
  277. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_response_data_result.py +0 -0
  278. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_response_meta.py +0 -0
  279. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_sdk_input.py +0 -0
  280. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_sdk_input_mode.py +0 -0
  281. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_sdk_input_transport_error.py +0 -0
  282. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_stdout_input.py +0 -0
  283. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_stdout_input_mode.py +0 -0
  284. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/complete_webhook_stdout_input_transport_error.py +0 -0
  285. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/contact_policy.py +0 -0
  286. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/contact_policy_rule.py +0 -0
  287. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/contact_policy_rule_effect.py +0 -0
  288. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/contact_policy_rule_input.py +0 -0
  289. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/contact_policy_rule_input_effect.py +0 -0
  290. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation.py +0 -0
  291. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation_message.py +0 -0
  292. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation_message_direction.py +0 -0
  293. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation_message_repeat_type_0.py +0 -0
  294. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation_message_role.py +0 -0
  295. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/conversation_message_sender_member_type_0.py +0 -0
  296. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_account_input.py +0 -0
  297. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_account_response_200.py +0 -0
  298. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_claim_link_input.py +0 -0
  299. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_claim_link_response_200.py +0 -0
  300. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_body.py +0 -0
  301. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_body_ownership_kind.py +0 -0
  302. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200.py +0 -0
  303. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_0.py +0 -0
  304. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_0_connection.py +0 -0
  305. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_0_connection_ownership_kind.py +0 -0
  306. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_0_connection_status.py +0 -0
  307. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_0_invitation.py +0 -0
  308. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_1.py +0 -0
  309. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_1_connection.py +0 -0
  310. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_1_connection_ownership_kind.py +0 -0
  311. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_agent_connection_response_200_data_type_1_connection_status.py +0 -0
  312. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_challenge_input.py +0 -0
  313. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_challenge_input_network.py +0 -0
  314. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_challenge_response_201.py +0 -0
  315. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_email_challenge_input.py +0 -0
  316. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_email_challenge_input_network.py +0 -0
  317. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_email_challenge_response_200.py +0 -0
  318. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_email_challenge_response_201.py +0 -0
  319. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_endpoint_input.py +0 -0
  320. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_endpoint_input_kind.py +0 -0
  321. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_endpoint_input_rules.py +0 -0
  322. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_endpoint_response_200.py +0 -0
  323. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_endpoint_response_201.py +0 -0
  324. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_filter_input.py +0 -0
  325. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_filter_input_type.py +0 -0
  326. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_filter_response_201.py +0 -0
  327. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_input.py +0 -0
  328. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_input_files.py +0 -0
  329. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_response_201.py +0 -0
  330. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_result.py +0 -0
  331. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_secret_input.py +0 -0
  332. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_secret_response_200.py +0 -0
  333. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_function_secret_response_201.py +0 -0
  334. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_org_secret_input.py +0 -0
  335. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_org_secret_response_200.py +0 -0
  336. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_org_secret_response_201.py +0 -0
  337. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_registry_input.py +0 -0
  338. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_registry_response_201.py +0 -0
  339. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_registry_response_201_data.py +0 -0
  340. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_route_input.py +0 -0
  341. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_route_input_match_type.py +0 -0
  342. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_route_response_201.py +0 -0
  343. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_wake_authorization_input.py +0 -0
  344. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_wake_authorization_response_201.py +0 -0
  345. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_wake_schedule_input.py +0 -0
  346. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_wake_schedule_input_args.py +0 -0
  347. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/create_wake_schedule_response_201.py +0 -0
  348. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/credit_balance.py +0 -0
  349. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/credit_balance_budget_type_0.py +0 -0
  350. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/credit_balance_prepaid_credit_type_0.py +0 -0
  351. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/credit_redemption.py +0 -0
  352. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/decide_registry_request_input.py +0 -0
  353. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/decide_registry_request_input_decision.py +0 -0
  354. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/decide_registry_request_response_200.py +0 -0
  355. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/decide_registry_request_response_200_data.py +0 -0
  356. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/decide_registry_request_response_200_data_status.py +0 -0
  357. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/define_agent_input.py +0 -0
  358. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/define_agent_response_201.py +0 -0
  359. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/define_agent_response_201_data.py +0 -0
  360. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_agent_contact_response_200.py +0 -0
  361. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_agent_contact_response_200_data.py +0 -0
  362. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_contact_response_200.py +0 -0
  363. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_contact_response_200_data.py +0 -0
  364. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_domain_response_200.py +0 -0
  365. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_domain_response_200_data.py +0 -0
  366. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_email_response_200.py +0 -0
  367. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_email_response_200_data.py +0 -0
  368. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_endpoint_response_200.py +0 -0
  369. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_endpoint_response_200_data.py +0 -0
  370. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_filter_response_200.py +0 -0
  371. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_filter_response_200_data.py +0 -0
  372. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_function_response_200.py +0 -0
  373. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_function_response_200_data.py +0 -0
  374. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_memory_response_200.py +0 -0
  375. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_memory_result.py +0 -0
  376. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_memory_scope_type.py +0 -0
  377. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_registry_response_200.py +0 -0
  378. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_registry_response_200_data.py +0 -0
  379. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_repeating_send_response_200.py +0 -0
  380. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_repeating_send_response_200_data.py +0 -0
  381. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_route_response_200.py +0 -0
  382. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_route_response_200_data.py +0 -0
  383. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_sent_email_response_200.py +0 -0
  384. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_sent_email_response_200_data.py +0 -0
  385. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_wake_authorization_response_200.py +0 -0
  386. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_wake_authorization_response_200_data.py +0 -0
  387. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_wake_schedule_response_200.py +0 -0
  388. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delete_wake_schedule_response_200_data.py +0 -0
  389. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delivery_status.py +0 -0
  390. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delivery_summary.py +0 -0
  391. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delivery_summary_email_type_0.py +0 -0
  392. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/delivery_summary_status.py +0 -0
  393. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/discard_content_result.py +0 -0
  394. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/discard_email_content_response_200.py +0 -0
  395. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/dkim_signature.py +0 -0
  396. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_health_check.py +0 -0
  397. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_health_check_scopes.py +0 -0
  398. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_health_scope.py +0 -0
  399. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_health_scope_scope.py +0 -0
  400. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_health_status.py +0 -0
  401. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_record.py +0 -0
  402. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_record_purpose.py +0 -0
  403. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_record_status.py +0 -0
  404. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_dns_record_type.py +0 -0
  405. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_verify_result_type_0.py +0 -0
  406. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/domain_verify_result_type_1.py +0 -0
  407. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_address.py +0 -0
  408. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_attachment.py +0 -0
  409. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_auth.py +0 -0
  410. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail.py +0 -0
  411. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_automation_headers_type_0.py +0 -0
  412. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_awaiting.py +0 -0
  413. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_relay_type_0.py +0 -0
  414. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_relay_type_0_delivery_item.py +0 -0
  415. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_repeat_type_0.py +0 -0
  416. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_reply.py +0 -0
  417. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_detail_sender_member_type_0.py +0 -0
  418. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_facet_bucket.py +0 -0
  419. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_facets.py +0 -0
  420. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_facets_has_attachment.py +0 -0
  421. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_highlights.py +0 -0
  422. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_meta.py +0 -0
  423. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_meta_sort.py +0 -0
  424. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_result.py +0 -0
  425. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_search_result_direction.py +0 -0
  426. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_status.py +0 -0
  427. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary.py +0 -0
  428. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary_automation_headers_type_0.py +0 -0
  429. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary_awaiting.py +0 -0
  430. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary_relay_type_0.py +0 -0
  431. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary_repeat_type_0.py +0 -0
  432. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_summary_sender_member_type_0.py +0 -0
  433. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_webhook_status_type_1.py +0 -0
  434. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_webhook_status_type_2_type_1.py +0 -0
  435. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/email_webhook_status_type_3_type_1.py +0 -0
  436. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint.py +0 -0
  437. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint_kind.py +0 -0
  438. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint_receiver_capabilities.py +0 -0
  439. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint_receiver_capabilities_completion_modes_item.py +0 -0
  440. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint_receiver_capabilities_stream_protocols_item.py +0 -0
  441. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/endpoint_rules.py +0 -0
  442. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/error_response.py +0 -0
  443. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/error_response_error.py +0 -0
  444. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/error_response_error_code.py +0 -0
  445. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/error_response_error_details.py +0 -0
  446. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/error_response_error_details_mx_conflict.py +0 -0
  447. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/filter_.py +0 -0
  448. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/filter_type.py +0 -0
  449. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_deploy_status.py +0 -0
  450. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_detail.py +0 -0
  451. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_list_item.py +0 -0
  452. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_log_row.py +0 -0
  453. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_log_row_level.py +0 -0
  454. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_log_row_metadata_type_0.py +0 -0
  455. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_body.py +0 -0
  456. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_body_target_type_0.py +0 -0
  457. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_body_target_type_0_kind.py +0 -0
  458. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_body_target_type_1.py +0 -0
  459. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_body_target_type_1_kind.py +0 -0
  460. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_result.py +0 -0
  461. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_result_conflict.py +0 -0
  462. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_route_result_conflict_kind.py +0 -0
  463. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_routing.py +0 -0
  464. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_routing_domain_type_0.py +0 -0
  465. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_routing_rules.py +0 -0
  466. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_secret_list_item.py +0 -0
  467. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_secret_write_result.py +0 -0
  468. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run.py +0 -0
  469. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_delivery.py +0 -0
  470. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_delivery_endpoint_type_0.py +0 -0
  471. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_delivery_status.py +0 -0
  472. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_inbound_email_type_0.py +0 -0
  473. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_outbound_request.py +0 -0
  474. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_reply.py +0 -0
  475. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_send_type_0.py +0 -0
  476. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_state.py +0 -0
  477. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/function_test_run_trace.py +0 -0
  478. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/gate_denial.py +0 -0
  479. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/gate_denial_name.py +0 -0
  480. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/gate_denial_reason.py +0 -0
  481. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/gate_fix.py +0 -0
  482. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/gate_fix_action.py +0 -0
  483. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_account_response_200.py +0 -0
  484. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_agent_contact_policy_response_200.py +0 -0
  485. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_agent_response_200.py +0 -0
  486. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_challenge_response_200.py +0 -0
  487. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_contact_policy_response_200.py +0 -0
  488. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_contact_response_200.py +0 -0
  489. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_contact_response_200_data.py +0 -0
  490. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_conversation_response_200.py +0 -0
  491. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_credit_balance_response_200.py +0 -0
  492. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_default_network_agent_response_200.py +0 -0
  493. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_email_response_200.py +0 -0
  494. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_function_response_200.py +0 -0
  495. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_function_routing_response_200.py +0 -0
  496. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_function_test_run_trace_response_200.py +0 -0
  497. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_inbox_status_response_200.py +0 -0
  498. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_memory_response_200.py +0 -0
  499. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_memory_scope_type.py +0 -0
  500. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_org_routing_topology_response_200.py +0 -0
  501. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_outbound_status_response_200.py +0 -0
  502. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_registry_response_200.py +0 -0
  503. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_repeating_send_response_200.py +0 -0
  504. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_send_permissions_response_200.py +0 -0
  505. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_sent_email_response_200.py +0 -0
  506. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_spend_policy_response_200.py +0 -0
  507. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_storage_stats_response_200.py +0 -0
  508. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_template_install_response_200.py +0 -0
  509. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_template_response_200.py +0 -0
  510. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_thread_response_200.py +0 -0
  511. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_wake_schedule_response_200.py +0 -0
  512. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/get_webhook_secret_response_200.py +0 -0
  513. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status.py +0 -0
  514. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_domain.py +0 -0
  515. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_domain_status.py +0 -0
  516. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_endpoint_summary.py +0 -0
  517. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_function_summary.py +0 -0
  518. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_next_action.py +0 -0
  519. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_next_action_kind.py +0 -0
  520. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/inbox_status_recent_email_summary.py +0 -0
  521. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/install_template_body.py +0 -0
  522. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/install_template_body_secrets.py +0 -0
  523. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/install_template_body_variables.py +0 -0
  524. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/install_template_response_201.py +0 -0
  525. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_body.py +0 -0
  526. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200.py +0 -0
  527. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200_data.py +0 -0
  528. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200_data_connection.py +0 -0
  529. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200_data_connection_ownership_kind.py +0 -0
  530. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200_data_connection_status.py +0 -0
  531. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/invite_agent_connection_response_200_data_invitation.py +0 -0
  532. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_owner.py +0 -0
  533. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_response_200.py +0 -0
  534. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_response_200_data_item.py +0 -0
  535. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_response_200_data_item_ownership_kind.py +0 -0
  536. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_response_200_data_item_status.py +0 -0
  537. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_connections_response_200_meta.py +0 -0
  538. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_contacts_response_200.py +0 -0
  539. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_contacts_response_200_data_item.py +0 -0
  540. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_contacts_response_200_meta.py +0 -0
  541. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_agent_networks_response_200.py +0 -0
  542. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_contacts_response_200.py +0 -0
  543. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_contacts_response_200_data_item.py +0 -0
  544. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_contacts_response_200_meta.py +0 -0
  545. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_declined_payments_response_200.py +0 -0
  546. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_default_network_agents_response_200.py +0 -0
  547. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_default_network_members_response_200.py +0 -0
  548. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_deliveries_response_200.py +0 -0
  549. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_deliveries_status.py +0 -0
  550. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_domains_response_200.py +0 -0
  551. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_emails_automated.py +0 -0
  552. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_emails_awaiting.py +0 -0
  553. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_emails_exclude_fyi.py +0 -0
  554. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_emails_response_200.py +0 -0
  555. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_endpoints_response_200.py +0 -0
  556. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_envelope.py +0 -0
  557. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_filters_response_200.py +0 -0
  558. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_function_logs_response_200.py +0 -0
  559. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_function_logs_response_200_data.py +0 -0
  560. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_function_secrets_response_200.py +0 -0
  561. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_function_secrets_response_200_data.py +0 -0
  562. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_functions_response_200.py +0 -0
  563. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_org_secrets_response_200.py +0 -0
  564. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_org_secrets_response_200_data.py +0 -0
  565. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_payout_addresses_response_200.py +0 -0
  566. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_registries_response_200.py +0 -0
  567. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_registry_agents_response_200.py +0 -0
  568. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_registry_requests_response_200.py +0 -0
  569. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_repeating_sends_response_200.py +0 -0
  570. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_routes_response_200.py +0 -0
  571. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_sent_emails_response_200.py +0 -0
  572. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_templates_response_200.py +0 -0
  573. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_wake_authorizations_response_200.py +0 -0
  574. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_wake_dispatches_response_200.py +0 -0
  575. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/list_wake_schedules_response_200.py +0 -0
  576. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/member_address.py +0 -0
  577. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/member_sender.py +0 -0
  578. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_json_value_type_5.py +0 -0
  579. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_record.py +0 -0
  580. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_record_with_value.py +0 -0
  581. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_resolved_scope.py +0 -0
  582. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_resolved_scope_type.py +0 -0
  583. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_scope_type_0.py +0 -0
  584. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_scope_type_0_type.py +0 -0
  585. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_scope_type_1.py +0 -0
  586. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/memory_scope_type_1_type.py +0 -0
  587. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/org_secret_list_item.py +0 -0
  588. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/org_secret_write_result.py +0 -0
  589. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/outbound_status.py +0 -0
  590. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/outbound_status_domain.py +0 -0
  591. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/outbound_status_domain_status.py +0 -0
  592. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/outbound_status_next_actions_item.py +0 -0
  593. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pagination_meta.py +0 -0
  594. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/parsed_email_data.py +0 -0
  595. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/parsed_email_data_error_type_0.py +0 -0
  596. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/parsed_email_data_status.py +0 -0
  597. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pay_challenge_input.py +0 -0
  598. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pay_challenge_response_200.py +0 -0
  599. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/plan_limits.py +0 -0
  600. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/poll_cli_login_input.py +0 -0
  601. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/poll_cli_login_response_200.py +0 -0
  602. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/presence_control_type_0.py +0 -0
  603. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/presence_control_type_0_status.py +0 -0
  604. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/presence_profile.py +0 -0
  605. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/provision_member_address_body.py +0 -0
  606. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/provision_member_address_response_200.py +0 -0
  607. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_agent_input.py +0 -0
  608. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_agent_response_200.py +0 -0
  609. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_agent_response_201.py +0 -0
  610. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_agent_result.py +0 -0
  611. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_agent_result_status.py +0 -0
  612. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/publish_policy.py +0 -0
  613. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_input.py +0 -0
  614. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response.py +0 -0
  615. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_data.py +0 -0
  616. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_data_delivery_type_0.py +0 -0
  617. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_data_delivery_type_0_headers.py +0 -0
  618. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_data_handler_timeout_seconds.py +0 -0
  619. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_data_retention_seconds.py +0 -0
  620. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/pull_webhook_response_meta.py +0 -0
  621. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_body_type_0.py +0 -0
  622. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_body_type_1.py +0 -0
  623. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_policy_create.py +0 -0
  624. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_policy_replace.py +0 -0
  625. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_policy_response_200.py +0 -0
  626. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_response_200.py +0 -0
  627. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_agent_contact_response_200_data.py +0 -0
  628. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_body_type_0.py +0 -0
  629. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_body_type_1.py +0 -0
  630. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_policy_create.py +0 -0
  631. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_policy_replace.py +0 -0
  632. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_policy_response_200.py +0 -0
  633. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_response_200.py +0 -0
  634. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/put_contact_response_200_data.py +0 -0
  635. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/recipient_route.py +0 -0
  636. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/recipient_route_match_type.py +0 -0
  637. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/redeem_credit_code_input.py +0 -0
  638. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/redeem_credit_code_response_200.py +0 -0
  639. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/register_payout_address_input.py +0 -0
  640. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/register_payout_address_input_network.py +0 -0
  641. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/register_payout_address_response_201.py +0 -0
  642. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/registry.py +0 -0
  643. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/registry_agent.py +0 -0
  644. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/registry_request.py +0 -0
  645. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/remove_agent_connection_response_200.py +0 -0
  646. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/remove_agent_connection_response_200_data.py +0 -0
  647. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/remove_default_network_member_response_200.py +0 -0
  648. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/remove_default_network_member_response_200_data.py +0 -0
  649. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reorder_routes_input.py +0 -0
  650. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reorder_routes_input_updates_item.py +0 -0
  651. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reorder_routes_response_200.py +0 -0
  652. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeat_input.py +0 -0
  653. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeat_stop_request.py +0 -0
  654. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeat_stop_result.py +0 -0
  655. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeat_stop_result_status.py +0 -0
  656. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeating_send.py +0 -0
  657. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/repeating_send_status.py +0 -0
  658. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/replay_delivery_response_200.py +0 -0
  659. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/replay_email_webhooks_response_200.py +0 -0
  660. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/replay_result.py +0 -0
  661. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reply_email.py +0 -0
  662. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reply_input.py +0 -0
  663. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reply_to_email_response_200.py +0 -0
  664. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/reschedule_sent_email_response_200.py +0 -0
  665. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/resend_agent_signup_verification_input.py +0 -0
  666. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/resend_agent_signup_verification_response_200.py +0 -0
  667. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/resend_cli_signup_verification_input.py +0 -0
  668. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/resend_cli_signup_verification_response_200.py +0 -0
  669. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/resolve_registry_handle_response_200.py +0 -0
  670. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/revoke_agent_connection_response_200.py +0 -0
  671. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/revoke_agent_connection_response_200_data.py +0 -0
  672. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/revoke_agent_connection_response_200_data_connection.py +0 -0
  673. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/revoke_agent_connection_response_200_data_connection_ownership_kind.py +0 -0
  674. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/revoke_agent_connection_response_200_data_connection_status.py +0 -0
  675. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/rotate_webhook_secret_response_200.py +0 -0
  676. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/route_evaluated_entry.py +0 -0
  677. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/route_evaluated_entry_result.py +0 -0
  678. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/route_evaluated_entry_tier.py +0 -0
  679. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/routing_topology.py +0 -0
  680. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/routing_topology_domains_item.py +0 -0
  681. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/routing_topology_domains_item_routed_function_type_0.py +0 -0
  682. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/routing_topology_fallback_function_type_0.py +0 -0
  683. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/routing_topology_unrouted_functions_item.py +0 -0
  684. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/run_wake_schedule_response_200.py +0 -0
  685. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/run_wake_schedule_response_200_data.py +0 -0
  686. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_automated.py +0 -0
  687. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_awaiting.py +0 -0
  688. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_count.py +0 -0
  689. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_has_attachment.py +0 -0
  690. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_include_facets.py +0 -0
  691. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_prefix.py +0 -0
  692. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_response_200.py +0 -0
  693. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_snippet.py +0 -0
  694. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_emails_sort.py +0 -0
  695. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_memories_include_value.py +0 -0
  696. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_memories_response_200.py +0 -0
  697. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/search_memories_scope_type.py +0 -0
  698. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_coverage.py +0 -0
  699. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_field.py +0 -0
  700. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_input.py +0 -0
  701. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_input_corpus_item.py +0 -0
  702. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_input_include_item.py +0 -0
  703. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_input_mode.py +0 -0
  704. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_meta.py +0 -0
  705. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_meta_mode.py +0 -0
  706. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_response_200.py +0 -0
  707. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_result.py +0 -0
  708. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_result_source_type.py +0 -0
  709. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_score_breakdown.py +0 -0
  710. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/semantic_search_snippet.py +0 -0
  711. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_email_response_200.py +0 -0
  712. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_mail_attachment.py +0 -0
  713. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_mail_input.py +0 -0
  714. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_mail_payload_ref.py +0 -0
  715. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_address.py +0 -0
  716. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_address_type.py +0 -0
  717. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_any_recipient.py +0 -0
  718. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_any_recipient_type.py +0 -0
  719. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_managed_zone.py +0 -0
  720. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_managed_zone_type.py +0 -0
  721. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_your_domain.py +0 -0
  722. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permission_your_domain_type.py +0 -0
  723. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/send_permissions_meta.py +0 -0
  724. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_detail.py +0 -0
  725. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_detail_attachments_item.py +0 -0
  726. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_detail_repeat_type_0.py +0 -0
  727. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_detail_sender_member_type_0.py +0 -0
  728. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_detail_tags_type_0_item.py +0 -0
  729. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_reschedule_input.py +0 -0
  730. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_status.py +0 -0
  731. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_summary.py +0 -0
  732. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_summary_repeat_type_0.py +0 -0
  733. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/sent_email_summary_sender_member_type_0.py +0 -0
  734. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_function_route_response_200.py +0 -0
  735. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_function_secret_input.py +0 -0
  736. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_function_secret_response_200.py +0 -0
  737. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_function_secret_response_201.py +0 -0
  738. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_memory_input.py +0 -0
  739. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_memory_response_200.py +0 -0
  740. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_memory_response_201.py +0 -0
  741. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_org_secret_input.py +0 -0
  742. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_org_secret_response_200.py +0 -0
  743. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/set_org_secret_response_201.py +0 -0
  744. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_input.py +0 -0
  745. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_response_200.py +0 -0
  746. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result.py +0 -0
  747. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_default_scope_type_1.py +0 -0
  748. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_default_scope_type_2_type_1.py +0 -0
  749. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_default_scope_type_3_type_1.py +0 -0
  750. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_matched_tier_type_1.py +0 -0
  751. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_matched_tier_type_2_type_1.py +0 -0
  752. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_matched_tier_type_3_type_1.py +0 -0
  753. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/simulate_route_result_outcome.py +0 -0
  754. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_agent_claim_input.py +0 -0
  755. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_agent_claim_response_200.py +0 -0
  756. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_agent_signup_input.py +0 -0
  757. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_agent_signup_input_metadata.py +0 -0
  758. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_agent_signup_response_201.py +0 -0
  759. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_login_input.py +0 -0
  760. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_login_input_metadata.py +0 -0
  761. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_login_response_201.py +0 -0
  762. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_signup_input.py +0 -0
  763. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_signup_input_metadata.py +0 -0
  764. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/start_cli_signup_response_201.py +0 -0
  765. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/stop_repeat_from_email_response_200.py +0 -0
  766. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/storage_stats.py +0 -0
  767. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/success_envelope.py +0 -0
  768. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_author.py +0 -0
  769. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_install.py +0 -0
  770. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_install_mode.py +0 -0
  771. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_install_state.py +0 -0
  772. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_install_status.py +0 -0
  773. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_manifest.py +0 -0
  774. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_registry_detail.py +0 -0
  775. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_registry_page.py +0 -0
  776. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_registry_status.py +0 -0
  777. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_registry_summary.py +0 -0
  778. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_secret.py +0 -0
  779. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_secret_group.py +0 -0
  780. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_setup.py +0 -0
  781. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_source_type_0.py +0 -0
  782. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_source_type_1.py +0 -0
  783. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_variable.py +0 -0
  784. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_variable_type.py +0 -0
  785. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/template_variable_validation.py +0 -0
  786. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_endpoint_response_200.py +0 -0
  787. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_endpoint_rules_input.py +0 -0
  788. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_endpoint_rules_response_200.py +0 -0
  789. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_endpoint_rules_result.py +0 -0
  790. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_endpoint_rules_result_evaluated.py +0 -0
  791. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_function_body.py +0 -0
  792. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_function_response_200.py +0 -0
  793. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_invocation_result.py +0 -0
  794. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/test_result.py +0 -0
  795. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/thread.py +0 -0
  796. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/thread_message.py +0 -0
  797. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/thread_message_direction.py +0 -0
  798. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/thread_message_repeat_type_0.py +0 -0
  799. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/thread_message_sender_member_type_0.py +0 -0
  800. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/unpublish_agent_response_200.py +0 -0
  801. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/unpublish_agent_response_200_data.py +0 -0
  802. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/unset_function_route_response_200.py +0 -0
  803. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/unset_function_route_response_200_data.py +0 -0
  804. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/unverified_domain.py +0 -0
  805. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_account_input.py +0 -0
  806. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_account_response_200.py +0 -0
  807. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_agent_network_member_input.py +0 -0
  808. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_default_network_member_response_200.py +0 -0
  809. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_domain_input.py +0 -0
  810. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_domain_response_200.py +0 -0
  811. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_endpoint_input.py +0 -0
  812. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_endpoint_input_rules.py +0 -0
  813. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_endpoint_response_200.py +0 -0
  814. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_filter_input.py +0 -0
  815. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_filter_response_200.py +0 -0
  816. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_function_input.py +0 -0
  817. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_function_input_files.py +0 -0
  818. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_function_response_200.py +0 -0
  819. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_registry_input.py +0 -0
  820. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_registry_response_200.py +0 -0
  821. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_registry_response_200_data.py +0 -0
  822. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_repeating_send_request.py +0 -0
  823. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_repeating_send_request_status.py +0 -0
  824. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_repeating_send_response_200.py +0 -0
  825. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_route_input.py +0 -0
  826. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_route_input_match_type.py +0 -0
  827. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_route_response_200.py +0 -0
  828. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_spend_policy_input.py +0 -0
  829. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_spend_policy_response_200.py +0 -0
  830. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_wake_authorization_input.py +0 -0
  831. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_wake_authorization_response_200.py +0 -0
  832. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_wake_schedule_input.py +0 -0
  833. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_wake_schedule_input_args.py +0 -0
  834. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/update_wake_schedule_response_200.py +0 -0
  835. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verified_domain.py +0 -0
  836. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_agent_claim_input.py +0 -0
  837. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_agent_claim_response_200.py +0 -0
  838. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_agent_signup_input.py +0 -0
  839. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_agent_signup_response_200.py +0 -0
  840. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_cli_signup_input.py +0 -0
  841. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_cli_signup_response_200.py +0 -0
  842. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/verify_domain_response_200.py +0 -0
  843. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/wake_authorization.py +0 -0
  844. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/wake_dispatch.py +0 -0
  845. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/wake_schedule.py +0 -0
  846. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/wake_schedule_args.py +0 -0
  847. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/webhook_secret.py +0 -0
  848. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/whoami_response_200.py +0 -0
  849. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_challenge.py +0 -0
  850. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_challenge_network.py +0 -0
  851. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_challenge_status.py +0 -0
  852. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_declined_payment.py +0 -0
  853. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_declined_payment_network.py +0 -0
  854. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_email_challenge.py +0 -0
  855. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_email_challenge_details.py +0 -0
  856. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_nonce_binding.py +0 -0
  857. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_payload.py +0 -0
  858. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_payload_network.py +0 -0
  859. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_payload_payload.py +0 -0
  860. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_payload_payload_authorization.py +0 -0
  861. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_requirements.py +0 -0
  862. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_requirements_extra.py +0 -0
  863. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payment_requirements_network.py +0 -0
  864. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payout_address.py +0 -0
  865. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_payout_address_network.py +0 -0
  866. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_receipt.py +0 -0
  867. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_receipt_status.py +0 -0
  868. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/models/x402_spend_policy.py +0 -0
  869. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/api/types.py +0 -0
  870. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/errors.py +0 -0
  871. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/event_receiver.py +0 -0
  872. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/events.py +0 -0
  873. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/interactions.py +0 -0
  874. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/models_generated.py +0 -0
  875. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/presence.py +0 -0
  876. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/py.typed +0 -0
  877. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/received_email.py +0 -0
  878. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/repeats.py +0 -0
  879. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/schema.py +0 -0
  880. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/schemas/email_received_event.schema.json +0 -0
  881. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/schemas/sent_email_event.schema.json +0 -0
  882. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/sent_email_events.py +0 -0
  883. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/sent_email_models_generated.py +0 -0
  884. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/signal_content.py +0 -0
  885. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/signals.py +0 -0
  886. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/trust.py +0 -0
  887. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/types.py +0 -0
  888. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/validation.py +0 -0
  889. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/webhook.py +0 -0
  890. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/x402/__init__.py +0 -0
  891. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/x402/client.py +0 -0
  892. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/src/primitive/x402/sign.py +0 -0
  893. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/attachment-part.json +0 -0
  894. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/auth/cases.json +0 -0
  895. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/automated-mail/cases.json +0 -0
  896. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/contact-pattern-conformance.json +0 -0
  897. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/download-tokens/vectors.json +0 -0
  898. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/email-search-pages.json +0 -0
  899. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/handle-webhook/cases.json +0 -0
  900. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/handle-webhook/standard-webhooks-cases.json +0 -0
  901. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/header-address-parser/cases.json +0 -0
  902. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/interaction-decoded.json +0 -0
  903. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/interaction-envelopes.json +0 -0
  904. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/local-event-receiver.json +0 -0
  905. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/parse-webhook-event/cases.json +0 -0
  906. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/payloads/conformance-vector.json +0 -0
  907. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/presence-emails.json +0 -0
  908. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/raw/cases.json +0 -0
  909. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/repeat-interactions.json +0 -0
  910. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/send-payloads/cases.json +0 -0
  911. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-attachment-completeness.json +0 -0
  912. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-attachment.json +0 -0
  913. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/accepted.json +0 -0
  914. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/cases.json +0 -0
  915. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/completed-not-relayed.json +0 -0
  916. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/completed.json +0 -0
  917. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/delivered-recipient.json +0 -0
  918. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/delivered-rollup.json +0 -0
  919. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/failed-recipient.json +0 -0
  920. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/failed-rollup.json +0 -0
  921. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-events/legacy-message-result.json +0 -0
  922. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/sent-email-recipients.json +0 -0
  923. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/signal-content.eml +0 -0
  924. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/signal-content.json +0 -0
  925. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/signal-emails.json +0 -0
  926. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/signing/standard-webhooks-vectors.json +0 -0
  927. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/signing/vectors.json +0 -0
  928. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/subject-builders/cases.json +0 -0
  929. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/trust/cases.json +0 -0
  930. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/webhook/address-scoped-email.json +0 -0
  931. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/webhook/valid-email-received.json +0 -0
  932. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/test-fixtures/webhook/validation-cases.json +0 -0
  933. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/conftest.py +0 -0
  934. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_attachment_parts.py +0 -0
  935. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_auth.py +0 -0
  936. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_conversation_since.py +0 -0
  937. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_credits.py +0 -0
  938. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_email_detail.py +0 -0
  939. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_email_search.py +0 -0
  940. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_encoding.py +0 -0
  941. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_event_receiver.py +0 -0
  942. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_events.py +0 -0
  943. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_generated_agent_connections.py +0 -0
  944. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_generated_downloads.py +0 -0
  945. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_generated_pull_events.py +0 -0
  946. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_interactions.py +0 -0
  947. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_mail_deletion.py +0 -0
  948. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_parsing.py +0 -0
  949. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_presence.py +0 -0
  950. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_repeats.py +0 -0
  951. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_search_scope_errors.py +0 -0
  952. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_send_payloads.py +0 -0
  953. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_sent_email_events.py +0 -0
  954. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_sent_email_recipients.py +0 -0
  955. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_shared_fixtures.py +0 -0
  956. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_signal_content.py +0 -0
  957. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_signals.py +0 -0
  958. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_signing.py +0 -0
  959. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_trust.py +0 -0
  960. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_validation.py +0 -0
  961. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_webhook.py +0 -0
  962. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_x402_client.py +0 -0
  963. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_x402_extract.py +0 -0
  964. {primitivedotdev-2.3.0 → primitivedotdev-2.4.0}/tests/test_x402_sign.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: primitivedotdev
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Official Primitive Python SDK for webhook handling and API access
5
5
  Project-URL: Homepage, https://primitive.dev
6
6
  Project-URL: Repository, https://github.com/primitivedotdev/sdks
@@ -223,6 +223,34 @@ client.send(
223
223
  )
224
224
  ```
225
225
 
226
+ A send with no idempotency key gets an automatic one: a hash of the request
227
+ content (recipients included) and a fixed 5-minute window. An identical send
228
+ inside one window is not sent again. The result says so: `idempotent_replay`
229
+ is true and `idempotency` names why.
230
+
231
+ ```python
232
+ result = client.send(
233
+ from_email="support@example.com",
234
+ to="alice@example.com",
235
+ subject="Hello",
236
+ body_text="Hi there",
237
+ )
238
+ if result.idempotency is not None:
239
+ # Nothing was sent for this call.
240
+ result.idempotency.key_source # "auto_content", "explicit" or "function_trigger"
241
+ result.idempotency.original_sent_email_id # the send that answered it
242
+ result.idempotency.original_created_at # ISO 8601, or None
243
+ result.idempotency.window_seconds # 300 for an automatic content key, else None
244
+ ```
245
+
246
+ `key_source` is `explicit` when you passed a key, `auto_content` when the key
247
+ was derived from content, and `function_trigger` for a keyless send made by a
248
+ Function. A keyless reply to an email that already has a reply is also
249
+ answered with that reply; it reports `dedup_reason == "parent_already_replied"`
250
+ and no window. To send the same message again on purpose, pass an
251
+ `idempotency_key` of your own. `idempotency` is `None` on a send that went
252
+ out.
253
+
226
254
  Use `client.with_options(...)` to clone the client with new defaults applied
227
255
  to every subsequent call. Per-call kwargs still win over these defaults.
228
256
 
@@ -193,6 +193,34 @@ client.send(
193
193
  )
194
194
  ```
195
195
 
196
+ A send with no idempotency key gets an automatic one: a hash of the request
197
+ content (recipients included) and a fixed 5-minute window. An identical send
198
+ inside one window is not sent again. The result says so: `idempotent_replay`
199
+ is true and `idempotency` names why.
200
+
201
+ ```python
202
+ result = client.send(
203
+ from_email="support@example.com",
204
+ to="alice@example.com",
205
+ subject="Hello",
206
+ body_text="Hi there",
207
+ )
208
+ if result.idempotency is not None:
209
+ # Nothing was sent for this call.
210
+ result.idempotency.key_source # "auto_content", "explicit" or "function_trigger"
211
+ result.idempotency.original_sent_email_id # the send that answered it
212
+ result.idempotency.original_created_at # ISO 8601, or None
213
+ result.idempotency.window_seconds # 300 for an automatic content key, else None
214
+ ```
215
+
216
+ `key_source` is `explicit` when you passed a key, `auto_content` when the key
217
+ was derived from content, and `function_trigger` for a keyless send made by a
218
+ Function. A keyless reply to an email that already has a reply is also
219
+ answered with that reply; it reports `dedup_reason == "parent_already_replied"`
220
+ and no window. To send the same message again on purpose, pass an
221
+ `idempotency_key` of your own. `idempotency` is `None` on a send that went
222
+ out.
223
+
196
224
  Use `client.with_options(...)` to clone the client with new defaults applied
197
225
  to every subsequent call. Per-call kwargs still win over these defaults.
198
226
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "primitivedotdev"
7
- version = "2.3.0"
7
+ version = "2.4.0"
8
8
  description = "Official Primitive Python SDK for webhook handling and API access"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -3,6 +3,8 @@ from .client import (
3
3
  PrimitiveClient,
4
4
  RateLimit,
5
5
  SendAttachment,
6
+ SendIdempotency,
7
+ SendIdempotencyKeySource,
6
8
  SendResult,
7
9
  SendThread,
8
10
  client,
@@ -273,6 +275,8 @@ __all__ = [
273
275
  "STANDARD_WEBHOOK_SIGNATURE_HEADER",
274
276
  "STANDARD_WEBHOOK_TIMESTAMP_HEADER",
275
277
  "SendAttachment",
278
+ "SendIdempotency",
279
+ "SendIdempotencyKeySource",
276
280
  "SendResult",
277
281
  "SendThread",
278
282
  "VERIFICATION_ERRORS",
@@ -501,6 +501,8 @@ from .semantic_search_score_breakdown import SemanticSearchScoreBreakdown
501
501
  from .semantic_search_snippet import SemanticSearchSnippet
502
502
  from .send_email_response_200 import SendEmailResponse200
503
503
  from .send_mail_attachment import SendMailAttachment
504
+ from .send_mail_idempotency_replay import SendMailIdempotencyReplay
505
+ from .send_mail_idempotency_replay_key_source import SendMailIdempotencyReplayKeySource
504
506
  from .send_mail_input import SendMailInput
505
507
  from .send_mail_payload_ref import SendMailPayloadRef
506
508
  from .send_mail_result import SendMailResult
@@ -1161,6 +1163,8 @@ __all__ = (
1161
1163
  "SemanticSearchSnippet",
1162
1164
  "SendEmailResponse200",
1163
1165
  "SendMailAttachment",
1166
+ "SendMailIdempotencyReplay",
1167
+ "SendMailIdempotencyReplayKeySource",
1164
1168
  "SendMailInput",
1165
1169
  "SendMailPayloadRef",
1166
1170
  "SendMailResult",
@@ -0,0 +1,161 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..models.send_mail_idempotency_replay_key_source import SendMailIdempotencyReplayKeySource
12
+ from typing import cast
13
+ from uuid import UUID
14
+ import datetime
15
+
16
+
17
+
18
+
19
+
20
+
21
+ T = TypeVar("T", bound="SendMailIdempotencyReplay")
22
+
23
+
24
+
25
+ @_attrs_define
26
+ class SendMailIdempotencyReplay:
27
+ """ Present only when the request was answered with an existing send
28
+ instead of making a new one (`idempotent_replay: true`). Nothing
29
+ was sent for this request. Says how the idempotency key was
30
+ derived and which send the request collapsed onto. On the replay
31
+ of a stored failure the same object is under `error.details`.
32
+
33
+ Attributes:
34
+ replayed (bool): Always `true`. The object is absent on a request that made a send of its own.
35
+ key_source (SendMailIdempotencyReplayKeySource): `explicit`: the request carried an `Idempotency-Key` header.
36
+ `auto_content`: no header was sent, so the key was derived
37
+ from the canonical request content (recipients included) and
38
+ a fixed 5-minute window; an identical send inside the same
39
+ window was not sent again. `function_trigger`: no header on a
40
+ send made by a Function, so the key was derived from the
41
+ content, the Function and the inbound email (or event) that
42
+ invoked it.
43
+ original_sent_email_id (UUID): The send this request collapsed onto. Same value as `id`.
44
+ original_created_at (datetime.datetime | None): When that send was created.
45
+ window_seconds (int | None): Length of the content window (300) when an `auto_content`
46
+ key matched on content. Null for `explicit` and
47
+ `function_trigger` keys, which have no window, and for a
48
+ keyless reply matched because its parent already has a reply
49
+ (`dedup_reason: parent_already_replied`).
50
+ """
51
+
52
+ replayed: bool
53
+ key_source: SendMailIdempotencyReplayKeySource
54
+ original_sent_email_id: UUID
55
+ original_created_at: datetime.datetime | None
56
+ window_seconds: int | None
57
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
58
+
59
+
60
+
61
+
62
+
63
+ def to_dict(self) -> dict[str, Any]:
64
+ replayed = self.replayed
65
+
66
+ key_source = self.key_source.value
67
+
68
+ original_sent_email_id = str(self.original_sent_email_id)
69
+
70
+ original_created_at: None | str
71
+ if isinstance(self.original_created_at, datetime.datetime):
72
+ original_created_at = self.original_created_at.isoformat()
73
+ else:
74
+ original_created_at = self.original_created_at
75
+
76
+ window_seconds: int | None
77
+ window_seconds = self.window_seconds
78
+
79
+
80
+ field_dict: dict[str, Any] = {}
81
+ field_dict.update(self.additional_properties)
82
+ field_dict.update({
83
+ "replayed": replayed,
84
+ "key_source": key_source,
85
+ "original_sent_email_id": original_sent_email_id,
86
+ "original_created_at": original_created_at,
87
+ "window_seconds": window_seconds,
88
+ })
89
+
90
+ return field_dict
91
+
92
+
93
+
94
+ @classmethod
95
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
96
+ d = dict(src_dict)
97
+ replayed = d.pop("replayed")
98
+
99
+ key_source = SendMailIdempotencyReplayKeySource(d.pop("key_source"))
100
+
101
+
102
+
103
+
104
+ original_sent_email_id = UUID(d.pop("original_sent_email_id"))
105
+
106
+
107
+
108
+
109
+ def _parse_original_created_at(data: object) -> datetime.datetime | None:
110
+ if data is None:
111
+ return data
112
+ try:
113
+ if not isinstance(data, str):
114
+ raise TypeError()
115
+ original_created_at_type_0 = datetime.datetime.fromisoformat(data)
116
+
117
+
118
+
119
+ return original_created_at_type_0
120
+ except (TypeError, ValueError, AttributeError, KeyError):
121
+ pass
122
+ return cast(datetime.datetime | None, data)
123
+
124
+ original_created_at = _parse_original_created_at(d.pop("original_created_at"))
125
+
126
+
127
+ def _parse_window_seconds(data: object) -> int | None:
128
+ if data is None:
129
+ return data
130
+ return cast(int | None, data)
131
+
132
+ window_seconds = _parse_window_seconds(d.pop("window_seconds"))
133
+
134
+
135
+ send_mail_idempotency_replay = cls(
136
+ replayed=replayed,
137
+ key_source=key_source,
138
+ original_sent_email_id=original_sent_email_id,
139
+ original_created_at=original_created_at,
140
+ window_seconds=window_seconds,
141
+ )
142
+
143
+
144
+ send_mail_idempotency_replay.additional_properties = d
145
+ return send_mail_idempotency_replay
146
+
147
+ @property
148
+ def additional_keys(self) -> list[str]:
149
+ return list(self.additional_properties.keys())
150
+
151
+ def __getitem__(self, key: str) -> Any:
152
+ return self.additional_properties[key]
153
+
154
+ def __setitem__(self, key: str, value: Any) -> None:
155
+ self.additional_properties[key] = value
156
+
157
+ def __delitem__(self, key: str) -> None:
158
+ del self.additional_properties[key]
159
+
160
+ def __contains__(self, key: str) -> bool:
161
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import StrEnum
2
+
3
+ class SendMailIdempotencyReplayKeySource(StrEnum):
4
+ AUTO_CONTENT = "auto_content"
5
+ EXPLICIT = "explicit"
6
+ FUNCTION_TRIGGER = "function_trigger"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -14,6 +14,8 @@ from typing import cast
14
14
  from uuid import UUID
15
15
  import datetime
16
16
 
17
+ if TYPE_CHECKING:
18
+ from ..models.send_mail_idempotency_replay import SendMailIdempotencyReplay
17
19
 
18
20
 
19
21
 
@@ -108,6 +110,18 @@ class SendMailResult:
108
110
  is true.
109
111
  smtp_response_text (str | Unset): SMTP response text from the first downstream delivery outcome when wait is
110
112
  true.
113
+ dedup_reason (None | str | Unset): Why the response was a replay; null or absent on a fresh
114
+ send. `content_hash_match`: the idempotency key matched an
115
+ earlier send. `parent_already_replied`: a reply sent without
116
+ an `Idempotency-Key` header was matched to the reply its
117
+ parent email already has. Pass an `Idempotency-Key` to send
118
+ another reply to the same email.
119
+ idempotency (SendMailIdempotencyReplay | Unset): Present only when the request was answered with an existing
120
+ send
121
+ instead of making a new one (`idempotent_replay: true`). Nothing
122
+ was sent for this request. Says how the idempotency key was
123
+ derived and which send the request collapsed onto. On the replay
124
+ of a stored failure the same object is under `error.details`.
111
125
  scheduled_at (datetime.datetime | Unset): Echoed requested execution time on a `scheduled`
112
126
  response. On scheduled creates, nothing is dispatched
113
127
  yet: `queue_id` is null and `accepted` / `rejected` are
@@ -128,6 +142,8 @@ class SendMailResult:
128
142
  delivery_status: DeliveryStatus | Unset = UNSET
129
143
  smtp_response_code: int | None | Unset = UNSET
130
144
  smtp_response_text: str | Unset = UNSET
145
+ dedup_reason: None | str | Unset = UNSET
146
+ idempotency: SendMailIdempotencyReplay | Unset = UNSET
131
147
  scheduled_at: datetime.datetime | Unset = UNSET
132
148
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
133
149
 
@@ -136,6 +152,7 @@ class SendMailResult:
136
152
 
137
153
 
138
154
  def to_dict(self) -> dict[str, Any]:
155
+ from ..models.send_mail_idempotency_replay import SendMailIdempotencyReplay # noqa: PLC0415
139
156
  id = self.id
140
157
 
141
158
  status = self.status.value
@@ -178,6 +195,16 @@ class SendMailResult:
178
195
 
179
196
  smtp_response_text = self.smtp_response_text
180
197
 
198
+ dedup_reason: None | str | Unset
199
+ if isinstance(self.dedup_reason, Unset):
200
+ dedup_reason = UNSET
201
+ else:
202
+ dedup_reason = self.dedup_reason
203
+
204
+ idempotency: dict[str, Any] | Unset = UNSET
205
+ if not isinstance(self.idempotency, Unset):
206
+ idempotency = self.idempotency.to_dict()
207
+
181
208
  scheduled_at: str | Unset = UNSET
182
209
  if not isinstance(self.scheduled_at, Unset):
183
210
  scheduled_at = self.scheduled_at.isoformat()
@@ -205,6 +232,10 @@ class SendMailResult:
205
232
  field_dict["smtp_response_code"] = smtp_response_code
206
233
  if smtp_response_text is not UNSET:
207
234
  field_dict["smtp_response_text"] = smtp_response_text
235
+ if dedup_reason is not UNSET:
236
+ field_dict["dedup_reason"] = dedup_reason
237
+ if idempotency is not UNSET:
238
+ field_dict["idempotency"] = idempotency
208
239
  if scheduled_at is not UNSET:
209
240
  field_dict["scheduled_at"] = scheduled_at
210
241
 
@@ -214,6 +245,7 @@ class SendMailResult:
214
245
 
215
246
  @classmethod
216
247
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
248
+ from ..models.send_mail_idempotency_replay import SendMailIdempotencyReplay # noqa: PLC0415
217
249
  d = dict(src_dict)
218
250
  id = d.pop("id")
219
251
 
@@ -278,6 +310,26 @@ class SendMailResult:
278
310
 
279
311
  smtp_response_text = d.pop("smtp_response_text", UNSET)
280
312
 
313
+ def _parse_dedup_reason(data: object) -> None | str | Unset:
314
+ if data is None:
315
+ return data
316
+ if isinstance(data, Unset):
317
+ return data
318
+ return cast(None | str | Unset, data)
319
+
320
+ dedup_reason = _parse_dedup_reason(d.pop("dedup_reason", UNSET))
321
+
322
+
323
+ _idempotency = d.pop("idempotency", UNSET)
324
+ idempotency: SendMailIdempotencyReplay | Unset
325
+ if isinstance(_idempotency, Unset):
326
+ idempotency = UNSET
327
+ else:
328
+ idempotency = SendMailIdempotencyReplay.from_dict(_idempotency)
329
+
330
+
331
+
332
+
281
333
  _scheduled_at = d.pop("scheduled_at", UNSET)
282
334
  scheduled_at: datetime.datetime | Unset
283
335
  if isinstance(_scheduled_at, Unset):
@@ -303,6 +355,8 @@ class SendMailResult:
303
355
  delivery_status=delivery_status,
304
356
  smtp_response_code=smtp_response_code,
305
357
  smtp_response_text=smtp_response_text,
358
+ dedup_reason=dedup_reason,
359
+ idempotency=idempotency,
306
360
  scheduled_at=scheduled_at,
307
361
  )
308
362
 
@@ -54,6 +54,9 @@ from .api.models.semantic_search_result import (
54
54
  SemanticSearchResult as ApiSemanticSearchResult,
55
55
  )
56
56
  from .api.models.send_email_response_200 import SendEmailResponse200
57
+ from .api.models.send_mail_idempotency_replay import (
58
+ SendMailIdempotencyReplay as ApiSendMailIdempotencyReplay,
59
+ )
57
60
  from .api.models.send_mail_input import SendMailInput as ApiSendMailInput
58
61
  from .api.models.send_mail_result import SendMailResult as ApiSendMailResult
59
62
  from .api.types import UNSET
@@ -202,6 +205,36 @@ class SendAttachment(_OptionalSendAttachment):
202
205
  content_base64: str
203
206
 
204
207
 
208
+ SendIdempotencyKeySource = Literal["explicit", "auto_content", "function_trigger"]
209
+
210
+
211
+ @dataclass(frozen=True)
212
+ class SendIdempotency:
213
+ """Why a send was answered with an existing send instead of being made.
214
+
215
+ Present on ``SendResult`` only when ``idempotent_replay`` is true:
216
+ nothing was sent for that request.
217
+ """
218
+
219
+ # ``explicit``: the request carried an idempotency key.
220
+ # ``auto_content``: it carried none, so the API derived one from the
221
+ # request content (recipients included) and a fixed 5-minute window.
222
+ # ``function_trigger``: a keyless send made by a Function; the key came
223
+ # from the content, the Function and the email or event that invoked it.
224
+ key_source: SendIdempotencyKeySource
225
+ # The send this request collapsed onto. Same value as ``SendResult.id``.
226
+ original_sent_email_id: str
227
+ # When that send was created (ISO 8601).
228
+ original_created_at: str | None
229
+ # Length of the content window (300) when an ``auto_content`` key matched
230
+ # on content. None for ``explicit`` and ``function_trigger`` keys, which
231
+ # have no window, and for a keyless reply matched because its parent
232
+ # already has a reply (``dedup_reason == "parent_already_replied"``).
233
+ window_seconds: int | None
234
+ # Always True. The object is absent on a request that sent.
235
+ replayed: bool = True
236
+
237
+
205
238
  @dataclass(frozen=True)
206
239
  class SendResult:
207
240
  id: str
@@ -222,6 +255,13 @@ class SendResult:
222
255
  # Echoed requested execution time on a ``scheduled`` response
223
256
  # (ISO 8601). None on immediate sends.
224
257
  scheduled_at: str | None = None
258
+ # Present only when ``idempotent_replay`` is true. Says how the key that
259
+ # matched was derived and which earlier send answered this request.
260
+ idempotency: SendIdempotency | None = None
261
+ # Why the response was a replay: ``content_hash_match`` (the idempotency
262
+ # key matched an earlier send) or ``parent_already_replied`` (a keyless
263
+ # reply to an email that already has a reply). None on a fresh send.
264
+ dedup_reason: str | None = None
225
265
 
226
266
 
227
267
  @dataclass(frozen=True)
@@ -557,6 +597,22 @@ def _map_send_result(result: ApiSendMailResult) -> SendResult:
557
597
  if result.scheduled_at is UNSET
558
598
  else cast(Any, result.scheduled_at).isoformat()
559
599
  )
600
+ replay = result.idempotency
601
+ idempotency: SendIdempotency | None = None
602
+ if isinstance(replay, ApiSendMailIdempotencyReplay):
603
+ idempotency = SendIdempotency(
604
+ key_source=replay.key_source.value,
605
+ original_sent_email_id=str(replay.original_sent_email_id),
606
+ original_created_at=(
607
+ None
608
+ if replay.original_created_at is None
609
+ else replay.original_created_at.isoformat()
610
+ ),
611
+ window_seconds=replay.window_seconds,
612
+ )
613
+ dedup_reason: str | None = (
614
+ result.dedup_reason if isinstance(result.dedup_reason, str) else None
615
+ )
560
616
  return SendResult(
561
617
  id=result.id,
562
618
  status=result.status.value,
@@ -567,6 +623,8 @@ def _map_send_result(result: ApiSendMailResult) -> SendResult:
567
623
  content_hash=result.content_hash,
568
624
  queue_id=queue_id,
569
625
  idempotent_replay=result.idempotent_replay,
626
+ idempotency=idempotency,
627
+ dedup_reason=dedup_reason,
570
628
  delivery_status=delivery_status,
571
629
  smtp_response_code=smtp_response_code,
572
630
  smtp_response_text=smtp_response_text,
@@ -1251,6 +1309,8 @@ __all__ = [
1251
1309
  "PrimitiveAPIError",
1252
1310
  "PrimitiveClient",
1253
1311
  "SendAttachment",
1312
+ "SendIdempotency",
1313
+ "SendIdempotencyKeySource",
1254
1314
  "SendResult",
1255
1315
  "SendThread",
1256
1316
  "client",
@@ -342,6 +342,129 @@ def test_send_accepts_display_name_from(monkeypatch: pytest.MonkeyPatch) -> None
342
342
  )
343
343
 
344
344
 
345
+ REPLAYED_SENT_ID = "3f1c0a9e-2b7d-4e5a-9c6f-8d2e1a4b5c6d"
346
+
347
+
348
+ def test_send_surfaces_idempotency_when_answered_by_an_earlier_send() -> None:
349
+ captured: list[httpx.Request] = []
350
+ client = PrimitiveClient("prim_test", api_base_url_1=BASE_URL, api_base_url_2=BASE_URL)
351
+ _install_capturing_transport(
352
+ client,
353
+ captured,
354
+ body=_send_response_body(
355
+ {
356
+ "idempotent_replay": True,
357
+ "dedup_reason": "content_hash_match",
358
+ "idempotency": {
359
+ "replayed": True,
360
+ "key_source": "auto_content",
361
+ "original_sent_email_id": REPLAYED_SENT_ID,
362
+ "original_created_at": "2026-10-06T12:00:07.412Z",
363
+ "window_seconds": 300,
364
+ },
365
+ }
366
+ ),
367
+ )
368
+
369
+ result = client.send(
370
+ from_email="support@example.com",
371
+ to="alice@example.com",
372
+ subject="Hello",
373
+ body_text="Hi there",
374
+ )
375
+
376
+ assert result.idempotent_replay is True
377
+ assert result.dedup_reason == "content_hash_match"
378
+ assert result.idempotency == primitive.SendIdempotency(
379
+ key_source="auto_content",
380
+ original_sent_email_id=REPLAYED_SENT_ID,
381
+ original_created_at="2026-10-06T12:00:07.412000+00:00",
382
+ window_seconds=300,
383
+ )
384
+ assert result.idempotency is not None and result.idempotency.replayed is True
385
+
386
+
387
+ def test_send_reports_no_window_for_parent_dedup_and_explicit_keys() -> None:
388
+ captured: list[httpx.Request] = []
389
+ client = PrimitiveClient("prim_test", api_base_url_1=BASE_URL, api_base_url_2=BASE_URL)
390
+ _install_capturing_transport(
391
+ client,
392
+ captured,
393
+ body=_send_response_body(
394
+ {
395
+ "idempotent_replay": True,
396
+ "dedup_reason": "parent_already_replied",
397
+ "idempotency": {
398
+ "replayed": True,
399
+ "key_source": "explicit",
400
+ "original_sent_email_id": REPLAYED_SENT_ID,
401
+ "original_created_at": None,
402
+ "window_seconds": None,
403
+ },
404
+ }
405
+ ),
406
+ )
407
+
408
+ result = client.send(
409
+ from_email="support@example.com",
410
+ to="alice@example.com",
411
+ subject="Hello",
412
+ body_text="Hi there",
413
+ )
414
+
415
+ assert result.dedup_reason == "parent_already_replied"
416
+ assert result.idempotency == primitive.SendIdempotency(
417
+ key_source="explicit",
418
+ original_sent_email_id=REPLAYED_SENT_ID,
419
+ original_created_at=None,
420
+ window_seconds=None,
421
+ )
422
+
423
+
424
+ def test_send_leaves_idempotency_none_on_a_send_that_went_out() -> None:
425
+ captured: list[httpx.Request] = []
426
+ client = PrimitiveClient("prim_test", api_base_url_1=BASE_URL, api_base_url_2=BASE_URL)
427
+ _install_capturing_transport(
428
+ client, captured, body=_send_response_body({"dedup_reason": None})
429
+ )
430
+
431
+ result = client.send(
432
+ from_email="support@example.com",
433
+ to="alice@example.com",
434
+ subject="Hello",
435
+ body_text="Hi there",
436
+ )
437
+
438
+ assert result.idempotent_replay is False
439
+ assert result.idempotency is None
440
+ assert result.dedup_reason is None
441
+
442
+
443
+ def test_send_result_keeps_its_positional_field_order() -> None:
444
+ """The replay fields are appended, so positional construction is unchanged."""
445
+ result = primitive.SendResult(
446
+ "sent-123",
447
+ "delivered",
448
+ ["alice@example.com"],
449
+ [],
450
+ "idem-123",
451
+ "req-123",
452
+ "hash-123",
453
+ "qid-123",
454
+ False,
455
+ "delivered",
456
+ 250,
457
+ "250 OK",
458
+ None,
459
+ )
460
+
461
+ assert result.delivery_status == "delivered"
462
+ assert result.smtp_response_code == 250
463
+ assert result.smtp_response_text == "250 OK"
464
+ assert result.idempotency is None
465
+ assert result.dedup_reason is None
466
+
467
+
345
468
  def test_send_passes_wait_options_and_idempotency_key() -> None:
346
469
  """Per-call options now ride on the httpx.Request headers, set by hook.
347
470