Repository navigation
feat(intent_query): Add intent_query_effect node for event-driven intent reads [OMN-1504] - #25
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. Comment |
…ent reads [OMN-1504] Implements ONEX effect node that handles intent query requests via Kafka, enabling OmniDash to query intent data without direct database access. Changes: - Add get_recent_intents() to AdapterIntentGraph for time-based queries - Add session_ref field to ModelIntentRecord for IntentRecordPayload mapping - Create intent_query_effect node with contract.yaml and handler - Support 3 query types: distribution, session, recent - Add registry class for dependency injection - Add integration and unit tests - Update omnibase dependencies to latest versions (core 0.9.4, spi 0.6.0, infra 0.2.3) Kafka Topics: - Input: dev.omnimemory.intent.query.requested.v1 - Output: dev.omnimemory.intent.query.response.v1
0671da3 to
f5b1463
Compare
…N-1504]
Update contract and registry to follow canonical topic naming:
- Rename input_topic/output_topic to subscribe_topic_suffix/publish_topic_suffix
- Add invocation_mode field to contract (subscription vs orchestrator)
- Rename get_kafka_topics() to get_topic_suffixes() with subscribe/publish keys
- Add get_invocation_mode() registry method
- Document that runtime composes full topics: f"{env_prefix}.{suffix}"
…ts [OMN-1504] - Fix mutation of adapter results by using model_copy() instead - Add null safety for min_confidence checks in session/recent handlers - Add try/except for ValueError from map_intent_records - Apply handler timeout config as asyncio.timeout wrapper - Add SLA warning when response exceeds 100ms contract limit - Add 7 integration tests with real data round-trip scenarios
Summary
Implements ONEX effect node that handles intent query requests via Kafka, enabling OmniDash to query intent data without direct database access.
get_recent_intents()to AdapterIntentGraph for time-based queries across all sessionssession_reffield to ModelIntentRecord for IntentRecordPayload mappingintent_query_effectnode with contract.yaml, handler, registryArchitecture
Files Changed
New Node (
src/omnimemory/nodes/intent_query_effect/):contract.yaml- ONEX contract definitionhandlers/handler_intent_query.py- Main handler with query routingmodels/model_handler_intent_query_config.py- Configuration modelutils/util_intent_mapping.py- ModelIntentRecord → IntentRecordPayload mappingregistry/registry_intent_query_effect.py- DI registryModified:
adapter_intent_graph.py- Addedget_recent_intents()methodmodel_intent_domain.py- Addedsession_reffield to ModelIntentRecordpyproject.toml- Updated omnibase dependenciesTest plan
Linear
Closes OMN-1504