tigrbl 0.3.17.dev10__tar.gz → 0.3.17.dev11__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 (385) hide show
  1. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/PKG-INFO +3 -3
  2. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/README.md +2 -2
  3. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/pyproject.toml +1 -1
  4. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/tigrbl_app.py +3 -1
  5. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/payload_select.py +26 -0
  6. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/gw/invoke.py +8 -2
  7. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openrpc.py +2 -2
  8. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/LICENSE +0 -0
  9. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/README.md +0 -0
  10. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/__init__.py +0 -0
  11. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/__init__.py +0 -0
  12. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_hook_base.py +0 -0
  13. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_middleware_base.py +0 -0
  14. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_op_base.py +0 -0
  15. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_request_base.py +0 -0
  16. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_response_base.py +0 -0
  17. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_schema_base.py +0 -0
  18. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_security_base.py +0 -0
  19. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_session_abc.py +0 -0
  20. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_session_base.py +0 -0
  21. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_storage.py +0 -0
  22. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_table_base.py +0 -0
  23. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_base/_table_registry_base.py +0 -0
  24. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/__init__.py +0 -0
  25. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_alias.py +0 -0
  26. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_app.py +0 -0
  27. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_background.py +0 -0
  28. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_body.py +0 -0
  29. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_column.py +0 -0
  30. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_cors_middleware.py +0 -0
  31. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_engine.py +0 -0
  32. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_file_response.py +0 -0
  33. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_headers.py +0 -0
  34. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_hook.py +0 -0
  35. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_html_response.py +0 -0
  36. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_httpx.py +0 -0
  37. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_json_response.py +0 -0
  38. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_middleware.py +0 -0
  39. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_op.py +0 -0
  40. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_op_registry.py +0 -0
  41. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_plain_text_response.py +0 -0
  42. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_redirect_response.py +0 -0
  43. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_request.py +0 -0
  44. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_request_adapters.py +0 -0
  45. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_response.py +0 -0
  46. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_route.py +0 -0
  47. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_router.py +0 -0
  48. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_routing.py +0 -0
  49. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_schema.py +0 -0
  50. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_security/api_key.py +0 -0
  51. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_security/http_bearer.py +0 -0
  52. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_security/mutual_tls.py +0 -0
  53. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_security/oauth2.py +0 -0
  54. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_security/openid_connect.py +0 -0
  55. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_session.py +0 -0
  56. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_storage.py +0 -0
  57. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_streaming_response.py +0 -0
  58. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_table.py +0 -0
  59. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/_table_registry.py +0 -0
  60. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/dependencies.py +0 -0
  61. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_concrete/tigrbl_router.py +0 -0
  62. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/__init__.py +0 -0
  63. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/alias_spec.py +0 -0
  64. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/app_spec.py +0 -0
  65. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/binding_spec.py +0 -0
  66. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/column_spec.py +0 -0
  67. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/engine_spec.py +0 -0
  68. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/field_spec.py +0 -0
  69. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/hook_spec.py +0 -0
  70. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/io_spec.py +0 -0
  71. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/middleware_spec.py +0 -0
  72. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/op_spec.py +0 -0
  73. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/request_spec.py +0 -0
  74. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/response_spec.py +0 -0
  75. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/response_types.py +0 -0
  76. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/router_spec.py +0 -0
  77. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/schema_spec.py +0 -0
  78. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/session_spec.py +0 -0
  79. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/shortcuts_spec.py +0 -0
  80. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/storage_spec.py +0 -0
  81. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/table_registry_spec.py +0 -0
  82. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/_spec/table_spec.py +0 -0
  83. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/README.md +0 -0
  84. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/__init__.py +0 -0
  85. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/__init__.py +0 -0
  86. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/core.py +0 -0
  87. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/jsonhints.py +0 -0
  88. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/planning.py +0 -0
  89. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/types.py +0 -0
  90. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/column/infer/utils.py +0 -0
  91. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/config/__init__.py +0 -0
  92. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/config/constants.py +0 -0
  93. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/config/defaults.py +0 -0
  94. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/__init__.py +0 -0
  95. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/__init__.py +0 -0
  96. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/bulk.py +0 -0
  97. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/__init__.py +0 -0
  98. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/db.py +0 -0
  99. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/enum.py +0 -0
  100. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/filters.py +0 -0
  101. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/model.py +0 -0
  102. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/helpers/normalize.py +0 -0
  103. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/ops.py +0 -0
  104. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/core/crud/params.py +0 -0
  105. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/ddl/__init__.py +0 -0
  106. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/__init__.py +0 -0
  107. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/engine.py +0 -0
  108. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/hook.py +0 -0
  109. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/middlewares.py +0 -0
  110. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/op.py +0 -0
  111. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/response.py +0 -0
  112. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/rest.py +0 -0
  113. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/router.py +0 -0
  114. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/schema.py +0 -0
  115. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/decorators/session.py +0 -0
  116. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/docs/column_specs.md +0 -0
  117. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/docs/session.md +0 -0
  118. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/docs/verbosity.md +0 -0
  119. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/__init__.py +0 -0
  120. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/bind.py +0 -0
  121. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/builders.py +0 -0
  122. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/capabilities.py +0 -0
  123. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/collect.py +0 -0
  124. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/docs/PLUGINS.md +0 -0
  125. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/plugins.py +0 -0
  126. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/registry.py +0 -0
  127. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/engine/resolver.py +0 -0
  128. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/hook/exceptions.py +0 -0
  129. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/hook/types.py +0 -0
  130. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/__init__.py +0 -0
  131. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/app_mro_collect.py +0 -0
  132. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/apply.py +0 -0
  133. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/collect.py +0 -0
  134. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/collect_decorated_schemas.py +0 -0
  135. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/column_mro_collect.py +0 -0
  136. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/columns.py +0 -0
  137. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/config_resolver.py +0 -0
  138. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/context.py +0 -0
  139. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/core_resolver.py +0 -0
  140. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/diagnostics.py +0 -0
  141. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/engine_resolver.py +0 -0
  142. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/__init__.py +0 -0
  143. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/builder.py +0 -0
  144. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/ctx.py +0 -0
  145. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/identifiers.py +0 -0
  146. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/namespaces.py +0 -0
  147. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/handlers/steps.py +0 -0
  148. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/hook_mro_collect.py +0 -0
  149. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/hooks.py +0 -0
  150. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/mapping_resolver.py +0 -0
  151. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/model.py +0 -0
  152. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/model_helpers.py +0 -0
  153. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/model_registry.py +0 -0
  154. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/op_mro_collect.py +0 -0
  155. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/op_resolver.py +0 -0
  156. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/passes.py +0 -0
  157. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/plan.py +0 -0
  158. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/precedence.py +0 -0
  159. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/responses_resolver.py +0 -0
  160. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/__init__.py +0 -0
  161. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/attach.py +0 -0
  162. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/collection.py +0 -0
  163. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/common.py +0 -0
  164. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/helpers.py +0 -0
  165. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/io.py +0 -0
  166. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/io_headers.py +0 -0
  167. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/member.py +0 -0
  168. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/router.py +0 -0
  169. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rest/routing.py +0 -0
  170. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/router/common.py +0 -0
  171. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/router/include.py +0 -0
  172. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/router/resource_proxy.py +0 -0
  173. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/router/rpc.py +0 -0
  174. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/router_mro_collect.py +0 -0
  175. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/rpc.py +0 -0
  176. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/runtime_routes.py +0 -0
  177. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/schemas/__init__.py +0 -0
  178. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/schemas/builder.py +0 -0
  179. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/schemas/defaults.py +0 -0
  180. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/schemas/utils.py +0 -0
  181. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/spec_normalization.py +0 -0
  182. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/table.py +0 -0
  183. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/table_mro_collect.py +0 -0
  184. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/mapping/traversal.py +0 -0
  185. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/middlewares/__init__.py +0 -0
  186. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/middlewares/compose.py +0 -0
  187. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/op/__init__.py +0 -0
  188. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/op/canonical.py +0 -0
  189. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/op/collect.py +0 -0
  190. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/op/types.py +0 -0
  191. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/__init__.py +0 -0
  192. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/_RowBound.py +0 -0
  193. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/__init__.py +0 -0
  194. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/bootstrappable.py +0 -0
  195. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/bound.py +0 -0
  196. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/edges.py +0 -0
  197. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/fields.py +0 -0
  198. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/hierarchy.py +0 -0
  199. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/key_digest.py +0 -0
  200. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/lifecycle.py +0 -0
  201. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/locks.py +0 -0
  202. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/markers.py +0 -0
  203. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/operations.py +0 -0
  204. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/ownable.py +0 -0
  205. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/principals.py +0 -0
  206. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/tenant_bound.py +0 -0
  207. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/upsertable.py +0 -0
  208. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/mixins/utils.py +0 -0
  209. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/__init__.py +0 -0
  210. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/_base.py +0 -0
  211. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/audit.py +0 -0
  212. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/client.py +0 -0
  213. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/group.py +0 -0
  214. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/org.py +0 -0
  215. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/rbac.py +0 -0
  216. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/status.py +0 -0
  217. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/tenant.py +0 -0
  218. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/orm/tables/user.py +0 -0
  219. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/requests.py +0 -0
  220. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/rest/__init__.py +0 -0
  221. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/README.md +0 -0
  222. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/__init__.py +0 -0
  223. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/__init__.py +0 -0
  224. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/dep/__init__.py +0 -0
  225. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/dep/extra.py +0 -0
  226. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/dep/security.py +0 -0
  227. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/__init__.py +0 -0
  228. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/asgi_send.py +0 -0
  229. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/envelope_apply.py +0 -0
  230. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/headers_apply.py +0 -0
  231. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/http_finalize.py +0 -0
  232. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/out_dump.py +0 -0
  233. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/result_normalize.py +0 -0
  234. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/egress/to_transport_response.py +0 -0
  235. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/emit/__init__.py +0 -0
  236. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/emit/paired_post.py +0 -0
  237. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/emit/paired_pre.py +0 -0
  238. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/emit/readtime_alias.py +0 -0
  239. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/__init__.py +0 -0
  240. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/attach_compiled.py +0 -0
  241. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/body_peek.py +0 -0
  242. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/body_read.py +0 -0
  243. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/ctx_init.py +0 -0
  244. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/headers_parse.py +0 -0
  245. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/method_extract.py +0 -0
  246. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/metrics_start.py +0 -0
  247. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/path_extract.py +0 -0
  248. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/query_parse.py +0 -0
  249. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/raw_from_scope.py +0 -0
  250. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/request_body_apply.py +0 -0
  251. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/ingress/request_from_scope.py +0 -0
  252. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/out/__init__.py +0 -0
  253. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/out/masking.py +0 -0
  254. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/refresh/__init__.py +0 -0
  255. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/refresh/demand.py +0 -0
  256. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/resolve/__init__.py +0 -0
  257. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/resolve/assemble.py +0 -0
  258. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/resolve/paired_gen.py +0 -0
  259. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/__init__.py +0 -0
  260. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/headers_from_payload.py +0 -0
  261. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/negotiate.py +0 -0
  262. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/negotiation.py +0 -0
  263. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/render.py +0 -0
  264. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/renderer.py +0 -0
  265. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/template.py +0 -0
  266. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/response/templates.py +0 -0
  267. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/__init__.py +0 -0
  268. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/binding_match.py +0 -0
  269. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/binding_policy_apply.py +0 -0
  270. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/ctx_finalize.py +0 -0
  271. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/op_resolve.py +0 -0
  272. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/params_normalize.py +0 -0
  273. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/path_params_extract.py +0 -0
  274. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/plan_select.py +0 -0
  275. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/protocol_detect.py +0 -0
  276. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/rpc_envelope_parse.py +0 -0
  277. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/route/rpc_method_match.py +0 -0
  278. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/schema/__init__.py +0 -0
  279. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/schema/collect_in.py +0 -0
  280. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/schema/collect_out.py +0 -0
  281. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/storage/__init__.py +0 -0
  282. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/storage/to_stored.py +0 -0
  283. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/sys/__init__.py +0 -0
  284. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/sys/commit_tx.py +0 -0
  285. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/sys/handler_persistence.py +0 -0
  286. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/sys/start_tx.py +0 -0
  287. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/wire/__init__.py +0 -0
  288. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/wire/build_in.py +0 -0
  289. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/wire/build_out.py +0 -0
  290. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/wire/dump.py +0 -0
  291. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/atoms/wire/validate_in.py +0 -0
  292. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/context.py +0 -0
  293. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/events.py +0 -0
  294. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/exceptions.py +0 -0
  295. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/executor/__init__.py +0 -0
  296. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/executor/guards.py +0 -0
  297. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/executor/helpers.py +0 -0
  298. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/executor/invoke.py +0 -0
  299. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/executor/types.py +0 -0
  300. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/gw/__init__.py +0 -0
  301. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/gw/raw.py +0 -0
  302. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/hook_types.py +0 -0
  303. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/__init__.py +0 -0
  304. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/atoms.py +0 -0
  305. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/cache.py +0 -0
  306. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/core.py +0 -0
  307. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/models.py +0 -0
  308. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/opview_compiler.py +0 -0
  309. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel/payload.py +0 -0
  310. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/kernel.py +0 -0
  311. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/labels.py +0 -0
  312. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/opview.py +0 -0
  313. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/ordering.py +0 -0
  314. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/status/__init__.py +0 -0
  315. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/status/converters.py +0 -0
  316. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/status/exceptions.py +0 -0
  317. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/status/mappings.py +0 -0
  318. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/status/utils.py +0 -0
  319. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/system.py +0 -0
  320. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/runtime/trace.py +0 -0
  321. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/__init__.py +0 -0
  322. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/__init__.py +0 -0
  323. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/build_schema.py +0 -0
  324. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/cache.py +0 -0
  325. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/extras.py +0 -0
  326. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/helpers.py +0 -0
  327. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/list_params.py +0 -0
  328. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
  329. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/types.py +0 -0
  330. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/schema/utils.py +0 -0
  331. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/security/__init__.py +0 -0
  332. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/security/dependencies.py +0 -0
  333. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/__init__.py +0 -0
  334. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/app.py +0 -0
  335. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/column.py +0 -0
  336. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/engine.py +0 -0
  337. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/hook.py +0 -0
  338. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/op.py +0 -0
  339. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/responses.py +0 -0
  340. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/router.py +0 -0
  341. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/schema.py +0 -0
  342. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/shortcuts/table.py +0 -0
  343. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/specs.py +0 -0
  344. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/__init__.py +0 -0
  345. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/__init__.py +0 -0
  346. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/healthz.py +0 -0
  347. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/hookz.py +0 -0
  348. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/kernelz.py +0 -0
  349. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/methodz.py +0 -0
  350. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/router.py +0 -0
  351. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/diagnostics/utils.py +0 -0
  352. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/__init__.py +0 -0
  353. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/lens.py +0 -0
  354. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openapi/__init__.py +0 -0
  355. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openapi/helpers.py +0 -0
  356. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openapi/metadata.py +0 -0
  357. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openapi/mount.py +0 -0
  358. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/openapi/schema.py +0 -0
  359. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/docs/swagger.py +0 -0
  360. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/favicon/__init__.py +0 -0
  361. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/favicon/assets/favicon.svg +0 -0
  362. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/system/uvicorn.py +0 -0
  363. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/__init__.py +0 -0
  364. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/jsonrpc/__init__.py +0 -0
  365. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/jsonrpc/helpers.py +0 -0
  366. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/jsonrpc/models.py +0 -0
  367. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/rest/__init__.py +0 -0
  368. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/transport/rest/aggregator.py +0 -0
  369. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/__init__.py +0 -0
  370. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/allow_anon_provider.py +0 -0
  371. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/authn_abc.py +0 -0
  372. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/nested_path_provider.py +0 -0
  373. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/op.py +0 -0
  374. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/op_config_provider.py +0 -0
  375. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/op_verb_alias_provider.py +0 -0
  376. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/request_extras_provider.py +0 -0
  377. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/response_extras_provider.py +0 -0
  378. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/table_config_provider.py +0 -0
  379. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/types/uuid.py +0 -0
  380. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/utils/__init__.py +0 -0
  381. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/utils/schema.py +0 -0
  382. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/vendor/__init__.py +0 -0
  383. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/vendor/jinja.py +0 -0
  384. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/vendor/pydantic.py +0 -0
  385. {tigrbl-0.3.17.dev10 → tigrbl-0.3.17.dev11}/tigrbl/vendor/sqlalchemy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl
