spaps-server-quickstart 0.6.1__tar.gz → 0.6.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/CHANGELOG.md +11 -0
  2. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/PKG-INFO +6 -4
  3. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/README.md +1 -1
  4. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/UPGRADING.md +10 -0
  5. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/pyproject.toml +5 -3
  6. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/__init__.py +1 -1
  7. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/celery_app.py +11 -0
  8. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/base.py +0 -1
  9. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/model_registry.py +2 -0
  10. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/router.py +18 -36
  11. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/router.py +14 -28
  12. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/service.py +1 -2
  13. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/blueprints.py +7 -1
  14. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/router.py +31 -0
  15. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/models.py +20 -0
  16. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/audit/platform_events.py +127 -0
  17. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/repository.py +48 -2
  18. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/router.py +28 -0
  19. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/schemas.py +24 -0
  20. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/service.py +91 -1
  21. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/tasks.py +30 -3
  22. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/auth/models.py +198 -0
  23. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/auth/repository.py +130 -0
  24. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/auth/router.py +301 -41
  25. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/auth/service.py +41 -0
  26. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/quickbooks.py +0 -1
  27. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/router.py +34 -4
  28. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/service.py +3 -6
  29. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/router.py +3 -6
  30. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dev/service.py +2 -1
  31. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/device_flow/router.py +185 -0
  32. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/device_flow/service.py +28 -18
  33. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/errors.py +5 -2
  34. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/repository.py +50 -0
  35. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/router.py +236 -21
  36. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/schemas.py +3 -1
  37. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/service.py +358 -27
  38. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/errors.py +24 -0
  39. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/issue_reporting_platform/models.py +281 -0
  40. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/repository.py +256 -1
  41. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/router.py +228 -0
  42. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/schemas.py +72 -0
  43. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/service.py +1020 -152
  44. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/__init__.py +15 -0
  45. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/errors.py +16 -0
  46. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/models.py +72 -0
  47. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/repository.py +274 -0
  48. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/router.py +72 -0
  49. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/schemas.py +151 -0
  50. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/marketing_events/service.py +465 -0
  51. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/evaluator.py +32 -17
  52. spaps_server_quickstart-0.6.3/src/spaps_server_quickstart/domains/policies/router.py +403 -0
  53. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/self_service/router.py +148 -14
  54. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/self_service/schemas.py +8 -4
  55. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/router.py +31 -62
  56. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/service.py +41 -41
  57. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/webhook_handler.py +21 -3
  58. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/chains/dispatcher.py +2 -3
  59. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/delivery.py +112 -14
  60. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/origin_validation.py +43 -7
  61. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/admin_token_cache.py +18 -1
  62. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/feature_evaluator.py +8 -2
  63. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/server_clients.py +76 -6
  64. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/seeds/cli.py +0 -1
  65. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/settings.py +20 -1
  66. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/spaps_app.py +5 -0
  67. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/spaps_settings.py +4 -3
  68. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/startup.py +4 -2
  69. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/testing.py +180 -11
  70. spaps_server_quickstart-0.6.3/tests/contracts/test_spaps_cors_contract_script.py +359 -0
  71. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/applications/test_router.py +27 -7
  72. spaps_server_quickstart-0.6.3/tests/domains/audit/test_evidence_custody_contract.py +97 -0
  73. spaps_server_quickstart-0.6.3/tests/domains/audit/test_migration.py +112 -0
  74. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/audit/test_repository.py +71 -0
  75. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/audit/test_router.py +53 -0
  76. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/audit/test_service.py +85 -0
  77. spaps_server_quickstart-0.6.3/tests/domains/audit/test_tasks.py +23 -0
  78. spaps_server_quickstart-0.6.3/tests/domains/auth/test_provider_persistence.py +221 -0
  79. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/test_router.py +199 -85
  80. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/test_user_enumeration_timing.py +28 -15
  81. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo/test_router.py +26 -10
  82. spaps_server_quickstart-0.6.3/tests/domains/device_flow/test_buildooor_config_migration.py +87 -0
  83. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/device_flow/test_router.py +100 -44
  84. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/device_flow/test_service.py +65 -15
  85. spaps_server_quickstart-0.6.3/tests/domains/entitlements/test_grant_idempotency_integration.py +521 -0
  86. spaps_server_quickstart-0.6.3/tests/domains/entitlements/test_manual_crypto_dedupe_migration.py +129 -0
  87. spaps_server_quickstart-0.6.3/tests/domains/entitlements/test_project_resource_entitlements_migration.py +111 -0
  88. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/entitlements/test_repository.py +71 -0
  89. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/entitlements/test_router.py +403 -112
  90. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/entitlements/test_service.py +288 -44
  91. spaps_server_quickstart-0.6.3/tests/domains/issue_reporting_platform/test_buildooor_screenshot_smoke.py +209 -0
  92. spaps_server_quickstart-0.6.3/tests/domains/issue_reporting_platform/test_message_hardening.py +838 -0
  93. spaps_server_quickstart-0.6.3/tests/domains/issue_reporting_platform/test_message_repository.py +471 -0
  94. spaps_server_quickstart-0.6.3/tests/domains/issue_reporting_platform/test_message_service.py +914 -0
  95. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/issue_reporting_platform/test_repository.py +265 -0
  96. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/issue_reporting_platform/test_router.py +685 -15
  97. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/issue_reporting_platform/test_service.py +302 -7
  98. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/__init__.py +1 -0
  99. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_app_wiring.py +29 -0
  100. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_identity_stitch.py +182 -0
  101. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_key_scope.py +20 -0
  102. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_migration.py +175 -0
  103. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_models.py +57 -0
  104. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_repository.py +282 -0
  105. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_router.py +360 -0
  106. spaps_server_quickstart-0.6.3/tests/domains/marketing_events/test_service.py +407 -0
  107. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/notifications/test_service.py +405 -0
  108. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/policies/test_evaluator.py +109 -9
  109. spaps_server_quickstart-0.6.3/tests/domains/policies/test_router.py +295 -0
  110. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/self_service/test_router.py +151 -37
  111. spaps_server_quickstart-0.6.3/tests/domains/stripe/test_webhook_integrity_integration.py +847 -0
  112. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/test_smoke.py +5 -0
  113. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_delivery.py +38 -0
  114. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_destination_security.py +1 -1
  115. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_origin_validation.py +42 -1
  116. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_environment_safety.py +46 -0
  117. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_local_mode.py +9 -0
  118. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_primitive_guardrails.py +63 -7
  119. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_sdk.py +124 -5
  120. spaps_server_quickstart-0.6.3/tests/test_testing_infra_tolerance.py +215 -0
  121. spaps_server_quickstart-0.6.1/src/spaps_server_quickstart/domains/device_flow/router.py +0 -110
  122. spaps_server_quickstart-0.6.1/src/spaps_server_quickstart/domains/issue_reporting_platform/models.py +0 -128
  123. spaps_server_quickstart-0.6.1/src/spaps_server_quickstart/domains/policies/router.py +0 -199
  124. spaps_server_quickstart-0.6.1/tests/domains/policies/test_router.py +0 -78
  125. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/.gitignore +0 -0
  126. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/.python-version +0 -0
  127. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/TM-002-IMPLEMENTATION.md +0 -0
  128. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/MIGRATION_GUIDE.md +0 -0
  129. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/TDD_PLAN.md +0 -0
  130. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/TM-ENV-001-checklist.md +0 -0
  131. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/TM-ENV-001-email-environment-safety.md +0 -0
  132. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/INDEX.md +0 -0
  133. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/_archived/diff-mvp-plan.md +0 -0
  134. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/AUDIT_REPORT.md +0 -0
  135. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/README.md +0 -0
  136. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/backend.md +0 -0
  137. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/flows.md +0 -0
  138. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/frontend.md +0 -0
  139. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/plan.md +0 -0
  140. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/schema.mmd +0 -0
  141. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/security-audit-remediation-2026q1/shared.md +0 -0
  142. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/README.md +0 -0
  143. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/backend.md +0 -0
  144. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/describe-wave-1-principal-proxy-reuse.md +0 -0
  145. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/flows.md +0 -0
  146. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/frontend.md +0 -0
  147. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/plan.md +0 -0
  148. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/schema.mmd +0 -0
  149. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/feature-plans/trust-invariants-kernel/shared.md +0 -0
  150. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/messaging-broker-plan.md +0 -0
  151. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/docs/security-audit-remediation-2026q1-tm007-tm008.md +0 -0
  152. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/scripts/release.sh +0 -0
  153. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/alembic/__init__.py +0 -0
  154. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/alembic/naming.py +0 -0
  155. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/__init__.py +0 -0
  156. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/dependencies.py +0 -0
  157. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/domains/__init__.py +0 -0
  158. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/domains/health_router.py +0 -0
  159. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/domains/metrics_router.py +0 -0
  160. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/health.py +0 -0
  161. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/api/router.py +0 -0
  162. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/app_factory.py +0 -0
  163. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/auth/__init__.py +0 -0
  164. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/auth/cookies.py +0 -0
  165. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/auth/dependencies.py +0 -0
  166. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/auth_channels.py +0 -0
  167. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/db/__init__.py +0 -0
  168. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/db/alembic_status.py +0 -0
  169. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/db/migration_runner.py +0 -0
  170. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/db/session.py +0 -0
  171. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/__init__.py +0 -0
  172. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_common/clients.py +0 -0
  173. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_common/pagination.py +0 -0
  174. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/__init__.py +0 -0
  175. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/orm_helpers.py +0 -0
  176. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/rls.py +0 -0
  177. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/_db/types.py +0 -0
  178. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/__init__.py +0 -0
  179. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/errors.py +0 -0
  180. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/models.py +0 -0
  181. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/repository.py +0 -0
  182. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/schemas.py +0 -0
  183. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/affiliate_referrals/service.py +0 -0
  184. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/__init__.py +0 -0
  185. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/authz.py +0 -0
  186. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/errors.py +0 -0
  187. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/models.py +0 -0
  188. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/repository.py +0 -0
  189. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/agent_approvals/schemas.py +0 -0
  190. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/__init__.py +0 -0
  191. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/errors.py +0 -0
  192. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/models.py +0 -0
  193. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/repository.py +0 -0
  194. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/router.py +0 -0
  195. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/schemas.py +0 -0
  196. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/app_links/service.py +0 -0
  197. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/__init__.py +0 -0
  198. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/models.py +0 -0
  199. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/repository.py +0 -0
  200. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/schemas.py +0 -0
  201. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/applications/service.py +0 -0
  202. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/__init__.py +0 -0
  203. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/errors.py +0 -0
  204. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/audit/retention.py +0 -0
  205. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/auth/__init__.py +0 -0
  206. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/auth/schemas.py +0 -0
  207. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/__init__.py +0 -0
  208. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/models.py +0 -0
  209. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/repository.py +0 -0
  210. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/resolver.py +0 -0
  211. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/router.py +0 -0
  212. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/schemas.py +0 -0
  213. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/billing_accounts/service.py +0 -0
  214. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/__init__.py +0 -0
  215. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/errors.py +0 -0
  216. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/models.py +0 -0
  217. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/repository.py +0 -0
  218. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/schemas.py +0 -0
  219. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo/service.py +0 -0
  220. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/__init__.py +0 -0
  221. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/errors.py +0 -0
  222. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/me_router.py +0 -0
  223. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/router.py +0 -0
  224. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/cfo_roles/schemas.py +0 -0
  225. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/__init__.py +0 -0
  226. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/errors.py +0 -0
  227. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/models.py +0 -0
  228. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/repository.py +0 -0
  229. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/schemas.py +0 -0
  230. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/crypto/service.py +0 -0
  231. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/__init__.py +0 -0
  232. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/errors.py +0 -0
  233. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/models.py +0 -0
  234. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/pricing.py +0 -0
  235. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/repository.py +0 -0
  236. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/router.py +0 -0
  237. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/schemas.py +0 -0
  238. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dayrate/service.py +0 -0
  239. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dev/__init__.py +0 -0
  240. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dev/router.py +0 -0
  241. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/dev/schemas.py +0 -0
  242. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/device_flow/__init__.py +0 -0
  243. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/device_flow/repository.py +0 -0
  244. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/device_flow/schemas.py +0 -0
  245. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/device_flow/store.py +0 -0
  246. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/__init__.py +0 -0
  247. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/discovery.py +0 -0
  248. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/errors.py +0 -0
  249. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/models.py +0 -0
  250. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/repository.py +0 -0
  251. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/router.py +0 -0
  252. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/schemas.py +0 -0
  253. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/docs/service.py +0 -0
  254. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/__init__.py +0 -0
  255. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/config.py +0 -0
  256. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/errors.py +0 -0
  257. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/mailgun.py +0 -0
  258. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/models.py +0 -0
  259. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/repository.py +0 -0
  260. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/router.py +0 -0
  261. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/schemas.py +0 -0
  262. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/email/service.py +0 -0
  263. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/__init__.py +0 -0
  264. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/entitlements/models.py +0 -0
  265. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/errors.py +0 -0
  266. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/events.py +0 -0
  267. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/hosted_assets/__init__.py +0 -0
  268. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/hosted_assets/errors.py +0 -0
  269. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/hosted_assets/models.py +0 -0
  270. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/hosted_assets/storage.py +0 -0
  271. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/issue_reporting_platform/__init__.py +0 -0
  272. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/__init__.py +0 -0
  273. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/models.py +0 -0
  274. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/repository.py +0 -0
  275. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/router.py +0 -0
  276. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/schemas.py +0 -0
  277. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/service.py +0 -0
  278. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/notifications/tasks.py +0 -0
  279. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/__init__.py +0 -0
  280. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/errors.py +0 -0
  281. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/models.py +0 -0
  282. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/repository.py +0 -0
  283. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/schemas.py +0 -0
  284. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/policies/service.py +0 -0
  285. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/realtime/__init__.py +0 -0
  286. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/realtime/router.py +0 -0
  287. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/realtime/schemas.py +0 -0
  288. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/realtime/service.py +0 -0
  289. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/redirects.py +0 -0
  290. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/__init__.py +0 -0
  291. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/encryption.py +0 -0
  292. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/errors.py +0 -0
  293. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/models.py +0 -0
  294. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/repository.py +0 -0
  295. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/router.py +0 -0
  296. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/schemas.py +0 -0
  297. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/secure_messages/service.py +0 -0
  298. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/__init__.py +0 -0
  299. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/errors.py +0 -0
  300. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/models.py +0 -0
  301. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/repository.py +0 -0
  302. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/router.py +0 -0
  303. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/schemas.py +0 -0
  304. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/security/service.py +0 -0
  305. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/self_service/__init__.py +0 -0
  306. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/self_service/errors.py +0 -0
  307. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/self_service/service.py +0 -0
  308. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/__init__.py +0 -0
  309. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/admin_detection.py +0 -0
  310. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/blacklist_service.py +0 -0
  311. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/jwt_service.py +0 -0
  312. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/models.py +0 -0
  313. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/nonce_service.py +0 -0
  314. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/password_service.py +0 -0
  315. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/repository.py +0 -0
  316. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/router.py +0 -0
  317. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/schemas.py +0 -0
  318. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/sessions/service.py +0 -0
  319. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/__init__.py +0 -0
  320. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/errors.py +0 -0
  321. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/models.py +0 -0
  322. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/repository.py +0 -0
  323. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/router.py +0 -0
  324. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/schemas.py +0 -0
  325. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/skill_evals/service.py +0 -0
  326. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/__init__.py +0 -0
  327. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/errors.py +0 -0
  328. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/guest_checkout.py +0 -0
  329. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/models.py +0 -0
  330. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/repository.py +0 -0
  331. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/schemas.py +0 -0
  332. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/stripe/tasks.py +0 -0
  333. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/__init__.py +0 -0
  334. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/errors.py +0 -0
  335. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/models.py +0 -0
  336. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/repository.py +0 -0
  337. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/router.py +0 -0
  338. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/schemas.py +0 -0
  339. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/support_telemetry_platform/service.py +0 -0
  340. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/__init__.py +0 -0
  341. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/errors.py +0 -0
  342. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/models.py +0 -0
  343. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/repository.py +0 -0
  344. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/router.py +0 -0
  345. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/schemas.py +0 -0
  346. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/usage_control/service.py +0 -0
  347. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/__init__.py +0 -0
  348. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/models.py +0 -0
  349. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/repository.py +0 -0
  350. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/router.py +0 -0
  351. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/schemas.py +0 -0
  352. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/users/service.py +0 -0
  353. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/__init__.py +0 -0
  354. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/addressing.py +0 -0
  355. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/chains/__init__.py +0 -0
  356. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/chains/ethereum.py +0 -0
  357. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/chains/solana.py +0 -0
  358. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/models.py +0 -0
  359. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/repository.py +0 -0
  360. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/router.py +0 -0
  361. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/schemas.py +0 -0
  362. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/wallets/service.py +0 -0
  363. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/__init__.py +0 -0
  364. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/destination_security.py +0 -0
  365. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/errors.py +0 -0
  366. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/models.py +0 -0
  367. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/repository.py +0 -0
  368. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/router.py +0 -0
  369. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/schemas.py +0 -0
  370. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/service.py +0 -0
  371. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/signing.py +0 -0
  372. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/webhooks/tasks.py +0 -0
  373. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/__init__.py +0 -0
  374. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/models.py +0 -0
  375. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/repository.py +0 -0
  376. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/router.py +0 -0
  377. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/schemas.py +0 -0
  378. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/whitelist/service.py +0 -0
  379. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/__init__.py +0 -0
  380. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/adapter.py +0 -0
  381. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/constants.py +0 -0
  382. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/errors.py +0 -0
  383. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/models.py +0 -0
  384. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/repository.py +0 -0
  385. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/router.py +0 -0
  386. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/schemas.py +0 -0
  387. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/security.py +0 -0
  388. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/domains/x402/service.py +0 -0
  389. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/local_mode/__init__.py +0 -0
  390. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/local_mode/middleware.py +0 -0
  391. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/local_mode/personas.py +0 -0
  392. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/logging.py +0 -0
  393. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/__init__.py +0 -0
  394. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/api_key.py +0 -0
  395. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/client_ip.py +0 -0
  396. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/envelope.py +0 -0
  397. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/error_handler.py +0 -0
  398. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/jwt_auth.py +0 -0
  399. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/key_scope.py +0 -0
  400. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/local_mode.py +0 -0
  401. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/rate_limiting.py +0 -0
  402. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/security_headers.py +0 -0
  403. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware/spaps_deps.py +0 -0
  404. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/middleware.py +0 -0
  405. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/money/__init__.py +0 -0
  406. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/openapi_auth.py +0 -0
  407. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/rbac/__init__.py +0 -0
  408. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/schemas/__init__.py +0 -0
  409. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/schemas/health.py +0 -0
  410. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/__init__.py +0 -0
  411. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/_ttl_cache.py +0 -0
  412. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/role_hierarchy.py +0 -0
  413. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/sdk/trusted_service_middleware.py +0 -0
  414. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/secure_messaging.py +0 -0
  415. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/seeds/__init__.py +0 -0
  416. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/seeds/schemas.py +0 -0
  417. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/seeds/validator.py +0 -0
  418. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tasks/__init__.py +0 -0
  419. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tasks/celery_factory.py +0 -0
  420. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tasks/health.py +0 -0
  421. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tasks/notifications.py +0 -0
  422. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/.pre-commit-config.yaml +0 -0
  423. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/__init__.py +0 -0
  424. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/alembic/env.py +0 -0
  425. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/alembic/script.py.mako +0 -0
  426. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/alembic/versions/.gitkeep +0 -0
  427. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/alembic.ini +0 -0
  428. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/docs/templates/API_DOCUMENTATION_TEMPLATE.md +0 -0
  429. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/docs/templates/DEBUG_REPORT_TEMPLATE.md +0 -0
  430. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/docs/templates/OPERATIONS_PLAYBOOK_TEMPLATE.md +0 -0
  431. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/__init__.py +0 -0
  432. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/admin/router.py +0 -0
  433. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/auth/local_routes.py +0 -0
  434. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/__init__.py +0 -0
  435. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/models.py +0 -0
  436. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/repository.py +0 -0
  437. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/router.py +0 -0
  438. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/schemas.py +0 -0
  439. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/domains/users/service.py +0 -0
  440. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/.env.production.example +0 -0
  441. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/.githooks/pre-push +0 -0
  442. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/.github/workflows/deploy.yml +0 -0
  443. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/.github/workflows/rollback.yml +0 -0
  444. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/Makefile +0 -0
  445. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/deploy/deploy.sh +0 -0
  446. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/deploy/docker-compose.migration.yml +0 -0
  447. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/deploy/post-deploy-verify.sh +0 -0
  448. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/deploy/pre-deploy-checks.sh +0 -0
  449. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/docker-compose.prod.yml +0 -0
  450. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/backup-db.sh +0 -0
  451. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/dev/await_db.py +0 -0
  452. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/dev/fetch-prod-db.sh +0 -0
  453. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/dev/local-debug-loop.sh +0 -0
  454. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/dev/start-db.sh +0 -0
  455. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/dev/stop-db.sh +0 -0
  456. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/new-migration.sh +0 -0
  457. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/prepush.sh +0 -0
  458. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/operations/scripts/restore-db.sh +0 -0
  459. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/scripts/__init__.py +0 -0
  460. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/scripts/seeds/__init__.py +0 -0
  461. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/scripts/seeds/data/users.yaml +0 -0
  462. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/scripts/seeds/schemas/__init__.py +0 -0
  463. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/scripts/seeds/schemas/users.py +0 -0
  464. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/README.md +0 -0
  465. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/__init__.py +0 -0
  466. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/api/__init__.py +0 -0
  467. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/api/test_health.py +0 -0
  468. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/api/test_users_auth.py +0 -0
  469. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/conftest.py +0 -0
  470. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/domains/__init__.py +0 -0
  471. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/domains/example/__init__.py +0 -0
  472. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/domains/example/conftest.py +0 -0
  473. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/domains/users/__init__.py +0 -0
  474. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/domains/users/conftest.py +0 -0
  475. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/integration/__init__.py +0 -0
  476. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/integration/test_db_connectivity.py +0 -0
  477. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/unit/__init__.py +0 -0
  478. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/templates/tests/unit/test_settings.py +0 -0
  479. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tools/__init__.py +0 -0
  480. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/src/spaps_server_quickstart/tools/dependency_alignment.py +0 -0
  481. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/Makefile +0 -0
  482. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/docker-compose.yml +0 -0
  483. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/.env.production.example +0 -0
  484. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/.github/workflows/deploy.yml +0 -0
  485. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/Makefile +0 -0
  486. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/deploy.sh +0 -0
  487. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/post-deploy-verify.sh +0 -0
  488. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/pre-deploy-checks.sh +0 -0
  489. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/README.md +0 -0
  490. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/certs/.gitkeep +0 -0
  491. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/docker-compose.yml +0 -0
  492. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/nginx.conf +0 -0
  493. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/sites-available/.gitkeep +0 -0
  494. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/sites-enabled/.gitkeep +0 -0
  495. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/static/.gitkeep +0 -0
  496. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/deploy/reverse-proxy/up.sh +0 -0
  497. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/docker-compose.dev.yml +0 -0
  498. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/docker-compose.prod.yml +0 -0
  499. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/scripts/dev/await_db.py +0 -0
  500. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/scripts/dev/local-debug-loop.sh +0 -0
  501. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/scripts/dev/start-db.sh +0 -0
  502. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/operations/scripts/dev/stop-db.sh +0 -0
  503. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/templates/tests/conftest.py +0 -0
  504. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/conftest.py +0 -0
  505. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/__init__.py +0 -0
  506. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_app_factory_contract.py +0 -0
  507. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_auth_contract.py +0 -0
  508. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_celery_contract.py +0 -0
  509. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_db_contract.py +0 -0
  510. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_dependencies_contract.py +0 -0
  511. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_error_copy_contract.py +0 -0
  512. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_golden_app_pack.py +0 -0
  513. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_health_contract.py +0 -0
  514. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_manifest_fastapi_script.py +0 -0
  515. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_manifest_parity.py +0 -0
  516. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_openapi_auth_metadata.py +0 -0
  517. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_oss_hygiene_script.py +0 -0
  518. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_pagination_contract.py +0 -0
  519. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_router_contract.py +0 -0
  520. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_sdk_docs_parity_script.py +0 -0
  521. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_settings_contract.py +0 -0
  522. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_devnet_prereq_script.py +0 -0
  523. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_mainnet_billing_sql_script.py +0 -0
  524. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_mainnet_db_script.py +0 -0
  525. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_mainnet_env_script.py +0 -0
  526. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_mainnet_evidence_script.py +0 -0
  527. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_mainnet_live_script.py +0 -0
  528. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/contracts/test_x402_production_deployment_script.py +0 -0
  529. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/__init__.py +0 -0
  530. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/_db/__init__.py +0 -0
  531. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/_db/test_orm_helpers.py +0 -0
  532. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/affiliate_referrals/__init__.py +0 -0
  533. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/affiliate_referrals/test_repository.py +0 -0
  534. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/affiliate_referrals/test_router.py +0 -0
  535. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/affiliate_referrals/test_schemas.py +0 -0
  536. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/affiliate_referrals/test_service.py +0 -0
  537. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/__init__.py +0 -0
  538. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_authz.py +0 -0
  539. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_authz_wiring.py +0 -0
  540. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_callback_url_validation.py +0 -0
  541. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_repository.py +0 -0
  542. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_router.py +0 -0
  543. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/agent_approvals/test_service.py +0 -0
  544. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/app_links/__init__.py +0 -0
  545. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/app_links/test_blueprints.py +0 -0
  546. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/app_links/test_router.py +0 -0
  547. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/app_links/test_service.py +0 -0
  548. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/applications/__init__.py +0 -0
  549. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/applications/test_blueprints.py +0 -0
  550. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/applications/test_repository.py +0 -0
  551. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/applications/test_service.py +0 -0
  552. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/audit/__init__.py +0 -0
  553. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/audit/test_retention.py +0 -0
  554. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/__init__.py +0 -0
  555. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/test_refresh_token_anomaly.py +0 -0
  556. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/test_repository.py +0 -0
  557. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/auth/test_service.py +0 -0
  558. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/billing_accounts/__init__.py +0 -0
  559. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/billing_accounts/test_repository.py +0 -0
  560. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/billing_accounts/test_resolver.py +0 -0
  561. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/billing_accounts/test_router.py +0 -0
  562. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo/__init__.py +0 -0
  563. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo/test_repository.py +0 -0
  564. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo/test_service.py +0 -0
  565. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo_roles/__init__.py +0 -0
  566. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo_roles/test_router.py +0 -0
  567. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/cfo_roles/test_service.py +0 -0
  568. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/conftest.py +0 -0
  569. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/crypto/__init__.py +0 -0
  570. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/crypto/test_repository.py +0 -0
  571. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/crypto/test_router.py +0 -0
  572. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/crypto/test_service.py +0 -0
  573. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/__init__.py +0 -0
  574. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_allotment_service.py +0 -0
  575. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_booking_policy_service.py +0 -0
  576. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_booking_routes.py +0 -0
  577. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_enhanced_booking_service.py +0 -0
  578. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_pricing.py +0 -0
  579. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_repository.py +0 -0
  580. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_router.py +0 -0
  581. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dayrate/test_service.py +0 -0
  582. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dev/__init__.py +0 -0
  583. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dev/test_router.py +0 -0
  584. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/dev/test_service.py +0 -0
  585. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/device_flow/__init__.py +0 -0
  586. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/device_flow/test_store.py +0 -0
  587. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/docs/__init__.py +0 -0
  588. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/docs/test_repository.py +0 -0
  589. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/docs/test_router.py +0 -0
  590. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/docs/test_service.py +0 -0
  591. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/__init__.py +0 -0
  592. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/test_config.py +0 -0
  593. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/test_env_safety.py +0 -0
  594. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/test_repository.py +0 -0
  595. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/test_router.py +0 -0
  596. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/email/test_service.py +0 -0
  597. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/entitlements/__init__.py +0 -0
  598. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/hosted_assets/__init__.py +0 -0
  599. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/hosted_assets/test_storage.py +0 -0
  600. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/issue_reporting_platform/__init__.py +0 -0
  601. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/notifications/__init__.py +0 -0
  602. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/notifications/test_models.py +0 -0
  603. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/notifications/test_repository.py +0 -0
  604. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/notifications/test_router.py +0 -0
  605. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/policies/__init__.py +0 -0
  606. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/policies/test_repository.py +0 -0
  607. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/policies/test_service.py +0 -0
  608. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/realtime/__init__.py +0 -0
  609. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/realtime/test_service.py +0 -0
  610. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/__init__.py +0 -0
  611. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/test_encryption.py +0 -0
  612. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/test_repository.py +0 -0
  613. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/test_router.py +0 -0
  614. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/test_service.py +0 -0
  615. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/secure_messages/test_tm013_security.py +0 -0
  616. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/security/__init__.py +0 -0
  617. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/security/test_repository.py +0 -0
  618. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/security/test_router.py +0 -0
  619. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/security/test_service.py +0 -0
  620. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/self_service/__init__.py +0 -0
  621. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/sessions/__init__.py +0 -0
  622. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/sessions/test_admin_detection.py +0 -0
  623. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/sessions/test_repository.py +0 -0
  624. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/sessions/test_router.py +0 -0
  625. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/sessions/test_service.py +0 -0
  626. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/skill_evals/__init__.py +0 -0
  627. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/skill_evals/test_dogfood_workflow.py +0 -0
  628. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/skill_evals/test_router.py +0 -0
  629. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/skill_evals/test_service.py +0 -0
  630. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/__init__.py +0 -0
  631. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_guest_checkout.py +0 -0
  632. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_repository.py +0 -0
  633. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_router.py +0 -0
  634. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_service.py +0 -0
  635. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_subscription_application_scoping.py +0 -0
  636. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_tasks.py +0 -0
  637. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_webhook_handler.py +0 -0
  638. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/stripe/test_webhook_hardening.py +0 -0
  639. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/support_telemetry_platform/__init__.py +0 -0
  640. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/support_telemetry_platform/test_repository.py +0 -0
  641. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/support_telemetry_platform/test_router.py +0 -0
  642. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/support_telemetry_platform/test_service.py +0 -0
  643. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/test_redirects.py +0 -0
  644. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/usage_control/test_repository.py +0 -0
  645. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/usage_control/test_router.py +0 -0
  646. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/usage_control/test_service.py +0 -0
  647. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/users/__init__.py +0 -0
  648. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/users/test_repository.py +0 -0
  649. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/users/test_router.py +0 -0
  650. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/users/test_service.py +0 -0
  651. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/__init__.py +0 -0
  652. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_addressing.py +0 -0
  653. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_chains.py +0 -0
  654. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_legacy_routes_tenant_binding.py +0 -0
  655. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_repository.py +0 -0
  656. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_router.py +0 -0
  657. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/wallets/test_service.py +0 -0
  658. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/__init__.py +0 -0
  659. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_repository.py +0 -0
  660. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_router.py +0 -0
  661. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_service.py +0 -0
  662. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_signing.py +0 -0
  663. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/webhooks/test_tasks.py +0 -0
  664. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/whitelist/__init__.py +0 -0
  665. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/whitelist/test_repository.py +0 -0
  666. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/whitelist/test_router.py +0 -0
  667. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/whitelist/test_service.py +0 -0
  668. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/x402/__init__.py +0 -0
  669. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/x402/test_facilitator_adapter.py +0 -0
  670. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/x402/test_money_contract.py +0 -0
  671. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/x402/test_router.py +0 -0
  672. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/domains/x402/test_service.py +0 -0
  673. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/__init__.py +0 -0
  674. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_api_key.py +0 -0
  675. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_client_ip.py +0 -0
  676. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_envelope.py +0 -0
  677. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_error_envelope_v1.py +0 -0
  678. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_jwt_auth.py +0 -0
  679. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_key_scope.py +0 -0
  680. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_local_mode.py +0 -0
  681. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_rate_limiting.py +0 -0
  682. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_security_headers.py +0 -0
  683. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/middleware/test_spaps_deps.py +0 -0
  684. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/seeds/test_cli.py +0 -0
  685. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_alembic_naming.py +0 -0
  686. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_alembic_path_bootstrap.py +0 -0
  687. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_api_naming_guard.py +0 -0
  688. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_api_router.py +0 -0
  689. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_app_factory.py +0 -0
  690. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_auth.py +0 -0
  691. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_auth_channels.py +0 -0
  692. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_auth_cookies.py +0 -0
  693. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_auth_dependencies.py +0 -0
  694. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_bcrypt_compat.py +0 -0
  695. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_db_session.py +0 -0
  696. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_dependency_alignment.py +0 -0
  697. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_dev_data_pipeline.py +0 -0
  698. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_health_router.py +0 -0
  699. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_imports.py +0 -0
  700. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_logging.py +0 -0
  701. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_middleware.py +0 -0
  702. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_migration_runner.py +0 -0
  703. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_migration_status.py +0 -0
  704. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_operations_templates.py +0 -0
  705. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_package_metadata.py +0 -0
  706. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_rbac.py +0 -0
  707. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_readme_snippets.py +0 -0
  708. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_secure_messaging.py +0 -0
  709. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_seed_validation.py +0 -0
  710. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_session_autocommit.py +0 -0
  711. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_sessions_blacklist.py +0 -0
  712. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_sessions_jwt.py +0 -0
  713. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_sessions_nonce.py +0 -0
  714. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_sessions_password.py +0 -0
  715. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_settings.py +0 -0
  716. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_spaps_app.py +0 -0
  717. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_startup_validation.py +0 -0
  718. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/tests/test_tasks.py +0 -0
  719. {spaps_server_quickstart-0.6.1 → spaps_server_quickstart-0.6.3}/todo.md +0 -0
