lockally 0.2.0 → 0.3.0

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 (238) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +143 -119
  3. data/docs/AdminApi.md +33 -33
  4. data/docs/{V1AdminLoginPost200Response.md → AdminLogin200Response.md} +2 -2
  5. data/docs/{V1AdminLoginPostRequest.md → AdminLoginRequest.md} +2 -2
  6. data/docs/AdminsApi.md +76 -76
  7. data/docs/AgentSendResult.md +22 -0
  8. data/docs/AgentsApi.md +247 -247
  9. data/docs/AiApi.md +69 -69
  10. data/docs/AiConfig.md +26 -0
  11. data/docs/AiConfigUpdate.md +20 -0
  12. data/docs/AliasesApi.md +59 -59
  13. data/docs/ApiKeysApi.md +59 -59
  14. data/docs/ContactLookup.md +26 -0
  15. data/docs/ContactLookupContact.md +28 -0
  16. data/docs/ContactLookupHistory.md +22 -0
  17. data/docs/CreateAiUnitsCheckout200Response.md +22 -0
  18. data/docs/{V1AliasesPostRequest.md → CreateAliasRequest.md} +2 -2
  19. data/docs/{V1ApiKeysPost201Response.md → CreateApiKey201Response.md} +2 -2
  20. data/docs/{V1ApiKeysPostRequest.md → CreateApiKeyRequest.md} +2 -2
  21. data/docs/{V1DomainsPostRequest.md → CreateDomainRequest.md} +2 -2
  22. data/docs/{V1MailboxesPostRequest.md → CreateMailboxRequest.md} +2 -2
  23. data/docs/{V1SuppressionsPostRequest.md → CreateSuppressionRequest.md} +2 -2
  24. data/docs/{V1WebhooksPostRequest.md → CreateWebhookRequest.md} +2 -2
  25. data/docs/DomainsApi.md +141 -141
  26. data/docs/Draft.md +44 -0
  27. data/docs/DraftList.md +18 -0
  28. data/docs/DraftResult.md +26 -0
  29. data/docs/DraftsApi.md +115 -115
  30. data/docs/{V1MailboxesEmailExportPost201Response.md → ExportMailbox201Response.md} +2 -2
  31. data/docs/{V1AdminMeGet200Response.md → GetCurrentAdmin200Response.md} +2 -2
  32. data/docs/{V1UsageGet200Response.md → GetUsage200Response.md} +2 -2
  33. data/docs/HealthApi.md +11 -11
  34. data/docs/{HealthzGet200Response.md → HealthCheck200Response.md} +2 -2
  35. data/docs/Inbox.md +24 -0
  36. data/docs/InboxList.md +18 -0
  37. data/docs/{V1AdminsPostRequest.md → InviteAdminRequest.md} +2 -2
  38. data/docs/{V1AdminsGet200Response.md → ListAdmins200Response.md} +2 -2
  39. data/docs/{V1AliasesGet200Response.md → ListAliases200Response.md} +2 -2
  40. data/docs/{V1ApiKeysGet200Response.md → ListApiKeys200Response.md} +2 -2
  41. data/docs/{V1DomainsGet200Response.md → ListDomains200Response.md} +2 -2
  42. data/docs/{V1MailboxesGet200Response.md → ListMailboxes200Response.md} +2 -2
  43. data/docs/{V1MessagesGet200Response.md → ListMessages200Response.md} +2 -2
  44. data/docs/{V1SuppressionsGet200Response.md → ListSuppressions200Response.md} +2 -2
  45. data/docs/{V1TemplatesGet200Response.md → ListTemplates200Response.md} +2 -2
  46. data/docs/{V1VacationGet200Response.md → ListVacationResponders200Response.md} +2 -2
  47. data/docs/{V1WebhooksGet200Response.md → ListWebhooks200Response.md} +2 -2
  48. data/docs/MailboxGrant.md +20 -0
  49. data/docs/MailboxGrantList.md +18 -0
  50. data/docs/MailboxesApi.md +203 -203
  51. data/docs/MarkReadResult.md +18 -0
  52. data/docs/SendApi.md +121 -121
  53. data/docs/{V1SendPost200Response.md → SendEmail200Response.md} +2 -2
  54. data/docs/{V1SendPost202Response.md → SendEmail202Response.md} +2 -2
  55. data/docs/{V1SendBatchPost200Response.md → SendEmailBatch200Response.md} +2 -2
  56. data/docs/{V1SendBatchPostRequest.md → SendEmailBatchRequest.md} +2 -2
  57. data/docs/{V1SendPostRequest.md → SendEmailRequest.md} +3 -3
  58. data/docs/{V1SendPostRequestAttachmentsInner.md → SendEmailRequestAttachmentsInner.md} +2 -2
  59. data/docs/SendMessage.md +1 -1
  60. data/docs/{V1MailboxesEmailVacationPutRequest.md → SetVacationResponderRequest.md} +2 -2
  61. data/docs/SignupApi.md +4 -4
  62. data/docs/SimulatedInbound.md +22 -0
  63. data/docs/{V1InboxesMailboxMessagesPostRequest.md → StartConversationRequest.md} +2 -2
  64. data/docs/SuppressionsApi.md +75 -75
  65. data/docs/TemplatesApi.md +67 -67
  66. data/docs/TenantApi.md +20 -20
  67. data/docs/TestApi.md +11 -11
  68. data/docs/Thread.md +22 -0
  69. data/docs/ThreadClassification.md +22 -0
  70. data/docs/ThreadList.md +20 -0
  71. data/docs/ThreadMessage.md +40 -0
  72. data/docs/ThreadMessageBody.md +42 -0
  73. data/docs/ThreadMessageBodyAllOfBody.md +22 -0
  74. data/docs/ThreadSummary.md +28 -0
  75. data/docs/{V1AdminsIdPatchRequest.md → UpdateAdminRequest.md} +2 -2
  76. data/docs/{V1MailboxesEmailPatchRequest.md → UpdateMailboxRequest.md} +2 -2
  77. data/docs/{V1WebhooksIdPatchRequest.md → UpdateWebhookRequest.md} +2 -2
  78. data/docs/WebhooksApi.md +63 -63
  79. data/docs/Whoami.md +24 -0
  80. data/lib/lockally/api/admin_api.rb +30 -30
  81. data/lib/lockally/api/admins_api.rb +89 -89
  82. data/lib/lockally/api/agents_api.rb +309 -309
  83. data/lib/lockally/api/ai_api.rb +69 -69
  84. data/lib/lockally/api/aliases_api.rb +64 -64
  85. data/lib/lockally/api/api_keys_api.rb +66 -66
  86. data/lib/lockally/api/domains_api.rb +147 -147
  87. data/lib/lockally/api/drafts_api.rb +140 -140
  88. data/lib/lockally/api/health_api.rb +9 -9
  89. data/lib/lockally/api/mailboxes_api.rb +233 -233
  90. data/lib/lockally/api/send_api.rb +146 -146
  91. data/lib/lockally/api/signup_api.rb +3 -3
  92. data/lib/lockally/api/suppressions_api.rb +87 -87
  93. data/lib/lockally/api/templates_api.rb +69 -69
  94. data/lib/lockally/api/tenant_api.rb +15 -15
  95. data/lib/lockally/api/test_api.rb +9 -9
  96. data/lib/lockally/api/webhooks_api.rb +73 -73
  97. data/lib/lockally/models/{v1_admin_login_post200_response.rb → admin_login200_response.rb} +3 -3
  98. data/lib/lockally/models/{v1_admin_login_post_request.rb → admin_login_request.rb} +3 -3
  99. data/lib/lockally/models/agent_send_result.rb +184 -0
  100. data/lib/lockally/models/ai_config.rb +242 -0
  101. data/lib/lockally/models/ai_config_update.rb +214 -0
  102. data/lib/lockally/models/contact_lookup.rb +235 -0
  103. data/lib/lockally/models/contact_lookup_contact.rb +192 -0
  104. data/lib/lockally/models/contact_lookup_history.rb +166 -0
  105. data/lib/lockally/models/create_ai_units_checkout200_response.rb +199 -0
  106. data/lib/lockally/models/{v1_aliases_post_request.rb → create_alias_request.rb} +3 -3
  107. data/lib/lockally/models/{v1_api_keys_post201_response.rb → create_api_key201_response.rb} +3 -3
  108. data/lib/lockally/models/{v1_api_keys_post_request.rb → create_api_key_request.rb} +3 -3
  109. data/lib/lockally/models/{v1_domains_post_request.rb → create_domain_request.rb} +3 -3
  110. data/lib/lockally/models/{v1_mailboxes_post_request.rb → create_mailbox_request.rb} +3 -3
  111. data/lib/lockally/models/{v1_suppressions_post_request.rb → create_suppression_request.rb} +3 -3
  112. data/lib/lockally/models/{v1_webhooks_post_request.rb → create_webhook_request.rb} +3 -3
  113. data/lib/lockally/models/draft.rb +413 -0
  114. data/lib/lockally/models/draft_list.rb +166 -0
  115. data/lib/lockally/models/draft_result.rb +260 -0
  116. data/lib/lockally/models/{v1_mailboxes_email_export_post201_response.rb → export_mailbox201_response.rb} +3 -3
  117. data/lib/lockally/models/{v1_admin_me_get200_response.rb → get_current_admin200_response.rb} +3 -3
  118. data/lib/lockally/models/{v1_usage_get200_response.rb → get_usage200_response.rb} +3 -3
  119. data/lib/lockally/models/{healthz_get200_response.rb → health_check200_response.rb} +3 -3
  120. data/lib/lockally/models/inbox.rb +225 -0
  121. data/lib/lockally/models/inbox_list.rb +166 -0
  122. data/lib/lockally/models/{v1_admins_post_request.rb → invite_admin_request.rb} +3 -3
  123. data/lib/lockally/models/list_admins200_response.rb +166 -0
  124. data/lib/lockally/models/{v1_aliases_get200_response.rb → list_aliases200_response.rb} +3 -3
  125. data/lib/lockally/models/{v1_admins_get200_response.rb → list_api_keys200_response.rb} +4 -4
  126. data/lib/lockally/models/{v1_domains_get200_response.rb → list_domains200_response.rb} +3 -3
  127. data/lib/lockally/models/{v1_mailboxes_get200_response.rb → list_mailboxes200_response.rb} +3 -3
  128. data/lib/lockally/models/{v1_messages_get200_response.rb → list_messages200_response.rb} +3 -3
  129. data/lib/lockally/models/{v1_suppressions_get200_response.rb → list_suppressions200_response.rb} +3 -3
  130. data/lib/lockally/models/{v1_send_batch_post200_response.rb → list_templates200_response.rb} +4 -4
  131. data/lib/lockally/models/{v1_vacation_get200_response.rb → list_vacation_responders200_response.rb} +3 -3
  132. data/lib/lockally/models/{v1_api_keys_get200_response.rb → list_webhooks200_response.rb} +4 -4
  133. data/lib/lockally/models/mailbox_grant.rb +156 -0
  134. data/lib/lockally/models/mailbox_grant_list.rb +166 -0
  135. data/lib/lockally/models/mark_read_result.rb +147 -0
  136. data/lib/lockally/models/{v1_send_post200_response.rb → send_email200_response.rb} +3 -3
  137. data/lib/lockally/models/{v1_send_post202_response.rb → send_email202_response.rb} +3 -3
  138. data/lib/lockally/models/{v1_templates_get200_response.rb → send_email_batch200_response.rb} +4 -4
  139. data/lib/lockally/models/{v1_send_batch_post_request.rb → send_email_batch_request.rb} +3 -3
  140. data/lib/lockally/models/{v1_send_post_request.rb → send_email_request.rb} +4 -4
  141. data/lib/lockally/models/{v1_send_post_request_attachments_inner.rb → send_email_request_attachments_inner.rb} +3 -3
  142. data/lib/lockally/models/send_message.rb +1 -1
  143. data/lib/lockally/models/{v1_mailboxes_email_vacation_put_request.rb → set_vacation_responder_request.rb} +3 -3
  144. data/lib/lockally/models/simulated_inbound.rb +167 -0
  145. data/lib/lockally/models/{v1_inboxes_mailbox_messages_post_request.rb → start_conversation_request.rb} +3 -3
  146. data/lib/lockally/models/thread.rb +219 -0
  147. data/lib/lockally/models/thread_classification.rb +186 -0
  148. data/lib/lockally/models/thread_list.rb +192 -0
  149. data/lib/lockally/models/thread_message.rb +397 -0
  150. data/lib/lockally/models/thread_message_body.rb +413 -0
  151. data/lib/lockally/models/thread_message_body_all_of_body.rb +165 -0
  152. data/lib/lockally/models/thread_summary.rb +280 -0
  153. data/lib/lockally/models/{v1_admins_id_patch_request.rb → update_admin_request.rb} +3 -3
  154. data/lib/lockally/models/{v1_mailboxes_email_patch_request.rb → update_mailbox_request.rb} +3 -3
  155. data/lib/lockally/models/{v1_webhooks_id_patch_request.rb → update_webhook_request.rb} +3 -3
  156. data/lib/lockally/models/whoami.rb +177 -0
  157. data/lib/lockally/version.rb +1 -1
  158. data/lib/lockally.rb +59 -35
  159. data/spec/api/admin_api_spec.rb +9 -9
  160. data/spec/api/admins_api_spec.rb +22 -22
  161. data/spec/api/agents_api_spec.rb +78 -78
  162. data/spec/api/ai_api_spec.rb +22 -22
  163. data/spec/api/aliases_api_spec.rb +16 -16
  164. data/spec/api/api_keys_api_spec.rb +17 -17
  165. data/spec/api/domains_api_spec.rb +42 -42
  166. data/spec/api/drafts_api_spec.rb +38 -38
  167. data/spec/api/health_api_spec.rb +3 -3
  168. data/spec/api/mailboxes_api_spec.rb +61 -61
  169. data/spec/api/send_api_spec.rb +35 -35
  170. data/spec/api/signup_api_spec.rb +1 -1
  171. data/spec/api/suppressions_api_spec.rb +18 -18
  172. data/spec/api/templates_api_spec.rb +17 -17
  173. data/spec/api/tenant_api_spec.rb +5 -5
  174. data/spec/api/test_api_spec.rb +3 -3
  175. data/spec/api/webhooks_api_spec.rb +19 -19
  176. data/spec/models/{v1_admin_login_post200_response_spec.rb → admin_login200_response_spec.rb} +6 -6
  177. data/spec/models/{v1_admin_login_post_request_spec.rb → admin_login_request_spec.rb} +6 -6
  178. data/spec/models/agent_send_result_spec.rb +48 -0
  179. data/spec/models/ai_config_spec.rb +64 -0
  180. data/spec/models/ai_config_update_spec.rb +46 -0
  181. data/spec/models/contact_lookup_contact_spec.rb +66 -0
  182. data/spec/models/contact_lookup_history_spec.rb +48 -0
  183. data/spec/models/contact_lookup_spec.rb +60 -0
  184. data/spec/models/create_ai_units_checkout200_response_spec.rb +48 -0
  185. data/spec/models/{v1_aliases_post_request_spec.rb → create_alias_request_spec.rb} +6 -6
  186. data/spec/models/{v1_api_keys_post201_response_spec.rb → create_api_key201_response_spec.rb} +6 -6
  187. data/spec/models/{v1_api_keys_post_request_spec.rb → create_api_key_request_spec.rb} +6 -6
  188. data/spec/models/{v1_domains_post_request_spec.rb → create_domain_request_spec.rb} +6 -6
  189. data/spec/models/{v1_mailboxes_post_request_spec.rb → create_mailbox_request_spec.rb} +6 -6
  190. data/spec/models/{v1_suppressions_post_request_spec.rb → create_suppression_request_spec.rb} +6 -6
  191. data/spec/models/{v1_webhooks_post_request_spec.rb → create_webhook_request_spec.rb} +6 -6
  192. data/spec/models/draft_list_spec.rb +36 -0
  193. data/spec/models/draft_result_spec.rb +64 -0
  194. data/spec/models/draft_spec.rb +118 -0
  195. data/spec/models/{v1_mailboxes_email_export_post201_response_spec.rb → export_mailbox201_response_spec.rb} +6 -6
  196. data/spec/models/{v1_admin_me_get200_response_spec.rb → get_current_admin200_response_spec.rb} +6 -6
  197. data/spec/models/{v1_usage_get200_response_spec.rb → get_usage200_response_spec.rb} +6 -6
  198. data/spec/models/{healthz_get200_response_spec.rb → health_check200_response_spec.rb} +6 -6
  199. data/spec/models/inbox_list_spec.rb +36 -0
  200. data/spec/models/inbox_spec.rb +54 -0
  201. data/spec/models/{v1_admins_post_request_spec.rb → invite_admin_request_spec.rb} +6 -6
  202. data/spec/models/{v1_aliases_get200_response_spec.rb → list_admins200_response_spec.rb} +6 -6
  203. data/spec/models/{v1_admins_get200_response_spec.rb → list_aliases200_response_spec.rb} +6 -6
  204. data/spec/models/{v1_api_keys_get200_response_spec.rb → list_api_keys200_response_spec.rb} +6 -6
  205. data/spec/models/list_domains200_response_spec.rb +36 -0
  206. data/spec/models/{v1_mailboxes_get200_response_spec.rb → list_mailboxes200_response_spec.rb} +6 -6
  207. data/spec/models/{v1_messages_get200_response_spec.rb → list_messages200_response_spec.rb} +6 -6
  208. data/spec/models/{v1_suppressions_get200_response_spec.rb → list_suppressions200_response_spec.rb} +6 -6
  209. data/spec/models/{v1_vacation_get200_response_spec.rb → list_templates200_response_spec.rb} +6 -6
  210. data/spec/models/list_vacation_responders200_response_spec.rb +36 -0
  211. data/spec/models/{v1_domains_get200_response_spec.rb → list_webhooks200_response_spec.rb} +6 -6
  212. data/spec/models/mailbox_grant_list_spec.rb +36 -0
  213. data/spec/models/mailbox_grant_spec.rb +42 -0
  214. data/spec/models/mark_read_result_spec.rb +36 -0
  215. data/spec/models/{v1_send_post200_response_spec.rb → send_email200_response_spec.rb} +6 -6
  216. data/spec/models/{v1_send_post202_response_spec.rb → send_email202_response_spec.rb} +6 -6
  217. data/spec/models/{v1_templates_get200_response_spec.rb → send_email_batch200_response_spec.rb} +6 -6
  218. data/spec/models/{v1_send_batch_post_request_spec.rb → send_email_batch_request_spec.rb} +6 -6
  219. data/spec/models/{v1_send_post_request_attachments_inner_spec.rb → send_email_request_attachments_inner_spec.rb} +6 -6
  220. data/spec/models/{v1_send_post_request_spec.rb → send_email_request_spec.rb} +6 -6
  221. data/spec/models/{v1_mailboxes_email_vacation_put_request_spec.rb → set_vacation_responder_request_spec.rb} +6 -6
  222. data/spec/models/simulated_inbound_spec.rb +48 -0
  223. data/spec/models/{v1_inboxes_mailbox_messages_post_request_spec.rb → start_conversation_request_spec.rb} +6 -6
  224. data/spec/models/thread_classification_spec.rb +48 -0
  225. data/spec/models/thread_list_spec.rb +42 -0
  226. data/spec/models/thread_message_body_all_of_body_spec.rb +48 -0
  227. data/spec/models/thread_message_body_spec.rb +112 -0
  228. data/spec/models/thread_message_spec.rb +106 -0
  229. data/spec/models/thread_spec.rb +48 -0
  230. data/spec/models/thread_summary_spec.rb +70 -0
  231. data/spec/models/{v1_admins_id_patch_request_spec.rb → update_admin_request_spec.rb} +6 -6
  232. data/spec/models/{v1_mailboxes_email_patch_request_spec.rb → update_mailbox_request_spec.rb} +6 -6
  233. data/spec/models/{v1_webhooks_id_patch_request_spec.rb → update_webhook_request_spec.rb} +6 -6
  234. data/spec/models/whoami_spec.rb +54 -0
  235. metadata +238 -142
  236. data/lib/lockally/models/v1_webhooks_get200_response.rb +0 -166
  237. data/spec/models/v1_send_batch_post200_response_spec.rb +0 -36
  238. data/spec/models/v1_webhooks_get200_response_spec.rb +0 -36