3
- Version: 0.3.17.dev10
3
+ Version: 0.3.17.dev11
4
4
  Summary: A modern pure ASGI/WSGI Python framework for building schema-first REST and JSON-RPC APIs with SQLAlchemy models, typed validation, lifecycle hooks, and engine extension support.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -228,7 +228,7 @@ Operation Handler
228
228
  v
229
229
  JSON-RPC Response
230
230
 
231
- ````
231
+ ```
232
232
 
233
233
  ## Hooks 🪝
234
234
 
@@ -245,7 +245,7 @@ class Item(Base):
245
245
  async def validate(cls, ctx):
246
246
  if ctx["request"].payload.get("name") == "bad":
247
247
  raise ValueError("invalid name")
248
- ````
248
+ ```
249
249
 
250
250
  The function runs during the `PRE_HANDLER` phase of `create`. The
251
251
  `ctx` mapping provides request and response objects, a database session,
@@ -195,7 +195,7 @@ Operation Handler
195
195
  v
196
196
  JSON-RPC Response
197
197
 
198
- ````
198
+ ```
199
199
 
200
200
  ## Hooks 🪝
201
201
 
@@ -212,7 +212,7 @@ class Item(Base):
212
212
  async def validate(cls, ctx):
213
213
  if ctx["request"].payload.get("name") == "bad":
214
214
  raise ValueError("invalid name")
215
- ````
215
+ ```
216
216
 
