Files.com 1.6.404__tar.gz → 1.6.405__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_com-1.6.404/files_com.egg-info → files_com-1.6.405}/PKG-INFO +2 -1
- {files_com-1.6.404 → files_com-1.6.405}/README.md +1 -0
- files_com-1.6.405/_VERSION +1 -0
- {files_com-1.6.404 → files_com-1.6.405/files_com.egg-info}/PKG-INFO +2 -1
- {files_com-1.6.404 → files_com-1.6.405}/files_com.egg-info/SOURCES.txt +2 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/__init__.py +3 -1
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/error.py +15 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/__init__.py +1 -0
- files_com-1.6.405/files_sdk/models/ai_task.py +477 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/chat_session.py +4 -0
- {files_com-1.6.404 → files_com-1.6.405}/pyproject.toml +1 -1
- files_com-1.6.405/tests/test_ai_task.py +85 -0
- files_com-1.6.404/_VERSION +0 -1
- {files_com-1.6.404 → files_com-1.6.405}/LICENSE +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_com.egg-info/dependency_links.txt +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_com.egg-info/requires.txt +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_com.egg-info/top_level.txt +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/api.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/api_client.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/list_obj.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/account_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/action_notification_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/action_notification_export_result.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/agent_push_update.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/api_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/api_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/app.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/as2_incoming_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/as2_outgoing_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/as2_partner.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/as2_station.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/auto.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/automation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/automation_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/automation_run.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bandwidth_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/behavior.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_download.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_notification.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_path.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_recipient.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/bundle_registration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/chat_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/child_site_management_policy.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/clickwrap.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/custom_domain.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/desktop_configuration_profile.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/dns_record.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/email_incoming_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/email_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/errors.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/event_channel.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/event_delivery_attempt.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/event_record.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/event_subscription.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/event_target.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/exavault_api_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/expectation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/expectation_evaluation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/expectation_incident.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/external_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_comment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_comment_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_migration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_migration_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/file_upload_part.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/folder.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/form_field.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/form_field_set.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/ftp_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/gpg_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/group.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/group_user.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/history.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/history_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/history_export_result.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/holiday_region.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/image.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/inbound_s3_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/inbox_recipient.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/inbox_registration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/inbox_upload.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/invoice.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/invoice_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/ip_address.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/key_lifecycle_rule.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/lock.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/message_comment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/message_comment_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/message_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/metadata_category.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/notification.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/outbound_connection_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/partner.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/partner_channel.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/partner_site.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/partner_site_request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/payment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/payment_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/pending_work_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/permission.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/preview.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/project.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/public_hosting_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/public_ip_address.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/public_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/remote_mount_backend.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/remote_server.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/remote_server_configuration_file.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/remote_server_credential.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/restore.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/scheduled_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/scim_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/session.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/settings_change.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sftp_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sftp_host_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/share_group.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/share_group_member.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/siem_http_destination.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/siem_http_destination_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/site.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/site_subdomain_redirect.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sso_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sso_strategy.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/status.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/style.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sync.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sync_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sync_run.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/sync_run_live_transfer.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/usage_by_top_level_dir.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/usage_daily_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/usage_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user_cipher_use.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user_lifecycle_rule.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user_request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user_security_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/user_sftp_client_use.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/web_dav_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/webhook_test.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/workspace.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/models/zip_list_entry.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/path_util.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/files_sdk/util.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/setup.cfg +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_account_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_action_notification_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_action_notification_export_result.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_agent_push_update.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_api_errors.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_api_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_api_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_app.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_as2_incoming_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_as2_outgoing_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_as2_partner.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_as2_station.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_auto.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_automation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_automation_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_automation_run.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bandwidth_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_behavior.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_download.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_notification.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_path.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_recipient.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_bundle_registration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_chat_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_chat_session.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_child_site_management_policy.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_clickwrap.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_connection_adapter.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_custom_domain.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_decimal_contract.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_desktop_configuration_profile.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_dns_record.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_email_incoming_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_email_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_errors.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_event_channel.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_event_delivery_attempt.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_event_record.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_event_subscription.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_event_target.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_exavault_api_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_expectation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_expectation_evaluation.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_expectation_incident.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_external_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_action.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_comment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_comment_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_migration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_migration_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_file_upload_part.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_folder.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_form_field.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_form_field_set.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_ftp_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_gpg_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_group.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_group_user.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_history.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_history_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_history_export_result.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_holiday_region.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_image.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_inbound_s3_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_inbox_recipient.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_inbox_registration.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_inbox_upload.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_invoice.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_invoice_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_ip_address.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_key_lifecycle_rule.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_lock.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_message.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_message_comment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_message_comment_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_message_reaction.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_metadata_category.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_notification.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_outbound_connection_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_partner.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_partner_channel.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_partner_site.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_partner_site_request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_path_util.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_payment.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_payment_line_item.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_pending_work_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_permission.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_preview.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_project.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_public_hosting_request_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_public_ip_address.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_public_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_remote_mount_backend.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_remote_server.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_remote_server_configuration_file.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_remote_server_credential.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_restore.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_scheduled_export.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_scim_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_session.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_settings_change.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sftp_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sftp_host_key.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_share_group.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_share_group_member.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_siem_http_destination.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_siem_http_destination_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_site.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_site_subdomain_redirect.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sso_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sso_strategy.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_status.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_style.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sync.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sync_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sync_run.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_sync_run_live_transfer.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_usage_by_top_level_dir.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_usage_daily_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_usage_snapshot.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user_cipher_use.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user_lifecycle_rule.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user_request.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user_security_event.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_user_sftp_client_use.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_web_dav_action_log.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_webhook_test.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_workspace.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/tests/test_workspace_id.py +0 -0
- {files_com-1.6.404 → files_com-1.6.405}/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.
|
|
3
|
+
Version: 1.6.405
|
|
4
4
|
Summary: Python bindings for the Files.com API
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.5
|
|
@@ -668,6 +668,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
|
|
|
668
668
|
|`SiteNotFoundError`| `NotFoundError` |
|
|
669
669
|
|`UserNotFoundError`| `NotFoundError` |
|
|
670
670
|
|`AgentUnavailableError`| `ProcessingFailureError` |
|
|
671
|
+
|`AiTaskCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
671
672
|
|`AlreadyCompletedError`| `ProcessingFailureError` |
|
|
672
673
|
|`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
673
674
|
|`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
|
|
@@ -656,6 +656,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
|
|
|
656
656
|
|`SiteNotFoundError`| `NotFoundError` |
|
|
657
657
|
|`UserNotFoundError`| `NotFoundError` |
|
|
658
658
|
|`AgentUnavailableError`| `ProcessingFailureError` |
|
|
659
|
+
|`AiTaskCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
659
660
|
|`AlreadyCompletedError`| `ProcessingFailureError` |
|
|
660
661
|
|`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
661
662
|
|`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.405
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: files_com
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.405
|
|
4
4
|
Summary: Python bindings for the Files.com API
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.5
|
|
@@ -668,6 +668,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
|
|
|
668
668
|
|`SiteNotFoundError`| `NotFoundError` |
|
|
669
669
|
|`UserNotFoundError`| `NotFoundError` |
|
|
670
670
|
|`AgentUnavailableError`| `ProcessingFailureError` |
|
|
671
|
+
|`AiTaskCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
671
672
|
|`AlreadyCompletedError`| `ProcessingFailureError` |
|
|
672
673
|
|`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
|
|
673
674
|
|`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
|
|
@@ -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_task.py
|
|
25
26
|
files_sdk/models/api_key.py
|
|
26
27
|
files_sdk/models/api_request_log.py
|
|
27
28
|
files_sdk/models/app.py
|
|
@@ -157,6 +158,7 @@ tests/test_action_log.py
|
|
|
157
158
|
tests/test_action_notification_export.py
|
|
158
159
|
tests/test_action_notification_export_result.py
|
|
159
160
|
tests/test_agent_push_update.py
|
|
161
|
+
tests/test_ai_task.py
|
|
160
162
|
tests/test_api_errors.py
|
|
161
163
|
tests/test_api_key.py
|
|
162
164
|
tests/test_api_request_log.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_task as ai_task
|
|
8
9
|
import files_sdk.models.api_key as api_key
|
|
9
10
|
import files_sdk.models.api_request_log as api_request_log
|
|
10
11
|
import files_sdk.models.app as app
|
|
@@ -145,6 +146,7 @@ from files_sdk.models.action_notification_export_result import (
|
|
|
145
146
|
ActionNotificationExportResult,
|
|
146
147
|
)
|
|
147
148
|
from files_sdk.models.agent_push_update import AgentPushUpdate
|
|
149
|
+
from files_sdk.models.ai_task import AiTask
|
|
148
150
|
from files_sdk.models.api_key import ApiKey
|
|
149
151
|
from files_sdk.models.api_request_log import ApiRequestLog
|
|
150
152
|
from files_sdk.models.app import App
|
|
@@ -294,7 +296,7 @@ source_ip = None
|
|
|
294
296
|
workspace_id = None
|
|
295
297
|
base_url = "https://app.files.com"
|
|
296
298
|
base_path = "api/rest/v1"
|
|
297
|
-
version = "1.6.
|
|
299
|
+
version = "1.6.405"
|
|
298
300
|
|
|
299
301
|
__version__ = version
|
|
300
302
|
|
|
@@ -2098,6 +2098,21 @@ class AgentUnavailableError(ProcessingFailureError):
|
|
|
2098
2098
|
)
|
|
2099
2099
|
|
|
2100
2100
|
|
|
2101
|
+
class AiTaskCannotBeRunManuallyError(ProcessingFailureError):
|
|
2102
|
+
def __init__(
|
|
2103
|
+
self,
|
|
2104
|
+
message=None,
|
|
2105
|
+
http_body=None,
|
|
2106
|
+
http_status=None,
|
|
2107
|
+
json_body=None,
|
|
2108
|
+
headers=None,
|
|
2109
|
+
code=None,
|
|
2110
|
+
):
|
|
2111
|
+
super().__init__(
|
|
2112
|
+
message, http_body, http_status, json_body, headers, code
|
|
2113
|
+
)
|
|
2114
|
+
|
|
2115
|
+
|
|
2101
2116
|
class AlreadyCompletedError(ProcessingFailureError):
|
|
2102
2117
|
def __init__(
|
|
2103
2118
|
self,
|
|
@@ -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_task import AiTask
|
|
11
12
|
from files_sdk.models.api_key import ApiKey
|
|
12
13
|
from files_sdk.models.api_request_log import ApiRequestLog
|
|
13
14
|
from files_sdk.models.app import App
|
|
@@ -0,0 +1,477 @@
|
|
|
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 AiTask:
|
|
12
|
+
default_attributes = {
|
|
13
|
+
"id": None, # int64 - AI Task ID.
|
|
14
|
+
"workspace_id": None, # int64 - Workspace ID. `0` means the default workspace.
|
|
15
|
+
"name": None, # string - AI Task name.
|
|
16
|
+
"description": None, # string - AI Task description.
|
|
17
|
+
"prompt": None, # string - Prompt sent when this AI Task is invoked.
|
|
18
|
+
"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
|
+
"source": None, # string - Source glob used with `path` for action-triggered AI Tasks.
|
|
20
|
+
"disabled": None, # boolean - If true, this AI Task will not run.
|
|
21
|
+
"trigger": None, # string - How this AI Task is triggered.
|
|
22
|
+
"trigger_actions": None, # array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
|
|
23
|
+
"interval": None, # string - If trigger is `daily`, this specifies how often to run the AI Task.
|
|
24
|
+
"recurring_day": None, # int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
|
|
25
|
+
"schedule_days_of_week": None, # array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
|
|
26
|
+
"schedule_times_of_day": None, # array(string) - Times of day in HH:MM format for scheduled AI Tasks.
|
|
27
|
+
"schedule_time_zone": None, # string - Time zone used by the AI Task schedule.
|
|
28
|
+
"holiday_region": None, # string - Optional holiday region used by scheduled AI Tasks.
|
|
29
|
+
"human_readable_schedule": None, # string - Human-readable schedule description.
|
|
30
|
+
"last_run_at": None, # date-time - Most recent successful invocation time.
|
|
31
|
+
"master_admin_user_id": None, # int64 - Master User ID used for AI Task invocations.
|
|
32
|
+
"created_at": None, # date-time - Creation time.
|
|
33
|
+
"updated_at": None, # date-time - Last update time.
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
def __init__(self, attributes=None, options=None):
|
|
37
|
+
if not isinstance(attributes, dict):
|
|
38
|
+
attributes = {}
|
|
39
|
+
if not isinstance(options, dict):
|
|
40
|
+
options = {}
|
|
41
|
+
self.set_attributes(attributes)
|
|
42
|
+
self.options = options
|
|
43
|
+
|
|
44
|
+
def set_attributes(self, attributes):
|
|
45
|
+
for attribute, default_value in AiTask.default_attributes.items():
|
|
46
|
+
value = attributes.get(attribute, default_value)
|
|
47
|
+
setattr(self, attribute, value)
|
|
48
|
+
|
|
49
|
+
def get_attributes(self):
|
|
50
|
+
attrs = {
|
|
51
|
+
k: getattr(self, k, None)
|
|
52
|
+
for k in AiTask.default_attributes
|
|
53
|
+
if getattr(self, k, None) is not None
|
|
54
|
+
}
|
|
55
|
+
return attrs
|
|
56
|
+
|
|
57
|
+
# Manually Run AI Task
|
|
58
|
+
def manual_run(self, params=None):
|
|
59
|
+
if not isinstance(params, dict):
|
|
60
|
+
params = {}
|
|
61
|
+
|
|
62
|
+
if hasattr(self, "id") and self.id:
|
|
63
|
+
params["id"] = self.id
|
|
64
|
+
else:
|
|
65
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
66
|
+
if "id" not in params:
|
|
67
|
+
raise MissingParameterError("Parameter missing: id")
|
|
68
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
69
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
70
|
+
Api.send_request(
|
|
71
|
+
"POST",
|
|
72
|
+
"/ai_tasks/{id}/manual_run".format(id=params["id"]),
|
|
73
|
+
params,
|
|
74
|
+
self.options,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
# Parameters:
|
|
78
|
+
# description - string - AI Task description.
|
|
79
|
+
# disabled - boolean - If true, this AI Task will not run.
|
|
80
|
+
# holiday_region - string - Optional holiday region used by scheduled AI Tasks.
|
|
81
|
+
# interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
|
|
82
|
+
# name - string - AI Task name.
|
|
83
|
+
# path - string - Path scope used for action-triggered AI Tasks.
|
|
84
|
+
# prompt - string - Prompt sent when this AI Task is invoked.
|
|
85
|
+
# recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
|
|
86
|
+
# schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
|
|
87
|
+
# schedule_time_zone - string - Time zone used by the AI Task schedule.
|
|
88
|
+
# schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
|
|
89
|
+
# source - string - Source glob used with `path` for action-triggered AI Tasks.
|
|
90
|
+
# trigger - string - How this AI Task is triggered.
|
|
91
|
+
# trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
|
|
92
|
+
# workspace_id - int64 - Workspace ID. `0` means the default workspace.
|
|
93
|
+
def update(self, params=None):
|
|
94
|
+
if not isinstance(params, dict):
|
|
95
|
+
params = {}
|
|
96
|
+
|
|
97
|
+
if hasattr(self, "id") and self.id:
|
|
98
|
+
params["id"] = self.id
|
|
99
|
+
else:
|
|
100
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
101
|
+
if "id" not in params:
|
|
102
|
+
raise MissingParameterError("Parameter missing: id")
|
|
103
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
104
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
105
|
+
if "description" in params and not isinstance(
|
|
106
|
+
params["description"], str
|
|
107
|
+
):
|
|
108
|
+
raise InvalidParameterError(
|
|
109
|
+
"Bad parameter: description must be an str"
|
|
110
|
+
)
|
|
111
|
+
if "holiday_region" in params and not isinstance(
|
|
112
|
+
params["holiday_region"], str
|
|
113
|
+
):
|
|
114
|
+
raise InvalidParameterError(
|
|
115
|
+
"Bad parameter: holiday_region must be an str"
|
|
116
|
+
)
|
|
117
|
+
if "interval" in params and not isinstance(params["interval"], str):
|
|
118
|
+
raise InvalidParameterError(
|
|
119
|
+
"Bad parameter: interval must be an str"
|
|
120
|
+
)
|
|
121
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
122
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
123
|
+
if "path" in params and not isinstance(params["path"], str):
|
|
124
|
+
raise InvalidParameterError("Bad parameter: path must be an str")
|
|
125
|
+
if "prompt" in params and not isinstance(params["prompt"], str):
|
|
126
|
+
raise InvalidParameterError("Bad parameter: prompt must be an str")
|
|
127
|
+
if "recurring_day" in params and not isinstance(
|
|
128
|
+
params["recurring_day"], int
|
|
129
|
+
):
|
|
130
|
+
raise InvalidParameterError(
|
|
131
|
+
"Bad parameter: recurring_day must be an int"
|
|
132
|
+
)
|
|
133
|
+
if "schedule_days_of_week" in params and not isinstance(
|
|
134
|
+
params["schedule_days_of_week"], builtins.list
|
|
135
|
+
):
|
|
136
|
+
raise InvalidParameterError(
|
|
137
|
+
"Bad parameter: schedule_days_of_week must be an list"
|
|
138
|
+
)
|
|
139
|
+
if "schedule_time_zone" in params and not isinstance(
|
|
140
|
+
params["schedule_time_zone"], str
|
|
141
|
+
):
|
|
142
|
+
raise InvalidParameterError(
|
|
143
|
+
"Bad parameter: schedule_time_zone must be an str"
|
|
144
|
+
)
|
|
145
|
+
if "schedule_times_of_day" in params and not isinstance(
|
|
146
|
+
params["schedule_times_of_day"], builtins.list
|
|
147
|
+
):
|
|
148
|
+
raise InvalidParameterError(
|
|
149
|
+
"Bad parameter: schedule_times_of_day must be an list"
|
|
150
|
+
)
|
|
151
|
+
if "source" in params and not isinstance(params["source"], str):
|
|
152
|
+
raise InvalidParameterError("Bad parameter: source must be an str")
|
|
153
|
+
if "trigger" in params and not isinstance(params["trigger"], str):
|
|
154
|
+
raise InvalidParameterError(
|
|
155
|
+
"Bad parameter: trigger must be an str"
|
|
156
|
+
)
|
|
157
|
+
if "trigger_actions" in params and not isinstance(
|
|
158
|
+
params["trigger_actions"], builtins.list
|
|
159
|
+
):
|
|
160
|
+
raise InvalidParameterError(
|
|
161
|
+
"Bad parameter: trigger_actions must be an list"
|
|
162
|
+
)
|
|
163
|
+
if "workspace_id" in params and not isinstance(
|
|
164
|
+
params["workspace_id"], int
|
|
165
|
+
):
|
|
166
|
+
raise InvalidParameterError(
|
|
167
|
+
"Bad parameter: workspace_id must be an int"
|
|
168
|
+
)
|
|
169
|
+
response, _options = Api.send_request(
|
|
170
|
+
"PATCH",
|
|
171
|
+
"/ai_tasks/{id}".format(id=params["id"]),
|
|
172
|
+
params,
|
|
173
|
+
self.options,
|
|
174
|
+
)
|
|
175
|
+
return response.data
|
|
176
|
+
|
|
177
|
+
def delete(self, params=None):
|
|
178
|
+
if not isinstance(params, dict):
|
|
179
|
+
params = {}
|
|
180
|
+
|
|
181
|
+
if hasattr(self, "id") and self.id:
|
|
182
|
+
params["id"] = self.id
|
|
183
|
+
else:
|
|
184
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
185
|
+
if "id" not in params:
|
|
186
|
+
raise MissingParameterError("Parameter missing: id")
|
|
187
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
188
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
189
|
+
Api.send_request(
|
|
190
|
+
"DELETE",
|
|
191
|
+
"/ai_tasks/{id}".format(id=params["id"]),
|
|
192
|
+
params,
|
|
193
|
+
self.options,
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
def destroy(self, params=None):
|
|
197
|
+
self.delete(params)
|
|
198
|
+
|
|
199
|
+
def save(self):
|
|
200
|
+
if hasattr(self, "id") and self.id:
|
|
201
|
+
new_obj = self.update(self.get_attributes())
|
|
202
|
+
self.set_attributes(new_obj.get_attributes())
|
|
203
|
+
return True
|
|
204
|
+
else:
|
|
205
|
+
new_obj = create(self.get_attributes(), self.options)
|
|
206
|
+
self.set_attributes(new_obj.get_attributes())
|
|
207
|
+
return True
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
# Parameters:
|
|
211
|
+
# 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.
|
|
212
|
+
# per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
|
|
213
|
+
# sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `id`, `disabled` or `updated_at`.
|
|
214
|
+
# filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `trigger` or `workspace_id`. Valid field combinations are `[ workspace_id, disabled ]`.
|
|
215
|
+
def list(params=None, options=None):
|
|
216
|
+
if not isinstance(params, dict):
|
|
217
|
+
params = {}
|
|
218
|
+
if not isinstance(options, dict):
|
|
219
|
+
options = {}
|
|
220
|
+
if "cursor" in params and not isinstance(params["cursor"], str):
|
|
221
|
+
raise InvalidParameterError("Bad parameter: cursor must be an str")
|
|
222
|
+
if "per_page" in params and not isinstance(params["per_page"], int):
|
|
223
|
+
raise InvalidParameterError("Bad parameter: per_page must be an int")
|
|
224
|
+
if "sort_by" in params and not isinstance(params["sort_by"], dict):
|
|
225
|
+
raise InvalidParameterError("Bad parameter: sort_by must be an dict")
|
|
226
|
+
if "filter" in params and not isinstance(params["filter"], dict):
|
|
227
|
+
raise InvalidParameterError("Bad parameter: filter must be an dict")
|
|
228
|
+
return ListObj(AiTask, "GET", "/ai_tasks", params, options)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
def all(params=None, options=None):
|
|
232
|
+
list(params, options)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
# Parameters:
|
|
236
|
+
# id (required) - int64 - Ai Task ID.
|
|
237
|
+
def find(id, params=None, options=None):
|
|
238
|
+
if not isinstance(params, dict):
|
|
239
|
+
params = {}
|
|
240
|
+
if not isinstance(options, dict):
|
|
241
|
+
options = {}
|
|
242
|
+
params["id"] = id
|
|
243
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
244
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
245
|
+
if "id" not in params:
|
|
246
|
+
raise MissingParameterError("Parameter missing: id")
|
|
247
|
+
response, options = Api.send_request(
|
|
248
|
+
"GET", "/ai_tasks/{id}".format(id=params["id"]), params, options
|
|
249
|
+
)
|
|
250
|
+
return AiTask(response.data, options)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def get(id, params=None, options=None):
|
|
254
|
+
find(id, params, options)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
# Parameters:
|
|
258
|
+
# description - string - AI Task description.
|
|
259
|
+
# disabled - boolean - If true, this AI Task will not run.
|
|
260
|
+
# holiday_region - string - Optional holiday region used by scheduled AI Tasks.
|
|
261
|
+
# interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
|
|
262
|
+
# name (required) - string - AI Task name.
|
|
263
|
+
# path - string - Path scope used for action-triggered AI Tasks.
|
|
264
|
+
# prompt (required) - string - Prompt sent when this AI Task is invoked.
|
|
265
|
+
# recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
|
|
266
|
+
# schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
|
|
267
|
+
# schedule_time_zone - string - Time zone used by the AI Task schedule.
|
|
268
|
+
# schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
|
|
269
|
+
# source - string - Source glob used with `path` for action-triggered AI Tasks.
|
|
270
|
+
# trigger - string - How this AI Task is triggered.
|
|
271
|
+
# trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
|
|
272
|
+
# workspace_id - int64 - Workspace ID. `0` means the default workspace.
|
|
273
|
+
def create(params=None, options=None):
|
|
274
|
+
if not isinstance(params, dict):
|
|
275
|
+
params = {}
|
|
276
|
+
if not isinstance(options, dict):
|
|
277
|
+
options = {}
|
|
278
|
+
if "description" in params and not isinstance(params["description"], str):
|
|
279
|
+
raise InvalidParameterError(
|
|
280
|
+
"Bad parameter: description must be an str"
|
|
281
|
+
)
|
|
282
|
+
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
283
|
+
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
284
|
+
if "holiday_region" in params and not isinstance(
|
|
285
|
+
params["holiday_region"], str
|
|
286
|
+
):
|
|
287
|
+
raise InvalidParameterError(
|
|
288
|
+
"Bad parameter: holiday_region must be an str"
|
|
289
|
+
)
|
|
290
|
+
if "interval" in params and not isinstance(params["interval"], str):
|
|
291
|
+
raise InvalidParameterError("Bad parameter: interval must be an str")
|
|
292
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
293
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
294
|
+
if "path" in params and not isinstance(params["path"], str):
|
|
295
|
+
raise InvalidParameterError("Bad parameter: path must be an str")
|
|
296
|
+
if "prompt" in params and not isinstance(params["prompt"], str):
|
|
297
|
+
raise InvalidParameterError("Bad parameter: prompt must be an str")
|
|
298
|
+
if "recurring_day" in params and not isinstance(
|
|
299
|
+
params["recurring_day"], int
|
|
300
|
+
):
|
|
301
|
+
raise InvalidParameterError(
|
|
302
|
+
"Bad parameter: recurring_day must be an int"
|
|
303
|
+
)
|
|
304
|
+
if "schedule_days_of_week" in params and not isinstance(
|
|
305
|
+
params["schedule_days_of_week"], builtins.list
|
|
306
|
+
):
|
|
307
|
+
raise InvalidParameterError(
|
|
308
|
+
"Bad parameter: schedule_days_of_week must be an list"
|
|
309
|
+
)
|
|
310
|
+
if "schedule_time_zone" in params and not isinstance(
|
|
311
|
+
params["schedule_time_zone"], str
|
|
312
|
+
):
|
|
313
|
+
raise InvalidParameterError(
|
|
314
|
+
"Bad parameter: schedule_time_zone must be an str"
|
|
315
|
+
)
|
|
316
|
+
if "schedule_times_of_day" in params and not isinstance(
|
|
317
|
+
params["schedule_times_of_day"], builtins.list
|
|
318
|
+
):
|
|
319
|
+
raise InvalidParameterError(
|
|
320
|
+
"Bad parameter: schedule_times_of_day must be an list"
|
|
321
|
+
)
|
|
322
|
+
if "source" in params and not isinstance(params["source"], str):
|
|
323
|
+
raise InvalidParameterError("Bad parameter: source must be an str")
|
|
324
|
+
if "trigger" in params and not isinstance(params["trigger"], str):
|
|
325
|
+
raise InvalidParameterError("Bad parameter: trigger must be an str")
|
|
326
|
+
if "trigger_actions" in params and not isinstance(
|
|
327
|
+
params["trigger_actions"], builtins.list
|
|
328
|
+
):
|
|
329
|
+
raise InvalidParameterError(
|
|
330
|
+
"Bad parameter: trigger_actions must be an list"
|
|
331
|
+
)
|
|
332
|
+
if "workspace_id" in params and not isinstance(
|
|
333
|
+
params["workspace_id"], int
|
|
334
|
+
):
|
|
335
|
+
raise InvalidParameterError(
|
|
336
|
+
"Bad parameter: workspace_id must be an int"
|
|
337
|
+
)
|
|
338
|
+
if "name" not in params:
|
|
339
|
+
raise MissingParameterError("Parameter missing: name")
|
|
340
|
+
if "prompt" not in params:
|
|
341
|
+
raise MissingParameterError("Parameter missing: prompt")
|
|
342
|
+
response, options = Api.send_request("POST", "/ai_tasks", params, options)
|
|
343
|
+
return AiTask(response.data, options)
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
# Manually Run AI Task
|
|
347
|
+
def manual_run(id, params=None, options=None):
|
|
348
|
+
if not isinstance(params, dict):
|
|
349
|
+
params = {}
|
|
350
|
+
if not isinstance(options, dict):
|
|
351
|
+
options = {}
|
|
352
|
+
params["id"] = id
|
|
353
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
354
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
355
|
+
if "id" not in params:
|
|
356
|
+
raise MissingParameterError("Parameter missing: id")
|
|
357
|
+
Api.send_request(
|
|
358
|
+
"POST",
|
|
359
|
+
"/ai_tasks/{id}/manual_run".format(id=params["id"]),
|
|
360
|
+
params,
|
|
361
|
+
options,
|
|
362
|
+
)
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
# Parameters:
|
|
366
|
+
# description - string - AI Task description.
|
|
367
|
+
# disabled - boolean - If true, this AI Task will not run.
|
|
368
|
+
# holiday_region - string - Optional holiday region used by scheduled AI Tasks.
|
|
369
|
+
# interval - string - If trigger is `daily`, this specifies how often to run the AI Task.
|
|
370
|
+
# name - string - AI Task name.
|
|
371
|
+
# path - string - Path scope used for action-triggered AI Tasks.
|
|
372
|
+
# prompt - string - Prompt sent when this AI Task is invoked.
|
|
373
|
+
# recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
|
|
374
|
+
# schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
|
|
375
|
+
# schedule_time_zone - string - Time zone used by the AI Task schedule.
|
|
376
|
+
# schedule_times_of_day - array(string) - Times of day in HH:MM format for scheduled AI Tasks.
|
|
377
|
+
# source - string - Source glob used with `path` for action-triggered AI Tasks.
|
|
378
|
+
# trigger - string - How this AI Task is triggered.
|
|
379
|
+
# trigger_actions - array(string) - If trigger is `action`, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.
|
|
380
|
+
# workspace_id - int64 - Workspace ID. `0` means the default workspace.
|
|
381
|
+
def update(id, params=None, options=None):
|
|
382
|
+
if not isinstance(params, dict):
|
|
383
|
+
params = {}
|
|
384
|
+
if not isinstance(options, dict):
|
|
385
|
+
options = {}
|
|
386
|
+
params["id"] = id
|
|
387
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
388
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
389
|
+
if "description" in params and not isinstance(params["description"], str):
|
|
390
|
+
raise InvalidParameterError(
|
|
391
|
+
"Bad parameter: description must be an str"
|
|
392
|
+
)
|
|
393
|
+
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
394
|
+
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
395
|
+
if "holiday_region" in params and not isinstance(
|
|
396
|
+
params["holiday_region"], str
|
|
397
|
+
):
|
|
398
|
+
raise InvalidParameterError(
|
|
399
|
+
"Bad parameter: holiday_region must be an str"
|
|
400
|
+
)
|
|
401
|
+
if "interval" in params and not isinstance(params["interval"], str):
|
|
402
|
+
raise InvalidParameterError("Bad parameter: interval must be an str")
|
|
403
|
+
if "name" in params and not isinstance(params["name"], str):
|
|
404
|
+
raise InvalidParameterError("Bad parameter: name must be an str")
|
|
405
|
+
if "path" in params and not isinstance(params["path"], str):
|
|
406
|
+
raise InvalidParameterError("Bad parameter: path must be an str")
|
|
407
|
+
if "prompt" in params and not isinstance(params["prompt"], str):
|
|
408
|
+
raise InvalidParameterError("Bad parameter: prompt must be an str")
|
|
409
|
+
if "recurring_day" in params and not isinstance(
|
|
410
|
+
params["recurring_day"], int
|
|
411
|
+
):
|
|
412
|
+
raise InvalidParameterError(
|
|
413
|
+
"Bad parameter: recurring_day must be an int"
|
|
414
|
+
)
|
|
415
|
+
if "schedule_days_of_week" in params and not isinstance(
|
|
416
|
+
params["schedule_days_of_week"], builtins.list
|
|
417
|
+
):
|
|
418
|
+
raise InvalidParameterError(
|
|
419
|
+
"Bad parameter: schedule_days_of_week must be an list"
|
|
420
|
+
)
|
|
421
|
+
if "schedule_time_zone" in params and not isinstance(
|
|
422
|
+
params["schedule_time_zone"], str
|
|
423
|
+
):
|
|
424
|
+
raise InvalidParameterError(
|
|
425
|
+
"Bad parameter: schedule_time_zone must be an str"
|
|
426
|
+
)
|
|
427
|
+
if "schedule_times_of_day" in params and not isinstance(
|
|
428
|
+
params["schedule_times_of_day"], builtins.list
|
|
429
|
+
):
|
|
430
|
+
raise InvalidParameterError(
|
|
431
|
+
"Bad parameter: schedule_times_of_day must be an list"
|
|
432
|
+
)
|
|
433
|
+
if "source" in params and not isinstance(params["source"], str):
|
|
434
|
+
raise InvalidParameterError("Bad parameter: source must be an str")
|
|
435
|
+
if "trigger" in params and not isinstance(params["trigger"], str):
|
|
436
|
+
raise InvalidParameterError("Bad parameter: trigger must be an str")
|
|
437
|
+
if "trigger_actions" in params and not isinstance(
|
|
438
|
+
params["trigger_actions"], builtins.list
|
|
439
|
+
):
|
|
440
|
+
raise InvalidParameterError(
|
|
441
|
+
"Bad parameter: trigger_actions must be an list"
|
|
442
|
+
)
|
|
443
|
+
if "workspace_id" in params and not isinstance(
|
|
444
|
+
params["workspace_id"], int
|
|
445
|
+
):
|
|
446
|
+
raise InvalidParameterError(
|
|
447
|
+
"Bad parameter: workspace_id must be an int"
|
|
448
|
+
)
|
|
449
|
+
if "id" not in params:
|
|
450
|
+
raise MissingParameterError("Parameter missing: id")
|
|
451
|
+
response, options = Api.send_request(
|
|
452
|
+
"PATCH", "/ai_tasks/{id}".format(id=params["id"]), params, options
|
|
453
|
+
)
|
|
454
|
+
return AiTask(response.data, options)
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
def delete(id, params=None, options=None):
|
|
458
|
+
if not isinstance(params, dict):
|
|
459
|
+
params = {}
|
|
460
|
+
if not isinstance(options, dict):
|
|
461
|
+
options = {}
|
|
462
|
+
params["id"] = id
|
|
463
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
464
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
465
|
+
if "id" not in params:
|
|
466
|
+
raise MissingParameterError("Parameter missing: id")
|
|
467
|
+
Api.send_request(
|
|
468
|
+
"DELETE", "/ai_tasks/{id}".format(id=params["id"]), params, options
|
|
469
|
+
)
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
def destroy(id, params=None, options=None):
|
|
473
|
+
delete(id, params, options)
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
def new(*args, **kwargs):
|
|
477
|
+
return AiTask(*args, **kwargs)
|
|
@@ -12,6 +12,7 @@ class ChatSession:
|
|
|
12
12
|
default_attributes = {
|
|
13
13
|
"id": None, # string - Chat Session ID.
|
|
14
14
|
"user_id": None, # int64 - User ID.
|
|
15
|
+
"ai_task_id": None, # int64 - AI Task ID. Present when the conversation was started by an AI Task.
|
|
15
16
|
"workspace_id": None, # int64 - Workspace ID. `0` means the default workspace.
|
|
16
17
|
"last_active_at": None, # date-time - Most recent chat activity date/time.
|
|
17
18
|
"created_at": None, # date-time - Chat session creation date/time.
|
|
@@ -43,6 +44,7 @@ class ChatSession:
|
|
|
43
44
|
# Parameters:
|
|
44
45
|
# 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.
|
|
45
46
|
# per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
|
|
47
|
+
# filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `ai_task_id`.
|
|
46
48
|
def list(params=None, options=None):
|
|
47
49
|
if not isinstance(params, dict):
|
|
48
50
|
params = {}
|
|
@@ -52,6 +54,8 @@ def list(params=None, options=None):
|
|
|
52
54
|
raise InvalidParameterError("Bad parameter: cursor must be an str")
|
|
53
55
|
if "per_page" in params and not isinstance(params["per_page"], int):
|
|
54
56
|
raise InvalidParameterError("Bad parameter: per_page must be an int")
|
|
57
|
+
if "filter" in params and not isinstance(params["filter"], dict):
|
|
58
|
+
raise InvalidParameterError("Bad parameter: filter must be an dict")
|
|
55
59
|
return ListObj(ChatSession, "GET", "/chat_sessions", params, options)
|
|
56
60
|
|
|
57
61
|
|