data/lib/lockally.rb CHANGED
@@ -26,6 +26,11 @@ require 'lockally/models/add_on'
26
26
  require 'lockally/models/add_shared_member_request'
27
27
  require 'lockally/models/admin'
28
28
  require 'lockally/models/admin_full'
29
+ require 'lockally/models/admin_login200_response'
30
+ require 'lockally/models/admin_login_request'
31
+ require 'lockally/models/agent_send_result'
32
+ require 'lockally/models/ai_config'
33
+ require 'lockally/models/ai_config_update'
29
34
  require 'lockally/models/audit_event'
30
35
  require 'lockally/models/batch_lookup_public_keys200_response'
31
36
  require 'lockally/models/batch_lookup_public_keys200_response_data_inner'
@@ -38,6 +43,13 @@ require 'lockally/models/calendar_member'
38
43
  require 'lockally/models/calendar_policies'
39
44
  require 'lockally/models/contact'
40
45
  require 'lockally/models/contact_list'
46
+ require 'lockally/models/contact_lookup'
47
+ require 'lockally/models/contact_lookup_contact'
48
+ require 'lockally/models/contact_lookup_history'
49
+ require 'lockally/models/create_ai_units_checkout200_response'
50
+ require 'lockally/models/create_alias_request'
51
+ require 'lockally/models/create_api_key201_response'
52
+ require 'lockally/models/create_api_key_request'
41
53
  require 'lockally/models/create_billing_checkout200_response'
