bob_central.orchestrator_node

Classes

OrchestratorNode

Central node that orchestrates user queries and specialist responses.

Functions

main([args])

Start the orchestrator node.

Module Contents

class bob_central.orchestrator_node.OrchestratorNode

Bases: rclpy.node.Node

Central node that orchestrates user queries and specialist responses.

Handles busy-locking, queuing, and support-routing.

is_busy = False
last_user_query = ''
is_detailed = False
query_queue = []
was_streamed = False
busy_since = None
user_contexts
user_regex
pub_timed_query
pub_user_response
pub_llm_stream
sub_user_query
sub_specialist_response
sub_internal_stream
pub_bobassi_query
sub_bobassi_response
sub_user_context
pub_rejected
pub_status
pub_visual_trigger
timer_status
property enable_queuing

Return the enable_queuing parameter value.

property reject_if_busy

Return the reject_if_busy parameter value.

internal_stream_callback(msg)

Pass internal tokens to public stream and mark as streamed.

context_callback(msg)

Update the local user context cache.

user_query_callback(msg)

Receive and route user queries.

publish_status()

Publish the current orchestrator status as JSON.

trigger_visual_status(is_busy=False)

Publish a trigger for the dashboard visualization worker.

process_query(msg)

Handle the actual routing and timing injection.

specialist_response_callback(msg)

Receive a response from a specialist agent.

bobassi_response_callback(msg)

Receive a response from Bobassi (Support Bot).

bob_central.orchestrator_node.main(args=None)

Start the orchestrator node.