loom-kernel 10.1.0__tar.gz → 10.3.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.
Files changed (805) hide show
  1. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/CHANGELOG.md +152 -14
  2. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/PKG-INFO +6 -6
  3. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/pyproject.toml +6 -6
  4. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_output.py +2 -1
  5. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_state.py +2 -1
  6. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_output.py +1 -1
  7. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/fastapi/endpoints.py +2 -1
  8. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_grants.py +2 -1
  9. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_lifecycle.py +2 -1
  10. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/errors.py +1 -1
  11. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/runner.py +1 -1
  12. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/cli/check.py +5 -1
  13. loom_kernel-10.3.0/src/loom/cli/schema.py +243 -0
  14. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/build.py +7 -22
  15. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/backend/sqlalchemy.py +40 -2
  16. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/repository.py +2 -1
  17. loom_kernel-10.3.0/src/loom/core/config/_interpolations.py +68 -0
  18. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/loader.py +15 -1
  19. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/overrides.py +42 -32
  20. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/resolver.py +20 -1
  21. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/secrets.py +1 -5
  22. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/ssm.py +1 -5
  23. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/worker.py +9 -0
  24. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/__init__.py +1 -2
  25. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/compiler.py +2 -1
  26. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/executor.py +17 -12
  27. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/post_commit.py +1 -24
  28. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/environment.py +16 -0
  29. loom_kernel-10.3.0/src/loom/core/errors/__init__.py +64 -0
  30. loom_kernel-10.3.0/src/loom/core/errors/auth.py +133 -0
  31. loom_kernel-10.3.0/src/loom/core/errors/base.py +67 -0
  32. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/errors/codes.py +6 -1
  33. loom_kernel-10.3.0/src/loom/core/errors/domain.py +139 -0
  34. loom_kernel-10.3.0/src/loom/core/errors/jobs.py +85 -0
  35. loom_kernel-10.3.0/src/loom/core/errors/model.py +52 -0
  36. loom_kernel-10.3.0/src/loom/core/errors/stores.py +249 -0
  37. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/identity/__init__.py +8 -1
  38. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/identity/identity.py +4 -0
  39. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/__init__.py +2 -5
  40. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/context.py +2 -2
  41. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/handle.py +1 -46
  42. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/outcome.py +1 -1
  43. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/router.py +1 -14
  44. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/locator.py +37 -17
  45. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/__init__.py +3 -4
  46. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/_loom_type.py +1 -48
  47. loom_kernel-10.3.0/src/loom/core/model/audited.py +75 -0
  48. loom_kernel-10.3.0/src/loom/core/persistence/audit_checks.py +51 -0
  49. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/database.py +15 -0
  50. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/__init__.py +0 -2
  51. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/cursor.py +16 -10
  52. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/dynamodb/repository.py +6 -14
  53. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/query_compiler.py +2 -2
  54. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/backend.py +47 -6
  55. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/migrations/runners.py +54 -6
  56. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/model.py +20 -3
  57. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/repository.py +1 -1
  58. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/__init__.py +2 -1
  59. loom_kernel-10.3.0/src/loom/core/repository/sqlalchemy/rls/audit.py +176 -0
  60. loom_kernel-10.3.0/src/loom/core/repository/sqlalchemy/rls/audit_verify.py +177 -0
  61. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/config.py +26 -2
  62. loom_kernel-10.3.0/src/loom/core/repository/sqlalchemy/rls/findings.py +26 -0
  63. loom_kernel-10.3.0/src/loom/core/repository/sqlalchemy/rls/guard/0003.sql +530 -0
  64. loom_kernel-10.3.0/src/loom/core/repository/sqlalchemy/rls/guard_manifest.py +237 -0
  65. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/integrity.py +157 -5
  66. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/provider.py +31 -3
  67. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/schema.py +12 -3
  68. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/verify.py +117 -59
  69. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/transactional.py +8 -8
  70. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/values.py +2 -2
  71. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/uow/__init__.py +0 -12
  72. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/uow/coordinator.py +1 -23
  73. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/uow/scope.py +7 -158
  74. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/markers.py +5 -0
  75. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/rule.py +1 -1
  76. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/__init__.py +1 -1
  77. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_format_registry.py +2 -30
  78. loom_kernel-10.3.0/src/loom/etl/runner/errors.py +38 -0
  79. loom_kernel-10.3.0/src/loom/jobs/aws/errors.py +36 -0
  80. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/jobs/aws/sqs.py +14 -18
  81. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/auth/abc.py +3 -35
  82. loom_kernel-10.3.0/src/loom/rest/auth/errors.py +43 -0
  83. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/auth/jwt.py +15 -1
  84. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/checks.py +7 -5
  85. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/compiler.py +2 -7
  86. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/errors.py +10 -4
  87. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/adapter.py +31 -38
  88. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/response.py +2 -1
  89. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/router_runtime.py +2 -2
  90. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/__init__.py +49 -0
  91. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/_jobs.py +137 -0
  92. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/serverless/aws/lambda_/_refusals.py +6 -5
  93. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/checks.py +93 -0
  94. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/errors.py +16 -0
  95. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/functions.py +287 -0
  96. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/handler.py +333 -0
  97. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/interfaces.py +90 -0
  98. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/serverless/aws/lambda_/manifest.py +110 -119
  99. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/__init__.py +70 -0
  100. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/eventbridge.py +42 -0
  101. {loom_kernel-10.1.0/src/loom/serverless/aws/lambda_ → loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers}/http.py +46 -87
  102. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/s3.py +95 -0
  103. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/schedule.py +16 -0
  104. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/sns.py +55 -0
  105. loom_kernel-10.3.0/src/loom/serverless/aws/lambda_/triggers/sqs.py +183 -0
  106. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_error_boundary.py +1 -1
  107. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/common.py +1 -1
  108. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/__init__.py +3 -8
  109. loom_kernel-10.3.0/src/loom/testing/gateway.py +48 -0
  110. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/jobs.py +5 -67
  111. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/lambda_http.py +20 -38
  112. loom_kernel-10.3.0/src/loom/testing/serverless.py +227 -0
  113. loom_kernel-10.1.0/src/loom/cli/schema.py +0 -107
  114. loom_kernel-10.1.0/src/loom/core/errors/__init__.py +0 -35
  115. loom_kernel-10.1.0/src/loom/core/errors/errors.py +0 -340
  116. loom_kernel-10.1.0/src/loom/core/repository/abc/errors.py +0 -30
  117. loom_kernel-10.1.0/src/loom/core/repository/sqlalchemy/rls/guard_manifest.py +0 -150
  118. loom_kernel-10.1.0/src/loom/serverless/aws/lambda_/__init__.py +0 -46
  119. loom_kernel-10.1.0/src/loom/serverless/aws/lambda_/functions.py +0 -203
  120. loom_kernel-10.1.0/src/loom/serverless/aws/lambda_/sqs.py +0 -316
  121. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/.gitignore +0 -0
  122. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/LICENSE +0 -0
  123. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/README.md +0 -0
  124. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/__init__.py +0 -0
  125. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/__init__.py +0 -0
  126. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_concurrency.py +0 -0
  127. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_filters.py +0 -0
  128. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_paths.py +0 -0
  129. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_roles.py +0 -0
  130. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_startup.py +0 -0
  131. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_transport.py +0 -0
  132. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/_usecase.py +0 -0
  133. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/__init__.py +0 -0
  134. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/_binding.py +0 -0
  135. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/_handlers.py +0 -0
  136. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/_rpc.py +0 -0
  137. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/card.py +0 -0
  138. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/events.py +0 -0
  139. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/a2a/server.py +0 -0
  140. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/abc.py +0 -0
  141. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/bootstrap.py +0 -0
  142. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/__init__.py +0 -0
  143. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/_compiler.py +0 -0
  144. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/_fingerprint.py +0 -0
  145. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/_plan.py +0 -0
  146. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/__init__.py +0 -0
  147. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_capabilities.py +0 -0
  148. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_conversation.py +0 -0
  149. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_feedable.py +0 -0
  150. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_hook.py +0 -0
  151. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_instructions.py +0 -0
  152. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_limits.py +0 -0
  153. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/compiler/phases/_model_role.py +0 -0
  154. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/config.py +0 -0
  155. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/declarative/__init__.py +0 -0
  156. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/declarative/_envelope.py +0 -0
  157. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/declarative/_schema.py +0 -0
  158. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/declarative/_v1.py +0 -0
  159. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/declarative/schemas/agent-spec-v1.schema.json +0 -0
  160. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/describe.py +0 -0
  161. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/__init__.py +0 -0
  162. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/__init__.py +0 -0
  163. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_a2a.py +0 -0
  164. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_capabilities.py +0 -0
  165. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_engine.py +0 -0
  166. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_errors.py +0 -0
  167. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_escape.py +0 -0
  168. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_events.py +0 -0
  169. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_guards.py +0 -0
  170. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_history.py +0 -0
  171. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_instructions.py +0 -0
  172. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_limits.py +0 -0
  173. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_mcp.py +0 -0
  174. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_models.py +0 -0
  175. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_native.py +0 -0
  176. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_returns.py +0 -0
  177. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_schemas.py +0 -0
  178. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/_spec.py +0 -0
  179. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/extras/__init__.py +0 -0
  180. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/extras/a2a.py +0 -0
  181. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/extras/handlebars.py +0 -0
  182. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/extras/mcp.py +0 -0
  183. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/extras/skills.py +0 -0
  184. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/provider.py +0 -0
  185. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/__init__.py +0 -0
  186. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/_shared.py +0 -0
  187. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/anthropic.py +0 -0
  188. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/bedrock.py +0 -0
  189. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/gateway.py +0 -0
  190. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/openai.py +0 -0
  191. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/engines/pydantic_ai/providers/typesafe.py +0 -0
  192. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/errors.py +0 -0
  193. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/__init__.py +0 -0
  194. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_batch.py +0 -0
  195. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_columns.py +0 -0
  196. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_frames.py +0 -0
  197. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_ledger.py +0 -0
  198. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_runner.py +0 -0
  199. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/etl/_validation.py +0 -0
  200. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/fastapi/__init__.py +0 -0
  201. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/fastapi/response.py +0 -0
  202. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/fastapi/streaming.py +0 -0
  203. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/inference.py +0 -0
  204. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/pricing.py +0 -0
  205. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/registry.py +0 -0
  206. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/remote_auth.py +0 -0
  207. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/__init__.py +0 -0
  208. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_bounded.py +0 -0
  209. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_chain.py +0 -0
  210. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_conversation.py +0 -0
  211. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_handle.py +0 -0
  212. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_health.py +0 -0
  213. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_hooks.py +0 -0
  214. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_limits.py +0 -0
  215. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/runtime/_mcp.py +0 -0
  216. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/validate/__init__.py +0 -0
  217. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/ai/validate/__main__.py +0 -0
  218. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/__init__.py +0 -0
  219. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/_discovery.py +0 -0
  220. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/adapter.py +0 -0
  221. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/auto.py +0 -0
  222. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/bootstrap.py +0 -0
  223. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/config.py +0 -0
  224. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/constants.py +0 -0
  225. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/celery/service.py +0 -0
  226. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/cli/__init__.py +0 -0
  227. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/cli/app.py +0 -0
  228. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/cli/deploy.py +0 -0
  229. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/__init__.py +0 -0
  230. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/_ai.py +0 -0
  231. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/_jobs.py +0 -0
  232. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/_reserved.py +0 -0
  233. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/_sql.py +0 -0
  234. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/application.py +0 -0
  235. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/errors.py +0 -0
  236. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/host.py +0 -0
  237. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/recipe.py +0 -0
  238. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/resources.py +0 -0
  239. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/composition/source.py +0 -0
  240. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/_async.py +0 -0
  241. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/async_bridge.py +0 -0
  242. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/__init__.py +0 -0
  243. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/_decide.py +0 -0
  244. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/_grants.py +0 -0
  245. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/_roles.py +0 -0
  246. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/_scope.py +0 -0
  247. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/elevation.py +0 -0
  248. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/authz/product.py +0 -0
  249. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/backend/__init__.py +0 -0
  250. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/backend/core_model.py +0 -0
  251. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/backend/protocol.py +0 -0
  252. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/backend/scoped_ddl.py +0 -0
  253. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/bootstrap/__init__.py +0 -0
  254. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/bootstrap/bootstrap.py +0 -0
  255. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/bootstrap/kernel.py +0 -0
  256. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/__init__.py +0 -0
  257. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/_batching.py +0 -0
  258. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/_single_flight.py +0 -0
  259. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/abc/__init__.py +0 -0
  260. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/abc/backend.py +0 -0
  261. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/abc/config.py +0 -0
  262. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/abc/dependency.py +0 -0
  263. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/calls.py +0 -0
  264. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/codec.py +0 -0
  265. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/decorators.py +0 -0
  266. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/dependency.py +0 -0
  267. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/errors.py +0 -0
  268. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/gateway.py +0 -0
  269. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/keys.py +0 -0
  270. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/memory.py +0 -0
  271. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/result_codec.py +0 -0
  272. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/serializer.py +0 -0
  273. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/cache/wiring.py +0 -0
  274. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/checks.py +0 -0
  275. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/command/__init__.py +0 -0
  276. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/command/adapter.py +0 -0
  277. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/command/base.py +0 -0
  278. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/command/field.py +0 -0
  279. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/command/introspection.py +0 -0
  280. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/compiler.py +0 -0
  281. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/__init__.py +0 -0
  282. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/_includes.py +0 -0
  283. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/_resolver_utils.py +0 -0
  284. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/aws.py +0 -0
  285. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/binder.py +0 -0
  286. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/checks.py +0 -0
  287. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/configurable.py +0 -0
  288. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/context.py +0 -0
  289. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/convert.py +0 -0
  290. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/errors.py +0 -0
  291. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/keys.py +0 -0
  292. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/model.py +0 -0
  293. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/observability.py +0 -0
  294. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/config/retired.py +0 -0
  295. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/__init__.py +0 -0
  296. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/_base.py +0 -0
  297. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/aws/__init__.py +0 -0
  298. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/aws/client.py +0 -0
  299. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/aws/config.py +0 -0
  300. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/aws/loader.py +0 -0
  301. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/clickhouse/__init__.py +0 -0
  302. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/clickhouse/client.py +0 -0
  303. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/clickhouse/config.py +0 -0
  304. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/clickhouse/loader.py +0 -0
  305. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/mongo/__init__.py +0 -0
  306. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/mongo/client.py +0 -0
  307. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/mongo/config.py +0 -0
  308. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/mongo/loader.py +0 -0
  309. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/connections/relational.py +0 -0
  310. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/contracts/__init__.py +0 -0
  311. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/contracts/manifest.py +0 -0
  312. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/di/__init__.py +0 -0
  313. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/di/container.py +0 -0
  314. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/di/scope.py +0 -0
  315. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/__init__.py +0 -0
  316. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/_utils.py +0 -0
  317. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/base.py +0 -0
  318. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/config.py +0 -0
  319. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/interfaces.py +0 -0
  320. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/manifest.py +0 -0
  321. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/modules.py +0 -0
  322. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/discovery/worker_manifest.py +0 -0
  323. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/compilable.py +0 -0
  324. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/events.py +0 -0
  325. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/metrics.py +0 -0
  326. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/engine/plan.py +0 -0
  327. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/expr/__init__.py +0 -0
  328. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/expr/eval.py +0 -0
  329. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/expr/nodes.py +0 -0
  330. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/expr/refs.py +0 -0
  331. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/identity/context.py +0 -0
  332. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/identity/issuer.py +0 -0
  333. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/identity/wire.py +0 -0
  334. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/introspection/__init__.py +0 -0
  335. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/introspection/base.py +0 -0
  336. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/introspection/describe.py +0 -0
  337. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/callback.py +0 -0
  338. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/config.py +0 -0
  339. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/envelope.py +0 -0
  340. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/job.py +0 -0
  341. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/run.py +0 -0
  342. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/job/service.py +0 -0
  343. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/__init__.py +0 -0
  344. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/abc.py +0 -0
  345. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/checks.py +0 -0
  346. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/config.py +0 -0
  347. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/context.py +0 -0
  348. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/registry.py +0 -0
  349. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/logger/structlogger.py +0 -0
  350. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/_json_schema.py +0 -0
  351. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/base.py +0 -0
  352. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/convert.py +0 -0
  353. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/enums.py +0 -0
  354. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/field.py +0 -0
  355. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/introspection.py +0 -0
  356. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/partition.py +0 -0
  357. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/privilege.py +0 -0
  358. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/projection.py +0 -0
  359. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/redaction.py +0 -0
  360. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/relation.py +0 -0
  361. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/scoped.py +0 -0
  362. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/struct.py +0 -0
  363. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/timestamped.py +0 -0
  364. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/types.py +0 -0
  365. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/model/types_postgres.py +0 -0
  366. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/__init__.py +0 -0
  367. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/config.py +0 -0
  368. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/event.py +0 -0
  369. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/observer/__init__.py +0 -0
  370. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/observer/noop.py +0 -0
  371. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/observer/otel.py +0 -0
  372. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/observer/structlog.py +0 -0
  373. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/otel_ids.py +0 -0
  374. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/protocol.py +0 -0
  375. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/runtime.py +0 -0
  376. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/span.py +0 -0
  377. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/observability/topology.py +0 -0
  378. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/__init__.py +0 -0
  379. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/abc.py +0 -0
  380. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/elevation.py +0 -0
  381. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/none.py +0 -0
  382. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/profile.py +0 -0
  383. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/registry.py +0 -0
  384. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/persistence/stores.py +0 -0
  385. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/plugins/__init__.py +0 -0
  386. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/plugins/entrypoints.py +0 -0
  387. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/plugins/optional.py +0 -0
  388. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/projection/__init__.py +0 -0
  389. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/projection/loaders.py +0 -0
  390. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/projection/runtime.py +0 -0
  391. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/__init__.py +0 -0
  392. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/checks.py +0 -0
  393. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/query.py +0 -0
  394. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/query_compiler.py +0 -0
  395. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/repo_for.py +0 -0
  396. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/repository.py +0 -0
  397. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/abc/session_scope.py +0 -0
  398. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/dynamodb/__init__.py +0 -0
  399. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/dynamodb/backend.py +0 -0
  400. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/dynamodb/registry.py +0 -0
  401. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/dynamodb/uow.py +0 -0
  402. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/__init__.py +0 -0
  403. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/backend.py +0 -0
  404. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/ids.py +0 -0
  405. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/registry.py +0 -0
  406. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/repository.py +0 -0
  407. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/uow.py +0 -0
  408. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mongo/values.py +0 -0
  409. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/mutation.py +0 -0
  410. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/registration.py +0 -0
  411. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/registry.py +0 -0
  412. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/__init__.py +0 -0
  413. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/_pool_metrics.py +0 -0
  414. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/integrity.py +0 -0
  415. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/loaders.py +0 -0
  416. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/migrations/__init__.py +0 -0
  417. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/migrations/env_template.py +0 -0
  418. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/migrations/hook.py +0 -0
  419. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/migrations/operations.py +0 -0
  420. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/mixins.py +0 -0
  421. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/profile_loader.py +0 -0
  422. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/projection.py +0 -0
  423. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/__init__.py +0 -0
  424. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/compiler.py +0 -0
  425. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/cursor.py +0 -0
  426. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/errors.py +0 -0
  427. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/filters.py +0 -0
  428. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/ordering.py +0 -0
  429. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/paths.py +0 -0
  430. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/query_compiler/subquery.py +0 -0
  431. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/registry.py +0 -0
  432. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/bootstrap.py +0 -0
  433. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/elevate.py +0 -0
  434. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/guard/0001.sql +0 -0
  435. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/guard/0002.sql +0 -0
  436. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/guard/preflight.sql +0 -0
  437. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/partitions.py +0 -0
  438. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/rls/sources.py +0 -0
  439. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/session_manager.py +0 -0
  440. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/session_settings.py +0 -0
  441. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/repository/sqlalchemy/uow.py +0 -0
  442. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/response/__init__.py +0 -0
  443. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/response/base.py +0 -0
  444. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/routing/__init__.py +0 -0
  445. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/routing/ref.py +0 -0
  446. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/routing/resolver.py +0 -0
  447. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/runner.py +0 -0
  448. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/schema/__init__.py +0 -0
  449. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/schema/schema_mode.py +0 -0
  450. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/schema_names.py +0 -0
  451. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/__init__.py +0 -0
  452. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/abc/__init__.py +0 -0
  453. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/abc/contracts.py +0 -0
  454. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/abc/errors.py +0 -0
  455. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/caller_bound.py +0 -0
  456. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/clickhouse/__init__.py +0 -0
  457. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/clickhouse/_client.py +0 -0
  458. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/clickhouse/executor.py +0 -0
  459. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/clickhouse/registry.py +0 -0
  460. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/config.py +0 -0
  461. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/loader.py +0 -0
  462. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/roles.py +0 -0
  463. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/sql/service.py +0 -0
  464. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/symbols.py +0 -0
  465. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/tracing/__init__.py +0 -0
  466. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/tracing/context.py +0 -0
  467. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/transport/__init__.py +0 -0
  468. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/transport/adapter.py +0 -0
  469. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/uow/abc.py +0 -0
  470. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/uow/alone.py +0 -0
  471. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/__init__.py +0 -0
  472. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/_predicates.py +0 -0
  473. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/agent_markers.py +0 -0
  474. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/compute.py +0 -0
  475. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/constants.py +0 -0
  476. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/errors.py +0 -0
  477. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/factory.py +0 -0
  478. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/field_ref.py +0 -0
  479. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/invoker.py +0 -0
  480. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/joined.py +0 -0
  481. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/keys.py +0 -0
  482. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/mcp_markers.py +0 -0
  483. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/outcome.py +0 -0
  484. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/registry.py +0 -0
  485. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/core/use_case/use_case.py +0 -0
  486. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/_uri.py +0 -0
  487. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/__init__.py +0 -0
  488. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/__init__.py +0 -0
  489. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/_common.py +0 -0
  490. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/_log.py +0 -0
  491. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/_ops.py +0 -0
  492. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/_snapshot.py +0 -0
  493. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_historify/_transform.py +0 -0
  494. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_merge.py +0 -0
  495. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_path_template.py +0 -0
  496. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_predicate.py +0 -0
  497. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_schema_aligner/__init__.py +0 -0
  498. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_schema_aligner/_aligner.py +0 -0
  499. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_schema_aligner/_policy.py +0 -0
  500. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/_write_policy.py +0 -0
  501. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/__init__.py +0 -0
  502. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_dtype.py +0 -0
  503. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_file_writer.py +0 -0
  504. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_frame.py +0 -0
  505. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_historify.py +0 -0
  506. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_predicate.py +0 -0
  507. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_reader.py +0 -0
  508. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_schema.py +0 -0
  509. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_schema_aligner.py +0 -0
  510. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_streaming.py +0 -0
  511. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/_writer.py +0 -0
  512. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/polars/provider.py +0 -0
  513. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/__init__.py +0 -0
  514. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_dtype.py +0 -0
  515. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_historify.py +0 -0
  516. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_reader.py +0 -0
  517. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_schema.py +0 -0
  518. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_schema_aligner.py +0 -0
  519. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/_writer.py +0 -0
  520. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/backends/spark/provider.py +0 -0
  521. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/__init__.py +0 -0
  522. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_backends/_memory.py +0 -0
  523. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_backends/_polars.py +0 -0
  524. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_backends/_spark.py +0 -0
  525. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_cleaners.py +0 -0
  526. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_options.py +0 -0
  527. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_paths.py +0 -0
  528. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_scope.py +0 -0
  529. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/checkpoint/_store.py +0 -0
  530. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/__init__.py +0 -0
  531. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_binding.py +0 -0
  532. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_compiler.py +0 -0
  533. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_errors.py +0 -0
  534. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_filter.py +0 -0
  535. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_plan.py +0 -0
  536. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_validators.py +0 -0
  537. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_validators_agents.py +0 -0
  538. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_validators_config.py +0 -0
  539. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_validators_plan.py +0 -0
  540. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/compiler/_validators_step.py +0 -0
  541. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/__init__.py +0 -0
  542. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/_format.py +0 -0
  543. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/_read_options.py +0 -0
  544. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/_utils.py +0 -0
  545. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/_with_agent.py +0 -0
  546. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/_write_options.py +0 -0
  547. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/expr/__init__.py +0 -0
  548. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/expr/_params.py +0 -0
  549. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/expr/_predicate.py +0 -0
  550. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/expr/_predicate_dialect.py +0 -0
  551. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/expr/_refs.py +0 -0
  552. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/__init__.py +0 -0
  553. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_from.py +0 -0
  554. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_from_clickhouse.py +0 -0
  555. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_from_config.py +0 -0
  556. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_from_dynamodb.py +0 -0
  557. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_from_mongo.py +0 -0
  558. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/source/_specs.py +0 -0
  559. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/__init__.py +0 -0
  560. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_client.py +0 -0
  561. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_errors.py +0 -0
  562. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_file.py +0 -0
  563. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/__init__.py +0 -0
  564. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/_builder.py +0 -0
  565. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/_enums.py +0 -0
  566. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/_errors.py +0 -0
  567. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/_report.py +0 -0
  568. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_history/_spec.py +0 -0
  569. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_into.py +0 -0
  570. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_table.py +0 -0
  571. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/declarative/target/_temp.py +0 -0
  572. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/executor/__init__.py +0 -0
  573. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/executor/_agents.py +0 -0
  574. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/executor/_dispatcher.py +0 -0
  575. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/executor/_executor.py +0 -0
  576. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/__init__.py +0 -0
  577. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/_clickhouse_connection.py +0 -0
  578. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/_registry.py +0 -0
  579. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/__init__.py +0 -0
  580. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_clickhouse.py +0 -0
  581. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_dynamodb.py +0 -0
  582. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_dynamodb_items.py +0 -0
  583. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_dynamodb_predicate.py +0 -0
  584. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_mongo.py +0 -0
  585. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_mongo_batch.py +0 -0
  586. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_mongo_bson.py +0 -0
  587. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_mongo_predicate.py +0 -0
  588. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/sources/_serialization.py +0 -0
  589. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/targets/__init__.py +0 -0
  590. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/io/targets/_clickhouse.py +0 -0
  591. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/__init__.py +0 -0
  592. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/_config.py +0 -0
  593. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/_observer.py +0 -0
  594. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/_records.py +0 -0
  595. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/sinks/__init__.py +0 -0
  596. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/sinks/_protocol.py +0 -0
  597. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/sinks/_table.py +0 -0
  598. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/lineage/sinks/_writer.py +0 -0
  599. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/__init__.py +0 -0
  600. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/_builder.py +0 -0
  601. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/_ops.py +0 -0
  602. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/_protocol.py +0 -0
  603. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/_runner.py +0 -0
  604. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/_step.py +0 -0
  605. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/backends/__init__.py +0 -0
  606. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/maintenance/backends/_delta_rs.py +0 -0
  607. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/__init__.py +0 -0
  608. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_generics.py +0 -0
  609. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_params.py +0 -0
  610. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_pipeline.py +0 -0
  611. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_process.py +0 -0
  612. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_sql.py +0 -0
  613. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_step.py +0 -0
  614. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_step_client.py +0 -0
  615. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/pipeline/_step_sql.py +0 -0
  616. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/__init__.py +0 -0
  617. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/_agents.py +0 -0
  618. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/_providers.py +0 -0
  619. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/_wiring.py +0 -0
  620. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/config_loader.py +0 -0
  621. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runner/core.py +0 -0
  622. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runtime/__init__.py +0 -0
  623. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runtime/_config_values.py +0 -0
  624. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/runtime/contracts.py +0 -0
  625. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/schema/__init__.py +0 -0
  626. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/schema/_contract.py +0 -0
  627. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/schema/_schema.py +0 -0
  628. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/storage/__init__.py +0 -0
  629. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/storage/_config.py +0 -0
  630. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/storage/_file_locator.py +0 -0
  631. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/storage/_locator.py +0 -0
  632. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/storage/routing.py +0 -0
  633. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/__init__.py +0 -0
  634. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/_delta.py +0 -0
  635. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/_result.py +0 -0
  636. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/_runners.py +0 -0
  637. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/_scenario.py +0 -0
  638. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/_stubs.py +0 -0
  639. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/etl/testing/spark.py +0 -0
  640. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/jobs/__init__.py +0 -0
  641. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/jobs/aws/__init__.py +0 -0
  642. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/__init__.py +0 -0
  643. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_async.py +0 -0
  644. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_config.py +0 -0
  645. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_ctx.py +0 -0
  646. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_flow_yaml.py +0 -0
  647. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_meta.py +0 -0
  648. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_placeholders.py +0 -0
  649. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/_summary.py +0 -0
  650. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/deploy/__init__.py +0 -0
  651. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/deploy/_discovery.py +0 -0
  652. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/deploy/_schedule.py +0 -0
  653. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/deploy/_yaml_etls.py +0 -0
  654. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/deploy/entrypoint.py +0 -0
  655. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/__init__.py +0 -0
  656. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_assemble.py +0 -0
  657. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_backfill.py +0 -0
  658. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_backfill_body.py +0 -0
  659. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_body.py +0 -0
  660. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_common.py +0 -0
  661. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_factory.py +0 -0
  662. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_hooks.py +0 -0
  663. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_maintenance.py +0 -0
  664. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_params.py +0 -0
  665. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_run_name.py +0 -0
  666. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_runtime.py +0 -0
  667. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_signature.py +0 -0
  668. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/flow/_stages.py +0 -0
  669. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/manifest/__init__.py +0 -0
  670. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/manifest/_model.py +0 -0
  671. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/manifest/_s3.py +0 -0
  672. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/manifest/_store.py +0 -0
  673. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/__init__.py +0 -0
  674. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_event.py +0 -0
  675. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_factory.py +0 -0
  676. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_format.py +0 -0
  677. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_port.py +0 -0
  678. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_slack.py +0 -0
  679. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/notify/_sns.py +0 -0
  680. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/observer/__init__.py +0 -0
  681. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/observer/_flow.py +0 -0
  682. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/observer/_logging_bridge.py +0 -0
  683. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/observer/_manifest.py +0 -0
  684. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prefect/observer/_task_run.py +0 -0
  685. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/__init__.py +0 -0
  686. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/_instruments.py +0 -0
  687. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/adapter.py +0 -0
  688. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/db_pool.py +0 -0
  689. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/kafka.py +0 -0
  690. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/lifecycle.py +0 -0
  691. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/prometheus/middleware.py +0 -0
  692. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/py.typed +0 -0
  693. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/__init__.py +0 -0
  694. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/_body.py +0 -0
  695. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/adapter.py +0 -0
  696. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/auth/__init__.py +0 -0
  697. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/auth/config.py +0 -0
  698. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/auth/middleware.py +0 -0
  699. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/autocrud.py +0 -0
  700. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/config.py +0 -0
  701. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/constants.py +0 -0
  702. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/cors.py +0 -0
  703. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/__init__.py +0 -0
  704. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/_auto_ai.py +0 -0
  705. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/_auto_auth.py +0 -0
  706. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/_auto_sql.py +0 -0
  707. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/_errors.py +0 -0
  708. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/_exclusions.py +0 -0
  709. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/app.py +0 -0
  710. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/auto.py +0 -0
  711. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/health.py +0 -0
  712. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/openapi.py +0 -0
  713. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/fastapi/sql.py +0 -0
  714. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/middleware.py +0 -0
  715. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/model.py +0 -0
  716. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/rest/rest_adapter.py +0 -0
  717. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/serverless/__init__.py +0 -0
  718. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/serverless/aws/__init__.py +0 -0
  719. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/__init__.py +0 -0
  720. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/__init__.py +0 -0
  721. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_adapter.py +0 -0
  722. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_batch_spans.py +0 -0
  723. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_commit_tracker.py +0 -0
  724. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_errors.py +0 -0
  725. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_operators.py +0 -0
  726. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_resource_manager.py +0 -0
  727. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_runtime_io.py +0 -0
  728. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/_sink_registry.py +0 -0
  729. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/__init__.py +0 -0
  730. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/_shared.py +0 -0
  731. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/boundary.py +0 -0
  732. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/dispatcher.py +0 -0
  733. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/routing.py +0 -0
  734. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/scopes.py +0 -0
  735. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/shapes.py +0 -0
  736. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/steps.py +0 -0
  737. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/handlers/storage.py +0 -0
  738. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/bytewax/runner.py +0 -0
  739. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/__init__.py +0 -0
  740. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/_bindings.py +0 -0
  741. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/_compiler.py +0 -0
  742. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/_errors.py +0 -0
  743. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/_plan.py +0 -0
  744. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/phases/build_plan.py +0 -0
  745. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/compiler/phases/validate.py +0 -0
  746. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/__init__.py +0 -0
  747. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/_errors.py +0 -0
  748. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/_exceptions.py +0 -0
  749. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/_message.py +0 -0
  750. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/_tracing.py +0 -0
  751. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/core/_typing.py +0 -0
  752. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/graph/__init__.py +0 -0
  753. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/graph/_flow.py +0 -0
  754. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/__init__.py +0 -0
  755. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_codec.py +0 -0
  756. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_config.py +0 -0
  757. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_errors.py +0 -0
  758. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_key_resolver.py +0 -0
  759. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_message.py +0 -0
  760. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_record.py +0 -0
  761. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/_wire.py +0 -0
  762. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/client/__init__.py +0 -0
  763. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/client/_consumer.py +0 -0
  764. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/client/_producer.py +0 -0
  765. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/client/_protocol.py +0 -0
  766. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/client/_retry.py +0 -0
  767. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/message/__init__.py +0 -0
  768. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/message/_consumer.py +0 -0
  769. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/message/_producer.py +0 -0
  770. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/kafka/message/_protocol.py +0 -0
  771. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/mongo/__init__.py +0 -0
  772. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/mongo/_bytewax_source.py +0 -0
  773. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/mongo/_config.py +0 -0
  774. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/mongo/_event.py +0 -0
  775. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/mongo/_normalize.py +0 -0
  776. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/__init__.py +0 -0
  777. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_boundary.py +0 -0
  778. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_branches.py +0 -0
  779. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_broadcast.py +0 -0
  780. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_capabilities.py +0 -0
  781. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_decompose.py +0 -0
  782. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_expand_routes.py +0 -0
  783. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_expr_eval.py +0 -0
  784. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_fork.py +0 -0
  785. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_helpers.py +0 -0
  786. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_mongo.py +0 -0
  787. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_protocols.py +0 -0
  788. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_router.py +0 -0
  789. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_shape.py +0 -0
  790. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_sink.py +0 -0
  791. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_step.py +0 -0
  792. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/__init__.py +0 -0
  793. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/_clickhouse.py +0 -0
  794. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/_delta.py +0 -0
  795. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/_sqlalchemy.py +0 -0
  796. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_table/config.py +0 -0
  797. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/_with.py +0 -0
  798. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/nodes/refs.py +0 -0
  799. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/streaming/testing.py +0 -0
  800. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/agents.py +0 -0
  801. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/golden.py +0 -0
  802. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/http_harness.py +0 -0
  803. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/in_memory.py +0 -0
  804. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/repository_harness.py +0 -0
  805. {loom_kernel-10.1.0 → loom_kernel-10.3.0}/src/loom/testing/runner.py +0 -0
