omninode-memory 0.9.3__tar.gz → 0.12.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. omninode_memory-0.9.3/.github/workflows/test.yml → omninode_memory-0.12.0/.github/workflows/ci.yml +3 -3
  2. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/omni-standards-compliance.yml +26 -0
  3. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/stale-todo-gate.yml +1 -1
  4. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/todo-audit-on-merge.yml +1 -1
  5. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/CHANGELOG.md +37 -0
  6. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/PKG-INFO +4 -4
  7. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/pyproject.toml +6 -6
  8. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validate_ci_precommit_alignment.py +2 -2
  9. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/dispatch_handlers.py +145 -3
  10. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/plugin.py +45 -0
  11. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/wiring.py +5 -0
  12. omninode_memory-0.12.0/tests/unit/runtime/test_plugin_graph_memory_wiring.py +237 -0
  13. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_wiring.py +1 -1
  14. omninode_memory-0.12.0/tests/unit/test_dispatch_retrieval_config.py +83 -0
  15. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_validate_ci_precommit_alignment.py +9 -9
  16. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/uv.lock +15 -15
  17. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.claude/architecture-handshake.md +0 -0
  18. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.env.example +0 -0
  19. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.flake8 +0 -0
  20. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  22. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/dependabot.yml +0 -0
  24. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/required-checks.yaml +0 -0
  25. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/auto-tag-on-merge.yml +0 -0
  26. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/build-and-push-migrate-image.yml +0 -0
  27. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/check-handshake.yml +0 -0
  28. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/contract-validation.yml +0 -0
  29. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/pre-commit.yml +0 -0
  30. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/release-dry-run.yml +0 -0
  31. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/release.yml +0 -0
  32. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.github/workflows/security-scan.yml +0 -0
  33. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.gitignore +0 -0
  34. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.markdown-link-check.json +0 -0
  35. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.pre-commit-config.yaml +0 -0
  36. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.secrets.baseline +0 -0
  37. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.serena/memories/project_overview.md +0 -0
  38. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.serena/memories/suggested_commands.md +0 -0
  39. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.serena/project.yml +0 -0
  40. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/.yamlfmt +0 -0
  41. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/AGENT.md +0 -0
  42. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/CLAUDE.md +0 -0
  43. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/CODE_OF_CONDUCT.md +0 -0
  44. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/CONTRIBUTING.md +0 -0
  45. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/LICENSE +0 -0
  46. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/README.md +0 -0
  47. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/SECURITY.md +0 -0
  48. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/contract.yaml +0 -0
  49. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations/001_create_subscription_tables.sql +0 -0
  50. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations/002_create_memories_table.sql +0 -0
  51. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations/003_create_crawl_state_table.sql +0 -0
  52. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations/004_create_navigation_sessions_table.sql +0 -0
  53. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations/005_backfill_null_checksums.sql +0 -0
  54. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations_pending/004_create_navigation_paths_collection.py +0 -0
  55. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/migrations_pending/004_create_navigation_sessions_table.sql +0 -0
  56. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/database/pending/003_create_crawl_state_table.sql +0 -0
  57. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/deployment/docker/Dockerfile.migrate +0 -0
  58. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docker-compose.prod.yml +0 -0
  59. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docker-compose.yml +0 -0
  60. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/INDEX.md +0 -0
  61. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/PERFORMANCE_TESTING.md +0 -0
  62. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/architecture/ARCH_002_KAFKA_ABSTRACTION.md +0 -0
  63. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/architecture/ONEX_FOUR_NODE_ARCHITECTURE.md +0 -0
  64. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/ci/CI_MONITORING_GUIDE.md +0 -0
  65. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/db-split/fk-audit-omn-2069.md +0 -0
  66. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/environment_variables.md +0 -0
  67. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/handler_reuse_matrix.md +0 -0
  68. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/pii_handling.md +0 -0
  69. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/runtime/RUNTIME_PLUGINS.md +0 -0
  70. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/docs/stub_protocols.md +0 -0
  71. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/examples/__init__.py +0 -0
  72. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/examples/advanced_architecture_demo.py +0 -0
  73. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/pyrightconfig.json +0 -0
  74. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/check_migration_freeze.sh +0 -0
  75. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/check_no_hardcoded_bolt.sh +0 -0
  76. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validate_no_transport_imports.py +0 -0
  77. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/check_ai_slop.py +0 -0
  78. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/check_kafka_no_hardcoded_fallback.sh +0 -0
  79. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_enum_casing.py +0 -0
  80. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_http_imports.py +0 -0
  81. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_kafka_imports.py +0 -0
  82. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_model_locations.py +0 -0
  83. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_naming.py +0 -0
  84. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_no_backward_compatibility.py +0 -0
  85. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_pydantic_patterns.py +0 -0
  86. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_secrets.py +0 -0
  87. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_single_class_per_file.py +0 -0
  88. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/scripts/validation/validate_spdx_headers.py +0 -0
  89. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/__init__.py +0 -0
  90. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/_compat_imports.py +0 -0
  91. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/audit/__init__.py +0 -0
  92. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/audit/__main__.py +0 -0
  93. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/audit/io_audit.py +0 -0
  94. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/bootstrap.py +0 -0
  95. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/__init__.py +0 -0
  96. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/crawl/__init__.py +0 -0
  97. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/crawl/enum_context_source_type.py +0 -0
  98. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/crawl/enum_crawler_type.py +0 -0
  99. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/crawl/enum_detected_doc_type.py +0 -0
  100. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_attribution_signal_type.py +0 -0
  101. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_context_item_type.py +0 -0
  102. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_data_type.py +0 -0
  103. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_entity_extraction_mode.py +0 -0
  104. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_error_code.py +0 -0
  105. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_intelligence_operation_type.py +0 -0
  106. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_lifecycle_state.py +0 -0
  107. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_memory_operation_type.py +0 -0
  108. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_memory_storage_type.py +0 -0
  109. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_migration_status.py +0 -0
  110. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_node_type.py +0 -0
  111. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_operation_status.py +0 -0
  112. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_priority_level.py +0 -0
  113. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_promotion_tier.py +0 -0
  114. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_semantic_entity_type.py +0 -0
  115. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_severity.py +0 -0
  116. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_subscription_status.py +0 -0
  117. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/enums/enum_trust_level.py +0 -0
  118. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/errors/__init__.py +0 -0
  119. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/errors/embedding_errors.py +0 -0
  120. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/__init__.py +0 -0
  121. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/__init__.py +0 -0
  122. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/adapter_embedding_http.py +0 -0
  123. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/adapter_graph_memory.py +0 -0
  124. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/adapter_intent_graph.py +0 -0
  125. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/adapter_rate_limiter.py +0 -0
  126. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/adapter_valkey.py +0 -0
  127. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/models/__init__.py +0 -0
  128. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/models/model_adapter_intent_graph_config.py +0 -0
  129. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/models/model_intent_domain.py +0 -0
  130. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/adapters/models/model_intent_graph_health.py +0 -0
  131. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/handler_intent.py +0 -0
  132. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/handler_subscription.py +0 -0
  133. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/models/__init__.py +0 -0
  134. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/handlers/models/model_handler_intent_config.py +0 -0
  135. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/__init__.py +0 -0
  136. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/__init__.py +0 -0
  137. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_connections_result.py +0 -0
  138. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_filesystem_adapter_config.py +0 -0
  139. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_graph_memory_config.py +0 -0
  140. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_graph_memory_health.py +0 -0
  141. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_memory_connection.py +0 -0
  142. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_related_memory.py +0 -0
  143. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/adapters/model_related_memory_result.py +0 -0
  144. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/__init__.py +0 -0
  145. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_doc_source_config.py +0 -0
  146. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_embedding_config.py +0 -0
  147. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_filesystem_config.py +0 -0
  148. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_handler_semantic_compute_config.py +0 -0
  149. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_linear_scope_mapping.py +0 -0
  150. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_memory_service_config.py +0 -0
  151. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_path_scope_mapping.py +0 -0
  152. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_postgres_config.py +0 -0
  153. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_promotion_threshold_set.py +0 -0
  154. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_qdrant_config.py +0 -0
  155. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_rate_limiter_config.py +0 -0
  156. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_scope_mapping_config.py +0 -0
  157. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/config/model_semantic_compute_policy_config.py +0 -0
  158. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/container/__init__.py +0 -0
  159. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/__init__.py +0 -0
  160. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/mixin_handler_routing.py +0 -0
  161. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/model_contract_compute_extended.py +0 -0
  162. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/model_contract_effect_extended.py +0 -0
  163. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/model_contract_orchestrator_extended.py +0 -0
  164. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/contracts/model_contract_reducer_extended.py +0 -0
  165. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/__init__.py +0 -0
  166. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_memory_context.py +0 -0
  167. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_memory_metadata.py +0 -0
  168. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_memory_parameters.py +0 -0
  169. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_memory_request.py +0 -0
  170. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_memory_response.py +0 -0
  171. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_operation_metadata.py +0 -0
  172. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_processing_metrics.py +0 -0
  173. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/core/model_provenance.py +0 -0
  174. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/__init__.py +0 -0
  175. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_crawl_state_record.py +0 -0
  176. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_crawl_tick_command.py +0 -0
  177. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_changed_event.py +0 -0
  178. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_discovered_event.py +0 -0
  179. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_indexed_event.py +0 -0
  180. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_indexed_kreuzberg_event.py +0 -0
  181. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_parse_failed_event.py +0 -0
  182. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/model_document_removed_event.py +0 -0
  183. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/crawl/types.py +0 -0
  184. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/events/__init__.py +0 -0
  185. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/events/model_crawl_tick_command.py +0 -0
  186. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/events/model_intent_classified_event.py +0 -0
  187. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/__init__.py +0 -0
  188. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_audit_metadata.py +0 -0
  189. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_configuration.py +0 -0
  190. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_connection_metadata.py +0 -0
  191. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_error_details.py +0 -0
  192. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_health_metadata.py +0 -0
  193. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_health_response.py +0 -0
  194. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_memory_data.py +0 -0
  195. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_metrics_response.py +0 -0
  196. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_migration_progress.py +0 -0
  197. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_notes.py +0 -0
  198. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_priority.py +0 -0
  199. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_progress_summary.py +0 -0
  200. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_semver.py +0 -0
  201. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_success_metrics.py +0 -0
  202. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_system_health.py +0 -0
  203. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_tags.py +0 -0
  204. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_trust_score.py +0 -0
  205. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_typed_collections.py +0 -0
  206. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/foundation/model_user.py +0 -0
  207. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/__init__.py +0 -0
  208. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/model_intelligence_analysis.py +0 -0
  209. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/model_pattern_recognition_result.py +0 -0
  210. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/model_semantic_analysis_result.py +0 -0
  211. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/model_semantic_entity.py +0 -0
  212. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/intelligence/model_semantic_entity_list.py +0 -0
  213. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/__init__.py +0 -0
  214. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/model_memory_item.py +0 -0
  215. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/model_memory_query.py +0 -0
  216. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/model_memory_search_result.py +0 -0
  217. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/model_memory_storage_config.py +0 -0
  218. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/memory/model_similarity_result.py +0 -0
  219. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/scoring/__init__.py +0 -0
  220. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/scoring/model_context_item_stats.py +0 -0
  221. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/scoring/model_context_policy_config.py +0 -0
  222. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/scoring/model_promotion_decision.py +0 -0
  223. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/service/__init__.py +0 -0
  224. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/service/model_service_config.py +0 -0
  225. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/service/model_service_health.py +0 -0
  226. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/service/model_service_registry.py +0 -0
  227. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/subscription/__init__.py +0 -0
  228. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/subscription/constants.py +0 -0
  229. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/subscription/model_notification_event.py +0 -0
  230. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/subscription/model_notification_event_payload.py +0 -0
  231. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/subscription/model_subscription.py +0 -0
  232. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/__init__.py +0 -0
  233. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_audit.py +0 -0
  234. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_circuit_breaker_config.py +0 -0
  235. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_circuit_breaker_stats_response.py +0 -0
  236. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_concurrency.py +0 -0
  237. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_correlation_context.py +0 -0
  238. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_health_check_config.py +0 -0
  239. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_health_check_details.py +0 -0
  240. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_health_check_result.py +0 -0
  241. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_health_status.py +0 -0
  242. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_pii_detection_result.py +0 -0
  243. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_pii_detector_config.py +0 -0
  244. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_pii_match.py +0 -0
  245. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_pii_pattern_config.py +0 -0
  246. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_pii_type.py +0 -0
  247. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_resource_health_check.py +0 -0
  248. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_retry_attempt_info.py +0 -0
  249. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_retry_config.py +0 -0
  250. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_retry_statistics.py +0 -0
  251. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_structured_log_entry.py +0 -0
  252. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/models/utils/model_system_health.py +0 -0
  253. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/__init__.py +0 -0
  254. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/base.py +0 -0
  255. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/__init__.py +0 -0
  256. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/contract.yaml +0 -0
  257. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/__init__.py +0 -0
  258. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_request.py +0 -0
  259. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_response.py +0 -0
  260. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  261. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/contract.yaml +0 -0
  262. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/handler_filesystem_crawler.py +0 -0
  263. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/__init__.py +0 -0
  264. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawl_result.py +0 -0
  265. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawler_config.py +0 -0
  266. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  267. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/contract.yaml +0 -0
  268. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/handler_intent_event_consumer.py +0 -0
  269. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/__init__.py +0 -0
  270. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_config.py +0 -0
  271. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_health.py +0 -0
  272. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/__init__.py +0 -0
  273. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/util_event_mapper.py +0 -0
  274. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/__init__.py +0 -0
  275. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/contract.yaml +0 -0
  276. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/handlers/__init__.py +0 -0
  277. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/handlers/handler_intent_query.py +0 -0
  278. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/models/__init__.py +0 -0
  279. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/models/model_handler_intent_query_config.py +0 -0
  280. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/registry/__init__.py +0 -0
  281. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/registry/registry_intent_query_effect.py +0 -0
  282. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/utils/__init__.py +0 -0
  283. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_query_effect/utils/util_intent_mapping.py +0 -0
  284. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/__init__.py +0 -0
  285. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/adapters/__init__.py +0 -0
  286. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/adapters/adapter_intent_storage.py +0 -0
  287. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/contract.yaml +0 -0
  288. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/models/__init__.py +0 -0
  289. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_request.py +0 -0
  290. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_response.py +0 -0
  291. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/__init__.py +0 -0
  292. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/__init__.py +0 -0
  293. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/client_kreuzberg.py +0 -0
  294. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/contract.yaml +0 -0
  295. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/handler_kreuzberg_parse.py +0 -0
  296. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/__init__.py +0 -0
  297. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_config.py +0 -0
  298. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_result.py +0 -0
  299. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_consolidator_reducer/__init__.py +0 -0
  300. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/__init__.py +0 -0
  301. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/__init__.py +0 -0
  302. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_postgres_deactivate_memory.py +0 -0
  303. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_runtime_tick_memory.py +0 -0
  304. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/contract.yaml +0 -0
  305. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/__init__.py +0 -0
  306. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_archive.py +0 -0
  307. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_expire.py +0 -0
  308. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_tick.py +0 -0
  309. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/models/__init__.py +0 -0
  310. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/__init__.py +0 -0
  311. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/validator_lifecycle_transition.py +0 -0
  312. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  313. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/__init__.py +0 -0
  314. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/embedding_client.py +0 -0
  315. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/contract.yaml +0 -0
  316. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/__init__.py +0 -0
  317. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_db_mock.py +0 -0
  318. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_graph_mock.py +0 -0
  319. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_memory_retrieval.py +0 -0
  320. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant.py +0 -0
  321. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant_mock.py +0 -0
  322. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/__init__.py +0 -0
  323. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_embedding_client_config.py +0 -0
  324. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_db_mock_config.py +0 -0
  325. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_graph_mock_config.py +0 -0
  326. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +0 -0
  327. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_config.py +0 -0
  328. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_mock_config.py +0 -0
  329. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_request.py +0 -0
  330. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_response.py +0 -0
  331. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/__init__.py +0 -0
  332. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/adapters/__init__.py +0 -0
  333. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/adapters/adapter_filesystem.py +0 -0
  334. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/contract.yaml +0 -0
  335. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/models/__init__.py +0 -0
  336. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_request.py +0 -0
  337. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_response.py +0 -0
  338. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/__init__.py +0 -0
  339. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/__init__.py +0 -0
  340. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/handler_navigation_history_reducer.py +0 -0
  341. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/models/__init__.py +0 -0
  342. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_request.py +0 -0
  343. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_response.py +0 -0
  344. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_session.py +0 -0
  345. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_navigation_history_reducer/node_navigation_history_reducer.py +0 -0
  346. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/__init__.py +0 -0
  347. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/contract.yaml +0 -0
  348. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/__init__.py +0 -0
  349. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/handler_semantic_compute.py +0 -0
  350. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/__init__.py +0 -0
  351. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_request.py +0 -0
  352. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_response.py +0 -0
  353. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_semantic_analyzer_compute/node_semantic_analyzer_compute.py +0 -0
  354. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/__init__.py +0 -0
  355. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/contract.yaml +0 -0
  356. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/handlers/__init__.py +0 -0
  357. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/handlers/handler_similarity_compute.py +0 -0
  358. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/models/__init__.py +0 -0
  359. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/models/model_handler_similarity_compute_config.py +0 -0
  360. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_request.py +0 -0
  361. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_response.py +0 -0
  362. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_similarity_compute/node_similarity_compute.py +0 -0
  363. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/nodes/node_statistics_reducer/__init__.py +0 -0
  364. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/__init__.py +0 -0
  365. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/base_protocols.py +0 -0
  366. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/data_models.py +0 -0
  367. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/error_models.py +0 -0
  368. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_crawl_state_repository.py +0 -0
  369. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_embedding.py +0 -0
  370. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_embedding_provider.py +0 -0
  371. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_handler_intent.py +0 -0
  372. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_intent_graph_adapter.py +0 -0
  373. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/protocols/protocol_secrets_provider.py +0 -0
  374. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/__init__.py +0 -0
  375. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/adapters.py +0 -0
  376. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/contract_topics.py +0 -0
  377. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/introspection.py +0 -0
  378. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/runtime/message_type_registration.py +0 -0
  379. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/secrets.py +0 -0
  380. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/settings.py +0 -0
  381. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/tools/__init__.py +0 -0
  382. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/tools/contract_linter.py +0 -0
  383. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/tools/stubs/__init__.py +0 -0
  384. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/tools/stubs/contract_validator.py +0 -0
  385. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/__init__.py +0 -0
  386. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/audit_logger.py +0 -0
  387. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/concurrency.py +0 -0
  388. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/db_url.py +0 -0
  389. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/error_sanitizer.py +0 -0
  390. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/handler_constants.py +0 -0
  391. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/health_manager.py +0 -0
  392. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/observability.py +0 -0
  393. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/pii_detector.py +0 -0
  394. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/resource_manager.py +0 -0
  395. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/src/omnimemory/utils/retry_utils.py +0 -0
  396. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/__init__.py +0 -0
  397. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/audit/io_audit_whitelist.yaml +0 -0
  398. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/audit/transport_import_whitelist.yaml +0 -0
  399. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/conftest.py +0 -0
  400. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/__init__.py +0 -0
  401. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/__init__.py +0 -0
  402. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_embedding_http.py +0 -0
  403. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_embedding_http_integration.py +0 -0
  404. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_graph_memory.py +0 -0
  405. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_graph_memory_integration.py +0 -0
  406. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_intent_graph.py +0 -0
  407. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/adapters/test_adapter_rate_limiter.py +0 -0
  408. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/test_handler_intent.py +0 -0
  409. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/handlers/test_handler_semantic_compute.py +0 -0
  410. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/__init__.py +0 -0
  411. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/conftest.py +0 -0
  412. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/nodes/__init__.py +0 -0
  413. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/nodes/test_kreuzberg_parse_effect.py +0 -0
  414. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/nodes/test_memory_lifecycle_orchestrator_integration.py +0 -0
  415. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/nodes/test_navigation_history_reducer_integration.py +0 -0
  416. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/test_entry_point_discovery.py +0 -0
  417. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/test_handler_lifecycle_pattern.py +0 -0
  418. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/test_handler_subscription.py +0 -0
  419. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/integration/test_node_agent_coordinator.py +0 -0
  420. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/__init__.py +0 -0
  421. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/contracts/__init__.py +0 -0
  422. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/contracts/test_extended_contracts.py +0 -0
  423. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/events/__init__.py +0 -0
  424. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/events/test_model_intent_classified_event.py +0 -0
  425. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/models/test_frozen_boundary_models.py +0 -0
  426. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/__init__.py +0 -0
  427. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  428. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_filesystem_crawler_effect/test_handler_filesystem_crawler.py +0 -0
  429. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  430. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_event_consumer_effect/test_handler_intent_event_consumer.py +0 -0
  431. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_event_consumer_effect/test_model_consumer_health.py +0 -0
  432. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_event_consumer_effect/test_util_event_mapper.py +0 -0
  433. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_query_effect/__init__.py +0 -0
  434. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_query_effect/conftest.py +0 -0
  435. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_query_effect/test_handler_intent_query_integration.py +0 -0
  436. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_storage_effect/__init__.py +0 -0
  437. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_intent_storage_effect/test_handler_intent_storage_adapter_integration.py +0 -0
  438. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  439. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_memory_retrieval_effect/test_memory_retrieval_effect.py +0 -0
  440. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_memory_storage_effect/__init__.py +0 -0
  441. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_memory_storage_effect/test_memory_storage_effect.py +0 -0
  442. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_navigation_history_reducer/__init__.py +0 -0
  443. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_navigation_history_reducer/test_navigation_history_reducer_unit.py +0 -0
  444. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_similarity_compute/__init__.py +0 -0
  445. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/nodes/node_similarity_compute/test_similarity_compute.py +0 -0
  446. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_bootstrap.py +0 -0
  447. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_concurrency.py +0 -0
  448. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_config_models.py +0 -0
  449. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_contract_validation.py +0 -0
  450. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_contract_version.py +0 -0
  451. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_db_url.py +0 -0
  452. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_foundation.py +0 -0
  453. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_health_manager.py +0 -0
  454. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_migration_progress.py +0 -0
  455. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_node_enforcement.py +0 -0
  456. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_node_imports.py +0 -0
  457. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_observability_metrics.py +0 -0
  458. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_performance.py +0 -0
  459. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_resource_manager.py +0 -0
  460. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_secrets_provider.py +0 -0
  461. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_semantic_compute_policy_config.py +0 -0
  462. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_settings.py +0 -0
  463. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/test_validation_scripts.py +0 -0
  464. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/__init__.py +0 -0
  465. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/handlers/__init__.py +0 -0
  466. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/handlers/adapters/__init__.py +0 -0
  467. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/handlers/adapters/test_graph_adapter_typing.py +0 -0
  468. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/handlers/test_subscription_typing.py +0 -0
  469. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/__init__.py +0 -0
  470. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_handler_qdrant.py +0 -0
  471. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_kreuzberg_parse_effect/__init__.py +0 -0
  472. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_kreuzberg_parse_effect/test_handler_kreuzberg_parse.py +0 -0
  473. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/__init__.py +0 -0
  474. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_postgres_deactivate_memory.py +0 -0
  475. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_runtime_tick_memory.py +0 -0
  476. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_archive.py +0 -0
  477. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_expire.py +0 -0
  478. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_tick.py +0 -0
  479. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_validator_lifecycle_transition.py +0 -0
  480. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/nodes/test_model_handler_qdrant_config.py +0 -0
  481. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/__init__.py +0 -0
  482. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/conftest.py +0 -0
  483. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_adapters.py +0 -0
  484. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_contract_topics.py +0 -0
  485. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_dispatch_handlers.py +0 -0
  486. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_introspection.py +0 -0
  487. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_message_type_registration.py +0 -0
  488. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_plugin.py +0 -0
  489. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/runtime/test_plugin_memory_validate_handshake.py +0 -0
  490. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_contract_linter.py +0 -0
  491. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_entry_points.py +0 -0
  492. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_handler_subscription_notify_strict.py +0 -0
  493. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_ingestion_models.py +0 -0
  494. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_io_audit.py +0 -0
  495. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_scope_mapping_config.py +0 -0
  496. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_sql_placeholders.py +0 -0
  497. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_validate_kafka_imports.py +0 -0
  498. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/tests/unit/test_validate_no_transport_imports.py +0 -0
  499. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/validate_architecture_improvements.py +0 -0
  500. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/validate_foundation.py +0 -0
  501. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/validate_foundation_isolated.py +0 -0
  502. {omninode_memory-0.9.3 → omninode_memory-0.12.0}/validate_foundation_minimal.py +0 -0