217
217
  The function runs during the `PRE_HANDLER` phase of `create`. The
218
218
  `ctx` mapping provides request and response objects, a database session,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl"
3
- version = "0.3.17.dev10"
3
+ version = "0.3.17.dev11"
4
4
  description = "A modern pure ASGI/WSGI Python framework for building schema-first REST and JSON-RPC APIs with SQLAlchemy models, typed validation, lifecycle hooks, and engine extension support."
5
5
  license = "Apache-2.0"
6
6
  readme = "README.md"
@@ -35,6 +35,7 @@ from ..system import mount_diagnostics as _mount_diagnostics
35
35
  from ..system import mount_lens as _mount_lens
36
36
  from ..system import mount_openapi as _mount_openapi
37
37
  from ..system import mount_openrpc as _mount_openrpc
38
+ from ..system import mount_swagger as _mount_swagger
38
39
  from ..system import build_openrpc_spec as _build_openrpc_spec
39
40
  from ..system.docs import build_openapi as _build_openapi
40
41
  from ..op import get_registry
@@ -205,9 +206,10 @@ class TigrblApp(_App):
205
206
  # Router-level hooks map (merged into each table at include-time; precedence handled in bindings.hooks)
206
207
  self._router_hooks_map = copy.deepcopy(router_hooks) if router_hooks else None
