Files.com 1.6.405__tar.gz → 1.6.407__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 (299) hide show
  1. {files_com-1.6.405/files_com.egg-info → files_com-1.6.407}/PKG-INFO +1 -1
  2. files_com-1.6.407/_VERSION +1 -0
  3. {files_com-1.6.405 → files_com-1.6.407/files_com.egg-info}/PKG-INFO +1 -1
  4. {files_com-1.6.405 → files_com-1.6.407}/files_com.egg-info/SOURCES.txt +2 -0
  5. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/__init__.py +3 -1
  6. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/__init__.py +1 -0
  7. files_com-1.6.407/files_sdk/models/ai_assistant_personality.py +285 -0
  8. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/ai_task.py +22 -0
  9. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/api_key.py +12 -4
  10. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/group.py +22 -0
  11. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/partner.py +22 -0
  12. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user.py +22 -0
  13. {files_com-1.6.405 → files_com-1.6.407}/pyproject.toml +1 -1
  14. files_com-1.6.407/tests/test_ai_assistant_personality.py +68 -0
  15. files_com-1.6.405/_VERSION +0 -1
  16. {files_com-1.6.405 → files_com-1.6.407}/LICENSE +0 -0
  17. {files_com-1.6.405 → files_com-1.6.407}/README.md +0 -0
  18. {files_com-1.6.405 → files_com-1.6.407}/files_com.egg-info/dependency_links.txt +0 -0
  19. {files_com-1.6.405 → files_com-1.6.407}/files_com.egg-info/requires.txt +0 -0
  20. {files_com-1.6.405 → files_com-1.6.407}/files_com.egg-info/top_level.txt +0 -0
  21. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/api.py +0 -0
  22. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/api_client.py +0 -0
  23. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/error.py +0 -0
  24. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/list_obj.py +0 -0
  25. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/account_line_item.py +0 -0
  26. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/action.py +0 -0
  27. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/action_log.py +0 -0
  28. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/action_notification_export.py +0 -0
  29. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/action_notification_export_result.py +0 -0
  30. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/agent_push_update.py +0 -0
  31. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/api_request_log.py +0 -0
  32. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/app.py +0 -0
  33. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/as2_incoming_message.py +0 -0
  34. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/as2_outgoing_message.py +0 -0
  35. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/as2_partner.py +0 -0
  36. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/as2_station.py +0 -0
  37. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/auto.py +0 -0
  38. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/automation.py +0 -0
  39. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/automation_log.py +0 -0
  40. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/automation_run.py +0 -0
  41. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bandwidth_snapshot.py +0 -0
  42. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/behavior.py +0 -0
  43. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle.py +0 -0
  44. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_action.py +0 -0
  45. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_download.py +0 -0
  46. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_notification.py +0 -0
  47. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_path.py +0 -0
  48. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_recipient.py +0 -0
  49. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/bundle_registration.py +0 -0
  50. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/chat_message.py +0 -0
  51. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/chat_session.py +0 -0
  52. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/child_site_management_policy.py +0 -0
  53. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/clickwrap.py +0 -0
  54. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/custom_domain.py +0 -0
  55. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/desktop_configuration_profile.py +0 -0
  56. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/dns_record.py +0 -0
  57. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/email_incoming_message.py +0 -0
  58. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/email_log.py +0 -0
  59. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/errors.py +0 -0
  60. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/event_channel.py +0 -0
  61. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/event_delivery_attempt.py +0 -0
  62. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/event_record.py +0 -0
  63. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/event_subscription.py +0 -0
  64. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/event_target.py +0 -0
  65. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/exavault_api_request_log.py +0 -0
  66. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/expectation.py +0 -0
  67. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/expectation_evaluation.py +0 -0
  68. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/expectation_incident.py +0 -0
  69. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/external_event.py +0 -0
  70. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file.py +0 -0
  71. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_action.py +0 -0
  72. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_comment.py +0 -0
  73. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_comment_reaction.py +0 -0
  74. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_migration.py +0 -0
  75. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_migration_log.py +0 -0
  76. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/file_upload_part.py +0 -0
  77. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/folder.py +0 -0
  78. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/form_field.py +0 -0
  79. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/form_field_set.py +0 -0
  80. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/ftp_action_log.py +0 -0
  81. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/gpg_key.py +0 -0
  82. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/group_user.py +0 -0
  83. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/history.py +0 -0
  84. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/history_export.py +0 -0
  85. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/history_export_result.py +0 -0
  86. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/holiday_region.py +0 -0
  87. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/image.py +0 -0
  88. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/inbound_s3_log.py +0 -0
  89. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/inbox_recipient.py +0 -0
  90. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/inbox_registration.py +0 -0
  91. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/inbox_upload.py +0 -0
  92. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/invoice.py +0 -0
  93. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/invoice_line_item.py +0 -0
  94. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/ip_address.py +0 -0
  95. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/key_lifecycle_rule.py +0 -0
  96. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/lock.py +0 -0
  97. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/message.py +0 -0
  98. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/message_comment.py +0 -0
  99. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/message_comment_reaction.py +0 -0
  100. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/message_reaction.py +0 -0
  101. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/metadata_category.py +0 -0
  102. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/notification.py +0 -0
  103. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/outbound_connection_log.py +0 -0
  104. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/partner_channel.py +0 -0
  105. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/partner_site.py +0 -0
  106. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/partner_site_request.py +0 -0
  107. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/payment.py +0 -0
  108. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/payment_line_item.py +0 -0
  109. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/pending_work_event.py +0 -0
  110. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/permission.py +0 -0
  111. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/preview.py +0 -0
  112. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/project.py +0 -0
  113. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/public_hosting_request_log.py +0 -0
  114. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/public_ip_address.py +0 -0
  115. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/public_key.py +0 -0
  116. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  117. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/remote_mount_backend.py +0 -0
  118. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/remote_server.py +0 -0
  119. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/remote_server_configuration_file.py +0 -0
  120. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/remote_server_credential.py +0 -0
  121. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/request.py +0 -0
  122. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/restore.py +0 -0
  123. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/scheduled_export.py +0 -0
  124. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/scim_log.py +0 -0
  125. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/session.py +0 -0
  126. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/settings_change.py +0 -0
  127. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sftp_action_log.py +0 -0
  128. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sftp_host_key.py +0 -0
  129. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/share_group.py +0 -0
  130. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/share_group_member.py +0 -0
  131. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/siem_http_destination.py +0 -0
  132. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/siem_http_destination_event.py +0 -0
  133. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/site.py +0 -0
  134. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/site_subdomain_redirect.py +0 -0
  135. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/snapshot.py +0 -0
  136. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sso_event.py +0 -0
  137. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sso_strategy.py +0 -0
  138. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/status.py +0 -0
  139. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/style.py +0 -0
  140. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sync.py +0 -0
  141. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sync_log.py +0 -0
  142. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sync_run.py +0 -0
  143. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/sync_run_live_transfer.py +0 -0
  144. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  145. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/usage_daily_snapshot.py +0 -0
  146. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/usage_snapshot.py +0 -0
  147. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user_cipher_use.py +0 -0
  148. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user_lifecycle_rule.py +0 -0
  149. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user_request.py +0 -0
  150. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user_security_event.py +0 -0
  151. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/user_sftp_client_use.py +0 -0
  152. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/web_dav_action_log.py +0 -0
  153. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/webhook_test.py +0 -0
  154. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/workspace.py +0 -0
  155. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/models/zip_list_entry.py +0 -0
  156. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/path_util.py +0 -0
  157. {files_com-1.6.405 → files_com-1.6.407}/files_sdk/util.py +0 -0
  158. {files_com-1.6.405 → files_com-1.6.407}/setup.cfg +0 -0
  159. {files_com-1.6.405 → files_com-1.6.407}/tests/test_account_line_item.py +0 -0
  160. {files_com-1.6.405 → files_com-1.6.407}/tests/test_action.py +0 -0
  161. {files_com-1.6.405 → files_com-1.6.407}/tests/test_action_log.py +0 -0
  162. {files_com-1.6.405 → files_com-1.6.407}/tests/test_action_notification_export.py +0 -0
  163. {files_com-1.6.405 → files_com-1.6.407}/tests/test_action_notification_export_result.py +0 -0
  164. {files_com-1.6.405 → files_com-1.6.407}/tests/test_agent_push_update.py +0 -0
  165. {files_com-1.6.405 → files_com-1.6.407}/tests/test_ai_task.py +0 -0
  166. {files_com-1.6.405 → files_com-1.6.407}/tests/test_api_errors.py +0 -0
  167. {files_com-1.6.405 → files_com-1.6.407}/tests/test_api_key.py +0 -0
  168. {files_com-1.6.405 → files_com-1.6.407}/tests/test_api_request_log.py +0 -0
  169. {files_com-1.6.405 → files_com-1.6.407}/tests/test_app.py +0 -0
  170. {files_com-1.6.405 → files_com-1.6.407}/tests/test_as2_incoming_message.py +0 -0
  171. {files_com-1.6.405 → files_com-1.6.407}/tests/test_as2_outgoing_message.py +0 -0
  172. {files_com-1.6.405 → files_com-1.6.407}/tests/test_as2_partner.py +0 -0
  173. {files_com-1.6.405 → files_com-1.6.407}/tests/test_as2_station.py +0 -0
  174. {files_com-1.6.405 → files_com-1.6.407}/tests/test_auto.py +0 -0
  175. {files_com-1.6.405 → files_com-1.6.407}/tests/test_automation.py +0 -0
  176. {files_com-1.6.405 → files_com-1.6.407}/tests/test_automation_log.py +0 -0
  177. {files_com-1.6.405 → files_com-1.6.407}/tests/test_automation_run.py +0 -0
  178. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bandwidth_snapshot.py +0 -0
  179. {files_com-1.6.405 → files_com-1.6.407}/tests/test_behavior.py +0 -0
  180. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle.py +0 -0
  181. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_action.py +0 -0
  182. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_download.py +0 -0
  183. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_notification.py +0 -0
  184. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_path.py +0 -0
  185. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_recipient.py +0 -0
  186. {files_com-1.6.405 → files_com-1.6.407}/tests/test_bundle_registration.py +0 -0
  187. {files_com-1.6.405 → files_com-1.6.407}/tests/test_chat_message.py +0 -0
  188. {files_com-1.6.405 → files_com-1.6.407}/tests/test_chat_session.py +0 -0
  189. {files_com-1.6.405 → files_com-1.6.407}/tests/test_child_site_management_policy.py +0 -0
  190. {files_com-1.6.405 → files_com-1.6.407}/tests/test_clickwrap.py +0 -0
  191. {files_com-1.6.405 → files_com-1.6.407}/tests/test_connection_adapter.py +0 -0
  192. {files_com-1.6.405 → files_com-1.6.407}/tests/test_custom_domain.py +0 -0
  193. {files_com-1.6.405 → files_com-1.6.407}/tests/test_decimal_contract.py +0 -0
  194. {files_com-1.6.405 → files_com-1.6.407}/tests/test_desktop_configuration_profile.py +0 -0
  195. {files_com-1.6.405 → files_com-1.6.407}/tests/test_dns_record.py +0 -0
  196. {files_com-1.6.405 → files_com-1.6.407}/tests/test_email_incoming_message.py +0 -0
  197. {files_com-1.6.405 → files_com-1.6.407}/tests/test_email_log.py +0 -0
  198. {files_com-1.6.405 → files_com-1.6.407}/tests/test_errors.py +0 -0
  199. {files_com-1.6.405 → files_com-1.6.407}/tests/test_event_channel.py +0 -0
  200. {files_com-1.6.405 → files_com-1.6.407}/tests/test_event_delivery_attempt.py +0 -0
  201. {files_com-1.6.405 → files_com-1.6.407}/tests/test_event_record.py +0 -0
  202. {files_com-1.6.405 → files_com-1.6.407}/tests/test_event_subscription.py +0 -0
  203. {files_com-1.6.405 → files_com-1.6.407}/tests/test_event_target.py +0 -0
  204. {files_com-1.6.405 → files_com-1.6.407}/tests/test_exavault_api_request_log.py +0 -0
  205. {files_com-1.6.405 → files_com-1.6.407}/tests/test_expectation.py +0 -0
  206. {files_com-1.6.405 → files_com-1.6.407}/tests/test_expectation_evaluation.py +0 -0
  207. {files_com-1.6.405 → files_com-1.6.407}/tests/test_expectation_incident.py +0 -0
  208. {files_com-1.6.405 → files_com-1.6.407}/tests/test_external_event.py +0 -0
  209. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file.py +0 -0
  210. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_action.py +0 -0
  211. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_comment.py +0 -0
  212. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_comment_reaction.py +0 -0
  213. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_migration.py +0 -0
  214. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_migration_log.py +0 -0
  215. {files_com-1.6.405 → files_com-1.6.407}/tests/test_file_upload_part.py +0 -0
  216. {files_com-1.6.405 → files_com-1.6.407}/tests/test_folder.py +0 -0
  217. {files_com-1.6.405 → files_com-1.6.407}/tests/test_form_field.py +0 -0
  218. {files_com-1.6.405 → files_com-1.6.407}/tests/test_form_field_set.py +0 -0
  219. {files_com-1.6.405 → files_com-1.6.407}/tests/test_ftp_action_log.py +0 -0
  220. {files_com-1.6.405 → files_com-1.6.407}/tests/test_gpg_key.py +0 -0
  221. {files_com-1.6.405 → files_com-1.6.407}/tests/test_group.py +0 -0
  222. {files_com-1.6.405 → files_com-1.6.407}/tests/test_group_user.py +0 -0
  223. {files_com-1.6.405 → files_com-1.6.407}/tests/test_history.py +0 -0
  224. {files_com-1.6.405 → files_com-1.6.407}/tests/test_history_export.py +0 -0
  225. {files_com-1.6.405 → files_com-1.6.407}/tests/test_history_export_result.py +0 -0
  226. {files_com-1.6.405 → files_com-1.6.407}/tests/test_holiday_region.py +0 -0
  227. {files_com-1.6.405 → files_com-1.6.407}/tests/test_image.py +0 -0
  228. {files_com-1.6.405 → files_com-1.6.407}/tests/test_inbound_s3_log.py +0 -0
  229. {files_com-1.6.405 → files_com-1.6.407}/tests/test_inbox_recipient.py +0 -0
  230. {files_com-1.6.405 → files_com-1.6.407}/tests/test_inbox_registration.py +0 -0
  231. {files_com-1.6.405 → files_com-1.6.407}/tests/test_inbox_upload.py +0 -0
  232. {files_com-1.6.405 → files_com-1.6.407}/tests/test_invoice.py +0 -0
  233. {files_com-1.6.405 → files_com-1.6.407}/tests/test_invoice_line_item.py +0 -0
  234. {files_com-1.6.405 → files_com-1.6.407}/tests/test_ip_address.py +0 -0
  235. {files_com-1.6.405 → files_com-1.6.407}/tests/test_key_lifecycle_rule.py +0 -0
  236. {files_com-1.6.405 → files_com-1.6.407}/tests/test_lock.py +0 -0
  237. {files_com-1.6.405 → files_com-1.6.407}/tests/test_message.py +0 -0
  238. {files_com-1.6.405 → files_com-1.6.407}/tests/test_message_comment.py +0 -0
  239. {files_com-1.6.405 → files_com-1.6.407}/tests/test_message_comment_reaction.py +0 -0
  240. {files_com-1.6.405 → files_com-1.6.407}/tests/test_message_reaction.py +0 -0
  241. {files_com-1.6.405 → files_com-1.6.407}/tests/test_metadata_category.py +0 -0
  242. {files_com-1.6.405 → files_com-1.6.407}/tests/test_notification.py +0 -0
  243. {files_com-1.6.405 → files_com-1.6.407}/tests/test_outbound_connection_log.py +0 -0
  244. {files_com-1.6.405 → files_com-1.6.407}/tests/test_partner.py +0 -0
  245. {files_com-1.6.405 → files_com-1.6.407}/tests/test_partner_channel.py +0 -0
  246. {files_com-1.6.405 → files_com-1.6.407}/tests/test_partner_site.py +0 -0
  247. {files_com-1.6.405 → files_com-1.6.407}/tests/test_partner_site_request.py +0 -0
  248. {files_com-1.6.405 → files_com-1.6.407}/tests/test_path_util.py +0 -0
  249. {files_com-1.6.405 → files_com-1.6.407}/tests/test_payment.py +0 -0
  250. {files_com-1.6.405 → files_com-1.6.407}/tests/test_payment_line_item.py +0 -0
  251. {files_com-1.6.405 → files_com-1.6.407}/tests/test_pending_work_event.py +0 -0
  252. {files_com-1.6.405 → files_com-1.6.407}/tests/test_permission.py +0 -0
  253. {files_com-1.6.405 → files_com-1.6.407}/tests/test_preview.py +0 -0
  254. {files_com-1.6.405 → files_com-1.6.407}/tests/test_project.py +0 -0
  255. {files_com-1.6.405 → files_com-1.6.407}/tests/test_public_hosting_request_log.py +0 -0
  256. {files_com-1.6.405 → files_com-1.6.407}/tests/test_public_ip_address.py +0 -0
  257. {files_com-1.6.405 → files_com-1.6.407}/tests/test_public_key.py +0 -0
  258. {files_com-1.6.405 → files_com-1.6.407}/tests/test_remote_bandwidth_snapshot.py +0 -0
  259. {files_com-1.6.405 → files_com-1.6.407}/tests/test_remote_mount_backend.py +0 -0
  260. {files_com-1.6.405 → files_com-1.6.407}/tests/test_remote_server.py +0 -0
  261. {files_com-1.6.405 → files_com-1.6.407}/tests/test_remote_server_configuration_file.py +0 -0
  262. {files_com-1.6.405 → files_com-1.6.407}/tests/test_remote_server_credential.py +0 -0
  263. {files_com-1.6.405 → files_com-1.6.407}/tests/test_request.py +0 -0
  264. {files_com-1.6.405 → files_com-1.6.407}/tests/test_restore.py +0 -0
  265. {files_com-1.6.405 → files_com-1.6.407}/tests/test_scheduled_export.py +0 -0
  266. {files_com-1.6.405 → files_com-1.6.407}/tests/test_scim_log.py +0 -0
  267. {files_com-1.6.405 → files_com-1.6.407}/tests/test_session.py +0 -0
  268. {files_com-1.6.405 → files_com-1.6.407}/tests/test_settings_change.py +0 -0
  269. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sftp_action_log.py +0 -0
  270. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sftp_host_key.py +0 -0
  271. {files_com-1.6.405 → files_com-1.6.407}/tests/test_share_group.py +0 -0
  272. {files_com-1.6.405 → files_com-1.6.407}/tests/test_share_group_member.py +0 -0
  273. {files_com-1.6.405 → files_com-1.6.407}/tests/test_siem_http_destination.py +0 -0
  274. {files_com-1.6.405 → files_com-1.6.407}/tests/test_siem_http_destination_event.py +0 -0
  275. {files_com-1.6.405 → files_com-1.6.407}/tests/test_site.py +0 -0
  276. {files_com-1.6.405 → files_com-1.6.407}/tests/test_site_subdomain_redirect.py +0 -0
  277. {files_com-1.6.405 → files_com-1.6.407}/tests/test_snapshot.py +0 -0
  278. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sso_event.py +0 -0
  279. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sso_strategy.py +0 -0
  280. {files_com-1.6.405 → files_com-1.6.407}/tests/test_status.py +0 -0
  281. {files_com-1.6.405 → files_com-1.6.407}/tests/test_style.py +0 -0
  282. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sync.py +0 -0
  283. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sync_log.py +0 -0
  284. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sync_run.py +0 -0
  285. {files_com-1.6.405 → files_com-1.6.407}/tests/test_sync_run_live_transfer.py +0 -0
  286. {files_com-1.6.405 → files_com-1.6.407}/tests/test_usage_by_top_level_dir.py +0 -0
  287. {files_com-1.6.405 → files_com-1.6.407}/tests/test_usage_daily_snapshot.py +0 -0
  288. {files_com-1.6.405 → files_com-1.6.407}/tests/test_usage_snapshot.py +0 -0
  289. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user.py +0 -0
  290. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user_cipher_use.py +0 -0
  291. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user_lifecycle_rule.py +0 -0
  292. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user_request.py +0 -0
  293. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user_security_event.py +0 -0
  294. {files_com-1.6.405 → files_com-1.6.407}/tests/test_user_sftp_client_use.py +0 -0
  295. {files_com-1.6.405 → files_com-1.6.407}/tests/test_web_dav_action_log.py +0 -0
  296. {files_com-1.6.405 → files_com-1.6.407}/tests/test_webhook_test.py +0 -0
  297. {files_com-1.6.405 → files_com-1.6.407}/tests/test_workspace.py +0 -0
  298. {files_com-1.6.405 → files_com-1.6.407}/tests/test_workspace_id.py +0 -0
  299. {files_com-1.6.405 → files_com-1.6.407}/tests/test_zip_list_entry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.405
