tigrbl-atoms 0.4.5.dev1__tar.gz → 0.4.5.dev4__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 (156) hide show
  1. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/PKG-INFO +1 -1
  2. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/pyproject.toml +1 -1
  3. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/asgi_send.py +21 -0
  4. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/to_transport_response.py +9 -2
  5. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/LICENSE +0 -0
  6. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/NOTICE +0 -0
  7. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/README.md +0 -0
  8. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/__init__.py +0 -0
  9. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/_ctx.py +0 -0
  10. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/_opview_helpers.py +0 -0
  11. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/_request.py +0 -0
  12. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/algebra.py +0 -0
  13. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/__init__.py +0 -0
  14. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/_temp.py +0 -0
  15. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/__init__.py +0 -0
  16. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/_scheduler.py +0 -0
  17. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/_types.py +0 -0
  18. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/abort_group.py +0 -0
  19. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/admit.py +0 -0
  20. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/await_seal.py +0 -0
  21. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/cleanup.py +0 -0
  22. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/commit.py +0 -0
  23. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/dedupe.py +0 -0
  24. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/error_project.py +0 -0
  25. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/execute.py +0 -0
  26. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/precommit_validate.py +0 -0
  27. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/prepare_execute.py +0 -0
  28. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/reject_admission.py +0 -0
  29. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/result_slots.py +0 -0
  30. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/scheduler.py +0 -0
  31. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/seal_check.py +0 -0
  32. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/batch/tx_begin.py +0 -0
  33. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dep/__init__.py +0 -0
  34. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dep/_param_resolver.py +0 -0
  35. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dep/extra.py +0 -0
  36. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dep/security.py +0 -0
  37. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dispatch/__init__.py +0 -0
  38. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dispatch/binding_match.py +0 -0
  39. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dispatch/binding_parse.py +0 -0
  40. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dispatch/input_normalize.py +0 -0
  41. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/dispatch/op_resolve.py +0 -0
  42. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/__init__.py +0 -0
  43. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/envelope_apply.py +0 -0
  44. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/headers_apply.py +0 -0
  45. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/http_finalize.py +0 -0
  46. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/out_dump.py +0 -0
  47. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/egress/result_normalize.py +0 -0
  48. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/emit/__init__.py +0 -0
  49. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/emit/paired_post.py +0 -0
  50. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/emit/paired_pre.py +0 -0
  51. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/emit/readtime_alias.py +0 -0
  52. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/err/__init__.py +0 -0
  53. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/err/classify.py +0 -0
  54. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/err/ctx_build.py +0 -0
  55. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/err/rollback.py +0 -0
  56. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/err/transport_shape.py +0 -0
  57. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/fanout/__init__.py +0 -0
  58. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/fanout/emit_many.py +0 -0
  59. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/fanout/shape.py +0 -0
  60. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/framing/__init__.py +0 -0
  61. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/framing/app_frame.py +0 -0
  62. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/framing/codec.py +0 -0
  63. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/hot/__init__.py +0 -0
  64. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/hot/slots.py +0 -0
  65. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/ingress/__init__.py +0 -0
  66. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/ingress/ctx_init.py +0 -0
  67. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/ingress/input_prepare.py +0 -0
  68. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/ingress/transport_extract.py +0 -0
  69. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/intent/__init__.py +0 -0
  70. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/intent/build.py +0 -0
  71. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/intent/final_group_key.py +0 -0
  72. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/intent/prekey.py +0 -0
  73. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/out/__init__.py +0 -0
  74. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/out/masking.py +0 -0
  75. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/refresh/__init__.py +0 -0
  76. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/refresh/demand.py +0 -0
  77. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/resolve/__init__.py +0 -0
  78. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/resolve/assemble.py +0 -0
  79. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/resolve/paired_gen.py +0 -0
  80. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/__init__.py +0 -0
  81. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/error_to_transport.py +0 -0
  82. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/headers_from_payload.py +0 -0
  83. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/negotiate.py +0 -0
  84. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/negotiation.py +0 -0
  85. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/render.py +0 -0
  86. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/renderer.py +0 -0
  87. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/template.py +0 -0
  88. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/response/templates.py +0 -0
  89. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/schema/__init__.py +0 -0
  90. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/schema/collect_in.py +0 -0
  91. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/schema/collect_out.py +0 -0
  92. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/storage/__init__.py +0 -0
  93. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/storage/to_stored.py +0 -0
  94. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/__init__.py +0 -0
  95. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/_db.py +0 -0
  96. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/_oltp_context.py +0 -0
  97. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/commit_tx.py +0 -0
  98. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_aggregate.py +0 -0
  99. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_append_chunk.py +0 -0
  100. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_create.py +0 -0
  101. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_delete.py +0 -0
  102. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_merge.py +0 -0
  103. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_replace.py +0 -0
  104. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_update.py +0 -0
  105. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_checkpoint.py +0 -0
  106. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_clear.py +0 -0
  107. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_close_session.py +0 -0
  108. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_close_stream.py +0 -0
  109. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_count.py +0 -0
  110. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_create.py +0 -0
  111. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_custom.py +0 -0
  112. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_delete.py +0 -0
  113. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_download.py +0 -0
  114. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_exists.py +0 -0
  115. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_group_by.py +0 -0
  116. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_list.py +0 -0
  117. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_merge.py +0 -0
  118. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_noop.py +0 -0
  119. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_open_bidi_stream.py +0 -0
  120. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_open_unidi_stream.py +0 -0
  121. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_persistence.py +0 -0
  122. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_publish.py +0 -0
  123. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_read.py +0 -0
  124. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_replace.py +0 -0
  125. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_send_datagram.py +0 -0
  126. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_subscribe.py +0 -0
  127. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_tail.py +0 -0
  128. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_update.py +0 -0
  129. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_upload.py +0 -0
  130. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/handler_well_known.py +0 -0
  131. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/phase_db.py +0 -0
  132. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/sys/start_tx.py +0 -0
  133. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/__init__.py +0 -0
  134. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/asgi_channel.py +0 -0
  135. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/completion_fence.py +0 -0
  136. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/sink_bind.py +0 -0
  137. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/unit_capture.py +0 -0
  138. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/transport/websocket_unary.py +0 -0
  139. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/wire/__init__.py +0 -0
  140. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/wire/build_in.py +0 -0
  141. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/wire/build_out.py +0 -0
  142. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/wire/dump.py +0 -0
  143. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/atoms/wire/validate_in.py +0 -0
  144. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/client_session_coverage.py +0 -0
  145. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/events.py +0 -0
  146. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/packed_inputs.py +0 -0
  147. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/phases.py +0 -0
  148. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/protocol_runtime.py +0 -0
  149. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/protocol_scope.py +0 -0
  150. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/runtime_callbacks.py +0 -0
  151. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/runtime_channel.py +0 -0
  152. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/runtime_loop_regions.py +0 -0
  153. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/runtime_resume.py +0 -0
  154. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/runtime_transactions.py +0 -0
  155. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/stages.py +0 -0
  156. {tigrbl_atoms-0.4.5.dev1 → tigrbl_atoms-0.4.5.dev4}/tigrbl_atoms/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl-atoms
