omninode-memory 0.9.1__tar.gz → 0.9.2__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 (499) hide show
  1. omninode_memory-0.9.2/.github/workflows/stale-todo-gate.yml +158 -0
  2. omninode_memory-0.9.2/.github/workflows/todo-audit-on-merge.yml +197 -0
  3. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.pre-commit-config.yaml +3 -1
  4. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/PKG-INFO +1 -1
  5. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/contract.yaml +8 -0
  6. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/pyproject.toml +1 -1
  7. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_http_imports.py +1 -1
  8. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_naming.py +1 -1
  9. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_no_backward_compatibility.py +1 -1
  10. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_secrets.py +3 -3
  11. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_pii_type.py +7 -3
  12. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/handlers/handler_intent_query.py +0 -1
  13. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_validate_ci_precommit_alignment.py +1 -0
  14. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/uv.lock +1 -1
  15. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.claude/architecture-handshake.md +0 -0
  16. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.env.example +0 -0
  17. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.flake8 +0 -0
  18. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  20. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  21. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/dependabot.yml +0 -0
  22. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/required-checks.yaml +0 -0
  23. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/auto-tag-on-merge.yml +0 -0
  24. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/build-and-push-migrate-image.yml +0 -0
  25. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/contract-validation.yml +0 -0
  26. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/omni-standards-compliance.yml +0 -0
  27. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/pre-commit.yml +0 -0
  28. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/release-dry-run.yml +0 -0
  29. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/release.yml +0 -0
  30. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/security-scan.yml +0 -0
  31. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.github/workflows/test.yml +0 -0
  32. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.gitignore +0 -0
  33. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.markdown-link-check.json +0 -0
  34. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.secrets.baseline +0 -0
  35. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.serena/memories/project_overview.md +0 -0
  36. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.serena/memories/suggested_commands.md +0 -0
  37. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.serena/project.yml +0 -0
  38. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/.yamlfmt +0 -0
  39. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/AGENT.md +0 -0
  40. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/CHANGELOG.md +0 -0
  41. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/CLAUDE.md +0 -0
  42. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/CODE_OF_CONDUCT.md +0 -0
  43. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/CONTRIBUTING.md +0 -0
  44. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/LICENSE +0 -0
  45. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/README.md +0 -0
  46. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/SECURITY.md +0 -0
  47. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations/001_create_subscription_tables.sql +0 -0
  48. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations/002_create_memories_table.sql +0 -0
  49. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations/003_create_crawl_state_table.sql +0 -0
  50. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations/004_create_navigation_sessions_table.sql +0 -0
  51. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations/005_backfill_null_checksums.sql +0 -0
  52. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations_pending/004_create_navigation_paths_collection.py +0 -0
  53. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/migrations_pending/004_create_navigation_sessions_table.sql +0 -0
  54. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/database/pending/003_create_crawl_state_table.sql +0 -0
  55. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/deployment/docker/Dockerfile.migrate +0 -0
  56. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docker-compose.prod.yml +0 -0
  57. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docker-compose.yml +0 -0
  58. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/INDEX.md +0 -0
  59. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/PERFORMANCE_TESTING.md +0 -0
  60. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/architecture/ARCH_002_KAFKA_ABSTRACTION.md +0 -0
  61. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/architecture/ONEX_FOUR_NODE_ARCHITECTURE.md +0 -0
  62. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/ci/CI_MONITORING_GUIDE.md +0 -0
  63. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/db-split/fk-audit-omn-2069.md +0 -0
  64. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/environment_variables.md +0 -0
  65. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/handler_reuse_matrix.md +0 -0
  66. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/pii_handling.md +0 -0
  67. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/runtime/RUNTIME_PLUGINS.md +0 -0
  68. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/docs/stub_protocols.md +0 -0
  69. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/examples/__init__.py +0 -0
  70. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/examples/advanced_architecture_demo.py +0 -0
  71. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/pyrightconfig.json +0 -0
  72. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/check_migration_freeze.sh +0 -0
  73. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/check_no_hardcoded_bolt.sh +0 -0
  74. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validate_ci_precommit_alignment.py +0 -0
  75. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validate_no_transport_imports.py +0 -0
  76. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/check_ai_slop.py +0 -0
  77. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/check_kafka_no_hardcoded_fallback.sh +0 -0
  78. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_enum_casing.py +0 -0
  79. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_kafka_imports.py +0 -0
  80. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_model_locations.py +0 -0
  81. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_pydantic_patterns.py +0 -0
  82. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_single_class_per_file.py +0 -0
  83. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/scripts/validation/validate_spdx_headers.py +0 -0
  84. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/__init__.py +0 -0
  85. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/_compat_imports.py +0 -0
  86. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/audit/__init__.py +0 -0
  87. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/audit/__main__.py +0 -0
  88. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/audit/io_audit.py +0 -0
  89. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/bootstrap.py +0 -0
  90. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/__init__.py +0 -0
  91. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/crawl/__init__.py +0 -0
  92. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/crawl/enum_context_source_type.py +0 -0
  93. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/crawl/enum_crawler_type.py +0 -0
  94. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/crawl/enum_detected_doc_type.py +0 -0
  95. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_attribution_signal_type.py +0 -0
  96. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_context_item_type.py +0 -0
  97. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_data_type.py +0 -0
  98. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_entity_extraction_mode.py +0 -0
  99. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_error_code.py +0 -0
  100. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_intelligence_operation_type.py +0 -0
  101. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_lifecycle_state.py +0 -0
  102. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_memory_operation_type.py +0 -0
  103. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_memory_storage_type.py +0 -0
  104. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_migration_status.py +0 -0
  105. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_node_type.py +0 -0
  106. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_operation_status.py +0 -0
  107. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_priority_level.py +0 -0
  108. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_promotion_tier.py +0 -0
  109. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_semantic_entity_type.py +0 -0
  110. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_severity.py +0 -0
  111. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_subscription_status.py +0 -0
  112. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/enums/enum_trust_level.py +0 -0
  113. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/errors/__init__.py +0 -0
  114. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/errors/embedding_errors.py +0 -0
  115. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/__init__.py +0 -0
  116. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/__init__.py +0 -0
  117. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/adapter_embedding_http.py +0 -0
  118. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/adapter_graph_memory.py +0 -0
  119. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/adapter_intent_graph.py +0 -0
  120. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/adapter_rate_limiter.py +0 -0
  121. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/adapter_valkey.py +0 -0
  122. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/models/__init__.py +0 -0
  123. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/models/model_adapter_intent_graph_config.py +0 -0
  124. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/models/model_intent_domain.py +0 -0
  125. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/adapters/models/model_intent_graph_health.py +0 -0
  126. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/handler_intent.py +0 -0
  127. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/handler_subscription.py +0 -0
  128. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/models/__init__.py +0 -0
  129. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/handlers/models/model_handler_intent_config.py +0 -0
  130. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/__init__.py +0 -0
  131. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/__init__.py +0 -0
  132. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_connections_result.py +0 -0
  133. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_filesystem_adapter_config.py +0 -0
  134. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_graph_memory_config.py +0 -0
  135. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_graph_memory_health.py +0 -0
  136. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_memory_connection.py +0 -0
  137. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_related_memory.py +0 -0
  138. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/adapters/model_related_memory_result.py +0 -0
  139. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/__init__.py +0 -0
  140. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_doc_source_config.py +0 -0
  141. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_embedding_config.py +0 -0
  142. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_filesystem_config.py +0 -0
  143. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_handler_semantic_compute_config.py +0 -0
  144. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_linear_scope_mapping.py +0 -0
  145. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_memory_service_config.py +0 -0
  146. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_path_scope_mapping.py +0 -0
  147. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_postgres_config.py +0 -0
  148. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_promotion_threshold_set.py +0 -0
  149. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_qdrant_config.py +0 -0
  150. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_rate_limiter_config.py +0 -0
  151. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_scope_mapping_config.py +0 -0
  152. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/config/model_semantic_compute_policy_config.py +0 -0
  153. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/container/__init__.py +0 -0
  154. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/__init__.py +0 -0
  155. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/mixin_handler_routing.py +0 -0
  156. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/model_contract_compute_extended.py +0 -0
  157. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/model_contract_effect_extended.py +0 -0
  158. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/model_contract_orchestrator_extended.py +0 -0
  159. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/contracts/model_contract_reducer_extended.py +0 -0
  160. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/__init__.py +0 -0
  161. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_memory_context.py +0 -0
  162. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_memory_metadata.py +0 -0
  163. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_memory_parameters.py +0 -0
  164. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_memory_request.py +0 -0
  165. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_memory_response.py +0 -0
  166. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_operation_metadata.py +0 -0
  167. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_processing_metrics.py +0 -0
  168. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/core/model_provenance.py +0 -0
  169. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/__init__.py +0 -0
  170. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_crawl_state_record.py +0 -0
  171. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_crawl_tick_command.py +0 -0
  172. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_changed_event.py +0 -0
  173. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_discovered_event.py +0 -0
  174. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_indexed_event.py +0 -0
  175. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_indexed_kreuzberg_event.py +0 -0
  176. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_parse_failed_event.py +0 -0
  177. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/model_document_removed_event.py +0 -0
  178. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/crawl/types.py +0 -0
  179. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/events/__init__.py +0 -0
  180. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/events/model_crawl_tick_command.py +0 -0
  181. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/events/model_intent_classified_event.py +0 -0
  182. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/__init__.py +0 -0
  183. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_audit_metadata.py +0 -0
  184. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_configuration.py +0 -0
  185. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_connection_metadata.py +0 -0
  186. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_error_details.py +0 -0
  187. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_health_metadata.py +0 -0
  188. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_health_response.py +0 -0
  189. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_memory_data.py +0 -0
  190. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_metrics_response.py +0 -0
  191. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_migration_progress.py +0 -0
  192. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_notes.py +0 -0
  193. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_priority.py +0 -0
  194. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_progress_summary.py +0 -0
  195. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_semver.py +0 -0
  196. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_success_metrics.py +0 -0
  197. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_system_health.py +0 -0
  198. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_tags.py +0 -0
  199. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_trust_score.py +0 -0
  200. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_typed_collections.py +0 -0
  201. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/foundation/model_user.py +0 -0
  202. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/__init__.py +0 -0
  203. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/model_intelligence_analysis.py +0 -0
  204. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/model_pattern_recognition_result.py +0 -0
  205. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/model_semantic_analysis_result.py +0 -0
  206. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/model_semantic_entity.py +0 -0
  207. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/intelligence/model_semantic_entity_list.py +0 -0
  208. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/__init__.py +0 -0
  209. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/model_memory_item.py +0 -0
  210. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/model_memory_query.py +0 -0
  211. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/model_memory_search_result.py +0 -0
  212. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/model_memory_storage_config.py +0 -0
  213. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/memory/model_similarity_result.py +0 -0
  214. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/scoring/__init__.py +0 -0
  215. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/scoring/model_context_item_stats.py +0 -0
  216. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/scoring/model_context_policy_config.py +0 -0
  217. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/scoring/model_promotion_decision.py +0 -0
  218. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/service/__init__.py +0 -0
  219. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/service/model_service_config.py +0 -0
  220. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/service/model_service_health.py +0 -0
  221. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/service/model_service_registry.py +0 -0
  222. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/subscription/__init__.py +0 -0
  223. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/subscription/constants.py +0 -0
  224. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/subscription/model_notification_event.py +0 -0
  225. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/subscription/model_notification_event_payload.py +0 -0
  226. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/subscription/model_subscription.py +0 -0
  227. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/__init__.py +0 -0
  228. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_audit.py +0 -0
  229. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_circuit_breaker_config.py +0 -0
  230. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_circuit_breaker_stats_response.py +0 -0
  231. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_concurrency.py +0 -0
  232. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_correlation_context.py +0 -0
  233. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_health_check_config.py +0 -0
  234. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_health_check_details.py +0 -0
  235. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_health_check_result.py +0 -0
  236. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_health_status.py +0 -0
  237. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_pii_detection_result.py +0 -0
  238. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_pii_detector_config.py +0 -0
  239. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_pii_match.py +0 -0
  240. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_pii_pattern_config.py +0 -0
  241. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_resource_health_check.py +0 -0
  242. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_retry_attempt_info.py +0 -0
  243. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_retry_config.py +0 -0
  244. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_retry_statistics.py +0 -0
  245. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_structured_log_entry.py +0 -0
  246. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/models/utils/model_system_health.py +0 -0
  247. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/__init__.py +0 -0
  248. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/base.py +0 -0
  249. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/__init__.py +0 -0
  250. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/contract.yaml +0 -0
  251. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/__init__.py +0 -0
  252. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_request.py +0 -0
  253. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_agent_coordinator_orchestrator/models/model_response.py +0 -0
  254. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  255. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/contract.yaml +0 -0
  256. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/handler_filesystem_crawler.py +0 -0
  257. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/__init__.py +0 -0
  258. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawl_result.py +0 -0
  259. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_filesystem_crawler_effect/models/model_filesystem_crawler_config.py +0 -0
  260. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  261. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/contract.yaml +0 -0
  262. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/handler_intent_event_consumer.py +0 -0
  263. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/__init__.py +0 -0
  264. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_config.py +0 -0
  265. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/models/model_consumer_health.py +0 -0
  266. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/__init__.py +0 -0
  267. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_event_consumer_effect/utils/util_event_mapper.py +0 -0
  268. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/__init__.py +0 -0
  269. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/contract.yaml +0 -0
  270. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/handlers/__init__.py +0 -0
  271. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/models/__init__.py +0 -0
  272. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/models/model_handler_intent_query_config.py +0 -0
  273. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/registry/__init__.py +0 -0
  274. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/registry/registry_intent_query_effect.py +0 -0
  275. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/utils/__init__.py +0 -0
  276. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_query_effect/utils/util_intent_mapping.py +0 -0
  277. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/__init__.py +0 -0
  278. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/adapters/__init__.py +0 -0
  279. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/adapters/adapter_intent_storage.py +0 -0
  280. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/contract.yaml +0 -0
  281. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/models/__init__.py +0 -0
  282. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_request.py +0 -0
  283. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_intent_storage_effect/models/model_intent_storage_response.py +0 -0
  284. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/__init__.py +0 -0
  285. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/__init__.py +0 -0
  286. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/clients/client_kreuzberg.py +0 -0
  287. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/contract.yaml +0 -0
  288. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/handler_kreuzberg_parse.py +0 -0
  289. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/__init__.py +0 -0
  290. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_config.py +0 -0
  291. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_kreuzberg_parse_effect/models/model_kreuzberg_parse_result.py +0 -0
  292. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_consolidator_reducer/__init__.py +0 -0
  293. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/__init__.py +0 -0
  294. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/__init__.py +0 -0
  295. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_postgres_deactivate_memory.py +0 -0
  296. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/adapters/adapter_runtime_tick_memory.py +0 -0
  297. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/contract.yaml +0 -0
  298. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/__init__.py +0 -0
  299. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_archive.py +0 -0
  300. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_expire.py +0 -0
  301. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/handlers/handler_memory_tick.py +0 -0
  302. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/models/__init__.py +0 -0
  303. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/__init__.py +0 -0
  304. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_lifecycle_orchestrator/validators/validator_lifecycle_transition.py +0 -0
  305. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  306. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/__init__.py +0 -0
  307. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/clients/embedding_client.py +0 -0
  308. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/contract.yaml +0 -0
  309. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/__init__.py +0 -0
  310. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_db_mock.py +0 -0
  311. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_graph_mock.py +0 -0
  312. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_memory_retrieval.py +0 -0
  313. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant.py +0 -0
  314. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/handlers/handler_qdrant_mock.py +0 -0
  315. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/__init__.py +0 -0
  316. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_embedding_client_config.py +0 -0
  317. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_db_mock_config.py +0 -0
  318. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_graph_mock_config.py +0 -0
  319. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_memory_retrieval_config.py +0 -0
  320. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_config.py +0 -0
  321. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_handler_qdrant_mock_config.py +0 -0
  322. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_request.py +0 -0
  323. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_retrieval_effect/models/model_memory_retrieval_response.py +0 -0
  324. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/__init__.py +0 -0
  325. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/adapters/__init__.py +0 -0
  326. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/adapters/adapter_filesystem.py +0 -0
  327. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/contract.yaml +0 -0
  328. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/models/__init__.py +0 -0
  329. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_request.py +0 -0
  330. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_memory_storage_effect/models/model_memory_storage_response.py +0 -0
  331. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/__init__.py +0 -0
  332. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/__init__.py +0 -0
  333. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/handlers/handler_navigation_history_reducer.py +0 -0
  334. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/models/__init__.py +0 -0
  335. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_request.py +0 -0
  336. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_history_response.py +0 -0
  337. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/models/model_navigation_session.py +0 -0
  338. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_navigation_history_reducer/node_navigation_history_reducer.py +0 -0
  339. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/__init__.py +0 -0
  340. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/contract.yaml +0 -0
  341. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/__init__.py +0 -0
  342. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/handlers/handler_semantic_compute.py +0 -0
  343. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/__init__.py +0 -0
  344. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_request.py +0 -0
  345. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/models/model_semantic_analyzer_compute_response.py +0 -0
  346. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_semantic_analyzer_compute/node_semantic_analyzer_compute.py +0 -0
  347. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/__init__.py +0 -0
  348. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/contract.yaml +0 -0
  349. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/handlers/__init__.py +0 -0
  350. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/handlers/handler_similarity_compute.py +0 -0
  351. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/models/__init__.py +0 -0
  352. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/models/model_handler_similarity_compute_config.py +0 -0
  353. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_request.py +0 -0
  354. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/models/model_similarity_compute_response.py +0 -0
  355. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_similarity_compute/node_similarity_compute.py +0 -0
  356. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/nodes/node_statistics_reducer/__init__.py +0 -0
  357. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/__init__.py +0 -0
  358. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/base_protocols.py +0 -0
  359. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/data_models.py +0 -0
  360. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/error_models.py +0 -0
  361. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_crawl_state_repository.py +0 -0
  362. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_embedding.py +0 -0
  363. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_embedding_provider.py +0 -0
  364. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_handler_intent.py +0 -0
  365. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_intent_graph_adapter.py +0 -0
  366. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/protocols/protocol_secrets_provider.py +0 -0
  367. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/__init__.py +0 -0
  368. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/adapters.py +0 -0
  369. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/contract_topics.py +0 -0
  370. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/dispatch_handlers.py +0 -0
  371. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/introspection.py +0 -0
  372. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/message_type_registration.py +0 -0
  373. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/plugin.py +0 -0
  374. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/runtime/wiring.py +0 -0
  375. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/secrets.py +0 -0
  376. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/settings.py +0 -0
  377. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/tools/__init__.py +0 -0
  378. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/tools/contract_linter.py +0 -0
  379. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/tools/stubs/__init__.py +0 -0
  380. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/tools/stubs/contract_validator.py +0 -0
  381. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/__init__.py +0 -0
  382. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/audit_logger.py +0 -0
  383. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/concurrency.py +0 -0
  384. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/db_url.py +0 -0
  385. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/error_sanitizer.py +0 -0
  386. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/handler_constants.py +0 -0
  387. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/health_manager.py +0 -0
  388. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/observability.py +0 -0
  389. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/pii_detector.py +0 -0
  390. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/resource_manager.py +0 -0
  391. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/src/omnimemory/utils/retry_utils.py +0 -0
  392. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/__init__.py +0 -0
  393. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/audit/io_audit_whitelist.yaml +0 -0
  394. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/audit/transport_import_whitelist.yaml +0 -0
  395. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/conftest.py +0 -0
  396. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/__init__.py +0 -0
  397. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/__init__.py +0 -0
  398. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_embedding_http.py +0 -0
  399. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_embedding_http_integration.py +0 -0
  400. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_graph_memory.py +0 -0
  401. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_graph_memory_integration.py +0 -0
  402. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_intent_graph.py +0 -0
  403. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/adapters/test_adapter_rate_limiter.py +0 -0
  404. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/test_handler_intent.py +0 -0
  405. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/handlers/test_handler_semantic_compute.py +0 -0
  406. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/__init__.py +0 -0
  407. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/conftest.py +0 -0
  408. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/nodes/__init__.py +0 -0
  409. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/nodes/test_kreuzberg_parse_effect.py +0 -0
  410. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/nodes/test_memory_lifecycle_orchestrator_integration.py +0 -0
  411. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/nodes/test_navigation_history_reducer_integration.py +0 -0
  412. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/test_entry_point_discovery.py +0 -0
  413. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/test_handler_lifecycle_pattern.py +0 -0
  414. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/test_handler_subscription.py +0 -0
  415. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/integration/test_node_agent_coordinator.py +0 -0
  416. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/__init__.py +0 -0
  417. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/contracts/__init__.py +0 -0
  418. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/contracts/test_extended_contracts.py +0 -0
  419. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/events/__init__.py +0 -0
  420. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/events/test_model_intent_classified_event.py +0 -0
  421. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/models/test_frozen_boundary_models.py +0 -0
  422. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/__init__.py +0 -0
  423. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_filesystem_crawler_effect/__init__.py +0 -0
  424. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_filesystem_crawler_effect/test_handler_filesystem_crawler.py +0 -0
  425. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_event_consumer_effect/__init__.py +0 -0
  426. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_event_consumer_effect/test_handler_intent_event_consumer.py +0 -0
  427. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_event_consumer_effect/test_model_consumer_health.py +0 -0
  428. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_event_consumer_effect/test_util_event_mapper.py +0 -0
  429. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_query_effect/__init__.py +0 -0
  430. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_query_effect/conftest.py +0 -0
  431. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_query_effect/test_handler_intent_query_integration.py +0 -0
  432. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_storage_effect/__init__.py +0 -0
  433. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_intent_storage_effect/test_handler_intent_storage_adapter_integration.py +0 -0
  434. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_memory_retrieval_effect/__init__.py +0 -0
  435. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_memory_retrieval_effect/test_memory_retrieval_effect.py +0 -0
  436. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_memory_storage_effect/__init__.py +0 -0
  437. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_memory_storage_effect/test_memory_storage_effect.py +0 -0
  438. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_navigation_history_reducer/__init__.py +0 -0
  439. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_navigation_history_reducer/test_navigation_history_reducer_unit.py +0 -0
  440. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_similarity_compute/__init__.py +0 -0
  441. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/nodes/node_similarity_compute/test_similarity_compute.py +0 -0
  442. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_bootstrap.py +0 -0
  443. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_concurrency.py +0 -0
  444. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_config_models.py +0 -0
  445. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_contract_validation.py +0 -0
  446. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_contract_version.py +0 -0
  447. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_db_url.py +0 -0
  448. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_foundation.py +0 -0
  449. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_health_manager.py +0 -0
  450. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_migration_progress.py +0 -0
  451. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_node_enforcement.py +0 -0
  452. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_node_imports.py +0 -0
  453. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_observability_metrics.py +0 -0
  454. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_performance.py +0 -0
  455. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_resource_manager.py +0 -0
  456. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_secrets_provider.py +0 -0
  457. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_semantic_compute_policy_config.py +0 -0
  458. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_settings.py +0 -0
  459. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/test_validation_scripts.py +0 -0
  460. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/__init__.py +0 -0
  461. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/handlers/__init__.py +0 -0
  462. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/handlers/adapters/__init__.py +0 -0
  463. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/handlers/adapters/test_graph_adapter_typing.py +0 -0
  464. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/handlers/test_subscription_typing.py +0 -0
  465. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/__init__.py +0 -0
  466. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_handler_qdrant.py +0 -0
  467. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_kreuzberg_parse_effect/__init__.py +0 -0
  468. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_kreuzberg_parse_effect/test_handler_kreuzberg_parse.py +0 -0
  469. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/__init__.py +0 -0
  470. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_postgres_deactivate_memory.py +0 -0
  471. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_adapter_runtime_tick_memory.py +0 -0
  472. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_archive.py +0 -0
  473. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_expire.py +0 -0
  474. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_handler_memory_tick.py +0 -0
  475. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_memory_lifecycle_orchestrator/test_validator_lifecycle_transition.py +0 -0
  476. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/nodes/test_model_handler_qdrant_config.py +0 -0
  477. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/__init__.py +0 -0
  478. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/conftest.py +0 -0
  479. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_adapters.py +0 -0
  480. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_contract_topics.py +0 -0
  481. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_dispatch_handlers.py +0 -0
  482. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_introspection.py +0 -0
  483. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_message_type_registration.py +0 -0
  484. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_plugin.py +0 -0
  485. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_plugin_memory_validate_handshake.py +0 -0
  486. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/runtime/test_wiring.py +0 -0
  487. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_contract_linter.py +0 -0
  488. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_entry_points.py +0 -0
  489. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_handler_subscription_notify_strict.py +0 -0
  490. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_ingestion_models.py +0 -0
  491. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_io_audit.py +0 -0
  492. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_scope_mapping_config.py +0 -0
  493. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_sql_placeholders.py +0 -0
  494. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_validate_kafka_imports.py +0 -0
  495. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/tests/unit/test_validate_no_transport_imports.py +0 -0
  496. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/validate_architecture_improvements.py +0 -0
  497. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/validate_foundation.py +0 -0
  498. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/validate_foundation_isolated.py +0 -0
  499. {omninode_memory-0.9.1 → omninode_memory-0.9.2}/validate_foundation_minimal.py +0 -0
