loom-kernel 7.0.0__tar.gz → 8.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/CHANGELOG.md +26 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/PKG-INFO +1 -1
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/_shared.py +22 -22
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/steps.py +39 -6
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_step.py +12 -3
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/.gitignore +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/LICENSE +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/README.md +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/pyproject.toml +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_concurrency.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_filters.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_paths.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_roles.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_startup.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_transport.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/_usecase.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/_binding.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/_handlers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/_rpc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/card.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/events.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/a2a/server.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/abc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/bootstrap.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/_compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/_fingerprint.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/_plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_capabilities.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_conversation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_feedable.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_hook.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_instructions.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_limits.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_model_role.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_output.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/compiler/phases/_state.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/_envelope.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/_schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/_v1.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/schemas/agent-spec-v1.schema.json +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/describe.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_a2a.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_capabilities.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_engine.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_escape.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_events.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_guards.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_history.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_instructions.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_limits.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_mcp.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_models.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_native.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_output.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_returns.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_schemas.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/_spec.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/a2a.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/handlebars.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/mcp.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/skills.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/provider.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/_shared.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/anthropic.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/bedrock.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/gateway.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/openai.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/typesafe.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_batch.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_columns.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_frames.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_ledger.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_runner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/etl/_validation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/fastapi/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/fastapi/endpoints.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/fastapi/response.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/fastapi/streaming.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/inference.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/pricing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/remote_auth.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_bounded.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_chain.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_conversation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_grants.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_handle.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_health.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_hooks.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_lifecycle.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_limits.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/runtime/_mcp.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/validate/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/validate/__main__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/auto.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/bootstrap.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/constants.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/runner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/celery/service.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/cli/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/cli/app.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/cli/check.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/cli/schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/async_bridge.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/_decide.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/_grants.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/_roles.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/_scope.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/elevation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/authz/product.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/backend/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/backend/core_model.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/backend/protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/backend/scoped_ddl.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/backend/sqlalchemy.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/bootstrap/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/bootstrap/bootstrap.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/bootstrap/kernel.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/_batching.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/_single_flight.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/abc/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/abc/backend.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/abc/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/abc/dependency.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/calls.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/codec.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/decorators.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/dependency.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/gateway.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/keys.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/memory.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/repository.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/result_codec.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/serializer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/cache/wiring.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/checks.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/command/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/command/adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/command/base.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/command/field.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/command/introspection.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/_boto3.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/_includes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/_resolver_utils.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/binder.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/configurable.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/context.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/keys.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/loader.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/model.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/observability.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/overrides.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/resolver.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/secrets.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/config/ssm.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/contracts/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/contracts/manifest.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/di/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/di/container.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/di/scope.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/_utils.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/base.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/interfaces.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/manifest.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/discovery/modules.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/compilable.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/events.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/executor.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/metrics.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/engine/post_commit.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/environment.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/errors/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/errors/codes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/errors/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/expr/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/expr/eval.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/expr/nodes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/expr/refs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/identity/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/identity/context.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/identity/identity.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/identity/issuer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/identity/wire.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/introspection/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/introspection/base.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/introspection/describe.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/callback.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/context.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/handle.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/job.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/job/service.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/locator.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/abc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/checks.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/logger/structlogger.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/_json_schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/_loom_type.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/base.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/convert.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/enums.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/field.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/introspection.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/partition.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/privilege.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/projection.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/relation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/scoped.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/struct.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/timestamped.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/types.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/model/types_postgres.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/event.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/observer/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/observer/noop.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/observer/otel.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/observer/structlog.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/otel_ids.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/runtime.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/span.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/observability/topology.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/persistence/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/persistence/abc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/persistence/none.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/persistence/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/plugins/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/plugins/entrypoints.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/plugins/optional.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/projection/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/projection/loaders.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/projection/runtime.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/cursor.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/query.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/query_compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/repo_for.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/repository.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/abc/session_scope.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/dynamodb/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/dynamodb/backend.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/dynamodb/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/dynamodb/repository.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/dynamodb/uow.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/backend.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/ids.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/query_compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/repository.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/uow.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mongo/values.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/mutation.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/registration.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/backend.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/integrity.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/loaders.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/migrations/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/migrations/env_template.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/migrations/hook.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/migrations/operations.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/migrations/runners.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/mixins.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/model.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/profile_loader.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/projection.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/cursor.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/filters.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/ordering.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/paths.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/query_compiler/subquery.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/repository.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/bootstrap.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/elevate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/guard/0001.sql +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/guard/0002.sql +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/guard/preflight.sql +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/guard_manifest.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/integrity.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/partitions.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/provider.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/sources.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/rls/verify.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/session_manager.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/session_settings.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/transactional.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/uow.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/repository/sqlalchemy/values.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/response/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/response/base.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/routing/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/routing/ref.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/routing/resolver.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/runner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/schema/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/schema/schema_mode.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/schema_names.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/abc/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/abc/contracts.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/abc/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/caller_bound.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/clickhouse/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/clickhouse/_client.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/clickhouse/executor.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/clickhouse/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/roles.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/sql/service.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/symbols.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/tracing/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/tracing/context.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/transaction.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/transport/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/transport/adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/uow/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/uow/abc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/uow/context.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/_predicates.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/agent_markers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/compute.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/constants.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/factory.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/field_ref.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/invoker.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/keys.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/markers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/mcp_markers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/outcome.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/rule.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/core/use_case/use_case.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/_uri.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_format_registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/_common.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/_log.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/_ops.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/_snapshot.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_historify/_transform.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_merge.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_path_template.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_predicate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_schema_aligner/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_schema_aligner/_aligner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_schema_aligner/_policy.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/_write_policy.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_dtype.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_file_writer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_frame.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_historify.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_predicate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_reader.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_schema_aligner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_streaming.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/_writer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/polars/provider.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_dtype.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_historify.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_reader.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_schema_aligner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/_writer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/backends/spark/provider.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_backends/_polars.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_backends/_spark.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_cleaners.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_options.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_paths.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_scope.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/checkpoint/_store.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_binding.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_filter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_validators.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_validators_agents.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_validators_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_validators_plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/compiler/_validators_step.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/_format.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/_read_options.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/_utils.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/_with_agent.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/_write_options.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/expr/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/expr/_params.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/expr/_predicate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/expr/_predicate_dialect.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/expr/_refs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_from.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_from_clickhouse.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_from_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_from_dynamodb.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_from_mongo.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/source/_specs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_client.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_file.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/_builder.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/_enums.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/_report.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_history/_spec.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_into.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_schema_mode.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_table.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/declarative/target/_temp.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/executor/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/executor/_agents.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/executor/_dispatcher.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/executor/_executor.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/_registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_clickhouse.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_dynamodb.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_dynamodb_items.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_dynamodb_predicate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_mongo.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_mongo_batch.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_mongo_bson.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_mongo_predicate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/sources/_serialization.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/targets/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/io/targets/_clickhouse.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/_observer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/_records.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/sinks/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/sinks/_protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/sinks/_table.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/lineage/sinks/_writer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/_builder.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/_ops.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/_protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/_runner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/_step.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/backends/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/maintenance/backends/_delta_rs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_generics.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_params.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_pipeline.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_process.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_sql.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_step.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_step_client.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/pipeline/_step_sql.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/_agents.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/_providers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/_wiring.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/config_loader.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/core.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runner/filtering.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runtime/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runtime/_config_values.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/runtime/contracts.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/schema/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/schema/_contract.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/schema/_schema.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/storage/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/storage/_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/storage/_file_locator.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/storage/_locator.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/storage/routing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/_result.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/_runners.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/_scenario.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/_stubs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/etl/testing/spark.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_async.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_ctx.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_flow_yaml.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_meta.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_placeholders.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/_summary.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/deploy/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/deploy/_discovery.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/deploy/_schedule.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/deploy/_yaml_etls.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/deploy/entrypoint.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_assemble.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_backfill.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_backfill_body.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_body.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_common.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_factory.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_hooks.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_maintenance.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_params.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_run_name.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_runtime.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_signature.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/flow/_stages.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/manifest/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/manifest/_model.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/manifest/_s3.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/manifest/_store.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_event.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_factory.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_format.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_port.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_slack.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/notify/_sns.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/observer/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/observer/_flow.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/observer/_logging_bridge.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/observer/_manifest.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prefect/observer/_task_run.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/_instruments.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/kafka.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/lifecycle.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/prometheus/middleware.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/py.typed +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/_body.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/auth/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/auth/abc.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/auth/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/auth/jwt.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/auth/middleware.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/autocrud.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/checks.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/constants.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/cors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/_exclusions.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/app.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/auto.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/health.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/openapi.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/response.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/router_runtime.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/fastapi/sql.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/middleware.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/model.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/rest/rest_adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_adapter.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_batch_spans.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_commit_tracker.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_error_boundary.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_operators.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_resource_manager.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_runtime_io.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/_sink_registry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/boundary.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/dispatcher.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/routing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/scopes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/shapes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/handlers/storage.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/bytewax/runner.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/_bindings.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/_compiler.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/_plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/phases/build_plan.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/compiler/phases/validate.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/_exceptions.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/_message.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/_tracing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/core/_typing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/graph/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/graph/_flow.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_codec.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_errors.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_key_resolver.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_message.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_record.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/_wire.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/client/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/client/_consumer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/client/_producer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/client/_protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/client/_retry.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/message/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/message/_consumer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/message/_producer.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/kafka/message/_protocol.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/mongo/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/mongo/_bytewax_source.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/mongo/_config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/mongo/_event.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/mongo/_normalize.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_boundary.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_branches.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_broadcast.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_capabilities.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_decompose.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_expand_routes.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_expr_eval.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_fork.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_helpers.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_mongo.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_protocols.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_router.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_shape.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_sink.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_table/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_table/common.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_table/config.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/_with.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/nodes/refs.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/streaming/testing.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/__init__.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/agents.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/golden.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/http_harness.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/in_memory.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/repository_harness.py +0 -0
- {loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/testing/runner.py +0 -0
|
@@ -949,6 +949,24 @@
|
|
|
949
949
|
|
|
950
950
|
### streaming
|
|
951
951
|
|
|
952
|
+
- **streaming:** `BatchExpandStep.execute` returns one list of payloads per
|
|
953
|
+
message of its batch, in batch order, instead of one flat list. List `i`
|
|
954
|
+
holds what `messages[i]` expands into; each output takes that message's
|
|
955
|
+
metadata, and an empty list filters the message out. A result whose length
|
|
956
|
+
differs from the batch, a flat list of payloads, a `Message` among the
|
|
957
|
+
outputs, or a `str`, `bytes`, `bytearray` or mapping in place of the result
|
|
958
|
+
or of one of its lists raises `TypeError`, and the batch becomes error
|
|
959
|
+
envelopes.
|
|
960
|
+
|
|
961
|
+
```python
|
|
962
|
+
# before
|
|
963
|
+
def execute(self, messages: list[Message[Event]], **kwargs: object) -> list[Score]:
|
|
964
|
+
return [Score(value=m.payload.amount) for m in messages]
|
|
965
|
+
|
|
966
|
+
# after
|
|
967
|
+
def execute(self, messages: list[Message[Event]], **kwargs: object) -> list[list[Score]]:
|
|
968
|
+
return [[Score(value=m.payload.amount)] for m in messages]
|
|
969
|
+
```
|
|
952
970
|
- **streaming:** compile issues come from the code catalogue
|
|
953
971
|
(`StreamingErrorCode.X.issue(...)`), and the compiler's private issue
|
|
954
972
|
factories are removed. `loom.streaming.compiler.CompilationIssue` is a type
|
|
@@ -1407,6 +1425,14 @@
|
|
|
1407
1425
|
`Drain` default failed with `ROUTER_BRANCH_SHAPE_DIVERGENCE`, and a step
|
|
1408
1426
|
after a `Router` without a default whose branches all end their path failed
|
|
1409
1427
|
with `SHAPE_MISMATCH`; both compile now.
|
|
1428
|
+
- **streaming:** a `BatchExpandStep` expands. Every output had to pair with
|
|
1429
|
+
one input message, so a step returning more or fewer outputs than its batch
|
|
1430
|
+
raised and each message of the batch became an error envelope. Under
|
|
1431
|
+
at-least-once delivery each source offset now completes once per output,
|
|
1432
|
+
after that output's write, and a message with no output completes its
|
|
1433
|
+
offset at the step, also when the batch holds several messages of one
|
|
1434
|
+
offset that an earlier expanding node produced. The new return type is under
|
|
1435
|
+
Behaviour changes.
|
|
1410
1436
|
|
|
1411
1437
|
### prefect
|
|
1412
1438
|
|
|
@@ -36,6 +36,7 @@ if TYPE_CHECKING:
|
|
|
36
36
|
|
|
37
37
|
Stream: TypeAlias = Any
|
|
38
38
|
AwaitT = TypeVar("AwaitT")
|
|
39
|
+
ExpandT = TypeVar("ExpandT", bound=Iterable[Any])
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
@runtime_checkable
|
|
@@ -91,11 +92,8 @@ class _ExecutableBatchExpandStep(Protocol):
|
|
|
91
92
|
self,
|
|
92
93
|
messages: list[Message[StreamPayload]],
|
|
93
94
|
**kwargs: object,
|
|
94
|
-
) ->
|
|
95
|
-
|
|
96
|
-
| Awaitable[Iterable[StreamPayload | Message[StreamPayload]]]
|
|
97
|
-
):
|
|
98
|
-
"""Expand one batch into many payloads or replacement messages."""
|
|
95
|
+
) -> Iterable[Iterable[StreamPayload]] | Awaitable[Iterable[Iterable[StreamPayload]]]:
|
|
96
|
+
"""Expand each message of one batch into its own list of payloads."""
|
|
99
97
|
...
|
|
100
98
|
|
|
101
99
|
|
|
@@ -259,10 +257,9 @@ def _resolve_batch_result(
|
|
|
259
257
|
|
|
260
258
|
|
|
261
259
|
def _resolve_expand_result(
|
|
262
|
-
result:
|
|
263
|
-
| Awaitable[Iterable[StreamPayload | Message[StreamPayload]]],
|
|
260
|
+
result: ExpandT | Awaitable[ExpandT],
|
|
264
261
|
node_type: str,
|
|
265
|
-
) ->
|
|
262
|
+
) -> ExpandT:
|
|
266
263
|
"""Resolve a synchronous expanding result and reject awaitables."""
|
|
267
264
|
if isinstance(result, Awaitable):
|
|
268
265
|
raise TypeError(f"{node_type} returned an awaitable outside WithAsync.")
|
|
@@ -353,9 +350,11 @@ def _reconcile_fanout(
|
|
|
353
350
|
|
|
354
351
|
An expanding node turns one input record into N outputs that all carry the
|
|
355
352
|
same source offset, and every one of them completes that offset when it
|
|
356
|
-
reaches a terminal.
|
|
357
|
-
|
|
358
|
-
|
|
353
|
+
reaches a terminal. Each input already owes one completion, and a batch can
|
|
354
|
+
hold several inputs of one offset when an earlier node expanded it, so per
|
|
355
|
+
offset the outputs are compared with the inputs: extra outputs fork the
|
|
356
|
+
difference, and missing ones complete it here — while the outputs are still
|
|
357
|
+
a plain list and none of them can have reached a terminal yet.
|
|
359
358
|
|
|
360
359
|
Two failures this prevents, both silent:
|
|
361
360
|
|
|
@@ -372,20 +371,21 @@ def _reconcile_fanout(
|
|
|
372
371
|
"""
|
|
373
372
|
if tracker is None:
|
|
374
373
|
return
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
tracker.fork(key[0], key[1], key[2], count - 1)
|
|
383
|
-
for original in originals:
|
|
384
|
-
key = _commit_key(original)
|
|
385
|
-
if key is not None and key not in produced:
|
|
374
|
+
expected = _commit_key_counts(originals)
|
|
375
|
+
produced = _commit_key_counts(results)
|
|
376
|
+
for key in expected | produced:
|
|
377
|
+
delta = produced[key] - expected[key]
|
|
378
|
+
if delta > 0:
|
|
379
|
+
tracker.fork(key[0], key[1], key[2], delta)
|
|
380
|
+
for _ in range(-delta):
|
|
386
381
|
tracker.complete(key[0], key[1], key[2])
|
|
387
382
|
|
|
388
383
|
|
|
384
|
+
def _commit_key_counts(items: Sequence[Any]) -> Counter[tuple[str, int, int]]:
|
|
385
|
+
"""Count the items accountable for each source offset."""
|
|
386
|
+
return Counter(key for item in items if (key := _commit_key(item)) is not None)
|
|
387
|
+
|
|
388
|
+
|
|
389
389
|
def _drop_and_commit(item: Any, tracker: CommitCompletionPort) -> tuple[()]:
|
|
390
390
|
"""Drop one item and mark it complete for commit tracking.
|
|
391
391
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from collections.abc import Iterable
|
|
5
|
+
from collections.abc import Iterable, Mapping
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
8
|
from bytewax.operators import flat_map
|
|
@@ -134,8 +134,6 @@ def _apply_expand_step(
|
|
|
134
134
|
|
|
135
135
|
sid = _step_id(f"expand_{idx}_{name}", ctx)
|
|
136
136
|
mapped = bw_map(sid, stream, step_fn)
|
|
137
|
-
from bytewax.operators import flat_map
|
|
138
|
-
|
|
139
137
|
flattened_stream = flat_map(_step_id(f"flatten_expand_{idx}", ctx), mapped, _identity)
|
|
140
138
|
return _split_node_result(flattened_stream, sid, ctx, ErrorKind.TASK)
|
|
141
139
|
|
|
@@ -296,9 +294,44 @@ def _execute_batch_expand_step(
|
|
|
296
294
|
correlation_id=messages[0].meta.correlation_id if messages else None,
|
|
297
295
|
):
|
|
298
296
|
result = _resolve_expand_result(batch_expand_step.execute(messages), name)
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
297
|
+
return _outputs_per_message(messages, _result_list(result, name), name)
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
def _outputs_per_message(
|
|
301
|
+
messages: list[Message[StreamPayload]],
|
|
302
|
+
groups: list[Any],
|
|
303
|
+
name: str,
|
|
304
|
+
) -> list[Message[StreamPayload]]:
|
|
305
|
+
"""Give each output the metadata of the message whose list it is in.
|
|
306
|
+
|
|
307
|
+
``groups[i]`` holds the outputs of ``messages[i]``; an empty list filters
|
|
308
|
+
that message out.
|
|
309
|
+
"""
|
|
310
|
+
if len(groups) != len(messages):
|
|
311
|
+
raise TypeError(
|
|
312
|
+
f"{name} returned {len(groups)} output lists for {len(messages)} messages; "
|
|
313
|
+
"return one list of payloads per message, in batch order."
|
|
314
|
+
)
|
|
315
|
+
outputs: list[Message[StreamPayload]] = []
|
|
316
|
+
for message, payloads in zip(messages, groups, strict=True):
|
|
317
|
+
for payload in _result_list(payloads, name):
|
|
318
|
+
if isinstance(payload, Message):
|
|
319
|
+
raise TypeError(
|
|
320
|
+
f"{name} must return payloads, not messages: each output "
|
|
321
|
+
"takes the metadata of the message it came from."
|
|
322
|
+
)
|
|
323
|
+
outputs.append(_replace_payload(message, payload))
|
|
324
|
+
return outputs
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
def _result_list(value: object, name: str) -> list[Any]:
|
|
328
|
+
"""Materialize one list of a batch-expanding result, iterating it once.
|
|
329
|
+
|
|
330
|
+
``str``, ``bytes`` and mappings are iterable but are not lists of results.
|
|
331
|
+
"""
|
|
332
|
+
if not isinstance(value, Iterable) or isinstance(value, (str, bytes, bytearray, Mapping)):
|
|
333
|
+
raise TypeError(f"{name} must return one list of payloads per message.")
|
|
334
|
+
return list(value)
|
|
302
335
|
|
|
303
336
|
|
|
304
337
|
def _execute_explode_step(
|
|
@@ -130,7 +130,7 @@ class ExpandStep(Step[InT, OutT], ABC):
|
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
class BatchExpandStep(Step[InT, OutT], ABC):
|
|
133
|
-
"""Streaming step that expands
|
|
133
|
+
"""Streaming step that expands each message of a batch into its own outputs.
|
|
134
134
|
|
|
135
135
|
Declare the subclass itself in a flow, not an instance. The compiler
|
|
136
136
|
materializes the class during binding resolution.
|
|
@@ -138,8 +138,17 @@ class BatchExpandStep(Step[InT, OutT], ABC):
|
|
|
138
138
|
Pattern:
|
|
139
139
|
Batch fan-out step.
|
|
140
140
|
|
|
141
|
-
Subclasses define ``execute(self, messages, **kwargs) ->
|
|
142
|
-
with the explicit batch and dependency signature they need.
|
|
141
|
+
Subclasses define ``execute(self, messages, **kwargs) -> list[list[OutT]]``
|
|
142
|
+
with the explicit batch and dependency signature they need. The result
|
|
143
|
+
holds one list per message, in batch order: list ``i`` holds the payloads
|
|
144
|
+
``messages[i]`` expands into, and each takes that message's metadata. An
|
|
145
|
+
empty list filters the message out. The result and each of its lists are
|
|
146
|
+
iterated once, so generators work.
|
|
147
|
+
|
|
148
|
+
These results raise ``TypeError`` and every message of the batch becomes
|
|
149
|
+
an error envelope: a result whose length differs from the batch, a flat
|
|
150
|
+
list of payloads, a ``Message`` among the outputs, and a ``str``,
|
|
151
|
+
``bytes`` or mapping in place of the result or of one of its lists.
|
|
143
152
|
"""
|
|
144
153
|
|
|
145
154
|
router_branch_safe: ClassVar[bool] = True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/declarative/schemas/agent-spec-v1.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/extras/handlebars.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/__init__.py
RENAMED
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/_shared.py
RENAMED
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/anthropic.py
RENAMED
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/bedrock.py
RENAMED
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{loom_kernel-7.0.0 → loom_kernel-8.0.0}/src/loom/ai/engines/pydantic_ai/providers/typesafe.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|