3
+ Version: 1.6.407
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -0,0 +1 @@
1
+ 1.6.407
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.405
3
+ Version: 1.6.407
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -22,6 +22,7 @@ files_sdk/models/action_log.py
22
22
  files_sdk/models/action_notification_export.py
23
23
  files_sdk/models/action_notification_export_result.py
24
24
  files_sdk/models/agent_push_update.py
25
+ files_sdk/models/ai_assistant_personality.py
25
26
  files_sdk/models/ai_task.py
26
27
  files_sdk/models/api_key.py
27
28
  files_sdk/models/api_request_log.py
@@ -158,6 +159,7 @@ tests/test_action_log.py
158
159
  tests/test_action_notification_export.py
159
160
  tests/test_action_notification_export_result.py
160
161
  tests/test_agent_push_update.py
162
+ tests/test_ai_assistant_personality.py
161
163
  tests/test_ai_task.py
162
164
  tests/test_api_errors.py
163
165
  tests/test_api_key.py
@@ -5,6 +5,7 @@ import files_sdk.models.action_log as action_log
5
5
  import files_sdk.models.action_notification_export as action_notification_export
6
6
  import files_sdk.models.action_notification_export_result as action_notification_export_result
7
7
  import files_sdk.models.agent_push_update as agent_push_update
