// auto-generated by elc --emit-header — do not edit extern fn chat_default_model() -> String extern fn engram_numeric_valid(s: String) -> Bool extern fn parse_float_x100(s: String) -> Int extern fn engram_score_node(node_json: String) -> Int extern fn engram_render_node(node_json: String) -> String extern fn engram_render_nodes(nodes_json: String) -> String extern fn engram_dedup_nodes(nodes_json: String) -> String extern fn engram_compile_ranked(nodes_json: String, max_nodes: Int) -> String extern fn engram_split_topics(message: String) -> String extern fn engram_extract_entities(message: String) -> String extern fn engram_detect_recall_intent(message: String) -> Bool extern fn engram_is_continuation(message: String, hist_len: Int) -> Bool extern fn engram_compile_multi(topic: String) -> String extern fn engram_nodes_merge(a: String, b: String) -> String extern fn id_in_seen(node_id: String, seen: String) -> Bool extern fn add_to_seen(seen: String, node_id: String) -> String extern fn engram_extract_ids(nodes_json: String) -> String extern fn engram_compile(intent: String) -> String extern fn json_safe(s: String) -> String extern fn build_system_prompt(ctx: String, chat_mode: Bool) -> String extern fn hist_append(hist: String, role: String, content: String) -> String extern fn hist_trim(hist: String) -> String extern fn hist_trim_with_bell_guard(hist: String) -> String extern fn clean_llm_response(s: String) -> String extern fn conv_history_persist(hist: String) -> Void extern fn conv_history_load() -> String extern fn session_preload_bullets(nodes: String, max_bullets: Int, snip_len: Int) -> String extern fn handle_chat(body: String) -> String extern fn handle_see(body: String) -> String extern fn studio_tools_json() -> String extern fn agentic_api_key() -> String extern fn agentic_tools_literal() -> String extern fn agentic_tools_with_web() -> String extern fn connector_tools_json() -> String extern fn agentic_tools_all() -> String extern fn call_mcp_bridge(tool_name: String, tool_input: String) -> String extern fn tool_auto_approved(tool_name: String) -> Bool extern fn call_neuron_mcp(tool_name: String, args: String) -> String extern fn agent_workspace_root() -> String extern fn path_within_root(path: String, root: String) -> Bool extern fn resolve_in_root(path: String, root: String) -> String extern fn dispatch_tool(tool_name: String, tool_input: String) -> String extern fn is_builtin_tool(tool_name: String) -> Bool extern fn next_bridge_id() -> String extern fn handle_chat_agentic(body: String) -> String extern fn agentic_loop(session_id: String, model: String, safe_sys: String, tools_json: String, messages_in: String, h: Map, tools_log_in: String) -> String extern fn bridge_save(session_id: String, model: String, safe_sys: String, tools_json: String, messages: String, tools_log: String, tool_use_id: String) -> Bool extern fn agentic_resume(session_id: String, tool_use_id: String, content: String) -> String extern fn handle_tool_result(session_id: String, body: String) -> String extern fn handle_chat_as_soul(body: String) -> String extern fn handle_dharma_room_turn(body: String) -> String extern fn handle_dharma_room_turn_agentic(body: String) -> String extern fn session_summary_write(summary_text: String) -> String extern fn session_summary_write_dated(summary_text: String, label: String) -> String extern fn session_summary_autogenerate(hist: String) -> String extern fn auto_persist(req: String, resp: String) -> Void extern fn strengthen_chat_nodes(activation_nodes: String) -> Void