@@ -6,6 +6,17 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ### Fixed
10
+
11
+ - `entitlements.grant_entitlement` now treats a partial-UNIQUE-index violation (the Stripe entitlement dedupe indexes from migration `000000000044`) as the idempotent "already granted" case: it rolls back the aborted transaction, re-fetches the winning row, and returns it with `created=False`. Previously a concurrent grant for the same checkout/subscription raised an unhandled `IntegrityError` that poisoned the DB session and could wedge Stripe webhook processing (the event was never marked processed, so Stripe retried indefinitely). A genuine non-dedupe integrity error still fails closed (re-raises). (sp-entitlement-grant-integrityerror-idempotency-b5sl)
12
+
13
+ ## [0.6.2] - 2026-06-01
14
+
15
+ ### Changed
16
+
17
+ - Raised the FastAPI lower bound to `>=0.120.0` and added an explicit `starlette>=0.49.1,<2.0` dependency floor so downstream services can resolve Starlette security fixes without audit ignores.
18
+ - Raised the `cryptography` lower bound to `>=46.0.7` and relaxed the upper bound to `<49.0` so downstream services can adopt current CVE-fixed releases.
19
+
9
20
  ## [0.6.1] - 2026-06-01
10
21
 
11
22
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spaps-server-quickstart
3
- Version: 0.6.1
3
+ Version: 0.6.3
4
4
  Summary: Shared FastAPI/Celery scaffolding for Sweet Potato service backends.
