-module(starflow@transform). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([prompt_default/1, parser_default/3]). -file("/home/ethanthoma/projects/flow/src/starflow/transform.gleam", 38). -spec prompt_default(starflow@state:state(any())) -> list(starflow@state:content()). prompt_default(State) -> [{text_content, gleam@string:inspect(erlang:element(4, State))}]. -file("/home/ethanthoma/projects/flow/src/starflow/transform.gleam", 85). -spec parser_default( starflow@state:state(JDF), starflow@state:response(), list({binary(), starflow@tool:tool_result()}) ) -> starflow@state:state(JDF). parser_default(State, Last_response, Tool_results) -> Usage = erlang:element(6, Last_response), Content = erlang:element(3, Last_response), Message = {message, <<"assistant"/utf8>>, Content}, Tool_message = begin _pipe = gleam@list:fold( Tool_results, <<""/utf8>>, fun(Acc, Tool_result) -> {Name, Value} = Tool_result, <<<<<<<<<>/binary, Name/binary>>/binary, " returned result "/utf8>>/binary, (gleam@string:inspect(Value))/binary>>/binary, "\n"/utf8>> end ), _pipe@1 = {text_content, _pipe}, _pipe@2 = gleam@list:wrap(_pipe@1), {message, <<"user"/utf8>>, _pipe@2} end, erlang:setelement( 3, erlang:setelement( 2, State, lists:append(erlang:element(2, State), [Message, Tool_message]) ), Usage ).