42
54
  require 'lockally/models/create_billing_checkout_request'
43
55
  require 'lockally/models/create_calendar_event_request'
@@ -47,16 +59,20 @@ require 'lockally/models/create_contact_list_request'
47
59
  require 'lockally/models/create_contact_request'
48
60
  require 'lockally/models/create_dedicated_ip_request_request'
49
61
  require 'lockally/models/create_distribution_list_request'
62
+ require 'lockally/models/create_domain_request'
50
63
  require 'lockally/models/create_encryption_key201_response'
51
64
  require 'lockally/models/create_encryption_key_request'
52
65
  require 'lockally/models/create_encryption_recovery_request'
66
+ require 'lockally/models/create_mailbox_request'
53
67
  require 'lockally/models/create_migration_credential_request'
54
68
  require 'lockally/models/create_migration_credential_request_credentials'
55
69
  require 'lockally/models/create_migration_request'
56
70
  require 'lockally/models/create_resource_request'
71
+ require 'lockally/models/create_suppression_request'
57
72
  require 'lockally/models/create_units_checkout200_response'
58
73
  require 'lockally/models/create_units_checkout_request'
59
74
  require 'lockally/models/create_user_request'
75
+ require 'lockally/models/create_webhook_request'
60
76
  require 'lockally/models/dns_record'
