Add agentic tool access for Neuron in DHARMA rooms

Adds handle_dharma_room_turn_agentic to chat.el — same full tool loop
as handle_chat_agentic but reads transcript directly (not message), and
returns {response, cgi_id, tools_used} to match the dharma room shape.

Registers dharma_room_turn_agentic as a new event type in routes.el so
the studio can dispatch @neuron turns through this dedicated path.
This commit is contained in:
Will Anderson
2026-05-03 21:47:42 -05:00
parent 30298af3d1
commit bc025d52e7
9 changed files with 216 additions and 7 deletions
+4
View File
@@ -39,6 +39,7 @@ el_val_t dispatch_tool(el_val_t tool_name, el_val_t tool_input);
el_val_t handle_chat_agentic(el_val_t body);
el_val_t handle_chat_as_soul(el_val_t body);
el_val_t handle_dharma_room_turn(el_val_t body);
el_val_t handle_dharma_room_turn_agentic(el_val_t body);
el_val_t auto_persist(el_val_t req, el_val_t resp);
el_val_t auth_headers(el_val_t tok);
el_val_t axon_get(el_val_t path);
@@ -186,6 +187,9 @@ el_val_t handle_dharma_recv(el_val_t body) {
if (str_eq(eff_event, EL_STR("health"))) {
return route_health();
}
if (str_eq(eff_event, EL_STR("dharma_room_turn_agentic"))) {
return handle_dharma_room_turn_agentic(eff_payload);
}
if (str_eq(eff_event, EL_STR("dharma_room_turn"))) {
return handle_dharma_room_turn(eff_payload);
}