-module(pig@provider). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/pig/provider.gleam"). -export([default_metadata/0, from_message/1, with_response_id/2, with_response_model/2, with_stop_reason/2, with_input_tokens/2, with_output_tokens/2]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " The provider abstraction and metadata setters used by `pig` and its\n" " generated consumers.\n" "\n" " A `Provider` is just a function from messages + tools to an\n" " `InferenceResult`. Concrete providers (Chat Completions, Codex\n" " Responses, etc.) live behind constructors that hide their transport\n" " details. `pig/openai` provides the standard OpenAI-shaped one.\n" ). -file("src/pig/provider.gleam", 27). ?DOC(" Create an InferenceMetadata with all fields set to None.\n"). -spec default_metadata() -> pig_protocol@inference:inference_metadata(). default_metadata() -> pig_protocol@inference:default_metadata(). -file("src/pig/provider.gleam", 32). ?DOC(" Wrap a bare Message into an InferenceResult with default (all-None) metadata.\n"). -spec from_message(pig_protocol@message:message()) -> pig_protocol@inference:inference_result(). from_message(Msg) -> pig_protocol@inference:from_message(Msg). -file("src/pig/provider.gleam", 37). ?DOC(" Set response_id on metadata.\n"). -spec with_response_id(pig_protocol@inference:inference_metadata(), binary()) -> pig_protocol@inference:inference_metadata(). with_response_id(Meta, Id) -> pig_protocol@inference:with_response_id(Meta, Id). -file("src/pig/provider.gleam", 42). ?DOC(" Set response_model on metadata.\n"). -spec with_response_model(pig_protocol@inference:inference_metadata(), binary()) -> pig_protocol@inference:inference_metadata(). with_response_model(Meta, Model) -> pig_protocol@inference:with_response_model(Meta, Model). -file("src/pig/provider.gleam", 50). ?DOC(" Set stop_reason on metadata.\n"). -spec with_stop_reason( pig_protocol@inference:inference_metadata(), pig_protocol@stop_reason:stop_reason() ) -> pig_protocol@inference:inference_metadata(). with_stop_reason(Meta, Reason) -> pig_protocol@inference:with_stop_reason(Meta, Reason). -file("src/pig/provider.gleam", 58). ?DOC(" Set input_tokens on metadata.\n"). -spec with_input_tokens(pig_protocol@inference:inference_metadata(), integer()) -> pig_protocol@inference:inference_metadata(). with_input_tokens(Meta, Tokens) -> pig_protocol@inference:with_input_tokens(Meta, Tokens). -file("src/pig/provider.gleam", 66). ?DOC(" Set output_tokens on metadata.\n"). -spec with_output_tokens(pig_protocol@inference:inference_metadata(), integer()) -> pig_protocol@inference:inference_metadata(). with_output_tokens(Meta, Tokens) -> pig_protocol@inference:with_output_tokens(Meta, Tokens).