61
77
  require 'lockally/models/dedicated_ip_request'
62
78
  require 'lockally/models/directory_permissions'
@@ -64,6 +80,10 @@ require 'lockally/models/discover_migration202_response'
64
80
  require 'lockally/models/distribution_list_detail'
65
81
  require 'lockally/models/distribution_list_summary'
66
82
  require 'lockally/models/domain'
83
+ require 'lockally/models/draft'
84
+ require 'lockally/models/draft_list'
85
+ require 'lockally/models/draft_result'
86
+ require 'lockally/models/export_mailbox201_response'
67
87
  require 'lockally/models/gal_settings'
68
88
  require 'lockally/models/get_add_on_status200_response'
69
89
  require 'lockally/models/get_audit_summary200_response'
@@ -78,6 +98,7 @@ require 'lockally/models/get_contact_list200_response'
78
98
  require 'lockally/models/get_contact_list200_response_members_inner'
79
99
  require 'lockally/models/get_contact_lists200_response'
80
100
  require 'lockally/models/get_contact_lists200_response_data_inner'
101
+ require 'lockally/models/get_current_admin200_response'
81
102
  require 'lockally/models/get_directory_activity200_response'
82
103
  require 'lockally/models/get_directory_activity200_response_data_inner'
83
104
  require 'lockally/models/get_directory_stats200_response'
@@ -95,9 +116,16 @@ require 'lockally/models/get_security200_response_stats_inner'
95
116
  require 'lockally/models/get_storage200_response'
96
117
  require 'lockally/models/get_storage200_response_top_mailboxes_inner'
97
118
  require 'lockally/models/get_storage200_response_top_messages_inner'
119
+ require 'lockally/models/get_usage200_response'
98
120
  require 'lockally/models/get_user_insights200_response'
99
- require 'lockally/models/healthz_get200_response'
121
+ require 'lockally/models/health_check200_response'
122
+ require 'lockally/models/inbox'
123
+ require 'lockally/models/inbox_list'
124
+ require 'lockally/models/invite_admin_request'
100
125
  require 'lockally/models/list_add_ons200_response'
126
+ require 'lockally/models/list_admins200_response'
127
+ require 'lockally/models/list_aliases200_response'
128
+ require 'lockally/models/list_api_keys200_response'
101
129
  require 'lockally/models/list_calendar_events200_response'
102
130
  require 'lockally/models/list_calendar_integrations200_response'
103
131
  require 'lockally/models/list_calendar_members200_response'
@@ -106,16 +134,26 @@ require 'lockally/models/list_contact_lists200_response'
106
134
  require 'lockally/models/list_contacts200_response'
107
135
  require 'lockally/models/list_dedicated_ip_requests200_response'
108
136
  require 'lockally/models/list_distribution_lists200_response'
137
+ require 'lockally/models/list_domains200_response'
138
+ require 'lockally/models/list_mailboxes200_response'
139
+ require 'lockally/models/list_messages200_response'
109
140
  require 'lockally/models/list_migration_credentials200_response'
110
141
  require 'lockally/models/list_migration_events200_response'
111
142
  require 'lockally/models/list_migration_mailboxes200_response'
