omnibase_infra 0.2.1__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/cli/__init__.py +1 -0
- omnibase_infra/cli/commands.py +216 -0
- omnibase_infra/clients/__init__.py +0 -0
- omnibase_infra/contracts/handlers/filesystem/handler_contract.yaml +261 -0
- omnibase_infra/contracts/handlers/mcp/handler_contract.yaml +138 -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 +123 -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_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 +101 -0
- omnibase_infra/enums/enum_handler_loader_error.py +178 -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_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 +156 -0
- omnibase_infra/errors/error_architecture_violation.py +152 -0
- omnibase_infra/errors/error_chain_propagation.py +188 -0
- omnibase_infra/errors/error_compute_registry.py +92 -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 +102 -0
- omnibase_infra/errors/error_infra.py +608 -0
- omnibase_infra/errors/error_message_type_registry.py +101 -0
- omnibase_infra/errors/error_policy_registry.py +112 -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 +86 -0
- omnibase_infra/event_bus/event_bus_inmemory.py +743 -0
- omnibase_infra/event_bus/event_bus_kafka.py +1658 -0
- omnibase_infra/event_bus/mixin_kafka_broadcast.py +184 -0
- omnibase_infra/event_bus/mixin_kafka_dlq.py +765 -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 +725 -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/topic_constants.py +376 -0
- omnibase_infra/handlers/__init__.py +75 -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 +787 -0
- omnibase_infra/handlers/handler_db.py +1039 -0
- omnibase_infra/handlers/handler_filesystem.py +1478 -0
- omnibase_infra/handlers/handler_graph.py +1154 -0
- omnibase_infra/handlers/handler_http.py +920 -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 +748 -0
- omnibase_infra/handlers/handler_qdrant.py +1076 -0
- omnibase_infra/handlers/handler_vault.py +422 -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 +42 -0
- omnibase_infra/handlers/mixins/mixin_consul_initialization.py +349 -0
- omnibase_infra/handlers/mixins/mixin_consul_kv.py +337 -0
- omnibase_infra/handlers/mixins/mixin_consul_service.py +277 -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 +915 -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 +747 -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 +99 -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/mixins/__init__.py +71 -0
- omnibase_infra/mixins/mixin_async_circuit_breaker.py +655 -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 +2465 -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 +136 -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 +311 -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 +147 -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_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 +37 -0
- omnibase_infra/models/handlers/model_contract_discovery_result.py +80 -0
- omnibase_infra/models/handlers/model_handler_descriptor.py +185 -0
- omnibase_infra/models/handlers/model_handler_identifier.py +215 -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/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 +590 -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 +59 -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_introspection_metrics.py +253 -0
- omnibase_infra/models/registration/model_node_capabilities.py +179 -0
- omnibase_infra/models/registration/model_node_heartbeat_event.py +126 -0
- omnibase_infra/models/registration/model_node_introspection_event.py +175 -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 +40 -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 +280 -0
- omnibase_infra/models/runtime/model_loaded_handler.py +120 -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 +48 -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 +208 -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 +99 -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/effects/README.md +358 -0
- omnibase_infra/nodes/effects/__init__.py +26 -0
- omnibase_infra/nodes/effects/contract.yaml +172 -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/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 +475 -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 +609 -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 +525 -0
- omnibase_infra/nodes/node_registration_orchestrator/timeout_coordinator.py +392 -0
- omnibase_infra/nodes/node_registration_orchestrator/wiring.py +742 -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 +225 -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 +109 -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 +194 -0
- omnibase_infra/nodes/node_registry_effect/__init__.py +85 -0
- omnibase_infra/nodes/node_registry_effect/contract.yaml +682 -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 +416 -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 +214 -0
- omnibase_infra/nodes/reducers/__init__.py +30 -0
- omnibase_infra/nodes/reducers/models/__init__.py +32 -0
- omnibase_infra/nodes/reducers/models/model_payload_consul_register.py +76 -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 +1137 -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 +435 -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 +99 -0
- omnibase_infra/protocols/protocol_capability_projection.py +253 -0
- omnibase_infra/protocols/protocol_capability_query.py +251 -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 +296 -0
- omnibase_infra/runtime/binding_config_resolver.py +2706 -0
- omnibase_infra/runtime/chain_aware_dispatch.py +467 -0
- omnibase_infra/runtime/contract_handler_discovery.py +582 -0
- omnibase_infra/runtime/contract_loaders/__init__.py +42 -0
- omnibase_infra/runtime/contract_loaders/handler_routing_loader.py +464 -0
- omnibase_infra/runtime/dispatch_context_enforcer.py +427 -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/handler_contract_source.py +669 -0
- omnibase_infra/runtime/handler_plugin_loader.py +2029 -0
- omnibase_infra/runtime/handler_registry.py +321 -0
- omnibase_infra/runtime/invocation_security_enforcer.py +427 -0
- omnibase_infra/runtime/kernel.py +40 -0
- omnibase_infra/runtime/mixin_policy_validation.py +522 -0
- omnibase_infra/runtime/mixin_semver_cache.py +378 -0
- omnibase_infra/runtime/mixins/__init__.py +17 -0
- omnibase_infra/runtime/mixins/mixin_projector_sql_operations.py +757 -0
- omnibase_infra/runtime/models/__init__.py +192 -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_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 +228 -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_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_scheduler_config.py +624 -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_shutdown_batch_result.py +75 -0
- omnibase_infra/runtime/models/model_shutdown_config.py +94 -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 +1102 -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 +27 -0
- omnibase_infra/runtime/protocols/protocol_runtime_scheduler.py +468 -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 +444 -0
- omnibase_infra/runtime/registry_compute.py +1143 -0
- omnibase_infra/runtime/registry_dispatcher.py +678 -0
- omnibase_infra/runtime/registry_policy.py +1502 -0
- omnibase_infra/runtime/runtime_scheduler.py +1070 -0
- omnibase_infra/runtime/secret_resolver.py +2110 -0
- omnibase_infra/runtime/security_metadata_validator.py +776 -0
- omnibase_infra/runtime/service_kernel.py +1573 -0
- omnibase_infra/runtime/service_message_dispatch_engine.py +1805 -0
- omnibase_infra/runtime/service_runtime_host_process.py +2260 -0
- omnibase_infra/runtime/util_container_wiring.py +1123 -0
- omnibase_infra/runtime/util_validation.py +314 -0
- omnibase_infra/runtime/util_version.py +98 -0
- omnibase_infra/runtime/util_wiring.py +566 -0
- omnibase_infra/schemas/schema_registration_projection.sql +320 -0
- omnibase_infra/services/__init__.py +68 -0
- omnibase_infra/services/corpus_capture.py +678 -0
- omnibase_infra/services/service_capability_query.py +945 -0
- omnibase_infra/services/service_health.py +897 -0
- omnibase_infra/services/service_node_selector.py +530 -0
- omnibase_infra/services/service_timeout_emitter.py +682 -0
- omnibase_infra/services/service_timeout_scanner.py +390 -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/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 +21 -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 +89 -0
- omnibase_infra/utils/correlation.py +208 -0
- omnibase_infra/utils/util_datetime.py +372 -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_semver.py +233 -0
- omnibase_infra/validation/__init__.py +307 -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 +1486 -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 +1710 -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 +410 -0
- omnibase_infra/validation/validator_topic_category.py +1152 -0
- omnibase_infra-0.2.1.dist-info/METADATA +197 -0
- omnibase_infra-0.2.1.dist-info/RECORD +675 -0
- omnibase_infra-0.2.1.dist-info/WHEEL +4 -0
- omnibase_infra-0.2.1.dist-info/entry_points.txt +4 -0
- omnibase_infra-0.2.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""Vault token mixin for HandlerVault.
|
|
4
|
+
|
|
5
|
+
Provides token management operations including renewal, TTL tracking,
|
|
6
|
+
and automatic token refresh before expiration.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
import asyncio
|
|
12
|
+
import logging
|
|
13
|
+
import time
|
|
14
|
+
from collections.abc import Callable
|
|
15
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
16
|
+
from typing import TypeVar
|
|
17
|
+
from uuid import UUID, uuid4
|
|
18
|
+
|
|
19
|
+
import hvac
|
|
20
|
+
|
|
21
|
+
from omnibase_core.models.dispatch import ModelHandlerOutput
|
|
22
|
+
from omnibase_infra.enums import EnumInfraTransportType
|
|
23
|
+
from omnibase_infra.errors import (
|
|
24
|
+
InfraVaultError,
|
|
25
|
+
ModelInfraErrorContext,
|
|
26
|
+
)
|
|
27
|
+
from omnibase_infra.handlers.models.vault import ModelVaultHandlerConfig
|
|
28
|
+
|
|
29
|
+
T = TypeVar("T")
|
|
30
|
+
|
|
31
|
+
# Handler ID for ModelHandlerOutput
|
|
32
|
+
HANDLER_ID_VAULT: str = "vault-handler"
|
|
33
|
+
|
|
34
|
+
logger = logging.getLogger(__name__)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class MixinVaultToken:
|
|
38
|
+
"""Mixin providing token management for HandlerVault.
|
|
39
|
+
|
|
40
|
+
Contains methods for:
|
|
41
|
+
- Token renewal checking and auto-refresh
|
|
42
|
+
- Token TTL extraction from Vault responses
|
|
43
|
+
- Token renewal operation execution
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
# Instance attributes (declared for type checking)
|
|
47
|
+
_client: hvac.Client | None
|
|
48
|
+
_config: ModelVaultHandlerConfig | None
|
|
49
|
+
_token_expires_at: float
|
|
50
|
+
_executor: ThreadPoolExecutor | None
|
|
51
|
+
|
|
52
|
+
# Methods from other mixins that will be available at runtime
|
|
53
|
+
async def _execute_with_retry(
|
|
54
|
+
self,
|
|
55
|
+
operation: str,
|
|
56
|
+
func: Callable[[], T],
|
|
57
|
+
correlation_id: UUID,
|
|
58
|
+
) -> T:
|
|
59
|
+
"""Execute with retry - provided by MixinVaultRetry."""
|
|
60
|
+
raise NotImplementedError("Must be provided by implementing class")
|
|
61
|
+
|
|
62
|
+
async def _check_token_renewal(self, correlation_id: UUID) -> None:
|
|
63
|
+
"""Check if token needs renewal and renew if necessary.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
correlation_id: Correlation ID for tracing
|
|
67
|
+
|
|
68
|
+
Raises:
|
|
69
|
+
InfraAuthenticationError: If token renewal fails
|
|
70
|
+
"""
|
|
71
|
+
if self._config is None or self._client is None:
|
|
72
|
+
logger.debug(
|
|
73
|
+
"Token renewal check skipped - handler not initialized",
|
|
74
|
+
extra={
|
|
75
|
+
"config_initialized": self._config is not None,
|
|
76
|
+
"client_initialized": self._client is not None,
|
|
77
|
+
"correlation_id": str(correlation_id),
|
|
78
|
+
},
|
|
79
|
+
)
|
|
80
|
+
return
|
|
81
|
+
|
|
82
|
+
current_time = time.time()
|
|
83
|
+
time_until_expiry = self._token_expires_at - current_time
|
|
84
|
+
threshold = self._config.token_renewal_threshold_seconds
|
|
85
|
+
needs_renewal = time_until_expiry < threshold
|
|
86
|
+
|
|
87
|
+
# Log edge case when expiry time exactly equals threshold
|
|
88
|
+
# This helps troubleshoot boundary condition behavior
|
|
89
|
+
is_edge_case = abs(time_until_expiry - threshold) < 0.001 # Within 1ms
|
|
90
|
+
|
|
91
|
+
logger.debug(
|
|
92
|
+
"Token renewal check",
|
|
93
|
+
extra={
|
|
94
|
+
"current_time": current_time,
|
|
95
|
+
"token_expires_at": self._token_expires_at,
|
|
96
|
+
"time_until_expiry_seconds": time_until_expiry,
|
|
97
|
+
"threshold_seconds": threshold,
|
|
98
|
+
"needs_renewal": needs_renewal,
|
|
99
|
+
"is_threshold_edge_case": is_edge_case,
|
|
100
|
+
"correlation_id": str(correlation_id),
|
|
101
|
+
},
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
if is_edge_case:
|
|
105
|
+
logger.debug(
|
|
106
|
+
"Token renewal edge case detected - expiry equals threshold",
|
|
107
|
+
extra={
|
|
108
|
+
"time_until_expiry_seconds": time_until_expiry,
|
|
109
|
+
"threshold_seconds": threshold,
|
|
110
|
+
"difference_ms": abs(time_until_expiry - threshold) * 1000,
|
|
111
|
+
"will_renew": needs_renewal,
|
|
112
|
+
"correlation_id": str(correlation_id),
|
|
113
|
+
},
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
if needs_renewal:
|
|
117
|
+
logger.info(
|
|
118
|
+
"Token approaching expiration, renewing",
|
|
119
|
+
extra={
|
|
120
|
+
"time_until_expiry_seconds": time_until_expiry,
|
|
121
|
+
"threshold_seconds": threshold,
|
|
122
|
+
"correlation_id": str(correlation_id),
|
|
123
|
+
},
|
|
124
|
+
)
|
|
125
|
+
await self.renew_token(correlation_id=correlation_id)
|
|
126
|
+
logger.debug(
|
|
127
|
+
"Token renewal completed successfully",
|
|
128
|
+
extra={
|
|
129
|
+
"new_expires_at": self._token_expires_at,
|
|
130
|
+
"new_time_until_expiry_seconds": self._token_expires_at
|
|
131
|
+
- time.time(),
|
|
132
|
+
"correlation_id": str(correlation_id),
|
|
133
|
+
},
|
|
134
|
+
)
|
|
135
|
+
else:
|
|
136
|
+
logger.debug(
|
|
137
|
+
"Token renewal skipped - token still valid",
|
|
138
|
+
extra={
|
|
139
|
+
"time_until_expiry_seconds": time_until_expiry,
|
|
140
|
+
"threshold_seconds": threshold,
|
|
141
|
+
"margin_seconds": time_until_expiry - threshold,
|
|
142
|
+
"correlation_id": str(correlation_id),
|
|
143
|
+
},
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
def _validate_renewal_preconditions(self, correlation_id: UUID) -> None:
|
|
147
|
+
"""Validate that handler is initialized before renewal.
|
|
148
|
+
|
|
149
|
+
Args:
|
|
150
|
+
correlation_id: Correlation ID for tracing
|
|
151
|
+
|
|
152
|
+
Raises:
|
|
153
|
+
InfraVaultError: If handler not initialized
|
|
154
|
+
"""
|
|
155
|
+
if self._client is None or self._config is None:
|
|
156
|
+
ctx = ModelInfraErrorContext(
|
|
157
|
+
transport_type=EnumInfraTransportType.VAULT,
|
|
158
|
+
operation="vault.renew_token",
|
|
159
|
+
target_name="vault_handler",
|
|
160
|
+
correlation_id=correlation_id,
|
|
161
|
+
namespace=self._config.namespace if self._config else None,
|
|
162
|
+
)
|
|
163
|
+
raise InfraVaultError(
|
|
164
|
+
"HandlerVault not initialized",
|
|
165
|
+
context=ctx,
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
def _extract_ttl_from_renewal_response(
|
|
169
|
+
self,
|
|
170
|
+
result: dict[str, object],
|
|
171
|
+
default_ttl: int,
|
|
172
|
+
correlation_id: UUID,
|
|
173
|
+
) -> int:
|
|
174
|
+
"""Extract TTL from token renewal response.
|
|
175
|
+
|
|
176
|
+
Args:
|
|
177
|
+
result: Renewal response from Vault
|
|
178
|
+
default_ttl: Default TTL to use if extraction fails
|
|
179
|
+
correlation_id: Correlation ID for tracing
|
|
180
|
+
|
|
181
|
+
Returns:
|
|
182
|
+
Token TTL in seconds
|
|
183
|
+
"""
|
|
184
|
+
auth_data = result.get("auth", {})
|
|
185
|
+
|
|
186
|
+
if isinstance(auth_data, dict):
|
|
187
|
+
lease_duration = auth_data.get("lease_duration")
|
|
188
|
+
if isinstance(lease_duration, int) and lease_duration > 0:
|
|
189
|
+
return lease_duration
|
|
190
|
+
|
|
191
|
+
# Fallback to config or safe default
|
|
192
|
+
logger.warning(
|
|
193
|
+
"Token TTL not in renewal response, using fallback",
|
|
194
|
+
extra={
|
|
195
|
+
"ttl": default_ttl,
|
|
196
|
+
"correlation_id": str(correlation_id),
|
|
197
|
+
},
|
|
198
|
+
)
|
|
199
|
+
return default_ttl
|
|
200
|
+
|
|
201
|
+
async def _refresh_ttl_from_vault_lookup(
|
|
202
|
+
self,
|
|
203
|
+
current_ttl: int,
|
|
204
|
+
correlation_id: UUID,
|
|
205
|
+
) -> int:
|
|
206
|
+
"""Refresh TTL by querying actual value from Vault.
|
|
207
|
+
|
|
208
|
+
Args:
|
|
209
|
+
current_ttl: Current TTL value (used as fallback)
|
|
210
|
+
correlation_id: Correlation ID for tracing
|
|
211
|
+
|
|
212
|
+
Returns:
|
|
213
|
+
Refreshed TTL in seconds
|
|
214
|
+
"""
|
|
215
|
+
if self._client is None:
|
|
216
|
+
return current_ttl
|
|
217
|
+
|
|
218
|
+
try:
|
|
219
|
+
loop = asyncio.get_running_loop()
|
|
220
|
+
token_info = await loop.run_in_executor(
|
|
221
|
+
self._executor,
|
|
222
|
+
self._client.auth.token.lookup_self,
|
|
223
|
+
)
|
|
224
|
+
token_data = token_info.get("data", {})
|
|
225
|
+
if isinstance(token_data, dict):
|
|
226
|
+
ttl_seconds = token_data.get("ttl")
|
|
227
|
+
if isinstance(ttl_seconds, int) and ttl_seconds > 0:
|
|
228
|
+
logger.info(
|
|
229
|
+
"Token TTL refreshed from Vault lookup",
|
|
230
|
+
extra={
|
|
231
|
+
"ttl_seconds": ttl_seconds,
|
|
232
|
+
"correlation_id": str(correlation_id),
|
|
233
|
+
},
|
|
234
|
+
)
|
|
235
|
+
return ttl_seconds
|
|
236
|
+
except Exception as e:
|
|
237
|
+
logger.debug(
|
|
238
|
+
"Token lookup after renewal failed, using lease_duration",
|
|
239
|
+
extra={
|
|
240
|
+
"error_type": type(e).__name__,
|
|
241
|
+
"correlation_id": str(correlation_id),
|
|
242
|
+
},
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
return current_ttl
|
|
246
|
+
|
|
247
|
+
async def renew_token(
|
|
248
|
+
self, correlation_id: UUID | None = None
|
|
249
|
+
) -> dict[str, object]:
|
|
250
|
+
"""Renew Vault authentication token.
|
|
251
|
+
|
|
252
|
+
Token TTL Extraction Logic:
|
|
253
|
+
1. Extract 'auth.lease_duration' from Vault renewal response
|
|
254
|
+
2. If lease_duration is invalid or missing, use default_token_ttl
|
|
255
|
+
3. Update _token_expires_at = current_time + extracted_ttl
|
|
256
|
+
4. Log warning when falling back to default TTL
|
|
257
|
+
|
|
258
|
+
Args:
|
|
259
|
+
correlation_id: Optional correlation ID for tracing. When called via
|
|
260
|
+
envelope dispatch, this preserves the request's correlation_id.
|
|
261
|
+
When called directly (e.g., by monitoring), a new ID is generated.
|
|
262
|
+
|
|
263
|
+
Returns:
|
|
264
|
+
Token renewal information including new TTL
|
|
265
|
+
|
|
266
|
+
Raises:
|
|
267
|
+
InfraAuthenticationError: If token authentication/authorization fails
|
|
268
|
+
InfraConnectionError: If connection to Vault fails
|
|
269
|
+
InfraTimeoutError: If renewal operation times out
|
|
270
|
+
InfraUnavailableError: If circuit breaker is open
|
|
271
|
+
"""
|
|
272
|
+
if correlation_id is None:
|
|
273
|
+
correlation_id = uuid4()
|
|
274
|
+
|
|
275
|
+
self._validate_renewal_preconditions(correlation_id)
|
|
276
|
+
|
|
277
|
+
# At this point, _client and _config are guaranteed non-None
|
|
278
|
+
assert self._client is not None
|
|
279
|
+
assert self._config is not None
|
|
280
|
+
|
|
281
|
+
# Capture namespace for use in closure
|
|
282
|
+
namespace = self._config.namespace
|
|
283
|
+
|
|
284
|
+
def renew_func() -> dict[str, object]:
|
|
285
|
+
if self._client is None:
|
|
286
|
+
ctx = ModelInfraErrorContext(
|
|
287
|
+
transport_type=EnumInfraTransportType.VAULT,
|
|
288
|
+
operation="vault.renew_token",
|
|
289
|
+
target_name="vault_handler",
|
|
290
|
+
correlation_id=correlation_id,
|
|
291
|
+
namespace=namespace,
|
|
292
|
+
)
|
|
293
|
+
raise InfraVaultError("Vault client not initialized", context=ctx)
|
|
294
|
+
result: dict[str, object] = self._client.auth.token.renew_self()
|
|
295
|
+
return result
|
|
296
|
+
|
|
297
|
+
# _execute_with_retry already raises properly typed errors:
|
|
298
|
+
# - InfraAuthenticationError for auth failures (Forbidden, InvalidRequest)
|
|
299
|
+
# - InfraConnectionError for connection failures
|
|
300
|
+
# - InfraTimeoutError for timeout errors
|
|
301
|
+
# - InfraUnavailableError for circuit breaker open
|
|
302
|
+
# Let these errors propagate naturally without masking them
|
|
303
|
+
result = await self._execute_with_retry(
|
|
304
|
+
"vault.renew_token",
|
|
305
|
+
renew_func,
|
|
306
|
+
correlation_id,
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
# Extract TTL from renewal response
|
|
310
|
+
token_ttl = self._extract_ttl_from_renewal_response(
|
|
311
|
+
result, self._config.default_token_ttl, correlation_id
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
# Refresh TTL from Vault lookup (may override renewal response)
|
|
315
|
+
token_ttl = await self._refresh_ttl_from_vault_lookup(token_ttl, correlation_id)
|
|
316
|
+
|
|
317
|
+
# Update token expiration tracking
|
|
318
|
+
self._token_expires_at = time.time() + token_ttl
|
|
319
|
+
|
|
320
|
+
logger.info(
|
|
321
|
+
"Token renewed successfully",
|
|
322
|
+
extra={
|
|
323
|
+
"new_ttl_seconds": token_ttl,
|
|
324
|
+
"correlation_id": str(correlation_id),
|
|
325
|
+
},
|
|
326
|
+
)
|
|
327
|
+
|
|
328
|
+
return result
|
|
329
|
+
|
|
330
|
+
async def _renew_token_operation(
|
|
331
|
+
self,
|
|
332
|
+
correlation_id: UUID,
|
|
333
|
+
input_envelope_id: UUID,
|
|
334
|
+
) -> ModelHandlerOutput[dict[str, object]]:
|
|
335
|
+
"""Execute token renewal operation from envelope.
|
|
336
|
+
|
|
337
|
+
Args:
|
|
338
|
+
correlation_id: Correlation ID for tracing
|
|
339
|
+
input_envelope_id: Input envelope ID for causality tracking
|
|
340
|
+
|
|
341
|
+
Returns:
|
|
342
|
+
ModelHandlerOutput with renewal information
|
|
343
|
+
"""
|
|
344
|
+
result = await self.renew_token(correlation_id=correlation_id)
|
|
345
|
+
|
|
346
|
+
# Extract nested auth data with type checking
|
|
347
|
+
auth_obj = result.get("auth", {})
|
|
348
|
+
auth_data = auth_obj if isinstance(auth_obj, dict) else {}
|
|
349
|
+
|
|
350
|
+
return ModelHandlerOutput.for_compute(
|
|
351
|
+
input_envelope_id=input_envelope_id,
|
|
352
|
+
correlation_id=correlation_id,
|
|
353
|
+
handler_id=HANDLER_ID_VAULT,
|
|
354
|
+
result={
|
|
355
|
+
"status": "success",
|
|
356
|
+
"payload": {
|
|
357
|
+
"renewable": auth_data.get("renewable", False),
|
|
358
|
+
"lease_duration": auth_data.get("lease_duration", 0),
|
|
359
|
+
},
|
|
360
|
+
"correlation_id": str(correlation_id),
|
|
361
|
+
},
|
|
362
|
+
)
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
__all__: list[str] = ["MixinVaultToken"]
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
# Copyright (c) 2025 OmniNode Team
|
|
3
|
+
"""Handler Models Module.
|
|
4
|
+
|
|
5
|
+
This module exports Pydantic models for handler request/response structures.
|
|
6
|
+
All models are strongly typed to eliminate Any usage.
|
|
7
|
+
|
|
8
|
+
Common Models:
|
|
9
|
+
ModelRetryState: Encapsulates retry state for handler operations
|
|
10
|
+
ModelOperationContext: Encapsulates operation context for handler tracking
|
|
11
|
+
|
|
12
|
+
Generic Response Model:
|
|
13
|
+
ModelHandlerResponse: Generic handler response envelope (parameterized by payload type)
|
|
14
|
+
|
|
15
|
+
Database Models:
|
|
16
|
+
ModelDbQueryPayload: Payload containing database query results
|
|
17
|
+
ModelDbQueryResponse: Full database query response envelope
|
|
18
|
+
ModelDbDescribeResponse: Database handler metadata and capabilities
|
|
19
|
+
|
|
20
|
+
Consul Models:
|
|
21
|
+
ModelConsulHandlerPayload: Payload containing Consul operation results
|
|
22
|
+
ModelConsulHandlerResponse: Full Consul handler response envelope
|
|
23
|
+
EnumConsulOperationType: Discriminator enum for Consul operation types
|
|
24
|
+
ModelConsulKVItem: Single KV item from recurse query
|
|
25
|
+
ModelConsulKVGetFoundPayload: Payload for consul.kv_get when key is found
|
|
26
|
+
ModelConsulKVGetNotFoundPayload: Payload for consul.kv_get when key not found
|
|
27
|
+
ModelConsulKVGetRecursePayload: Payload for consul.kv_get with recurse=True
|
|
28
|
+
ModelConsulKVPutPayload: Payload for consul.kv_put result
|
|
29
|
+
ModelConsulRegisterPayload: Payload for consul.register result
|
|
30
|
+
ModelConsulDeregisterPayload: Payload for consul.deregister result
|
|
31
|
+
ConsulPayload: Discriminated union of all Consul payload types
|
|
32
|
+
|
|
33
|
+
Vault Models:
|
|
34
|
+
ModelVaultHandlerPayload: Payload containing Vault operation results
|
|
35
|
+
ModelVaultHandlerResponse: Full Vault handler response envelope
|
|
36
|
+
EnumVaultOperationType: Discriminator enum for Vault operation types
|
|
37
|
+
ModelVaultSecretPayload: Payload for vault.read_secret result
|
|
38
|
+
ModelVaultWritePayload: Payload for vault.write_secret result
|
|
39
|
+
ModelVaultDeletePayload: Payload for vault.delete_secret result
|
|
40
|
+
ModelVaultListPayload: Payload for vault.list_secrets result
|
|
41
|
+
ModelVaultRenewTokenPayload: Payload for vault.renew_token result
|
|
42
|
+
VaultPayload: Discriminated union of all Vault payload types
|
|
43
|
+
|
|
44
|
+
Qdrant Models:
|
|
45
|
+
ModelQdrantHandlerPayload: Payload containing Qdrant operation results
|
|
46
|
+
ModelQdrantHandlerResponse: Full Qdrant handler response envelope
|
|
47
|
+
EnumQdrantOperationType: Discriminator enum for Qdrant operation types
|
|
48
|
+
ModelQdrantSearchPayload: Payload for qdrant.search result
|
|
49
|
+
ModelQdrantUpsertPayload: Payload for qdrant.upsert result
|
|
50
|
+
ModelQdrantDeletePayload: Payload for qdrant.delete result
|
|
51
|
+
ModelQdrantCollectionPayload: Payload for qdrant.collection operations
|
|
52
|
+
QdrantPayload: Discriminated union of all Qdrant payload types
|
|
53
|
+
|
|
54
|
+
Graph Models:
|
|
55
|
+
ModelGraphHandlerPayload: Payload containing Graph operation results
|
|
56
|
+
ModelGraphHandlerResponse: Full Graph handler response envelope
|
|
57
|
+
EnumGraphOperationType: Discriminator enum for Graph operation types
|
|
58
|
+
ModelGraphQueryPayload: Payload for graph.query result
|
|
59
|
+
ModelGraphExecutePayload: Payload for graph.execute result
|
|
60
|
+
GraphPayload: Discriminated union of all Graph payload types
|
|
61
|
+
|
|
62
|
+
HTTP Models:
|
|
63
|
+
ModelHttpHandlerPayload: Payload containing HTTP operation results
|
|
64
|
+
ModelHttpHandlerResponse: Full HTTP handler response envelope
|
|
65
|
+
EnumHttpOperationType: Discriminator enum for HTTP operation types
|
|
66
|
+
ModelHttpGetPayload: Payload for http.get result
|
|
67
|
+
ModelHttpPostPayload: Payload for http.post result
|
|
68
|
+
HttpPayload: Discriminated union of all HTTP payload types
|
|
69
|
+
|
|
70
|
+
Filesystem Models:
|
|
71
|
+
ModelFileSystemConfig: Configuration for HandlerFileSystem initialization
|
|
72
|
+
ModelReadFilePayload: Payload for filesystem.read_file operation
|
|
73
|
+
ModelReadFileResult: Result from filesystem.read_file operation
|
|
74
|
+
ModelWriteFilePayload: Payload for filesystem.write_file operation
|
|
75
|
+
ModelWriteFileResult: Result from filesystem.write_file operation
|
|
76
|
+
ModelListDirectoryPayload: Payload for filesystem.list_directory operation
|
|
77
|
+
ModelDirectoryEntry: Single entry from directory listing
|
|
78
|
+
ModelListDirectoryResult: Result from filesystem.list_directory operation
|
|
79
|
+
ModelEnsureDirectoryPayload: Payload for filesystem.ensure_directory operation
|
|
80
|
+
ModelEnsureDirectoryResult: Result from filesystem.ensure_directory operation
|
|
81
|
+
ModelDeleteFilePayload: Payload for filesystem.delete_file operation
|
|
82
|
+
ModelDeleteFileResult: Result from filesystem.delete_file operation
|
|
83
|
+
|
|
84
|
+
Manifest Persistence Models:
|
|
85
|
+
ModelManifestPersistenceConfig: Configuration for HandlerManifestPersistence
|
|
86
|
+
ModelManifestStorePayload: Payload for manifest.store operation
|
|
87
|
+
ModelManifestStoreResult: Result from manifest.store operation
|
|
88
|
+
ModelManifestRetrievePayload: Payload for manifest.retrieve operation
|
|
89
|
+
ModelManifestRetrieveResult: Result from manifest.retrieve operation
|
|
90
|
+
ModelManifestQueryPayload: Payload for manifest.query operation
|
|
91
|
+
ModelManifestQueryResult: Result from manifest.query operation
|
|
92
|
+
ModelManifestMetadata: Lightweight metadata for manifest queries
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
from omnibase_infra.handlers.models.consul import (
|
|
96
|
+
ConsulPayload,
|
|
97
|
+
EnumConsulOperationType,
|
|
98
|
+
ModelConsulDeregisterPayload,
|
|
99
|
+
ModelConsulHandlerPayload,
|
|
100
|
+
ModelConsulKVGetFoundPayload,
|
|
101
|
+
ModelConsulKVGetNotFoundPayload,
|
|
102
|
+
ModelConsulKVGetRecursePayload,
|
|
103
|
+
ModelConsulKVItem,
|
|
104
|
+
ModelConsulKVPutPayload,
|
|
105
|
+
ModelConsulRegisterPayload,
|
|
106
|
+
)
|
|
107
|
+
from omnibase_infra.handlers.models.http import (
|
|
108
|
+
EnumHttpOperationType,
|
|
109
|
+
HttpPayload,
|
|
110
|
+
ModelHttpBodyContent,
|
|
111
|
+
ModelHttpGetPayload,
|
|
112
|
+
ModelHttpHandlerPayload,
|
|
113
|
+
ModelHttpPostPayload,
|
|
114
|
+
)
|
|
115
|
+
from omnibase_infra.handlers.models.model_consul_handler_response import (
|
|
116
|
+
ModelConsulHandlerResponse,
|
|
117
|
+
)
|
|
118
|
+
from omnibase_infra.handlers.models.model_db_describe_response import (
|
|
119
|
+
ModelDbDescribeResponse,
|
|
120
|
+
)
|
|
121
|
+
from omnibase_infra.handlers.models.model_db_query_payload import ModelDbQueryPayload
|
|
122
|
+
from omnibase_infra.handlers.models.model_db_query_response import ModelDbQueryResponse
|
|
123
|
+
|
|
124
|
+
# Filesystem models (one model per file per ONEX convention)
|
|
125
|
+
from omnibase_infra.handlers.models.model_filesystem_config import ModelFileSystemConfig
|
|
126
|
+
from omnibase_infra.handlers.models.model_filesystem_delete_payload import (
|
|
127
|
+
ModelDeleteFilePayload,
|
|
128
|
+
)
|
|
129
|
+
from omnibase_infra.handlers.models.model_filesystem_delete_result import (
|
|
130
|
+
ModelDeleteFileResult,
|
|
131
|
+
)
|
|
132
|
+
from omnibase_infra.handlers.models.model_filesystem_directory_entry import (
|
|
133
|
+
ModelDirectoryEntry,
|
|
134
|
+
)
|
|
135
|
+
from omnibase_infra.handlers.models.model_filesystem_ensure_directory_payload import (
|
|
136
|
+
ModelEnsureDirectoryPayload,
|
|
137
|
+
)
|
|
138
|
+
from omnibase_infra.handlers.models.model_filesystem_ensure_directory_result import (
|
|
139
|
+
ModelEnsureDirectoryResult,
|
|
140
|
+
)
|
|
141
|
+
from omnibase_infra.handlers.models.model_filesystem_list_directory_payload import (
|
|
142
|
+
ModelListDirectoryPayload,
|
|
143
|
+
)
|
|
144
|
+
from omnibase_infra.handlers.models.model_filesystem_list_directory_result import (
|
|
145
|
+
ModelListDirectoryResult,
|
|
146
|
+
)
|
|
147
|
+
from omnibase_infra.handlers.models.model_filesystem_read_payload import (
|
|
148
|
+
ModelReadFilePayload,
|
|
149
|
+
)
|
|
150
|
+
from omnibase_infra.handlers.models.model_filesystem_read_result import (
|
|
151
|
+
ModelReadFileResult,
|
|
152
|
+
)
|
|
153
|
+
from omnibase_infra.handlers.models.model_filesystem_write_payload import (
|
|
154
|
+
ModelWriteFilePayload,
|
|
155
|
+
)
|
|
156
|
+
from omnibase_infra.handlers.models.model_filesystem_write_result import (
|
|
157
|
+
ModelWriteFileResult,
|
|
158
|
+
)
|
|
159
|
+
from omnibase_infra.handlers.models.model_graph_handler_response import (
|
|
160
|
+
ModelGraphHandlerResponse,
|
|
161
|
+
)
|
|
162
|
+
from omnibase_infra.handlers.models.model_handler_response import (
|
|
163
|
+
ModelHandlerResponse,
|
|
164
|
+
)
|
|
165
|
+
from omnibase_infra.handlers.models.model_http_handler_response import (
|
|
166
|
+
ModelHttpHandlerResponse,
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
# Manifest persistence models (one model per file per ONEX convention)
|
|
170
|
+
from omnibase_infra.handlers.models.model_manifest_metadata import (
|
|
171
|
+
ModelManifestMetadata,
|
|
172
|
+
)
|
|
173
|
+
from omnibase_infra.handlers.models.model_manifest_persistence_config import (
|
|
174
|
+
ModelManifestPersistenceConfig,
|
|
175
|
+
)
|
|
176
|
+
from omnibase_infra.handlers.models.model_manifest_query_payload import (
|
|
177
|
+
ModelManifestQueryPayload,
|
|
178
|
+
)
|
|
179
|
+
from omnibase_infra.handlers.models.model_manifest_query_result import (
|
|
180
|
+
ModelManifestQueryResult,
|
|
181
|
+
)
|
|
182
|
+
from omnibase_infra.handlers.models.model_manifest_retrieve_payload import (
|
|
183
|
+
ModelManifestRetrievePayload,
|
|
184
|
+
)
|
|
185
|
+
from omnibase_infra.handlers.models.model_manifest_retrieve_result import (
|
|
186
|
+
ModelManifestRetrieveResult,
|
|
187
|
+
)
|
|
188
|
+
from omnibase_infra.handlers.models.model_manifest_store_payload import (
|
|
189
|
+
ModelManifestStorePayload,
|
|
190
|
+
)
|
|
191
|
+
from omnibase_infra.handlers.models.model_manifest_store_result import (
|
|
192
|
+
ModelManifestStoreResult,
|
|
193
|
+
)
|
|
194
|
+
from omnibase_infra.handlers.models.model_operation_context import (
|
|
195
|
+
ModelOperationContext,
|
|
196
|
+
)
|
|
197
|
+
from omnibase_infra.handlers.models.model_qdrant_handler_response import (
|
|
198
|
+
ModelQdrantHandlerResponse,
|
|
199
|
+
)
|
|
200
|
+
from omnibase_infra.handlers.models.model_retry_state import ModelRetryState
|
|
201
|
+
from omnibase_infra.handlers.models.model_vault_handler_response import (
|
|
202
|
+
ModelVaultHandlerResponse,
|
|
203
|
+
)
|
|
204
|
+
from omnibase_infra.handlers.models.vault import (
|
|
205
|
+
EnumVaultOperationType,
|
|
206
|
+
ModelVaultDeletePayload,
|
|
207
|
+
ModelVaultHandlerPayload,
|
|
208
|
+
ModelVaultListPayload,
|
|
209
|
+
ModelVaultRenewTokenPayload,
|
|
210
|
+
ModelVaultSecretPayload,
|
|
211
|
+
ModelVaultWritePayload,
|
|
212
|
+
VaultPayload,
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
__all__: list[str] = [
|
|
216
|
+
"ConsulPayload",
|
|
217
|
+
# Consul payload types (discriminated union)
|
|
218
|
+
"EnumConsulOperationType",
|
|
219
|
+
# HTTP payload types (discriminated union)
|
|
220
|
+
"EnumHttpOperationType",
|
|
221
|
+
# Vault payload types (discriminated union)
|
|
222
|
+
"EnumVaultOperationType",
|
|
223
|
+
"HttpPayload",
|
|
224
|
+
"ModelConsulDeregisterPayload",
|
|
225
|
+
# Consul wrapper models
|
|
226
|
+
"ModelConsulHandlerPayload",
|
|
227
|
+
"ModelConsulHandlerResponse",
|
|
228
|
+
"ModelConsulKVGetFoundPayload",
|
|
229
|
+
"ModelConsulKVGetNotFoundPayload",
|
|
230
|
+
"ModelConsulKVGetRecursePayload",
|
|
231
|
+
"ModelConsulKVItem",
|
|
232
|
+
"ModelConsulKVPutPayload",
|
|
233
|
+
"ModelConsulRegisterPayload",
|
|
234
|
+
# Database models
|
|
235
|
+
"ModelDbQueryPayload",
|
|
236
|
+
"ModelDbQueryResponse",
|
|
237
|
+
"ModelDbDescribeResponse",
|
|
238
|
+
# Generic response model
|
|
239
|
+
"ModelHandlerResponse",
|
|
240
|
+
# Graph wrapper models
|
|
241
|
+
"ModelGraphHandlerResponse",
|
|
242
|
+
# HTTP models
|
|
243
|
+
"ModelHttpBodyContent",
|
|
244
|
+
"ModelHttpGetPayload",
|
|
245
|
+
# HTTP wrapper models
|
|
246
|
+
"ModelHttpHandlerPayload",
|
|
247
|
+
"ModelHttpHandlerResponse",
|
|
248
|
+
"ModelHttpPostPayload",
|
|
249
|
+
# Common models for retry and operation tracking
|
|
250
|
+
"ModelOperationContext",
|
|
251
|
+
# Qdrant wrapper models
|
|
252
|
+
"ModelQdrantHandlerResponse",
|
|
253
|
+
"ModelRetryState",
|
|
254
|
+
# Vault models
|
|
255
|
+
"ModelVaultDeletePayload",
|
|
256
|
+
# Vault wrapper models
|
|
257
|
+
"ModelVaultHandlerPayload",
|
|
258
|
+
"ModelVaultHandlerResponse",
|
|
259
|
+
"ModelVaultListPayload",
|
|
260
|
+
"ModelVaultRenewTokenPayload",
|
|
261
|
+
"ModelVaultSecretPayload",
|
|
262
|
+
"ModelVaultWritePayload",
|
|
263
|
+
"VaultPayload",
|
|
264
|
+
# Filesystem models
|
|
265
|
+
"ModelFileSystemConfig",
|
|
266
|
+
"ModelReadFilePayload",
|
|
267
|
+
"ModelReadFileResult",
|
|
268
|
+
"ModelWriteFilePayload",
|
|
269
|
+
"ModelWriteFileResult",
|
|
270
|
+
"ModelListDirectoryPayload",
|
|
271
|
+
"ModelDirectoryEntry",
|
|
272
|
+
"ModelListDirectoryResult",
|
|
273
|
+
"ModelEnsureDirectoryPayload",
|
|
274
|
+
"ModelEnsureDirectoryResult",
|
|
275
|
+
"ModelDeleteFilePayload",
|
|
276
|
+
"ModelDeleteFileResult",
|
|
277
|
+
# Manifest persistence models
|
|
278
|
+
"ModelManifestPersistenceConfig",
|
|
279
|
+
"ModelManifestStorePayload",
|
|
280
|
+
"ModelManifestStoreResult",
|
|
281
|
+
"ModelManifestRetrievePayload",
|
|
282
|
+
"ModelManifestRetrieveResult",
|
|
283
|
+
"ModelManifestQueryPayload",
|
|
284
|
+
"ModelManifestQueryResult",
|
|
285
|
+
"ModelManifestMetadata",
|
|
286
|
+
]
|