omnibase_infra 0.2.6__py3-none-any.whl
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.
- omnibase_infra/__init__.py +101 -0
- omnibase_infra/adapters/adapter_onex_tool_execution.py +451 -0
- omnibase_infra/capabilities/__init__.py +15 -0
- omnibase_infra/capabilities/capability_inference_rules.py +211 -0
- omnibase_infra/capabilities/contract_capability_extractor.py +221 -0
- omnibase_infra/capabilities/intent_type_extractor.py +160 -0
- omnibase_infra/cli/__init__.py +1 -0
- omnibase_infra/cli/commands.py +216 -0
- omnibase_infra/clients/__init__.py +0 -0
- omnibase_infra/configs/widget_mapping.yaml +176 -0
- omnibase_infra/constants_topic_patterns.py +26 -0
- omnibase_infra/contracts/handlers/filesystem/handler_contract.yaml +264 -0
- omnibase_infra/contracts/handlers/mcp/handler_contract.yaml +141 -0
- omnibase_infra/decorators/__init__.py +29 -0
- omnibase_infra/decorators/allow_any.py +109 -0
- omnibase_infra/dlq/__init__.py +90 -0
- omnibase_infra/dlq/constants_dlq.py +57 -0
- omnibase_infra/dlq/models/__init__.py +26 -0
- omnibase_infra/dlq/models/enum_replay_status.py +37 -0
- omnibase_infra/dlq/models/model_dlq_replay_record.py +135 -0
- omnibase_infra/dlq/models/model_dlq_tracking_config.py +184 -0
- omnibase_infra/dlq/service_dlq_tracking.py +611 -0
- omnibase_infra/enums/__init__.py +132 -0
- omnibase_infra/enums/enum_any_type_violation.py +104 -0
- omnibase_infra/enums/enum_backend_type.py +27 -0
- omnibase_infra/enums/enum_capture_outcome.py +42 -0
- omnibase_infra/enums/enum_capture_state.py +88 -0
- omnibase_infra/enums/enum_chain_violation_type.py +119 -0
- omnibase_infra/enums/enum_circuit_state.py +51 -0
- omnibase_infra/enums/enum_confirmation_event_type.py +27 -0
- omnibase_infra/enums/enum_consumer_group_purpose.py +92 -0
- omnibase_infra/enums/enum_contract_type.py +84 -0
- omnibase_infra/enums/enum_dedupe_strategy.py +46 -0
- omnibase_infra/enums/enum_dispatch_status.py +191 -0
- omnibase_infra/enums/enum_environment.py +46 -0
- omnibase_infra/enums/enum_execution_shape_violation.py +103 -0
- omnibase_infra/enums/enum_handler_error_type.py +111 -0
- omnibase_infra/enums/enum_handler_loader_error.py +178 -0
- omnibase_infra/enums/enum_handler_source_mode.py +86 -0
- omnibase_infra/enums/enum_handler_source_type.py +87 -0
- omnibase_infra/enums/enum_handler_type.py +77 -0
- omnibase_infra/enums/enum_handler_type_category.py +61 -0
- omnibase_infra/enums/enum_infra_transport_type.py +73 -0
- omnibase_infra/enums/enum_introspection_reason.py +154 -0
- omnibase_infra/enums/enum_kafka_acks.py +99 -0
- omnibase_infra/enums/enum_message_category.py +213 -0
- omnibase_infra/enums/enum_node_archetype.py +74 -0
- omnibase_infra/enums/enum_node_output_type.py +185 -0
- omnibase_infra/enums/enum_non_retryable_error_category.py +224 -0
- omnibase_infra/enums/enum_policy_type.py +32 -0
- omnibase_infra/enums/enum_registration_state.py +261 -0
- omnibase_infra/enums/enum_registration_status.py +33 -0
- omnibase_infra/enums/enum_registry_response_status.py +28 -0
- omnibase_infra/enums/enum_response_status.py +26 -0
- omnibase_infra/enums/enum_retry_error_category.py +98 -0
- omnibase_infra/enums/enum_security_rule_id.py +103 -0
- omnibase_infra/enums/enum_selection_strategy.py +91 -0
- omnibase_infra/enums/enum_topic_standard.py +42 -0
- omnibase_infra/enums/enum_validation_severity.py +78 -0
- omnibase_infra/errors/__init__.py +160 -0
- omnibase_infra/errors/error_architecture_violation.py +152 -0
- omnibase_infra/errors/error_binding_resolution.py +128 -0
- omnibase_infra/errors/error_chain_propagation.py +188 -0
- omnibase_infra/errors/error_compute_registry.py +95 -0
- omnibase_infra/errors/error_consul.py +132 -0
- omnibase_infra/errors/error_container_wiring.py +243 -0
- omnibase_infra/errors/error_event_bus_registry.py +105 -0
- omnibase_infra/errors/error_infra.py +610 -0
- omnibase_infra/errors/error_message_type_registry.py +101 -0
- omnibase_infra/errors/error_policy_registry.py +115 -0
- omnibase_infra/errors/error_vault.py +123 -0
- omnibase_infra/event_bus/__init__.py +72 -0
- omnibase_infra/event_bus/configs/kafka_event_bus_config.yaml +84 -0
- omnibase_infra/event_bus/event_bus_inmemory.py +797 -0
- omnibase_infra/event_bus/event_bus_kafka.py +1716 -0
- omnibase_infra/event_bus/mixin_kafka_broadcast.py +180 -0
- omnibase_infra/event_bus/mixin_kafka_dlq.py +771 -0
- omnibase_infra/event_bus/models/__init__.py +29 -0
- omnibase_infra/event_bus/models/config/__init__.py +20 -0
- omnibase_infra/event_bus/models/config/model_kafka_event_bus_config.py +693 -0
- omnibase_infra/event_bus/models/model_dlq_event.py +206 -0
- omnibase_infra/event_bus/models/model_dlq_metrics.py +304 -0
- omnibase_infra/event_bus/models/model_event_headers.py +115 -0
- omnibase_infra/event_bus/models/model_event_message.py +60 -0
- omnibase_infra/event_bus/testing/__init__.py +26 -0
- omnibase_infra/event_bus/testing/adapter_protocol_event_publisher_inmemory.py +418 -0
- omnibase_infra/event_bus/testing/model_publisher_metrics.py +64 -0
- omnibase_infra/event_bus/topic_constants.py +376 -0
- omnibase_infra/handlers/__init__.py +82 -0
- omnibase_infra/handlers/filesystem/__init__.py +48 -0
- omnibase_infra/handlers/filesystem/enum_file_system_operation.py +35 -0
- omnibase_infra/handlers/filesystem/model_file_system_request.py +298 -0
- omnibase_infra/handlers/filesystem/model_file_system_result.py +166 -0
- omnibase_infra/handlers/handler_consul.py +795 -0
- omnibase_infra/handlers/handler_db.py +1046 -0
- omnibase_infra/handlers/handler_filesystem.py +1478 -0
- omnibase_infra/handlers/handler_graph.py +2015 -0
- omnibase_infra/handlers/handler_http.py +926 -0
- omnibase_infra/handlers/handler_intent.py +387 -0
- omnibase_infra/handlers/handler_manifest_persistence.contract.yaml +184 -0
- omnibase_infra/handlers/handler_manifest_persistence.py +1539 -0
- omnibase_infra/handlers/handler_mcp.py +1430 -0
- omnibase_infra/handlers/handler_qdrant.py +1076 -0
- omnibase_infra/handlers/handler_vault.py +428 -0
- omnibase_infra/handlers/mcp/__init__.py +19 -0
- omnibase_infra/handlers/mcp/adapter_onex_to_mcp.py +446 -0
- omnibase_infra/handlers/mcp/protocols.py +178 -0
- omnibase_infra/handlers/mcp/transport_streamable_http.py +352 -0
- omnibase_infra/handlers/mixins/__init__.py +47 -0
- omnibase_infra/handlers/mixins/mixin_consul_initialization.py +349 -0
- omnibase_infra/handlers/mixins/mixin_consul_kv.py +338 -0
- omnibase_infra/handlers/mixins/mixin_consul_service.py +542 -0
- omnibase_infra/handlers/mixins/mixin_consul_topic_index.py +585 -0
- omnibase_infra/handlers/mixins/mixin_vault_initialization.py +338 -0
- omnibase_infra/handlers/mixins/mixin_vault_retry.py +412 -0
- omnibase_infra/handlers/mixins/mixin_vault_secrets.py +450 -0
- omnibase_infra/handlers/mixins/mixin_vault_token.py +365 -0
- omnibase_infra/handlers/models/__init__.py +286 -0
- omnibase_infra/handlers/models/consul/__init__.py +81 -0
- omnibase_infra/handlers/models/consul/enum_consul_operation_type.py +57 -0
- omnibase_infra/handlers/models/consul/model_consul_deregister_payload.py +51 -0
- omnibase_infra/handlers/models/consul/model_consul_handler_config.py +153 -0
- omnibase_infra/handlers/models/consul/model_consul_handler_payload.py +89 -0
- omnibase_infra/handlers/models/consul/model_consul_kv_get_found_payload.py +55 -0
- omnibase_infra/handlers/models/consul/model_consul_kv_get_not_found_payload.py +49 -0
- omnibase_infra/handlers/models/consul/model_consul_kv_get_recurse_payload.py +50 -0
- omnibase_infra/handlers/models/consul/model_consul_kv_item.py +33 -0
- omnibase_infra/handlers/models/consul/model_consul_kv_put_payload.py +41 -0
- omnibase_infra/handlers/models/consul/model_consul_register_payload.py +53 -0
- omnibase_infra/handlers/models/consul/model_consul_retry_config.py +66 -0
- omnibase_infra/handlers/models/consul/model_payload_consul.py +66 -0
- omnibase_infra/handlers/models/consul/registry_payload_consul.py +214 -0
- omnibase_infra/handlers/models/graph/__init__.py +35 -0
- omnibase_infra/handlers/models/graph/enum_graph_operation_type.py +20 -0
- omnibase_infra/handlers/models/graph/model_graph_execute_payload.py +38 -0
- omnibase_infra/handlers/models/graph/model_graph_handler_config.py +54 -0
- omnibase_infra/handlers/models/graph/model_graph_handler_payload.py +44 -0
- omnibase_infra/handlers/models/graph/model_graph_query_payload.py +40 -0
- omnibase_infra/handlers/models/graph/model_graph_record.py +22 -0
- omnibase_infra/handlers/models/http/__init__.py +50 -0
- omnibase_infra/handlers/models/http/enum_http_operation_type.py +29 -0
- omnibase_infra/handlers/models/http/model_http_body_content.py +45 -0
- omnibase_infra/handlers/models/http/model_http_get_payload.py +88 -0
- omnibase_infra/handlers/models/http/model_http_handler_payload.py +90 -0
- omnibase_infra/handlers/models/http/model_http_post_payload.py +88 -0
- omnibase_infra/handlers/models/http/model_payload_http.py +66 -0
- omnibase_infra/handlers/models/http/registry_payload_http.py +212 -0
- omnibase_infra/handlers/models/mcp/__init__.py +23 -0
- omnibase_infra/handlers/models/mcp/enum_mcp_operation_type.py +24 -0
- omnibase_infra/handlers/models/mcp/model_mcp_handler_config.py +40 -0
- omnibase_infra/handlers/models/mcp/model_mcp_tool_call.py +32 -0
- omnibase_infra/handlers/models/mcp/model_mcp_tool_result.py +45 -0
- omnibase_infra/handlers/models/model_consul_handler_response.py +96 -0
- omnibase_infra/handlers/models/model_db_describe_response.py +83 -0
- omnibase_infra/handlers/models/model_db_query_payload.py +95 -0
- omnibase_infra/handlers/models/model_db_query_response.py +60 -0
- omnibase_infra/handlers/models/model_filesystem_config.py +98 -0
- omnibase_infra/handlers/models/model_filesystem_delete_payload.py +54 -0
- omnibase_infra/handlers/models/model_filesystem_delete_result.py +77 -0
- omnibase_infra/handlers/models/model_filesystem_directory_entry.py +75 -0
- omnibase_infra/handlers/models/model_filesystem_ensure_directory_payload.py +54 -0
- omnibase_infra/handlers/models/model_filesystem_ensure_directory_result.py +60 -0
- omnibase_infra/handlers/models/model_filesystem_list_directory_payload.py +60 -0
- omnibase_infra/handlers/models/model_filesystem_list_directory_result.py +68 -0
- omnibase_infra/handlers/models/model_filesystem_read_payload.py +62 -0
- omnibase_infra/handlers/models/model_filesystem_read_result.py +61 -0
- omnibase_infra/handlers/models/model_filesystem_write_payload.py +70 -0
- omnibase_infra/handlers/models/model_filesystem_write_result.py +55 -0
- omnibase_infra/handlers/models/model_graph_handler_response.py +98 -0
- omnibase_infra/handlers/models/model_handler_response.py +103 -0
- omnibase_infra/handlers/models/model_http_handler_response.py +101 -0
- omnibase_infra/handlers/models/model_manifest_metadata.py +75 -0
- omnibase_infra/handlers/models/model_manifest_persistence_config.py +62 -0
- omnibase_infra/handlers/models/model_manifest_query_payload.py +90 -0
- omnibase_infra/handlers/models/model_manifest_query_result.py +97 -0
- omnibase_infra/handlers/models/model_manifest_retrieve_payload.py +44 -0
- omnibase_infra/handlers/models/model_manifest_retrieve_result.py +98 -0
- omnibase_infra/handlers/models/model_manifest_store_payload.py +47 -0
- omnibase_infra/handlers/models/model_manifest_store_result.py +67 -0
- omnibase_infra/handlers/models/model_operation_context.py +187 -0
- omnibase_infra/handlers/models/model_qdrant_handler_response.py +98 -0
- omnibase_infra/handlers/models/model_retry_state.py +162 -0
- omnibase_infra/handlers/models/model_vault_handler_response.py +98 -0
- omnibase_infra/handlers/models/qdrant/__init__.py +44 -0
- omnibase_infra/handlers/models/qdrant/enum_qdrant_operation_type.py +26 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_collection_payload.py +42 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_delete_payload.py +36 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_handler_config.py +42 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_handler_payload.py +54 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_search_payload.py +42 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_search_result.py +30 -0
- omnibase_infra/handlers/models/qdrant/model_qdrant_upsert_payload.py +36 -0
- omnibase_infra/handlers/models/vault/__init__.py +69 -0
- omnibase_infra/handlers/models/vault/enum_vault_operation_type.py +35 -0
- omnibase_infra/handlers/models/vault/model_payload_vault.py +66 -0
- omnibase_infra/handlers/models/vault/model_vault_delete_payload.py +57 -0
- omnibase_infra/handlers/models/vault/model_vault_handler_config.py +148 -0
- omnibase_infra/handlers/models/vault/model_vault_handler_payload.py +101 -0
- omnibase_infra/handlers/models/vault/model_vault_list_payload.py +58 -0
- omnibase_infra/handlers/models/vault/model_vault_renew_token_payload.py +67 -0
- omnibase_infra/handlers/models/vault/model_vault_retry_config.py +66 -0
- omnibase_infra/handlers/models/vault/model_vault_secret_payload.py +106 -0
- omnibase_infra/handlers/models/vault/model_vault_write_payload.py +66 -0
- omnibase_infra/handlers/models/vault/registry_payload_vault.py +213 -0
- omnibase_infra/handlers/registration_storage/__init__.py +43 -0
- omnibase_infra/handlers/registration_storage/handler_registration_storage_mock.py +392 -0
- omnibase_infra/handlers/registration_storage/handler_registration_storage_postgres.py +922 -0
- omnibase_infra/handlers/registration_storage/models/__init__.py +23 -0
- omnibase_infra/handlers/registration_storage/models/model_delete_registration_request.py +58 -0
- omnibase_infra/handlers/registration_storage/models/model_update_registration_request.py +73 -0
- omnibase_infra/handlers/registration_storage/protocol_registration_persistence.py +191 -0
- omnibase_infra/handlers/service_discovery/__init__.py +43 -0
- omnibase_infra/handlers/service_discovery/handler_service_discovery_consul.py +1051 -0
- omnibase_infra/handlers/service_discovery/handler_service_discovery_mock.py +258 -0
- omnibase_infra/handlers/service_discovery/models/__init__.py +22 -0
- omnibase_infra/handlers/service_discovery/models/model_discovery_result.py +64 -0
- omnibase_infra/handlers/service_discovery/models/model_registration_result.py +138 -0
- omnibase_infra/handlers/service_discovery/models/model_service_info.py +109 -0
- omnibase_infra/handlers/service_discovery/protocol_discovery_operations.py +170 -0
- omnibase_infra/idempotency/__init__.py +94 -0
- omnibase_infra/idempotency/models/__init__.py +43 -0
- omnibase_infra/idempotency/models/model_idempotency_check_result.py +85 -0
- omnibase_infra/idempotency/models/model_idempotency_guard_config.py +130 -0
- omnibase_infra/idempotency/models/model_idempotency_record.py +86 -0
- omnibase_infra/idempotency/models/model_idempotency_store_health_check_result.py +81 -0
- omnibase_infra/idempotency/models/model_idempotency_store_metrics.py +140 -0
- omnibase_infra/idempotency/models/model_postgres_idempotency_store_config.py +299 -0
- omnibase_infra/idempotency/protocol_idempotency_store.py +184 -0
- omnibase_infra/idempotency/store_inmemory.py +265 -0
- omnibase_infra/idempotency/store_postgres.py +923 -0
- omnibase_infra/infrastructure/__init__.py +0 -0
- omnibase_infra/migrations/001_create_event_ledger.sql +166 -0
- omnibase_infra/migrations/001_drop_event_ledger.sql +18 -0
- omnibase_infra/mixins/__init__.py +71 -0
- omnibase_infra/mixins/mixin_async_circuit_breaker.py +656 -0
- omnibase_infra/mixins/mixin_dict_like_accessors.py +146 -0
- omnibase_infra/mixins/mixin_envelope_extraction.py +119 -0
- omnibase_infra/mixins/mixin_node_introspection.py +2670 -0
- omnibase_infra/mixins/mixin_retry_execution.py +386 -0
- omnibase_infra/mixins/protocol_circuit_breaker_aware.py +133 -0
- omnibase_infra/models/__init__.py +144 -0
- omnibase_infra/models/bindings/__init__.py +59 -0
- omnibase_infra/models/bindings/constants.py +144 -0
- omnibase_infra/models/bindings/model_binding_resolution_result.py +103 -0
- omnibase_infra/models/bindings/model_operation_binding.py +44 -0
- omnibase_infra/models/bindings/model_operation_bindings_subcontract.py +152 -0
- omnibase_infra/models/bindings/model_parsed_binding.py +52 -0
- omnibase_infra/models/corpus/__init__.py +17 -0
- omnibase_infra/models/corpus/model_capture_config.py +133 -0
- omnibase_infra/models/corpus/model_capture_result.py +86 -0
- omnibase_infra/models/discovery/__init__.py +42 -0
- omnibase_infra/models/discovery/model_dependency_spec.py +319 -0
- omnibase_infra/models/discovery/model_discovered_capabilities.py +50 -0
- omnibase_infra/models/discovery/model_introspection_config.py +330 -0
- omnibase_infra/models/discovery/model_introspection_performance_metrics.py +169 -0
- omnibase_infra/models/discovery/model_introspection_task_config.py +116 -0
- omnibase_infra/models/dispatch/__init__.py +155 -0
- omnibase_infra/models/dispatch/model_debug_trace_snapshot.py +114 -0
- omnibase_infra/models/dispatch/model_dispatch_context.py +439 -0
- omnibase_infra/models/dispatch/model_dispatch_error.py +336 -0
- omnibase_infra/models/dispatch/model_dispatch_log_context.py +400 -0
- omnibase_infra/models/dispatch/model_dispatch_metadata.py +228 -0
- omnibase_infra/models/dispatch/model_dispatch_metrics.py +496 -0
- omnibase_infra/models/dispatch/model_dispatch_outcome.py +317 -0
- omnibase_infra/models/dispatch/model_dispatch_outputs.py +231 -0
- omnibase_infra/models/dispatch/model_dispatch_result.py +436 -0
- omnibase_infra/models/dispatch/model_dispatch_route.py +279 -0
- omnibase_infra/models/dispatch/model_dispatcher_metrics.py +275 -0
- omnibase_infra/models/dispatch/model_dispatcher_registration.py +352 -0
- omnibase_infra/models/dispatch/model_materialized_dispatch.py +141 -0
- omnibase_infra/models/dispatch/model_parsed_topic.py +135 -0
- omnibase_infra/models/dispatch/model_topic_parser.py +725 -0
- omnibase_infra/models/dispatch/model_tracing_context.py +285 -0
- omnibase_infra/models/errors/__init__.py +45 -0
- omnibase_infra/models/errors/model_handler_validation_error.py +594 -0
- omnibase_infra/models/errors/model_infra_error_context.py +99 -0
- omnibase_infra/models/errors/model_message_type_registry_error_context.py +71 -0
- omnibase_infra/models/errors/model_timeout_error_context.py +110 -0
- omnibase_infra/models/handlers/__init__.py +80 -0
- omnibase_infra/models/handlers/model_bootstrap_handler_descriptor.py +162 -0
- omnibase_infra/models/handlers/model_contract_discovery_result.py +82 -0
- omnibase_infra/models/handlers/model_handler_descriptor.py +200 -0
- omnibase_infra/models/handlers/model_handler_identifier.py +215 -0
- omnibase_infra/models/handlers/model_handler_source_config.py +220 -0
- omnibase_infra/models/health/__init__.py +9 -0
- omnibase_infra/models/health/model_health_check_result.py +40 -0
- omnibase_infra/models/lifecycle/__init__.py +39 -0
- omnibase_infra/models/logging/__init__.py +51 -0
- omnibase_infra/models/logging/model_log_context.py +756 -0
- omnibase_infra/models/mcp/__init__.py +15 -0
- omnibase_infra/models/mcp/model_mcp_contract_config.py +80 -0
- omnibase_infra/models/mcp/model_mcp_server_config.py +67 -0
- omnibase_infra/models/mcp/model_mcp_tool_definition.py +73 -0
- omnibase_infra/models/mcp/model_mcp_tool_parameter.py +35 -0
- omnibase_infra/models/model_node_identity.py +126 -0
- omnibase_infra/models/model_retry_error_classification.py +78 -0
- omnibase_infra/models/projection/__init__.py +43 -0
- omnibase_infra/models/projection/model_capability_fields.py +112 -0
- omnibase_infra/models/projection/model_registration_projection.py +434 -0
- omnibase_infra/models/projection/model_registration_snapshot.py +322 -0
- omnibase_infra/models/projection/model_sequence_info.py +182 -0
- omnibase_infra/models/projection/model_snapshot_topic_config.py +591 -0
- omnibase_infra/models/projectors/__init__.py +41 -0
- omnibase_infra/models/projectors/model_projector_column.py +289 -0
- omnibase_infra/models/projectors/model_projector_discovery_result.py +65 -0
- omnibase_infra/models/projectors/model_projector_index.py +270 -0
- omnibase_infra/models/projectors/model_projector_schema.py +415 -0
- omnibase_infra/models/projectors/model_projector_validation_error.py +63 -0
- omnibase_infra/models/projectors/util_sql_identifiers.py +115 -0
- omnibase_infra/models/registration/__init__.py +68 -0
- omnibase_infra/models/registration/commands/__init__.py +15 -0
- omnibase_infra/models/registration/commands/model_node_registration_acked.py +108 -0
- omnibase_infra/models/registration/events/__init__.py +56 -0
- omnibase_infra/models/registration/events/model_node_became_active.py +103 -0
- omnibase_infra/models/registration/events/model_node_liveness_expired.py +103 -0
- omnibase_infra/models/registration/events/model_node_registration_accepted.py +98 -0
- omnibase_infra/models/registration/events/model_node_registration_ack_received.py +98 -0
- omnibase_infra/models/registration/events/model_node_registration_ack_timed_out.py +112 -0
- omnibase_infra/models/registration/events/model_node_registration_initiated.py +107 -0
- omnibase_infra/models/registration/events/model_node_registration_rejected.py +104 -0
- omnibase_infra/models/registration/model_event_bus_topic_entry.py +59 -0
- omnibase_infra/models/registration/model_introspection_metrics.py +253 -0
- omnibase_infra/models/registration/model_node_capabilities.py +190 -0
- omnibase_infra/models/registration/model_node_event_bus_config.py +99 -0
- omnibase_infra/models/registration/model_node_heartbeat_event.py +126 -0
- omnibase_infra/models/registration/model_node_introspection_event.py +195 -0
- omnibase_infra/models/registration/model_node_metadata.py +79 -0
- omnibase_infra/models/registration/model_node_registration.py +162 -0
- omnibase_infra/models/registration/model_node_registration_record.py +162 -0
- omnibase_infra/models/registry/__init__.py +29 -0
- omnibase_infra/models/registry/model_domain_constraint.py +202 -0
- omnibase_infra/models/registry/model_message_type_entry.py +271 -0
- omnibase_infra/models/resilience/__init__.py +9 -0
- omnibase_infra/models/resilience/model_circuit_breaker_config.py +227 -0
- omnibase_infra/models/routing/__init__.py +25 -0
- omnibase_infra/models/routing/model_routing_entry.py +52 -0
- omnibase_infra/models/routing/model_routing_subcontract.py +70 -0
- omnibase_infra/models/runtime/__init__.py +49 -0
- omnibase_infra/models/runtime/model_contract_security_config.py +41 -0
- omnibase_infra/models/runtime/model_discovery_error.py +81 -0
- omnibase_infra/models/runtime/model_discovery_result.py +162 -0
- omnibase_infra/models/runtime/model_discovery_warning.py +74 -0
- omnibase_infra/models/runtime/model_failed_plugin_load.py +63 -0
- omnibase_infra/models/runtime/model_handler_contract.py +296 -0
- omnibase_infra/models/runtime/model_loaded_handler.py +129 -0
- omnibase_infra/models/runtime/model_plugin_load_context.py +93 -0
- omnibase_infra/models/runtime/model_plugin_load_summary.py +124 -0
- omnibase_infra/models/security/__init__.py +50 -0
- omnibase_infra/models/security/classification_levels.py +99 -0
- omnibase_infra/models/security/model_environment_policy.py +145 -0
- omnibase_infra/models/security/model_handler_security_policy.py +107 -0
- omnibase_infra/models/security/model_security_error.py +81 -0
- omnibase_infra/models/security/model_security_validation_result.py +328 -0
- omnibase_infra/models/security/model_security_warning.py +67 -0
- omnibase_infra/models/snapshot/__init__.py +27 -0
- omnibase_infra/models/snapshot/model_field_change.py +65 -0
- omnibase_infra/models/snapshot/model_snapshot.py +270 -0
- omnibase_infra/models/snapshot/model_snapshot_diff.py +203 -0
- omnibase_infra/models/snapshot/model_subject_ref.py +81 -0
- omnibase_infra/models/types/__init__.py +71 -0
- omnibase_infra/models/validation/__init__.py +89 -0
- omnibase_infra/models/validation/model_any_type_validation_result.py +118 -0
- omnibase_infra/models/validation/model_any_type_violation.py +141 -0
- omnibase_infra/models/validation/model_category_match_result.py +345 -0
- omnibase_infra/models/validation/model_chain_violation.py +166 -0
- omnibase_infra/models/validation/model_coverage_metrics.py +316 -0
- omnibase_infra/models/validation/model_execution_shape_rule.py +159 -0
- omnibase_infra/models/validation/model_execution_shape_validation.py +208 -0
- omnibase_infra/models/validation/model_execution_shape_validation_result.py +294 -0
- omnibase_infra/models/validation/model_execution_shape_violation.py +122 -0
- omnibase_infra/models/validation/model_localhandler_validation_result.py +139 -0
- omnibase_infra/models/validation/model_localhandler_violation.py +100 -0
- omnibase_infra/models/validation/model_output_validation_params.py +74 -0
- omnibase_infra/models/validation/model_validate_and_raise_params.py +84 -0
- omnibase_infra/models/validation/model_validation_error_params.py +84 -0
- omnibase_infra/models/validation/model_validation_outcome.py +287 -0
- omnibase_infra/nodes/__init__.py +57 -0
- omnibase_infra/nodes/architecture_validator/__init__.py +79 -0
- omnibase_infra/nodes/architecture_validator/contract.yaml +252 -0
- omnibase_infra/nodes/architecture_validator/contract_architecture_validator.yaml +203 -0
- omnibase_infra/nodes/architecture_validator/mixins/__init__.py +16 -0
- omnibase_infra/nodes/architecture_validator/mixins/mixin_file_path_rule.py +92 -0
- omnibase_infra/nodes/architecture_validator/models/__init__.py +36 -0
- omnibase_infra/nodes/architecture_validator/models/model_architecture_validation_request.py +56 -0
- omnibase_infra/nodes/architecture_validator/models/model_architecture_validation_result.py +311 -0
- omnibase_infra/nodes/architecture_validator/models/model_architecture_violation.py +163 -0
- omnibase_infra/nodes/architecture_validator/models/model_rule_check_result.py +265 -0
- omnibase_infra/nodes/architecture_validator/models/model_validation_request.py +105 -0
- omnibase_infra/nodes/architecture_validator/models/model_validation_result.py +314 -0
- omnibase_infra/nodes/architecture_validator/node.py +262 -0
- omnibase_infra/nodes/architecture_validator/node_architecture_validator.py +383 -0
- omnibase_infra/nodes/architecture_validator/protocols/__init__.py +9 -0
- omnibase_infra/nodes/architecture_validator/protocols/protocol_architecture_rule.py +225 -0
- omnibase_infra/nodes/architecture_validator/registry/__init__.py +28 -0
- omnibase_infra/nodes/architecture_validator/registry/registry_infra_architecture_validator.py +106 -0
- omnibase_infra/nodes/architecture_validator/validators/__init__.py +104 -0
- omnibase_infra/nodes/architecture_validator/validators/validator_no_direct_dispatch.py +422 -0
- omnibase_infra/nodes/architecture_validator/validators/validator_no_handler_publishing.py +481 -0
- omnibase_infra/nodes/architecture_validator/validators/validator_no_orchestrator_fsm.py +491 -0
- omnibase_infra/nodes/contract_registry_reducer/__init__.py +29 -0
- omnibase_infra/nodes/contract_registry_reducer/contract.yaml +255 -0
- omnibase_infra/nodes/contract_registry_reducer/models/__init__.py +38 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_contract_registry_state.py +266 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_cleanup_topic_references.py +55 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_deactivate_contract.py +58 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_mark_stale.py +49 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_update_heartbeat.py +71 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_update_topic.py +66 -0
- omnibase_infra/nodes/contract_registry_reducer/models/model_payload_upsert_contract.py +92 -0
- omnibase_infra/nodes/contract_registry_reducer/node.py +121 -0
- omnibase_infra/nodes/contract_registry_reducer/reducer.py +784 -0
- omnibase_infra/nodes/contract_registry_reducer/registry/__init__.py +9 -0
- omnibase_infra/nodes/contract_registry_reducer/registry/registry_infra_contract_registry_reducer.py +101 -0
- omnibase_infra/nodes/effects/README.md +358 -0
- omnibase_infra/nodes/effects/__init__.py +26 -0
- omnibase_infra/nodes/effects/contract.yaml +167 -0
- omnibase_infra/nodes/effects/models/__init__.py +32 -0
- omnibase_infra/nodes/effects/models/model_backend_result.py +190 -0
- omnibase_infra/nodes/effects/models/model_effect_idempotency_config.py +92 -0
- omnibase_infra/nodes/effects/models/model_registry_request.py +132 -0
- omnibase_infra/nodes/effects/models/model_registry_response.py +263 -0
- omnibase_infra/nodes/effects/protocol_consul_client.py +89 -0
- omnibase_infra/nodes/effects/protocol_effect_idempotency_store.py +143 -0
- omnibase_infra/nodes/effects/protocol_postgres_adapter.py +96 -0
- omnibase_infra/nodes/effects/registry_effect.py +525 -0
- omnibase_infra/nodes/effects/store_effect_idempotency_inmemory.py +425 -0
- omnibase_infra/nodes/handlers/consul/contract.yaml +85 -0
- omnibase_infra/nodes/handlers/db/contract.yaml +72 -0
- omnibase_infra/nodes/handlers/graph/contract.yaml +127 -0
- omnibase_infra/nodes/handlers/http/contract.yaml +74 -0
- omnibase_infra/nodes/handlers/intent/contract.yaml +66 -0
- omnibase_infra/nodes/handlers/mcp/contract.yaml +69 -0
- omnibase_infra/nodes/handlers/vault/contract.yaml +91 -0
- omnibase_infra/nodes/node_intent_storage_effect/__init__.py +50 -0
- omnibase_infra/nodes/node_intent_storage_effect/contract.yaml +194 -0
- omnibase_infra/nodes/node_intent_storage_effect/models/__init__.py +24 -0
- omnibase_infra/nodes/node_intent_storage_effect/models/model_intent_storage_input.py +141 -0
- omnibase_infra/nodes/node_intent_storage_effect/models/model_intent_storage_output.py +130 -0
- omnibase_infra/nodes/node_intent_storage_effect/node.py +94 -0
- omnibase_infra/nodes/node_intent_storage_effect/registry/__init__.py +35 -0
- omnibase_infra/nodes/node_intent_storage_effect/registry/registry_infra_intent_storage.py +294 -0
- omnibase_infra/nodes/node_ledger_projection_compute/__init__.py +50 -0
- omnibase_infra/nodes/node_ledger_projection_compute/contract.yaml +104 -0
- omnibase_infra/nodes/node_ledger_projection_compute/node.py +284 -0
- omnibase_infra/nodes/node_ledger_projection_compute/registry/__init__.py +29 -0
- omnibase_infra/nodes/node_ledger_projection_compute/registry/registry_infra_ledger_projection.py +118 -0
- omnibase_infra/nodes/node_ledger_write_effect/__init__.py +82 -0
- omnibase_infra/nodes/node_ledger_write_effect/contract.yaml +200 -0
- omnibase_infra/nodes/node_ledger_write_effect/handlers/__init__.py +22 -0
- omnibase_infra/nodes/node_ledger_write_effect/handlers/handler_ledger_append.py +372 -0
- omnibase_infra/nodes/node_ledger_write_effect/handlers/handler_ledger_query.py +597 -0
- omnibase_infra/nodes/node_ledger_write_effect/models/__init__.py +31 -0
- omnibase_infra/nodes/node_ledger_write_effect/models/model_ledger_append_result.py +54 -0
- omnibase_infra/nodes/node_ledger_write_effect/models/model_ledger_entry.py +92 -0
- omnibase_infra/nodes/node_ledger_write_effect/models/model_ledger_query.py +53 -0
- omnibase_infra/nodes/node_ledger_write_effect/models/model_ledger_query_result.py +41 -0
- omnibase_infra/nodes/node_ledger_write_effect/node.py +89 -0
- omnibase_infra/nodes/node_ledger_write_effect/protocols/__init__.py +13 -0
- omnibase_infra/nodes/node_ledger_write_effect/protocols/protocol_ledger_persistence.py +127 -0
- omnibase_infra/nodes/node_ledger_write_effect/registry/__init__.py +9 -0
- omnibase_infra/nodes/node_ledger_write_effect/registry/registry_infra_ledger_write.py +121 -0
- omnibase_infra/nodes/node_registration_orchestrator/README.md +542 -0
- omnibase_infra/nodes/node_registration_orchestrator/__init__.py +120 -0
- omnibase_infra/nodes/node_registration_orchestrator/contract.yaml +482 -0
- omnibase_infra/nodes/node_registration_orchestrator/dispatchers/__init__.py +53 -0
- omnibase_infra/nodes/node_registration_orchestrator/dispatchers/dispatcher_node_introspected.py +376 -0
- omnibase_infra/nodes/node_registration_orchestrator/dispatchers/dispatcher_node_registration_acked.py +376 -0
- omnibase_infra/nodes/node_registration_orchestrator/dispatchers/dispatcher_runtime_tick.py +373 -0
- omnibase_infra/nodes/node_registration_orchestrator/handlers/__init__.py +62 -0
- omnibase_infra/nodes/node_registration_orchestrator/handlers/handler_node_heartbeat.py +376 -0
- omnibase_infra/nodes/node_registration_orchestrator/handlers/handler_node_introspected.py +694 -0
- omnibase_infra/nodes/node_registration_orchestrator/handlers/handler_node_registration_acked.py +458 -0
- omnibase_infra/nodes/node_registration_orchestrator/handlers/handler_runtime_tick.py +364 -0
- omnibase_infra/nodes/node_registration_orchestrator/introspection_event_router.py +544 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/__init__.py +75 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_consul_intent_payload.py +194 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_consul_registration_intent.py +67 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_intent_execution_result.py +50 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_node_liveness_expired.py +107 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_orchestrator_config.py +67 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_orchestrator_input.py +41 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_orchestrator_output.py +166 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_postgres_intent_payload.py +235 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_postgres_upsert_intent.py +68 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_reducer_execution_result.py +384 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_reducer_state.py +60 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_registration_intent.py +177 -0
- omnibase_infra/nodes/node_registration_orchestrator/models/model_registry_intent.py +247 -0
- omnibase_infra/nodes/node_registration_orchestrator/node.py +195 -0
- omnibase_infra/nodes/node_registration_orchestrator/plugin.py +909 -0
- omnibase_infra/nodes/node_registration_orchestrator/protocols.py +439 -0
- omnibase_infra/nodes/node_registration_orchestrator/registry/__init__.py +41 -0
- omnibase_infra/nodes/node_registration_orchestrator/registry/registry_infra_node_registration_orchestrator.py +528 -0
- omnibase_infra/nodes/node_registration_orchestrator/timeout_coordinator.py +393 -0
- omnibase_infra/nodes/node_registration_orchestrator/wiring.py +743 -0
- omnibase_infra/nodes/node_registration_reducer/__init__.py +15 -0
- omnibase_infra/nodes/node_registration_reducer/contract.yaml +301 -0
- omnibase_infra/nodes/node_registration_reducer/models/__init__.py +38 -0
- omnibase_infra/nodes/node_registration_reducer/models/model_validation_result.py +113 -0
- omnibase_infra/nodes/node_registration_reducer/node.py +139 -0
- omnibase_infra/nodes/node_registration_reducer/registry/__init__.py +9 -0
- omnibase_infra/nodes/node_registration_reducer/registry/registry_infra_node_registration_reducer.py +79 -0
- omnibase_infra/nodes/node_registration_storage_effect/__init__.py +41 -0
- omnibase_infra/nodes/node_registration_storage_effect/contract.yaml +220 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/__init__.py +44 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_delete_result.py +132 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_registration_record.py +199 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_registration_update.py +155 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_storage_health_check_details.py +123 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_storage_health_check_result.py +117 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_storage_query.py +100 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_storage_result.py +136 -0
- omnibase_infra/nodes/node_registration_storage_effect/models/model_upsert_result.py +127 -0
- omnibase_infra/nodes/node_registration_storage_effect/node.py +112 -0
- omnibase_infra/nodes/node_registration_storage_effect/protocols/__init__.py +22 -0
- omnibase_infra/nodes/node_registration_storage_effect/protocols/protocol_registration_persistence.py +333 -0
- omnibase_infra/nodes/node_registration_storage_effect/registry/__init__.py +23 -0
- omnibase_infra/nodes/node_registration_storage_effect/registry/registry_infra_registration_storage.py +215 -0
- omnibase_infra/nodes/node_registry_effect/__init__.py +85 -0
- omnibase_infra/nodes/node_registry_effect/contract.yaml +677 -0
- omnibase_infra/nodes/node_registry_effect/handlers/__init__.py +70 -0
- omnibase_infra/nodes/node_registry_effect/handlers/handler_consul_deregister.py +211 -0
- omnibase_infra/nodes/node_registry_effect/handlers/handler_consul_register.py +212 -0
- omnibase_infra/nodes/node_registry_effect/handlers/handler_partial_retry.py +417 -0
- omnibase_infra/nodes/node_registry_effect/handlers/handler_postgres_deactivate.py +215 -0
- omnibase_infra/nodes/node_registry_effect/handlers/handler_postgres_upsert.py +208 -0
- omnibase_infra/nodes/node_registry_effect/models/__init__.py +43 -0
- omnibase_infra/nodes/node_registry_effect/models/model_partial_retry_request.py +92 -0
- omnibase_infra/nodes/node_registry_effect/node.py +165 -0
- omnibase_infra/nodes/node_registry_effect/registry/__init__.py +27 -0
- omnibase_infra/nodes/node_registry_effect/registry/registry_infra_registry_effect.py +196 -0
- omnibase_infra/nodes/node_service_discovery_effect/__init__.py +111 -0
- omnibase_infra/nodes/node_service_discovery_effect/contract.yaml +246 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/__init__.py +67 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/enum_health_status.py +72 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/enum_service_discovery_operation.py +58 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_discovery_query.py +99 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_discovery_result.py +98 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_health_check_config.py +121 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_query_metadata.py +63 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_registration_result.py +130 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_service_discovery_health_check_details.py +111 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_service_discovery_health_check_result.py +119 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_service_info.py +106 -0
- omnibase_infra/nodes/node_service_discovery_effect/models/model_service_registration.py +121 -0
- omnibase_infra/nodes/node_service_discovery_effect/node.py +111 -0
- omnibase_infra/nodes/node_service_discovery_effect/protocols/__init__.py +14 -0
- omnibase_infra/nodes/node_service_discovery_effect/protocols/protocol_discovery_operations.py +279 -0
- omnibase_infra/nodes/node_service_discovery_effect/registry/__init__.py +13 -0
- omnibase_infra/nodes/node_service_discovery_effect/registry/registry_infra_service_discovery.py +222 -0
- omnibase_infra/nodes/reducers/__init__.py +30 -0
- omnibase_infra/nodes/reducers/models/__init__.py +37 -0
- omnibase_infra/nodes/reducers/models/model_payload_consul_register.py +87 -0
- omnibase_infra/nodes/reducers/models/model_payload_ledger_append.py +133 -0
- omnibase_infra/nodes/reducers/models/model_payload_postgres_upsert_registration.py +60 -0
- omnibase_infra/nodes/reducers/models/model_registration_confirmation.py +166 -0
- omnibase_infra/nodes/reducers/models/model_registration_state.py +433 -0
- omnibase_infra/nodes/reducers/registration_reducer.py +1138 -0
- omnibase_infra/observability/__init__.py +143 -0
- omnibase_infra/observability/constants_metrics.py +91 -0
- omnibase_infra/observability/factory_observability_sink.py +525 -0
- omnibase_infra/observability/handlers/__init__.py +118 -0
- omnibase_infra/observability/handlers/handler_logging_structured.py +967 -0
- omnibase_infra/observability/handlers/handler_metrics_prometheus.py +1120 -0
- omnibase_infra/observability/handlers/model_logging_handler_config.py +71 -0
- omnibase_infra/observability/handlers/model_logging_handler_response.py +77 -0
- omnibase_infra/observability/handlers/model_metrics_handler_config.py +172 -0
- omnibase_infra/observability/handlers/model_metrics_handler_payload.py +135 -0
- omnibase_infra/observability/handlers/model_metrics_handler_response.py +101 -0
- omnibase_infra/observability/hooks/__init__.py +74 -0
- omnibase_infra/observability/hooks/hook_observability.py +1223 -0
- omnibase_infra/observability/models/__init__.py +30 -0
- omnibase_infra/observability/models/enum_required_log_context_key.py +77 -0
- omnibase_infra/observability/models/model_buffered_log_entry.py +117 -0
- omnibase_infra/observability/models/model_logging_sink_config.py +73 -0
- omnibase_infra/observability/models/model_metrics_sink_config.py +156 -0
- omnibase_infra/observability/sinks/__init__.py +69 -0
- omnibase_infra/observability/sinks/sink_logging_structured.py +809 -0
- omnibase_infra/observability/sinks/sink_metrics_prometheus.py +710 -0
- omnibase_infra/plugins/__init__.py +27 -0
- omnibase_infra/plugins/examples/__init__.py +28 -0
- omnibase_infra/plugins/examples/plugin_json_normalizer.py +271 -0
- omnibase_infra/plugins/examples/plugin_json_normalizer_error_handling.py +210 -0
- omnibase_infra/plugins/models/__init__.py +21 -0
- omnibase_infra/plugins/models/model_plugin_context.py +76 -0
- omnibase_infra/plugins/models/model_plugin_input_data.py +58 -0
- omnibase_infra/plugins/models/model_plugin_output_data.py +62 -0
- omnibase_infra/plugins/plugin_compute_base.py +449 -0
- omnibase_infra/projectors/__init__.py +30 -0
- omnibase_infra/projectors/contracts/__init__.py +63 -0
- omnibase_infra/projectors/contracts/registration_projector.yaml +370 -0
- omnibase_infra/projectors/projection_reader_registration.py +1559 -0
- omnibase_infra/projectors/snapshot_publisher_registration.py +1329 -0
- omnibase_infra/protocols/__init__.py +104 -0
- omnibase_infra/protocols/protocol_capability_projection.py +253 -0
- omnibase_infra/protocols/protocol_capability_query.py +251 -0
- omnibase_infra/protocols/protocol_container_aware.py +200 -0
- omnibase_infra/protocols/protocol_dispatch_engine.py +152 -0
- omnibase_infra/protocols/protocol_event_bus_like.py +127 -0
- omnibase_infra/protocols/protocol_event_projector.py +96 -0
- omnibase_infra/protocols/protocol_idempotency_store.py +142 -0
- omnibase_infra/protocols/protocol_message_dispatcher.py +247 -0
- omnibase_infra/protocols/protocol_message_type_registry.py +306 -0
- omnibase_infra/protocols/protocol_plugin_compute.py +368 -0
- omnibase_infra/protocols/protocol_projector_schema_validator.py +82 -0
- omnibase_infra/protocols/protocol_registry_metrics.py +215 -0
- omnibase_infra/protocols/protocol_snapshot_publisher.py +396 -0
- omnibase_infra/protocols/protocol_snapshot_store.py +567 -0
- omnibase_infra/runtime/__init__.py +445 -0
- omnibase_infra/runtime/binding_config_resolver.py +2771 -0
- omnibase_infra/runtime/binding_resolver.py +753 -0
- omnibase_infra/runtime/chain_aware_dispatch.py +467 -0
- omnibase_infra/runtime/constants_notification.py +75 -0
- omnibase_infra/runtime/constants_security.py +70 -0
- omnibase_infra/runtime/contract_handler_discovery.py +587 -0
- omnibase_infra/runtime/contract_loaders/__init__.py +51 -0
- omnibase_infra/runtime/contract_loaders/handler_routing_loader.py +464 -0
- omnibase_infra/runtime/contract_loaders/operation_bindings_loader.py +789 -0
- omnibase_infra/runtime/dispatch_context_enforcer.py +427 -0
- omnibase_infra/runtime/emit_daemon/__init__.py +97 -0
- omnibase_infra/runtime/emit_daemon/cli.py +844 -0
- omnibase_infra/runtime/emit_daemon/client.py +811 -0
- omnibase_infra/runtime/emit_daemon/config.py +535 -0
- omnibase_infra/runtime/emit_daemon/daemon.py +812 -0
- omnibase_infra/runtime/emit_daemon/event_registry.py +477 -0
- omnibase_infra/runtime/emit_daemon/model_daemon_request.py +139 -0
- omnibase_infra/runtime/emit_daemon/model_daemon_response.py +191 -0
- omnibase_infra/runtime/emit_daemon/queue.py +618 -0
- omnibase_infra/runtime/enums/__init__.py +18 -0
- omnibase_infra/runtime/enums/enum_config_ref_scheme.py +33 -0
- omnibase_infra/runtime/enums/enum_scheduler_status.py +170 -0
- omnibase_infra/runtime/envelope_validator.py +179 -0
- omnibase_infra/runtime/event_bus_subcontract_wiring.py +466 -0
- omnibase_infra/runtime/handler_bootstrap_source.py +507 -0
- omnibase_infra/runtime/handler_contract_config_loader.py +603 -0
- omnibase_infra/runtime/handler_contract_source.py +750 -0
- omnibase_infra/runtime/handler_identity.py +81 -0
- omnibase_infra/runtime/handler_plugin_loader.py +2046 -0
- omnibase_infra/runtime/handler_registry.py +329 -0
- omnibase_infra/runtime/handler_source_resolver.py +367 -0
- omnibase_infra/runtime/invocation_security_enforcer.py +427 -0
- omnibase_infra/runtime/kafka_contract_source.py +984 -0
- omnibase_infra/runtime/kernel.py +40 -0
- omnibase_infra/runtime/mixin_policy_validation.py +522 -0
- omnibase_infra/runtime/mixin_semver_cache.py +402 -0
- omnibase_infra/runtime/mixins/__init__.py +24 -0
- omnibase_infra/runtime/mixins/mixin_projector_notification_publishing.py +566 -0
- omnibase_infra/runtime/mixins/mixin_projector_sql_operations.py +778 -0
- omnibase_infra/runtime/models/__init__.py +229 -0
- omnibase_infra/runtime/models/model_batch_lifecycle_result.py +217 -0
- omnibase_infra/runtime/models/model_binding_config.py +168 -0
- omnibase_infra/runtime/models/model_binding_config_cache_stats.py +135 -0
- omnibase_infra/runtime/models/model_binding_config_resolver_config.py +329 -0
- omnibase_infra/runtime/models/model_cached_secret.py +138 -0
- omnibase_infra/runtime/models/model_compute_key.py +138 -0
- omnibase_infra/runtime/models/model_compute_registration.py +97 -0
- omnibase_infra/runtime/models/model_config_cache_entry.py +61 -0
- omnibase_infra/runtime/models/model_config_ref.py +331 -0
- omnibase_infra/runtime/models/model_config_ref_parse_result.py +125 -0
- omnibase_infra/runtime/models/model_contract_load_result.py +224 -0
- omnibase_infra/runtime/models/model_domain_plugin_config.py +92 -0
- omnibase_infra/runtime/models/model_domain_plugin_result.py +270 -0
- omnibase_infra/runtime/models/model_duplicate_response.py +54 -0
- omnibase_infra/runtime/models/model_enabled_protocols_config.py +61 -0
- omnibase_infra/runtime/models/model_event_bus_config.py +54 -0
- omnibase_infra/runtime/models/model_failed_component.py +55 -0
- omnibase_infra/runtime/models/model_health_check_response.py +168 -0
- omnibase_infra/runtime/models/model_health_check_result.py +229 -0
- omnibase_infra/runtime/models/model_lifecycle_result.py +245 -0
- omnibase_infra/runtime/models/model_logging_config.py +42 -0
- omnibase_infra/runtime/models/model_optional_correlation_id.py +167 -0
- omnibase_infra/runtime/models/model_optional_string.py +94 -0
- omnibase_infra/runtime/models/model_optional_uuid.py +110 -0
- omnibase_infra/runtime/models/model_policy_context.py +100 -0
- omnibase_infra/runtime/models/model_policy_key.py +138 -0
- omnibase_infra/runtime/models/model_policy_registration.py +139 -0
- omnibase_infra/runtime/models/model_policy_result.py +103 -0
- omnibase_infra/runtime/models/model_policy_type_filter.py +157 -0
- omnibase_infra/runtime/models/model_projector_notification_config.py +171 -0
- omnibase_infra/runtime/models/model_projector_plugin_loader_config.py +47 -0
- omnibase_infra/runtime/models/model_protocol_registration_config.py +65 -0
- omnibase_infra/runtime/models/model_retry_policy.py +105 -0
- omnibase_infra/runtime/models/model_runtime_config.py +150 -0
- omnibase_infra/runtime/models/model_runtime_contract_config.py +268 -0
- omnibase_infra/runtime/models/model_runtime_scheduler_config.py +625 -0
- omnibase_infra/runtime/models/model_runtime_scheduler_metrics.py +233 -0
- omnibase_infra/runtime/models/model_runtime_tick.py +193 -0
- omnibase_infra/runtime/models/model_secret_cache_stats.py +82 -0
- omnibase_infra/runtime/models/model_secret_mapping.py +63 -0
- omnibase_infra/runtime/models/model_secret_resolver_config.py +107 -0
- omnibase_infra/runtime/models/model_secret_resolver_metrics.py +111 -0
- omnibase_infra/runtime/models/model_secret_source_info.py +72 -0
- omnibase_infra/runtime/models/model_secret_source_spec.py +66 -0
- omnibase_infra/runtime/models/model_security_config.py +109 -0
- omnibase_infra/runtime/models/model_shutdown_batch_result.py +75 -0
- omnibase_infra/runtime/models/model_shutdown_config.py +94 -0
- omnibase_infra/runtime/models/model_transition_notification_outbox_config.py +112 -0
- omnibase_infra/runtime/models/model_transition_notification_outbox_metrics.py +140 -0
- omnibase_infra/runtime/models/model_transition_notification_publisher_metrics.py +357 -0
- omnibase_infra/runtime/projector_plugin_loader.py +1462 -0
- omnibase_infra/runtime/projector_schema_manager.py +565 -0
- omnibase_infra/runtime/projector_shell.py +1330 -0
- omnibase_infra/runtime/protocol_contract_descriptor.py +92 -0
- omnibase_infra/runtime/protocol_contract_source.py +92 -0
- omnibase_infra/runtime/protocol_domain_plugin.py +474 -0
- omnibase_infra/runtime/protocol_handler_discovery.py +221 -0
- omnibase_infra/runtime/protocol_handler_plugin_loader.py +327 -0
- omnibase_infra/runtime/protocol_lifecycle_executor.py +435 -0
- omnibase_infra/runtime/protocol_policy.py +366 -0
- omnibase_infra/runtime/protocols/__init__.py +37 -0
- omnibase_infra/runtime/protocols/protocol_runtime_scheduler.py +468 -0
- omnibase_infra/runtime/publisher_topic_scoped.py +294 -0
- omnibase_infra/runtime/registry/__init__.py +93 -0
- omnibase_infra/runtime/registry/mixin_message_type_query.py +326 -0
- omnibase_infra/runtime/registry/mixin_message_type_registration.py +354 -0
- omnibase_infra/runtime/registry/registry_event_bus_binding.py +268 -0
- omnibase_infra/runtime/registry/registry_message_type.py +542 -0
- omnibase_infra/runtime/registry/registry_protocol_binding.py +445 -0
- omnibase_infra/runtime/registry_compute.py +1143 -0
- omnibase_infra/runtime/registry_contract_source.py +693 -0
- omnibase_infra/runtime/registry_dispatcher.py +678 -0
- omnibase_infra/runtime/registry_policy.py +1185 -0
- omnibase_infra/runtime/runtime_contract_config_loader.py +406 -0
- omnibase_infra/runtime/runtime_scheduler.py +1070 -0
- omnibase_infra/runtime/secret_resolver.py +2112 -0
- omnibase_infra/runtime/security_metadata_validator.py +776 -0
- omnibase_infra/runtime/service_kernel.py +1651 -0
- omnibase_infra/runtime/service_message_dispatch_engine.py +2350 -0
- omnibase_infra/runtime/service_runtime_host_process.py +3493 -0
- omnibase_infra/runtime/transition_notification_outbox.py +1190 -0
- omnibase_infra/runtime/transition_notification_publisher.py +765 -0
- omnibase_infra/runtime/util_container_wiring.py +1124 -0
- omnibase_infra/runtime/util_validation.py +314 -0
- omnibase_infra/runtime/util_version.py +98 -0
- omnibase_infra/runtime/util_wiring.py +723 -0
- omnibase_infra/schemas/schema_registration_projection.sql +320 -0
- omnibase_infra/schemas/schema_transition_notification_outbox.sql +245 -0
- omnibase_infra/services/__init__.py +89 -0
- omnibase_infra/services/corpus_capture.py +684 -0
- omnibase_infra/services/mcp/__init__.py +31 -0
- omnibase_infra/services/mcp/mcp_server_lifecycle.py +449 -0
- omnibase_infra/services/mcp/service_mcp_tool_discovery.py +411 -0
- omnibase_infra/services/mcp/service_mcp_tool_registry.py +329 -0
- omnibase_infra/services/mcp/service_mcp_tool_sync.py +565 -0
- omnibase_infra/services/registry_api/__init__.py +40 -0
- omnibase_infra/services/registry_api/main.py +261 -0
- omnibase_infra/services/registry_api/models/__init__.py +66 -0
- omnibase_infra/services/registry_api/models/model_capability_widget_mapping.py +38 -0
- omnibase_infra/services/registry_api/models/model_pagination_info.py +48 -0
- omnibase_infra/services/registry_api/models/model_registry_discovery_response.py +73 -0
- omnibase_infra/services/registry_api/models/model_registry_health_response.py +49 -0
- omnibase_infra/services/registry_api/models/model_registry_instance_view.py +88 -0
- omnibase_infra/services/registry_api/models/model_registry_node_view.py +88 -0
- omnibase_infra/services/registry_api/models/model_registry_summary.py +60 -0
- omnibase_infra/services/registry_api/models/model_response_list_instances.py +43 -0
- omnibase_infra/services/registry_api/models/model_response_list_nodes.py +51 -0
- omnibase_infra/services/registry_api/models/model_warning.py +49 -0
- omnibase_infra/services/registry_api/models/model_widget_defaults.py +28 -0
- omnibase_infra/services/registry_api/models/model_widget_mapping.py +51 -0
- omnibase_infra/services/registry_api/routes.py +371 -0
- omnibase_infra/services/registry_api/service.py +837 -0
- omnibase_infra/services/service_capability_query.py +945 -0
- omnibase_infra/services/service_health.py +898 -0
- omnibase_infra/services/service_node_selector.py +530 -0
- omnibase_infra/services/service_timeout_emitter.py +699 -0
- omnibase_infra/services/service_timeout_scanner.py +394 -0
- omnibase_infra/services/session/__init__.py +56 -0
- omnibase_infra/services/session/config_consumer.py +137 -0
- omnibase_infra/services/session/config_store.py +139 -0
- omnibase_infra/services/session/consumer.py +1007 -0
- omnibase_infra/services/session/protocol_session_aggregator.py +117 -0
- omnibase_infra/services/session/store.py +997 -0
- omnibase_infra/services/snapshot/__init__.py +31 -0
- omnibase_infra/services/snapshot/service_snapshot.py +647 -0
- omnibase_infra/services/snapshot/store_inmemory.py +637 -0
- omnibase_infra/services/snapshot/store_postgres.py +1279 -0
- omnibase_infra/shared/__init__.py +8 -0
- omnibase_infra/testing/__init__.py +10 -0
- omnibase_infra/testing/utils.py +23 -0
- omnibase_infra/topics/__init__.py +45 -0
- omnibase_infra/topics/platform_topic_suffixes.py +140 -0
- omnibase_infra/topics/util_topic_composition.py +95 -0
- omnibase_infra/types/__init__.py +48 -0
- omnibase_infra/types/type_cache_info.py +49 -0
- omnibase_infra/types/type_dsn.py +173 -0
- omnibase_infra/types/type_infra_aliases.py +60 -0
- omnibase_infra/types/typed_dict/__init__.py +29 -0
- omnibase_infra/types/typed_dict/typed_dict_envelope_build_params.py +115 -0
- omnibase_infra/types/typed_dict/typed_dict_introspection_cache.py +128 -0
- omnibase_infra/types/typed_dict/typed_dict_performance_metrics_cache.py +140 -0
- omnibase_infra/types/typed_dict_capabilities.py +64 -0
- omnibase_infra/utils/__init__.py +117 -0
- omnibase_infra/utils/correlation.py +208 -0
- omnibase_infra/utils/util_atomic_file.py +261 -0
- omnibase_infra/utils/util_consumer_group.py +232 -0
- omnibase_infra/utils/util_datetime.py +372 -0
- omnibase_infra/utils/util_db_transaction.py +239 -0
- omnibase_infra/utils/util_dsn_validation.py +333 -0
- omnibase_infra/utils/util_env_parsing.py +264 -0
- omnibase_infra/utils/util_error_sanitization.py +457 -0
- omnibase_infra/utils/util_pydantic_validators.py +477 -0
- omnibase_infra/utils/util_retry_optimistic.py +281 -0
- omnibase_infra/utils/util_semver.py +233 -0
- omnibase_infra/validation/__init__.py +307 -0
- omnibase_infra/validation/contracts/security.validation.yaml +114 -0
- omnibase_infra/validation/enums/__init__.py +11 -0
- omnibase_infra/validation/enums/enum_contract_violation_severity.py +13 -0
- omnibase_infra/validation/infra_validators.py +1514 -0
- omnibase_infra/validation/linter_contract.py +907 -0
- omnibase_infra/validation/mixin_any_type_classification.py +120 -0
- omnibase_infra/validation/mixin_any_type_exemption.py +580 -0
- omnibase_infra/validation/mixin_any_type_reporting.py +106 -0
- omnibase_infra/validation/mixin_execution_shape_violation_checks.py +596 -0
- omnibase_infra/validation/mixin_node_archetype_detection.py +254 -0
- omnibase_infra/validation/models/__init__.py +15 -0
- omnibase_infra/validation/models/model_contract_lint_result.py +101 -0
- omnibase_infra/validation/models/model_contract_violation.py +41 -0
- omnibase_infra/validation/service_validation_aggregator.py +395 -0
- omnibase_infra/validation/validation_exemptions.yaml +2033 -0
- omnibase_infra/validation/validator_any_type.py +715 -0
- omnibase_infra/validation/validator_chain_propagation.py +839 -0
- omnibase_infra/validation/validator_execution_shape.py +465 -0
- omnibase_infra/validation/validator_localhandler.py +261 -0
- omnibase_infra/validation/validator_registration_security.py +410 -0
- omnibase_infra/validation/validator_routing_coverage.py +1020 -0
- omnibase_infra/validation/validator_runtime_shape.py +915 -0
- omnibase_infra/validation/validator_security.py +513 -0
- omnibase_infra/validation/validator_topic_category.py +1152 -0
- omnibase_infra-0.2.6.dist-info/METADATA +197 -0
- omnibase_infra-0.2.6.dist-info/RECORD +833 -0
- omnibase_infra-0.2.6.dist-info/WHEEL +4 -0
- omnibase_infra-0.2.6.dist-info/entry_points.txt +5 -0
- omnibase_infra-0.2.6.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""TypedDict definitions for omnibase_infra.
|
|
4
|
+
|
|
5
|
+
This package contains TypedDict definitions that represent JSON-serialized
|
|
6
|
+
forms of Pydantic models, enabling proper type checking for cache operations
|
|
7
|
+
and JSON serialization/deserialization without requiring type: ignore comments.
|
|
8
|
+
|
|
9
|
+
Available TypedDicts:
|
|
10
|
+
- TypedDictEnvelopeBuildParams: Parameters for building ModelEventEnvelope
|
|
11
|
+
- TypedDictIntrospectionCache: JSON-serialized ModelNodeIntrospectionEvent
|
|
12
|
+
- TypedDictPerformanceMetricsCache: JSON-serialized introspection performance metrics
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from omnibase_infra.types.typed_dict.typed_dict_envelope_build_params import (
|
|
16
|
+
TypedDictEnvelopeBuildParams,
|
|
17
|
+
)
|
|
18
|
+
from omnibase_infra.types.typed_dict.typed_dict_introspection_cache import (
|
|
19
|
+
TypedDictIntrospectionCache,
|
|
20
|
+
)
|
|
21
|
+
from omnibase_infra.types.typed_dict.typed_dict_performance_metrics_cache import (
|
|
22
|
+
TypedDictPerformanceMetricsCache,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"TypedDictEnvelopeBuildParams",
|
|
27
|
+
"TypedDictIntrospectionCache",
|
|
28
|
+
"TypedDictPerformanceMetricsCache",
|
|
29
|
+
]
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""TypedDict definition for envelope build parameters.
|
|
4
|
+
|
|
5
|
+
This module provides a TypedDict that represents the parameters passed to the
|
|
6
|
+
_build_envelope method in AdapterProtocolEventPublisherInmemory, replacing the
|
|
7
|
+
loose dict[str, object] typing with proper type safety.
|
|
8
|
+
|
|
9
|
+
The TypedDictEnvelopeBuildParams ensures type-checked access to envelope
|
|
10
|
+
construction parameters without requiring type: ignore comments or unsafe casts.
|
|
11
|
+
|
|
12
|
+
Key Features:
|
|
13
|
+
- Full type annotations for all envelope build parameters
|
|
14
|
+
- Proper handling of nullable fields (correlation_id, causation_id, metadata)
|
|
15
|
+
- Integration with JsonType for payload typing
|
|
16
|
+
- Uses TYPE_CHECKING import for ContextValue to avoid circular imports
|
|
17
|
+
|
|
18
|
+
Usage:
|
|
19
|
+
This TypedDict is primarily used for:
|
|
20
|
+
- Type-safe parameter passing to envelope builder methods
|
|
21
|
+
- Eliminating dict[str, object] loose typing
|
|
22
|
+
- Enabling mypy verification of parameter access
|
|
23
|
+
|
|
24
|
+
Example:
|
|
25
|
+
```python
|
|
26
|
+
from omnibase_infra.types.typed_dict import TypedDictEnvelopeBuildParams
|
|
27
|
+
|
|
28
|
+
def build_envelope(params: TypedDictEnvelopeBuildParams) -> ModelEventEnvelope:
|
|
29
|
+
# Type-safe access to all fields
|
|
30
|
+
event_type = params["event_type"]
|
|
31
|
+
payload = params["payload"]
|
|
32
|
+
correlation_id = params.get("correlation_id")
|
|
33
|
+
return ...
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
See Also:
|
|
37
|
+
- AdapterProtocolEventPublisherInmemory: Primary consumer of this TypedDict
|
|
38
|
+
- ModelEventEnvelope: Target envelope model constructed from these params
|
|
39
|
+
- ProtocolEventPublisher: SPI protocol defining publish interface
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
from __future__ import annotations
|
|
43
|
+
|
|
44
|
+
from typing import TYPE_CHECKING, NotRequired, TypedDict
|
|
45
|
+
|
|
46
|
+
from omnibase_core.types import JsonType
|
|
47
|
+
|
|
48
|
+
if TYPE_CHECKING:
|
|
49
|
+
from omnibase_spi.protocols.types.protocol_core_types import ContextValue
|
|
50
|
+
|
|
51
|
+
__all__ = ["TypedDictEnvelopeBuildParams"]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class TypedDictEnvelopeBuildParams(TypedDict):
|
|
55
|
+
"""TypedDict representing parameters for building a ModelEventEnvelope.
|
|
56
|
+
|
|
57
|
+
This type provides a type-safe alternative to dict[str, object] for passing
|
|
58
|
+
envelope construction parameters. It enables proper type checking when
|
|
59
|
+
building event envelopes in publisher adapters.
|
|
60
|
+
|
|
61
|
+
Required fields (event_type, payload) are enforced by TypedDict's default
|
|
62
|
+
total=True behavior. Optional fields use NotRequired[] to allow omission
|
|
63
|
+
while maintaining type safety.
|
|
64
|
+
|
|
65
|
+
Attributes:
|
|
66
|
+
event_type: Fully-qualified event type identifier
|
|
67
|
+
(e.g., "omninode.user.event.created.v1"). Required field - must
|
|
68
|
+
always be provided when constructing the TypedDict.
|
|
69
|
+
payload: Event payload data as JSON-compatible types. Required field -
|
|
70
|
+
must always be provided. Can be dict, list, str, int, float, bool,
|
|
71
|
+
or None.
|
|
72
|
+
correlation_id: Optional correlation ID for request tracing.
|
|
73
|
+
Used to link related events across service boundaries.
|
|
74
|
+
May be omitted or set to None.
|
|
75
|
+
causation_id: Optional causation ID for event sourcing chains.
|
|
76
|
+
Links this event to the event that caused it.
|
|
77
|
+
May be omitted or set to None.
|
|
78
|
+
metadata: Optional additional context values for the envelope.
|
|
79
|
+
Keys are string identifiers, values are ContextValue protocol
|
|
80
|
+
implementations (e.g., ProtocolContextStringValue).
|
|
81
|
+
May be omitted or set to None.
|
|
82
|
+
|
|
83
|
+
Note:
|
|
84
|
+
The metadata field uses ContextValue from omnibase_spi which is imported
|
|
85
|
+
under TYPE_CHECKING to avoid runtime circular import issues. At runtime,
|
|
86
|
+
the dict values are duck-typed protocol implementations.
|
|
87
|
+
|
|
88
|
+
Example:
|
|
89
|
+
```python
|
|
90
|
+
# Minimal valid TypedDict (only required fields)
|
|
91
|
+
params: TypedDictEnvelopeBuildParams = {
|
|
92
|
+
"event_type": "user.created.v1",
|
|
93
|
+
"payload": {"user_id": "123", "email": "user@example.com"},
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
# Full TypedDict with all fields
|
|
97
|
+
params_full: TypedDictEnvelopeBuildParams = {
|
|
98
|
+
"event_type": "user.created.v1",
|
|
99
|
+
"payload": {"user_id": "123", "email": "user@example.com"},
|
|
100
|
+
"correlation_id": "corr-abc-123",
|
|
101
|
+
"causation_id": None,
|
|
102
|
+
"metadata": {"trace_id": trace_value},
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
# Safe field access
|
|
106
|
+
event_type: str = params["event_type"] # Always present
|
|
107
|
+
correlation_id: str | None = params.get("correlation_id") # May be absent
|
|
108
|
+
```
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
event_type: str
|
|
112
|
+
payload: JsonType
|
|
113
|
+
correlation_id: NotRequired[str | None]
|
|
114
|
+
causation_id: NotRequired[str | None]
|
|
115
|
+
metadata: NotRequired[dict[str, ContextValue] | None]
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""TypedDict definition for JSON-serialized introspection cache data.
|
|
4
|
+
|
|
5
|
+
This module provides a TypedDict that represents the JSON-serialized form of
|
|
6
|
+
ModelNodeIntrospectionEvent, enabling proper type checking for cache operations
|
|
7
|
+
without requiring type: ignore comments.
|
|
8
|
+
|
|
9
|
+
The TypedDictIntrospectionCache matches the output of
|
|
10
|
+
ModelNodeIntrospectionEvent.model_dump(mode="json"), providing a typed interface
|
|
11
|
+
for working with cached introspection data.
|
|
12
|
+
|
|
13
|
+
Key Features:
|
|
14
|
+
- Full type annotations for all introspection event fields
|
|
15
|
+
- Proper handling of serialized datetime (ISO string format)
|
|
16
|
+
- Proper handling of serialized UUID (string format)
|
|
17
|
+
- Integration with TypedDictCapabilities for nested capabilities structure
|
|
18
|
+
- Integration with TypedDictPerformanceMetricsCache for performance metrics
|
|
19
|
+
|
|
20
|
+
Usage:
|
|
21
|
+
This TypedDict is primarily used for:
|
|
22
|
+
- Typing cache storage for introspection data
|
|
23
|
+
- Type-safe JSON deserialization of introspection events
|
|
24
|
+
- Avoiding type: ignore comments in cache operations
|
|
25
|
+
|
|
26
|
+
Example:
|
|
27
|
+
```python
|
|
28
|
+
from omnibase_infra.types.typed_dict import TypedDictIntrospectionCache
|
|
29
|
+
|
|
30
|
+
# Cache storage with proper typing
|
|
31
|
+
cache: TypedDictIntrospectionCache | None = None
|
|
32
|
+
|
|
33
|
+
def store_introspection(event: ModelNodeIntrospectionEvent) -> None:
|
|
34
|
+
global cache
|
|
35
|
+
# model_dump(mode="json") returns data matching TypedDictIntrospectionCache
|
|
36
|
+
cache = event.model_dump(mode="json")
|
|
37
|
+
|
|
38
|
+
def get_cached_node_id() -> str | None:
|
|
39
|
+
if cache is not None:
|
|
40
|
+
return cache["node_id"] # Type-safe access
|
|
41
|
+
return None
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
See Also:
|
|
45
|
+
- TypedDictCapabilities: Nested structure for capability information
|
|
46
|
+
- TypedDictPerformanceMetricsCache: Nested structure for performance metrics
|
|
47
|
+
- ModelNodeIntrospectionEvent: Source Pydantic model for introspection events
|
|
48
|
+
- MixinNodeIntrospection: Primary consumer of this TypedDict
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
from __future__ import annotations
|
|
52
|
+
|
|
53
|
+
from typing import TypedDict
|
|
54
|
+
|
|
55
|
+
from omnibase_infra.types.typed_dict.typed_dict_performance_metrics_cache import (
|
|
56
|
+
TypedDictPerformanceMetricsCache,
|
|
57
|
+
)
|
|
58
|
+
from omnibase_infra.types.typed_dict_capabilities import TypedDictCapabilities
|
|
59
|
+
|
|
60
|
+
__all__ = ["TypedDictIntrospectionCache"]
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class TypedDictIntrospectionCache(TypedDict):
|
|
64
|
+
"""TypedDict representing the JSON-serialized ModelNodeIntrospectionEvent.
|
|
65
|
+
|
|
66
|
+
This type matches the output of ModelNodeIntrospectionEvent.model_dump(mode="json"),
|
|
67
|
+
enabling proper type checking for cache operations without requiring type: ignore
|
|
68
|
+
comments.
|
|
69
|
+
|
|
70
|
+
The TypedDict provides a typed interface for working with introspection cache data,
|
|
71
|
+
ensuring type safety when accessing fields from cached introspection events.
|
|
72
|
+
|
|
73
|
+
Attributes:
|
|
74
|
+
node_id: Unique identifier for the node (UUID serialized to string).
|
|
75
|
+
node_type: The type classification of the node (e.g., "EFFECT", "COMPUTE").
|
|
76
|
+
capabilities: Nested structure containing node capabilities information.
|
|
77
|
+
Uses TypedDictCapabilities which includes operations, protocols,
|
|
78
|
+
has_fsm flag, and method_signatures.
|
|
79
|
+
endpoints: Dictionary mapping endpoint names to their URLs.
|
|
80
|
+
Common keys include "health", "api", and "metrics".
|
|
81
|
+
current_state: Current FSM state if applicable, None otherwise.
|
|
82
|
+
Represents the node's finite state machine state.
|
|
83
|
+
version: Semantic version string of the node.
|
|
84
|
+
reason: The reason for the introspection event (e.g., "startup", "shutdown",
|
|
85
|
+
"heartbeat", "request").
|
|
86
|
+
correlation_id: Optional correlation ID for request tracing.
|
|
87
|
+
UUID serializes to string in JSON mode, may be None.
|
|
88
|
+
timestamp: ISO 8601 formatted datetime string indicating when the
|
|
89
|
+
introspection event was created.
|
|
90
|
+
performance_metrics: Optional performance metrics from the introspection
|
|
91
|
+
operation. Contains timing information for capability discovery,
|
|
92
|
+
endpoint gathering, and state retrieval. May be None if metrics
|
|
93
|
+
were not captured.
|
|
94
|
+
|
|
95
|
+
Note:
|
|
96
|
+
The capabilities field uses TypedDictCapabilities for type safety.
|
|
97
|
+
When serialized to JSON, the structure is:
|
|
98
|
+
- operations (list[str]): Discovered operation method names
|
|
99
|
+
- protocols (list[str]): Implemented protocol names
|
|
100
|
+
- has_fsm (bool): Whether the node has FSM capabilities
|
|
101
|
+
- method_signatures (dict[str, str]): Method name to signature mapping
|
|
102
|
+
|
|
103
|
+
Example:
|
|
104
|
+
```python
|
|
105
|
+
# Type-safe cache access
|
|
106
|
+
cache: TypedDictIntrospectionCache = event.model_dump(mode="json")
|
|
107
|
+
|
|
108
|
+
# All field access is type-checked
|
|
109
|
+
node_id: str = cache["node_id"]
|
|
110
|
+
capabilities: TypedDictCapabilities = cache["capabilities"]
|
|
111
|
+
operations: list[str] = capabilities["operations"]
|
|
112
|
+
|
|
113
|
+
# Nullable fields properly typed
|
|
114
|
+
state: str | None = cache["current_state"]
|
|
115
|
+
metrics: TypedDictPerformanceMetricsCache | None = cache["performance_metrics"]
|
|
116
|
+
```
|
|
117
|
+
"""
|
|
118
|
+
|
|
119
|
+
node_id: str
|
|
120
|
+
node_type: str
|
|
121
|
+
capabilities: TypedDictCapabilities
|
|
122
|
+
endpoints: dict[str, str]
|
|
123
|
+
current_state: str | None
|
|
124
|
+
version: str
|
|
125
|
+
reason: str
|
|
126
|
+
correlation_id: str | None # UUID serializes to string in JSON mode
|
|
127
|
+
timestamp: str # datetime serializes to ISO string in JSON mode
|
|
128
|
+
performance_metrics: TypedDictPerformanceMetricsCache | None
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Copyright 2025 OmniNode Team. All rights reserved.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
"""TypedDict for JSON-serialized performance metrics cache.
|
|
4
|
+
|
|
5
|
+
This module provides a TypedDict that matches the JSON output of
|
|
6
|
+
ModelIntrospectionPerformanceMetrics.model_dump(mode="json"), enabling
|
|
7
|
+
proper type checking for cached performance metrics without runtime
|
|
8
|
+
validation overhead.
|
|
9
|
+
|
|
10
|
+
The TypedDict is used for:
|
|
11
|
+
- Type-safe cache operations for performance metrics
|
|
12
|
+
- Avoiding type: ignore comments when working with serialized metrics
|
|
13
|
+
- Static type checking of JSON-structured performance data
|
|
14
|
+
- Documentation of the expected cache entry shape
|
|
15
|
+
|
|
16
|
+
Related Models:
|
|
17
|
+
- ModelIntrospectionPerformanceMetrics: The Pydantic source model
|
|
18
|
+
- MixinNodeIntrospection: Uses this for caching introspection metrics
|
|
19
|
+
|
|
20
|
+
Example:
|
|
21
|
+
```python
|
|
22
|
+
from omnibase_infra.types.typed_dict import TypedDictPerformanceMetricsCache
|
|
23
|
+
|
|
24
|
+
def get_cached_metrics() -> TypedDictPerformanceMetricsCache | None:
|
|
25
|
+
cache_entry = cache.get("metrics")
|
|
26
|
+
if cache_entry is not None:
|
|
27
|
+
# Type checker knows the shape without runtime validation
|
|
28
|
+
return cache_entry
|
|
29
|
+
return None
|
|
30
|
+
|
|
31
|
+
metrics = get_cached_metrics()
|
|
32
|
+
if metrics:
|
|
33
|
+
print(f"Total time: {metrics['total_introspection_ms']}ms")
|
|
34
|
+
if metrics.get('threshold_exceeded'):
|
|
35
|
+
print(f"Slow ops: {metrics.get('slow_operations', [])}")
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Note:
|
|
39
|
+
This TypedDict uses `total=True` (default) because the source Pydantic
|
|
40
|
+
model `ModelIntrospectionPerformanceMetrics` has defaults for all fields,
|
|
41
|
+
ensuring that `model_dump(mode="json")` always produces complete JSON
|
|
42
|
+
with all fields present. Type checkers will require all fields when
|
|
43
|
+
constructing dict literals, which matches the actual runtime behavior.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
from typing import TypedDict
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class TypedDictPerformanceMetricsCache(TypedDict):
|
|
50
|
+
"""TypedDict for JSON-serialized ModelIntrospectionPerformanceMetrics.
|
|
51
|
+
|
|
52
|
+
This type matches the output of ModelIntrospectionPerformanceMetrics.model_dump(mode="json"),
|
|
53
|
+
enabling proper type checking for cached performance metrics.
|
|
54
|
+
|
|
55
|
+
All fields are required (total=True, the default) because the source Pydantic
|
|
56
|
+
model has defaults for all fields, ensuring model_dump() always produces
|
|
57
|
+
complete JSON output with all fields present.
|
|
58
|
+
|
|
59
|
+
Attributes:
|
|
60
|
+
get_capabilities_ms: Time taken by get_capabilities() in milliseconds.
|
|
61
|
+
Threshold: <50ms for acceptable performance.
|
|
62
|
+
discover_capabilities_ms: Time taken by _discover_capabilities() in milliseconds.
|
|
63
|
+
Threshold: <30ms for acceptable performance.
|
|
64
|
+
get_endpoints_ms: Time taken by get_endpoints() in milliseconds.
|
|
65
|
+
This operation is typically fast (<1ms) as it returns static data.
|
|
66
|
+
get_current_state_ms: Time taken by get_current_state() in milliseconds.
|
|
67
|
+
This operation is typically fast (<1ms) for simple state retrieval.
|
|
68
|
+
total_introspection_ms: Total time for get_introspection_data() in milliseconds.
|
|
69
|
+
Threshold: <50ms for acceptable performance.
|
|
70
|
+
cache_hit: Whether the result was served from cache.
|
|
71
|
+
Cache hits should complete in <1ms.
|
|
72
|
+
method_count: Number of methods discovered during reflection.
|
|
73
|
+
Higher counts may correlate with longer discover_capabilities_ms times.
|
|
74
|
+
threshold_exceeded: Whether any operation exceeded performance thresholds.
|
|
75
|
+
True indicates potential performance degradation.
|
|
76
|
+
slow_operations: List of operation names that exceeded their thresholds.
|
|
77
|
+
Possible values: 'get_capabilities', 'discover_capabilities',
|
|
78
|
+
'total_introspection', 'cache_hit'.
|
|
79
|
+
captured_at: UTC timestamp when metrics were captured (ISO 8601 string).
|
|
80
|
+
Datetime serializes to ISO string format in JSON mode.
|
|
81
|
+
|
|
82
|
+
Example:
|
|
83
|
+
```python
|
|
84
|
+
from omnibase_infra.types.typed_dict import TypedDictPerformanceMetricsCache
|
|
85
|
+
|
|
86
|
+
# Type-safe cache dictionary
|
|
87
|
+
cache: dict[str, TypedDictPerformanceMetricsCache] = {}
|
|
88
|
+
|
|
89
|
+
# Store metrics
|
|
90
|
+
cache["node-123"] = {
|
|
91
|
+
"get_capabilities_ms": 12.5,
|
|
92
|
+
"discover_capabilities_ms": 8.2,
|
|
93
|
+
"get_endpoints_ms": 0.5,
|
|
94
|
+
"get_current_state_ms": 0.1,
|
|
95
|
+
"total_introspection_ms": 21.3,
|
|
96
|
+
"cache_hit": False,
|
|
97
|
+
"method_count": 15,
|
|
98
|
+
"threshold_exceeded": False,
|
|
99
|
+
"slow_operations": [],
|
|
100
|
+
"captured_at": "2025-01-15T10:30:00Z",
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
# Retrieve with full type safety
|
|
104
|
+
if entry := cache.get("node-123"):
|
|
105
|
+
total_ms = entry.get("total_introspection_ms", 0.0)
|
|
106
|
+
if entry.get("threshold_exceeded"):
|
|
107
|
+
slow_ops = entry.get("slow_operations", [])
|
|
108
|
+
print(f"Performance degradation: {slow_ops}")
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Performance Thresholds:
|
|
112
|
+
The following thresholds are defined as module-level constants in:
|
|
113
|
+
src/omnibase_infra/mixins/mixin_node_introspection.py
|
|
114
|
+
|
|
115
|
+
Constants (SOURCE OF TRUTH - update this docstring if values change):
|
|
116
|
+
- PERF_THRESHOLD_GET_CAPABILITIES_MS: 50.0ms
|
|
117
|
+
- PERF_THRESHOLD_DISCOVER_CAPABILITIES_MS: 30.0ms
|
|
118
|
+
- PERF_THRESHOLD_GET_INTROSPECTION_DATA_MS: 50.0ms
|
|
119
|
+
- PERF_THRESHOLD_CACHE_HIT_MS: 1.0ms
|
|
120
|
+
|
|
121
|
+
Summary:
|
|
122
|
+
- get_capabilities: <50ms
|
|
123
|
+
- discover_capabilities: <30ms
|
|
124
|
+
- total_introspection: <50ms
|
|
125
|
+
- cache_hit: <1ms
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
get_capabilities_ms: float
|
|
129
|
+
discover_capabilities_ms: float
|
|
130
|
+
get_endpoints_ms: float
|
|
131
|
+
get_current_state_ms: float
|
|
132
|
+
total_introspection_ms: float
|
|
133
|
+
cache_hit: bool
|
|
134
|
+
method_count: int
|
|
135
|
+
threshold_exceeded: bool
|
|
136
|
+
slow_operations: list[str]
|
|
137
|
+
captured_at: str # datetime serializes to ISO string in JSON mode
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
__all__ = ["TypedDictPerformanceMetricsCache"]
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""TypedDict for node capability structures discovered via reflection.
|
|
4
|
+
|
|
5
|
+
This module provides a strongly-typed structure for representing node
|
|
6
|
+
capabilities discovered during introspection. Using TypedDict instead of
|
|
7
|
+
generic dict types enables static type checking and IDE support while
|
|
8
|
+
maintaining runtime dict compatibility.
|
|
9
|
+
|
|
10
|
+
The TypedDictCapabilities structure is used by the MixinNodeIntrospection
|
|
11
|
+
mixin to report discovered capabilities in a type-safe manner, eliminating
|
|
12
|
+
the need for permissive `dict[str, object]` or `Any` types.
|
|
13
|
+
|
|
14
|
+
Example:
|
|
15
|
+
>>> from omnibase_infra.types.typed_dict_capabilities import TypedDictCapabilities
|
|
16
|
+
>>> caps: TypedDictCapabilities = {
|
|
17
|
+
... "operations": ["execute", "query"],
|
|
18
|
+
... "protocols": ["ProtocolDatabaseAdapter"],
|
|
19
|
+
... "has_fsm": False,
|
|
20
|
+
... "method_signatures": {"execute": "(query: str) -> list[dict]"},
|
|
21
|
+
... }
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
from typing import TypedDict
|
|
25
|
+
|
|
26
|
+
__all__ = ["TypedDictCapabilities"]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class TypedDictCapabilities(TypedDict, total=True):
|
|
30
|
+
"""Type-safe structure for node capabilities discovered via reflection.
|
|
31
|
+
|
|
32
|
+
This TypedDict provides explicit typing for capability fields, eliminating
|
|
33
|
+
the need for permissive `dict[str, object]` or `Any` types.
|
|
34
|
+
|
|
35
|
+
All fields are required (total=True is explicitly set). The MixinNodeIntrospection
|
|
36
|
+
mixin always constructs complete capability dicts with all fields populated.
|
|
37
|
+
|
|
38
|
+
Attributes:
|
|
39
|
+
operations: List of public method names that may be operations.
|
|
40
|
+
These are methods matching configured operation keywords
|
|
41
|
+
(e.g., execute, handle, process).
|
|
42
|
+
protocols: List of protocol/interface names implemented by the node.
|
|
43
|
+
Discovered from class hierarchy (e.g., ProtocolDatabaseAdapter).
|
|
44
|
+
has_fsm: Boolean indicating if node has FSM state management.
|
|
45
|
+
True if state attributes like _state or current_state are found.
|
|
46
|
+
method_signatures: Dict mapping public method names to their signature
|
|
47
|
+
strings (e.g., {"execute": "(query: str) -> list[dict]"}).
|
|
48
|
+
|
|
49
|
+
Example:
|
|
50
|
+
>>> capabilities: TypedDictCapabilities = {
|
|
51
|
+
... "operations": ["execute", "query", "batch_execute"],
|
|
52
|
+
... "protocols": ["ProtocolDatabaseAdapter", "MixinNodeIntrospection"],
|
|
53
|
+
... "has_fsm": True,
|
|
54
|
+
... "method_signatures": {
|
|
55
|
+
... "execute": "(query: str) -> list[dict]",
|
|
56
|
+
... "query": "(sql: str, params: dict) -> list[dict]",
|
|
57
|
+
... },
|
|
58
|
+
... }
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
operations: list[str]
|
|
62
|
+
protocols: list[str]
|
|
63
|
+
has_fsm: bool
|
|
64
|
+
method_signatures: dict[str, str]
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""Utility modules for ONEX infrastructure.
|
|
4
|
+
|
|
5
|
+
This package provides common utilities used across the infrastructure:
|
|
6
|
+
- correlation: Correlation ID generation and propagation for distributed tracing
|
|
7
|
+
- util_atomic_file: Atomic file write primitives using temp-file-rename pattern
|
|
8
|
+
- util_consumer_group: Kafka consumer group ID generation with deterministic hashing
|
|
9
|
+
- util_datetime: Datetime validation and timezone normalization
|
|
10
|
+
- util_db_transaction: Database transaction context manager for asyncpg
|
|
11
|
+
- util_dsn_validation: PostgreSQL DSN validation and sanitization
|
|
12
|
+
- util_env_parsing: Type-safe environment variable parsing with validation
|
|
13
|
+
- util_error_sanitization: Error message sanitization for secure logging and DLQ
|
|
14
|
+
- util_pydantic_validators: Shared Pydantic field validator utilities
|
|
15
|
+
- util_retry_optimistic: Optimistic locking retry helper with exponential backoff
|
|
16
|
+
- util_semver: Semantic versioning validation utilities
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from omnibase_infra.utils.correlation import (
|
|
20
|
+
CorrelationContext,
|
|
21
|
+
clear_correlation_id,
|
|
22
|
+
generate_correlation_id,
|
|
23
|
+
get_correlation_id,
|
|
24
|
+
set_correlation_id,
|
|
25
|
+
)
|
|
26
|
+
from omnibase_infra.utils.util_atomic_file import (
|
|
27
|
+
write_atomic_bytes,
|
|
28
|
+
write_atomic_bytes_async,
|
|
29
|
+
)
|
|
30
|
+
from omnibase_infra.utils.util_consumer_group import (
|
|
31
|
+
KAFKA_CONSUMER_GROUP_MAX_LENGTH,
|
|
32
|
+
compute_consumer_group_id,
|
|
33
|
+
normalize_kafka_identifier,
|
|
34
|
+
)
|
|
35
|
+
from omnibase_infra.utils.util_datetime import (
|
|
36
|
+
ensure_timezone_aware,
|
|
37
|
+
is_timezone_aware,
|
|
38
|
+
validate_timezone_aware_with_context,
|
|
39
|
+
warn_if_naive_datetime,
|
|
40
|
+
)
|
|
41
|
+
from omnibase_infra.utils.util_db_transaction import (
|
|
42
|
+
transaction_context,
|
|
43
|
+
)
|
|
44
|
+
from omnibase_infra.utils.util_dsn_validation import (
|
|
45
|
+
parse_and_validate_dsn,
|
|
46
|
+
sanitize_dsn,
|
|
47
|
+
)
|
|
48
|
+
from omnibase_infra.utils.util_env_parsing import (
|
|
49
|
+
parse_env_float,
|
|
50
|
+
parse_env_int,
|
|
51
|
+
)
|
|
52
|
+
from omnibase_infra.utils.util_error_sanitization import (
|
|
53
|
+
SAFE_ERROR_PATTERNS,
|
|
54
|
+
SENSITIVE_PATTERNS,
|
|
55
|
+
sanitize_backend_error,
|
|
56
|
+
sanitize_consul_key,
|
|
57
|
+
sanitize_error_message,
|
|
58
|
+
sanitize_error_string,
|
|
59
|
+
sanitize_secret_path,
|
|
60
|
+
)
|
|
61
|
+
from omnibase_infra.utils.util_pydantic_validators import (
|
|
62
|
+
validate_contract_type_value,
|
|
63
|
+
validate_endpoint_urls_dict,
|
|
64
|
+
validate_policy_type_value,
|
|
65
|
+
validate_pool_sizes_constraint,
|
|
66
|
+
validate_timezone_aware_datetime,
|
|
67
|
+
validate_timezone_aware_datetime_optional,
|
|
68
|
+
)
|
|
69
|
+
from omnibase_infra.utils.util_retry_optimistic import (
|
|
70
|
+
OptimisticConflictError,
|
|
71
|
+
retry_on_optimistic_conflict,
|
|
72
|
+
)
|
|
73
|
+
from omnibase_infra.utils.util_semver import (
|
|
74
|
+
SEMVER_PATTERN,
|
|
75
|
+
validate_semver,
|
|
76
|
+
validate_version_lenient,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
__all__: list[str] = [
|
|
80
|
+
"CorrelationContext",
|
|
81
|
+
"KAFKA_CONSUMER_GROUP_MAX_LENGTH",
|
|
82
|
+
"OptimisticConflictError",
|
|
83
|
+
"SAFE_ERROR_PATTERNS",
|
|
84
|
+
"SEMVER_PATTERN",
|
|
85
|
+
"SENSITIVE_PATTERNS",
|
|
86
|
+
"clear_correlation_id",
|
|
87
|
+
"compute_consumer_group_id",
|
|
88
|
+
"ensure_timezone_aware",
|
|
89
|
+
"generate_correlation_id",
|
|
90
|
+
"get_correlation_id",
|
|
91
|
+
"is_timezone_aware",
|
|
92
|
+
"normalize_kafka_identifier",
|
|
93
|
+
"parse_and_validate_dsn",
|
|
94
|
+
"parse_env_float",
|
|
95
|
+
"parse_env_int",
|
|
96
|
+
"retry_on_optimistic_conflict",
|
|
97
|
+
"sanitize_backend_error",
|
|
98
|
+
"sanitize_consul_key",
|
|
99
|
+
"sanitize_dsn",
|
|
100
|
+
"sanitize_error_message",
|
|
101
|
+
"sanitize_error_string",
|
|
102
|
+
"sanitize_secret_path",
|
|
103
|
+
"set_correlation_id",
|
|
104
|
+
"transaction_context",
|
|
105
|
+
"validate_contract_type_value",
|
|
106
|
+
"validate_endpoint_urls_dict",
|
|
107
|
+
"validate_policy_type_value",
|
|
108
|
+
"validate_pool_sizes_constraint",
|
|
109
|
+
"validate_semver",
|
|
110
|
+
"validate_timezone_aware_datetime",
|
|
111
|
+
"validate_timezone_aware_datetime_optional",
|
|
112
|
+
"validate_timezone_aware_with_context",
|
|
113
|
+
"validate_version_lenient",
|
|
114
|
+
"warn_if_naive_datetime",
|
|
115
|
+
"write_atomic_bytes",
|
|
116
|
+
"write_atomic_bytes_async",
|
|
117
|
+
]
|