5
5
  Project-URL: Homepage, https://api.sweetpotato.dev
6
6
  Project-URL: Repository, https://github.com/sweet-potato/spaps
@@ -21,11 +21,12 @@ Requires-Dist: asyncpg<0.31,>=0.30.0
21
21
  Requires-Dist: bcrypt<6.0,>=4.0.0
22
22
  Requires-Dist: botocore<2.0,>=1.35.0
23
23
  Requires-Dist: celery<6.0,>=5.5.3
24
- Requires-Dist: cryptography<46.0,>=42.0.0
24
+ Requires-Dist: cryptography<49.0,>=46.0.7
25
25
  Requires-Dist: email-validator<3.0,>=2.1.0
26
26
  Requires-Dist: eth-account<1.0,>=0.13.0
27
- Requires-Dist: fastapi<0.120,>=0.118.0
27
+ Requires-Dist: fastapi<1.0,>=0.120.0
28
28
  Requires-Dist: greenlet<4.0,>=3.0.3
29
+ Requires-Dist: httpcore<2.0,>=1.0.9
29
30
  Requires-Dist: httpx<0.29,>=0.28.1
30
31
  Requires-Dist: orjson<4.0,>=3.10.0
31
32
  Requires-Dist: packaging<27.0,>=23.0
@@ -41,6 +42,7 @@ Requires-Dist: slowapi<1.0,>=0.1.9
41
42
  Requires-Dist: solders<1.0,>=0.21.0