112
143
  require 'lockally/models/list_migrations200_response'
113
144
  require 'lockally/models/list_resources200_response'
114
145
  require 'lockally/models/list_shared_members200_response'
146
+ require 'lockally/models/list_suppressions200_response'
147
+ require 'lockally/models/list_templates200_response'
115
148
  require 'lockally/models/list_users200_response'
149
+ require 'lockally/models/list_vacation_responders200_response'
150
+ require 'lockally/models/list_webhooks200_response'
116
151
  require 'lockally/models/mailbox'
152
+ require 'lockally/models/mailbox_grant'
153
+ require 'lockally/models/mailbox_grant_list'
117
154
  require 'lockally/models/map_migration_request'
118
155
  require 'lockally/models/map_migration_request_mappings_inner'
156
+ require 'lockally/models/mark_read_result'
119
157
  require 'lockally/models/message'
120
158
  require 'lockally/models/message_detail'
121
159
  require 'lockally/models/message_stats'
@@ -138,15 +176,32 @@ require 'lockally/models/resource'
138
176
  require 'lockally/models/return_path'
139
177
  require 'lockally/models/return_path_check'
140
178
  require 'lockally/models/rotate_encryption_key_request'
179
+ require 'lockally/models/send_email200_response'
180
+ require 'lockally/models/send_email202_response'
181
+ require 'lockally/models/send_email_batch200_response'
182
+ require 'lockally/models/send_email_batch_request'
183
+ require 'lockally/models/send_email_request'
184
+ require 'lockally/models/send_email_request_attachments_inner'
141
185
  require 'lockally/models/send_message'
186
+ require 'lockally/models/set_vacation_responder_request'
142
187
  require 'lockally/models/shared_member'
143
188
  require 'lockally/models/signup_request'
189
+ require 'lockally/models/simulated_inbound'
190
+ require 'lockally/models/start_conversation_request'
144
191
  require 'lockally/models/start_migration202_response'
145
192
  require 'lockally/models/suppression'
146
193
  require 'lockally/models/template'
147
194
  require 'lockally/models/template_input'
148
195
  require 'lockally/models/tenant'
196
+ require 'lockally/models/thread'
197
+ require 'lockally/models/thread_classification'
198
+ require 'lockally/models/thread_list'
199
+ require 'lockally/models/thread_message'
200
+ require 'lockally/models/thread_message_body'
201
+ require 'lockally/models/thread_message_body_all_of_body'
202
+ require 'lockally/models/thread_summary'
149
203
  require 'lockally/models/unit_bundle'
204
+ require 'lockally/models/update_admin_request'
150
205
  require 'lockally/models/update_calendar_event_request'
151
206
  require 'lockally/models/update_calendar_integration_request'
152
207
  require 'lockally/models/update_calendar_member_request'
@@ -156,49 +211,18 @@ require 'lockally/models/update_contact_list_request'
156
211
  require 'lockally/models/update_contact_request'
157
212
  require 'lockally/models/update_directory_permissions_request'
158
213
  require 'lockally/models/update_gal_settings_request'
214
+ require 'lockally/models/update_mailbox_request'
159
215
  require 'lockally/models/update_migration_mailbox_request'
160
216
  require 'lockally/models/update_migration_request'
161
217
  require 'lockally/models/update_resource_request'
162
218
  require 'lockally/models/update_user_request'
219
+ require 'lockally/models/update_webhook_request'
163
220
  require 'lockally/models/user'
164
221
  require 'lockally/models/user_event'
165
- require 'lockally/models/v1_admin_login_post200_response'
166
- require 'lockally/models/v1_admin_login_post_request'
167
- require 'lockally/models/v1_admin_me_get200_response'
168
- require 'lockally/models/v1_admins_get200_response'
169
- require 'lockally/models/v1_admins_id_patch_request'
170
- require 'lockally/models/v1_admins_post_request'
171
- require 'lockally/models/v1_aliases_get200_response'
172
- require 'lockally/models/v1_aliases_post_request'
173
- require 'lockally/models/v1_api_keys_get200_response'
174
- require 'lockally/models/v1_api_keys_post201_response'
175
- require 'lockally/models/v1_api_keys_post_request'
176
- require 'lockally/models/v1_domains_get200_response'
177
- require 'lockally/models/v1_domains_post_request'
178
- require 'lockally/models/v1_inboxes_mailbox_messages_post_request'
179
- require 'lockally/models/v1_mailboxes_email_export_post201_response'
180
- require 'lockally/models/v1_mailboxes_email_patch_request'
181
- require 'lockally/models/v1_mailboxes_email_vacation_put_request'
182
- require 'lockally/models/v1_mailboxes_get200_response'
183
- require 'lockally/models/v1_mailboxes_post_request'
184
- require 'lockally/models/v1_messages_get200_response'
185
- require 'lockally/models/v1_send_batch_post200_response'
186
- require 'lockally/models/v1_send_batch_post_request'
187
- require 'lockally/models/v1_send_post200_response'
188
- require 'lockally/models/v1_send_post202_response'
189
- require 'lockally/models/v1_send_post_request'
190
- require 'lockally/models/v1_send_post_request_attachments_inner'
191
- require 'lockally/models/v1_suppressions_get200_response'
192
- require 'lockally/models/v1_suppressions_post_request'
193
- require 'lockally/models/v1_templates_get200_response'
194
- require 'lockally/models/v1_usage_get200_response'
195
- require 'lockally/models/v1_vacation_get200_response'
196
- require 'lockally/models/v1_webhooks_get200_response'
197
- require 'lockally/models/v1_webhooks_id_patch_request'
198
- require 'lockally/models/v1_webhooks_post_request'
199
222
  require 'lockally/models/vacation_params'
200
223
  require 'lockally/models/vacation_responder'
201
224
  require 'lockally/models/webhook'
225
+ require 'lockally/models/whoami'
202
226
 
203
227
  # APIs
204
228
  require 'lockally/api/add_ons_api'
@@ -32,35 +32,35 @@ describe 'AdminApi' do
32
32
  end
33
33
  end
34
34
 
35
- # unit tests for v1_admin_login_post
35
+ # unit tests for admin_login
36
36
  # Tenant-admin email+password login
37
37
  # Exchanges an admin's email + password for a session token. The web console at `app.lockally.com` posts this on form submission and stores the returned token in an httpOnly cookie. **No enumeration leak.** Wrong-email and wrong-password both return the same 401 with title \"Invalid credentials\". The argon2id verify runs even on lookup miss (well, structurally — the lookup fails fast but the response shape is constant) so timing leaks are bounded. Tokens are prefixed `adm_sess_` and valid for 7 days. Use as the `Authorization: Bearer` value on all subsequent calls.