@@ -1,7 +1,90 @@
1
1
  # Unreleased
2
2
 
3
+ ## 💥 Breaking
4
+
5
+ ### lambda
6
+
7
+ - **lambda:** `identity` is required on `eventbridge`, `s3`, `sns` and
8
+ `schedule` triggers: a trigger without one fails to load, so no automatic
9
+ change runs without an actor. An `identity.attributes` key under the
10
+ reserved `loom:` prefix fails to load too.
11
+
12
+ - **lambda:** the deploy manifest reuses the loader: `served_routes(source,
13
+ select_interfaces=None)` reads and validates `app.rest.interfaces` and
14
+ `app.rest.disable_routes` itself, the placeholders are read by OmegaConf's
15
+ grammar (`loom.core.config.resolver.referenced`; an escaped `\${secrets:...}`
16
+ is no longer listed, `${secrets:a,b}` names `a`), the resolvers' `.reference()`
17
+ methods are gone and `FunctionManifest.event` is a `dict` with the same keys
18
+ the removed `Route`, `HttpEvent`, `QueueEvent`, `OnFailure` and `DirectEvent`
19
+ structs encoded. The JSON does not change. `omegaconf` is bound to `<2.4`:
20
+ the manifest reads its generated grammar (`loom.core.config._interpolations`).
21
+
22
+ - **lambda:** one adapter, `LambdaAdapter`, serves every Lambda function: it
23
+ binds the handler of the trigger the deployed function declares. Nothing
24
+ of the previous surface remains:
25
+
26
+ | Before | Now |
27
+ |---|---|
28
+ | `LambdaHTTPAdapter()` | `LambdaAdapter()` |
29
+ | `LambdaSQSAdapter(jobs=...)` | `LambdaAdapter(jobs=...)` on a function with `trigger: {source: jobs}` |
30
+ | `app.entry: lambda_http` | `app.entry: lambda` |
31
+ | `app.entry: lambda_sqs` | `app.entry: <function>` with `trigger: {source: jobs}` |
32
+ | `lambda.functions.<f>.http: [...]` | `lambda.functions.<f>.trigger: {source: http, interfaces: [...]}` |
33
+ | `lambda.functions.<f>.auth` | `lambda.functions.<f>.trigger.auth` |
34
+ | `lambda.functions.<f>.sqs: true` | `lambda.functions.<f>.trigger: {source: jobs, queue: {name: ...}}` |
35
+ | `lambda.functions.<f>.queue`, `batch_size`, `batching_window_s`, `max_concurrency`, `report_batch_item_failures` | The same keys under `trigger.queue` (`queue` becomes `queue.name`) |
36
+ | `loom.serverless.aws.lambda_.http` | `loom.serverless.aws.lambda_.triggers.http` |
37
+ | `loom.serverless.aws.lambda_.sqs.SQSBatchFailedError` | `loom.serverless.aws.lambda_.SQSBatchFailedError` |
38
+ | `loom.serverless.aws.lambda_.sqs.SQSHandler` | `loom.serverless.aws.lambda_.LambdaHandler` |
39
+ | `loom.serverless.aws.lambda_.LambdaHTTPHandler` | `LambdaHandler`; the class is internal |
40
+ | `loom.serverless.aws.lambda_.sqs.DuplicateJobName` | `loom.core.discovery.worker.DuplicateJobName` |
41
+ | `loom.serverless.aws.lambda_.sqs.MALFORMED_JOB`, `TIMEOUT_SAFETY_MARGIN_MS` | Internal |
42
+ | `loom.testing.sqs_record(Job, payload, ...)` | `loom.testing.LambdaEvent.jobs(Job, payload, ...)` |
43
+ | `loom.testing.sqs_raw_record(body, ...)` | `loom.testing.LambdaEvent.sqs_record(body, ...)["Records"][0]` |
44
+ | Deploy manifest `manifest_version: 1`, event `type` (`http`, `sqs`) | `manifest_version: 2`: each function's `source` and `via` |
45
+
46
+ `loom.serverless.aws.lambda_` exports `LambdaAdapter`, `LambdaHandler`,
47
+ `LambdaUnservedConfigError`, `S3Object` and `SQSBatchFailedError` only.
48
+
49
+ ### config
50
+
51
+ - **config:** a `config.overridable` entry reaching `lambda.handler`,
52
+ `app.discovery` or `lambda.functions.*.trigger` stops every load, as one
53
+ reaching `aws` or `sqs.queues` does; `app.*` is such an entry.
54
+
3
55
  ## ✨ Features