8
+ import files_sdk.models.ai_assistant_personality as ai_assistant_personality
8
9
  import files_sdk.models.ai_task as ai_task
9
10
  import files_sdk.models.api_key as api_key
10
11
  import files_sdk.models.api_request_log as api_request_log
@@ -146,6 +147,7 @@ from files_sdk.models.action_notification_export_result import (
146
147
  ActionNotificationExportResult,
147
148
  )
148
149
  from files_sdk.models.agent_push_update import AgentPushUpdate
150
+ from files_sdk.models.ai_assistant_personality import AiAssistantPersonality
149
151
  from files_sdk.models.ai_task import AiTask
150
152
  from files_sdk.models.api_key import ApiKey
151
153
  from files_sdk.models.api_request_log import ApiRequestLog
@@ -296,7 +298,7 @@ source_ip = None
296
298
  workspace_id = None
297
299
  base_url = "https://app.files.com"
298
300
  base_path = "api/rest/v1"
299
- version = "1.6.405"
301
+ version = "1.6.407"
300
302
 
301
303
  __version__ = version
302
304
 
@@ -8,6 +8,7 @@ from files_sdk.models.action_notification_export_result import (
8
8
  ActionNotificationExportResult,
9
9
  )
10
10
  from files_sdk.models.agent_push_update import AgentPushUpdate
