-module(mcp_toolkit@transport@stdio). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/mcp_toolkit/transport/stdio.gleam"). -export([read_message/0]). -file("src/mcp_toolkit/transport/stdio.gleam", 9). -spec batch_loop(binary()) -> {ok, binary()} | {error, nil}. batch_loop(Acc) -> case mcp_ffi:read_line() of {ok, <<"]"/utf8>>} -> {ok, <>}; {ok, Line} -> batch_loop(<>); {error, _} -> {error, nil} end. -file("src/mcp_toolkit/transport/stdio.gleam", 1). -spec read_message() -> {ok, binary()} | {error, nil}. read_message() -> case mcp_ffi:read_line() of {error, _} -> {error, nil}; {ok, <<"["/utf8>>} -> batch_loop(<<"["/utf8>>); {ok, Msg} -> {ok, Msg} end.