spatialflow 0.2.0__tar.gz → 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spatialflow-2.0.0/CHANGELOG.md +112 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/PKG-INFO +10 -10
- {spatialflow-0.2.0 → spatialflow-2.0.0}/README.md +6 -6
- {spatialflow-0.2.0 → spatialflow-2.0.0}/pyproject.toml +3 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/__init__.py +8 -12
- spatialflow-2.0.0/src/spatialflow/_generated/__init__.py +1 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/__init__.py +462 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/__init__.py +6 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/account_api.py +910 -846
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/admin_api.py +14934 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/audit_logs_api.py +823 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/authentication_api.py +4620 -342
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/billing_api.py +298 -586
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/devices_api.py +11479 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/email_api.py +2574 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/geofences_api.py +7281 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/gpx_simulator_api.py +246 -66
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/integrations_api.py +638 -204
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/devices_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/operations_api.py +810 -937
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/storage_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/policies_api.py +349 -212
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/default_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/public_api.py +367 -314
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/public_location_ingest_api.py +65 -17
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/reports_api.py +2311 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/signals_api.py +738 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/email_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/storage_api.py +379 -268
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/subscriptions_api.py +148 -17
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/system_api.py +38 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/tiles_api.py +113 -12
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/public_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/trips_api.py +460 -381
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/webhooks_api.py +1017 -299
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api/workflows_api.py +2330 -562
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/admin_api.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/api/workspaces_api.py +1253 -1741
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api_client.py +11 -18
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/configuration.py +23 -27
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/exceptions.py +5 -25
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/__init__.py +422 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/accept_invite_passwordless_schema.py +89 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/accept_invite_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/action_delivery_out.py +121 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/action_delivery_success_metrics.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/action_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/action_retry_config_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/active_geofence_summary_item_out.py +95 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_geofence_request.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/active_geofence_summary_out.py +9 -9
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/activity_summary.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/admin_user_stats_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/anomaly_device_out.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/anomaly_status_out.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/api_docs_out.py +91 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/api_key_create_request.py +14 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/api_key_create_response.py +8 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/api_key_detail_schema.py +110 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/api_key_response.py +27 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/api_key_update_request.py +18 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/api_usage_stats.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/apple_full_name.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/apple_nonce_response.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/apple_token_exchange_request.py +128 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/apple_token_exchange_response.py +104 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/async_upload_geofences_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/audit_log_list_response.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/audit_log_out.py +137 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/auth_type_enum.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/autocomplete_response.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/badge_counts_out.py +96 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/batch_location_result_out.py +112 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/batch_location_update_in.py +5 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/batch_resend_in.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/batch_resend_item_out.py +121 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/batch_resend_out.py +108 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_approve_request.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_create_request.py +107 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_create_response.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_deactivate_request.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_invite_item.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_invite_request.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_item_commit.py +122 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_item_input.py +109 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_item_preview.py +177 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_operation_response.py +101 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_preview_request.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_preview_response.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_result.py +124 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/seed_data_response_schema.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/bulk_result_item.py +13 -11
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/capture_activity_list_out.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/capture_activity_out.py +107 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/category_info.py +93 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/change_password_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/checkout_session_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/checkout_session_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/circuit_breaker_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/complete_upload_response.py +93 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/config_field_definition_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/config_field_definition_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/configuration_item.py +134 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/simulation_detail_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/configuration_list_response.py +35 -32
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/configuration_reset_response.py +106 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/configuration_update_request.py +92 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/configuration_update_response.py +106 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/confirm_password_reset_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/contact_request.py +115 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/simulation_event_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/contributing_location_out.py +30 -27
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/create_from_template_in.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/create_geofence_request.py +57 -8
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/create_integration_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/create_invitation_in.py +4 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/create_webhook_request.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/current_session_out.py +104 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/dashboard_comparison_metrics.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/dashboard_metrics_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/dashboard_stats_out.py +131 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/route_track_points_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/dashboard_stats_timeline_out.py +24 -20
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/dashboard_trends_response.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/delivery_status_enum.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/details.py +144 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/detect_method_request.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/detect_method_response.py +101 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/device_in.py +16 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/device_out.py +232 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/device_session_out.py +145 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/device_sessions_out.py +107 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/device_stats_out.py +105 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/delete_file_response.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/docs_ui_out.py +9 -9
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/dormant_workspace_item.py +112 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/dormant_workspace_response.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/email_config_info.py +101 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/email_health_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/email_history_item_out.py +110 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/email_history_out.py +101 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/email_preview_error_response.py +119 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/email_queue_stats.py +5 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/email_stats.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/email_status_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/email_test_response.py +119 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/enhanced_dashboard_stats_response.py +101 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_detail_response.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/enhanced_workspace_detail_response.py +22 -15
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_list_item.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/enhanced_workspace_list_item.py +25 -11
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_list_response.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/enhanced_workspace_list_response.py +9 -9
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/error_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/event_device_out.py +131 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/event_geofence_out.py +96 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/track_point_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/event_location_out.py +22 -22
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/event_workflow_run_out.py +91 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/execution_detail_out.py +150 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/execution_out.py +22 -8
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/simulation_route_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/execution_step_detail_out.py +51 -40
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/export_integration_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/extend_invitation_in.py +88 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/file_list_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/file_type_config_out.py +91 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/file_types_out.py +100 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/forgot_password_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geo_json_circle.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geo_json_line_string.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geo_json_multi_polygon.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/geo_json_point.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geo_json_polygon.py +97 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/route_upload_response.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geocode_place_response.py +16 -22
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_event_out.py +126 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_geometry_out.py +106 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_group_item_out.py +96 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_group_update_out.py +106 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_groups_out.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/geofence_list_response.py +6 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_response.py +224 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/geofence_stats.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/geofence_test_result.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_workflow_reference_out.py +108 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_workflow_references_out.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geometry.py +149 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geometry1.py +155 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geometry2.py +140 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/geometry3.py +155 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/google_token_exchange_request.py +101 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/google_token_exchange_response.py +104 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/gpx_playback_out.py +6 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/gpx_route_out.py +4 -3
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/group_geofence_item_out.py +110 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/group_geofences_out.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/group_test_point_out.py +107 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/health_check_response.py +4 -3
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/health_checks_out.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/health_out.py +98 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/health_response.py +4 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/import_integration_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/import_result_schema.py +3 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_ack_in.py +92 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_bulk_in.py +138 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_bulk_out.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_group_list_out.py +98 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_group_out.py +98 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_list_out.py +104 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_mute_in.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/incident_out.py +135 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/ingest_stats_out.py +98 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_detail_schema.py +11 -9
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/integration_error_stats_out.py +95 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_response_schema.py +12 -10
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_stats_schema.py +6 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_type_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_type_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/integration_type_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/invitation_issued_out.py +109 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/invitation_list_response.py +13 -6
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/invitation_out.py +5 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/invoice_line_item.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/invoice_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/invoice_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/issue_report_request.py +137 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/issue_report_response.py +94 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/lat_lon_out.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/linked_account_out.py +106 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/linked_accounts_response.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/local_shift_stop_in.py +90 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/location_batch_in.py +3 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/location_import_response.py +3 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/location_ingest_response.py +3 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/location_point_in.py +21 -6
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/location_update_in.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/location_point_out.py +21 -24
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/location_update_in.py +161 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/location_update_out.py +110 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/login_response.py +8 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/login_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/marketing_subscriber.py +94 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/marketing_subscriber_export_response.py +100 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/matched_geofence_item.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/member_action_out.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/member_action_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/member_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/member_out.py +20 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/member_summary.py +5 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/message_response.py +87 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/method_enum.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_tracking_consent_in.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_tracking_consent_out.py +90 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_workspace_bootstrap_out.py +118 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_workspace_row.py +110 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_workspace_select_in.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/mobile_workspace_selection_out.py +128 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notes_update_in.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notes_update_out.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_config_response.py +130 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_config_update_request.py +169 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_list_response.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_out.py +119 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/create_user_schema.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_route_list_response.py +21 -21
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_route_patch_request.py +134 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_route_request.py +109 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_route_response.py +153 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/notification_test_response.py +110 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/o_auth_authorize_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/o_auth_callback_query.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/o_auth_link_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/o_auth_providers_response.py +4 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/occupancy_summary_out.py +93 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_action_delivery_out.py +96 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_comparison_out.py +96 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_dashboard_metrics_out.py +108 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_dashboard_stats_out.py +131 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_dlq_stats_out.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_event_device_out.py +129 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_event_geofence_out.py +96 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_event_location_out.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_event_out.py +126 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_event_workflow_run_out.py +91 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/presigned_url_request.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_failed_webhook_out.py +13 -13
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_out.py +145 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/overview_workflow_stats_out.py +100 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/ownership_transfer_request.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/ownership_transfer_response.py +93 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/payment_method_request.py +87 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/payment_method_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/performance_summary_out.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/photo_out.py +148 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/ping_response.py +4 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/plan_change_preview_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/plan_change_request.py +87 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/plan_features.py +7 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/plan_limits.py +13 -5
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/plan_response.py +157 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/policy_create_in.py +127 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/policy_list_out.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/policy_out.py +125 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/policy_template_out.py +98 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/update_simulation_request.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/policy_update_in.py +33 -25
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/portal_session_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/portal_session_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/presigned_url_request.py +135 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/presigned_url_response.py +6 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/privacy_erasure_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/privacy_erasure_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/rate_limit_response.py +4 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/recent_activity.py +4 -3
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/recent_events_out.py +101 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/recent_execution_out.py +108 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/recent_locations_out.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/refresh_token_schema.py +9 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/register_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/report_out.py +91 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/resend_verification_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/reset_password_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/response_body.py +144 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/retry_policy_response_schema.py +18 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/retry_policy_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/retry_strategy_enum.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/revoke_all_sessions_out.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/run_history_entry_out.py +157 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/runtime_config_analytics_out.py +94 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/runtime_config_features_out.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/runtime_config_maps_out.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/runtime_config_out.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saml_config_in.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saml_config_out.py +115 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saved_view_delete_out.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saved_view_in.py +100 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saved_view_out.py +102 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/saved_view_patch_in.py +106 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/send_email_request.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/session_locations_out.py +132 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/session_note_in.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/session_note_out.py +105 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/setup_intent_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/shift_action_out.py +115 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/shift_recovery_current_out.py +132 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/shift_recovery_in.py +87 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/shift_recovery_out.py +124 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/shift_recovery_replacement_out.py +90 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/signal_event_detail_out.py +159 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/signal_event_out.py +134 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/signal_events_list_out.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/signup_request.py +20 -6
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/sso_exchange_request.py +91 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/location_update_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/sso_exchange_response.py +19 -15
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/start_playback_request.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/status_out.py +103 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/stored_file_attachment_out.py +100 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/subscription_action_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/subscription_info.py +117 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/subscription_response.py +8 -5
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/plan_response.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/subscription_usage_response.py +27 -32
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/success_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/suggestion_schema.py +94 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/system_health_component.py +105 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/system_health_response.py +109 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/tag_list_response.py +99 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/tag_schema.py +93 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/template_out.py +6 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/template_warnings.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/test_event_history_out.py +103 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/device_out.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/test_event_item_out.py +26 -31
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_event_request.py +6 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_integration_response_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/test_point_coordinate.py +90 -0
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/usage_stats.py → spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/test_point_coordinate_out.py +11 -13
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_point_request.py +17 -6
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_point_response.py +8 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/test_point_result_out.py +91 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_webhook_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/test_workflow_in.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/tile_health_response.py +94 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/tile_metadata.py +4 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/timeline_bucket_out.py +94 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/timeline_previous_out.py +91 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trend_data_point.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trend_series.py +97 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trip_create_in.py +115 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trip_detail_out.py +157 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trip_out.py +143 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trip_update_in.py +118 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/trips_list_out.py +97 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/unsubscribe_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/unsubscribe_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/update_device_in.py +141 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_geofence_request.py +32 -7
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_integration_schema.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_member_role_in.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_member_role_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_profile_request.py +27 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_user_workspace_request.py +4 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/update_webhook_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/upload_geofences_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/upload_job_status.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/usage_limits.py +116 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/usage_metrics.py +9 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/usage_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_action_response.py +7 -11
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/user_activity_item.py +113 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/user_activity_response.py +105 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_api_stats.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_approval_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_invite_request.py +4 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_invite_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_profile_response.py +21 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_rejection_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_response.py +37 -15
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_summary.py +21 -6
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_usage_response.py +13 -5
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/user_workspace_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/validation_error_response.py +95 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/validation_issue.py +106 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/validation_issue_loc_inner.py +138 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/verify_email_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/web_socket_routes_out.py +95 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_delivery_detail_response.py +8 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_delivery_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_delivery_response.py +4 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/webhook_ingress_error_response.py +122 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_metrics_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_response.py +8 -4
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/webhook_secret_response.py +154 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/webhook_test_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workflow_execution_detail_out.py +164 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workflow_import_data_schema.py +129 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_import_schema.py +8 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_in.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_list_out.py +15 -7
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_list_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_out.py +5 -6
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_retry_policy_update_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workflow_runs_stats_out.py +98 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workflow_statistics_out.py +147 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_step_retry_schema.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workflow_template_detail_out.py +110 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workflow_update.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_analytics_item.py +110 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_analytics_response.py +101 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_delete_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_detail.py +4 -3
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_in.py +32 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_members_response.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_out.py +41 -7
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_patch_in.py +155 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_photos_out.py +99 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_summary.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_update_request.py +2 -2
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/models/workspace_update_response.py +2 -2
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_webhook_counts.py +89 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_webhook_metrics_performance.py +101 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_webhook_metrics_response.py +108 -0
- spatialflow-2.0.0/src/spatialflow/_generated/spatialflow_generated/models/workspace_webhook_metrics_summary.py +102 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/rest.py +39 -42
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/builders.py +10 -4
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/client.py +8 -57
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/exceptions.py +24 -40
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/jobs.py +0 -9
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/pagination.py +20 -103
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/resources.py +548 -259
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/uploads.py +17 -15
- spatialflow-2.0.0/src/spatialflow/webhooks.py +198 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_api_methods.py +36 -20
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_builders.py +18 -28
- spatialflow-2.0.0/tests/test_exceptions.py +105 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_integration.py +18 -94
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_jobs.py +0 -27
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_pagination.py +0 -22
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_resources.py +409 -192
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/test_uploads.py +83 -35
- spatialflow-2.0.0/tests/test_version.py +26 -0
- spatialflow-2.0.0/tests/test_webhooks.py +276 -0
- spatialflow-2.0.0/tests/test_wrappers_generated_signatures.py +261 -0
- spatialflow-0.2.0/CHANGELOG.md +0 -54
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/__init__.py +0 -462
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/e2_e_test_api.py +0 -1049
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/geofences_api.py +0 -4900
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/simulation_center_api.py +0 -4282
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/api/workspaces_api.py +0 -2972
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/__init__.py +0 -203
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/create_simulation_request.py +0 -95
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/geofence_response.py +0 -139
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/onboarding_progress_response.py +0 -112
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/simulation_out.py +0 -130
- spatialflow-0.2.0/src/spatialflow/_generated/spatialflow_generated/models/update_onboarding_progress_request.py +0 -87
- spatialflow-0.2.0/src/spatialflow/webhooks.py +0 -126
- spatialflow-0.2.0/tests/test_webhooks.py +0 -171
- {spatialflow-0.2.0 → spatialflow-2.0.0}/.gitignore +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/LICENSE +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/api_response.py +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/_generated/spatialflow_generated/py.typed +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/src/spatialflow/py.typed +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/__init__.py +0 -0
- {spatialflow-0.2.0 → spatialflow-2.0.0}/tests/conftest.py +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the SpatialFlow Python SDK will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [2.0.0] - 2026-10-08
|
|
9
|
+
|
|
10
|
+
**Breaking changes.** `paginate_users`, `paginate_files`, `GeofencesResource.list_by_group` and the account onboarding wrappers are removed, and several list and request-body wrappers take different arguments. See Removed and Fixed below.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `client.devices`: `start_shift`, `pause_shift`, `resume_shift`, `end_shift`,
|
|
15
|
+
`list_sessions`, `get_session`, `get_session_locations`, `list_session_notes`,
|
|
16
|
+
`add_session_note`.
|
|
17
|
+
- `client.geofences`: `list_groups`, `list_group_geofences`, `test_group_point`,
|
|
18
|
+
`assign_to_group`.
|
|
19
|
+
- `client.workspaces`: `list_members`, `update_member_role`, `remove_member`,
|
|
20
|
+
`list_invitations`, `create_invitation`, `resend_invitation`,
|
|
21
|
+
`resend_missing_invitations`, `extend_invitation`, `cancel_invitation`.
|
|
22
|
+
- `verify_workflow_signature` verifies a workflow Webhook action delivery: `X-SpatialFlow-Signature` (`sha256=<hex>` HMAC-SHA256 over `<timestamp>.<raw body>`) and `X-SpatialFlow-Timestamp`, with a default 300 second tolerance in both directions. A body that isn't JSON is returned as text. `verify_webhook_signature` is unchanged.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Exceptions raised from generated API calls now carry the server's `detail` and
|
|
27
|
+
`error_code` for every status class, not just the generic case. A plan limit
|
|
28
|
+
returns a `PermissionError` with `error_code == "WORKFLOW_LIMIT_REACHED"`
|
|
29
|
+
instead of `detail=None`.
|
|
30
|
+
- `SpatialFlow.close()` and `async with SpatialFlow(...)` now close the aiohttp
|
|
31
|
+
session, so Python no longer prints `Unclosed client session` on exit.
|
|
32
|
+
- `client.storage.delete_file(file_id=...)` now deletes an uploaded file. The
|
|
33
|
+
endpoint takes the `file_id` an upload returned; before, it could not find
|
|
34
|
+
uploaded files and the call failed. It returns `None` on success.
|
|
35
|
+
- **List and metrics wrappers**: these forwarded parameters the endpoints reject, so they failed validation before any request was sent.
|
|
36
|
+
- `client.devices.list()` takes `is_active`, `include_geofences` and `group` instead of `limit` and `offset`.
|
|
37
|
+
- `client.integrations.list()` takes `type`, `is_active`, `is_verified` and `search` instead of `limit`, `offset` and `integration_type`.
|
|
38
|
+
- `client.storage.list_files(file_type)` takes the file type the endpoint requires, and no `limit` or `offset`.
|
|
39
|
+
- `client.geofences.list()` no longer takes `group_id`; use `list_group_geofences(group_id)` for the geofences in one group.
|
|
40
|
+
- `client.webhooks.get_metrics()` and `get_success_timeline()` no longer take `webhook_id`: the metrics endpoint is platform-wide and admin-only, and the timeline covers the whole workspace.
|
|
41
|
+
- Request-body wrappers sent argument names the generated client doesn't have. `workflows.update` takes a `WorkflowUpdate`, `workflows.test` a `TestWorkflowIn`, `workflows.duplicate` the copy's `name` instead of a `request`, `workflows.execute` an optional dict sent as `test_data` (the endpoint does not accept a payload yet), and `devices.update` an `UpdateDeviceIn`. `workflows.import_workflow`, `workflows.update_retry_policy`, `devices.create` and `devices.update_location` keep their signatures.
|
|
42
|
+
- `client.webhooks.retry_dlq()` sends the entry ID as the endpoint's `dlq_id`.
|
|
43
|
+
- **Paginators**: `paginate_workflows` reads `total` and `paginate_webhooks` reads `pagination.total`, instead of a `count` field those responses don't have. `paginate_geofences` reports `total_count` as its total.
|
|
44
|
+
- **Webhook signature verification**: `verify_webhook_signature` now matches the platform, which signs the raw request body with HMAC-SHA256 and sends it as `X-SF-Signature: sha256=<hex>`. The previous implementation expected a Stripe-style `t=<timestamp>,v1=<sig>` header and rejected every real webhook.
|
|
45
|
+
- Malformed (non-hex or non-ASCII) signatures now raise `WebhookSignatureError` instead of a `TypeError`.
|
|
46
|
+
- The `tolerance` parameter is retained but deprecated and ignored (the signature carries no timestamp; to guard against replays, verify the signature and then deduplicate on the signed payload `id`, because the `X-Idempotency-Key` and `X-SF-Event-ID` headers are not signed).
|
|
47
|
+
- Docs corrected to read the backend `event` key (`event["event"]`).
|
|
48
|
+
|
|
49
|
+
### Removed
|
|
50
|
+
|
|
51
|
+
- Removed the account wrapper methods `get_onboarding_progress`,
|
|
52
|
+
`update_onboarding_progress`, and `dismiss_onboarding`. Their endpoints were
|
|
53
|
+
removed from the platform; the generated Python and Node clients already no
|
|
54
|
+
longer expose them. No generated files were changed.
|
|
55
|
+
- `GeofencesResource.list_by_group`, which always failed; `list_group_geofences` covers it.
|
|
56
|
+
- `paginate_users` and `paginate_files`. The SDK has no user list call, and the storage list isn't paginated, so `paginate_files` never stopped.
|
|
57
|
+
|
|
58
|
+
## [1.1.0] - 2026-04-05
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- The generated API client is rebuilt from OpenAPI spec v1.1.0. Schemas that were untyped objects are now typed, including geofence geometry, the login response's user, the created API key, workflow import, retry policy, integration configs and simulation details.
|
|
63
|
+
- Every operation's generated types include the standard 4xx error responses.
|
|
64
|
+
- `VERSION` and the `User-Agent` header report `1.1.0` (they reported `0.2.0` before).
|
|
65
|
+
|
|
66
|
+
## [0.2.0] - 2025-12-26
|
|
67
|
+
|
|
68
|
+
### Added
|
|
69
|
+
|
|
70
|
+
- **Workflow activation**: `client.workflows.activate(workflow_id)` - Activate draft workflows for production use
|
|
71
|
+
- Idempotent: returns success if workflow is already active
|
|
72
|
+
- Validates workflow has trigger and steps before activation
|
|
73
|
+
- Rate limited: 1000 requests/hour
|
|
74
|
+
|
|
75
|
+
### Fixed
|
|
76
|
+
|
|
77
|
+
- **Integrations API key auth**: Integrations API now accepts API key authentication (was JWT-only)
|
|
78
|
+
- Requires `integrations:read` permission for list/get endpoints
|
|
79
|
+
- Requires `integrations:write` permission for create/update/delete/test endpoints
|
|
80
|
+
- Fixes: GitHub issue #114
|
|
81
|
+
|
|
82
|
+
- **Location ingest JWT auth**: Location ingest API now accepts JWT authentication (was API-key-only)
|
|
83
|
+
- Both JWT and API key auth now work for location ingestion
|
|
84
|
+
- Fixes: GitHub issue #115
|
|
85
|
+
|
|
86
|
+
### Technical Details
|
|
87
|
+
|
|
88
|
+
- Regenerated from OpenAPI spec using openapi-generator-cli 7.19.0
|
|
89
|
+
- Generated package now installed as `spatialflow_generated` in virtualenv
|
|
90
|
+
- OpenAPI spec hash: ce5ef5f82f7f17ebc5d628a612b84d1d39159c330c8362c4680be7bbdda50327
|
|
91
|
+
|
|
92
|
+
## [0.1.0] - 2025-12-04
|
|
93
|
+
|
|
94
|
+
### Added
|
|
95
|
+
|
|
96
|
+
- Initial alpha release
|
|
97
|
+
- **Authentication**: API key and JWT token support
|
|
98
|
+
- **Client**: `SpatialFlow` async client with resource accessors
|
|
99
|
+
- **Resources**: Full CRUD for geofences, workflows, webhooks, devices
|
|
100
|
+
- **Pagination**: `paginate()` async iterator for paginated endpoints
|
|
101
|
+
- **Webhook verification**: `verify_webhook_signature()` with HMAC-SHA256
|
|
102
|
+
- **Job polling**: `poll_job()` for async job status tracking
|
|
103
|
+
- **File uploads**: `upload_geofences()` for GeoJSON/KML/GPX imports
|
|
104
|
+
- **Typed exceptions**: `AuthenticationError`, `NotFoundError`, `ValidationError`, etc.
|
|
105
|
+
- **Models**: Re-exported Pydantic models from generated code
|
|
106
|
+
|
|
107
|
+
### Technical Details
|
|
108
|
+
|
|
109
|
+
- Generated from OpenAPI spec using openapi-generator-cli 7.10.0
|
|
110
|
+
- Python generator with `library=asyncio` for native async/await
|
|
111
|
+
- Requires Python 3.9+
|
|
112
|
+
- Dependencies: aiohttp, pydantic v2, python-dateutil
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: spatialflow
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Python SDK for SpatialFlow - Real-time geospatial automation platform
|
|
5
5
|
Project-URL: Homepage, https://spatialflow.io
|
|
6
|
-
Project-URL: Documentation, https://docs.spatialflow.io/
|
|
6
|
+
Project-URL: Documentation, https://docs.spatialflow.io/sdks/python/
|
|
7
7
|
Project-URL: Repository, https://github.com/spatialflow-io/spatialflow-python
|
|
8
8
|
Project-URL: Issues, https://github.com/spatialflow-io/spatialflow-python/issues
|
|
9
9
|
Project-URL: Changelog, https://github.com/spatialflow-io/spatialflow-python/blob/main/CHANGELOG.md
|
|
@@ -11,7 +11,7 @@ Author-email: SpatialFlow <support@spatialflow.io>
|
|
|
11
11
|
License-Expression: MIT
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Keywords: automation,geofencing,geospatial,location,sdk,spatialflow
|
|
14
|
-
Classifier: Development Status ::
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
16
|
Classifier: License :: OSI Approved :: MIT License
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
|
@@ -85,12 +85,12 @@ asyncio.run(main())
|
|
|
85
85
|
|
|
86
86
|
| Resource | Methods | Description |
|
|
87
87
|
|----------|---------|-------------|
|
|
88
|
-
| **Geofences** | CRUD, upload, bulk | Manage geofence boundaries |
|
|
88
|
+
| **Geofences** | CRUD, upload, bulk, groups | Manage geofence boundaries |
|
|
89
89
|
| **Workflows** | CRUD, execute, monitor, versioning | Automation workflows |
|
|
90
90
|
| **Webhooks** | CRUD, deliveries, DLQ, metrics | Webhook endpoints and delivery tracking |
|
|
91
|
-
| **Devices** | CRUD, location updates | Device management |
|
|
92
|
-
| **Account** | profile, API keys, metrics
|
|
93
|
-
| **Workspaces** | get, update, usage | Workspace settings and usage metrics |
|
|
91
|
+
| **Devices** | CRUD, location updates, shifts, sessions | Device management |
|
|
92
|
+
| **Account** | profile, API keys, metrics | User account management |
|
|
93
|
+
| **Workspaces** | get, update, usage, members, invitations | Workspace settings and usage metrics |
|
|
94
94
|
| **Locations** | ingest, batch, stats | Public location ingestion API |
|
|
95
95
|
| **Integrations** | CRUD, test | Third-party service connections |
|
|
96
96
|
| **Storage** | presigned URLs, files | File upload and management |
|
|
@@ -132,8 +132,8 @@ Available via `client.raw`:
|
|
|
132
132
|
- `geofences`, `workflows`, `webhooks`, `devices`, `storage`, `locations`, `integrations`, `workspaces`, `account` (also wrapped)
|
|
133
133
|
- `authentication`, `admin`, `billing`, `subscriptions`, `tiles` (raw only)
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
Some generated APIs (email, system, gpx_simulator, public, default, e2e_test) are not
|
|
136
|
+
exposed on the client. Use the generated client directly for those.
|
|
137
137
|
|
|
138
138
|
## Documentation
|
|
139
139
|
|
|
@@ -39,12 +39,12 @@ asyncio.run(main())
|
|
|
39
39
|
|
|
40
40
|
| Resource | Methods | Description |
|
|
41
41
|
|----------|---------|-------------|
|
|
42
|
-
| **Geofences** | CRUD, upload, bulk | Manage geofence boundaries |
|
|
42
|
+
| **Geofences** | CRUD, upload, bulk, groups | Manage geofence boundaries |
|
|
43
43
|
| **Workflows** | CRUD, execute, monitor, versioning | Automation workflows |
|
|
44
44
|
| **Webhooks** | CRUD, deliveries, DLQ, metrics | Webhook endpoints and delivery tracking |
|
|
45
|
-
| **Devices** | CRUD, location updates | Device management |
|
|
46
|
-
| **Account** | profile, API keys, metrics
|
|
47
|
-
| **Workspaces** | get, update, usage | Workspace settings and usage metrics |
|
|
45
|
+
| **Devices** | CRUD, location updates, shifts, sessions | Device management |
|
|
46
|
+
| **Account** | profile, API keys, metrics | User account management |
|
|
47
|
+
| **Workspaces** | get, update, usage, members, invitations | Workspace settings and usage metrics |
|
|
48
48
|
| **Locations** | ingest, batch, stats | Public location ingestion API |
|
|
49
49
|
| **Integrations** | CRUD, test | Third-party service connections |
|
|
50
50
|
| **Storage** | presigned URLs, files | File upload and management |
|
|
@@ -86,8 +86,8 @@ Available via `client.raw`:
|
|
|
86
86
|
- `geofences`, `workflows`, `webhooks`, `devices`, `storage`, `locations`, `integrations`, `workspaces`, `account` (also wrapped)
|
|
87
87
|
- `authentication`, `admin`, `billing`, `subscriptions`, `tiles` (raw only)
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
Some generated APIs (email, system, gpx_simulator, public, default, e2e_test) are not
|
|
90
|
+
exposed on the client. Use the generated client directly for those.
|
|
91
91
|
|
|
92
92
|
## Documentation
|
|
93
93
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "spatialflow"
|
|
7
|
-
version = "
|
|
7
|
+
version = "2.0.0"
|
|
8
8
|
description = "Python SDK for SpatialFlow - Real-time geospatial automation platform"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -14,7 +14,7 @@ authors = [
|
|
|
14
14
|
]
|
|
15
15
|
keywords = ["spatialflow", "geospatial", "geofencing", "location", "automation", "sdk"]
|
|
16
16
|
classifiers = [
|
|
17
|
-
"Development Status ::
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
18
|
"Intended Audience :: Developers",
|
|
19
19
|
"License :: OSI Approved :: MIT License",
|
|
20
20
|
"Operating System :: OS Independent",
|
|
@@ -54,7 +54,7 @@ docs = [
|
|
|
54
54
|
|
|
55
55
|
[project.urls]
|
|
56
56
|
Homepage = "https://spatialflow.io"
|
|
57
|
-
Documentation = "https://docs.spatialflow.io/
|
|
57
|
+
Documentation = "https://docs.spatialflow.io/sdks/python/"
|
|
58
58
|
Repository = "https://github.com/spatialflow-io/spatialflow-python"
|
|
59
59
|
Issues = "https://github.com/spatialflow-io/spatialflow-python/issues"
|
|
60
60
|
Changelog = "https://github.com/spatialflow-io/spatialflow-python/blob/main/CHANGELOG.md"
|
|
@@ -19,12 +19,11 @@ Example:
|
|
|
19
19
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
|
-
__version__ = "
|
|
22
|
+
__version__ = "2.0.0"
|
|
23
23
|
|
|
24
24
|
# Main client (imported early to get DEFAULT_BASE_URL)
|
|
25
25
|
from .client import SpatialFlow, DEFAULT_BASE_URL
|
|
26
26
|
|
|
27
|
-
# Custom exceptions
|
|
28
27
|
from .exceptions import (
|
|
29
28
|
SpatialFlowError,
|
|
30
29
|
AuthenticationError,
|
|
@@ -39,28 +38,26 @@ from .exceptions import (
|
|
|
39
38
|
translate_exception,
|
|
40
39
|
)
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
from .webhooks import (
|
|
42
|
+
verify_webhook_signature,
|
|
43
|
+
verify_workflow_signature,
|
|
44
|
+
WebhookSignatureError,
|
|
45
|
+
verify_signature,
|
|
46
|
+
)
|
|
44
47
|
|
|
45
|
-
# Pagination helpers
|
|
46
48
|
from .pagination import (
|
|
47
49
|
paginate,
|
|
48
50
|
paginate_geofences,
|
|
49
51
|
paginate_workflows,
|
|
50
52
|
paginate_webhooks,
|
|
51
|
-
paginate_users,
|
|
52
|
-
paginate_files,
|
|
53
53
|
AsyncPaginator,
|
|
54
54
|
PaginatedResponse,
|
|
55
55
|
)
|
|
56
56
|
|
|
57
|
-
# Job polling helpers
|
|
58
57
|
from .jobs import poll_job, JobResult, JobTimeoutError, JobFailedError
|
|
59
58
|
|
|
60
|
-
# File upload helpers
|
|
61
59
|
from .uploads import upload_geofences
|
|
62
60
|
|
|
63
|
-
# Workflow builders
|
|
64
61
|
from .builders import (
|
|
65
62
|
build_geofence_webhook_workflow,
|
|
66
63
|
build_geofence_integration_workflow,
|
|
@@ -105,6 +102,7 @@ __all__ = [
|
|
|
105
102
|
"translate_exception",
|
|
106
103
|
# Webhooks
|
|
107
104
|
"verify_webhook_signature",
|
|
105
|
+
"verify_workflow_signature",
|
|
108
106
|
"verify_signature",
|
|
109
107
|
"WebhookSignatureError",
|
|
110
108
|
# Pagination
|
|
@@ -112,8 +110,6 @@ __all__ = [
|
|
|
112
110
|
"paginate_geofences",
|
|
113
111
|
"paginate_workflows",
|
|
114
112
|
"paginate_webhooks",
|
|
115
|
-
"paginate_users",
|
|
116
|
-
"paginate_files",
|
|
117
113
|
"AsyncPaginator",
|
|
118
114
|
"PaginatedResponse",
|
|
119
115
|
# Job polling
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Auto-generated package marker
|