42
43
  Requires-Dist: spaps>=0.1.2
43
44
  Requires-Dist: sqlalchemy<3.0,>=2.0.30
45
+ Requires-Dist: starlette<2.0,>=0.49.1
44
46
  Requires-Dist: stripe<12.0,>=8.0.0
45
47
  Requires-Dist: structlog<26.0,>=25.4.0
46
48
  Requires-Dist: uvicorn[standard]<0.38,>=0.37.0
@@ -295,7 +297,7 @@ From the repository root: `make pytest`, `make lint`, `make typecheck`, `make py
295
297
  ## Metadata
296
298
 
297
299
  - `package_name`: `spaps-server-quickstart`
298
- - `latest_version`: `0.6.1`
300
+ - `latest_version`: `0.6.2`
299
301
  - `minimum_runtime`: `Python >=3.12`
300
302
  - `api_base_url`: `https://api.sweetpotato.dev`
301
303
 
@@ -216,7 +216,7 @@ From the repository root: `make pytest`, `make lint`, `make typecheck`, `make py
216
216
  ## Metadata
217
217
 
218
218
  - `package_name`: `spaps-server-quickstart`
219
- - `latest_version`: `0.6.1`
219
+ - `latest_version`: `0.6.2`
220
220
  - `minimum_runtime`: `Python >=3.12`
221
221
  - `api_base_url`: `https://api.sweetpotato.dev`