38
- # @param v1_admin_login_post_request
38
+ # @param admin_login_request
39
39
  # @param [Hash] opts the optional parameters
40
- # @return [V1AdminLoginPost200Response]
41
- describe 'v1_admin_login_post test' do
40
+ # @return [AdminLogin200Response]
41
+ describe 'admin_login test' do
42
42
  it 'should work' do
43
43
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
44
44
  end
45
45
  end
46
46
 
47
- # unit tests for v1_admin_logout_post
47
+ # unit tests for admin_logout
48
48
  # Invalidate the current admin session
49
49
  # Deletes the session row from the database. Idempotent — calling logout on an already-invalid token returns 204 anyway.
50
50
  # @param [Hash] opts the optional parameters
51
51
  # @return [nil]
52
- describe 'v1_admin_logout_post test' do
52
+ describe 'admin_logout test' do
53
53
  it 'should work' do
54
54
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
55
55
  end
56
56
  end
57
57
 
58
- # unit tests for v1_admin_me_get
58
+ # unit tests for get_current_admin
59
59
  # Get the current admin + tenant
60
60
  # Returns the admin profile + tenant for the session token presented in `Authorization: Bearer`. Used by the web console's layout load function to populate the sidebar. Returns 403 if called with an API key (lk_live_*) bearer — admin context only exists for session tokens.
61
61
  # @param [Hash] opts the optional parameters
62
- # @return [V1AdminMeGet200Response]
63
- describe 'v1_admin_me_get test' do
62
+ # @return [GetCurrentAdmin200Response]
63
+ describe 'get_current_admin test' do
64
64
  it 'should work' do
65
65
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
66
66
  end
@@ -32,48 +32,48 @@ describe 'AdminsApi' do
32
32
  end
33
33
  end
34
34
 
35
- # unit tests for v1_admins_get
36
- # List tenant admins
35
+ # unit tests for delete_admin
36
+ # Delete an admin
37
+ # Hard-delete. Cascade-drops the admin's sessions (immediate revocation). Same safety rails as PATCH disabled=true.
38
+ # @param id
37
39
  # @param [Hash] opts the optional parameters
38
- # @return [V1AdminsGet200Response]
39
- describe 'v1_admins_get test' do
40
+ # @return [nil]
41
+ describe 'delete_admin test' do
40
42
  it 'should work' do
41
43
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
42
44
  end
43
45
  end
44
46
 
45
- # unit tests for v1_admins_id_delete
46
- # Delete an admin
47
- # Hard-delete. Cascade-drops the admin's sessions (immediate revocation). Same safety rails as PATCH disabled=true.
48
- # @param id
47
+ # unit tests for invite_admin
48
+ # Invite a new admin
49
+ # Creates a new tenant admin. If `password` is omitted, lockally generates a 16-char password and returns it ONCE in the response. Email is case-insensitive and unique per tenant.
50
+ # @param invite_admin_request
49
51
  # @param [Hash] opts the optional parameters
50
- # @return [nil]
51
- describe 'v1_admins_id_delete test' do
52
+ # @return [AdminFull]
53
+ describe 'invite_admin test' do
52
54
  it 'should work' do
53
55
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
54
56
  end
55
57
  end
56
58
 
57
- # unit tests for v1_admins_id_patch
58
- # Update an admin
59
- # Supply at least one of `password`, `display_name`, `role`, `disabled`. **Safety rails.** A session bearer (adm_sess_*) cannot disable itself — use another admin or an API key (which bypasses the self-rail). Disabling the last active admin returns 409 to prevent orphaning the tenant from its console.
60
- # @param id
61
- # @param v1_admins_id_patch_request
59
+ # unit tests for list_admins
60
+ # List tenant admins
62
61
  # @param [Hash] opts the optional parameters
63
- # @return [AdminFull]
64
- describe 'v1_admins_id_patch test' do
62
+ # @return [ListAdmins200Response]
63
+ describe 'list_admins test' do
65
64
  it 'should work' do
66
65
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
67
66
  end
68
67
  end
69
68
 
70
- # unit tests for v1_admins_post
71
- # Invite a new admin
72
- # Creates a new tenant admin. If `password` is omitted, lockally generates a 16-char password and returns it ONCE in the response. Email is case-insensitive and unique per tenant.
73
- # @param v1_admins_post_request
69
+ # unit tests for update_admin
70
+ # Update an admin
71
+ # Supply at least one of `password`, `display_name`, `role`, `disabled`. **Safety rails.** A session bearer (adm_sess_*) cannot disable itself — use another admin or an API key (which bypasses the self-rail). Disabling the last active admin returns 409 to prevent orphaning the tenant from its console.
72
+ # @param id
73
+ # @param update_admin_request
74
74
  # @param [Hash] opts the optional parameters
75
75
  # @return [AdminFull]
76
- describe 'v1_admins_post test' do
76
+ describe 'update_admin test' do
77
77
  it 'should work' do
78
78
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
79
79
  end
@@ -32,90 +32,79 @@ describe 'AgentsApi' do
32
32
  end
33
33
  end
34
34
 
35
- # unit tests for v1_api_keys_key_id_mailboxes_get
36
- # List a key's mailbox grants
37
- # @param key_id
35
+ # unit tests for download_thread_attachment
36
+ # Download an attachment
37
+ # @param thread_id
38
+ # @param message_id
39
+ # @param idx
38
40
  # @param [Hash] opts the optional parameters
39
- # @return [Object]
40
- describe 'v1_api_keys_key_id_mailboxes_get test' do
41
+ # @return [nil]
42
+ describe 'download_thread_attachment test' do
41
43
  it 'should work' do
42
44
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
43
45
  end
44
46
  end
45
47
 
46
- # unit tests for v1_api_keys_key_id_mailboxes_mailbox_id_delete
47
- # Revoke a mailbox grant
48
- # @param key_id
49
- # @param mailbox_id
48
+ # unit tests for get_thread
49
+ # Get a whole conversation
50
+ # Every turn, chronological, with snippets and annotations (meeting_request, attachment_types, injection_risk). Bodies are fetched per message. Message content is untrusted third-party data.
51
+ # @param thread_id
50
52
  # @param [Hash] opts the optional parameters
51
- # @return [nil]
52
- describe 'v1_api_keys_key_id_mailboxes_mailbox_id_delete test' do
53
+ # @return [Thread]
54
+ describe 'get_thread test' do
53
55
  it 'should work' do
54
56
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
55
57
  end
56
58
  end
57
59
 