207
208
  self.mount_openapi(path="/openapi.json")
209
+ _mount_swagger(self, path="/docs")
208
210
  self.attach_diagnostics(prefix=self.system_prefix)
209
211
  self.mount_openrpc(path="/openrpc.json")
210
- self.mount_lens(path="/rdocs", spec_path="/openrpc.json")
212
+ self.mount_lens(path="/lens", spec_path="/openrpc.json")
211
213
  if routers:
212
214
  initial_routers.extend(list(routers))
213
215
  if initial_routers:
@@ -13,6 +13,29 @@ ANCHOR = _ev.ROUTE_PAYLOAD_SELECT
13
13
  _BULKABLE_ALIASES = frozenset({"create", "update", "replace", "merge"})
14
14
 
15
15
 
16
+ def _is_valid_rpc_params(payload: Any) -> bool:
17
+ if payload is None:
18
+ return False
19
+ if isinstance(payload, Mapping):
20
+ return True
21
+ return isinstance(payload, Sequence) and not isinstance(
22
+ payload, (str, bytes, bytearray)
23
+ )
24
+
25
+
26
+ def _set_invalid_rpc_params_error(temp: Any, payload: Any) -> None:
27
+ if not isinstance(temp, dict):
28
+ return
29
+ temp["rpc_error"] = {
30
+ "code": -32602,
31
+ "message": "Invalid params",
32
+ "data": {
33
+ "reason": "JSON-RPC params must be an object or array.",
34
+ "value_type": type(payload).__name__,
35
+ },
36
+ }
37
+
38
+
16
39
  def _header_name_to_lookup(header_name: str) -> tuple[str, str]:
