harn-stdlib 0.8.15

Embedded Harn standard library source catalog
Documentation
/** agent_mcp_bootstrap_if_needed. */
pub fn agent_mcp_bootstrap_if_needed(session, opts) {
  let specs = opts?.mcp_servers
  if specs == nil || len(specs) == 0 {
    return opts
  }
  let result = __host_mcp_bootstrap(session.session_id, specs)
  let out = opts + {_mcp_bootstrap: result, _mcp_server_info: result?.server_info ?? []}
  if len(result.tools_added) == 0 {
    return out
  }
  let existing = opts?.tools
  let existing_tools = if existing?._type == "tool_registry" {
    existing?.tools ?? []
  } else {
    []
  }
  let reg = {_type: "tool_registry", tools: existing_tools + result.tools_added}
  return out + {tools: reg}
}