@@ -1,13 +1,13 @@
1
1
  # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
2
2
  # SPDX-License-Identifier: MIT
3
3
 
4
- name: Test Suite
4
+ name: CI
5
5
 
6
6
  on:
7
7
  push:
8
- branches: [main, develop]
8
+ branches: [main]
9
9
  pull_request:
10
- branches: [main, develop]
10
+ branches: [main]
11
11
  merge_group:
12
12
  workflow_dispatch:
13
13
 
@@ -50,3 +50,29 @@ jobs:
50
50
 
51
51
  - name: Check for Optional/Union usage (PEP 604)
52
52
  run: uv run ruff check src/ --select UP007,UP006
53
+
54
+ ci-naming-convention:
55
+ name: CI Naming Convention
56
+ runs-on: ubuntu-latest
57
+ steps:
58
+ - name: Checkout code
59
+ uses: actions/checkout@v6
60
+
61
+ - name: Verify CI workflow naming convention
62
+ run: |
63
+ if [ ! -f .github/workflows/ci.yml ]; then
64
+ echo "::error::Missing .github/workflows/ci.yml"
65
+ exit 1
66
+ fi
67
+ CI_NAME=$(grep -m1 "^name:" .github/workflows/ci.yml | sed "s/name: *//")
68
+ if [ "$CI_NAME" != "CI" ]; then
69
+ echo "::error::ci.yml has name '$CI_NAME' — must be 'CI'"
70
+ exit 1
71
+ fi
72
+ for legacy in test.yml ci.yaml; do
73
+ if [ -f ".github/workflows/$legacy" ]; then
74
+ echo "::error::Legacy workflow .github/workflows/$legacy exists"
75
+ exit 1
76
+ fi
77
+ done
78
+ echo "CI naming convention: PASS"
@@ -33,7 +33,7 @@ jobs:
33
33
 