11
+ from files_sdk.models.ai_assistant_personality import AiAssistantPersonality
11
12
  from files_sdk.models.ai_task import AiTask
12
13
  from files_sdk.models.api_key import ApiKey
13
14
  from files_sdk.models.api_request_log import ApiRequestLog
@@ -0,0 +1,285 @@
1
+ import builtins # noqa: F401
2
+ from files_sdk.api import Api # noqa: F401
3
+ from files_sdk.list_obj import ListObj
4
+ from files_sdk.error import ( # noqa: F401
5
+ InvalidParameterError,
6
+ MissingParameterError,
7
+ NotImplementedError,
8
+ )
9
+
10
+
11
+ class AiAssistantPersonality:
12
+ default_attributes = {
13
+ "id": None, # int64 - AI Assistant Personality ID.
14
+ "workspace_id": None, # int64 - Workspace ID. `0` means the default workspace.
15
+ "system_prompt": None, # string - System prompt injected into the in-app AI Assistant.
16
+ "use_by_default": None, # boolean - Whether this personality is the default personality for the Workspace.
17
+ "apply_to_all_workspaces": None, # boolean - If true, this default-workspace personality can apply to users in all workspaces.
18
+ "created_at": None, # date-time - Creation time.
19
+ "updated_at": None, # date-time - Last update time.
20
+ }
21
+
22
+ def __init__(self, attributes=None, options=None):
23
+ if not isinstance(attributes, dict):
24
+ attributes = {}
25
+ if not isinstance(options, dict):
26
+ options = {}
27
+ self.set_attributes(attributes)
28
+ self.options = options
29
+
30
+ def set_attributes(self, attributes):
31
+ for (
32
+ attribute,
33
+ default_value,
34
+ ) in AiAssistantPersonality.default_attributes.items():
35
+ value = attributes.get(attribute, default_value)
36
+ setattr(self, attribute, value)
37
+
38
+ def get_attributes(self):
39
+ attrs = {
40
+ k: getattr(self, k, None)
41
+ for k in AiAssistantPersonality.default_attributes
42
+ if getattr(self, k, None) is not None
43
+ }
44
+ return attrs
45
+
46
+ # Parameters:
47
+ # apply_to_all_workspaces - boolean - If true, this default-workspace personality can apply to users in all workspaces.
48
+ # system_prompt - string - System prompt injected into the in-app AI Assistant.
49
+ # use_by_default - boolean - Whether this personality is the default personality for the Workspace.
50
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
51
+ def update(self, params=None):
52
+ if not isinstance(params, dict):
53
+ params = {}
54
+
55
+ if hasattr(self, "id") and self.id:
56
+ params["id"] = self.id
57
+ else:
58
+ raise MissingParameterError("Current object doesn't have a id")
59
+ if "id" not in params:
60
+ raise MissingParameterError("Parameter missing: id")
61
+ if "id" in params and not isinstance(params["id"], int):
62
+ raise InvalidParameterError("Bad parameter: id must be an int")
63
+ if "system_prompt" in params and not isinstance(
64
+ params["system_prompt"], str
65
+ ):
66
+ raise InvalidParameterError(
67
+ "Bad parameter: system_prompt must be an str"
68
+ )
69
+ if "workspace_id" in params and not isinstance(
70
+ params["workspace_id"], int
71
+ ):
72
+ raise InvalidParameterError(
73
+ "Bad parameter: workspace_id must be an int"
74
+ )
75
+ response, _options = Api.send_request(
76
+ "PATCH",
77
+ "/ai_assistant_personalities/{id}".format(id=params["id"]),
78
+ params,
79
+ self.options,
80
+ )
81
+ return response.data
82
+
83
+ def delete(self, params=None):
84
+ if not isinstance(params, dict):
85
+ params = {}
86
+
87
+ if hasattr(self, "id") and self.id:
88
+ params["id"] = self.id
89
+ else:
90
+ raise MissingParameterError("Current object doesn't have a id")
91
+ if "id" not in params:
92
+ raise MissingParameterError("Parameter missing: id")
93
+ if "id" in params and not isinstance(params["id"], int):
94
+ raise InvalidParameterError("Bad parameter: id must be an int")
95
+ Api.send_request(
96
+ "DELETE",
97
+ "/ai_assistant_personalities/{id}".format(id=params["id"]),
98
+ params,
99
+ self.options,
100
+ )
101
+
102
+ def destroy(self, params=None):
103
+ self.delete(params)
104
+
105
+ def save(self):
106
+ if hasattr(self, "id") and self.id:
107
+ new_obj = self.update(self.get_attributes())
108
+ self.set_attributes(new_obj.get_attributes())
109
+ return True
110
+ else:
111
+ new_obj = create(self.get_attributes(), self.options)
112
+ self.set_attributes(new_obj.get_attributes())
113
+ return True
114
+
115
+
116
+ # Parameters:
117
+ # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
118
+ # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
119
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id` and `id`.
120
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `workspace_id`.
121
+ def list(params=None, options=None):
122
+ if not isinstance(params, dict):
123
+ params = {}
124
+ if not isinstance(options, dict):
125
+ options = {}
126
+ if "cursor" in params and not isinstance(params["cursor"], str):
127
+ raise InvalidParameterError("Bad parameter: cursor must be an str")
128
+ if "per_page" in params and not isinstance(params["per_page"], int):
129
+ raise InvalidParameterError("Bad parameter: per_page must be an int")
130
+ if "sort_by" in params and not isinstance(params["sort_by"], dict):
131
+ raise InvalidParameterError("Bad parameter: sort_by must be an dict")
132
+ if "filter" in params and not isinstance(params["filter"], dict):
133
+ raise InvalidParameterError("Bad parameter: filter must be an dict")
134
+ return ListObj(
135
+ AiAssistantPersonality,
136
+ "GET",
137
+ "/ai_assistant_personalities",
138
+ params,
139
+ options,
140
+ )
141
+
142
+
143
+ def all(params=None, options=None):
144
+ list(params, options)
145
+
146
+
147
+ # Parameters:
148
+ # id (required) - int64 - Ai Assistant Personality ID.
149
+ def find(id, params=None, options=None):
150
+ if not isinstance(params, dict):
151
+ params = {}
152
+ if not isinstance(options, dict):
153
+ options = {}
154
+ params["id"] = id
155
+ if "id" in params and not isinstance(params["id"], int):
156
+ raise InvalidParameterError("Bad parameter: id must be an int")
157
+ if "id" not in params:
158
+ raise MissingParameterError("Parameter missing: id")
159
+ response, options = Api.send_request(
160
+ "GET",
161
+ "/ai_assistant_personalities/{id}".format(id=params["id"]),
162
+ params,
163
+ options,
164
+ )
165
+ return AiAssistantPersonality(response.data, options)
166
+
167
+
168
+ def get(id, params=None, options=None):
169
+ find(id, params, options)
170
+
171
+
172
+ # Parameters:
173
+ # apply_to_all_workspaces - boolean - If true, this default-workspace personality can apply to users in all workspaces.
174
+ # system_prompt (required) - string - System prompt injected into the in-app AI Assistant.
175
+ # use_by_default - boolean - Whether this personality is the default personality for the Workspace.
176
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
177
+ def create(params=None, options=None):
178
+ if not isinstance(params, dict):
179
+ params = {}
180
+ if not isinstance(options, dict):
181
+ options = {}
182
+ if "apply_to_all_workspaces" in params and not isinstance(
183
+ params["apply_to_all_workspaces"], bool
184
+ ):
185
+ raise InvalidParameterError(
186
+ "Bad parameter: apply_to_all_workspaces must be an bool"
187
+ )
188
+ if "system_prompt" in params and not isinstance(
189
+ params["system_prompt"], str
190
+ ):
191
+ raise InvalidParameterError(
192
+ "Bad parameter: system_prompt must be an str"
193
+ )
194
+ if "use_by_default" in params and not isinstance(
195
+ params["use_by_default"], bool
196
+ ):
197
+ raise InvalidParameterError(
198
+ "Bad parameter: use_by_default must be an bool"
199
+ )
200
+ if "workspace_id" in params and not isinstance(
201
+ params["workspace_id"], int
202
+ ):
203
+ raise InvalidParameterError(
204
+ "Bad parameter: workspace_id must be an int"
205
+ )
206
+ if "system_prompt" not in params:
207
+ raise MissingParameterError("Parameter missing: system_prompt")
208
+ response, options = Api.send_request(
209
+ "POST", "/ai_assistant_personalities", params, options
210
+ )
211
+ return AiAssistantPersonality(response.data, options)
212
+
213
+
214
+ # Parameters:
215
+ # apply_to_all_workspaces - boolean - If true, this default-workspace personality can apply to users in all workspaces.
216
+ # system_prompt - string - System prompt injected into the in-app AI Assistant.
217
+ # use_by_default - boolean - Whether this personality is the default personality for the Workspace.
218
+ # workspace_id - int64 - Workspace ID. `0` means the default workspace.
219
+ def update(id, params=None, options=None):
220
+ if not isinstance(params, dict):
221
+ params = {}
222
+ if not isinstance(options, dict):
223
+ options = {}
224
+ params["id"] = id
225
+ if "id" in params and not isinstance(params["id"], int):
226
+ raise InvalidParameterError("Bad parameter: id must be an int")
227
+ if "apply_to_all_workspaces" in params and not isinstance(
228
+ params["apply_to_all_workspaces"], bool
229
+ ):
230
+ raise InvalidParameterError(
231
+ "Bad parameter: apply_to_all_workspaces must be an bool"
232
+ )
233
+ if "system_prompt" in params and not isinstance(
234
+ params["system_prompt"], str
235
+ ):
236
+ raise InvalidParameterError(
237
+ "Bad parameter: system_prompt must be an str"
238
+ )
239
+ if "use_by_default" in params and not isinstance(
240
+ params["use_by_default"], bool
241
+ ):
242
+ raise InvalidParameterError(
243
+ "Bad parameter: use_by_default must be an bool"
244
+ )
245
+ if "workspace_id" in params and not isinstance(
246
+ params["workspace_id"], int
247
+ ):
248
+ raise InvalidParameterError(
249
+ "Bad parameter: workspace_id must be an int"
250
+ )
251
+ if "id" not in params:
252
+ raise MissingParameterError("Parameter missing: id")
253
+ response, options = Api.send_request(
254
+ "PATCH",
255
+ "/ai_assistant_personalities/{id}".format(id=params["id"]),
256
+ params,
257
+ options,
258
+ )
259
+ return AiAssistantPersonality(response.data, options)
260
+
261
+
262
+ def delete(id, params=None, options=None):
263
+ if not isinstance(params, dict):
264
+ params = {}
265
+ if not isinstance(options, dict):
266
+ options = {}
267
+ params["id"] = id
268
+ if "id" in params and not isinstance(params["id"], int):
269
+ raise InvalidParameterError("Bad parameter: id must be an int")
270
+ if "id" not in params:
271
+ raise MissingParameterError("Parameter missing: id")
272
+ Api.send_request(
273
+ "DELETE",
274
+ "/ai_assistant_personalities/{id}".format(id=params["id"]),
275
+ params,
276
+ options,
277
+ )
278
+
279
+
280
+ def destroy(id, params=None, options=None):
281
+ delete(id, params, options)
282
+
283
+
284
+ def new(*args, **kwargs):
285
+ return AiAssistantPersonality(*args, **kwargs)
@@ -15,6 +15,7 @@ class AiTask:
15
15
  "name": None, # string - AI Task name.
16
16
  "description": None, # string - AI Task description.
17
17
  "prompt": None, # string - Prompt sent when this AI Task is invoked.
18
+ "permission_set": None, # string - Permissions used by the internal API key for this AI Task. Valid values are `full` and `files_only`.
18
19
  "path": None, # string - Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
19
20
  "source": None, # string - Source glob used with `path` for action-triggered AI Tasks.
20
21
  "disabled": None, # boolean - If true, this AI Task will not run.
@@ -81,6 +82,7 @@ class AiTask:
81
82
  # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
82
83
  # name - string - AI Task name.
83
84
  # path - string - Path scope used for action-triggered AI Tasks.
85
+ # permission_set - string - Permissions used by the internal API key for this AI Task. Valid values are `full` and `files_only`.
84
86
  # prompt - string - Prompt sent when this AI Task is invoked.
85
87
  # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
86
88
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
@@ -122,6 +124,12 @@ class AiTask:
122
124
  raise InvalidParameterError("Bad parameter: name must be an str")
123
125
  if "path" in params and not isinstance(params["path"], str):
124
126
  raise InvalidParameterError("Bad parameter: path must be an str")
127
+ if "permission_set" in params and not isinstance(
128
+ params["permission_set"], str
129
+ ):
130
+ raise InvalidParameterError(
131
+ "Bad parameter: permission_set must be an str"
132
+ )
125
133
  if "prompt" in params and not isinstance(params["prompt"], str):
126
134
  raise InvalidParameterError("Bad parameter: prompt must be an str")
127
135
  if "recurring_day" in params and not isinstance(
@@ -261,6 +269,7 @@ def get(id, params=None, options=None):
261
269
  # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
262
270
  # name (required) - string - AI Task name.
263
271
  # path - string - Path scope used for action-triggered AI Tasks.
272
+ # permission_set - string - Permissions used by the internal API key for this AI Task. Valid values are `full` and `files_only`.
264
273
  # prompt (required) - string - Prompt sent when this AI Task is invoked.
265
274
  # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
266
275
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
@@ -293,6 +302,12 @@ def create(params=None, options=None):
293
302
  raise InvalidParameterError("Bad parameter: name must be an str")
294
303
  if "path" in params and not isinstance(params["path"], str):
295
304
  raise InvalidParameterError("Bad parameter: path must be an str")
305
+ if "permission_set" in params and not isinstance(
306
+ params["permission_set"], str
307
+ ):
308
+ raise InvalidParameterError(
309
+ "Bad parameter: permission_set must be an str"
310
+ )
296
311
  if "prompt" in params and not isinstance(params["prompt"], str):
297
312
  raise InvalidParameterError("Bad parameter: prompt must be an str")
298
313
  if "recurring_day" in params and not isinstance(
@@ -369,6 +384,7 @@ def manual_run(id, params=None, options=None):
369
384
  # interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
370
385
  # name - string - AI Task name.
371
386
  # path - string - Path scope used for action-triggered AI Tasks.
387
+ # permission_set - string - Permissions used by the internal API key for this AI Task. Valid values are `full` and `files_only`.
372
388
  # prompt - string - Prompt sent when this AI Task is invoked.
373
389
  # recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
374
390
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
@@ -404,6 +420,12 @@ def update(id, params=None, options=None):
404
420
  raise InvalidParameterError("Bad parameter: name must be an str")
405
421
  if "path" in params and not isinstance(params["path"], str):
406
422
  raise InvalidParameterError("Bad parameter: path must be an str")
423
+ if "permission_set" in params and not isinstance(
424
+ params["permission_set"], str
425
+ ):
426
+ raise InvalidParameterError(
427
+ "Bad parameter: permission_set must be an str"
428
+ )
407
429
  if "prompt" in params and not isinstance(params["prompt"], str):
408
430
  raise InvalidParameterError("Bad parameter: prompt must be an str")
409
431
  if "recurring_day" in params and not isinstance(
@@ -21,12 +21,13 @@ class ApiKey:
21
21
  "aws_secret_key": None, # string - AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
22
22
  "last_use_at": None, # date-time - API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.
23
23
  "name": None, # string - Internal name for the API Key. For your use.
24
- "permission_set": None, # string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
24
+ "permission_set": None, # string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
25
25
  "platform": None, # string - If this API key represents a Desktop app, what platform was it created on?
26
26
  "site_id": None, # int64 - Site ID
27
27
  "site_name": None, # string - Site Name
28
28
  "url": None, # string - URL for API host.
29
29
  "user_id": None, # int64 - User ID for the owner of this API Key. May be blank for Site-wide API Keys.
30
+ "workspace_id": None, # int64 - Workspace ID for this API Key. `0` means the default workspace.
30
31
  "path": None, # string - Folder path restriction for `office_integration` permission set API keys.
31
32
  }
32
33
 
@@ -126,7 +127,7 @@ class ApiKey:
126
127
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
127
128
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
128
129
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
129
- # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`.
130
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id` and `workspace_id`.
130
131
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `aws_style_credentials` and `expires_at`.
131
132
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.
132
133
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.
@@ -204,7 +205,8 @@ def get(id, params=None, options=None):
204
205
  # name (required) - string - Internal name for the API Key. For your use.
205
206
  # aws_style_credentials - boolean - If `true`, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
206
207
  # path - string - Folder path restriction for `office_integration` permission set API keys.
207
- # permission_set - string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
208
+ # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
209
+ # workspace_id - int64 - Workspace ID for this API Key. `0` means the default workspace.
208
210
  def create(params=None, options=None):
209
211
  if not isinstance(params, dict):
210
212
  params = {}
@@ -234,6 +236,12 @@ def create(params=None, options=None):
234
236
  raise InvalidParameterError(
235
237
  "Bad parameter: permission_set must be an str"
236
238
  )
239
+ if "workspace_id" in params and not isinstance(
240
+ params["workspace_id"], int
241
+ ):
242
+ raise InvalidParameterError(
243
+ "Bad parameter: workspace_id must be an int"
244
+ )
237
245
  if "name" not in params:
238
246
  raise MissingParameterError("Parameter missing: name")
239
247
  response, options = Api.send_request("POST", "/api_keys", params, options)
@@ -243,7 +251,7 @@ def create(params=None, options=None):
243
251
  # Parameters:
244
252
  # expires_at - string - API Key expiration date
245
253
  # name - string - Internal name for the API Key. For your use.
246
- # permission_set - string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
254
+ # permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
247
255
  def update_current(params=None, options=None):
248
256
  if not isinstance(params, dict):
249
257
  params = {}
@@ -17,6 +17,7 @@ class Group:
17
17
  "notes": None, # string - Notes about this group
18
18
  "user_ids": None, # string - Comma-delimited list of user IDs who belong to this group (separated by commas)
19
19
  "usernames": None, # string - Comma-delimited list of usernames who belong to this group (separated by commas)
20
+ "ai_assistant_personality_id": None, # int64 - AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.
20
21
  "ftp_permission": None, # boolean - If true, users in this group can use FTP to login. This will override a false value of `ftp_permission` on the user level.
21
22
  "sftp_permission": None, # boolean - If true, users in this group can use SFTP to login. This will override a false value of `sftp_permission` on the user level.
22
23
  "dav_permission": None, # boolean - If true, users in this group can use WebDAV to login. This will override a false value of `dav_permission` on the user level.
@@ -51,6 +52,7 @@ class Group:
51
52
  # notes - string - Group notes.
52
53
  # user_ids - string - A list of user ids. If sent as a string, should be comma-delimited.
53
54
  # admin_ids - string - A list of group admin user ids. If sent as a string, should be comma-delimited.
55
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.
54
56
  # ftp_permission - boolean - If true, users in this group can use FTP to login. This will override a false value of `ftp_permission` on the user level.
55
57
  # sftp_permission - boolean - If true, users in this group can use SFTP to login. This will override a false value of `sftp_permission` on the user level.
56
58
  # dav_permission - boolean - If true, users in this group can use WebDAV to login. This will override a false value of `dav_permission` on the user level.
@@ -80,6 +82,12 @@ class Group:
80
82
  raise InvalidParameterError(
81
83
  "Bad parameter: admin_ids must be an str"
82
84
  )
85
+ if "ai_assistant_personality_id" in params and not isinstance(
86
+ params["ai_assistant_personality_id"], int
87
+ ):
88
+ raise InvalidParameterError(
89
+ "Bad parameter: ai_assistant_personality_id must be an int"
90
+ )
83
91
  if "desktop_configuration_profile_id" in params and not isinstance(
84
92
  params["desktop_configuration_profile_id"], int
85
93
  ):
@@ -203,6 +211,7 @@ def get(id, params=None, options=None):
203
211
  # notes - string - Group notes.
204
212
  # user_ids - string - A list of user ids. If sent as a string, should be comma-delimited.
205
213
  # admin_ids - string - A list of group admin user ids. If sent as a string, should be comma-delimited.
214
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.
206
215
  # ftp_permission - boolean - If true, users in this group can use FTP to login. This will override a false value of `ftp_permission` on the user level.
207
216
  # sftp_permission - boolean - If true, users in this group can use SFTP to login. This will override a false value of `sftp_permission` on the user level.
208
217
  # dav_permission - boolean - If true, users in this group can use WebDAV to login. This will override a false value of `dav_permission` on the user level.
@@ -222,6 +231,12 @@ def create(params=None, options=None):
222
231
  raise InvalidParameterError("Bad parameter: user_ids must be an str")
223
232
  if "admin_ids" in params and not isinstance(params["admin_ids"], str):
224
233
  raise InvalidParameterError("Bad parameter: admin_ids must be an str")
234
+ if "ai_assistant_personality_id" in params and not isinstance(
235
+ params["ai_assistant_personality_id"], int
236
+ ):
237
+ raise InvalidParameterError(
238
+ "Bad parameter: ai_assistant_personality_id must be an int"
239
+ )
225
240
  if "ftp_permission" in params and not isinstance(
226
241
  params["ftp_permission"], bool
227
242
  ):
@@ -274,6 +289,7 @@ def create(params=None, options=None):
274
289
  # notes - string - Group notes.
275
290
  # user_ids - string - A list of user ids. If sent as a string, should be comma-delimited.
276
291
  # admin_ids - string - A list of group admin user ids. If sent as a string, should be comma-delimited.
292
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.
277
293
  # ftp_permission - boolean - If true, users in this group can use FTP to login. This will override a false value of `ftp_permission` on the user level.
278
294
  # sftp_permission - boolean - If true, users in this group can use SFTP to login. This will override a false value of `sftp_permission` on the user level.
279
295
  # dav_permission - boolean - If true, users in this group can use WebDAV to login. This will override a false value of `dav_permission` on the user level.
@@ -295,6 +311,12 @@ def update(id, params=None, options=None):
295
311
  raise InvalidParameterError("Bad parameter: user_ids must be an str")
296
312
  if "admin_ids" in params and not isinstance(params["admin_ids"], str):
297
313
  raise InvalidParameterError("Bad parameter: admin_ids must be an str")
314
+ if "ai_assistant_personality_id" in params and not isinstance(
315
+ params["ai_assistant_personality_id"], int
316
+ ):
317
+ raise InvalidParameterError(
318
+ "Bad parameter: ai_assistant_personality_id must be an int"
319
+ )
298
320
  if "ftp_permission" in params and not isinstance(
299
321
  params["ftp_permission"], bool
300
322
  ):
@@ -17,6 +17,7 @@ class Partner:
17
17
  "allow_user_creation": None, # boolean - Allow Partner Admins to create users.
18
18
  "cc_emails_to_responsible_party": None, # boolean - When `true`, emails sent to Partner users are copied to the responsible User or Group.
19
19
  "id": None, # int64 - The unique ID of the Partner.
20
+ "ai_assistant_personality_id": None, # int64 - AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.
20
21
  "workspace_id": None, # int64 - ID of the Workspace associated with this Partner.
21
22
  "name": None, # string - The name of the Partner.
22
23
  "notes": None, # string - Notes about this Partner.
@@ -51,6 +52,7 @@ class Partner:
51
52
  return attrs
52
53
 
53
54
  # Parameters:
55
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.
54
56
  # allowed_ips - string - A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.
55
57
  # allow_bypassing_2fa_policies - boolean - Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.
56
58
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
@@ -75,6 +77,12 @@ class Partner:
75
77
  raise MissingParameterError("Parameter missing: id")
76
78
  if "id" in params and not isinstance(params["id"], int):
77
79
  raise InvalidParameterError("Bad parameter: id must be an int")
80
+ if "ai_assistant_personality_id" in params and not isinstance(
81
+ params["ai_assistant_personality_id"], int
82
+ ):
83
+ raise InvalidParameterError(
84
+ "Bad parameter: ai_assistant_personality_id must be an int"
85
+ )
78
86
  if "allowed_ips" in params and not isinstance(
79
87
  params["allowed_ips"], str
80
88
  ):
@@ -194,6 +202,7 @@ def get(id, params=None, options=None):
194
202
 
195
203
 
196
204
  # Parameters:
205
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.
197
206
  # allowed_ips - string - A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.
198
207
  # allow_bypassing_2fa_policies - boolean - Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.
199
208
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
@@ -212,6 +221,12 @@ def create(params=None, options=None):
212
221
  params = {}
213
222
  if not isinstance(options, dict):
214
223
  options = {}
224
+ if "ai_assistant_personality_id" in params and not isinstance(
225
+ params["ai_assistant_personality_id"], int
226
+ ):
227
+ raise InvalidParameterError(
228
+ "Bad parameter: ai_assistant_personality_id must be an int"
229
+ )
215
230
  if "allowed_ips" in params and not isinstance(params["allowed_ips"], str):
216
231
  raise InvalidParameterError(
217
232
  "Bad parameter: allowed_ips must be an str"
@@ -283,6 +298,7 @@ def create(params=None, options=None):
283
298
 
284
299
 
285
300
  # Parameters:
301
+ # ai_assistant_personality_id - int64 - AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.
286
302
  # allowed_ips - string - A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.
287
303
  # allow_bypassing_2fa_policies - boolean - Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.
288
304
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
@@ -303,6 +319,12 @@ def update(id, params=None, options=None):
303
319
  params["id"] = id
304
320
  if "id" in params and not isinstance(params["id"], int):
305
321
  raise InvalidParameterError("Bad parameter: id must be an int")
322
+ if "ai_assistant_personality_id" in params and not isinstance(
323
+ params["ai_assistant_personality_id"], int
324
+ ):
325
+ raise InvalidParameterError(
326
+ "Bad parameter: ai_assistant_personality_id must be an int"
327
+ )
306
328
  if "allowed_ips" in params and not isinstance(params["allowed_ips"], str):
307
329
  raise InvalidParameterError(
308
330
  "Bad parameter: allowed_ips must be an str"