4
56
 
57
+ ### audit
58
+
59
+ - **audit:** a model marked `Audited` records every insert, delete and
60
+ value-changing update in its store's `audit_log`: the person
61
+ (`subject`, `mechanism`, `on_behalf_of`), the request (`trace_id`), the
62
+ changed columns, the row's scopes and the connection. Written by a trigger
63
+ of guard revision 3 in the same transaction, append-only for everyone,
64
+ readable only by the `<schema>_auditor` role, partitioned by month.
65
+ Excluded and secret columns are recorded as redacted. Configured under
66
+ `stores.<name>.schema.audit` (`enabled`, `retention_months`, `reader`).
67
+ Run `loom schema bootstrap` from this release before marking a table:
68
+ revision 3 is one-way, and an application with audited tables refuses to
69
+ start on an older guard. See "Audit" in the Postgres RLS guide and ADR 0009.
70
+ - **audit:** every transaction on an external Postgres store sets
71
+ `loom.actor.subject`, `loom.actor.mechanism`, `loom.actor.on_behalf_of`
72
+ and `loom.trace_id`, scoped store or not. A product `SessionSettings` may
73
+ not set any `loom.` key.
74
+ - **audit:** the identity of an event trigger acts on behalf of the caller
75
+ AWS recorded: an S3 record's `userIdentity.principalId`, or the
76
+ `detail.userIdentity.arn` of an EventBridge event from an `aws.` source.
77
+ `loom:on_behalf_of` is reserved: JWT claims under `loom:` are dropped.
78
+ - **cli:** `loom schema bootstrap` (as the superuser, sets the migrator's and
79
+ each login's password from `LOOM_DB_PASSWORD_<USER>`), `loom schema verify`
80
+ (exit 1 on drift, lists expired audit partitions) and
81
+ `loom schema audit drop-expired` (one partition past the retention per run).
82
+ - **audit:** the log's partitions are UTC months kept twelve months ahead by
83
+ every deploy and by `loom schema audit ensure-partitions`, meant for a
84
+ scheduler; `verify` fails and startup warns with fewer than three months left.
85
+ - **check:** `loom check --deploy` warns (`loom.audit.W001`) about a store
86
+ whose audit is disabled.
87
+
5
88
  ### jobs
6
89
 
7
90
  - **jobs:** `app.job_service` (`inline`, `celery` or `module:Class` built with
@@ -11,30 +94,38 @@
11
94
  injecting `JobService`.
12
95
  - **jobs:** `app.job_service: sqs` (extra `loom[sqs]`) sends each job to the
13
96
  SQS queue `sqs.queues` maps its queue to, after the commit, as the
14
- `JobEnvelope` the Lambda SQS adapter runs. `sqs:` inherits `aws:`.
97
+ `JobEnvelope` a Lambda `jobs` function runs. `sqs:` inherits `aws:`.
15
98
  FIFO queues take the SHA-256 of the new `Job.__group_by__` payload field as
16
99
  `MessageGroupId`. Callbacks, priorities, delays SQS cannot honour and bodies
17
100
  over 256 KiB raise `SQSDispatchError`; unmapped queues stop startup.
18
101
  - **jobs:** an execution's SQS jobs leave after the commit in
19
102
  `SendMessageBatch` calls per queue, in dispatch order (`sqs.batch`,
20
103
  `sqs.batch_size`, `sqs.max_concurrent_sends`); a standard queue resends the
21
- entries SQS refuses once, a FIFO queue stops at its first failure. `lambda.functions.<name>` with `sqs: true` declares `batch_size`,
104
+ entries SQS refuses once, a FIFO queue stops at its first failure. A
105
+ Lambda `jobs` trigger's `queue` block declares `batch_size`,
22
106
  `batching_window_s`, `max_concurrency` and `report_batch_item_failures`;
23
107
  `false` makes the SQS handler fail the whole batch.
24
108
 
25
109
  ### lambda
26
110
 
111
+ - **lambda:** event triggers: `trigger: {source: eventbridge | s3 | sns |
112
+ schedule, job, identity}` runs the job for each event, directly or through
113
+ a `queue:` block, as the configured identity only. A failed job fails the
114
+ event, which Lambda retries, then sends to its on-failure destination;
115
+ through a queue it is reported, then dead-lettered. See "Event triggers" in
116
+ the composition guide.
27
117
  - **lambda:** `loom deploy manifest <config> [--function x]` prints a
28
- versioned JSON manifest (`manifest_version: 1`) of each function of
118
+ versioned JSON manifest (`manifest_version: 2`) of each function of
29
119
  `lambda.functions` for a deployment tool: the handler, code path and
30
- queues once, then per function its http routes and `auth` or its sqs queue
31
- and event source mapping, and the secret and SSM parameter names it
32
- resolves (never values; no resolver runs). It runs the deploy
33
- checks of `loom check --deploy` first, prints their findings to stderr and
34
- no manifest when one fails. New keys: `lambda.handler` and
35
- `lambda.functions.<name>.queue` (a key of `sqs.queues`), both required by
36
- the manifest only.
37
- - **rest:** `loom.rest.E001` also fails a `lambda.functions.<name>.auth`
120
+ queues once, then per function its trigger's `source` and `via`, what its
121
+ event needs deployed (http routes and `auth`, the queue and its event
122
+ source mapping, or a direct trigger's job, identity and `on_failure`), and
123
+ the secret and SSM parameter names it resolves (never values; no resolver
124
+ runs). It runs the deploy checks of `loom check --deploy` first, prints
125
+ their findings to stderr and no manifest when one fails. `lambda.handler`
126
+ and a trigger's `queue` (a key of `sqs.queues`) are required by the
127
+ manifest only.
128
+ - **rest:** `loom.rest.E001` also fails a `lambda.functions.<name>.trigger.auth`
38
129
  that names no mechanism (`{}`, `jwt: null`, `custom: false`): it replaces
39
130
  `app.rest.auth` for that function.
40
131
 
@@ -42,9 +133,10 @@
42
133
 
43
134
  - **testing:** Lambda functions are tested in process, without AWS:
44
135
  `LambdaTestClient`, an `httpx.Client` like FastAPI's `TestClient`, sends API
45
- Gateway HTTP API or REST events to the real handler; `sqs_record` and
46
- `sqs_raw_record` drive the SQS handler with the `JobEnvelope`
47
- `SQSJobService` sends; `RecordingJobService`
136
+ Gateway HTTP API or REST events to the real handler;
137
+ `LambdaEvent` builds the event AWS delivers, one typed constructor per
138
+ trigger source (`LambdaEvent.s3([...])`, `.sns({...})`, `.jobs(Job, ...)`)
139
+ and `.via_sqs()` for the queue in between; `RecordingJobService`
48
140
  (`app.job_service: loom.testing:RecordingJobService`) records each dispatch
49
141
  after the commit. The `testing` extra now includes `httpx`.
50
142
 
@@ -150,6 +242,52 @@
150
242
  raise `NotImplementedError`. Cache scenarios and frames, not runners: tests
151
243
  that mutate state need a function-scoped runner on their own `tmp_path`.
152
244
 
245
+ ## 💥 Breaking
246
+
247
+ ### errors
248
+
249
+ - **errors:** `loom.core.errors` is a package split by area (`base`, `domain`,
250
+ `auth`, `model`, `jobs`, `stores`, `codes`) and re-exports every error, so
251
+ `from loom.core.errors import X` is unchanged. The errors below are
252
+ importable only from `loom.core.errors`; their old paths, and the package
253
+ re-exports that pointed at them, are gone:
254
+
255
+ | Old path | New path |
256
+ |---|---|
257
+ | every class of the removed `errors` submodule of `loom.core.errors` | `loom.core.errors` |
258
+ | `loom.core.uow.scope.ScopeOwnershipError`, `UnitOfWorkInsideScope`, `UndeclaredStoreWrite`, `NestedIdentityMismatch`, `NestedElevation`, `StoresNotCommitted` (also `loom.core.uow.*`) | `loom.core.errors` |
259
+ | `loom.core.uow.coordinator.UncomposedStore` | `loom.core.errors` |
260
+ | `loom.core.job.handle.JobTimeoutError`, `JobFailedError` (also `loom.core.job.*`) | `loom.core.errors` |
261
+ | `loom.core.job.router.MixedJobBackendsError` (also `loom.core.job.*`) | `loom.core.errors` |
262
+ | `loom.core.engine.post_commit.PostCommitError` (also `loom.core.engine.*`) | `loom.core.errors` |
263
+ | `loom.core.model._loom_type.BoundaryValidationError`, `UnsupportedBoundaryType` (also `loom.core.model.*`) | `loom.core.errors` |
264
+ | `loom.core.repository.abc.errors.UnsupportedQuery` (also `loom.core.repository.abc.*`; the module is removed) | `loom.core.errors` |
265
+ | `loom.jobs.aws.sqs.SQSDispatchError` | `loom.jobs.aws.errors` |
266
+ | `loom.serverless.aws.lambda_.triggers.sqs.SQSBatchFailedError` | `loom.serverless.aws.lambda_.errors` (also `loom.serverless.aws.lambda_`) |
267
+ | `loom.rest.auth.abc.AuthenticationUnavailable` | `loom.rest.auth.errors` (also `loom.rest.auth`) |
268
+ | `loom.etl.backends._format_registry.UnsupportedFormatError` | `loom.etl.runner.errors` (also `loom.etl`) |
269
+
270
+ - **errors:** a `LoomError` code is a catalogue member, never a literal
271
+ string: `LoomError(message, code=)` is typed `StrEnum`, `ErrorCode` gains
272
+ `JOB_TIMEOUT`, `JOB_FAILED`, `JOB_BACKENDS_MIXED` and
273
+ `BOUNDARY_TYPE_UNSUPPORTED` (same string values, mapped to 500 explicitly),
274
+ and the SQS adapters' `sqs_*` codes are the members of
275
+ `loom.jobs.aws.errors.SQSErrorCode`, which `SQSDispatchError(message, code=)`
276
+ now requires. An application catalogue is its own `StrEnum`.
277
+ `AuthenticationUnavailable` is a `SystemError`, so the generic retry and
278
+ circuit-breaker handlers see the outage it reports.
279
+
280
+ - **errors:** every error belongs to a family. `BoundaryValidationError` and
281
+ `UnsupportedFormatError` are `DomainError`s (still `ValueError`s);
282
+ `JobTimeoutError`, `JobFailedError`, `MixedJobBackendsError`,
283
+ `PostCommitError`, `UnsupportedBoundaryType`, `SQSDispatchError` and
284
+ `SQSBatchFailedError` are `SystemError`s. HTTP statuses do not change. A
285
+ `DomainError` is never retryable: Celery and the SQS consumers consume a
286
+ job that raises one instead of requeuing it, and the streaming boundary
287
+ files a `BoundaryValidationError` as a business error. `UnsupportedQuery`
288
+ takes `(reason, *, backend=None, model=None)` and its message names the
289
+ model and the reason, never the backend.
290
+
153
291
  ## ⚠ Behaviour changes
154
292
 
155
293
  ### jobs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: loom-kernel
3
- Version: 10.1.0
3
+ Version: 10.3.0
4
4
  Summary: Loom Python project
5
5
  License-File: LICENSE
6
6
  Classifier: Programming Language :: Python :: 3
@@ -13,7 +13,7 @@ Classifier: Typing :: Typed
13
13
  Requires-Python: >=3.11
14
14
  Requires-Dist: aiocache<1.0,>=0.12
15
15
  Requires-Dist: msgspec<1.0,>=0.18
16
- Requires-Dist: omegaconf<3.0,>=2.3
16
+ Requires-Dist: omegaconf<2.4,>=2.3
17
17
  Requires-Dist: opentelemetry-api<2.0,>=1.27
18
18
  Requires-Dist: prometheus-client>=0.20
19
19
  Requires-Dist: structlog<27.0,>=24.4
@@ -37,7 +37,7 @@ Provides-Extra: ai-typesafe
37
37
  Requires-Dist: pydantic-ai-slim[typesafe]<3,>=2.45; extra == 'ai-typesafe'
38
38
  Provides-Extra: cache
39
39
  Requires-Dist: aiocache<1.0,>=0.12; extra == 'cache'
40
- Requires-Dist: omegaconf<3.0,>=2.3; extra == 'cache'
40
+ Requires-Dist: omegaconf<2.4,>=2.3; extra == 'cache'
41
41
  Provides-Extra: celery
42
42
  Requires-Dist: celery<6.0,>=5.3; extra == 'celery'
43
43
  Requires-Dist: kombu<6.0,>=5.3; extra == 'celery'
@@ -49,11 +49,11 @@ Provides-Extra: clickhouse
49
49
  Requires-Dist: clickhouse-connect<1.0,>=0.9.2; extra == 'clickhouse'
50
50
  Provides-Extra: config
51
51
  Requires-Dist: fsspec>=2024.2.0; extra == 'config'
52
- Requires-Dist: omegaconf<3.0,>=2.3; extra == 'config'
52
+ Requires-Dist: omegaconf<2.4,>=2.3; extra == 'config'
53
53
  Provides-Extra: config-ssm
54
54
  Requires-Dist: boto3>=1.35; extra == 'config-ssm'
55
55
  Requires-Dist: fsspec>=2024.2.0; extra == 'config-ssm'
56
- Requires-Dist: omegaconf<3.0,>=2.3; extra == 'config-ssm'
56
+ Requires-Dist: omegaconf<2.4,>=2.3; extra == 'config-ssm'
57
57
  Provides-Extra: dynamodb
58
58
  Requires-Dist: boto3>=1.35; extra == 'dynamodb'
59
59
  Provides-Extra: etl-otel
@@ -96,7 +96,7 @@ Provides-Extra: prefect
96
96
  Requires-Dist: boto3>=1.35; extra == 'prefect'
97
97
  Requires-Dist: docker>=7.0; extra == 'prefect'
98
98
  Requires-Dist: fsspec>=2024.2.0; extra == 'prefect'
99
- Requires-Dist: omegaconf<3.0,>=2.3; extra == 'prefect'
99
+ Requires-Dist: omegaconf<2.4,>=2.3; extra == 'prefect'
100
100
  Requires-Dist: prefect<4.0,>=3.0; extra == 'prefect'
101
101
  Requires-Dist: pyyaml>=6.0; extra == 'prefect'
102
102
  Provides-Extra: prometheus
@@ -16,7 +16,7 @@ classifiers = [
16
16
  dependencies = [
17
17
  "msgspec>=0.18,<1.0",
18
18
  "structlog>=24.4,<27.0",
19
- "omegaconf>=2.3,<3.0",
19
+ "omegaconf>=2.3,<2.4",
20
20
  "prometheus-client>=0.20",
21
21
  "aiocache>=0.12,<1.0",
22
22
  "typing_extensions>=4.12",
@@ -62,17 +62,17 @@ jwt = [
62
62
  "pyjwt[crypto]>=2.8,<3",
63
63
  ]
64
64
  config = [
65
- "omegaconf>=2.3,<3.0",
65
+ "omegaconf>=2.3,<2.4",
66
66
  "fsspec>=2024.2.0",
67
67
  ]
68
68
  config-ssm = [
69
- "omegaconf>=2.3,<3.0",
69
+ "omegaconf>=2.3,<2.4",
70
70
  "fsspec>=2024.2.0",
71
71
  "boto3>=1.35",
72
72
  ]
73
73
  cache = [
74
74
  "aiocache>=0.12,<1.0",
75
- "omegaconf>=2.3,<3.0",
75
+ "omegaconf>=2.3,<2.4",
76
76
  ]
77
77
  etl-polars = [
78
78
  "polars>=1.24,<2.0",
@@ -107,7 +107,7 @@ prefect = [
107
107
  "prefect>=3.0,<4.0",
108
108
  "fsspec>=2024.2.0",
109
109
  "pyyaml>=6.0",
110
- "omegaconf>=2.3,<3.0",
110
+ "omegaconf>=2.3,<2.4",
111
111
  "boto3>=1.35",
112
112
  "docker>=7.0",
113
113
  ]
@@ -256,7 +256,7 @@ dev = [
256
256
  "fastapi>=0.115,<1.0",
257
257
  "greenlet>=3.0.0",
258
258
  "mypy>=1.11.0,<2.0",
259
- "omegaconf>=2.3,<3.0",
259
+ "omegaconf>=2.3,<2.4",
260
260
  "pydantic>=2.0,<3.0",
261
261
  "pre-commit>=3.8.0",
262
262
  "pyright>=1.1.390,<2.0",
@@ -36,7 +36,8 @@ from loom.ai.abc import OutputCheck
36
36
  from loom.ai.compiler._plan import CompiledOutput
37
37
  from loom.ai.declarative import JsonSchemaOutput, OutputSpec, TypeRefOutput
38
38
  from loom.ai.errors import AgentCompilationIssue, AgentErrorCode
39
- from loom.core.model import LoomType, UnsupportedBoundaryType, loom_type, msgspec_type
39
+ from loom.core.errors import UnsupportedBoundaryType
40
+ from loom.core.model import LoomType, loom_type, msgspec_type
40
41
  from loom.core.symbols import import_symbol
41
42
 
42
43
  _CompileResult = tuple[CompiledOutput | None, list[AgentCompilationIssue]]
@@ -38,7 +38,8 @@ import msgspec
38
38
  from loom.ai.abc import StateShape
39
39
  from loom.ai.compiler.phases._output import _resolve_symbol, _schema_to_annotation
40
40
  from loom.ai.errors import AgentCompilationIssue, AgentErrorCode
41
- from loom.core.model import UnsupportedBoundaryType, loom_type, msgspec_type
41
+ from loom.core.errors import UnsupportedBoundaryType
42
+ from loom.core.model import loom_type, msgspec_type
42
43
 
43
44
  _CompileResult = tuple[StateShape | None, list[AgentCompilationIssue]]
44
45
 
@@ -48,7 +48,7 @@ from pydantic_ai.messages import ModelResponse, TextPart, ToolCallPart
48
48
 
49
49
  from loom.ai.compiler import CompiledOutput
50
50
  from loom.ai.errors import AgentRunError, AgentRunErrorCode
51
- from loom.core.model import BoundaryValidationError
51
+ from loom.core.errors import BoundaryValidationError
52
52
 
53
53
 
54
54
  class MissingOutputPayload(Exception):
@@ -56,8 +56,9 @@ from loom.ai.fastapi.response import AgentJSONResponse, error_response, result_p
56
56
  from loom.ai.fastapi.streaming import encode_sse_event, stream_sse
57
57
  from loom.ai.runtime import AgentRuntime
58
58
  from loom.core.config.errors import ConfigError
59
+ from loom.core.errors import BoundaryValidationError
59
60
  from loom.core.identity import Identity, current_identity
60
- from loom.core.model import BoundaryValidationError, LoomFrozenStruct
61
+ from loom.core.model import LoomFrozenStruct
61
62
  from loom.core.observability.event import Scope
62
63
  from loom.core.observability.runtime import ObservabilityRuntime
63
64
  from loom.core.observability.span import LoomSpan
@@ -49,8 +49,9 @@ from loom.ai._roles import bound_query_roles
49
49
  from loom.ai.abc import McpHandle, McpSession, McpToolInfo, SqlGrantHandle
50
50
  from loom.ai.compiler import CompiledMcpCapability, CompiledSqlCapability
51
51
  from loom.ai.errors import AgentRunError, AgentRunErrorCode
52
+ from loom.core.errors import BoundaryValidationError, UnsupportedBoundaryType
52
53
  from loom.core.identity import Identity
53
- from loom.core.model import BoundaryValidationError, UnsupportedBoundaryType, loom_type_of
54
+ from loom.core.model import loom_type_of
54
55
  from loom.core.observability.event import Scope
55
56
  from loom.core.observability.runtime import ObservabilityRuntime
56
57
  from loom.core.sql.abc import SqlQueryResult
@@ -79,8 +79,9 @@ from loom.ai.runtime._mcp import (
79
79
  mcp_session_for,
80
80
  )
81
81
  from loom.core.di import LoomContainer
82
+ from loom.core.errors import BoundaryValidationError
82
83
  from loom.core.identity import ANONYMOUS, Identity
83
- from loom.core.model import BoundaryValidationError, LoomType
84
+ from loom.core.model import LoomType
84
85
  from loom.core.sql.config import SqlConfig
85
86
  from loom.core.use_case.invoker import ApplicationInvoker
86
87
 
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import re
6
6
 
7
- from loom.core.errors.errors import SystemError
7
+ from loom.core.errors import SystemError
8
8
  from loom.core.model.redaction import mask_dsn
9
9
 
10
10
  _ADDRESS = re.compile(r"[A-Za-z][A-Za-z0-9+.-]*://\S+")
@@ -233,7 +233,7 @@ def _make_job_task(
233
233
  decoded from the envelope is forwarded, so a job declaring ``Caller()``
234
234
  fails closed rather than running as an unknown caller.
235
235
 
236
- A :class:`~loom.core.engine.post_commit.PostCommitError` whose
236
+ A :class:`~loom.core.errors.PostCommitError` whose
237
237
  transaction committed is terminal: the task is not retried, since the
238
238
  write already stands. One raised without a commit is retried like any
239
239
  other failure.
@@ -32,6 +32,7 @@ from loom.core.config.errors import ConfigError
32
32
  from loom.core.config.overrides import load_application_config
33
33
  from loom.core.environment import Environment, resolve_environment, select_config_paths
34
34
  from loom.core.locator import DEFAULT_CODE_PATH, add_code_path
35
+ from loom.serverless.aws.lambda_.checks import check_triggers
35
36
 
36
37
 
37
38
  def check(
@@ -79,7 +80,8 @@ def load_checked(config: list[Path], env: str | None, skip: tuple[str, ...]) ->
79
80
  """Load *config* for *env*, put its code path on the import path and run the deploy checks.
80
81
 
81
82
  Raises:
82
- ConfigError: When the configuration does not load.
83
+ ConfigError: When the configuration does not load, or ``lambda`` is
84
+ one startup would refuse.
83
85
  """
84
86
  _load_check_packages()
85
87
  environment = resolve_environment(env)
@@ -89,6 +91,7 @@ def load_checked(config: list[Path], env: str | None, skip: tuple[str, ...]) ->
89
91
  )
90
92
  config_root = Path(paths[0]).resolve().parent
91
93
  code_path = _add_code_path(context, config_root)
94
+ check_triggers(context)
92
95
  report = run_deploy_checks(context, skip=skip)
93
96
  return CheckedConfig(context, environment, report, skip, config_root, code_path)
94
97
 
@@ -97,6 +100,7 @@ def _load_check_packages() -> None:
97
100
  """Import the packages registering loom's checks; the REST ones need the rest extra."""
98
101
  importlib.import_module("loom.core.logger")
99
102
  importlib.import_module("loom.core.repository.abc")
103
+ importlib.import_module("loom.core.persistence.audit_checks")
100
104
  if importlib.util.find_spec("fastapi") is not None:
101
105
  importlib.import_module("loom.rest")
102
106