tempest-fastapi-sdk 0.331.0__tar.gz → 0.332.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/CHANGELOG.md +101 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/PKG-INFO +3 -3
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/README.md +2 -2
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/SHIPPED.md +48 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/migration.en.md +17 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/migration.md +16 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/auth-flow.en.md +193 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/auth-flow.md +189 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/genai-hosted.en.md +148 -4
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/genai-hosted.md +149 -4
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/index.en.md +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/index.md +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/queue-tasks.en.md +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/queue-tasks.md +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/reference.md +7 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/mkdocs.yml +3 -3
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/pyproject.toml +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/__init__.py +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/theme.py +3 -32
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/__init__.py +26 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/catalog.py +166 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/doc.py +27 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/en_us/__init__.py +30 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/en_us/auth.py +656 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/en_us/platform.py +180 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/pt_br/__init__.py +30 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/pt_br/auth.py +646 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/api/route_docs/pt_br/platform.py +280 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/routers/health.py +16 -3
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/routers/logs.py +22 -21
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/routers/tool_spec.py +21 -2
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/router.py +21 -4
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/email_delivery.py +106 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/router.py +80 -572
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/service.py +115 -10
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/_email_layout.html +80 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/en-US/activation.html +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/activation_request.html +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/activation_request_done.html +1 -1
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/en-US/email_change.html +11 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/en-US/email_changed_notice.html +8 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/en-US/email_verification.html +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/login.html +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/login_mfa.html +1 -1
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/en-US/password_reset.html +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/signup.html +1 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/signup_done.html +1 -1
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/pt-BR/activation.html +11 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_change.html +11 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_changed_notice.html +8 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification.html +11 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset.html +11 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/env.example.tmpl +3 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/__init__.py +16 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/core/docs_locale.py +65 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/__init__.py +54 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/anthropic.py +181 -5
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/router.py +21 -46
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/genai/completion.py +223 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/openai_compat.py +154 -12
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/genai/providers.py +253 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/tokens.py +8 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/router.py +13 -18
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/router.py +26 -3
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/broker.py +91 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/consumer.py +29 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/router.py +18 -5
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/settings/mixins.py +273 -1
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sse/router.py +14 -10
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/__init__.py +8 -0
- tempest_fastapi_sdk-0.332.0/tempest_fastapi_sdk/utils/color.py +63 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/webpush/router.py +26 -3
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/CLAUDE.md +1 -0
- tempest_fastapi_sdk-0.332.0/tests/api/route_docs_apps.py +234 -0
- tempest_fastapi_sdk-0.332.0/tests/api/test_route_docs.py +213 -0
- tempest_fastapi_sdk-0.332.0/tests/auth/test_email_background.py +245 -0
- tempest_fastapi_sdk-0.332.0/tests/auth/test_email_templates.py +168 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_anthropic.py +69 -0
- tempest_fastapi_sdk-0.332.0/tests/genai/test_completion.py +496 -0
- tempest_fastapi_sdk-0.332.0/tests/genai/test_providers.py +170 -0
- tempest_fastapi_sdk-0.332.0/tests/queue/test_dead_letter_ack_policy.py +130 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_fanout_live.py +38 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_hosted_genai_settings.py +69 -0
- tempest_fastapi_sdk-0.332.0/tests/test_route_docs_coverage_guard.py +229 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_wheel_payload.py +1 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/uv.lock +77 -74
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/en-US/activation.html +0 -19
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/en-US/email_change.html +0 -20
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/en-US/email_changed_notice.html +0 -10
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/en-US/email_verification.html +0 -19
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/en-US/password_reset.html +0 -20
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/pt-BR/activation.html +0 -19
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_change.html +0 -20
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_changed_notice.html +0 -10
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification.html +0 -19
- tempest_fastapi_sdk-0.331.0/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset.html +0 -20
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/ISSUE_TEMPLATE/docs.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/dependabot.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/workflows/audit.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/workflows/docs.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.github/workflows/release-pypi.yml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.gitignore +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/.python-version +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/LESSONS.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/Makefile +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/admin-showcase.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/admin-showcase.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/architecture.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/architecture.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/changelog.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/changelog.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/contributing.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/contributing.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/fullstack-web.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/fullstack-web.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/genai-examples.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/genai-examples.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/first-project.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/first-project.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/python-versions.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/python-versions.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/references.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/references.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/uv.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/getting-started/uv.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/index.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/index.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/installation.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/installation.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/integrated.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/integrated.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/index.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/index.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/api.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/api.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/business-rules.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/business-rules.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/domain.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/domain.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/flows.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/flows.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/index.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/learning/marketplace/index.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/marketplace-local.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/marketplace-local.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/admin-sql-console.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/admin-sql-console.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/admin.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/admin.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-advanced.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-advanced.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-architecture.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-architecture.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-concepts.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-concepts.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-db.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-db.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-prompts.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-prompts.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-testing.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-testing.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-tools.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents-tools.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/agents.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/app-errors.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/app-errors.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/artifact-registry.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/artifact-registry.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/asyncapi-client.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/asyncapi-client.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/audit-trail.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/audit-trail.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/auth-pages.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/auth-pages.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/authz.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/authz.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/br-helpers.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/br-helpers.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/cache.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/cache.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/chat.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/chat.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/cli.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/cli.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/database.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/database.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/deploy-safety.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/deploy-safety.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/downloads.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/downloads.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/email.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/email.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/enum-columns.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/enum-columns.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/faces.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/faces.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/fakes.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/fakes.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/feature-flags.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/feature-flags.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/fields.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/fields.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/file-store.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/file-store.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/firebase-auth.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/firebase-auth.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/genai.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/genai.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/geo.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/geo.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/hostbridge.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/hostbridge.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/http-client.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/http-client.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/http.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/http.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/idempotency.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/idempotency.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/image-generation.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/image-generation.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/introspection-auth.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/introspection-auth.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/jobs.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/jobs.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/kestra.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/kestra.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/local-storage.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/local-storage.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/logging.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/logging.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/management-commands.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/management-commands.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago-sandbox.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago-sandbox.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago-webhooks.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago-webhooks.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mercado-pago.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/metrics.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/metrics.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mfa.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/mfa.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/migrations.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/migrations.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/model-weights.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/model-weights.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/modelops.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/modelops.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/models.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/models.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/multi-tenant.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/multi-tenant.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/n8n.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/n8n.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/oauth.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/oauth.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/observability.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/observability.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/offline-sync.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/offline-sync.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openapi-client.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openapi-client.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openapi-errors.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openapi-errors.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openpix-subscriptions.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openpix-subscriptions.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openpix.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/openpix.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/outbox.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/outbox.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/pdf.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/pdf.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/permission-guards.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/permission-guards.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/pix-protocol.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/pix-protocol.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/push.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/push.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/query-plans.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/query-plans.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/react-spa.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/react-spa.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/realtime.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/realtime.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/refresh-tokens.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/refresh-tokens.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/revenuecat.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/revenuecat.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/reviews.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/reviews.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/security.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/security.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/sessions.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/sessions.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/spreadsheets.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/spreadsheets.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/sse.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/sse.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ssr-actions.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ssr-actions.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/storage.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/storage.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/stored-files.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/stored-files.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/stripe.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/stripe.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/subject-data.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/subject-data.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/system-checks.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/system-checks.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/tempestweb-frontend.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/tempestweb-frontend.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/testing.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/testing.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/text-search.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/text-search.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/transactions.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/transactions.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/transcription-pipeline.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/transcription-pipeline.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/typing.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/typing.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui-css.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui-css.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui-forms.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui-forms.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/ui.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/uploads.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/uploads.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/utilities.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/utilities.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/vision.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/vision.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/wallet.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/wallet.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/webauthn.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/webauthn.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/webpush.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/webpush.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/websocket.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/websocket.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/zap-inbound.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/zap-inbound.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/zap.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recipes/zap.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recommended-architecture.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/recommended-architecture.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/reference.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/roadmap.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/roadmap.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/ssr.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/ssr.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/tutorial.en.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/docs/tutorial.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/mkdocs_hooks/llmstxt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/README.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/manual-validation.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/phase-0.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/phase-1.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/phase-2.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/phase-3.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/planning/genai/validation-strategy.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/export_order.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/extract_recipe.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/face_separation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/mercadopago_diff.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/mercadopago_overlay.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/openpix_diff.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/openpix_overlay.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/overlay_enums.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/regen_mercado_pago.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/regen_openpix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/regen_stripe.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/regen_zap.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/scripts/regen_zap_ws.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/actions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/auth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/dashboard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/discovery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/display.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/forms.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/permissions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/session.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/site.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/sql_shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/static/admin.css +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/tasks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/_macros.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/autocomplete.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/base.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/dashboard.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/detail.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/form.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/import.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/list.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/login.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/logs.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/mfa.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/sql_shell.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/task_detail.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/admin/templates/tasks.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/agent.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/builtin.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/fact_stores.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/loop.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/memory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/multi.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/protocols.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/skills.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/structured.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/testing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/tools.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/agents/typed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/cookies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/dependencies/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/dependencies/_session.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/dependencies/auth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/dependencies/rate_limit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/dependencies/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/error_docs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/handlers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/_exempt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/_streaming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/access_log.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/body_size.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/cors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/csrf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/graceful.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/honeypot.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/idempotency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/public_scheme.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/quota.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/rate_limit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/request_id.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/middlewares/response_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/oauth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/oidc_verifier.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/openapi_pruning.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/redaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/routers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/routers/metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/server.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/spa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/static.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/api/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/constants.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/app_errors/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/artifacts/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/artifacts/actions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/artifacts/digest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/artifacts/model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/artifacts/registry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/emit_stream.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/ir.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/loader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/asyncapi/parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/_login_flow.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/exceptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/firebase.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/form_csrf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/guards.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/introspection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/locale.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/page_renderer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/pages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/_auth_layout.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/activation_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/activation_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/email_change_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/email_change_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/email_verification_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/email_verification_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_form.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_request.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_request_done.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/email_change_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/email_change_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/login.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/login_mfa.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_error.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_form.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_success.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/signup.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/templates/pt-BR/signup_done.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/token_delivery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/auth/webauthn.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/authz/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/authz/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/authz/permissions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/authz/requires.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cache/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cache/decorator.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cache/invalidation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cache/redis_manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/constants.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/chat/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/checks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/checks/builtins.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/checks/messages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/checks/registry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/CLAUDE.md.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/Dockerfile.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/README.md.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/dockerignore.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/gitignore.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/main.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/pyproject.toml.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/app.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/auth.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/controllers.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/resources.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/routers/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/routers/api.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/api/routers/service_info.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/controllers/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/controllers/system/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/controllers/system/service_info.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/core/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/core/enums.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/core/exceptions.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/core/settings.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/core/types.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/configs/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/configs/names.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/models/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/models/users/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/models/users/user.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/db/repositories/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/schemas/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/schemas/service_info.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/scripts/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/scripts/composition.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/server.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/services/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/src/utils/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/tests/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/tests/conftest.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/tests/test_schemas.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/_templates/tests/test_smoke.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/agents.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/commands.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/db.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/docker_compose.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/doctor.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/email.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/entrypoint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/flags.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/integrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/layer_lint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/lint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/main.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/new.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/openapi_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/openapi_export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/openapi_fix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/pdf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/permissions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/pr_prompt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/project.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/queue.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/routes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/schema_lint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/secrets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/serve.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/src_layers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/tasks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/user.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/cli/voice.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/controllers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/controllers/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/context.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/enums.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/logging.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/redaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/core/typed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/_alembic_templates/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/_alembic_templates/env.py.template +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/_alembic_templates/script.py.mako +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/alembic_env.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/alembic_hooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/audit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/backup.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/connection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/datetime_type.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/device_token_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/enum_migrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/enums.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/explain.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/expressions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/integrity.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/migrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/mixins.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/naming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/outbox.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/repository.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/search.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/signals.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/slow_query.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/tenant.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/transaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_oauth_account_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_recovery_code_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_refresh_token_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_token_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/user_webauthn_credential_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/voice_profile_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/webhook_inbox.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/db/webpush_subscription_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/conflict.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/factories.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/forbidden.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/i18n.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/integration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/jwt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/not_found.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/oauth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/too_many_requests.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/unauthorized.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/upload.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/validation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/value_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/exceptions/wallet.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/detector.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/geometry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/recognizer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/faces/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/flags/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/flags/backends.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/flags/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/flags/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/admin.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/conversation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/diarization.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/language.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/profiles.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/speaker_count.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/stt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/tts.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/audio/voiceprint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/batching.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/catalog.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/embeddings.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/generation_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/hardware.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/hosted.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/hub.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/image.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/inventory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/moderation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/ollama.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/onnx_embed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/pipeline.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/chroma.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/chunking.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/context.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/extract.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/fusion.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/hybrid.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/pdf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/rerank.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/retriever.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/search.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/rag/vectorstore.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/registry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/structured.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/text.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/usage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/genai/vision_text.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/br.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/db.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/distance.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/enums.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/estimate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/geocoding.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/geometry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/polyline.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/routing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/geo/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/bridge.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/exceptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/paths.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/hostbridge/shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap/client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap_ws/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap_ws/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/messaging/zap_ws/stream.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/adapters/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/adapters/mercado_pago.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/adapters/openpix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/environment.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/events.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/mercado_pago/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/environment.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/events.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/openpix/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/routing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/settlement.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/environment.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/events.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/payment/stripe/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/events.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/snapshot.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/integrations/subscriptions/revenuecat/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/_fs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/bench.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/compact.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/compose.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/edge.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/energy.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/monitoring.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/pickled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/quantize.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/ranking.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/serving.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/sklearn.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/modelops/static.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/emit_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/emit_schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/ir.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/loader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/naming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/openapi/source.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/assets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/documents.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/formatting.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/pages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/qr.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/reader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/renderer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/_base.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/_party.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/_styles.css +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/contract.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/quote.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/receipt.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/report.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/pdf/templates/voucher.html +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/privacy/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/privacy/graph.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/privacy/storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/transports/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/transports/fcm.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/push/transports/webpush.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/py.typed +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/dedup.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/publisher.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/reliability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/topology.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/queue/tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/reviews/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/reviews/models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/reviews/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/reviews/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/reviews/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/link_headers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/logs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/pagination.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/schemas/response.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/services/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/services/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/services/file_mixin.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/authenticator.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/middleware.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sessions/store.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/settings/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/settings/base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/settings/version.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/formats.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/google.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/reader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/styles.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/spreadsheet/writer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sse/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sse/broker.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sse/event_stream.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/sse/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/_static/confirm.js +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/_static/htmx.min.js +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/assets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/attributes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/flashes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/page.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/redirects.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/response.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ssr/webapp.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/_download.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/local_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/local_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/minio_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/storage/presign.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/cancellation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/cron.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/dead_letter.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/heartbeat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/heartbeat/__main__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/heartbeat/files.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/heartbeat/source.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/jobs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/lock.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/observability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/oop.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/progress.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/queue.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/scheduler.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/tasks/stages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/admin.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/database.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/factories.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/_control.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/email.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/genai.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/geo.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/payment.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/push.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/search.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/fakes/subscriptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/privacy.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/testing/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/_core.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/alert.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/card.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/classes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/empty.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/flash.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/nav.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/pagination.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/styles.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/components/table.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/css/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/css/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/css/rules.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/css/tokens.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/introspect.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/render.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/spec.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/forms/styles.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/layout/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/layout/grid.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/layout/shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/pages/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/pages/error.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/pages/page.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/ui/stylesheet.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_http_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_security_headers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_settings_discovery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_signature.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/client_ip.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/currency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/data/br_locations.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/datetime.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/dict.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/download.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/email.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/fields.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/file_store.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/forms.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/http_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/jwt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/locations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/log.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/media_types.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/naming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/opaque_token.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/password.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/regex.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/retry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/storage_backends.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/throttle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/token_types.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/totp.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/utils/upload.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/vision/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/vision/mapping.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/vision/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/vision/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/ledger.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/wallet/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/webpush/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/webpush/dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/webpush/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/webpush/service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/websockets/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/websockets/heartbeat.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/websockets/hub.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/websockets/router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tempest_fastapi_sdk/websockets/schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/_seed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_actions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_audit_viewer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_auth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_auth_role_and_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_autocomplete_fk.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_csv_import.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_dashboard_cards.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_discovery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_display.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_display_timezone.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_exclude_fields.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_form_error_rollback.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_forms.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_inlines.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_lenses.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_local_assets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_login_csrf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_login_scheme_warning.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_login_throttle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_logs_nav.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_logs_traceback_export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_mfa_attempt_limit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_password_field.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_principal_revalidation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_rbac.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_rich_filters.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_search.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_site.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_sql_shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_sql_shell_page.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_tasks_panel.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_theme.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_upload_field.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_user_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/admin/test_widgets_json_time.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_agent.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_agent_limits.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_agent_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_builtin_tools.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_fact_stores.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_loop.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_memory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_multi_agent.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_skills.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_structured.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_testing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/agents/test_typed_tools.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_access_log.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_body_size.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_business_metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_client_error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_cookies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_cors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_csrf.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_dependencies_auth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_error_docs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_error_field.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_graceful.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_handlers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_health_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_honeypot.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_idempotency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_jwt_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_lazy_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_log_redaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_logs_rotated_backups.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_logs_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_middleware_exempt_semantics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_oauth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_oidc_introspection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_oidc_verifier.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_openapi_pruning.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_outbound_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_prometheus.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_prometheus_auth.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_public_scheme_middleware.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_quota.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_quota_redis_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit_envelope.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit_extras.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit_fail_open.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_rate_limit_redis_proxy.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_request_id_middleware.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_response_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_role_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_server.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_server_error_notify.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_session_provider.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_signed_path_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_spa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_static.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_streaming_passthrough.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_token_type_strict.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_tool_spec.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_validation_envelope.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/api/test_webhooks_rsa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/app_errors/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/app_errors/test_app_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/artifacts/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/artifacts/support.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/artifacts/test_actions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/artifacts/test_digest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/artifacts/test_registry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/asyncapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/asyncapi/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/asyncapi/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/asyncapi/test_loader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/asyncapi/test_parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_activation_resend.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_auth_pages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_backend_links_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_change_password_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_consume_token_race.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_cookie_delivery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_current_user_active.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_email_change.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_email_delivery_failure.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_email_integration_disabled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_email_link_amr.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_email_link_refusal.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_expire_on_commit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_firebase.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_guards.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_introspection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_locale.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_login_throttle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_me.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_mfa_amr.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_mfa_token_paths.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_oauth_login.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_oauth_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_oauth_token_login.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_password_reset_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_password_reset_revoke.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_refresh.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_refresh_db.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_refusal_codes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_router_session_sharing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_signup_extension.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_signup_fields.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_signup_mounting.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_token_supersede.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/test_webauthn.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/auth/webauthn_authenticator.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/authz/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/authz/test_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/authz/test_permissions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/authz/test_requires.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cache/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cache/test_decorator.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cache/test_invalidation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cache/test_redis_manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/test_attachment_uploader_migration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/test_chat.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/test_messenger.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/test_messenger_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/chat/test_router_stream.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/checks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/checks/test_check_config_cli.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/checks/test_checks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_agents.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_db.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_db_alembic_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_db_resolution.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_db_seed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_docker_compose.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_docker_compose_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_dockerfile_spa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_doctor.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_email_storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_entrypoint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_flags_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_integrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_exceptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_imports.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_injection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_layout.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_routers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_structure.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_layer_lint_tests.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_main.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_management_commands.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_new_required_extras.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_errors_bare_calls.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_errors_callgraph.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_errors_configured.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_errors_delegation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_openapi_fix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_permissions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_project_claude_md.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_quality_gate_integration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_queue_tasks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_routes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_scaffold_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_scaffold_placeholders.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_scaffold_project_version.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_scaffold_quality.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_scaffold_runtime.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_secrets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_serve.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_src_layers_import.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_user.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/cli/test_user_mfa.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/controllers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/controllers/test_base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/controllers/test_controller.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/controllers/test_generic_bounds.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_context.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_enums.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_logging.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_logging_time_rotation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_redaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/core/test_typed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_alembic_env.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_alembic_env_sqlalchemy_matrix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_alembic_hooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_audit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_backup.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_bulk_ops.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_bulk_upsert_conflict.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_connection.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_cursor_types.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_eager_load.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_enum_column.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_enum_downgrade.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_enum_migration_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_enum_migrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_explain.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_expressions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_filters_contract.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_integrity.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_integrity_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_integrity_sqlalchemy_matrix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_migrations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_migrations_async.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_migrations_foreign_keys.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_mixins.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_model.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_naming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_naming_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_none_filter_is_null.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_outbox.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_repository.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_repository_conflict_exceptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_repository_order_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_safe_upgrade.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_schema_sync.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_search.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_session_helpers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_signals.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_slow_query.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_sqlite_failed_commit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_sqlite_foreign_keys.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_sqlite_wal.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_table_name.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_tenant.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_transaction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_utc_datetime.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/db/test_webhook_inbox.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_exceptions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_factories.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_i18n.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_inherited_code_warning.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_integration_disabled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/exceptions/test_value_error_codes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/faces/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/faces/test_faces.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/flags/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/flags/test_flags.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/_eval/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/_eval/corpus.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_audio.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_audio_runtime_extra.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_concurrency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_diarization.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_diarization_models.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_language.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_profiles.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_speaker_count.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_stt_loading.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_tts_tempfile.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/audio/test_voice_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_batching.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_chat_memory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_chat_memory_ranking.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_embedding_cache_redis.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_embeddings.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_env_defaults.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_eval_harness.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_genai_metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_genai_observability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_generation_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_generation_config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_generator_defaults.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_gpu_validation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hardware.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hardware_cgroup.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hardware_nvml.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hosted.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hosted_interchangeability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hub.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_hybrid.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_image.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_inventory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_moderation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_ollama.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_onnx_embed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_openai_compat.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_pipeline.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_pipeline_integration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_precision_kwarg.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_rag.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_rag_extract_pinning.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_rag_identity.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_refinements.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_registry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_rerank.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_router_limits.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_structured.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_structured_extraction.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_structured_parity.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_structured_retry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_text.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_text_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_text_concurrency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_text_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_text_seed.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_textgen_embed_metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_tokens.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_usage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_usage_cache_hit.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_vectorstore.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_vectorstore_ann.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_vectorstore_pg_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_vision_text.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/genai/test_vision_text_config.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/fixtures/nominatim_reverse_coivaras.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/fixtures/nominatim_reverse_sao_jose_da_tenda.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/fixtures/nominatim_reverse_sao_paulo.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/fixtures/nominatim_reverse_teresina.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_br.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_db.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_db_postgres_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_distance.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_estimate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_geocoding.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_geocoding_cache.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_geometry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_polyline.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_routing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/geo/test_routing_extra.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_bridge_files.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_bridge_host.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_messages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_paths.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/hostbridge/test_shell.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap_ws/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/messaging/zap_ws/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_approved.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_cancel_auth.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_capture.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_get_after_refund.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_manual.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_manual_cancel.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_refund_partial.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_refund_rest.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/card_rejected.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_cancel.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_create.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get_after_cancel.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get_after_partial_refund.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get_after_refund.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get_expired.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_get_paid.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_refund_partial.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_refund_rest.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/fixtures/mercado_pago_orders/pix_refund_unpaid.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/test_mercado_pago_adapter.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/test_mercado_pago_sandbox.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/test_openpix_adapter.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/test_openpix_adapter_wire.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/adapters/test_openpix_payout_wire.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/fixtures/chargebacks_search.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/fixtures/users_me.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_deprecations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_mercado_pago.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_overlay.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_provenance.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_sandbox_observations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_sdk_coverage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/mercado_pago/test_webhook_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_openpix.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_overlay.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_real_payload_shapes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_request_body_shape.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/openpix/test_spec_type_conflicts.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/stripe/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/stripe/test_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/stripe/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/stripe/test_money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/stripe/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/test_contract.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/test_routing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/payment/test_settlement.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/test_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/test_snapshot.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/test_vendored_docs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/integrations/subscriptions/revenuecat/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_bench.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_compact.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_compose.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_edge.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_energy.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_monitoring.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_pickled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_quantize.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_ranking.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_serving.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_sklearn_export.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/modelops/test_static.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/conftest.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_divergent_success.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_form_bodies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_hostile_spec.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_loader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_multipart_bodies.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_naming.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_nested_capture.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_payload_arrays.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/openapi/test_raw_responses.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_assets.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_formatting.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_pages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_qr.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_reader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_renderer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/pdf/test_router_and_cli.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/privacy/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/privacy/test_graph.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/privacy/test_storage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/privacy/test_storage_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/test_fcm_disabled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/test_router_ownership.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/test_service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/push/test_transports.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_broker.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_consumer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_dedup.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_fanout.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_prefetch.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_publisher.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_reliability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_topology.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/queue/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/reviews/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/reviews/test_reviews.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_cursor_pagination.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_link_headers.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_pagination.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_pagination_order_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/schemas/test_response.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/services/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/services/test_base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/services/test_file_mixin.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sessions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sessions/test_credentials_html.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sessions/test_session_dependency_factory.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sessions/test_sessions.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_auth_link_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_base.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_environment.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_integration_flags.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_mixins.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_public_scheme.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_session_cookie_kwargs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_storage_settings.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_trusted_ip_header.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/settings/test_version.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_formats.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_google.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_limits.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_reader.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_reader_async.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/spreadsheet/test_writer.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sse/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sse/test_broker.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sse/test_event_stream.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/sse/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_attributes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_confirm.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_flashes.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_html_errors.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_integration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_page.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_page_document.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_redirects.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_response.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_web_app_theme.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_webapp.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ssr/test_webapp_caching.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_accel_redirect_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_disabled_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_download_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_local_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_local_presign.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_local_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_minio_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_presign.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_presign_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/storage/test_signed_url_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_cron.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_dead_letter.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_enqueue_by_name.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_enqueue_by_name_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_heartbeat.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_jobs.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_jobs_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_jobs_dispatch.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_manager.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_observability.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_oop.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_progress.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_queue.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_queue_from_settings.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_queue_lifecycle_hooks.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_queue_typing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_scheduler.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_scheduler_lease.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/tasks/test_stages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_admin_principal_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_agent_docs_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_alembic_env_lint_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_alias_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_cli_extra_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_constraint_shape_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_api_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_build_isolation_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_examples_compile.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_examples_names.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_method_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_organization.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_signature_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docs_type_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_docstring_example_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_engine_configuration_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_enum_schema_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_factory_param_exports_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_i18n_coverage_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_kwargs_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_lazy_init_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_llmstxt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_lock_version_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_mfa_token_paths_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_protocol_shape_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_pydantic_error_types_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_pydantic_mypy_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_reexport_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_reference_coverage.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_release_flow_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_schedule_projection_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_sdist_payload.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_session_factory_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_settings_passthrough_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_spreadsheet_event_loop_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_supply_chain_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_testclient_httpx2_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_timeout_method_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_vacuous_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_version_agreement.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_wallet_concurrency_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/test_wallet_update_shape_guard.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_admin_login_typing.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_database.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_factories.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_fakes_behaviour.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_fakes_contract.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/testing/test_schema_metadata.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_components.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_core_contract.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_css.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_css_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_dependency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_file.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_help_text.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_hidden.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_introspect.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_parse.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_forms_render.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_integration.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_layout_and_pages.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/ui/test_stylesheet.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/smtp_server.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_client_ip.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_currency.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_datetime.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_dict.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_download.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_email.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_email_disabled.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_fields.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_file_store.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_forms.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_http_client.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_image_media_type.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_image_media_type_field.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_jwt.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_lazy_extras.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_locations.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_log.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_media_types.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_metrics.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_opaque_token.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_password.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_regex.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_retry.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_settings_discovery.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_signed_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_storage_backends.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_throttle.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_token_types.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_upload.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_upload_signature_policy.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/utils/test_url.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/vision/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/vision/test_detect_classify.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/vision/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/vision/test_vision.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/support.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/test_ledger.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/test_money.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/test_service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/wallet/test_wallet_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/test_dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/test_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/test_router_ownership.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/test_schemas.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/webpush/test_service.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/websockets/__init__.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/websockets/test_heartbeat.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/websockets/test_hub_and_router.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/tests/websockets/test_router_live.py +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/PROVENANCE.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/mercadopago-evidence.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/mercadopago-openapi.yaml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/openpix-evidence.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/openpix-openapi.json +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/revenuecat-webhook-event-types.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/revenuecat-webhook-sample-events.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/revenuecat-webhooks.md +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/stripe-api-facts.yaml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/zap-asyncapi.yaml +0 -0
- {tempest_fastapi_sdk-0.331.0 → tempest_fastapi_sdk-0.332.0}/vendor/zap-openapi.yaml +0 -0
|
@@ -7,6 +7,107 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.332.0] — 2026-10-27
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `API_DOCS_LOCALE` (`ServerSettings`, `en-US` por padrão ou `pt-BR`) e o
|
|
15
|
+
parâmetro `docs_locale=` nas factories de rota: o `summary` e a
|
|
16
|
+
`description` das operações, e a `description` dos parâmetros e respostas
|
|
17
|
+
declarados nelas, saem no idioma escolhido no `/docs`, no ReDoc e no
|
|
18
|
+
cliente gerado (#643). Cobertos: `make_auth_router` (as 33 rotas que
|
|
19
|
+
aparecem no schema), `make_sse_router` (e `UserAuthService.sse_router`, que
|
|
20
|
+
segue a variável), `make_push_router`, `make_web_push_router`,
|
|
21
|
+
`make_health_router`, `make_logs_router`, `make_tool_spec_router`,
|
|
22
|
+
`make_app_error_router`, `make_session_router`, `make_pdf_router` e
|
|
23
|
+
`make_voice_router`. Path, `operationId`, nome de campo, código de erro e
|
|
24
|
+
`title` de schema não mudam com o idioma, então o cliente gerado é o mesmo.
|
|
25
|
+
O documento em inglês sem a variável é idêntico byte a byte ao da 0.331.0
|
|
26
|
+
nos 11 routers, medido com todo grupo opcional de rota ligado. Língua fora do catálogo (`es-ES`, `pt-PT`) é recusada no
|
|
27
|
+
boot em vez de cair no inglês. O texto vive em
|
|
28
|
+
`tempest_fastapi_sdk.api.route_docs` (`RouteDocs`, `RouteDoc`,
|
|
29
|
+
`resolve_docs_locale`) e o guard `tests/test_route_docs_coverage_guard.py`
|
|
30
|
+
exige toda chave nas duas línguas, sem órfã. Chat, genai, agents,
|
|
31
|
+
modelops, reviews, vision, wallet e hostbridge seguem só em inglês.
|
|
32
|
+
- `complete_structured(messages, schema, *, effort=None, cache_system=False,
|
|
33
|
+
max_tokens=None, config=None, **kwargs)` no `AnthropicGenerator` e no
|
|
34
|
+
`OpenAICompatGenerator`, devolvendo `StructuredCompletion`: a instância
|
|
35
|
+
validada (ou `None`), o texto, o `TokenUsage`, o `stop_reason` normalizado
|
|
36
|
+
(`end`, `max_tokens`, `refusal`, `tool_use`, `other`) com o valor original
|
|
37
|
+
em `provider_stop_reason`, e o erro de validação. Recusa, resposta cortada
|
|
38
|
+
e JSON fora do schema voltam no objeto **com o uso** — a chamada foi
|
|
39
|
+
cobrada —, em vez de virar exceção sem custo. Levantam só erro de
|
|
40
|
+
transporte/HTTP, `TypeError` por `output_config`/`response_format` passado
|
|
41
|
+
como keyword e `ValueError` por data URL de imagem que não é base64. O
|
|
42
|
+
parse só acontece depois de uma parada natural. `effort` vai
|
|
43
|
+
como `output_config.effort` na Anthropic e como `reasoning_effort` no
|
|
44
|
+
formato OpenAI (traduzido por `effort_values`, omitido com
|
|
45
|
+
`effort_field=None`); `cache_system=True` marca o `system` com
|
|
46
|
+
`cache_control` na Anthropic. Novos: `Effort`, `StopReason`,
|
|
47
|
+
`StructuredCompletionBackend`, `build_structured_completion`,
|
|
48
|
+
`ANTHROPIC_STOP_REASONS`, `OPENAI_FINISH_REASONS`.
|
|
49
|
+
- `image_part(data, media_type)` e a tradução de partes `image_url`
|
|
50
|
+
(formato OpenAI) para o bloco `image` da Messages API
|
|
51
|
+
(`to_anthropic_image`): base64 por `data:` URL, ou `url`. Antes, o
|
|
52
|
+
`AnthropicGenerator` repassava a parte `image_url` como estava, num
|
|
53
|
+
formato que a Messages API não define.
|
|
54
|
+
- `hosted_generator(model, *, api_key, provider=None, base_url=None, ...)`
|
|
55
|
+
e `resolve_provider(model)`: o provedor sai do prefixo do id
|
|
56
|
+
(`MODEL_PREFIXES`), com a configuração de cada um — OpenAI com
|
|
57
|
+
`max_completion_tokens` (`OPENAI_MAX_TOKENS_FIELD`), Gemini pelo endpoint
|
|
58
|
+
compatível com OpenAI (`DEFAULT_GOOGLE_OPENAI_URL`, `GOOGLE_EFFORT_VALUES`)
|
|
59
|
+
e DeepSeek com `json_object` e sem `reasoning_effort`. `provider=` fora
|
|
60
|
+
de `HOSTED_PROVIDERS` levanta `ValueError` em vez de cair no DeepSeek
|
|
61
|
+
(uma string lida de configuração não passa pela checagem do tipo).
|
|
62
|
+
- `HostedGenAISettings`: `GOOGLE_API_KEY`, `GOOGLE_BASE_URL`,
|
|
63
|
+
`GOOGLE_MODEL`, `google_kwargs()` e `hosted_kwargs(model, *,
|
|
64
|
+
provider=None)`, que devolve os argumentos de `hosted_generator` com a
|
|
65
|
+
chave do provedor resolvido. `deepseek_kwargs()` passa a levar
|
|
66
|
+
`effort_field=None`, como o `hosted_generator`: o DeepSeek não documenta
|
|
67
|
+
`reasoning_effort`.
|
|
68
|
+
- `TokenUsage.cache_write_tokens`: a parte da entrada gravada no cache
|
|
69
|
+
(`cache_creation_input_tokens` da Anthropic), somada no `+`.
|
|
70
|
+
- `OpenAICompatGenerator(effort_field="reasoning_effort",
|
|
71
|
+
effort_values=None)`.
|
|
72
|
+
|
|
73
|
+
Os testes novos rodam sobre `httpx.MockTransport`: fixam o request montado e
|
|
74
|
+
a leitura da resposta documentada, não um provedor ao vivo.
|
|
75
|
+
- `AUTH_SEND_EMAILS_IN_BACKGROUND` (`AuthSettings`, default `false`): as
|
|
76
|
+
rotas do `make_auth_router` mandam os e-mails de ativação, reset, troca e
|
|
77
|
+
verificação pelo `BackgroundTasks` da requisição (#644). A resposta não
|
|
78
|
+
espera o SMTP — medido com mailer de 1 s sobre uvicorn real: signup em
|
|
79
|
+
mais de 1 s no default e em menos de 0,5 s em background —, e o tempo do
|
|
80
|
+
`/password-reset/request` deixa de revelar se o endereço tem conta. Falha
|
|
81
|
+
de SMTP vira log em `ERROR` (só o domínio do destinatário), não `503`, e
|
|
82
|
+
não há rollback por falha de envio. Fora de uma requisição o envio
|
|
83
|
+
continua aguardado.
|
|
84
|
+
- `AUTH_EMAIL_BRAND_NAME`, `AUTH_EMAIL_BRAND_COLOR`,
|
|
85
|
+
`AUTH_EMAIL_BRAND_LOGO_URL` e `AUTH_EMAIL_FOOTER_TEXT` (`AuthSettings`)
|
|
86
|
+
vestem os e-mails com a marca do projeto. Numa cor clara, o texto do botão
|
|
87
|
+
e o link escurecem sozinhos (luminância WCAG). Cor que não é `#rgb`/
|
|
88
|
+
`#rrggbb` e logo que não é URL absoluta `http(s)` derrubam o boot. O
|
|
89
|
+
contexto do template ganha `brand`.
|
|
90
|
+
- `tempest_fastapi_sdk.utils.relative_luminance` e `is_light`, que o
|
|
91
|
+
`AdminTheme` passou a usar no lugar da cópia própria.
|
|
92
|
+
|
|
93
|
+
### Changed
|
|
94
|
+
|
|
95
|
+
- `MessageBroker.on`, `MessageBroker.register` e o `subscribe`/`Consumer`
|
|
96
|
+
ganharam `ack_policy` como parâmetro nomeado. Num `QueueSpec` com
|
|
97
|
+
dead-letter, `None` vira `REJECT_ON_ERROR` fixado no próprio assinante
|
|
98
|
+
(#642): o serviço não importa mais `faststream.AckPolicy` para a DLQ
|
|
99
|
+
valer, e um `ack_policy` no broker inteiro (ex.: `NACK_ON_ERROR`) não
|
|
100
|
+
desvia a falha da DLQ — medido contra RabbitMQ real. `ACK`, `ACK_FIRST` e
|
|
101
|
+
`NACK_ON_ERROR` num spec com dead-letter levantam `ValueError`, porque
|
|
102
|
+
nenhuma das três manda a falha para a DLQ. Consumidor sem dead-letter não
|
|
103
|
+
muda.
|
|
104
|
+
- Os cinco e-mails de auth (ativação, reset, troca e verificação de e-mail,
|
|
105
|
+
aviso de e-mail alterado) ganharam visual novo sobre um layout comum,
|
|
106
|
+
`auth/templates/_email_layout.html` (#645): tabela com estilo inline,
|
|
107
|
+
cabeçalho com a marca, botão, link de reserva, nota de validade, rodapé,
|
|
108
|
+
preheader e `color-scheme` para modo escuro. O texto de cada e-mail foi
|
|
109
|
+
mantido. Template próprio com o mesmo nome continua vencendo o do SDK.
|
|
110
|
+
|
|
10
111
|
## [0.331.0] — 2026-10-26
|
|
11
112
|
|
|
12
113
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tempest-fastapi-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.332.0
|
|
4
4
|
Summary: Shared FastAPI building blocks: base schemas, ORM model, async repository, exceptions, pagination and settings — the conventions used across Tempest projects.
|
|
5
5
|
Project-URL: Homepage, https://github.com/mauriciobenjamin700/tempest-fastapi-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/mauriciobenjamin700/tempest-fastapi-sdk
|
|
@@ -369,7 +369,7 @@ Feature-rich helpers pull in third-party dependencies that you only need when yo
|
|
|
369
369
|
| `[genai-audio]` | `faster-whisper`, `coqui-tts`, `torch`, `torchaudio`, `torchcodec`, `transformers<5` | Self-hosted voice — `SpeechToText` (STT) + `TextToSpeech` (TTS) + `Language` presets (PT-BR/EN-US). The `transformers<5` cap is intentional (`coqui-tts` stops importing from transformers 5.1.0 on) and, through transformers 4.57.6, holds `huggingface-hub` below 1.0 (0.36.2), `tokenizers` at or below 0.23.0 (0.22.2) and, next to `[genai-image]`, `diffusers` at 0.39.0 — [details](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/en/installation/#genai-audio-transformers-bound) |
|
|
370
370
|
| `[genai-diarization]` | `sherpa-onnx` | Speaker diarization on ONNX Runtime (no PyTorch) — `SpeakerDiarizer`, `ConversationTranscriber`, `ensure_models` |
|
|
371
371
|
| `[faces]` | `onnxruntime`, `pillow`, `numpy` | Face detection and recognition on ONNX Runtime (no opencv, no torch, no system libraries) — `FaceRecognizer`, `compare_faces`, 16 MB default pack |
|
|
372
|
-
| `[genai-hosted]` | `httpx` | Hosted providers — `AnthropicGenerator` (Messages API) and `OpenAICompatGenerator` (OpenAI, DeepSeek) behind the same `TextBackend` / `ToolCallingBackend` / `StructuredTextBackend` protocols as Ollama, `OpenAICompatEmbedder`, `HostedGenAISettings
|
|
372
|
+
| `[genai-hosted]` | `httpx` | Hosted providers — `AnthropicGenerator` (Messages API) and `OpenAICompatGenerator` (OpenAI, DeepSeek, Gemini) behind the same `TextBackend` / `ToolCallingBackend` / `StructuredTextBackend` protocols as Ollama, `complete_structured` → `StructuredCompletion` (output, usage and stop reason on every outcome; images via `image_part`), `hosted_generator` (provider from the model id), `OpenAICompatEmbedder`, `HostedGenAISettings` (+ `hosted_kwargs()`), typed `HostedAPIError` family; no vendor SDK |
|
|
373
373
|
| `[genai-ollama]` | `httpx` | Ollama backend — `OllamaGenerator` / `OllamaEmbedder` run text + embeddings against a local Ollama daemon instead of loading torch weights; drop into `make_genai_router` / `Retriever` |
|
|
374
374
|
| `[genai-chroma]` | `chromadb` | ChromaDB store — `ChromaVectorStore` (a `VectorStore`) + `ChatMemory` (recency-aware per-user long-term chat memory) |
|
|
375
375
|
| `[genai-onnx]` | `onnxruntime`, `tokenizers` | Torch-free embeddings — `OnnxEmbedder` runs an ONNX-exported sentence model on CPU (attention-mask mean pooling), a `SupportsEmbed` drop-in for `Retriever` |
|
|
@@ -2680,7 +2680,7 @@ Each mixin owns its own env-var prefix — pick only the ones the service needs:
|
|
|
2680
2680
|
| Mixin | Env vars |
|
|
2681
2681
|
| --- | --- |
|
|
2682
2682
|
| `EnvironmentSettings` | `ENV` (`development` / `test` / `production`) |
|
|
2683
|
-
| `ServerSettings` | `SERVER_HOST`, `SERVER_PORT`, `SERVER_RELOAD`, `SERVER_DEBUG`, `TRUSTED_IP_HEADER` |
|
|
2683
|
+
| `ServerSettings` | `SERVER_HOST`, `SERVER_PORT`, `SERVER_RELOAD`, `SERVER_DEBUG`, `TRUSTED_IP_HEADER`, `SERVER_PUBLIC_SCHEME`, `API_DOCS_LOCALE` |
|
|
2684
2684
|
| `LogSettings` | `LOG_LEVEL`, `LOG_JSON`, `LOG_DIR` |
|
|
2685
2685
|
| `DatabaseSettings` | `DATABASE_URL`, `DATABASE_ECHO`, `DATABASE_POOL_SIZE`, `DATABASE_MAX_OVERFLOW`, `DATABASE_POOL_RECYCLE` |
|
|
2686
2686
|
| `RedisSettings` | `REDIS_URL`, `REDIS_DECODE_RESPONSES` |
|
|
@@ -147,7 +147,7 @@ Feature-rich helpers pull in third-party dependencies that you only need when yo
|
|
|
147
147
|
| `[genai-audio]` | `faster-whisper`, `coqui-tts`, `torch`, `torchaudio`, `torchcodec`, `transformers<5` | Self-hosted voice — `SpeechToText` (STT) + `TextToSpeech` (TTS) + `Language` presets (PT-BR/EN-US). The `transformers<5` cap is intentional (`coqui-tts` stops importing from transformers 5.1.0 on) and, through transformers 4.57.6, holds `huggingface-hub` below 1.0 (0.36.2), `tokenizers` at or below 0.23.0 (0.22.2) and, next to `[genai-image]`, `diffusers` at 0.39.0 — [details](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/en/installation/#genai-audio-transformers-bound) |
|
|
148
148
|
| `[genai-diarization]` | `sherpa-onnx` | Speaker diarization on ONNX Runtime (no PyTorch) — `SpeakerDiarizer`, `ConversationTranscriber`, `ensure_models` |
|
|
149
149
|
| `[faces]` | `onnxruntime`, `pillow`, `numpy` | Face detection and recognition on ONNX Runtime (no opencv, no torch, no system libraries) — `FaceRecognizer`, `compare_faces`, 16 MB default pack |
|
|
150
|
-
| `[genai-hosted]` | `httpx` | Hosted providers — `AnthropicGenerator` (Messages API) and `OpenAICompatGenerator` (OpenAI, DeepSeek) behind the same `TextBackend` / `ToolCallingBackend` / `StructuredTextBackend` protocols as Ollama, `OpenAICompatEmbedder`, `HostedGenAISettings
|
|
150
|
+
| `[genai-hosted]` | `httpx` | Hosted providers — `AnthropicGenerator` (Messages API) and `OpenAICompatGenerator` (OpenAI, DeepSeek, Gemini) behind the same `TextBackend` / `ToolCallingBackend` / `StructuredTextBackend` protocols as Ollama, `complete_structured` → `StructuredCompletion` (output, usage and stop reason on every outcome; images via `image_part`), `hosted_generator` (provider from the model id), `OpenAICompatEmbedder`, `HostedGenAISettings` (+ `hosted_kwargs()`), typed `HostedAPIError` family; no vendor SDK |
|
|
151
151
|
| `[genai-ollama]` | `httpx` | Ollama backend — `OllamaGenerator` / `OllamaEmbedder` run text + embeddings against a local Ollama daemon instead of loading torch weights; drop into `make_genai_router` / `Retriever` |
|
|
152
152
|
| `[genai-chroma]` | `chromadb` | ChromaDB store — `ChromaVectorStore` (a `VectorStore`) + `ChatMemory` (recency-aware per-user long-term chat memory) |
|
|
153
153
|
| `[genai-onnx]` | `onnxruntime`, `tokenizers` | Torch-free embeddings — `OnnxEmbedder` runs an ONNX-exported sentence model on CPU (attention-mask mean pooling), a `SupportsEmbed` drop-in for `Retriever` |
|
|
@@ -2458,7 +2458,7 @@ Each mixin owns its own env-var prefix — pick only the ones the service needs:
|
|
|
2458
2458
|
| Mixin | Env vars |
|
|
2459
2459
|
| --- | --- |
|
|
2460
2460
|
| `EnvironmentSettings` | `ENV` (`development` / `test` / `production`) |
|
|
2461
|
-
| `ServerSettings` | `SERVER_HOST`, `SERVER_PORT`, `SERVER_RELOAD`, `SERVER_DEBUG`, `TRUSTED_IP_HEADER` |
|
|
2461
|
+
| `ServerSettings` | `SERVER_HOST`, `SERVER_PORT`, `SERVER_RELOAD`, `SERVER_DEBUG`, `TRUSTED_IP_HEADER`, `SERVER_PUBLIC_SCHEME`, `API_DOCS_LOCALE` |
|
|
2462
2462
|
| `LogSettings` | `LOG_LEVEL`, `LOG_JSON`, `LOG_DIR` |
|
|
2463
2463
|
| `DatabaseSettings` | `DATABASE_URL`, `DATABASE_ECHO`, `DATABASE_POOL_SIZE`, `DATABASE_MAX_OVERFLOW`, `DATABASE_POOL_RECYCLE` |
|
|
2464
2464
|
| `RedisSettings` | `REDIS_URL`, `REDIS_DECODE_RESPONSES` |
|
|
@@ -854,6 +854,19 @@ The SDK currently covers (Sep 2025+, post-v0.31.x):
|
|
|
854
854
|
Anthropic/DeepSeek fica fora: nenhum dos dois documenta endpoint. O
|
|
855
855
|
"OpenAI-compatible client deliberately skipped" acima foi revertido por
|
|
856
856
|
esta entrega. Receita: `docs/recipes/genai-hosted.md`.
|
|
857
|
+
- **Resultado estruturado completo e provedor pelo id do modelo
|
|
858
|
+
(v0.332.0 (2026-10-27), extra `[genai-hosted]`)** — `complete_structured` nos dois
|
|
859
|
+
geradores hospedados devolve `StructuredCompletion` (saída, texto,
|
|
860
|
+
`TokenUsage`, `stop_reason` normalizado e o original, erro de validação)
|
|
861
|
+
sem levantar por recusa, `max_tokens` ou JSON inválido; `effort`,
|
|
862
|
+
`cache_system`, `max_tokens` por chamada. `image_part` + tradução de
|
|
863
|
+
`image_url` para o bloco `image` da Messages API. `TokenUsage` ganha
|
|
864
|
+
`cache_write_tokens`. `hosted_generator` / `resolve_provider`
|
|
865
|
+
(`MODEL_PREFIXES`) montam Anthropic, OpenAI, Gemini (endpoint compatível
|
|
866
|
+
com OpenAI, `GOOGLE_EFFORT_VALUES`) ou DeepSeek pelo id;
|
|
867
|
+
`HostedGenAISettings` ganha `GOOGLE_*`, `google_kwargs()` e
|
|
868
|
+
`hosted_kwargs(model)`. Receita: seção "Resultado completo" de
|
|
869
|
+
`docs/recipes/genai-hosted.md`.
|
|
857
870
|
- **Reconhecimento facial (v0.223.0, extra `[faces]`)** —
|
|
858
871
|
`tempest_fastapi_sdk.faces`: `FaceRecognizer` (`detect` sem biometria /
|
|
859
872
|
`recognize` / `embed_face` que recusa entrada ruim), `compare_faces`,
|
|
@@ -3863,3 +3876,38 @@ cadastro pendente comum. Com `AUTH_AUTO_ACTIVATE=true` o cadastro não consulta
|
|
|
3863
3876
|
entre `search_fields`, todas as palavras) via `where=` do `paginate`, em vez
|
|
3864
3877
|
de `filters[field] = q` (igualdade com AND). Teste:
|
|
3865
3878
|
`tests/admin/test_search.py` (8 dos 10 casos falham no código antigo).
|
|
3879
|
+
- **DLQ sem `AckPolicy` no serviço, v0.332.0 (2026-10-27) (#642)** — `ack_policy`
|
|
3880
|
+
nomeado em `MessageBroker.on`/`register`, `subscribe` e `Consumer`; spec com
|
|
3881
|
+
dead-letter fixa `REJECT_ON_ERROR` no assinante (vence o `ack_policy` do
|
|
3882
|
+
broker) e recusa `ACK`/`ACK_FIRST`/`NACK_ON_ERROR`. O default do FastStream
|
|
3883
|
+
0.7.5 já era `REJECT_ON_ERROR` (`rabbit/subscriber/config.py`), então o
|
|
3884
|
+
ganho é a garantia, não o comportamento padrão. Testes:
|
|
3885
|
+
`tests/queue/test_dead_letter_ack_policy.py`,
|
|
3886
|
+
`tests/queue/test_fanout_live.py` (`test_a_broker_wide_nack_still_dead_letters`).
|
|
3887
|
+
- **Idioma da documentação das rotas, v0.332.0 (2026-10-27) (#643)** — `API_DOCS_LOCALE`
|
|
3888
|
+
no `ServerSettings` (`en-US`/`pt-BR`, normalizado por
|
|
3889
|
+
`normalize_docs_locale` em `core/docs_locale.py`, língua desconhecida
|
|
3890
|
+
recusada) e `docs_locale=` nas factories. Catálogo em `api/route_docs/`
|
|
3891
|
+
(`en_us/` e `pt_br/`, `auth.py` + `platform.py` cada), lido por
|
|
3892
|
+
`RouteDocs.summary/description/text`; o inglês é o texto que estava inline,
|
|
3893
|
+
movido sem mudar um byte. Cobre auth, SSE, push, web push, health, logs,
|
|
3894
|
+
tool-spec, app errors, sessions, PDF e voz. Fora: chat, genai (inclusive o
|
|
3895
|
+
pipeline), agents, modelops, reviews, vision, wallet, hostbridge, os
|
|
3896
|
+
webhooks de integração e os assets do SSR. Receita:
|
|
3897
|
+
`docs/recipes/auth-flow.md`. Testes: `tests/api/test_route_docs.py`,
|
|
3898
|
+
`tests/test_route_docs_coverage_guard.py`.
|
|
3899
|
+
- **E-mail de auth em background, opt-in, v0.332.0 (2026-10-27) (#644)** —
|
|
3900
|
+
`AUTH_SEND_EMAILS_IN_BACKGROUND`; `auth/email_delivery.py` liga o
|
|
3901
|
+
`BackgroundTasks` do request a uma `ContextVar` por dependência async do
|
|
3902
|
+
`make_auth_router`, e `UserAuthService._send_email` agenda nela (ou aguarda,
|
|
3903
|
+
fora de request). Default síncrono mantido por decisão do usuário. Teste:
|
|
3904
|
+
`tests/auth/test_email_background.py` (tempo medido com uvicorn real).
|
|
3905
|
+
- **E-mails de auth com visual novo e marca, v0.332.0 (2026-10-27) (#645)** —
|
|
3906
|
+
`auth/templates/_email_layout.html` (tabela, estilo inline, preheader,
|
|
3907
|
+
`color-scheme`) estendido pelos 5 e-mails nas duas línguas;
|
|
3908
|
+
`UserAuthService._render_email` põe `brand` no contexto a partir de
|
|
3909
|
+
`AUTH_EMAIL_BRAND_NAME`/`_COLOR`/`_LOGO_URL`/`AUTH_EMAIL_FOOTER_TEXT`;
|
|
3910
|
+
`utils/color.py` (`relative_luminance`, `is_light`) compartilhado com o
|
|
3911
|
+
`AdminTheme`. Validado em browser (800/375 px, claro/escuro, marca escura,
|
|
3912
|
+
clara e ausente) — a cor clara expôs o link ilegível, que ganhou
|
|
3913
|
+
`link_color`. Teste: `tests/auth/test_email_templates.py`.
|
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Breaking-change walkthroughs grouped by minor release. Stick to the version that matches what you're upgrading **from**. The release sections are listed newest-first, so on a multi-version jump read and apply them bottom-up.
|
|
4
4
|
|
|
5
|
+
## 0.332.0 — the DLQ pins the consumer's ack policy
|
|
6
|
+
|
|
7
|
+
On a `QueueSpec` with a dead-letter, `MessageBroker.on` / `register` and
|
|
8
|
+
`subscribe` / `Consumer` pin `REJECT_ON_ERROR` on the subscriber itself when
|
|
9
|
+
`ack_policy` is `None` (#642). Passing `ACK`, `ACK_FIRST` or `NACK_ON_ERROR`
|
|
10
|
+
on a dead-lettered spec now raises `ValueError` at registration: none of the
|
|
11
|
+
three sends the failure to the DLQ. A consumer without a dead-letter is
|
|
12
|
+
unchanged.
|
|
13
|
+
|
|
14
|
+
### What to do
|
|
15
|
+
|
|
16
|
+
1. Drop `ack_policy=AckPolicy.REJECT_ON_ERROR` from dead-lettered consumers
|
|
17
|
+
if you like: it is now the default. Keeping it still works.
|
|
18
|
+
2. A dead-lettered consumer that passed `ACK`, `ACK_FIRST` or
|
|
19
|
+
`NACK_ON_ERROR` fails at boot: switch to `REJECT_ON_ERROR` (or omit it), or
|
|
20
|
+
drop the dead-letter from the spec if failures should not go to the DLQ.
|
|
21
|
+
|
|
5
22
|
## 0.331.0 — new admin look, capped storage uploads
|
|
6
23
|
|
|
7
24
|
`admin.css` was rewritten on tokens and `AdminTheme` changed two defaults:
|
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Passo a passo das mudanças que quebram compatibilidade, agrupadas por release minor. Siga a versão que casa com aquela **de onde** você está atualizando. As seções estão listadas da mais nova para a mais antiga, então num salto de várias versões leia e aplique-as de baixo para cima.
|
|
4
4
|
|
|
5
|
+
## 0.332.0 — DLQ fixa a política de ack do consumidor
|
|
6
|
+
|
|
7
|
+
Num `QueueSpec` com dead-letter, o `MessageBroker.on` / `register` e o
|
|
8
|
+
`subscribe` / `Consumer` fixam `REJECT_ON_ERROR` no próprio assinante quando
|
|
9
|
+
`ack_policy` fica `None` (#642). Passar `ACK`, `ACK_FIRST` ou `NACK_ON_ERROR`
|
|
10
|
+
num spec com dead-letter agora levanta `ValueError` no registro: nenhuma das
|
|
11
|
+
três manda a falha para a DLQ. Consumidor sem dead-letter não muda.
|
|
12
|
+
|
|
13
|
+
### O que fazer
|
|
14
|
+
|
|
15
|
+
1. Tire o `ack_policy=AckPolicy.REJECT_ON_ERROR` dos consumidores com DLQ, se
|
|
16
|
+
quiser: o default já é esse. Mantê-lo continua valendo.
|
|
17
|
+
2. Consumidor com dead-letter que passava `ACK`, `ACK_FIRST` ou
|
|
18
|
+
`NACK_ON_ERROR` falha no boot: troque por `REJECT_ON_ERROR` (ou omita), ou
|
|
19
|
+
tire o dead-letter do spec se a falha não deve ir para a DLQ.
|
|
20
|
+
|
|
5
21
|
## 0.331.0 — visual novo do admin, upload com teto no storage
|
|
6
22
|
|
|
7
23
|
O `admin.css` foi reescrito sobre tokens e o `AdminTheme` mudou dois
|
|
@@ -1496,6 +1496,7 @@ Decide **whether** and **how** the link reaches the user. They map directly to t
|
|
|
1496
1496
|
|---------|------|---------|--------------|
|
|
1497
1497
|
| `AUTH_AUTO_ACTIVATE` | `bool` | `false` | `true` = user is born active, skips activation, signup returns the JWT pair directly (Mode D). **Never in production.** |
|
|
1498
1498
|
| `AUTH_RETURN_TOKEN_IN_RESPONSE` | `bool` | `false` | `true` = activation/reset link goes in the JSON body instead of the email (Mode C). |
|
|
1499
|
+
| `AUTH_SEND_EMAILS_IN_BACKGROUND` | `bool` | `false` | `true` = the auth routes' emails go out **after** the response (`BackgroundTasks`); an SMTP failure is logged, not a `503`. See [In the background](#in-the-background-auth_send_emails_in_background). |
|
|
1499
1500
|
|
|
1500
1501
|
### Group 4 — Account token TTL (`AuthSettings`)
|
|
1501
1502
|
|
|
@@ -1514,6 +1515,10 @@ Lifetime of the **single-use** tokens (activation / reset) — distinct from the
|
|
|
1514
1515
|
| `AUTH_PASSWORD_RESET_URL_TEMPLATE` | `str` | `http://localhost:3000/reset-password?token={token}` | Same, for reset. |
|
|
1515
1516
|
| `AUTH_ACTIVATION_TEMPLATE` | `str` | `activation.html` | Jinja2 filename of the activation **email HTML**, resolved against `EmailUtils.template_dir`. |
|
|
1516
1517
|
| `AUTH_PASSWORD_RESET_TEMPLATE` | `str` | `password_reset.html` | Same, for reset. |
|
|
1518
|
+
| `AUTH_EMAIL_BRAND_NAME` | `str` | `""` | Name in the emails' header; empty leaves the header out. See [The brand in the emails](#the-brand-in-the-emails). |
|
|
1519
|
+
| `AUTH_EMAIL_BRAND_COLOR` | `str` | `#2563eb` | Color (`#rgb`/`#rrggbb`) of the button and accents; the button text darkens on its own on a light color. |
|
|
1520
|
+
| `AUTH_EMAIL_BRAND_LOGO_URL` | `str` | `""` | Absolute `http(s)` URL of the header logo, instead of the name. |
|
|
1521
|
+
| `AUTH_EMAIL_FOOTER_TEXT` | `str` | `""` | Extra footer line (company name, address). |
|
|
1517
1522
|
|
|
1518
1523
|
#### Where `AUTH_ACTIVATION_URL_TEMPLATE` points
|
|
1519
1524
|
|
|
@@ -1810,6 +1815,51 @@ sequenceDiagram
|
|
|
1810
1815
|
|
|
1811
1816
|
---
|
|
1812
1817
|
|
|
1818
|
+
## The brand in the emails
|
|
1819
|
+
|
|
1820
|
+
*(v0.332.0+)*
|
|
1821
|
+
|
|
1822
|
+
The flow's five emails (activation, password reset, email change,
|
|
1823
|
+
verification and the email-changed notice) extend one layout,
|
|
1824
|
+
`_email_layout.html`: a brand header, a card, a button, a fallback link, an
|
|
1825
|
+
expiry note and a footer. It is built on tables with inline styles — what
|
|
1826
|
+
Gmail and Outlook honor — and carries `color-scheme` for clients with a
|
|
1827
|
+
dark mode.
|
|
1828
|
+
|
|
1829
|
+
Four `AuthSettings` env vars dress the email in your brand, with no template
|
|
1830
|
+
copied:
|
|
1831
|
+
|
|
1832
|
+
```bash
|
|
1833
|
+
# .env
|
|
1834
|
+
AUTH_EMAIL_BRAND_NAME=Acme
|
|
1835
|
+
AUTH_EMAIL_BRAND_COLOR=#7c3aed
|
|
1836
|
+
AUTH_EMAIL_BRAND_LOGO_URL=https://acme.com/logo.png
|
|
1837
|
+
AUTH_EMAIL_FOOTER_TEXT=Acme Inc · San Francisco, CA
|
|
1838
|
+
```
|
|
1839
|
+
|
|
1840
|
+
- **With no name or logo**, the header is left out; the default is the blue
|
|
1841
|
+
button (`#2563eb`) with no brand.
|
|
1842
|
+
- **A light color adjusts.** The button text and the link color are picked
|
|
1843
|
+
from the color's luminance: with `#facc15` (yellow) the button gets dark
|
|
1844
|
+
text and the link turns dark gray, because yellow on the white card does
|
|
1845
|
+
not read.
|
|
1846
|
+
- **An invalid value fails the boot.** The color only takes `#rgb`/`#rrggbb`
|
|
1847
|
+
and the logo only an absolute `http(s)` URL — both go into an HTML
|
|
1848
|
+
attribute, and an email cannot load a relative path.
|
|
1849
|
+
|
|
1850
|
+
!!! tip "Your own template still wins"
|
|
1851
|
+
A `template_dir` with the same file name (`activation.html`, …) beats
|
|
1852
|
+
the SDK's, as before. The context gained `brand` (`name`, `color`,
|
|
1853
|
+
`text_color`, `link_color`, `logo_url`, `footer`); your template may use
|
|
1854
|
+
it or ignore it. To keep the new layout and change only the text, extend
|
|
1855
|
+
`_email_layout.html` and fill the `heading`, `content`, `note` and
|
|
1856
|
+
`footer` blocks, with `action_url`, `action_label` and `fallback_label`
|
|
1857
|
+
in `{% set %}`.
|
|
1858
|
+
|
|
1859
|
+
Validated in a real browser in both languages, at 800 and 375 px, in light
|
|
1860
|
+
and dark mode, with a dark brand (`#7c3aed`), a light one (`#facc15`) and no
|
|
1861
|
+
brand.
|
|
1862
|
+
|
|
1813
1863
|
## Email and page language (i18n)
|
|
1814
1864
|
|
|
1815
1865
|
Since **v0.59.0**, the emails and HTML pages the SDK ships out of the box
|
|
@@ -1941,6 +1991,105 @@ in `{{ expires_at }}`.
|
|
|
1941
1991
|
|
|
1942
1992
|
---
|
|
1943
1993
|
|
|
1994
|
+
## Route documentation language (`/docs`) *(Unreleased, #643)*
|
|
1995
|
+
|
|
1996
|
+
The email language does not change the `/docs` language. The `summary` and
|
|
1997
|
+
`description` that `make_auth_router` writes into the OpenAPI document — what
|
|
1998
|
+
shows up in Swagger, in ReDoc and in the comments of a generated client — are
|
|
1999
|
+
English by default. To have them in Brazilian Portuguese, one environment
|
|
2000
|
+
variable is enough:
|
|
2001
|
+
|
|
2002
|
+
```env
|
|
2003
|
+
# .env
|
|
2004
|
+
API_DOCS_LOCALE=pt-BR # default: en-US
|
|
2005
|
+
```
|
|
2006
|
+
|
|
2007
|
+
The whole app, in one file, to check it:
|
|
2008
|
+
|
|
2009
|
+
```python
|
|
2010
|
+
from collections.abc import AsyncIterator
|
|
2011
|
+
|
|
2012
|
+
from fastapi import FastAPI
|
|
2013
|
+
from sqlalchemy.ext.asyncio import AsyncSession
|
|
2014
|
+
|
|
2015
|
+
from tempest_fastapi_sdk import (
|
|
2016
|
+
BaseUserModel,
|
|
2017
|
+
UserAuthService,
|
|
2018
|
+
make_auth_router,
|
|
2019
|
+
make_user_token_model,
|
|
2020
|
+
)
|
|
2021
|
+
from tempest_fastapi_sdk.settings.mixins import AuthSettings, JWTSettings
|
|
2022
|
+
|
|
2023
|
+
|
|
2024
|
+
class UserModel(BaseUserModel):
|
|
2025
|
+
"""The product's account."""
|
|
2026
|
+
|
|
2027
|
+
__tablename__ = "users"
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
UserTokenModel = make_user_token_model(
|
|
2031
|
+
user_table="users",
|
|
2032
|
+
tablename="user_tokens",
|
|
2033
|
+
class_name="UserTokenModel",
|
|
2034
|
+
)
|
|
2035
|
+
|
|
2036
|
+
service: UserAuthService = UserAuthService(
|
|
2037
|
+
user_model=UserModel,
|
|
2038
|
+
token_model=UserTokenModel,
|
|
2039
|
+
auth_settings=AuthSettings(),
|
|
2040
|
+
jwt_settings=JWTSettings(),
|
|
2041
|
+
email=None,
|
|
2042
|
+
)
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
async def get_session() -> AsyncIterator[AsyncSession]:
|
|
2046
|
+
"""Request-scoped database session (use your service's own)."""
|
|
2047
|
+
raise NotImplementedError
|
|
2048
|
+
yield
|
|
2049
|
+
|
|
2050
|
+
|
|
2051
|
+
app: FastAPI = FastAPI()
|
|
2052
|
+
app.include_router(make_auth_router(service, session_factory=get_session))
|
|
2053
|
+
|
|
2054
|
+
login: dict[str, str] = app.openapi()["paths"]["/auth/login"]["post"]
|
|
2055
|
+
print(login["summary"])
|
|
2056
|
+
```
|
|
2057
|
+
|
|
2058
|
+
```console
|
|
2059
|
+
$ python app.py
|
|
2060
|
+
Log in with email + password → JWT pair
|
|
2061
|
+
$ API_DOCS_LOCALE=pt-BR python app.py
|
|
2062
|
+
Entrar com e-mail + senha → par JWT
|
|
2063
|
+
```
|
|
2064
|
+
|
|
2065
|
+
Rather decide in code than in the environment? Every route factory accepts
|
|
2066
|
+
`docs_locale=`, and the argument wins over the variable — in the example
|
|
2067
|
+
above, `make_auth_router(service, session_factory=get_session, docs_locale="pt-BR")`
|
|
2068
|
+
prints the Portuguese summary with or without `API_DOCS_LOCALE`.
|
|
2069
|
+
|
|
2070
|
+
!!! info "Only the prose changes — the contract stays"
|
|
2071
|
+
Paths, `operationId`, parameter and field names, error codes and schema
|
|
2072
|
+
`title`s are the same in both languages. A client generated from the
|
|
2073
|
+
Portuguese document is the client generated from the English one; only
|
|
2074
|
+
the comments differ.
|
|
2075
|
+
|
|
2076
|
+
!!! tip "Case does not matter"
|
|
2077
|
+
`pt-BR`, `pt_br` and `pt` become `pt-BR`; `en-US`, `EN-us` and `en`
|
|
2078
|
+
become `en-US`. Unlike `AUTH_DEFAULT_LOCALE`, a language the catalog does
|
|
2079
|
+
not carry (`es-ES`, `pt-PT`) does **not** fall back to the default: the
|
|
2080
|
+
app refuses to start, naming `API_DOCS_LOCALE`. English documentation on
|
|
2081
|
+
a deployment that asked for another language is the silent defect that
|
|
2082
|
+
refusal prevents.
|
|
2083
|
+
|
|
2084
|
+
**Which routers follow the variable today:** `make_auth_router` (every route
|
|
2085
|
+
that appears in the schema), `make_sse_router` (and
|
|
2086
|
+
`UserAuthService.sse_router`), `make_push_router`, `make_web_push_router`,
|
|
2087
|
+
`make_health_router`, `make_logs_router`, `make_tool_spec_router`,
|
|
2088
|
+
`make_app_error_router`, `make_session_router`, `make_pdf_router` and
|
|
2089
|
+
`make_voice_router`. The others (chat, genai, agents, modelops, reviews,
|
|
2090
|
+
vision, wallet, hostbridge) still document themselves in English. The
|
|
2091
|
+
variable lives on `ServerSettings`.
|
|
2092
|
+
|
|
1944
2093
|
## Five operating modes
|
|
1945
2094
|
|
|
1946
2095
|
| Mode | When to use | Flags | Where the link appears |
|
|
@@ -2430,6 +2579,50 @@ When you call `UserAuthService` outside `make_auth_router`, the rule is
|
|
|
2430
2579
|
the one for any error after a flush: roll the session back before reusing
|
|
2431
2580
|
it. The router does that on its own, because it never reaches the commit.
|
|
2432
2581
|
|
|
2582
|
+
### In the background (`AUTH_SEND_EMAILS_IN_BACKGROUND`)
|
|
2583
|
+
|
|
2584
|
+
*(v0.332.0+)*
|
|
2585
|
+
|
|
2586
|
+
By default the route waits for SMTP: a slow server makes signup and reset
|
|
2587
|
+
slow. With `AUTH_SEND_EMAILS_IN_BACKGROUND=true`, the `make_auth_router`
|
|
2588
|
+
routes hand the send to the request's `BackgroundTasks` — the response goes
|
|
2589
|
+
first and the email after. Measured in `tests/auth/test_email_background.py`,
|
|
2590
|
+
with a mailer taking 1 s per send served by real uvicorn: `POST /auth/signup`
|
|
2591
|
+
answered in over 1 s by default and in under 0.5 s in the background.
|
|
2592
|
+
|
|
2593
|
+
```bash
|
|
2594
|
+
# .env
|
|
2595
|
+
AUTH_SEND_EMAILS_IN_BACKGROUND=true
|
|
2596
|
+
```
|
|
2597
|
+
|
|
2598
|
+
What changes, and the price:
|
|
2599
|
+
|
|
2600
|
+
- **The response time stops depending on the send.** A
|
|
2601
|
+
`/password-reset/request` for a registered address no longer takes longer
|
|
2602
|
+
than one for an unknown address, a difference you could measure from
|
|
2603
|
+
outside.
|
|
2604
|
+
- **An SMTP failure does not answer `503`.** The response is gone; the
|
|
2605
|
+
failure goes to `ERROR` on the `tempest_fastapi_sdk.auth.email_delivery`
|
|
2606
|
+
logger, with the kind of email and only the recipient's **domain**.
|
|
2607
|
+
- **There is no rollback on a failed send.** The signup stays stored without
|
|
2608
|
+
the activation email (the user asks for a resend), and on reset and
|
|
2609
|
+
activation resend the new token has already replaced the pending one when
|
|
2610
|
+
the send fails — the earlier link stops working and the new one never
|
|
2611
|
+
arrived. Asking again fixes it.
|
|
2612
|
+
- **The email only goes out if the request succeeded.** `make_auth_router`
|
|
2613
|
+
commits before answering, and an exception after scheduling swaps the
|
|
2614
|
+
response for an error one, which does not carry the tasks: no link points
|
|
2615
|
+
at a token that was not stored.
|
|
2616
|
+
|
|
2617
|
+
Outside a request — `UserAuthService` called from a command, a task or a
|
|
2618
|
+
test — there is no `BackgroundTasks`, and the send is awaited as by default,
|
|
2619
|
+
with the same `EmailDeliveryException`.
|
|
2620
|
+
|
|
2621
|
+
!!! tip "Shutdown"
|
|
2622
|
+
Starlette runs a response's background tasks before the request ends, so
|
|
2623
|
+
the server's graceful shutdown waits for them like any in-flight request.
|
|
2624
|
+
A loose `asyncio.create_task` would not have that guarantee.
|
|
2625
|
+
|
|
2433
2626
|
## Token delivery
|
|
2434
2627
|
|
|
2435
2628
|
*(v0.87.0+)*
|