3
- Version: 0.4.5.dev1
3
+ Version: 0.4.5.dev4
4
4
  Summary: Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl-atoms"
3
- version = "0.4.5.dev1"
3
+ version = "0.4.5.dev4"
4
4
  description = "Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -14,6 +14,7 @@ ANCHOR = _ev.EGRESS_ASGI_SEND
14
14
 
15
15
 
16
16
  NO_BODY_STATUS = set(range(100, 200)) | {204, 205, 304}
17
+ UNMATCHED_RUNTIME_DETAIL = "No runtime operation matched request."
17
18
 
18
19
 
19
20
  def _json_default(value: Any) -> Any:
@@ -138,8 +139,28 @@ async def _send_json(
138
139
  normalized = path.rstrip("/") or "/"
139
140
  if normalized == "/rpc":
140
141
  is_jsonrpc = True
142
+ else:
143
+ owner = scope.get("app") if isinstance(scope, Mapping) else None
144
+ mounts = getattr(owner, "_jsonrpc_endpoint_mounts", None)
145
+ if isinstance(mounts, Mapping) and (
146
+ normalized in mounts or f"{normalized}/" in mounts
147
+ ):
148
+ is_jsonrpc = True
149
+ elif normalized.startswith("/rpc"):
150
+ is_jsonrpc = True
141
151
  if isinstance(payload, Mapping) and payload.get("jsonrpc") == "2.0":
142
152
  is_jsonrpc = True
153
+ detail = payload.get("detail") if isinstance(payload, Mapping) else None
154
+ if detail == UNMATCHED_RUNTIME_DETAIL:
155
+ if is_jsonrpc:
156
+ payload = {
157
+ "jsonrpc": "2.0",
158
+ "error": {"code": -32601, "message": "Method not found"},
159
+ "id": None,
160
+ }
161
+ status = 200
162
+ else:
163
+ payload = {"detail": "Not Found"}
143
164
  if is_jsonrpc and isinstance(payload, Mapping) and "error" not in payload:
144
165
  from tigrbl_typing.status.mappings import ERROR_MESSAGES, _HTTP_TO_RPC
145
166
 
@@ -10,6 +10,7 @@ from ... import events as _ev
10
10
  from .._temp import _ensure_temp
11
11
 
12
12
  ANCHOR = _ev.EGRESS_TO_TRANSPORT_RESPONSE
13
+ UNMATCHED_RUNTIME_DETAIL = "No runtime operation matched request."
13
14
 
14
15
 
15
16
  def _jsonrpc_request_id(ctx: Any) -> Any:
@@ -161,9 +162,15 @@ def _normalize_jsonrpc_transport_response(
161
162
  message = ERROR_MESSAGES.get(rpc_code, "Internal error")
162
163
  if isinstance(body, Mapping):
163
164
  detail = body.get("detail")
164
- if isinstance(detail, str) and detail:
165
+ if detail == UNMATCHED_RUNTIME_DETAIL:
166
+ rpc_code = -32601
167
+ message = "Method not found"
168
+ data = {"detail": "Method not found"}
169
+ elif isinstance(detail, str) and detail:
165
170
  message = detail
166
- data = dict(body)
171
+ data = dict(body)
172
+ else:
173
+ data = dict(body)
167
174
  else:
168
175
  data = {"detail": body}
169
176
  body = {