17
40
  raw = str(header_name)
18
41
  return raw, raw.lower()
@@ -145,6 +168,9 @@ def run(obj: object | None, ctx: Any) -> None:
145
168
  rpc_envelope = route.get("rpc_envelope")
146
169
  if isinstance(rpc_envelope, dict):
147
170
  payload = rpc_envelope.get("params", {})
171
+ if not _is_valid_rpc_params(payload):
172
+ _set_invalid_rpc_params_error(temp, payload)
173
+ payload = {}
148
174
  if (
149
175
  isinstance(payload, Mapping)
150
176
  and set(payload.keys()) == {"params"}
@@ -258,22 +258,28 @@ async def _fallback_runtime_route(ctx: _Ctx, env: GwRawEnvelope) -> bool:
258
258
  path = getattr(request, "path", None) or getattr(
259
259
  getattr(request, "url", None), "path", None
260
260
  )
261
+ method_not_allowed = False
261
262
  if method and isinstance(path, str) and app is not None:
262
263
  for candidate in getattr(app, "routes", ()) or ():
263
- if method not in (getattr(candidate, "methods", ()) or ()):
264
- continue
265
264
  pattern = getattr(candidate, "pattern", None)
266
265
  if pattern is None:
267
266
  continue
268
267
  matched = pattern.match(path)
269
268
  if matched is None:
270
269
  continue
270
+ if method not in (getattr(candidate, "methods", ()) or ()):
271
+ method_not_allowed = True
272
+ continue
271
273
  handler = getattr(candidate, "handler", None)
272
274
  if not callable(handler):
273
275
  continue
274
276
  request.path_params = dict(matched.groupdict())
275
277
  break
276
278
 
279
+ if not callable(handler) and method_not_allowed:
280
+ await _send_json(env, 405, {"detail": "Method Not Allowed"})
281
+ return True
282
+
277
283
  if not callable(handler):
278
284
  return False
279
285
 
@@ -134,12 +134,12 @@ def _iter_ops(model: type) -> Sequence[OpSpec]:
134
134
 
135
135
  def _is_docs_only_op(op: OpSpec) -> bool:
136
136
  alias = str(getattr(op, "alias", "")).lower()
137
- if "openapi" in alias or "openrpc" in alias:
137
+ if any(token in alias for token in ("docs", "lens", "openapi", "openrpc")):
138
138
  return True
139
139
 
140
140
  for binding in tuple(getattr(op, "bindings", ()) or ()):
141
141
  path = str(getattr(binding, "path", "") or "").lower()
142
- if path in {"/openapi.json", "/openrpc.json"}:
142
+ if path in {"/docs", "/lens", "/openapi.json", "/openrpc.json"}:
143
143
  return True
144
144
 
145
145
  return False
File without changes