222
222
 
@@ -4,6 +4,16 @@ When `spaps-server-quickstart` publishes new releases, dependent services (e.g.
4
4
  `consumer_server`, `ingredient_server`) need a predictable upgrade cadence. Follow this
5
5
  checklist whenever we cut a release or adopt a newer version downstream.
6
6
 
7
+ ## 0.6.2
8
+
9
+ This is a dependency-bound patch release only. It permits FastAPI 0.120+,
10
+ requires Starlette 0.49.1 or newer, and requires `cryptography` 46.0.7 or
11
+ newer without requiring any SPAPS application-code migration.
12
+
13
+ Downstream services should refresh their dependency lockfile after bumping
14
+ `spaps-server-quickstart` to 0.6.2, then run their normal lint, typecheck, test,
15
+ and security-audit gates.
16
+
7
17
  ## 0.6.1
8
18
 
9
19
  This is a dependency-bound patch release only. It permits FastAPI 0.119.x
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "spaps-server-quickstart"
7
- version = "0.6.1"
7
+ version = "0.6.3"
8
8
  description = "Shared FastAPI/Celery scaffolding for Sweet Potato service backends."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -23,7 +23,8 @@ classifiers = [
23
23
  "Topic :: Internet :: WWW/HTTP",
24
24
  ]