34
34
  steps:
35
35
  - name: Checkout
36
- uses: actions/checkout@v4
36
+ uses: actions/checkout@v6
37
37
  with:
38
38
  fetch-depth: 0
39
39
 
@@ -37,7 +37,7 @@ jobs:
37
37
 
38
38
  steps:
39
39
  - name: Checkout
40
- uses: actions/checkout@v4
40
+ uses: actions/checkout@v6
41
41
 
42
42
  - name: Extract ticket ID from branch name
43
43
  id: extract
@@ -1,3 +1,40 @@
1
+ ## v0.12.0 (2026-03-25)
2
+
3
+ ### Added
4
+ - feat: env-configurable retrieval stubs + wire similarity handler (#199)
5
+ - feat(runtime): wire AdapterGraphMemory initialization in PluginMemory [OMN-6578] (#198)
6
+
7
+ ### Changed
8
+ - chore(deps): pin omnibase-core==0.32.0, omnibase-infra==0.27.0 for coordinated release
9
+ - chore(deps): bump omnibase_core to 0.31.0 (#197)
10
+ - chore(ci): rename test.yml -> ci.yml for cross-repo standardization [OMN-6215] (#194)
11
+ - build(deps): bump actions/checkout from 4 to 6 in the actions group (#195)
12
+
13
+ ### Fixed
14
+ - fix(deps): update stale omnibase-infra and spi version pins [OMN-6112] (#193)
15
+
16
+ ## v0.11.0 (2026-03-24)
17
+
18
+ ### Changed
19
+ - chore(deps): bump omnibase_core to 0.30.2 (#192)
20
+ - release: omnimemory v0.11.0 (#196)
21
+
22
+ ## v0.9.3 (2026-03-22)
23
+
24
+ ### Changed
25
+ - ci: add check-handshake workflow [OMN-5858] (#190)
26
+ - chore: bump omnibase-core to >=0.30.1 [OMN-5812] (#189)
27
+ - chore(deps): bump omnibase_core to 0.30.1 (#188)
28
+
29
+ ## v0.9.2 (2026-03-21)
30
+
31
+ ### Changed
32
+ - ci: deploy TODO enforcement hooks and workflows OMN-5694, OMN-5695 (#186)
33
+ - chore: remove canceled TODO for OMN-1589 (pyright strictness) [OMN-5690] (#185)
34
+
35
+ ### Fixed
36
+ - fix: restructure omnimemory root contract with top-level fields [OMN-5703] (#184)
37
+
1
38
  ## v0.9.1 (2026-03-20)
2
39
 
3
40
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omninode-memory
3
- Version: 0.9.3
3
+ Version: 0.12.0
4
4
  Summary: OmniNode document ingestion and semantic retrieval
5
5
  Project-URL: Homepage, https://github.com/OmniNode-ai/omnimemory
6
6
  Project-URL: Repository, https://github.com/OmniNode-ai/omnimemory
@@ -20,9 +20,9 @@ Requires-Dist: cachetools<8.0.0,>=6.2.4
20
20
  Requires-Dist: fastapi<1.0.0,>=0.120.1
21
21
  Requires-Dist: httpx<1.0.0,>=0.28.0
22
22
  Requires-Dist: mcp<2.0.0,>=1.8.0
23
- Requires-Dist: omnibase-core>=0.30.1
24
- Requires-Dist: omnibase-infra==0.22.0
25
- Requires-Dist: omnibase-spi==0.18.0
23
+ Requires-Dist: omnibase-core==0.32.0
24
+ Requires-Dist: omnibase-infra==0.27.0
25
+ Requires-Dist: omnibase-spi>=0.19.1
26
26
  Requires-Dist: pinecone-client<7.0.0,>=4.1.0
27
27
  Requires-Dist: psutil<8.0.0,>=7.0.0
28
28
  Requires-Dist: psycopg2-binary<3.0.0,>=2.9.10
@@ -7,7 +7,7 @@ build-backend = "hatchling.build"
7
7
 
8
8
  [project]
9
9
  name = "omninode-memory"
10
- version = "0.9.3"
10
+ version = "0.12.0"
11
11
  description = "OmniNode document ingestion and semantic retrieval"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.12,<3.14"
@@ -59,9 +59,9 @@ dependencies = [
59
59
  "pyyaml>=6.0.2,<7.0.0",
60
60
 
61
61
  # ONEX dependencies - versioned releases from PyPI
62
- "omnibase-core>=0.30.1",
63
- "omnibase-spi==0.18.0",
64
- "omnibase-infra==0.22.0",
62
+ "omnibase-core==0.32.0",
63
+ "omnibase-spi>=0.19.1",
64
+ "omnibase-infra==0.27.0",
65
65
 
66
66
  # Logging and monitoring
67
67
  # Version ^23.3.0 required for compatibility with omnibase-infra (requires ^23.2.0)
@@ -363,6 +363,6 @@ markers = [
363
363
  [tool.uv]
364
364
  # Override omnibase-infra's transitive pins on core/spi so our direct pins win.
365
365
  override-dependencies = [
366
- "omnibase-core>=0.30.1",
367
- "omnibase-spi==0.18.0",
366
+ "omnibase-core==0.32.0",
367
+ "omnibase-spi>=0.19.1",
368
368
  ]
@@ -4,7 +4,7 @@
4
4
 
5
5
  """Validate alignment between CI workflow jobs and pre-commit hooks.
6
6
 
7
- This script ensures that the CI workflow (.github/workflows/test.yml) and
7
+ This script ensures that the CI workflow (.github/workflows/ci.yml) and
8
8
  pre-commit configuration (.pre-commit-config.yaml) stay synchronized.
9
9
 
10
10
  It checks:
@@ -117,7 +117,7 @@ def main() -> int:
117
117
  verbose = "--verbose" in sys.argv or "-v" in sys.argv
118
118
 
119
119
  precommit_path = Path(".pre-commit-config.yaml")
120
- ci_path = Path(".github/workflows/test.yml")
120
+ ci_path = Path(".github/workflows/ci.yml")
121
121
  required_checks_path = Path(".github/required-checks.yaml")
122
122
 
123
123
  precommit_content = load_file(precommit_path)
@@ -30,6 +30,7 @@ import contextlib
30
30
  import inspect
31
31
  import json
32
32
  import logging
33
+ import os
33
34
  from collections.abc import Awaitable, Callable
34
35
  from typing import TYPE_CHECKING, Protocol, cast, runtime_checkable
35
36
  from uuid import UUID, uuid4
@@ -46,6 +47,10 @@ if TYPE_CHECKING:
46
47
  ProtocolHandlerContext,
47
48
  )
48
49
 
50
+ from omnimemory.nodes.node_memory_retrieval_effect.models import (
51
+ ModelHandlerMemoryRetrievalConfig,
52
+ )
53
+
49
54
  logger = logging.getLogger(__name__)
50
55
 
51
56
  # =============================================================================
@@ -118,6 +123,9 @@ DISPATCH_ALIAS_MEMORY_RETRIEVAL_REQUESTED = (
118
123
  )
119
124
  """Dispatch-compatible alias for memory-retrieval-requested command topic."""
120
125
 
126
+ DISPATCH_ALIAS_GRAPH_MEMORY = "onex.commands.omnimemory.graph-memory-query.v1"
127
+ """Dispatch-compatible alias for graph memory query/mutation operations (OMN-6578)."""
128
+
121
129
 
122
130
  # =============================================================================
123
131
  # Bridge Handler: Intent Classified Event
@@ -392,6 +400,47 @@ def create_lifecycle_dispatch_handler(
392
400
  # =============================================================================
393
401
 
394
402
 
403
+ def build_retrieval_config_from_env() -> ( # stub-ok: references stub_handlers field name — fully implemented
404
+ ModelHandlerMemoryRetrievalConfig
405
+ ):
406
+ """Build retrieval config from environment variables.
407
+
408
+ Reads ``OMNIMEMORY_USE_STUB_HANDLERS`` (default ``"true"``). When the
409
+ value is anything other than ``"false"`` (case-insensitive, whitespace
410
+ stripped), in-memory test doubles are used. Otherwise a
411
+ ``ModelHandlerQdrantConfig`` is constructed from ``QDRANT_HOST``,
412
+ ``QDRANT_PORT``, and ``LLM_EMBEDDING_URL``.
413
+
414
+ Returns:
415
+ Fully-populated retrieval config ready for ``HandlerMemoryRetrieval``.
416
+ """
417
+ from omnimemory.nodes.node_memory_retrieval_effect.models import (
418
+ ModelHandlerMemoryRetrievalConfig,
419
+ )
420
+ from omnimemory.nodes.node_memory_retrieval_effect.models.model_handler_qdrant_config import (
421
+ ModelHandlerQdrantConfig,
422
+ )
423
+
424
+ use_stubs = (
425
+ os.getenv("OMNIMEMORY_USE_STUB_HANDLERS", "true").strip().lower() != "false"
426
+ )
427
+ qdrant_config = (
428
+ None
429
+ if use_stubs
430
+ else ModelHandlerQdrantConfig(
431
+ qdrant_host=os.getenv("QDRANT_HOST", "localhost"),
432
+ qdrant_port=int(os.getenv("QDRANT_PORT", "6333")),
433
+ embedding_server_url=os.getenv(
434
+ "LLM_EMBEDDING_URL", "http://localhost:8100"
435
+ ),
436
+ )
437
+ )
438
+ return ModelHandlerMemoryRetrievalConfig(
439
+ use_stub_handlers=use_stubs,
440
+ qdrant_config=qdrant_config,
441
+ )
442
+
443
+
395
444
  def create_memory_retrieval_dispatch_handler( # stub-ok: references stub_handlers field name — fully implemented
396
445
  *,
397
446
  correlation_id: UUID | None = None,
@@ -417,7 +466,6 @@ def create_memory_retrieval_dispatch_handler( # stub-ok: references stub_handle
417
466
  HandlerMemoryRetrieval,
418
467
  )
419
468
  from omnimemory.nodes.node_memory_retrieval_effect.models import (
420
- ModelHandlerMemoryRetrievalConfig,
421
469
  ModelMemoryRetrievalRequest,
422
470
  )
423
471
 
@@ -426,7 +474,7 @@ def create_memory_retrieval_dispatch_handler( # stub-ok: references stub_handle
426
474
  async def _get_retrieval_handler() -> HandlerMemoryRetrieval:
427
475
  nonlocal _retrieval_handler
428
476
  if _retrieval_handler is None:
429
- config = ModelHandlerMemoryRetrievalConfig(use_stub_handlers=True)
477
+ config = build_retrieval_config_from_env()
430
478
  _retrieval_handler = HandlerMemoryRetrieval(config)
431
479
  await _retrieval_handler.initialize()
432
480
  return _retrieval_handler
@@ -488,6 +536,70 @@ def create_memory_retrieval_dispatch_handler( # stub-ok: references stub_handle
488
536
  return _handle
489
537
 
490
538
 
539
+ # =============================================================================
540
+ # Bridge Handler: Graph Memory Adapter (OMN-6578)
541
+ # =============================================================================
542
+
543
+
544
+ def _create_graph_memory_dispatch_handler(
545
+ *,
546
+ adapter: object,
547
+ ) -> Callable[
548
+ [ModelEventEnvelope[object], ProtocolHandlerContext],
549
+ Awaitable[str],
550
+ ]:
551
+ """Create a dispatch engine handler for graph memory operations.
552
+
553
+ Returns an async handler function compatible with MessageDispatchEngine's
554
+ handler signature. The handler delegates to the ``AdapterGraphMemory``
555
+ instance passed as *adapter*.
556
+
557
+ Args:
558
+ adapter: An ``AdapterGraphMemory`` instance (typed as ``object`` to
559
+ avoid importing the adapter at module level).
560
+
561
+ Returns:
562
+ Async handler function with signature (envelope, context) -> str.
563
+ """
564
+
565
+ async def _handle(
566
+ envelope: ModelEventEnvelope[object],
567
+ context: ProtocolHandlerContext,
568
+ ) -> str:
569
+ """Bridge handler: envelope -> AdapterGraphMemory operation."""
570
+ ctx_correlation_id = getattr(context, "correlation_id", None) or uuid4()
571
+
572
+ payload = envelope.payload
573
+ if not isinstance(payload, dict):
574
+ msg = (
575
+ f"Unexpected payload type {type(payload).__name__} "
576
+ f"for graph-memory command "
577
+ f"(correlation_id={ctx_correlation_id})"
578
+ )
579
+ logger.warning(msg)
580
+ raise ValueError(msg)
581
+
582
+ logger.info(
583
+ "Dispatching graph-memory command via MessageDispatchEngine "
584
+ "(correlation_id=%s)",
585
+ ctx_correlation_id,
586
+ )
587
+
588
+ # The adapter operation is determined by the payload content.
589
+ # For now, this is a placeholder that logs receipt; the full
590
+ # operation routing will be wired by downstream tasks.
591
+ operation = payload.get("operation", "unknown")
592
+ logger.info(
593
+ "Graph memory command received (operation=%s, correlation_id=%s)",
594
+ operation,
595
+ ctx_correlation_id,
596
+ )
597
+
598
+ return ""
599
+
600
+ return _handle
601
+
602
+
491
603
  # =============================================================================
492
604
  # Dispatch Engine Factory
493
605
  # =============================================================================
@@ -501,17 +613,19 @@ def create_memory_dispatch_engine(
501
613
  | Callable[[str, dict[str, object]], None]
502
614
  | None = None,
503
615
  publish_topics: dict[str, str] | None = None,
616
+ graph_memory_adapter: object | None = None,
504
617
  ) -> MessageDispatchEngine:
505
618
  """Create and configure a MessageDispatchEngine for OmniMemory domain.
506
619
 
507
620
  Creates the engine, registers all omnimemory domain handlers and routes,
508
621
  and freezes it. The engine is ready for dispatch after this call.
509
622
 
510
- Registers 4 handlers covering 6 routes:
623
+ Registers 4+ handlers covering 6+ routes:
511
624
  1. intent-classified handler (1 route: intent-classified.v1 events)
512
625
  2. intent-query handler (1 route: intent-query-requested.v1 commands)
513
626
  3. memory-retrieval handler (1 route: memory-retrieval-requested.v1 -- fail-fast)
514
627
  4. lifecycle handler (3 routes: runtime-tick, archive, expire -- fail-fast)
628
+ 5. graph-memory handler (optional, 1 route: graph query/mutation -- OMN-6578)
515
629
 
516
630
  Args:
517
631
  intent_consumer: REQUIRED intent event consumer handler.
@@ -521,6 +635,9 @@ def create_memory_dispatch_engine(
521
635
  publish_topics: Optional mapping of handler name to publish topic.
522
636
  Keys: "intent_query". Values: full topic strings from contract
523
637
  event_bus.publish_topics.
638
+ graph_memory_adapter: Optional AdapterGraphMemory instance. When
639
+ provided the adapter is registered as a handler for graph query
640
+ and mutation operations (OMN-6578).
524
641
 
525
642
  Returns:
526
643
  Frozen MessageDispatchEngine ready for dispatch.
@@ -650,6 +767,31 @@ def create_memory_dispatch_engine(
650
767
  )
651
768
  )
652
769
 
770
+ # --- Handler 5 (optional): graph memory adapter (OMN-6578) ---
771
+ if graph_memory_adapter is not None:
772
+ graph_memory_handler = _create_graph_memory_dispatch_handler(
773
+ adapter=graph_memory_adapter,
774
+ )
775
+ engine.register_handler(
776
+ handler_id="memory-graph-memory-handler",
777
+ handler=graph_memory_handler,
778
+ category=EnumMessageCategory.COMMAND,
779
+ node_kind=EnumNodeKind.EFFECT,
780
+ message_types=None,
781
+ )
782
+ engine.register_route(
783
+ ModelDispatchRoute(
784
+ route_id="memory-graph-memory-route",
785
+ topic_pattern=DISPATCH_ALIAS_GRAPH_MEMORY,
786
+ message_category=EnumMessageCategory.COMMAND,
787
+ handler_id="memory-graph-memory-handler",
788
+ description=(
789
+ "Routes graph memory queries/mutations to "
790
+ "AdapterGraphMemory (OMN-6578)."
791
+ ),
792
+ )
793
+ )
794
+
653
795
  engine.freeze()
654
796
 
655
797
  logger.info(
@@ -74,6 +74,7 @@ if TYPE_CHECKING:
74
74
  from omnibase_core.runtime.runtime_message_dispatch import MessageDispatchEngine
75
75
  from omnibase_infra.runtime.registry import RegistryMessageType
76
76
 
77
+ from omnimemory.handlers.adapters.adapter_graph_memory import AdapterGraphMemory
77
78
  from omnimemory.runtime.introspection import MemoryNodeIntrospectionProxy
78
79
 
79
80
  from omnibase_infra.runtime.models.model_handshake_result import ModelHandshakeResult
@@ -173,6 +174,7 @@ class PluginMemory:
173
174
  self._event_bus: ProtocolEventBus | None = None
174
175
  self._introspection_nodes: list[str] = []
175
176
  self._introspection_proxies: list[MemoryNodeIntrospectionProxy] = []
177
+ self._graph_memory_adapter: AdapterGraphMemory | None = None
176
178
 
177
179
  @property
178
180
  def message_type_registry(self) -> RegistryMessageType | None:
@@ -456,11 +458,54 @@ class PluginMemory:
456
458
  collect_publish_topics_for_dispatch,
457
459
  )
458
460
 
461
+ # Graph memory adapter — connects to Memgraph (OMN-6578).
462
+ # ModelGraphMemoryConfig has no host/port fields; connection
463
+ # details are passed to initialize(connection_uri=...).
464
+ graph_memory_adapter = None
465
+ memgraph_host = os.environ.get("OMNIMEMORY_MEMGRAPH_HOST")
466
+ if memgraph_host:
467
+ from omnimemory.handlers.adapters.adapter_graph_memory import (
468
+ AdapterGraphMemory,
469
+ )
470
+ from omnimemory.models.adapters.model_graph_memory_config import (
471
+ ModelGraphMemoryConfig,
472
+ )
473
+
474
+ memgraph_port = int(os.environ.get("OMNIMEMORY_MEMGRAPH_PORT", "7687"))
475
+ graph_config = ModelGraphMemoryConfig()
476
+ graph_memory_adapter = AdapterGraphMemory(config=graph_config)
477
+ connection_uri = f"bolt://{memgraph_host}:{memgraph_port}"
478
+
479
+ # Probe TCP before attempting full bolt handshake to provide
480
+ # a clearer error message if Memgraph is unreachable.
481
+ reachable = await _probe_tcp_reachable(memgraph_host, memgraph_port)
482
+ if reachable:
483
+ await graph_memory_adapter.initialize(
484
+ connection_uri=connection_uri, auth=None
485
+ )
486
+ logger.info(
487
+ "Graph memory adapter initialized (uri=%s, correlation_id=%s)",
488
+ connection_uri,
489
+ correlation_id,
490
+ )
491
+ self._graph_memory_adapter = graph_memory_adapter
492
+ else:
493
+ logger.warning(
494
+ "Memgraph unreachable at %s:%d — graph memory "
495
+ "adapter will not be registered "
496
+ "(correlation_id=%s)",
497
+ memgraph_host,
498
+ memgraph_port,
499
+ correlation_id,
500
+ )
501
+ graph_memory_adapter = None
502
+
459
503
  self._dispatch_engine = create_memory_dispatch_engine(
460
504
  intent_consumer=intent_consumer,
461
505
  intent_query_handler=intent_query_handler,
462
506
  publish_callback=publish_callback,
463
507
  publish_topics=publish_topics,
508
+ graph_memory_adapter=graph_memory_adapter,
464
509
  )
465
510
 
466
511
  # Store event_bus reference for introspection publishing.
@@ -55,6 +55,11 @@ _HANDLER_SPECS: list[tuple[str, str, bool]] = [
55
55
  "HandlerSubscription",
56
56
  False, # Requires ModelONEXContainer
57
57
  ),
58
+ (
59
+ "omnimemory.nodes.node_similarity_compute.handlers.handler_similarity_compute",
60
+ "HandlerSimilarityCompute",
61
+ False, # Requires ModelONEXContainer — verify-only
62
+ ),
58
63
  ]
59
64
 
60
65