tigrbl-atoms 0.4.5.dev6__tar.gz → 0.4.5.dev8__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.
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/PKG-INFO +1 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/pyproject.toml +1 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/rollback.py +3 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/storage/to_stored.py +5 -2
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/_oltp_context.py +28 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/commit_tx.py +3 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_clear.py +3 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_persistence.py +1 -1
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_replace.py +2 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_update.py +2 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/LICENSE +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/NOTICE +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/README.md +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/_ctx.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/_opview_helpers.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/_request.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/algebra.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/_temp.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/_scheduler.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/_types.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/abort_group.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/admit.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/await_seal.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/cleanup.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/commit.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/dedupe.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/error_project.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/execute.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/precommit_validate.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/prepare_execute.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/reject_admission.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/result_slots.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/scheduler.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/seal_check.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/tx_begin.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dep/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dep/_param_resolver.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dep/extra.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dep/security.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/binding_match.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/binding_parse.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/input_normalize.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/op_resolve.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/asgi_send.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/envelope_apply.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/headers_apply.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/http_finalize.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/out_dump.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/result_normalize.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/to_transport_response.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/emit/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/emit/paired_post.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/emit/paired_pre.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/emit/readtime_alias.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/classify.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/ctx_build.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/transport_shape.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/fanout/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/fanout/emit_many.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/fanout/shape.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/app_frame.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/codec.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/websocket_jsonrpc.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/webtransport_records.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/hot/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/hot/slots.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/ctx_init.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/input_prepare.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/transport_extract.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/intent/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/intent/build.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/intent/final_group_key.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/intent/prekey.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/out/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/out/masking.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/refresh/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/refresh/demand.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/resolve/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/resolve/assemble.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/resolve/paired_gen.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/error_to_transport.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/headers_from_payload.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/negotiate.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/negotiation.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/render.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/renderer.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/template.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/templates.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/schema/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/schema/collect_in.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/schema/collect_out.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/storage/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/_db.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_aggregate.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_append_chunk.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_create.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_delete.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_merge.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_replace.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_update.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_checkpoint.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_close_session.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_close_stream.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_count.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_create.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_custom.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_delete.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_download.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_exists.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_group_by.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_list.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_merge.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_noop.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_open_bidi_stream.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_open_unidi_stream.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_publish.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_read.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_send_datagram.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_subscribe.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_tail.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_upload.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_well_known.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/phase_db.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/start_tx.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/asgi_channel.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/completion_fence.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/sink_bind.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/unit_capture.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/websocket.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/websocket_unary.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/wire/__init__.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/wire/build_in.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/wire/build_out.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/wire/dump.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/wire/validate_in.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/client_session_coverage.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/events.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/packed_inputs.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/phases.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/protocol_runtime.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/protocol_scope.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/runtime_callbacks.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/runtime_channel.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/runtime_loop_regions.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/runtime_resume.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/runtime_transactions.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/stages.py +0 -0
- {tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/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.
|
|
3
|
+
Version: 0.4.5.dev8
|
|
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.
|
|
3
|
+
version = "0.4.5.dev8"
|
|
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" }
|
|
@@ -37,7 +37,9 @@ async def run(obj: object | None, ctx: Any) -> None:
|
|
|
37
37
|
if isinstance(temp, dict):
|
|
38
38
|
release = temp.pop("__sys_db_release__", None)
|
|
39
39
|
if callable(release):
|
|
40
|
-
release()
|
|
40
|
+
rv = release()
|
|
41
|
+
if hasattr(rv, "__await__"):
|
|
42
|
+
await rv
|
|
41
43
|
|
|
42
44
|
|
|
43
45
|
__all__ = ["ANCHOR", "run"]
|
|
@@ -46,8 +46,11 @@ def _run(obj: Optional[object], ctx: Any) -> None:
|
|
|
46
46
|
slog = _ensure_list(temp, "storage_log")
|
|
47
47
|
serr = _ensure_list(temp, "storage_errors")
|
|
48
48
|
|
|
49
|
-
#
|
|
50
|
-
|
|
49
|
+
# Packed execution can pass the table class. Assigning to it replaces ORM
|
|
50
|
+
# descriptors, so only mirror storage values onto a hydrated instance.
|
|
51
|
+
target_obj = obj if obj is not None else getattr(ctx, "model", None)
|
|
52
|
+
if isinstance(target_obj, type):
|
|
53
|
+
target_obj = None
|
|
51
54
|
|
|
52
55
|
# Ensure paired fields are considered even when absent from inbound schema.
|
|
53
56
|
# schema_in["fields"] may omit columns like "digest" that generate their
|
|
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
from typing import Any, Mapping, Sequence
|
|
5
5
|
|
|
6
|
+
from tigrbl_typing.status.exceptions import HTTPException
|
|
7
|
+
|
|
6
8
|
try: # pragma: no cover
|
|
7
9
|
from sqlalchemy.inspection import inspect as _sa_inspect # type: ignore
|
|
8
10
|
except Exception: # pragma: no cover
|
|
@@ -141,6 +143,32 @@ def payload(ctx: Mapping[str, Any]) -> Any:
|
|
|
141
143
|
return {}
|
|
142
144
|
|
|
143
145
|
|
|
146
|
+
def clear_filters(ctx: Mapping[str, Any]) -> Mapping[str, Any]:
|
|
147
|
+
values = payload(ctx)
|
|
148
|
+
if not values:
|
|
149
|
+
# The generic payload resolver can fall back to {} on invalid JSON.
|
|
150
|
+
body = _ctx_get(ctx, "body", None)
|
|
151
|
+
if body is None:
|
|
152
|
+
body = getattr(request(ctx), "body", None)
|
|
153
|
+
if isinstance(body, (bytes, bytearray, str)) and body:
|
|
154
|
+
try:
|
|
155
|
+
decoded = json.loads(body)
|
|
156
|
+
except ValueError:
|
|
157
|
+
decoded = None
|
|
158
|
+
if not isinstance(decoded, Mapping):
|
|
159
|
+
raise HTTPException(
|
|
160
|
+
status_code=422, detail="Clear request body must be a JSON object."
|
|
161
|
+
)
|
|
162
|
+
if not isinstance(values, Mapping) or values.keys() - {"filters"}:
|
|
163
|
+
raise HTTPException(
|
|
164
|
+
status_code=422, detail="Clear accepts only a filters object."
|
|
165
|
+
)
|
|
166
|
+
filters = values.get("filters", {})
|
|
167
|
+
if not isinstance(filters, Mapping):
|
|
168
|
+
raise HTTPException(status_code=422, detail="Clear filters must be an object.")
|
|
169
|
+
return filters
|
|
170
|
+
|
|
171
|
+
|
|
144
172
|
def db(ctx: Mapping[str, Any]) -> Any:
|
|
145
173
|
return _ctx_get(ctx, "db") or _ctx_get(ctx, "_raw_db")
|
|
146
174
|
|
|
@@ -40,7 +40,9 @@ async def _run(obj: object | None, ctx: Any) -> None:
|
|
|
40
40
|
temp["__sys_tx_open__"] = False
|
|
41
41
|
release = temp.pop("__sys_db_release__", None)
|
|
42
42
|
if callable(release):
|
|
43
|
-
release()
|
|
43
|
+
rv = release()
|
|
44
|
+
if hasattr(rv, "__await__"):
|
|
45
|
+
await rv
|
|
44
46
|
|
|
45
47
|
|
|
46
48
|
class AtomImpl(Atom[Operated, Operated, Exception]):
|
|
@@ -16,7 +16,9 @@ async def _run(obj: object | None, ctx: Any) -> None:
|
|
|
16
16
|
model = obj if isinstance(obj, type) else getattr(ctx, "model", None)
|
|
17
17
|
if not isinstance(model, type):
|
|
18
18
|
raise TypeError("handler_clear requires a model type")
|
|
19
|
-
setattr(
|
|
19
|
+
setattr(
|
|
20
|
+
ctx, "result", await _core.clear(model, _ctx.clear_filters(ctx), db=_ctx.db(ctx))
|
|
21
|
+
)
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
class AtomImpl(Atom[Resolved, Operated, Exception]):
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_persistence.py
RENAMED
|
@@ -70,7 +70,7 @@ async def _run(obj: object | None, ctx: Any) -> None:
|
|
|
70
70
|
)
|
|
71
71
|
return
|
|
72
72
|
if target == "clear":
|
|
73
|
-
setattr(ctx, "result", await _core.clear(model, db=db))
|
|
73
|
+
setattr(ctx, "result", await _core.clear(model, _ctx.clear_filters(ctx), db=db))
|
|
74
74
|
return
|
|
75
75
|
|
|
76
76
|
if target == "bulk_create":
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_replace.py
RENAMED
|
@@ -13,6 +13,8 @@ ANCHOR = _ev.SYS_HANDLER_PERSISTENCE
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
async def _run(obj: object | None, ctx: Any) -> None:
|
|
16
|
+
if getattr(ctx, "result", None) is not None:
|
|
17
|
+
return
|
|
16
18
|
model = obj if isinstance(obj, type) else getattr(ctx, "model", None)
|
|
17
19
|
if not isinstance(model, type):
|
|
18
20
|
raise TypeError("handler_replace requires a model type")
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_update.py
RENAMED
|
@@ -13,6 +13,8 @@ ANCHOR = _ev.SYS_HANDLER_PERSISTENCE
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
async def _run(obj: object | None, ctx: Any) -> None:
|
|
16
|
+
if getattr(ctx, "result", None) is not None:
|
|
17
|
+
return
|
|
16
18
|
model = obj if isinstance(obj, type) else getattr(ctx, "model", None)
|
|
17
19
|
if not isinstance(model, type):
|
|
18
20
|
raise TypeError("handler_update requires a model type")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/error_project.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/precommit_validate.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/prepare_execute.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/reject_admission.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/batch/result_slots.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dep/_param_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/binding_match.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/binding_parse.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/input_normalize.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/dispatch/op_resolve.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/envelope_apply.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/headers_apply.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/http_finalize.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/egress/result_normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/emit/readtime_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/err/transport_shape.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/framing/websocket_jsonrpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/input_prepare.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/ingress/transport_extract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/intent/final_group_key.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/resolve/paired_gen.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/negotiate.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/negotiation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/response/templates.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/schema/collect_out.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_aggregate.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_append_chunk.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_create.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_delete.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_merge.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_replace.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_bulk_update.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_checkpoint.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_close_session.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_close_stream.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_create.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_custom.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_delete.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_download.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_exists.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_group_by.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_publish.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_send_datagram.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_subscribe.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_upload.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/sys/handler_well_known.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/__init__.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/asgi_channel.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/completion_fence.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/sink_bind.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/unit_capture.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/websocket.py
RENAMED
|
File without changes
|
{tigrbl_atoms-0.4.5.dev6 → tigrbl_atoms-0.4.5.dev8}/tigrbl_atoms/atoms/transport/websocket_unary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|