-module(starflow@decoder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([response/1]). -file("/home/ethanthoma/projects/flow/src/starflow/decoder.gleam", 6). -spec content_type(gleam@dynamic:dynamic_()) -> {ok, list(starflow@state:content())} | {error, list(gleam@dynamic:decode_error())}. content_type(Content) -> _pipe = Content, (gleam@dynamic:list( gleam@dynamic:any( [gleam@dynamic:decode2( fun(_, Text) -> {text_content, Text} end, gleam@dynamic:field( <<"type"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field( <<"text"/utf8>>, fun gleam@dynamic:string/1 ) ), gleam@dynamic:decode4( fun(_, Id, Name, Input) -> {tool_content, Id, Name, Input} end, gleam@dynamic:field( <<"type"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field( <<"id"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field( <<"name"/utf8>>, fun gleam@dynamic:string/1 ), gleam@dynamic:field( <<"input"/utf8>>, fun gleam@dynamic:dynamic/1 ) )] ) ))(_pipe). -file("/home/ethanthoma/projects/flow/src/starflow/decoder.gleam", 28). -spec stop_reason(gleam@dynamic:dynamic_()) -> {ok, starflow@state:stop_reason()} | {error, list(gleam@dynamic:decode_error())}. stop_reason(Stop_reason) -> _pipe = Stop_reason, _pipe@1 = gleam@dynamic:string(_pipe), gleam@result:then(_pipe@1, fun(Reason) -> case Reason of <<"end_turn"/utf8>> -> {ok, end_turn}; <<"max_tokens"/utf8>> -> {ok, max_tokens}; <<"stop_sequence"/utf8>> -> {ok, stop_sequence}; <<"tool_use"/utf8>> -> {ok, tool_use}; _ -> {error, [{decode_error, <<"StopReason"/utf8>>, <<"String"/utf8>>, []}]} end end). -file("/home/ethanthoma/projects/flow/src/starflow/decoder.gleam", 44). -spec usage(gleam@dynamic:dynamic_()) -> {ok, starflow@state:usage()} | {error, list(gleam@dynamic:decode_error())}. usage(Usage) -> _pipe = Usage, (gleam@dynamic:decode4( fun(Field@0, Field@1, Field@2, Field@3) -> {usage, Field@0, Field@1, Field@2, Field@3} end, gleam@dynamic:field(<<"input_tokens"/utf8>>, fun gleam@dynamic:int/1), gleam@dynamic:optional_field( <<"cache_creation_input_tokens"/utf8>>, fun gleam@dynamic:int/1 ), gleam@dynamic:optional_field( <<"cache_read_input_tokens"/utf8>>, fun gleam@dynamic:int/1 ), gleam@dynamic:field(<<"output_tokens"/utf8>>, fun gleam@dynamic:int/1) ))(_pipe). -file("/home/ethanthoma/projects/flow/src/starflow/decoder.gleam", 60). -spec response(gleam@dynamic:dynamic_()) -> {ok, starflow@state:response()} | {error, list(gleam@dynamic:decode_error())}. response(Body) -> _pipe = Body, (gleam@dynamic:decode5( fun(Field@0, Field@1, Field@2, Field@3, Field@4) -> {response, Field@0, Field@1, Field@2, Field@3, Field@4} end, gleam@dynamic:field(<<"id"/utf8>>, fun gleam@dynamic:string/1), gleam@dynamic:field(<<"content"/utf8>>, fun content_type/1), gleam@dynamic:field(<<"model"/utf8>>, fun gleam@dynamic:string/1), gleam@dynamic:optional_field(<<"stop_reason"/utf8>>, fun stop_reason/1), gleam@dynamic:field(<<"usage"/utf8>>, fun usage/1) ))(_pipe).