25
25
  dependencies = [
26
- "fastapi>=0.118.0,<0.120",
26
+ "fastapi>=0.120.0,<1.0",
27
+ "starlette>=0.49.1,<2.0",
27
28
  "uvicorn[standard]>=0.37.0,<0.38",
28
29
  "sqlalchemy>=2.0.30,<3.0",
29
30
  "asyncpg>=0.30.0,<0.31",
@@ -40,6 +41,7 @@ dependencies = [
40
41
  "celery>=5.5.3,<6.0",
41
42
  "redis>=6.4.0,<7.0",
42
43
  "httpx>=0.28.1,<0.29",
44
+ "httpcore>=1.0.9,<2.0",
43
45
  "orjson>=3.10.0,<4.0",
44
46
  "packaging>=23.0,<27.0",
45
47
  "spaps>=0.1.2",
@@ -55,7 +57,7 @@ dependencies = [
55
57
  # Phase 3-4: Stripe + Entitlements
56
58
  "stripe>=8.0.0,<12.0",
57
59
  # Phase 7: PII Encryption (AES-256-GCM + HKDF-SHA256)
58
- "cryptography>=42.0.0,<46.0",
60
+ "cryptography>=46.0.7,<49.0",
59
61
  ]
60
62
 
61
63
  [project.optional-dependencies]
@@ -60,7 +60,7 @@ from .sdk import (
60
60
  FeatureContext,
61
61
  )
62
62
 
63
- __version__ = "0.6.1"
63
+ __version__ = "0.6.3"
64
64
 
65
65
  __all__ = [
66
66
  "create_app",
@@ -0,0 +1,11 @@
1
+ """Celery application for SPAPS background tasks."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from .spaps_settings import get_spaps_settings
6
+ from .tasks import create_celery_app
7
+
8
+ celery_app = create_celery_app(get_spaps_settings(), task_modules=[])
9
+ celery_app.set_default()
10
+
11
+ __all__ = ["celery_app"]
@@ -23,7 +23,6 @@ class Base(DeclarativeBase):
23
23
  ``__tablename__`` explicitly — no magic name derivation.
24
24
  """
25
25
 
26
- pass
27
26
 
28
27
 
29
28
  # Re-export for convenience so domain models can do:
@@ -10,6 +10,7 @@ _MODEL_MODULES = (
10
10
  "spaps_server_quickstart.domains.app_links.models",
11
11
  "spaps_server_quickstart.domains.billing_accounts.models",
12
12
  "spaps_server_quickstart.domains.applications.models",
13
+ "spaps_server_quickstart.domains.auth.models",
13
14
  "spaps_server_quickstart.domains.audit.models",
14
15
  "spaps_server_quickstart.domains.cfo.models",
15
16
  "spaps_server_quickstart.domains.crypto.models",
@@ -18,6 +19,7 @@ _MODEL_MODULES = (
18
19
  "spaps_server_quickstart.domains.email.models",
19
20
  "spaps_server_quickstart.domains.entitlements.models",
20
21
  "spaps_server_quickstart.domains.issue_reporting_platform.models",
22
+ "spaps_server_quickstart.domains.marketing_events.models",
21
23
  "spaps_server_quickstart.domains.notifications.models",
22
24
  "spaps_server_quickstart.domains.policies.models",
23
25
  "spaps_server_quickstart.domains.secure_messages.models",
@@ -59,7 +59,7 @@ async def register_affiliate(
59
59
  user: CurrentUser,
60
60
  ):
61
61
  """Register as an affiliate with a vanity slug."""
62
- result = await service.register_affiliate(
62
+ return await service.register_affiliate(
63
63
  db,
64
64
  user_id=UUID(str(user.id)),
65
65
  affiliate_type=body.affiliate_type,
@@ -68,7 +68,6 @@ async def register_affiliate(
68
68
  payout_wallet_address=body.payout_wallet_address,
69
69
  payout_chain=body.payout_chain,
70
70
  )
71
- return result
72
71
 
73
72
 
74
73
  @affiliates_router.get("/me")
@@ -79,12 +78,11 @@ async def get_my_affiliate(
79
78
  agent_id: str | None = Query(default=None),
80
79
  ):
81
80
  """Get my affiliate profile."""
82
- result = await service.get_my_affiliate(
81
+ return await service.get_my_affiliate(
83
82
  db,
84
83
  user_id=UUID(str(user.id)),
85
84
  agent_id=UUID(agent_id) if agent_id else None,
86
85
  )
87
- return result
88
86
 
89
87
 
90
88
  @affiliates_router.put("/me")
@@ -96,7 +94,7 @@ async def update_my_affiliate(
96
94
  agent_id: str | None = Query(default=None),
97
95
  ):
98
96
  """Update my affiliate profile."""
99
- result = await service.update_my_affiliate(
97
+ return await service.update_my_affiliate(
100
98
  db,
101
99
  user_id=UUID(str(user.id)),
102
100
  agent_id=UUID(agent_id) if agent_id else None,
@@ -105,7 +103,6 @@ async def update_my_affiliate(
105
103
  payout_chain=body.payout_chain,
106
104
  is_active=body.is_active,
107
105
  )
108
- return result
109
106
 
110
107
 
111
108
  # ---------------------------------------------------------------------------
@@ -124,7 +121,7 @@ async def get_commissions(
124
121
  since: str | None = Query(default=None),
125
122
  ):
126
123
  """Get commission history."""
127
- result = await service.get_commissions(
124
+ return await service.get_commissions(
128
125
  db,
129
126
  user_id=UUID(str(user.id)),
130
127
  agent_id=UUID(agent_id) if agent_id else None,
@@ -133,7 +130,6 @@ async def get_commissions(
133
130
  limit=pagination.limit,
134
131
  offset=pagination.offset,
135
132
  )
136
- return result
137
133
 
138
134
 
139
135
  @affiliates_router.get("/me/referrals")
@@ -145,14 +141,13 @@ async def get_my_referrals(
145
141
  agent_id: str | None = Query(default=None),
146
142
  ):
147
143
  """Get direct referrals."""
148
- result = await service.get_my_referrals(
144
+ return await service.get_my_referrals(
149
145
  db,
150
146
  user_id=UUID(str(user.id)),
151
147
  agent_id=UUID(agent_id) if agent_id else None,
152
148
  limit=pagination.limit,
153
149
  offset=pagination.offset,
154
150
  )
155
- return result
156
151
 
157
152
 
158
153
  @affiliates_router.get("/me/tree")
@@ -163,12 +158,11 @@ async def get_referral_tree(
163
158
  agent_id: str | None = Query(default=None),
164
159
  ):
165
160
  """Get referral tree summary (3 levels)."""
166
- result = await service.get_referral_tree(
161
+ return await service.get_referral_tree(
167
162
  db,
168
163
  user_id=UUID(str(user.id)),
169
164
  agent_id=UUID(agent_id) if agent_id else None,
170
165
  )
171
- return result
172
166
 
173
167
 
174
168
  # ---------------------------------------------------------------------------
@@ -184,14 +178,13 @@ async def request_payout(
184
178
  user: CurrentUser,
185
179
  ):
186
180
  """Request USDC payout."""
187
- result = await service.request_payout(
181
+ return await service.request_payout(
188
182
  db,
189
183
  user_id=UUID(str(user.id)),
190
184
  agent_id=UUID(body.agent_id) if body.agent_id else None,
191
185
  amount_cents=body.amount_cents,
192
186
  application_id=UUID(str(application.id)),
193
187
  )
194
- return result
195
188
 
196
189
 
197
190
  @affiliates_router.get("/me/payouts")
@@ -204,7 +197,7 @@ async def get_my_payouts(
204
197
  status: str | None = Query(default=None),
205
198
  ):
206
199
  """Get payout history."""
207
- result = await service.get_my_payouts(
200
+ return await service.get_my_payouts(
208
201
  db,
209
202
  user_id=UUID(str(user.id)),
210
203
  agent_id=UUID(agent_id) if agent_id else None,
@@ -212,7 +205,6 @@ async def get_my_payouts(
212
205
  limit=pagination.limit,
213
206
  offset=pagination.offset,
214
207
  )
215
- return result
216
208
 
217
209
 
218
210
  # ===========================================================================
@@ -242,14 +234,13 @@ async def record_click(
242
234
  ip_address = request.client.host if request.client else "unknown"
243
235
  user_agent = request.headers.get("User-Agent")
244
236
 
245
- result = await service.record_click(
237
+ return await service.record_click(
246
238
  db,
247
239
  slug=body.slug,
248
240
  application_id=request_application_id,
249
241
  ip_address=ip_address,
250
242
  user_agent=user_agent,
251
243
  )
252
- return result
253
244
 
254
245
 
255
246
  @referrals_router.post("/attribute", status_code=201)
@@ -264,7 +255,7 @@ async def attribute_referral(
264
255
  The caller must own the referred entity, and click IDs are resolved only
265
256
  inside the current API key application.
266
257
  """
267
- result = await service.attribute_referral(
258
+ return await service.attribute_referral(
268
259
  db,
269
260
  referred_entity_type=body.referred_entity_type,
270
261
  referred_entity_id=UUID(body.referred_entity_id),
@@ -273,7 +264,6 @@ async def attribute_referral(
273
264
  slug=body.slug,
274
265
  application_id=UUID(str(application.id)),
275
266
  )
276
- return result
277
267
 
278
268
 
279
269
  # ===========================================================================
@@ -292,13 +282,12 @@ async def list_admin_payouts(
292
282
  status: str | None = Query(default="requested"),
293
283
  ):
294
284
  """List payout queue (admin only)."""
295
- result = await service.list_admin_payouts(
285
+ return await service.list_admin_payouts(
296
286
  db,
297
287
  status=status,
298
288
  limit=pagination.limit,
299
289
  offset=pagination.offset,
300
290
  )
301
- return result
302
291
 
303
292
 
304
293
  @affiliate_admin_router.post("/{payout_id}/approve")
@@ -309,12 +298,11 @@ async def approve_payout(
309
298
  user: AdminUser,
310
299
  ):
311
300
  """Approve a payout request (admin only)."""
312
- result = await service.approve_payout(
301
+ return await service.approve_payout(
313
302
  db,
314
303
  payout_id=UUID(payout_id),
315
304
  admin_user_id=UUID(str(user.id)),
316
305
  )
317
- return result
318
306
 
319
307
 
320
308
  @affiliate_admin_router.post("/{payout_id}/complete")
@@ -326,13 +314,12 @@ async def complete_payout(
326
314
  user: AdminUser,
327
315
  ):
328
316
  """Mark payout as completed with tx_hash (admin only)."""
329
- result = await service.complete_payout(
317
+ return await service.complete_payout(
330
318
  db,
331
319
  payout_id=UUID(payout_id),
332
320
  tx_hash=body.tx_hash,
333
321
  application_id=UUID(str(application.id)),
334
322
  )
335
- return result
336
323
 
337
324
 
338
325
  @affiliate_admin_router.post("/{payout_id}/deny")
@@ -344,12 +331,11 @@ async def deny_payout(
344
331
  user: AdminUser,
345
332
  ):
346
333
  """Deny a payout request (admin only)."""
347
- result = await service.deny_payout(
334
+ return await service.deny_payout(
348
335
  db,
349
336
  payout_id=UUID(payout_id),
350
337
  reason=body.reason,
351
338
  )
352
- return result
353
339
 
354
340
 
355
341
  @affiliate_admin_router.post("/{payout_id}/fail")
@@ -361,12 +347,11 @@ async def fail_payout(
361
347
  user: AdminUser,
362
348
  ):
363
349
  """Mark payout as failed (admin only)."""
364
- result = await service.fail_payout(
350
+ return await service.fail_payout(
365
351
  db,
366
352
  payout_id=UUID(payout_id),
367
353
  reason=body.reason,
368
354
  )
369
- return result
370
355
 
371
356
 
372
357
  # ===========================================================================
@@ -385,7 +370,7 @@ async def update_affiliate_config(
385
370
  user: CurrentUser,
386
371
  ):
387
372
  """Configure affiliate rates for an application."""
388
- result = await service.update_affiliate_config(
373
+ return await service.update_affiliate_config(
389
374
  db,
390
375
  application_id=UUID(application_id),
391
376
  user_id=UUID(str(user.id)),
@@ -397,7 +382,6 @@ async def update_affiliate_config(
397
382
  attribution_window_days=body.attribution_window_days,
398
383
  min_payout_cents=body.min_payout_cents,
399
384
  )
400
- return result
401
385
 
402
386
 
403
387
  @affiliate_config_router.get("/{application_id}/affiliate-config")
@@ -407,11 +391,10 @@ async def get_affiliate_config(
407
391
  application: Application,
408
392
  ):
409
393
  """Read affiliate config for an application."""
410
- result = await service.get_affiliate_config(
394
+ return await service.get_affiliate_config(
411
395
  db,
412
396
  application_id=UUID(application_id),
413
397
  )
414
- return result
415
398
 
416
399
 
417
400
  # ===========================================================================
@@ -447,7 +430,7 @@ async def process_commissions(
447
430
  ):
448
431
  raise ForbiddenError("Invalid service credentials")
449
432
 
450
- result = await service.process_commissions(
433
+ return await service.process_commissions(
451
434
  db,
452
435
  payer_entity_type=body.payer_entity_type,
453
436
  payer_entity_id=UUID(body.payer_entity_id),
@@ -456,4 +439,3 @@ async def process_commissions(
456
439
  payment_reference=body.payment_reference,
457
440
  application_id=UUID(body.application_id),
458
441
  )
459
- return result
@@ -168,7 +168,7 @@ async def register_agent(
168
168
 
169
169
  Returns agent details including the raw secret (shown once).
170
170
  """
171
- result = await service.register_agent(
171
+ return await service.register_agent(
172
172
  db,
173
173
  application_id=UUID(str(application.id)),
174
174
  owner_user_id=UUID(str(user.id)),
@@ -179,7 +179,6 @@ async def register_agent(
179
179
  referral_click_id=body.referral_click_id,
180
180
  referral_slug=body.ref,
181
181
  )
182
- return result
183
182
 
184
183
 
185
184
  @agents_router.get("")
@@ -191,7 +190,7 @@ async def list_agents(
191
190
  is_active: bool | None = Query(default=True),
192
191
  ):
193
192
  """List agents owned by the authenticated user (admin sees all)."""
194
- result = await service.list_agents(
193
+ return await service.list_agents(
195
194
  db,
196
195
  application_id=UUID(str(application.id)),
197
196
  user_id=UUID(str(user.id)),
@@ -200,7 +199,6 @@ async def list_agents(
200
199
  limit=pagination.limit,
201
200
  offset=pagination.offset,
202
201
  )
203
- return result
204
202
 
205
203
 
206
204
  @agents_router.get("/{agent_id}")
@@ -211,14 +209,13 @@ async def get_agent(
211
209
  user: CurrentUser,
212
210
  ):
213
211
  """Get agent details (owner or admin only)."""
214
- result = await service.get_agent(
212
+ return await service.get_agent(
215
213
  db,
216
214
  agent_id=_as_uuid(agent_id, "agent_id"),
217
215
  application_id=UUID(str(application.id)),
218
216
  user_id=UUID(str(user.id)),
219
217
  is_admin=getattr(user, "is_admin", False),
220
218
  )
221
- return result
222
219
 
223
220
 
224
221
  @agents_router.put("/{agent_id}")
@@ -230,7 +227,7 @@ async def update_agent(
230
227
  user: CurrentUser,
231
228
  ):
232
229
  """Update agent fields (owner or admin only)."""
233
- result = await service.update_agent(
230
+ return await service.update_agent(
234
231
  db,
235
232
  agent_id=_as_uuid(agent_id, "agent_id"),
236
233
  application_id=UUID(str(application.id)),
@@ -242,7 +239,6 @@ async def update_agent(
242
239
  metadata=body.metadata,
243
240
  is_active=body.is_active,
244
241
  )
245
- return result
246
242
 
247
243
 
248
244
  @agents_router.delete("/{agent_id}")
@@ -253,14 +249,13 @@ async def deactivate_agent(
253
249
  user: CurrentUser,
254
250
  ):
255
251
  """Deactivate an agent (soft delete). Expires pending approvals."""
256
- result = await service.deactivate_agent(
252
+ return await service.deactivate_agent(
257
253
  db,
258
254
  agent_id=_as_uuid(agent_id, "agent_id"),
259
255
  application_id=UUID(str(application.id)),
260
256
  user_id=UUID(str(user.id)),
261
257
  is_admin=getattr(user, "is_admin", False),
262
258
  )
263
- return result
264
259
 
265
260
 
266
261
  @agents_router.post("/{agent_id}/rotate-secret")
@@ -271,13 +266,12 @@ async def rotate_secret(
271
266
  user: CurrentUser,
272
267
  ):
273
268
  """Rotate the agent secret. Owner only."""
274
- result = await service.rotate_agent_secret(
269
+ return await service.rotate_agent_secret(
275
270
  db,
276
271
  agent_id=_as_uuid(agent_id, "agent_id"),
277
272
  application_id=UUID(str(application.id)),
278
273
  user_id=UUID(str(user.id)),
279
274
  )
280
- return result
281
275
 
282
276
 
283
277
  # ---------------------------------------------------------------------------
@@ -294,7 +288,7 @@ async def add_approver(
294
288
  user: CurrentUser,
295
289
  ):
296
290
  """Add a user or agent as approver. Owner only."""
297
- result = await service.add_approver(
291
+ return await service.add_approver(
298
292
  db,
299
293
  agent_id=_as_uuid(agent_id, "agent_id"),
300
294
  application_id=UUID(str(application.id)),
@@ -307,7 +301,6 @@ async def add_approver(
307
301
  if body.approver_agent_id
308
302
  else None,
309
303
  )
310
- return result
311
304
 
312
305
 
313
306
  @agents_router.get("/{agent_id}/approvers")
@@ -319,14 +312,13 @@ async def list_approvers(
319
312
  pagination: PaginationDep,
320
313
  ):
321
314
  """List approvers for an agent. Owner or admin."""
322
- result = await service.list_approvers(
315
+ return await service.list_approvers(
323
316
  db,
324
317
  agent_id=_as_uuid(agent_id, "agent_id"),
325
318
  application_id=UUID(str(application.id)),
326
319
  user_id=UUID(str(user.id)),
327
320
  is_admin=getattr(user, "is_admin", False),
328
321
  )
329
- return result
330
322
 
331
323
 
332
324
  @agents_router.delete("/{agent_id}/approvers/{approver_id}")
@@ -338,14 +330,13 @@ async def remove_approver(
338
330
  user: CurrentUser,
339
331
  ):
340
332
  """Remove an approver. Owner only."""
341
- result = await service.remove_approver(
333
+ return await service.remove_approver(
342
334
  db,
343
335
  agent_id=_as_uuid(agent_id, "agent_id"),
344
336
  approver_id=_as_uuid(approver_id, "approver_id"),
345
337
  application_id=UUID(str(application.id)),
346
338
  user_id=UUID(str(user.id)),
347
339
  )
348
- return result
349
340
 
350
341
 
351
342
  # ===========================================================================
@@ -378,7 +369,7 @@ async def create_approval(
378
369
  application_id=UUID(str(application.id)),
379
370
  )
380
371
 
381
- result = await service.create_approval(
372
+ return await service.create_approval(
382
373
  db,
383
374
  agent_id=UUID(str(agent.id)),
384
375
  application_id=UUID(str(application.id)),
@@ -394,7 +385,6 @@ async def create_approval(
394
385
  else None,
395
386
  settings=request.app.state.settings,
396
387
  )
397
- return result
398
388
 
399
389
 
400
390
  @approvals_router.get("/by-code/{code}")
@@ -408,13 +398,12 @@ async def get_approval_by_code(
408
398
  # Capability gate: approval_request.read (before participant check)
409
399
  await _enforce_read_capability(db, user, application)
410
400
 
411
- result = await service.get_approval_by_code(
401
+ return await service.get_approval_by_code(
412
402
  db,
413
403
  code=code,
414
404
  application_id=UUID(str(application.id)),
415
405
  user_id=UUID(str(user.id)),
416
406
  )
417
- return result
418
407
 
419
408
 
420
409
  @approvals_router.get("/{approval_id}")
@@ -424,12 +413,11 @@ async def get_approval(
424
413
  application: Application,
425
414
  ):
426
415
  """Poll approval status. API key auth only; sensitive fields are withheld."""
427
- result = await service.get_approval(
416
+ return await service.get_approval(
428
417
  db,
429
418
  approval_id=_as_uuid(approval_id, "approval_id"),
430
419
  application_id=UUID(str(application.id)),
431
420
  )
432
- return result
433
421
 
434
422
 
435
423
  @approvals_router.post("/{approval_id}/respond")
@@ -471,7 +459,7 @@ async def respond_to_approval(
471
459
 
472
460
  raise UnauthorizedError("Authentication required")
473
461
 
474
- result = await service.respond_to_approval(
462
+ return await service.respond_to_approval(
475
463
  db,
476
464
  approval_id=_as_uuid(approval_id, "approval_id"),
477
465
  application_id=UUID(str(application.id)),
@@ -485,7 +473,6 @@ async def respond_to_approval(
485
473
  edited_intent=body.edited_intent.model_dump() if body.edited_intent else None,
486
474
  settings=settings,
487
475
  )
488
- return result
489
476
 
490
477
 
491
478
  @approvals_router.get("")
@@ -502,7 +489,7 @@ async def list_approvals(
502
489
  # Capability gate: approval_request.read (before participant check)
503
490
  await _enforce_read_capability(db, user, application)
504
491
 
505
- result = await service.list_approvals(
492
+ return await service.list_approvals(
506
493
  db,
507
494
  application_id=UUID(str(application.id)),
508
495
  user_id=UUID(str(user.id)),
@@ -513,4 +500,3 @@ async def list_approvals(
513
500
  limit=pagination.limit,
514
501
  offset=pagination.offset,
515
502
  )
516
- return result
@@ -118,7 +118,7 @@ def _resolve_approval_jwt_secret(settings: Any) -> str:
118
118
 
119
119
  def _agent_to_dict(agent: Any, *, include_secret: bool = False) -> dict[str, Any]:
120
120
  """Convert an Agent model instance to a serialisable dict."""
121
- result = {
121
+ return {
122
122
  "id": str(agent.id),
123
123
  "name": agent.name,
124
124
  "description": agent.description,
@@ -130,7 +130,6 @@ def _agent_to_dict(agent: Any, *, include_secret: bool = False) -> dict[str, Any
130
130
  "created_at": agent.created_at.isoformat() if hasattr(agent.created_at, "isoformat") else str(agent.created_at),
131
131
  "updated_at": agent.updated_at.isoformat() if hasattr(agent.updated_at, "isoformat") else str(agent.updated_at),
132
132
  }
133
- return result
134
133
 
135
134
 
136
135
  async def _attribute_agent_referral(