@@ -0,0 +1,158 @@
1
+ ---
2
+ # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ # stale-todo-gate.yml
6
+ #
7
+ # CI gate: check that TODO/FIXME/HACK comments in changed Python files
8
+ # do not reference Linear tickets in terminal states (Done/Canceled).
9
+ #
10
+ # Copy this file to .github/workflows/stale-todo-gate.yml in each repo.
11
+ #
12
+ # Requires: LINEAR_API_KEY as an org/repo secret.
13
+ # Graceful degradation: if LINEAR_API_KEY is unset, the check is skipped
14
+ # (exit 0) with a visible warning.
15
+ #
16
+ # Implements OMN-5688.
17
+
18
+ name: Stale TODO Gate
19
+
20
+ on:
21
+ pull_request:
22
+ branches: [main]
23
+
24
+ jobs:
25
+ stale-todo-gate:
26
+ name: Stale TODO Gate
27
+ runs-on: >-
28
+ ${{
29
+ vars.USE_SELF_HOSTED_RUNNERS == 'true'
30
+ && 'self-hosted, omnibase-ci'
31
+ || 'ubuntu-latest'
32
+ }}
33
+
34
+ steps:
35
+ - name: Checkout
36
+ uses: actions/checkout@v4
37
+ with:
38
+ fetch-depth: 0
39
+
40
+ - name: Check for stale TODOs in changed files
41
+ env:
42
+ LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
43
+ shell: bash
44
+ run: |
45
+ set -euo pipefail
46
+
47
+ # --- Graceful degradation ---
48
+ if [ -z "${LINEAR_API_KEY:-}" ]; then
49
+ echo "::warning::LINEAR_API_KEY not set -- stale-TODO gate skipped"
50
+ exit 0
51
+ fi
52
+
53
+ # --- Collect changed .py files ---
54
+ CHANGED_FILES=$(git diff --name-only origin/main...HEAD -- '*.py' || true)
55
+ if [ -z "$CHANGED_FILES" ]; then
56
+ echo "No Python files changed -- nothing to check."
57
+ exit 0
58
+ fi
59
+
60
+ # --- Extract unique OMN-XXXX ticket IDs from TODO comments ---
61
+ TICKET_IDS=""
62
+ while IFS= read -r file; do
63
+ [ -f "$file" ] || continue
64
+ # Match TODO(OMN-1234), FIXME(OMN-1234), HACK(OMN-1234) in comments
65
+ IDS=$(grep -oE '#.*\b(TODO|FIXME|HACK)\(OMN-[0-9]+\)' "$file" 2>/dev/null \
66
+ | grep -oE 'OMN-[0-9]+' || true)
67
+ if [ -n "$IDS" ]; then
68
+ TICKET_IDS="$TICKET_IDS"$'\n'"$IDS"
69
+ fi
70
+ done <<< "$CHANGED_FILES"
71
+
72
+ UNIQUE_IDS=$(echo "$TICKET_IDS" | sort -u | grep -v '^$' || true)
73
+ if [ -z "$UNIQUE_IDS" ]; then
74
+ echo "No TODO ticket references found in changed files -- clean."
75
+ exit 0
76
+ fi
77
+
78
+ echo "Found ticket references: $(echo "$UNIQUE_IDS" | tr '\n' ' ')"
79
+
80
+ # --- Query Linear for ticket states ---
81
+ # Build a filter query to batch-check all ticket IDs
82
+ STALE_TICKETS=""
83
+ STALE_COUNT=0
84
+
85
+ while IFS= read -r TICKET_ID; do
86
+ [ -z "$TICKET_ID" ] && continue
87
+
88
+ # Validate format
89
+ if ! echo "$TICKET_ID" | grep -qE '^OMN-[0-9]+$'; then
90
+ continue
91
+ fi
92
+
93
+ RESPONSE=$(curl -s --max-time 15 -X POST https://api.linear.app/graphql \
94
+ -H "Authorization: $LINEAR_API_KEY" \
95
+ -H "Content-Type: application/json" \
96
+ -d "{\"query\": \"{ issue(id: \\\"$TICKET_ID\\\") { identifier title state { name type } } }\"}" \
97
+ 2>&1)
98
+
99
+ STATE_TYPE=$(echo "$RESPONSE" | python3 -c "
100
+ import json, sys
101
+ data = json.load(sys.stdin)
102
+ issue = data.get('data', {}).get('issue')
103
+ if issue:
104
+ print(issue.get('state', {}).get('type', ''))
105
+ else:
106
+ print('NOT_FOUND')
107
+ " 2>/dev/null || echo "UNKNOWN")
108
+
109
+ STATE_NAME=$(echo "$RESPONSE" | python3 -c "
110
+ import json, sys
111
+ data = json.load(sys.stdin)
112
+ issue = data.get('data', {}).get('issue')
113
+ if issue:
114
+ print(issue.get('state', {}).get('name', ''))
115
+ else:
116
+ print('')
117
+ " 2>/dev/null || echo "")
118
+
119
+ TITLE=$(echo "$RESPONSE" | python3 -c "
120
+ import json, sys
121
+ data = json.load(sys.stdin)
122
+ issue = data.get('data', {}).get('issue')
123
+ if issue:
124
+ print(issue.get('title', ''))
125
+ else:
126
+ print('')
127
+ " 2>/dev/null || echo "")
128
+
129
+ # Terminal states: COMPLETED or CANCELED (using Linear's state type field)
130
+ if echo "$STATE_TYPE" | grep -qiE '^(completed|canceled|cancelled)$'; then
131
+ STALE_COUNT=$((STALE_COUNT + 1))
132
+ STALE_TICKETS="${STALE_TICKETS} - ${TICKET_ID} (${STATE_NAME}): ${TITLE}"$'\n'
133
+
134
+ # Find which files reference this ticket
135
+ while IFS= read -r file; do
136
+ [ -f "$file" ] || continue
137
+ LOCATIONS=$(grep -n "TODO.*${TICKET_ID}\|FIXME.*${TICKET_ID}\|HACK.*${TICKET_ID}" "$file" 2>/dev/null || true)
138
+ if [ -n "$LOCATIONS" ]; then
139
+ while IFS= read -r loc; do
140
+ STALE_TICKETS="${STALE_TICKETS} ${file}:${loc}"$'\n'
141
+ done <<< "$LOCATIONS"
142
+ fi
143
+ done <<< "$CHANGED_FILES"
144
+ fi
145
+ done <<< "$UNIQUE_IDS"
146
+
147
+ if [ "$STALE_COUNT" -gt 0 ]; then
148
+ echo ""
149
+ echo "::error::Found ${STALE_COUNT} stale TODO(s) referencing closed/canceled tickets:"
150
+ echo ""
151
+ echo "$STALE_TICKETS"
152
+ echo ""
153
+ echo "These TODOs reference tickets that are already Done or Canceled."
154
+ echo "Either remove the TODO or create a new ticket for the remaining work."
155
+ exit 1
156
+ fi
157
+
158
+ echo "All ${UNIQUE_IDS_COUNT:-$(echo "$UNIQUE_IDS" | wc -l | tr -d ' ')} TODO ticket references are active -- clean."
@@ -0,0 +1,197 @@
1
+ ---
2
+ # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ # todo-audit-on-merge.yml
6
+ #
7
+ # Post-merge workflow: when a PR merges, check for residual TODOs
8
+ # referencing the branch's ticket. If found, auto-create a follow-up
9
+ # Linear ticket to track the cleanup.
10
+ #
11
+ # Copy this file to .github/workflows/todo-audit-on-merge.yml in each repo.
12
+ #
13
+ # Requires: LINEAR_API_KEY as an org/repo secret.
14
+ # Graceful degradation: if LINEAR_API_KEY is unset, the audit is skipped.
15
+ #
16
+ # Branch name conventions (reuses linear-close-on-merge.yml extraction):
17
+ # jonahgabriel/omn-XXXX-description
18
+ # jonah/omn-XXXX-description
19
+ # epic/OMN-XXXX/OMN-YYYY/run-id
20
+ # OMN-XXXX-description
21
+ #
22
+ # Implements OMN-5689.
23
+
24
+ name: TODO Audit on Merge
25
+
26
+ on:
27
+ pull_request:
28
+ types: [closed]
29
+ branches:
30
+ - main
31
+
32
+ jobs:
33
+ todo-audit:
34
+ name: TODO Audit
35
+ if: github.event.pull_request.merged == true
36
+ runs-on: ubuntu-latest
37
+
38
+ steps:
39
+ - name: Checkout
40
+ uses: actions/checkout@v4
41
+
42
+ - name: Extract ticket ID from branch name
43
+ id: extract
44
+ env:
45
+ BRANCH: ${{ github.event.pull_request.head.ref }}
46
+ shell: bash
47
+ run: |
48
+ echo "Branch: $BRANCH"
49
+
50
+ TICKET_ID=""
51
+
52
+ # Epic branch: epic/OMN-XXXX/OMN-YYYY/...
53
+ if printf '%s' "$BRANCH" | grep -qiE "^epic/OMN-[0-9]+/(OMN-[0-9]+)(/|$)"; then
54
+ TICKET_ID=$(printf '%s' "$BRANCH" | grep -ioE "^epic/OMN-[0-9]+/(OMN-[0-9]+)(/|$)" | grep -ioE "OMN-[0-9]+" | tail -1)
55
+ fi
56
+
57
+ # Standard: */omn-XXXX-* or omn-XXXX-*
58
+ if [[ -z "$TICKET_ID" ]]; then
59
+ TICKET_ID=$(printf '%s' "$BRANCH" | grep -ioE "(OMN|omn)-[0-9]+" | head -1 | tr '[:lower:]' '[:upper:]')
60
+ fi
61
+
62
+ if [[ -z "$TICKET_ID" ]]; then
63
+ echo "No OMN-XXXX ticket ID found in branch '$BRANCH' -- skipping audit."
64
+ echo "ticket_id=" >> "$GITHUB_OUTPUT"
65
+ else
66
+ echo "Extracted ticket ID: $TICKET_ID"
67
+ echo "ticket_id=$TICKET_ID" >> "$GITHUB_OUTPUT"
68
+ fi
69
+
70
+ - name: Check for residual TODOs and create follow-up ticket
71
+ if: steps.extract.outputs.ticket_id != ''
72
+ env:
73
+ LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }}
74
+ TICKET_ID: ${{ steps.extract.outputs.ticket_id }}
75
+ PR_NUMBER: ${{ github.event.pull_request.number }}
76
+ REPO: ${{ github.repository }}
77
+ shell: bash
78
+ run: |
79
+ set -euo pipefail
80
+
81
+ if [ -z "${LINEAR_API_KEY:-}" ]; then
82
+ echo "::warning::LINEAR_API_KEY not set -- TODO audit skipped"
83
+ exit 0
84
+ fi
85
+
86
+ echo "Scanning for residual TODOs referencing $TICKET_ID..."
87
+
88
+ # Find residual TODOs/FIXMEs/HACKs referencing this ticket
89
+ RESIDUALS=$(grep -rn "TODO.*${TICKET_ID}\|FIXME.*${TICKET_ID}\|HACK.*${TICKET_ID}" \
90
+ --include="*.py" . 2>/dev/null || true)
91
+
92
+ if [ -z "$RESIDUALS" ]; then
93
+ echo "No residual TODOs found for $TICKET_ID -- clean merge."
94
+ exit 0
95
+ fi
96
+
97
+ RESIDUAL_COUNT=$(echo "$RESIDUALS" | wc -l | tr -d ' ')
98
+ echo "Found $RESIDUAL_COUNT residual TODO(s) for $TICKET_ID:"
99
+ echo "$RESIDUALS"
100
+
101
+ # --- Dedup check: search for existing follow-up ticket ---
102
+ FOLLOWUP_TITLE="chore: clean up residual TODOs for ${TICKET_ID}"
103
+
104
+ SEARCH_RESPONSE=$(curl -s --max-time 15 -X POST https://api.linear.app/graphql \
105
+ -H "Authorization: $LINEAR_API_KEY" \
106
+ -H "Content-Type: application/json" \
107
+ -d "{\"query\": \"{ issueSearch(query: \\\"${FOLLOWUP_TITLE}\\\", first: 5) { nodes { id identifier title description } } }\"}" \
108
+ 2>&1)
109
+
110
+ EXISTING=$(echo "$SEARCH_RESPONSE" | python3 -c "
111
+ import json, sys
112
+ data = json.load(sys.stdin)
113
+ nodes = data.get('data', {}).get('issueSearch', {}).get('nodes', [])
114
+ # Check for exact title match or metadata match
115
+ for n in nodes:
116
+ if n.get('title', '') == '${FOLLOWUP_TITLE}':
117
+ print(n['identifier'])
118
+ sys.exit(0)
119
+ desc = n.get('description', '') or ''
120
+ if '<!-- source: ${TICKET_ID} -->' in desc:
121
+ print(n['identifier'])
122
+ sys.exit(0)
123
+ print('')
124
+ " 2>/dev/null || echo "")
125
+
126
+ if [ -n "$EXISTING" ]; then
127
+ echo "Follow-up ticket already exists: $EXISTING -- skipping creation."
128
+ exit 0
129
+ fi
130
+
131
+ # --- Get team ID from the source ticket ---
132
+ TEAM_RESPONSE=$(curl -s --max-time 15 -X POST https://api.linear.app/graphql \
133
+ -H "Authorization: $LINEAR_API_KEY" \
134
+ -H "Content-Type: application/json" \
135
+ -d "{\"query\": \"{ issue(id: \\\"$TICKET_ID\\\") { team { id } } }\"}" \
136
+ 2>&1)
137
+
138
+ TEAM_ID=$(echo "$TEAM_RESPONSE" | python3 -c "
139
+ import json, sys
140
+ data = json.load(sys.stdin)
141
+ issue = data.get('data', {}).get('issue')
142
+ if issue:
143
+ print(issue.get('team', {}).get('id', ''))
144
+ else:
145
+ print('')
146
+ " 2>/dev/null || echo "")
147
+
148
+ if [ -z "$TEAM_ID" ]; then
149
+ echo "Could not determine team ID from $TICKET_ID -- skipping follow-up creation."
150
+ exit 0
151
+ fi
152
+
153
+ # Validate TEAM_ID
154
+ if ! echo "$TEAM_ID" | grep -qE '^[0-9a-f-]+$'; then
155
+ echo "Invalid team ID format -- skipping."
156
+ exit 0
157
+ fi
158
+
159
+ # --- Build description ---
160
+ # Escape residuals for JSON
161
+ ESCAPED_RESIDUALS=$(echo "$RESIDUALS" | python3 -c "
162
+ import json, sys
163
+ print(json.dumps(sys.stdin.read()))
164
+ " 2>/dev/null | sed 's/^"//;s/"$//')
165
+
166
+ DESCRIPTION="<!-- source: ${TICKET_ID} -->\n\nResidual TODOs found after merging PR #${PR_NUMBER} in \`${REPO}\`.\n\nSource ticket: ${TICKET_ID}\n\n## Locations\n\n\`\`\`\n${ESCAPED_RESIDUALS}\n\`\`\`\n\nPlease remove or re-tag these TODOs with a new ticket number."
167
+
168
+ # --- Create follow-up ticket (priority 4 = Low) ---
169
+ CREATE_RESPONSE=$(curl -s --max-time 15 -X POST https://api.linear.app/graphql \
170
+ -H "Authorization: $LINEAR_API_KEY" \
171
+ -H "Content-Type: application/json" \
172
+ -d "{\"query\": \"mutation { issueCreate(input: { title: \\\"${FOLLOWUP_TITLE}\\\", description: \\\"${DESCRIPTION}\\\", teamId: \\\"${TEAM_ID}\\\", priority: 4 }) { success issue { id identifier url } } }\"}" \
173
+ 2>&1)
174
+
175
+ CREATED_ID=$(echo "$CREATE_RESPONSE" | python3 -c "
176
+ import json, sys
177
+ data = json.load(sys.stdin)
178
+ issue = data.get('data', {}).get('issueCreate', {}).get('issue')
179
+ if issue:
180
+ print(issue.get('identifier', ''))
181
+ else:
182
+ print('')
183
+ " 2>/dev/null || echo "")
184
+
185
+ if [ -n "$CREATED_ID" ]; then
186
+ CREATED_URL=$(echo "$CREATE_RESPONSE" | python3 -c "
187
+ import json, sys
188
+ data = json.load(sys.stdin)
189
+ print(data.get('data', {}).get('issueCreate', {}).get('issue', {}).get('url', ''))
190
+ " 2>/dev/null || echo "")
191
+ echo "Created follow-up ticket: $CREATED_ID ($CREATED_URL)"
192
+ echo "::notice::Created follow-up ticket $CREATED_ID for $RESIDUAL_COUNT residual TODO(s)"
193
+ else
194
+ echo "::warning::Failed to create follow-up ticket for residual TODOs"
195
+ # Non-fatal
196
+ exit 0
197
+ fi
@@ -78,13 +78,15 @@
78
78
  repos:
79
79
  # No hardcoded ONEX topic strings — sourced from onex_change_control (OMN-5259)
80
80
  - repo: https://github.com/OmniNode-ai/onex_change_control
81
- rev: 39a09ffb2432b8b7d3f47b334b869b55c9cb4fc6 # pragma: allowlist secret
81
+ rev: 8d7e85bc00e7f1b1306d1cb40949be1ab6e7e91a # pragma: allowlist secret
82
82
  hooks:
83
83
  - id: no-hardcoded-topics
84
84
  # Pre-existing violations — pending migration to canonical topic constants
85
85
  exclude: >-
86
86
  ^src/omnimemory/nodes/(node_filesystem_crawler_effect|node_intent_event_consumer_effect|node_kreuzberg_parse_effect)/models/
87
87
  stages: [pre-commit]
88
+ - id: no-untracked-todos
89
+ stages: [pre-commit]
88
90
 
89
91
  # Stub implementation detection — sourced from omnibase_core (OMN-4472)
90
92
  - repo: https://github.com/OmniNode-ai/omnibase_core
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omninode-memory
3
- Version: 0.9.1
3
+ Version: 0.9.2
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
@@ -1,9 +1,17 @@
1
1
  # SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
2
2
  # SPDX-License-Identifier: MIT
3
3
  ---
4
+ # Package-level architecture contract — NOT a node contract.
5
+ # Validated under reduced rule set per Contract Class Doctrine.
6
+ # Individual node contracts live under src/omnimemory/nodes/*/contract.yaml
7
+
4
8
  # OmniMemory Contract Definition
5
9
  # ONEX 4.0 Compliant Architecture Contract
6
10
 
11
+ name: omnimemory
12
+ description: "Advanced memory management system following ONEX 4-node architecture"
13
+ node_version: {major: 1, minor: 0, patch: 0}
14
+
7
15
  # Contract schema version - tracks the contract format itself
8
16
  # Follows semantic versioning: MAJOR.MINOR.PATCH using ModelSemVer structured format
9
17
  # - MAJOR: Breaking changes to contract schema
@@ -7,7 +7,7 @@ build-backend = "hatchling.build"
7
7
 
8
8
  [project]
9
9
  name = "omninode-memory"
10
- version = "0.9.1"
10
+ version = "0.9.2"
11
11
  description = "OmniNode document ingestion and semantic retrieval"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.12,<3.14"
@@ -105,7 +105,7 @@ ALLOWED_PATHS = [
105
105
  # Adapter layer - the only allowed exit hatch
106
106
  "handlers/adapters/",
107
107
  # Legacy clients directory - allowed during migration
108
- # TODO: Remove this allowance after migration to adapters is complete
108
+ # TODO(OMN-5694): Remove this allowance after migration to adapters is complete
109
109
  "nodes/node_memory_retrieval_effect/clients/",
110
110
  # Kreuzberg effect client - HTTP transport boundary for document extraction (OMN-2733)
111
111
  "nodes/node_kreuzberg_parse_effect/clients/",
@@ -356,7 +356,7 @@ def detect_expected_prefix_from_bases(
356
356
  return None, None
357
357
 
358
358
 
359
- def validate_file( # stub-ok: docstring uses ModelXxx/ServiceXxx as naming examples, not TODO markers
359
+ def validate_file( # stub-ok: docstring uses ModelXxx/ServiceXxx as naming examples # TODO_FORMAT_EXEMPT: function doc references marker names
360
360
  filepath: Path,
361
361
  ) -> list[Violation]:
362
362
  """Validate a single Python file.
@@ -69,7 +69,7 @@ PATTERNS = [
69
69
  "Legacy comment found - migrate to new patterns",
70
70
  ),
71
71
  (
72
- # TODO to remove deprecated code
72
+ # Marker to remove deprecated code # TODO_FORMAT_EXEMPT: describes detection pattern for cleanup markers
73
73
  re.compile(r"#\s*TODO:\s*(remove|delete).*\bdeprecated\b", re.IGNORECASE),
74
74
  "TODO to remove deprecated code - do it now",
75
75
  ),
@@ -211,8 +211,8 @@ SKIP_PATTERNS: list[tuple[re.Pattern[str], str]] = [
211
211
  "Explicit placeholder: 'REPLACE_ME' (exact match)",
212
212
  ),
213
213
  (
214
- # Matches: "TODO_ADD_REAL_KEY", "TODO-replace-secret"
215
- # Requires TODO followed by separator, not just containing TODO
214
+ # Matches: "TODO_ADD_REAL_KEY", "TODO-replace-secret" # TODO_FORMAT_EXEMPT: describes regex pattern for placeholder detection
215
+ # Requires a placeholder marker followed by separator, not just containing it # TODO_FORMAT_EXEMPT: describes regex pattern
216
216
  re.compile(r'["\']TODO[-_][A-Z_-]+["\']', re.IGNORECASE),
217
217
  "Explicit placeholder: 'TODO_...' or 'TODO-...'",
218
218
  ),
@@ -306,7 +306,7 @@ def _check_line_level_skip_patterns(
306
306
  return False, None
307
307
 
308
308
 
309
- def _check_skip_patterns( # stub-ok: docstring uses 'xxxx' as example secret string, not a FIXME marker
309
+ def _check_skip_patterns( # stub-ok: docstring uses 'xxxx' as example secret string, not a marker # TODO_FORMAT_EXEMPT: function doc references marker names
310
310
  line: str,
311
311
  patterns: list[tuple[re.Pattern[str], str]],
312
312
  filepath: Path,
@@ -38,8 +38,12 @@ class PIIType(str, Enum):
38
38
  SSN = "ssn"
39
39
  CREDIT_CARD = "credit_card"
40
40
  IP_ADDRESS = "ip_address"
41
- URL = "url" # TODO: Implement URL detection patterns
41
+ URL = "url" # TODO(OMN-5762): Implement URL detection patterns
42
42
  API_KEY = "api_key"
43
43
  PASSWORD_HASH = "password_hash" # noqa: S105 # Not a password - PII type enum value
44
- PERSON_NAME = "person_name" # TODO: Implement dictionary-based + NLP name detection
45
- ADDRESS = "address" # TODO: Implement address detection with geocoding/NLP
44
+ PERSON_NAME = (
45
+ "person_name" # TODO(OMN-5762): Implement dictionary-based + NLP name detection
46
+ )
47
+ ADDRESS = (
48
+ "address" # TODO(OMN-5762): Implement address detection with geocoding/NLP
49
+ )
@@ -695,7 +695,6 @@ class HandlerIntentQuery:
695
695
  execution_time_ms = (time.monotonic() - start) * 1000
696
696
 
697
697
  # Handler is initialized if we reached here (checked in execute())
698
- # TODO(OMN-1589): query_type="health_check" not in Literal - need to update omnibase_core model
699
698
  return ModelIntentQueryResponseEvent(
700
699
  query_id=request.query_id,
701
700
  query_type="health_check", # pyright: ignore[reportArgumentType]
@@ -331,6 +331,7 @@ class TestPrecommitHooksCoveredByAlignments:
331
331
  "check-stub-implementations",
332
332
  "onex-validate-links",
333
333
  "no-hardcoded-topics",
334
+ "no-untracked-todos",
334
335
  }
335
336
  )
336
337
 
@@ -1490,7 +1490,7 @@ wheels = [
1490
1490
 
1491
1491
  [[package]]
1492
1492
  name = "omninode-memory"
1493
- version = "0.9.1"
1493
+ version = "0.9.2"
1494
1494
  source = { editable = "." }
1495
1495
  dependencies = [
1496
1496
  { name = "aiohttp" },
File without changes
File without changes