tempest-fastapi-sdk 0.303.0__tar.gz → 0.303.2__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.303.0 → tempest_fastapi_sdk-0.303.2}/CHANGELOG.md +127 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/PKG-INFO +1 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/SHIPPED.md +16 -4
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/genai-examples.en.md +2 -2
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/genai-examples.md +2 -2
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-advanced.en.md +3 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-advanced.md +3 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-concepts.en.md +7 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-concepts.md +7 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents.en.md +224 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents.md +222 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/genai.en.md +167 -9
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/genai.md +168 -9
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/http-client.en.md +15 -2
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/http-client.md +14 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/models.en.md +2 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/models.md +2 -2
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/pyproject.toml +1 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/__init__.py +1 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/agent.py +19 -4
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/schemas.py +12 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/structured.py +6 -3
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/model.py +7 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/hardware.py +275 -41
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/ollama.py +14 -3
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/openai_compat.py +10 -3
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/schemas.py +41 -6
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/text.py +13 -4
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/http_client.py +33 -4
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/retry.py +15 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_agent.py +73 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_multi_agent.py +38 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_typed_tools.py +2 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_model.py +29 -0
- tempest_fastapi_sdk-0.303.2/tests/genai/test_hardware.py +528 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_ollama.py +94 -1
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_openai_compat.py +44 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_text.py +86 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_http_client.py +107 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/uv.lock +1 -1
- tempest_fastapi_sdk-0.303.0/tests/genai/test_hardware.py +0 -117
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/ISSUE_TEMPLATE/docs.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/workflows/ci.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/workflows/docs.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/workflows/nightly-model.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.github/workflows/release-pypi.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.gitignore +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/.python-version +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/LESSONS.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/Makefile +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/README.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/admin-showcase.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/admin-showcase.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/architecture.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/architecture.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/changelog.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/changelog.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/contributing.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/contributing.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/fullstack-web.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/fullstack-web.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/first-project.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/first-project.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/python-versions.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/python-versions.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/references.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/references.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/uv.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/getting-started/uv.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/index.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/index.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/installation.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/installation.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/integrated.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/integrated.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/index.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/index.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/api.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/api.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/business-rules.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/business-rules.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/domain.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/domain.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/flows.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/flows.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/index.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/learning/marketplace/index.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/marketplace-local.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/marketplace-local.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/migration.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/migration.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/admin-sql-console.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/admin-sql-console.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/admin.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/admin.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-architecture.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-architecture.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-db.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-db.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-testing.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-testing.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/app-errors.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/app-errors.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/artifact-registry.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/artifact-registry.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/asyncapi-client.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/asyncapi-client.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/audit-trail.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/audit-trail.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/auth-flow.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/auth-flow.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/authz.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/authz.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/br-helpers.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/br-helpers.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/cache.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/cache.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/chat.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/chat.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/cli.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/cli.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/database.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/database.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/deploy-safety.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/deploy-safety.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/downloads.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/downloads.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/email.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/email.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/enum-columns.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/enum-columns.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/faces.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/faces.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/fakes.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/fakes.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/feature-flags.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/feature-flags.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/fields.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/fields.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/file-store.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/file-store.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/firebase-auth.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/firebase-auth.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/geo.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/geo.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/hostbridge.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/hostbridge.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/http.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/http.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/idempotency.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/idempotency.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/image-generation.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/image-generation.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/index.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/index.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/introspection-auth.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/introspection-auth.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/jobs.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/jobs.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/logging.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/logging.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/management-commands.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/management-commands.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/mercado-pago.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/mercado-pago.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/metrics.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/metrics.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/mfa.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/mfa.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/migrations.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/migrations.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/model-weights.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/model-weights.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/modelops.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/modelops.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/multi-tenant.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/multi-tenant.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/oauth.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/oauth.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/observability.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/observability.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/offline-sync.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/offline-sync.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openapi-client.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openapi-client.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openapi-errors.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openapi-errors.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openpix-subscriptions.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openpix-subscriptions.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openpix.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/openpix.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/outbox.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/outbox.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/pdf.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/pdf.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/permission-guards.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/permission-guards.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/pix-protocol.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/pix-protocol.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/push.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/push.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/query-plans.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/query-plans.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/queue-tasks.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/queue-tasks.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/react-spa.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/react-spa.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/realtime.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/realtime.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/refresh-tokens.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/refresh-tokens.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/reviews.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/reviews.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/security.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/security.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/sessions.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/sessions.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/spreadsheets.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/spreadsheets.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/sse.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/sse.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ssr-actions.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ssr-actions.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/storage.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/storage.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/stored-files.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/stored-files.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/stripe.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/stripe.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/system-checks.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/system-checks.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/tempestweb-frontend.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/tempestweb-frontend.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/testing.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/testing.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/text-search.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/text-search.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/transactions.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/transactions.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/transcription-pipeline.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/transcription-pipeline.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/typing.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/typing.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui-css.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui-css.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui-forms.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui-forms.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/ui.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/uploads.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/uploads.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/utilities.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/utilities.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/vision.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/vision.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/webauthn.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/webauthn.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/webpush.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/webpush.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/websocket.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/websocket.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/zap-inbound.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/zap-inbound.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/zap.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/zap.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/reference.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/reference.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/roadmap.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/roadmap.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/ssr.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/ssr.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/tutorial.en.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/tutorial.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/mkdocs.yml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/mkdocs_hooks/llmstxt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/README.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/manual-validation.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/phase-0.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/phase-1.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/phase-2.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/phase-3.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/planning/genai/validation-strategy.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/export_order.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/extract_recipe.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/face_separation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/mercadopago_diff.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/mercadopago_overlay.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/openpix_diff.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/openpix_overlay.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/regen_mercado_pago.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/regen_openpix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/regen_stripe.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/regen_zap.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/scripts/regen_zap_ws.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/actions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/auth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/dashboard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/discovery.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/forms.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/permissions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/session.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/site.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/sql_shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/static/admin.css +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/tasks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/autocomplete.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/base.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/dashboard.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/detail.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/form.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/import.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/list.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/login.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/logs.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/mfa.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/sql_shell.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/task_detail.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/templates/tasks.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/admin/theme.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/builtin.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/fact_stores.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/loop.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/memory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/multi.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/protocols.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/skills.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/storage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/testing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/tools.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/agents/typed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/cookies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/dependencies/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/dependencies/auth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/dependencies/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/error_docs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/handlers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/_exempt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/_streaming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/access_log.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/body_size.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/cors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/csrf.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/graceful.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/honeypot.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/idempotency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/quota.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/rate_limit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/request_id.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/middlewares/response_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/oauth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/oidc_verifier.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/redaction.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/routers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/routers/health.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/routers/logs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/routers/metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/routers/tool_spec.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/server.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/spa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/static.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/api/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/constants.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/models.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/app_errors/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/artifacts/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/artifacts/actions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/artifacts/digest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/artifacts/model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/artifacts/registry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/emit_stream.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/ir.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/loader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/asyncapi/parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/exceptions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/firebase.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/guards.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/introspection.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/locale.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/page_renderer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/activation.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/activation_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/activation_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_change.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_change_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_change_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_changed_notice.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_verification.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_verification_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/email_verification_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/password_reset.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_form.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/en-US/password_reset_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/activation.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/activation_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_change.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_change_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_change_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_changed_notice.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/email_verification_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_error.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_form.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/templates/pt-BR/password_reset_success.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/token_delivery.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/auth/webauthn.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/authz/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/authz/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/authz/permissions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/authz/requires.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cache/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cache/decorator.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cache/invalidation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cache/redis_manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/constants.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/models.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/chat/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/checks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/checks/builtins.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/checks/messages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/checks/registry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/CLAUDE.md.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/Dockerfile.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/README.md.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/dockerignore.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/env.example.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/gitignore.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/main.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/pyproject.toml.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/app.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/auth.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/dependencies/resources.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/api/routers/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/controllers/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/core/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/core/exceptions.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/core/settings.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/configs/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/configs/names.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/models/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/models/user.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/db/repositories/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/schemas/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/server.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/services/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/src/utils/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/tests/__init__.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/_templates/tests/test_smoke.py.tmpl +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/agents.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/commands.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/db.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/docker_compose.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/doctor.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/email.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/flags.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/integrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/lint.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/main.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/new.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/openapi_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/openapi_export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/openapi_fix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/pdf.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/permissions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/pr_prompt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/project.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/queue.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/routes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/secrets.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/serve.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/src_layers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/storage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/tasks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/user.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/cli/voice.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/controllers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/controllers/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/core/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/core/context.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/core/enums.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/core/logging.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/core/typed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/_alembic_templates/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/_alembic_templates/env.py.template +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/alembic_hooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/audit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/backup.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/connection.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/datetime_type.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/device_token_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/enum_migrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/enums.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/explain.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/expressions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/integrity.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/migrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/mixins.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/naming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/outbox.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/repository.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/search.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/signals.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/slow_query.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/tenant.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/transaction.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_oauth_account_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_recovery_code_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_refresh_token_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_token_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/user_webauthn_credential_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/voice_profile_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/db/webpush_subscription_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/conflict.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/factories.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/forbidden.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/i18n.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/jwt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/not_found.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/oauth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/too_many_requests.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/unauthorized.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/upload.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/validation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/exceptions/value_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/detector.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/geometry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/models.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/recognizer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/faces/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/flags/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/flags/backends.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/flags/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/flags/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/admin.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/conversation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/diarization.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/language.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/profiles.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/speaker_count.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/stt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/tts.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/audio/voiceprint.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/batching.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/catalog.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/embeddings.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/generation_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/hub.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/image.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/inventory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/moderation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/onnx_embed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/pipeline.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/chroma.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/chunking.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/context.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/extract.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/fusion.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/hybrid.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/pdf.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/rerank.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/retriever.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/search.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/rag/vectorstore.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/registry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/structured.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/tokens.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/usage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/genai/vision_text.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/br.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/db.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/distance.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/enums.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/estimate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/geocoding.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/geometry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/polyline.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/routing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/geo/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/bridge.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/exceptions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/paths.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/hostbridge/shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap/client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap_ws/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap_ws/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/messaging/zap_ws/stream.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/adapters/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/adapters/openpix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/environment.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/events.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/money.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/pix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/mercado_pago/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/environment.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/events.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/money.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/openpix/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/environment.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/events.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/money.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/integrations/payment/stripe/webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/_fs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/bench.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/compact.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/compose.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/edge.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/energy.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/monitoring.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/pickled.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/quantize.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/ranking.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/serving.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/sklearn.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/modelops/static.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/emit_client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/emit_schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/ir.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/loader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/naming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/openapi/source.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/assets.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/documents.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/formatting.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/pages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/qr.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/reader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/renderer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/_base.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/_party.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/_styles.css +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/contract.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/quote.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/receipt.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/report.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/pdf/templates/voucher.html +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/transports/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/transports/fcm.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/push/transports/webpush.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/py.typed +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/broker.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/consumer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/dedup.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/publisher.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/reliability.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/topology.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/queue/tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/reviews/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/reviews/models.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/reviews/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/reviews/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/reviews/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/link_headers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/logs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/pagination.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/schemas/response.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/services/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/services/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/services/file_mixin.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/authenticator.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/dependencies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/middleware.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sessions/store.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/settings/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/settings/base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/settings/mixins.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/spreadsheet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/spreadsheet/formats.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/spreadsheet/google.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/spreadsheet/styles.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/spreadsheet/writer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sse/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sse/broker.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/sse/event_stream.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/_static/confirm.js +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/_static/htmx.min.js +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/assets.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/attributes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/flashes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/page.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/redirects.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/response.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ssr/webapp.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/storage/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/storage/minio_client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/cancellation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/cron.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/dead_letter.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/jobs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/lock.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/observability.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/oop.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/progress.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/queue.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/scheduler.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/tasks/stages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/database.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/factories.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/_control.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/email.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/genai.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/geo.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/payment.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/push.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/testing/fakes/search.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/_core.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/alert.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/card.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/classes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/empty.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/flash.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/nav.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/pagination.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/styles.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/components/table.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/css/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/css/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/css/rules.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/css/tokens.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/introspect.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/render.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/spec.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/forms/styles.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/layout/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/layout/grid.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/layout/shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/pages/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/pages/error.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/pages/page.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/ui/stylesheet.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/_http_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/client_ip.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/currency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/data/br_locations.json +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/datetime.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/dict.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/download.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/email.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/fields.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/file_store.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/forms.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/jwt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/locations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/log.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/media_types.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/naming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/opaque_token.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/password.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/regex.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/signed_url.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/storage_backends.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/throttle.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/token_types.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/totp.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/utils/upload.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/vision/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/vision/mapping.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/vision/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/vision/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/webpush/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/webpush/dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/webpush/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/webpush/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/webpush/service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/websockets/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/websockets/heartbeat.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/websockets/hub.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/websockets/router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tempest_fastapi_sdk/websockets/schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/CLAUDE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_actions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_audit_viewer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_auth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_autocomplete_fk.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_csv_import.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_dashboard_cards.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_discovery.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_display_timezone.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_exclude_fields.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_form_error_rollback.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_forms.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_inlines.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_lenses.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_logs_nav.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_logs_traceback_export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_mfa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_password_field.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_rbac.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_rich_filters.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_site.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_sql_shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_sql_shell_page.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_tasks_panel.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_theme.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_upload_field.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_user_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/admin/test_widgets_json_time.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_agent_limits.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_agent_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_builtin_tools.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_fact_stores.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_loop.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_memory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_skills.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/agents/test_structured.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_access_log.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_body_size.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_business_metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_client_error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_cookies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_cors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_csrf.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_dependencies_auth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_error_docs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_error_envelope.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_error_field.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_graceful.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_handlers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_health_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_honeypot.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_idempotency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_jwt_dependency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_log_redaction.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_logs_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_middleware_exempt_semantics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_oauth.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_oidc_introspection.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_oidc_verifier.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_outbound_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_prometheus.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_quota.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_quota_redis_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_rate_limit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_rate_limit_envelope.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_rate_limit_extras.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_rate_limit_fail_open.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_rate_limit_redis_proxy.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_request_id_middleware.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_response_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_role_dependency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_server.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_server_error_notify.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_signed_path_dependency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_spa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_static.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_streaming_passthrough.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_token_type_strict.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_tool_spec.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_validation_envelope.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/api/test_webhooks_rsa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/app_errors/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/app_errors/test_app_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/artifacts/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/artifacts/support.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/artifacts/test_actions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/artifacts/test_digest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/artifacts/test_registry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/asyncapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/asyncapi/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/asyncapi/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/asyncapi/test_loader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/asyncapi/test_parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_activation_resend.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_backend_links_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_cookie_delivery.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_email_change.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_expire_on_commit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_firebase.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_guards.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_introspection.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_locale.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_me.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_mfa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_oauth_login.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_oauth_token_login.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_refresh.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_refresh_db.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_router_session_sharing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_signup_extension.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_signup_mounting.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_token_supersede.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/test_webauthn.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/auth/webauthn_authenticator.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/authz/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/authz/test_dependencies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/authz/test_permissions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/authz/test_requires.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cache/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cache/test_decorator.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cache/test_invalidation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cache/test_redis_manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/test_attachment_uploader_migration.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/test_chat.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/test_messenger.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/test_messenger_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/chat/test_router_stream.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/checks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/checks/test_check_config_cli.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/checks/test_checks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_agents.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_db.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_db_alembic_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_db_resolution.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_db_seed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_docker_compose.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_docker_compose_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_dockerfile_spa.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_doctor.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_email_storage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_flags_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_integrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_main.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_management_commands.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_new_required_extras.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_errors_bare_calls.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_errors_callgraph.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_errors_configured.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_errors_delegation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_openapi_fix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_permissions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_project_claude_md.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_quality_gate_integration.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_queue_tasks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_routes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_scaffold_placeholders.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_scaffold_runtime.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_secrets.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_serve.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_src_layers_import.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/cli/test_user.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/controllers/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/controllers/test_base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/controllers/test_controller.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/controllers/test_generic_bounds.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/core/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/core/test_context.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/core/test_enums.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/core/test_logging.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/core/test_typed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_alembic_hooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_audit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_backup.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_bulk_ops.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_connection.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_cursor_types.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_eager_load.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_enum_column.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_enum_migrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_explain.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_expressions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_integrity.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_integrity_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_integrity_sqlalchemy_matrix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_migrations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_migrations_async.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_mixins.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_model.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_naming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_naming_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_none_filter_is_null.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_outbox.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_repository.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_repository_conflict_exceptions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_repository_order_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_safe_upgrade.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_schema_sync.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_search.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_session_helpers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_signals.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_slow_query.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_sqlite_wal.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_table_name.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_tenant.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_transaction.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/db/test_utc_datetime.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/test_exceptions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/test_factories.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/test_i18n.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/test_inherited_code_warning.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/exceptions/test_value_error_codes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/faces/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/faces/test_faces.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/flags/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/flags/test_flags.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/_eval/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/_eval/corpus.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_audio.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_audio_runtime_extra.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_concurrency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_diarization.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_diarization_models.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_language.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_profiles.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_speaker_count.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_stt_loading.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_tts_tempfile.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/audio/test_voice_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_batching.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_chat_memory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_chat_memory_ranking.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_embedding_cache_redis.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_embeddings.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_env_defaults.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_eval_harness.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_genai_metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_genai_observability.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_generation_cache.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_generation_config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_generator_defaults.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_gpu_validation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_hardware_nvml.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_hub.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_hybrid.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_image.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_inventory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_moderation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_onnx_embed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_pipeline.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_pipeline_integration.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_precision_kwarg.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_rag.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_rag_extract_pinning.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_rag_identity.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_refinements.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_registry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_rerank.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_router_limits.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_structured.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_structured_extraction.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_structured_parity.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_structured_retry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_text_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_text_concurrency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_text_lifecycle.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_text_seed.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_textgen_embed_metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_tokens.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_usage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_usage_cache_hit.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_vectorstore.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_vectorstore_ann.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_vectorstore_pg_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_vision_text.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/genai/test_vision_text_config.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_br.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_db.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_db_postgres_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_distance.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_estimate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_geocoding.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_geometry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_polyline.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_routing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/geo/test_routing_extra.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_bridge_files.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_bridge_host.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_messages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_paths.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/hostbridge/test_shell.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/zap/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/zap/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/zap/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/zap_ws/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/messaging/zap_ws/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/adapters/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/adapters/test_openpix_adapter.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/adapters/test_openpix_adapter_wire.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_mercado_pago.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_overlay.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_pix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_provenance.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/mercado_pago/test_sdk_coverage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_openpix.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_overlay.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_real_payload_shapes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_request_body_shape.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/openpix/test_spec_type_conflicts.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/stripe/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/stripe/test_client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/stripe/test_generated_drift.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/stripe/test_money.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/stripe/test_webhooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/integrations/payment/test_contract.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_bench.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_compact.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_compose.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_edge.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_energy.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_monitoring.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_pickled.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_quantize.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_ranking.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_serving.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_sklearn_export.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/modelops/test_static.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/conftest.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_divergent_success.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_form_bodies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_generate.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_hostile_spec.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_loader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_multipart_bodies.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_naming.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_nested_capture.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_payload_arrays.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/openapi/test_raw_responses.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_assets.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_formatting.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_pages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_qr.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_reader.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_renderer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/pdf/test_router_and_cli.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/push/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/push/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/push/test_service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/push/test_transports.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_broker.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_consumer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_dedup.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_prefetch.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_publisher.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_reliability.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_topology.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/queue/test_tracing.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/reviews/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/reviews/test_reviews.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_cursor_pagination.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_link_headers.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_pagination.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_pagination_order_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/schemas/test_response.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/services/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/services/test_base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/services/test_file_mixin.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sessions/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sessions/test_credentials_html.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sessions/test_session_dependency_factory.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sessions/test_sessions.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/settings/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/settings/test_base.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/settings/test_mixins.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/settings/test_session_cookie_kwargs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/spreadsheet/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/spreadsheet/test_formats.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/spreadsheet/test_google.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/spreadsheet/test_writer.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sse/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sse/test_broker.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/sse/test_event_stream.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_attributes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_confirm.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_flashes.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_html_errors.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_integration.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_page.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_page_document.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_redirects.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_response.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_web_app_theme.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ssr/test_webapp.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/storage/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/storage/test_accel_redirect_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/storage/test_download_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/storage/test_minio_client.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/storage/test_signed_url_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_cron.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_dead_letter.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_jobs.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_jobs_cancellation.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_manager.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_observability.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_oop.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_progress.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_queue.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_queue_from_settings.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_queue_lifecycle_hooks.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_scheduler.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_scheduler_lease.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/tasks/test_stages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_agent_docs_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_alias_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_constraint_shape_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_api_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_examples_compile.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_examples_names.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_method_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_organization.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_signature_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docs_type_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_docstring_example_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_enum_schema_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_i18n_coverage_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_kwargs_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_llmstxt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_lock_version_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_protocol_shape_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_pydantic_error_types_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_pydantic_mypy_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_reexport_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_reference_coverage.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_schedule_projection_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_sdist_payload.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_settings_passthrough_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_testclient_httpx2_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_timeout_method_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_vacuous_guard.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_version_agreement.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/test_wheel_payload.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/testing/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/testing/test_database.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/testing/test_factories.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/testing/test_fakes_behaviour.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/testing/test_fakes_contract.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_components.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_core_contract.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_css.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_css_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_dependency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_file.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_help_text.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_hidden.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_introspect.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_parse.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_forms_render.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_integration.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_layout_and_pages.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/ui/test_stylesheet.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_client_ip.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_currency.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_datetime.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_dict.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_download.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_email.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_fields.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_file_store.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_forms.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_jwt.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_lazy_extras.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_locations.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_log.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_media_types.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_metrics.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_opaque_token.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_password.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_regex.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_retry.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_signed_url.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_storage_backends.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_throttle.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_token_types.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_upload.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/utils/test_upload_signature_policy.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/vision/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/vision/test_detect_classify.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/vision/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/vision/test_vision.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/webpush/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/webpush/test_dispatcher.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/webpush/test_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/webpush/test_schemas.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/webpush/test_service.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/websockets/__init__.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/websockets/test_heartbeat.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/websockets/test_hub_and_router.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/tests/websockets/test_router_live.py +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/PROVENANCE.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/mercadopago-evidence.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/mercadopago-openapi.yaml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/openpix-evidence.md +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/openpix-openapi.json +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/stripe-api-facts.yaml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/zap-asyncapi.yaml +0 -0
- {tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/vendor/zap-openapi.yaml +0 -0
|
@@ -7,6 +7,133 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.303.2] — 2026-10-04
|
|
11
|
+
|
|
12
|
+
Três defeitos achados ao medir agente e planejador em CPU: resposta vazia
|
|
13
|
+
do modelo deixa de contar como sucesso, a geração do Ollama não refaz mais
|
|
14
|
+
`ReadTimeout` (que custava três timeouts), e o planejador de hardware para
|
|
15
|
+
de tratar "RAM não medida" como "zero bytes livres" — no Linux, mede pelo
|
|
16
|
+
`/proc/meminfo` mesmo sem `psutil`.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **`RetryPolicy.retry_on_read_timeout`** (default `True`): com `False`, o
|
|
21
|
+
`HTTPClient` deixa de refazer `ReadTimeout` em `request()` e na abertura
|
|
22
|
+
de `stream()`, e continua refazendo `ConnectError` e os `retry_statuses`.
|
|
23
|
+
Quem usa `HTTPClient` direto não vê mudança.
|
|
24
|
+
|
|
25
|
+
- **Flags de "medido" no planejador de hardware.** Campos novos, todos
|
|
26
|
+
`bool` com default `True` (sem quebra de tipo — os campos de bytes
|
|
27
|
+
continuam `int`): `HardwareInfo.ram_measured`,
|
|
28
|
+
`HardwareInfo.disk_measured` (o `disk_free_bytes` também virava `0` quando
|
|
29
|
+
o `shutil.disk_usage` levantava `OSError`) e
|
|
30
|
+
`CapacityReport.memory_measured`. Em GPU o veredito segue medido pela
|
|
31
|
+
VRAM; só a sugestão de offload para CPU, que depende da RAM, vira "a RAM
|
|
32
|
+
não foi medida" em vez de "o host é pequeno demais".
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- **Geração mais longa que o timeout custava três timeouts.** O
|
|
37
|
+
`HTTPClient` que `OllamaGenerator`, `OllamaEmbedder` e
|
|
38
|
+
`OpenAICompatGenerator` criam refazia `ReadTimeout` até 3 vezes, mas o
|
|
39
|
+
Ollama aborta a geração quando o cliente desiste (cada tentativa aparece
|
|
40
|
+
no log do 0.30.11 como um `500` de exatamente o timeout), então nenhuma
|
|
41
|
+
tentativa terminava. Medido com `qwen2.5:3b` em CPU
|
|
42
|
+
(`options={"num_gpu": 0}`) e `timeout=10`: 31,54 s até a exceção, com 3
|
|
43
|
+
requisições no daemon (mediana, N=3); agora 10,01 s, com 1 (mediana,
|
|
44
|
+
N=5). Com o `timeout=120` padrão, a conta passa de ~6 min para ~2 min.
|
|
45
|
+
Esses clientes passam a usar `RetryPolicy(retry_on_read_timeout=False)`
|
|
46
|
+
quando `retry_policy=` não é dado; uma política explícita é usada como
|
|
47
|
+
veio, e um `http_client=` injetado mantém a dele.
|
|
48
|
+
|
|
49
|
+
- **Resposta vazia do modelo não termina mais como sucesso.** Uma mensagem
|
|
50
|
+
sem texto (ou só com espaço em branco) e sem `tool_calls` virava
|
|
51
|
+
`StopReason.COMPLETED`, e a execução saía com `succeeded=True` e
|
|
52
|
+
`output == ""`. Agora termina no novo `StopReason.EMPTY_RESPONSE`
|
|
53
|
+
(`"empty_response"`), com `succeeded=False` — vale para `run`, `stream`,
|
|
54
|
+
a delegação (`agent_tool` marca `[stopped: empty_response]`), o
|
|
55
|
+
`run_until(..., until=succeeded)` (que passa a repetir a rodada) e o
|
|
56
|
+
`run_structured` (`parse_error="the run produced no answer"`, sem a
|
|
57
|
+
chamada de extração). O agente não repete a pergunta sozinho. Medido com
|
|
58
|
+
`OllamaGenerator("qwen2.5:0.5b", options={"num_gpu": 0})` no Ollama
|
|
59
|
+
0.30.11, meta que pede uma ferramenta e a resposta: antes, 58 de 200
|
|
60
|
+
execuções saíam `completed` com `output` vazio; depois, 73 de 200
|
|
61
|
+
terminaram `empty_response` e 0 de 200 saíram `succeeded` vazias (a taxa
|
|
62
|
+
oscilou entre 25% e 40% de um lote para outro). Com
|
|
63
|
+
`run_until(..., until=succeeded, max_rounds=3)`, 58 de 60 laços terminaram
|
|
64
|
+
aceitos.
|
|
65
|
+
|
|
66
|
+
- **RAM desconhecida virava "sem memória livre".** Sem `psutil` (que vem
|
|
67
|
+
no `[metrics]`, não no `[genai]`), o `probe_hardware()` reportava
|
|
68
|
+
`ram_available_bytes=0` e o planejador lia isso como zero byte livre.
|
|
69
|
+
Medido na 0.303.1 numa venv limpa só com o pacote base, máquina de 62 GB,
|
|
70
|
+
`CUDA_VISIBLE_DEVICES=`: `recommend(num_params=500_000_000)` devolvia
|
|
71
|
+
`fits=False` em `int4`, `headroom_pct=-100.0` e *"use a smaller model or
|
|
72
|
+
add memory"*.
|
|
73
|
+
- **No Linux a RAM é medida sem `psutil`**, lendo `MemTotal`/`MemAvailable`
|
|
74
|
+
do `/proc/meminfo` (o arquivo que o próprio `psutil` lê). Na mesma venv
|
|
75
|
+
limpa, o `recommend(num_params=500_000_000)` agora dá `fits=True` em
|
|
76
|
+
`float32`; o total lido bateu com o `free -b` (67 430 916 096 bytes) e,
|
|
77
|
+
no mesmo processo, os dois bytes bateram exatamente com o `psutil` 7.2.2.
|
|
78
|
+
Kernel sem `MemAvailable` (ou com `0`) conta como não medido, em vez de
|
|
79
|
+
aproximar por `MemFree + Buffers + Cached`. Limitação medida e
|
|
80
|
+
documentada: em container com `--memory=512m`, o `/proc/meminfo` (e o
|
|
81
|
+
`psutil`) mostram a RAM do host, e o planejador diz `fits=True` para um
|
|
82
|
+
load de 2,5 GB.
|
|
83
|
+
- **Quando nenhuma fonte responde** (Windows/macOS sem `psutil`, ou Linux
|
|
84
|
+
com o `/proc/meminfo` ilegível), o relatório diz "não medido" em vez de
|
|
85
|
+
"não cabe": `memory_measured=False`, `dtype` na precisão nativa (sem
|
|
86
|
+
descer a escada de quantização), `headroom_pct=0.0`, e uma sugestão que
|
|
87
|
+
diz por plataforma como medir (*"on darwin measuring RAM requires psutil
|
|
88
|
+
(pip install 'tempest-fastapi-sdk[metrics]')"*). `fits` continua `False`
|
|
89
|
+
quando nada foi verificado, para um `if report.fits:` seguir
|
|
90
|
+
conservador.
|
|
91
|
+
- `tempest model hardware` imprime a RAM lida do `/proc/meminfo` no Linux
|
|
92
|
+
sem `psutil`, e `ram total : unknown (<motivo da plataforma>)` em vez de
|
|
93
|
+
`0.0 GB` quando nenhuma fonte responde.
|
|
94
|
+
|
|
95
|
+
## [0.303.1] — 2026-10-04
|
|
96
|
+
|
|
97
|
+
O planejador de hardware passa a dimensionar CPU na precisão que o gerador
|
|
98
|
+
de fato carrega (`float32`), e o offload quantizado que ele sugere fica na
|
|
99
|
+
CPU mesmo com GPU visível.
|
|
100
|
+
|
|
101
|
+
### Changed
|
|
102
|
+
|
|
103
|
+
- **`can_run(dtype=...)` agora tem default `None`**, que dimensiona na
|
|
104
|
+
precisão que o `TextGenerator(dtype="auto")` carrega no device escolhido:
|
|
105
|
+
`bfloat16` em CUDA/MPS (igual a antes), **`float32` em CPU** (antes
|
|
106
|
+
`bfloat16`). `dtype=` explícito continua valendo. `recommend()` tenta a
|
|
107
|
+
precisão nativa → `int8` → `int4`; em GPU a ordem é a mesma de antes. O
|
|
108
|
+
`CapacityReport` não mudou de forma; muda o `dtype`/`estimated_bytes`
|
|
109
|
+
que ele traz para CPU.
|
|
110
|
+
- A `suggestion` de quantizar em CPU acrescenta que o bitsandbytes em CPU
|
|
111
|
+
decodifica mais devagar que `float32` e aponta o `OllamaGenerator`
|
|
112
|
+
(GGUF) como o caminho de CPU. Medido no Qwen2.5-3B: `generate()` de até
|
|
113
|
+
16 tokens em ~9 s com int8/int4 contra ~3 s em `float32`.
|
|
114
|
+
|
|
115
|
+
### Fixed
|
|
116
|
+
|
|
117
|
+
- **O planejador subdimensionava CPU pela metade.** Sem `dtype=`,
|
|
118
|
+
`can_run`/`recommend` estimavam CPU em `bfloat16` enquanto o gerador
|
|
119
|
+
carrega `float32`: para o Qwen2.5-0.5B a estimativa era 1,24 GB e o RSS
|
|
120
|
+
medido após o `load()` foi 2,13 GB (transformers 4.57.6) / 2,12 GB
|
|
121
|
+
(5.18.0); para o 3B, 7,71 GB contra 12,51 / 12,48 GB. Agora a estimativa
|
|
122
|
+
é 2,47 GB / 15,43 GB.
|
|
123
|
+
- A `suggestion` em CPU não propõe mais "Quantize to bfloat16" (não é
|
|
124
|
+
quantização, e o `TextGenerator` recusa `quantization="bfloat16"`).
|
|
125
|
+
- **`TextGenerator(device="cpu", quantization="int8"|"int4")` carregava na
|
|
126
|
+
GPU** quando havia CUDA: o caminho quantizado passava sempre
|
|
127
|
+
`device_map="auto"`, e o `accelerate` punha os pesos em `cuda:0`
|
|
128
|
+
enquanto `gen.device` dizia `"cpu"` — o offload que o `can_run` sugere
|
|
129
|
+
era irrealizável. Agora usa `device_map="cpu"` quando o device é CPU
|
|
130
|
+
(medido com CUDA visível, Qwen2.5-0.5B, transformers 4.57.6 +
|
|
131
|
+
bitsandbytes 0.50.2: todos os parâmetros em `cpu` em 6/6 loads, N=3 por
|
|
132
|
+
int8/int4; o código anterior pôs o int4 em `cuda:0`).
|
|
133
|
+
- O exemplo de `recommend()` em `genai-examples` lia `rec.dtype.value`,
|
|
134
|
+
que levanta `AttributeError`: o `CapacityReport` guarda o valor do enum
|
|
135
|
+
(`use_enum_values`), então `rec.dtype` já é a string.
|
|
136
|
+
|
|
10
137
|
## [0.303.0] — 2026-10-03
|
|
11
138
|
|
|
12
139
|
Auditoria da documentação contra o código entregue: 150 afirmações da doc
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tempest-fastapi-sdk
|
|
3
|
-
Version: 0.303.
|
|
3
|
+
Version: 0.303.2
|
|
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
|
|
@@ -286,7 +286,11 @@ The SDK currently covers (Sep 2025+, post-v0.31.x):
|
|
|
286
286
|
(httpx wrapper with retry/backoff/circuit-breaker /
|
|
287
287
|
`X-Request-ID` propagation), `async_retry` (v0.280.0 — applies a
|
|
288
288
|
`RetryPolicy` to any coroutine, not just an HTTP call; `RetryPolicy`
|
|
289
|
-
moved to `utils/retry.py`, old import path kept;
|
|
289
|
+
moved to `utils/retry.py`, old import path kept;
|
|
290
|
+
**`retry_on_read_timeout` since v0.303.2** — `False` stops retrying a
|
|
291
|
+
`ReadTimeout` while still retrying connect errors and `retry_statuses`;
|
|
292
|
+
the Ollama/OpenAI-compat generators and `OllamaEmbedder` default to it,
|
|
293
|
+
because a generation the server aborted is never finished by a retry; **`logger=` is typed
|
|
290
294
|
`RetryLogger` since v0.281.0** — a `Protocol` with `warning`/`error`, so
|
|
291
295
|
the `LogUtils` this SDK hands the service is accepted where
|
|
292
296
|
`logging.Logger | None` rejected it, and `logger=logger.logger` is no
|
|
@@ -612,8 +616,15 @@ The SDK currently covers (Sep 2025+, post-v0.31.x):
|
|
|
612
616
|
`[genai-quant]` = bitsandbytes) — `tempest_fastapi_sdk.genai`, delivered
|
|
613
617
|
in slices. **Shipped (v0.96):** hardware capacity check — `probe_hardware`
|
|
614
618
|
→ `HardwareInfo` (CPU/RAM/CUDA-VRAM/MPS/disk, degrades without
|
|
615
|
-
psutil/torch
|
|
616
|
-
|
|
619
|
+
psutil/torch; since v0.303.2 RAM falls back to
|
|
620
|
+
`/proc/meminfo` on Linux without psutil (host memory, not the cgroup
|
|
621
|
+
limit — same as psutil), and an unread RAM/disk is flagged
|
|
622
|
+
`ram_measured`/`disk_measured=False` instead of passing as `0` free, so
|
|
623
|
+
`CapacityReport.memory_measured=False` answers "not measured", not
|
|
624
|
+
"add memory"), `can_run`/`recommend` → `CapacityReport` (fits? device,
|
|
625
|
+
estimate vs available, suggestion to quantize/offload; since v0.303.1 an unquantized load is sized at the precision
|
|
626
|
+
`TextGenerator(dtype="auto")` loads — `float32` on CPU, not `bfloat16`,
|
|
627
|
+
measured RSS in `docs/recipes/genai.md#em-cpu`), `estimate_model_bytes`/
|
|
617
628
|
`bytes_per_param`/`fetch_num_params` (Hub metadata, no weight download),
|
|
618
629
|
`ModelDtype`. Capacity fns import WITHOUT the extra. **Shipped (v0.98) —
|
|
619
630
|
`TextGenerator`**: local causal LM (`generate`/`chat`/`stream` async via
|
|
@@ -917,7 +928,8 @@ The SDK currently covers (Sep 2025+, post-v0.31.x):
|
|
|
917
928
|
answers a chat *turn*). `Agent.run/stream` → `AgentRun` (output + `steps` +
|
|
918
929
|
`artifacts` + `stop_reason`); `AgentBudget` bounds steps/wall-clock/tool
|
|
919
930
|
calls and `StopReason` names which fired (`succeeded` is `COMPLETED` only —
|
|
920
|
-
a truncated run still carries text
|
|
931
|
+
a truncated run still carries text; a model reply with no text and no tool
|
|
932
|
+
call is `EMPTY_RESPONSE`, not `COMPLETED`, since v0.303.2). **Three deliberate properties:** a
|
|
921
933
|
raising tool becomes an observation fed back to the model, never a crashed
|
|
922
934
|
run; every ceiling is enforced *and reported* (`max_seconds` defaults to 120
|
|
923
935
|
because steps alone do not bound a hung call); binary results never enter
|
|
@@ -16,7 +16,7 @@ import asyncio
|
|
|
16
16
|
from tempest_fastapi_sdk.genai import TextGenerator, recommend
|
|
17
17
|
|
|
18
18
|
MODEL = "Qwen/Qwen2.5-7B-Instruct"
|
|
19
|
-
rec = recommend(model_id=MODEL) #
|
|
19
|
+
rec = recommend(model_id=MODEL) # native (bf16 GPU, fp32 CPU) -> int8 -> int4
|
|
20
20
|
|
|
21
21
|
if not rec.fits:
|
|
22
22
|
raise RuntimeError(rec.reason + " " + (rec.suggestion or ""))
|
|
@@ -24,7 +24,7 @@ if not rec.fits:
|
|
|
24
24
|
gen = TextGenerator(
|
|
25
25
|
MODEL,
|
|
26
26
|
device=rec.device,
|
|
27
|
-
quantization=rec.dtype
|
|
27
|
+
quantization=rec.dtype if rec.dtype in ("int8", "int4") else None,
|
|
28
28
|
idle_unload_seconds=300, # threshold for unload_if_idle()
|
|
29
29
|
)
|
|
30
30
|
|
|
@@ -16,7 +16,7 @@ import asyncio
|
|
|
16
16
|
from tempest_fastapi_sdk.genai import TextGenerator, recommend
|
|
17
17
|
|
|
18
18
|
MODEL = "Qwen/Qwen2.5-7B-Instruct"
|
|
19
|
-
rec = recommend(model_id=MODEL) #
|
|
19
|
+
rec = recommend(model_id=MODEL) # nativa (bf16 GPU, fp32 CPU) -> int8 -> int4
|
|
20
20
|
|
|
21
21
|
if not rec.fits:
|
|
22
22
|
raise RuntimeError(rec.reason + " " + (rec.suggestion or ""))
|
|
@@ -24,7 +24,7 @@ if not rec.fits:
|
|
|
24
24
|
gen = TextGenerator(
|
|
25
25
|
MODEL,
|
|
26
26
|
device=rec.device,
|
|
27
|
-
quantization=rec.dtype
|
|
27
|
+
quantization=rec.dtype if rec.dtype in ("int8", "int4") else None,
|
|
28
28
|
idle_unload_seconds=300, # limiar do unload_if_idle()
|
|
29
29
|
)
|
|
30
30
|
|
{tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-advanced.en.md
RENAMED
|
@@ -132,7 +132,9 @@ or cut by a budget, it returns `data=None` and `parse_error` says why.
|
|
|
132
132
|
without calling `final_answer`, and neither the text parse nor the
|
|
133
133
|
extraction found the shape (or `allow_text_fallback=False` turned that
|
|
134
134
|
net off). A spent budget is a different case — that run is no longer
|
|
135
|
-
`succeeded
|
|
135
|
+
`succeeded` — and so is an empty model reply: it ends in
|
|
136
|
+
`empty_response`, with `parse_error="the run produced no answer"` and
|
|
137
|
+
no extra extraction call. Either way, `run.parse_error` says why. And
|
|
136
138
|
small models sometimes leave a field empty rather than omitting it:
|
|
137
139
|
validate the values, not just the presence of the object.
|
|
138
140
|
|
|
@@ -132,7 +132,9 @@ O `output` da execução passa a ser a resposta em JSON, e é esse texto que o
|
|
|
132
132
|
modelo terminou sem chamar `final_answer` e nem o parse do texto nem a
|
|
133
133
|
extração acharam a forma (ou `allow_text_fallback=False` desligou essa
|
|
134
134
|
rede). Orçamento esgotado é outro caso — aí a execução já não é
|
|
135
|
-
`succeeded
|
|
135
|
+
`succeeded` —, e resposta vazia do modelo também: termina em
|
|
136
|
+
`empty_response`, com `parse_error="the run produced no answer"` e sem
|
|
137
|
+
a chamada extra de extração. Nos dois, `run.parse_error` diz o motivo. E modelos pequenos às vezes deixam um campo vazio em vez
|
|
136
138
|
de omitir: valide os valores, não só a presença do objeto.
|
|
137
139
|
|
|
138
140
|
Para insistir até a forma chegar, repita a execução e julgue com
|
{tempest_fastapi_sdk-0.303.0 → tempest_fastapi_sdk-0.303.2}/docs/recipes/agents-concepts.en.md
RENAMED
|
@@ -200,6 +200,7 @@ what keeps the request from staying open indefinitely.
|
|
|
200
200
|
| `max_tool_calls` | The agent | Almost always a repeat-the-same-tool loop |
|
|
201
201
|
| `error` | The backend | The model failed; `output` carries the error |
|
|
202
202
|
| `blocked` | Moderation | Goal or answer refused |
|
|
203
|
+
| `empty_response` | The model | Replied with no text and no tool; retry with `run_until` |
|
|
203
204
|
|
|
204
205
|
## Agent, chat, pipeline or loop?
|
|
205
206
|
|
|
@@ -320,6 +321,12 @@ None of that is a flaw in the module — it is what changes when the model fits
|
|
|
320
321
|
on your machine. Design for it: few well-described tools, short outputs, a
|
|
321
322
|
criterion checkable outside the model.
|
|
322
323
|
|
|
324
|
+
On CPU, size turns into time as well: a 3B read ~132 prompt tokens per
|
|
325
|
+
second in the measurements of
|
|
326
|
+
[Agents on CPU](agents.md#agents-on-cpu-backend-size-and-budget), so every
|
|
327
|
+
thousand tokens a tool returns cost ~7.6 s per step. Short output is the
|
|
328
|
+
same rule, now with a number.
|
|
329
|
+
|
|
323
330
|
## Failure modes you will meet
|
|
324
331
|
|
|
325
332
|
| Symptom | Likely cause | Where to look |
|
|
@@ -201,6 +201,7 @@ que impede a requisição de ficar aberta indefinidamente.
|
|
|
201
201
|
| `max_tool_calls` | O agente | Quase sempre é laço de repetição da mesma ferramenta |
|
|
202
202
|
| `error` | O backend | O modelo caiu; `output` traz a mensagem do erro |
|
|
203
203
|
| `blocked` | A moderação | Objetivo ou resposta recusados |
|
|
204
|
+
| `empty_response` | O modelo | Respondeu sem texto e sem ferramenta; repetir com `run_until` |
|
|
204
205
|
|
|
205
206
|
## Agente, chat, pipeline ou laço?
|
|
206
207
|
|
|
@@ -323,6 +324,12 @@ Nada disso é defeito do módulo — é o que muda quando o modelo cabe na sua
|
|
|
323
324
|
máquina. Projete para isso: ferramentas poucas e bem descritas, saídas curtas,
|
|
324
325
|
critério verificável fora do modelo.
|
|
325
326
|
|
|
327
|
+
Em CPU, o tamanho também vira tempo: um 3B leu ~132 tokens de prompt por
|
|
328
|
+
segundo nas medições de
|
|
329
|
+
[Agente em CPU](agents.md#agente-em-cpu-backend-tamanho-e-orcamento), então
|
|
330
|
+
cada mil tokens que uma ferramenta devolve custam ~7,6 s por passo. Saída
|
|
331
|
+
curta é a mesma regra, agora com número.
|
|
332
|
+
|
|
326
333
|
## Modos de falha que você vai encontrar
|
|
327
334
|
|
|
328
335
|
| Sintoma | Causa provável | Onde olhar |
|
|
@@ -157,18 +157,30 @@ reasons are the agent cutting the run short:
|
|
|
157
157
|
|
|
158
158
|
| `stop_reason` | What happened |
|
|
159
159
|
| --- | --- |
|
|
160
|
-
| `completed` | The model answered without asking for another tool. |
|
|
160
|
+
| `completed` | The model answered with text, without asking for another tool. |
|
|
161
161
|
| `max_steps` | The step budget ran out first. |
|
|
162
162
|
| `timeout` | The wall-clock budget ran out first. |
|
|
163
163
|
| `max_tool_calls` | The tool-call budget ran out first. |
|
|
164
164
|
| `error` | The model backend failed. |
|
|
165
165
|
| `blocked` | Moderation rejected the goal or the answer. |
|
|
166
|
+
| `empty_response` | The model ended its turn with no text and no tool call. |
|
|
166
167
|
|
|
167
168
|
!!! warning "A truncated run still carries text"
|
|
168
169
|
The `output` of a cut-short run is the last thing the model said —
|
|
169
170
|
partial work, not a final answer. A caller that ignores `stop_reason`
|
|
170
171
|
presents half-finished work as done.
|
|
171
172
|
|
|
173
|
+
!!! info "An empty reply is not `completed`"
|
|
174
|
+
A model message with no text (or whitespace only) and no `tool_calls`
|
|
175
|
+
ends in `empty_response`, with `succeeded=False`. Up to 0.303.1 it
|
|
176
|
+
became `completed` with `output == ""`: a success with no answer.
|
|
177
|
+
`qwen2.5:0.5b` on Ollama 0.30.11, in CPU, with this page's goal, ended
|
|
178
|
+
58 of 200 runs that way. The agent does not re-ask on its own — that
|
|
179
|
+
would spend a step of the budget and hide how often the model fails.
|
|
180
|
+
To retry, use
|
|
181
|
+
[`run_until(agent, goal, until=succeeded)`](agents-advanced.md#loop-keep-going-until-it-passes-a-check): on the
|
|
182
|
+
same model, 58 of 60 loops with `max_rounds=3` ended accepted.
|
|
183
|
+
|
|
172
184
|
## Budget
|
|
173
185
|
|
|
174
186
|
```python title="budget.py" hl_lines="13"
|
|
@@ -710,6 +722,214 @@ which also means an `<img src>` works directly.
|
|
|
710
722
|
and why it is a thread pool and not a semaphore are in
|
|
711
723
|
[Self-hosted generative AI](genai.md#several-requests-at-once-on-cpu-max_concurrent).
|
|
712
724
|
|
|
725
|
+
## Agents on CPU: backend, size and budget
|
|
726
|
+
|
|
727
|
+
With no GPU, every turn of the loop is a full generation on the CPU, and
|
|
728
|
+
three choices move a run's time by a factor of five or more: which backend
|
|
729
|
+
runs the model, how big the model is, and how much text the tools return.
|
|
730
|
+
The budget and the timeout have to fit those numbers, not the other way
|
|
731
|
+
around.
|
|
732
|
+
|
|
733
|
+
```python title="cpu_agent.py" hl_lines="11-16 20"
|
|
734
|
+
import asyncio
|
|
735
|
+
|
|
736
|
+
from agent_setup import weather_tool
|
|
737
|
+
from tempest_fastapi_sdk.agents import Agent, AgentBudget
|
|
738
|
+
from tempest_fastapi_sdk.genai import GenerationConfig, OllamaGenerator
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
def build_cpu_agent() -> Agent:
|
|
742
|
+
"""Build an agent sized for a CPU-only host."""
|
|
743
|
+
model = OllamaGenerator(
|
|
744
|
+
"qwen2.5:3b",
|
|
745
|
+
num_ctx=8192,
|
|
746
|
+
options={"num_gpu": 0},
|
|
747
|
+
timeout=120.0,
|
|
748
|
+
config=GenerationConfig(max_new_tokens=256),
|
|
749
|
+
)
|
|
750
|
+
return Agent(
|
|
751
|
+
model,
|
|
752
|
+
tools=[weather_tool],
|
|
753
|
+
budget=AgentBudget(max_steps=12, max_seconds=120),
|
|
754
|
+
)
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
async def main() -> None:
|
|
758
|
+
"""Run once and print how long each step took."""
|
|
759
|
+
agent = build_cpu_agent()
|
|
760
|
+
run = await agent.run("Qual o tempo no Recife? Use a ferramenta.")
|
|
761
|
+
|
|
762
|
+
print(run.stop_reason, f"{run.seconds:.1f}s")
|
|
763
|
+
for step in run.steps:
|
|
764
|
+
print(step.kind, step.name, f"{step.seconds:.2f}s")
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
if __name__ == "__main__":
|
|
768
|
+
asyncio.run(main())
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
```text
|
|
772
|
+
completed 1.9s
|
|
773
|
+
model chat 0.86s
|
|
774
|
+
tool get_weather 0.00s
|
|
775
|
+
model chat 1.05s
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
(One run with the model already loaded in the daemon; the numbers behind it
|
|
779
|
+
are just below.)
|
|
780
|
+
|
|
781
|
+
Piece by piece:
|
|
782
|
+
|
|
783
|
+
- **`OllamaGenerator("qwen2.5:3b")`** — a 4-bit GGUF served by Ollama, not
|
|
784
|
+
the `TextGenerator` in `float32`. Why is in the numbers below; memory
|
|
785
|
+
sizing (and why bitsandbytes on CPU is not the way out) is in
|
|
786
|
+
[Self-hosted generative AI › On CPU](genai.md#on-cpu).
|
|
787
|
+
- **`num_ctx=8192`** — the agent's prompt grows every step, and Ollama cuts
|
|
788
|
+
whatever passes the window with no error. See
|
|
789
|
+
[The model runs on the generator's defaults](#the-model-runs-on-the-generators-defaults).
|
|
790
|
+
- **`options={"num_gpu": 0}`** — forces the CPU on a host that has a GPU
|
|
791
|
+
(that is how the measurements below were taken). On a CPU-only host, drop
|
|
792
|
+
it.
|
|
793
|
+
- **`config=GenerationConfig(max_new_tokens=256)`** — a token ceiling per
|
|
794
|
+
turn. On CPU generation is the expensive part, and the loop passes no
|
|
795
|
+
ceiling of its own.
|
|
796
|
+
- **`timeout=120.0` and `max_seconds=120`** — the defaults, written out
|
|
797
|
+
because they move together; [The Ollama timeout](#the-ollama-timeout-and-the-budget)
|
|
798
|
+
explains why.
|
|
799
|
+
|
|
800
|
+
### What each step costs
|
|
801
|
+
|
|
802
|
+
Measured on an i9-13900F under WSL2 (12 visible logical CPUs = 6 cores × 2,
|
|
803
|
+
62 GB of RAM, GPU hidden), torch 2.14 + transformers 4.57.6 for the
|
|
804
|
+
`TextGenerator` in `float32`, Ollama 0.30.11 with `num_gpu: 0` for the
|
|
805
|
+
Q4_K_M GGUFs (`size_vram` = 0 in `/api/ps`). The agent is the one in this
|
|
806
|
+
section, with each backend's default generation settings, and the goal
|
|
807
|
+
takes **one** tool call plus the answer (three steps). "Cold" is the first
|
|
808
|
+
run of a fresh process, with the weight load inside the first step
|
|
809
|
+
(weights already in the OS disk cache); N=3. "Warm" is the next five runs
|
|
810
|
+
of each process; N=15. Medians; part of the rounds had another process
|
|
811
|
+
busy on one logical CPU.
|
|
812
|
+
|
|
813
|
+
With the tool returning one line (a ~230-token prompt):
|
|
814
|
+
|
|
815
|
+
| Backend and model | Cold run | Warm run | Warm model step | Generation |
|
|
816
|
+
| --- | --- | --- | --- | --- |
|
|
817
|
+
| `TextGenerator` Qwen2.5-0.5B `float32` | 4.39 s | 2.12 s | 1.02 s | 25.6 tokens/s |
|
|
818
|
+
| `TextGenerator` Qwen2.5-3B `float32` | 13.87 s | 11.59 s | 5.50 s | 5.2 tokens/s |
|
|
819
|
+
| `OllamaGenerator` `qwen2.5:0.5b` | 1.52 s | 0.64 s | 0.29 s | 130 tokens/s |
|
|
820
|
+
| `OllamaGenerator` `qwen2.5:3b` | 4.83 s | 1.94 s | 0.84 s | 30.6 tokens/s |
|
|
821
|
+
|
|
822
|
+
With the tool returning ~4,100 tokens that differ on every run (last step's
|
|
823
|
+
prompt: ~4,400 tokens). The `TextGenerator` rereads the whole prompt on
|
|
824
|
+
every step; on Ollama the observation changes from run to run so the
|
|
825
|
+
prefix cache does not hide the cost:
|
|
826
|
+
|
|
827
|
+
| Backend and model | Warm run | Last step | Last step's prefill |
|
|
828
|
+
| --- | --- | --- | --- |
|
|
829
|
+
| `TextGenerator` Qwen2.5-0.5B `float32` | 7.60 s | 6.56 s | 819 tokens/s |
|
|
830
|
+
| `TextGenerator` Qwen2.5-3B `float32` | 43.08 s | 37.51 s | 134 tokens/s |
|
|
831
|
+
| `OllamaGenerator` `qwen2.5:0.5b` | 9.65 s | 9.34 s | 509 tokens/s |
|
|
832
|
+
| `OllamaGenerator` `qwen2.5:3b` | 35.91 s | 35.06 s | 132 tokens/s |
|
|
833
|
+
|
|
834
|
+
All 180 runs finished inside the default `AgentBudget` (`max_steps=12`,
|
|
835
|
+
`max_seconds=120`): the slowest took 51.3 s, and the slowest step 43.0 s
|
|
836
|
+
(3B `float32`, cold, long observation).
|
|
837
|
+
|
|
838
|
+
What the numbers say:
|
|
839
|
+
|
|
840
|
+
- **GGUF wins at generating, not at reading the prompt.** On the 3B,
|
|
841
|
+
Ollama generated 30.6 tokens/s against 5.2 for `float32` — 6× — and the
|
|
842
|
+
short run dropped from 11.59 s to 1.94 s. But prefill came out the same
|
|
843
|
+
(132 against 134 tokens/s): with a 4k-token observation the step is
|
|
844
|
+
almost all prefill, and the gap shrinks to 35.91 s against 43.08 s.
|
|
845
|
+
- **Ollama reuses the prefix; the `TextGenerator` rereads everything.**
|
|
846
|
+
With the same long observation repeated verbatim from one run to the
|
|
847
|
+
next, the last step's prefill dropped to 0.05 s on `qwen2.5:3b` and
|
|
848
|
+
stayed at 32.66 s on the 3B `float32`. The system prompt and tool list
|
|
849
|
+
are the same prefix in every run, which is why the first warm step's
|
|
850
|
+
prefill costs 0.04 s on `qwen2.5:3b` and 1.65 s on the 3B `float32`.
|
|
851
|
+
- **Observations are what costs.** On a 3B on this CPU, every thousand
|
|
852
|
+
tokens a tool returns cost ~7.6 s of prefill (1,000 / 132) on either
|
|
853
|
+
backend. A tool that returns the summary rather than the dump is a time
|
|
854
|
+
lever, not only a context one.
|
|
855
|
+
- **0.5B on Ollama returned empty replies.** In 12 of 54 runs
|
|
856
|
+
`qwen2.5:0.5b` did not call the tool and Ollama returned the message with
|
|
857
|
+
no text and no `tool_calls`. Up to 0.303.1 that finished `completed` with
|
|
858
|
+
an empty `output` — a success with no answer; it now ends
|
|
859
|
+
[`empty_response`](#always-check-stop_reason), with `succeeded=False`. The same
|
|
860
|
+
model through the `TextGenerator` called the tool in all 36 runs, and
|
|
861
|
+
`qwen2.5:3b` in all 54. On CPU, the 3B through Ollama was the smallest
|
|
862
|
+
that completed every run.
|
|
863
|
+
- **The first step pays for the load.** Cold against warm, the first step
|
|
864
|
+
cost +2.2 s on the 0.5B and +2.6 s on the 3B in `float32`, and Ollama
|
|
865
|
+
reported 1.4 s to 2.2 s of `load_duration` on the 3B — with the weights
|
|
866
|
+
already in the disk cache. Call the `TextGenerator`'s `load()` at service
|
|
867
|
+
startup (through `asyncio.to_thread`) so the first user does not pay for
|
|
868
|
+
it.
|
|
869
|
+
|
|
870
|
+
### Sizing the budget
|
|
871
|
+
|
|
872
|
+
A run's time is the sum, step by step, of **new prompt tokens ÷ prefill
|
|
873
|
+
rate** plus **generated tokens ÷ generation rate**. With the rates measured
|
|
874
|
+
above, the arithmetic matches the measurement: on the 3B `float32` with the
|
|
875
|
+
long observation, 229/140 + 21/5.4 + 4,381/134 + 23/4.6 ≈ 43.2 s, against
|
|
876
|
+
43.08 s measured.
|
|
877
|
+
|
|
878
|
+
Use that sum, with **your** machine's rates, to pick the ceiling:
|
|
879
|
+
|
|
880
|
+
- **`max_new_tokens` weighs more than it looks.** The `TextGenerator`
|
|
881
|
+
default is 256 tokens per turn; at 5.2 tokens/s, a turn that uses the
|
|
882
|
+
whole ceiling is ~49 s of generation on the 3B `float32`, and two of them
|
|
883
|
+
already pass 120 s. At 30.6 tokens/s, on the GGUF, the same turn is ~8 s.
|
|
884
|
+
- **`max_seconds` is an HTTP request's ceiling**, so it comes from what
|
|
885
|
+
your client will wait for; what you tune to fit inside it is the model,
|
|
886
|
+
the observation size and `max_new_tokens`. At 132 tokens/s, the default
|
|
887
|
+
120 s holds ~15k tokens of observation summed over the whole run, before
|
|
888
|
+
counting generation.
|
|
889
|
+
- **The queue counts on the clock.** Concurrent runs on a `TextGenerator`
|
|
890
|
+
with `max_concurrent=1` wait for one another, and the wait comes out of
|
|
891
|
+
the same `max_seconds` — see
|
|
892
|
+
[Several runs at once on a CPU model](#serving-it-over-http). Concurrency
|
|
893
|
+
inside Ollama was not measured here.
|
|
894
|
+
|
|
895
|
+
### The Ollama timeout and the budget
|
|
896
|
+
|
|
897
|
+
The `OllamaGenerator`'s `timeout=` (default 120 s) is **per request**, and
|
|
898
|
+
the generator's HTTP client does **not** retry a request that times out:
|
|
899
|
+
when the client gives up, the daemon aborts the generation, so a new
|
|
900
|
+
attempt would start from zero and time out again. The `ReadTimeout` arrives
|
|
901
|
+
after one timeout. Measured with `qwen2.5:3b` on CPU and `timeout=10.0`:
|
|
902
|
+
the call raised `ReadTimeout` after 10.01 s (median, N=5), with one 10.0 s
|
|
903
|
+
`POST /api/chat` in the Ollama log. A connection error and a `429`/`5xx`
|
|
904
|
+
are still retried.
|
|
905
|
+
|
|
906
|
+
??? note "Up to v0.303.1, the timeout was retried three times"
|
|
907
|
+
The client made three attempts, waiting 0.5 s and 1 s between them. On
|
|
908
|
+
the same scenario, with a ~4,400-token prompt (~33 s of prefill), the
|
|
909
|
+
call raised `ReadTimeout` after 31.53 s (a single run), the Ollama log showed three
|
|
910
|
+
10.0 s `POST /api/chat`, and inside an agent the run ended in `error`
|
|
911
|
+
after 33.73 s. On those versions, pass
|
|
912
|
+
`retry_policy=RetryPolicy(max_attempts=1)` (with
|
|
913
|
+
`from tempest_fastapi_sdk import RetryPolicy`): with it, the agent run
|
|
914
|
+
ended in `error` after 10.84 s — one attempt, which is the default
|
|
915
|
+
behaviour from v0.303.2 on.
|
|
916
|
+
|
|
917
|
+
Two setups that behave:
|
|
918
|
+
|
|
919
|
+
- **`timeout` greater than or equal to `max_seconds`** (the defaults): the
|
|
920
|
+
budget cuts before the timeout. With `max_seconds=20`, the run ended in
|
|
921
|
+
`timeout` after 20.02 s.
|
|
922
|
+
- **A timeout shorter than `max_seconds`**: the turn that outlives the
|
|
923
|
+
timeout fails after one timeout, and the run ends in `error`. For the
|
|
924
|
+
agent to treat it as the end of the budget, prefer the previous setup.
|
|
925
|
+
|
|
926
|
+
!!! tip "A starting point on CPU"
|
|
927
|
+
`OllamaGenerator` with a 3B GGUF model, an explicit `num_ctx`, an
|
|
928
|
+
explicit `max_new_tokens`, tools that return little text, and the
|
|
929
|
+
`AgentBudget` defaults. Then measure one `run.steps` on your machine and
|
|
930
|
+
redo the sum: the rates on this page come from an i9-13900F, and your
|
|
931
|
+
CPU changes every one of them.
|
|
932
|
+
|
|
713
933
|
## Recap
|
|
714
934
|
|
|
715
935
|
- **`Agent.run(goal)`** returns an `AgentRun`: answer, trace, artifacts and
|
|
@@ -725,6 +945,9 @@ which also means an `<img src>` works directly.
|
|
|
725
945
|
and only `AgentToolError` text reaches the trace in full.
|
|
726
946
|
- **`make_agent_router`** publishes `/run`, `/run/stream` and artifact
|
|
727
947
|
download by `run_id`; `owner=` keeps each caller's runs apart.
|
|
948
|
+
- **On CPU**, the GGUF through `OllamaGenerator` generates 6× faster than
|
|
949
|
+
`float32` on the 3B, but prefill is the same: observation size and
|
|
950
|
+
`max_new_tokens` are what make a run fit in `max_seconds`.
|
|
728
951
|
|
|
729
952
|
Next: [AI agents (advanced)](agents-advanced.md) — typed structured output,
|
|
730
953
|
the three memory layers, skills loaded on demand, delegation between agents,
|