-module(gllm@types@usage). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gllm/types/usage.gleam"). -export([completion_tokens_details_decoder/0, usage_decoder/0]). -export_type([completion_tokens_details/0, usage/0]). -type completion_tokens_details() :: {completion_tokens_details, integer()}. -type usage() :: {usage, integer(), integer(), integer(), gleam@option:option(completion_tokens_details())}. -file("src/gllm/types/usage.gleam", 17). -spec completion_tokens_details_decoder() -> gleam@dynamic@decode:decoder(completion_tokens_details()). completion_tokens_details_decoder() -> gleam@dynamic@decode:field( <<"reasoning_tokens"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Reasoning_tokens) -> gleam@dynamic@decode:success( {completion_tokens_details, Reasoning_tokens} ) end ). -file("src/gllm/types/usage.gleam", 22). -spec usage_decoder() -> gleam@dynamic@decode:decoder(usage()). usage_decoder() -> gleam@dynamic@decode:field( <<"prompt_tokens"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Prompt_tokens) -> gleam@dynamic@decode:field( <<"completion_tokens"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Completion_tokens) -> gleam@dynamic@decode:field( <<"total_tokens"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Total_tokens) -> gleam@dynamic@decode:optional_field( <<"completion_tokens_details"/utf8>>, none, gleam@dynamic@decode:optional( completion_tokens_details_decoder() ), fun(Completion_tokens_details) -> gleam@dynamic@decode:success( {usage, Prompt_tokens, Completion_tokens, Total_tokens, Completion_tokens_details} ) end ) end ) end ) end ).