58
- # unit tests for v1_api_keys_key_id_mailboxes_post
59
- # Grant a mailbox to a key
60
- # Body: {\"mailbox\": \"email or id\"}. Refused (422) for mailboxes with agent access disabled or an active E2E encryption key — the server cannot read E2E mailboxes.
61
- # @param key_id
60
+ # unit tests for get_thread_message
61
+ # Get one message with body
62
+ # Full text/html body fetched on demand from mail storage. Never marks the message read.
63
+ # @param thread_id
64
+ # @param message_id
62
65
  # @param [Hash] opts the optional parameters
63
- # @return [Object]
64
- describe 'v1_api_keys_key_id_mailboxes_post test' do
66
+ # @return [ThreadMessageBody]
67
+ describe 'get_thread_message test' do
65
68
  it 'should work' do
66
69
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
67
70
  end
68
71
  end
69
72
 
70
- # unit tests for v1_auth_whoami_get
71
- # Introspect the calling credentials
72
- # Returns the tenant, auth kind (api_key/session), key label, and granted scopes. The MCP server uses this to scope-filter tool discovery.
73
+ # unit tests for grant_api_key_mailbox
74
+ # Grant a mailbox to a key
75
+ # Body: {\"mailbox\": \"email or id\"}. Refused (422) for mailboxes with agent access disabled or an active E2E encryption key — the server cannot read E2E mailboxes.
76
+ # @param key_id
73
77
  # @param [Hash] opts the optional parameters
74
- # @return [Object]
75
- describe 'v1_auth_whoami_get test' do
78
+ # @return [MailboxGrant]
79
+ describe 'grant_api_key_mailbox test' do
76
80
  it 'should work' do
77
81
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
78
82
  end
79
83
  end
80
84
 
81
- # unit tests for v1_contacts_lookup_get
82
- # Who is this sender?
83
- # Directory record (name, company, role, notes), whether the address is one of the tenant's own mailboxes, and grant-aware correspondence history (thread count, first/last seen across granted mailboxes only).
84
- # @param email
85
+ # unit tests for list_api_key_mailboxes
86
+ # List a key's mailbox grants
87
+ # @param key_id
85
88
  # @param [Hash] opts the optional parameters
86
- # @return [Object]
87
- describe 'v1_contacts_lookup_get test' do
89
+ # @return [MailboxGrantList]
90
+ describe 'list_api_key_mailboxes test' do
88
91
  it 'should work' do
89
92
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
90
93
  end
91
94
  end
92
95
 
93
- # unit tests for v1_inboxes_get
96
+ # unit tests for list_inboxes
94
97
  # List granted inboxes
95
98
  # The mailboxes this key is granted, with thread counts and last activity. Admin sessions see every agent-enabled, non-E2E mailbox.
96
99
  # @param [Hash] opts the optional parameters
97
- # @return [Object]
98
- describe 'v1_inboxes_get test' do
99
- it 'should work' do
100
- # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
101
- end
102
- end
103
-
104
- # unit tests for v1_inboxes_mailbox_messages_post
105
- # Start a new conversation (agent stream)
106
- # Sends a new email from a granted mailbox. Classified stream=agent (isolated reputation, per-key rate caps). The first inbound reply adopts the created thread via the References chain. Idempotency-Key required. Mailboxes with agent_draft_policy=always_approve divert this into a pending draft.
107
- # @param mailbox
108
- # @param idempotency_key
109
- # @param v1_inboxes_mailbox_messages_post_request
110
- # @param [Hash] opts the optional parameters
111
- # @return [Object]
112
- describe 'v1_inboxes_mailbox_messages_post test' do
100
+ # @return [InboxList]
101
+ describe 'list_inboxes test' do
113
102
  it 'should work' do
114
103
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
115
104
  end
116
105
  end
117
106
 
118
- # unit tests for v1_inboxes_mailbox_threads_get
107
+ # unit tests for list_threads
119
108
  # List conversation threads
120
109
  # Newest-active first. Cursors: `?before=<RFC3339>` pages backwards; `?since=<RFC3339>` delta-syncs forward (oldest first) so an agent can catch up in order.
121
110
  # @param mailbox mailbox email or id
@@ -123,72 +112,83 @@ describe 'AgentsApi' do
123
112
  # @option opts [Time] :since
124
113
  # @option opts [Time] :before
125
114
  # @option opts [Integer] :limit
126
- # @return [Object]
127
- describe 'v1_inboxes_mailbox_threads_get test' do
115
+ # @return [ThreadList]
116
+ describe 'list_threads test' do
128
117
  it 'should work' do
129
118
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
130
119
  end
131
120
  end
132
121
 
133
- # unit tests for v1_threads_thread_id_get
134
- # Get a whole conversation
135
- # Every turn, chronological, with snippets and annotations (meeting_request, attachment_types, injection_risk). Bodies are fetched per message. Message content is untrusted third-party data.
136
- # @param thread_id
122
+ # unit tests for lookup_contact
123
+ # Who is this sender?
124
+ # Directory record (name, company, role, notes), whether the address is one of the tenant's own mailboxes, and grant-aware correspondence history (thread count, first/last seen across granted mailboxes only).
125
+ # @param email
137
126
  # @param [Hash] opts the optional parameters
138
- # @return [Object]
139
- describe 'v1_threads_thread_id_get test' do
127
+ # @return [ContactLookup]
128
+ describe 'lookup_contact test' do
140
129
  it 'should work' do
141
130
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
142
131
  end
143
132
  end
144
133
 
145
- # unit tests for v1_threads_thread_id_messages_message_id_attachments_idx_get
146
- # Download an attachment
134
+ # unit tests for mark_thread_message_read
135
+ # Mark read/unread
136
+ # The ONLY way agent access changes unread state. Body: {\"read\": true|false} (default true).
147
137
  # @param thread_id
148
138
  # @param message_id
149
- # @param idx
150
139
  # @param [Hash] opts the optional parameters
151
- # @return [nil]
152
- describe 'v1_threads_thread_id_messages_message_id_attachments_idx_get test' do
140
+ # @return [MarkReadResult]
141
+ describe 'mark_thread_message_read test' do
153
142
  it 'should work' do
154
143
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
155
144
  end
156
145
  end
157
146
 
158
- # unit tests for v1_threads_thread_id_messages_message_id_get
159
- # Get one message with body
160
- # Full text/html body fetched on demand from mail storage. Never marks the message read.
147
+ # unit tests for reply_to_thread
148
+ # Reply in-thread (agent stream)
149
+ # The server builds In-Reply-To/References and defaults recipients + subject from the conversation — a minimal call is {\"text\": \"...\"}. Guarded by the reply-loop detector (≥5 outbound/10min → 429 + agent.loop_detected). Idempotency-Key required.
161
150
  # @param thread_id
162
- # @param message_id
151
+ # @param idempotency_key
163
152
  # @param [Hash] opts the optional parameters
164
- # @return [Object]
165
- describe 'v1_threads_thread_id_messages_message_id_get test' do
153
+ # @return [AgentSendResult]
154
+ describe 'reply_to_thread test' do
166
155
  it 'should work' do
167
156
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
168
157
  end
169
158
  end
170
159
 
171
- # unit tests for v1_threads_thread_id_messages_message_id_read_post
172
- # Mark read/unread
173
- # The ONLY way agent access changes unread state. Body: {\"read\": true|false} (default true).
174
- # @param thread_id
175
- # @param message_id
160
+ # unit tests for revoke_api_key_mailbox
161
+ # Revoke a mailbox grant
162
+ # @param key_id
163
+ # @param mailbox_id
176
164
  # @param [Hash] opts the optional parameters
177
- # @return [Object]
178
- describe 'v1_threads_thread_id_messages_message_id_read_post test' do
165
+ # @return [nil]
166
+ describe 'revoke_api_key_mailbox test' do
179
167
  it 'should work' do
180
168
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
181
169
  end
182
170
  end
183
171
 
184
- # unit tests for v1_threads_thread_id_reply_post
185
- # Reply in-thread (agent stream)
186
- # The server builds In-Reply-To/References and defaults recipients + subject from the conversation — a minimal call is {\"text\": \"...\"}. Guarded by the reply-loop detector (≥5 outbound/10min → 429 + agent.loop_detected). Idempotency-Key required.
187
- # @param thread_id
172
+ # unit tests for start_conversation
173
+ # Start a new conversation (agent stream)
174
+ # Sends a new email from a granted mailbox. Classified stream=agent (isolated reputation, per-key rate caps). The first inbound reply adopts the created thread via the References chain. Idempotency-Key required. Mailboxes with agent_draft_policy=always_approve divert this into a pending draft.
175
+ # @param mailbox
188
176
  # @param idempotency_key
177
+ # @param start_conversation_request
178
+ # @param [Hash] opts the optional parameters
179
+ # @return [AgentSendResult]
180
+ describe 'start_conversation test' do
181
+ it 'should work' do
182
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
183
+ end
184
+ end
185
+
186
+ # unit tests for whoami
187
+ # Introspect the calling credentials
188
+ # Returns the tenant, auth kind (api_key/session), key label, and granted scopes. The MCP server uses this to scope-filter tool discovery.
189
189
  # @param [Hash] opts the optional parameters
190
- # @return [Object]
191
- describe 'v1_threads_thread_id_reply_post test' do
190
+ # @return [Whoami]
191
+ describe 'whoami test' do
192
192
  it 'should work' do
193
193
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
194
194
  end
@@ -32,47 +32,47 @@ describe 'AiApi' do
32
32
  end
33
33
  end
34
34
 
35
- # unit tests for v1_ai_config_get
36
- # Read the tenant's AI configuration
37
- # Mode (off/byok/units), model, masked key hint, AI-unit balance, whether the units tier is available on this deployment.
35
+ # unit tests for classify_thread
36
+ # LLM-classify a thread
37
+ # Returns {intent, urgency, summary, suggested_action} via the tenant's AI tier (BYOK or prepaid units — see /v1/ai-config). Cached per thread state: unchanged threads return the cache free; ?refresh=true forces a re-run. A failed model call charges nothing. 402 when the AI tier is off.
38
+ # @param thread_id
38
39
  # @param [Hash] opts the optional parameters
39
- # @return [Object]
40
- describe 'v1_ai_config_get test' do
40
+ # @option opts [Boolean] :refresh
41
+ # @return [ThreadClassification]
42
+ describe 'classify_thread test' do
41
43
  it 'should work' do
42
44
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
43
45
  end
44
46
  end
45
47
 
46
- # unit tests for v1_ai_config_put
47
- # Configure the AI tier
48
- # Body: {\"mode\": \"off|byok|units\", \"model\": \"...\", \"anthropic_key\": \"sk-ant-...\"}. BYOK keys are stored AES-256-GCM encrypted; the cleartext is never returned. Omit anthropic_key to keep the stored one.
48
+ # unit tests for create_ai_units_checkout
49
+ # Buy prepaid AI units
50
+ # Body: {\"bundle\": \"100|500|2000\"}. One classification = one unit; bundles expire after 6 months. Admin session required. 503 until Paystack billing is configured.
49
51
  # @param [Hash] opts the optional parameters
50
- # @return [Object]
51
- describe 'v1_ai_config_put test' do
52
+ # @return [CreateAiUnitsCheckout200Response]
53
+ describe 'create_ai_units_checkout test' do
52
54
  it 'should work' do
53
55
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
54
56
  end
55
57
  end
56
58
 
57
- # unit tests for v1_billing_ai_units_checkout_post
58
- # Buy prepaid AI units
59
- # Body: {\"bundle\": \"100|500|2000\"}. One classification = one unit; bundles expire after 6 months. Admin session required. 503 until Paystack billing is configured.
59
+ # unit tests for get_ai_config
60
+ # Read the tenant's AI configuration
61
+ # Mode (off/byok/units), model, masked key hint, AI-unit balance, whether the units tier is available on this deployment.
60
62
  # @param [Hash] opts the optional parameters
61
- # @return [Object]
62
- describe 'v1_billing_ai_units_checkout_post test' do
63
+ # @return [AiConfig]
64
+ describe 'get_ai_config test' do
63
65
  it 'should work' do
64
66
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
65
67
  end
66
68
  end
67
69
 
68
- # unit tests for v1_threads_thread_id_classify_post
69
- # LLM-classify a thread
70
- # Returns {intent, urgency, summary, suggested_action} via the tenant's AI tier (BYOK or prepaid units — see /v1/ai-config). Cached per thread state: unchanged threads return the cache free; ?refresh=true forces a re-run. A failed model call charges nothing. 402 when the AI tier is off.
71
- # @param thread_id
70
+ # unit tests for update_ai_config
71
+ # Configure the AI tier
72
+ # Body: {\"mode\": \"off|byok|units\", \"model\": \"...\", \"anthropic_key\": \"sk-ant-...\"}. BYOK keys are stored AES-256-GCM encrypted; the cleartext is never returned. Omit anthropic_key to keep the stored one.
72
73
  # @param [Hash] opts the optional parameters
73
- # @option opts [Boolean] :refresh
74
- # @return [Object]
75
- describe 'v1_threads_thread_id_classify_post test' do
74
+ # @return [AiConfigUpdate]
75
+ describe 'update_ai_config test' do
76
76
  it 'should work' do
77
77
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
78
78
  end