# Generated by SnakeBridge v0.15.0 - DO NOT EDIT MANUALLY # Regenerate with: mix compile # Library: dspy 3.1.2 # Python module: dspy.streaming # Python class: StatusMessageProvider defmodule Dspy.Streaming.StatusMessageProvider do @moduledoc """ Provides customizable status message streaming for DSPy programs. This class serves as a base for creating custom status message providers. Users can subclass and override its methods to define specific status messages for different stages of program execution, each method must return a string. """ def __snakebridge_python_name__, do: "dspy.streaming" def __snakebridge_python_class__, do: "StatusMessageProvider" def __snakebridge_library__, do: "dspy" @opaque t :: SnakeBridge.Ref.t() @doc """ Initialize self. See help(type(self)) for accurate signature. ## Parameters - `args` (term()) - `kwargs` (term()) """ @spec new(list(term()), keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()} def new(args, opts \\ []) do {args, opts} = SnakeBridge.Runtime.normalize_args_opts(args, opts) SnakeBridge.Runtime.call_class(__MODULE__, :__init__, [] ++ List.wrap(args), opts) end @doc """ Status message after a `dspy.LM` is called. ## Parameters - `outputs` (term()) ## Returns - `nil` """ @spec lm_end_status_message(SnakeBridge.Ref.t(), term(), keyword()) :: {:ok, nil} | {:error, Snakepit.Error.t()} def lm_end_status_message(ref, outputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :lm_end_status_message, [outputs], opts) end @doc """ Status message before a `dspy.LM` is called. ## Parameters - `instance` (term()) - `inputs` (%{optional(String.t()) => term()}) ## Returns - `term()` """ @spec lm_start_status_message( SnakeBridge.Ref.t(), term(), %{optional(String.t()) => term()}, keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()} def lm_start_status_message(ref, instance, inputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :lm_start_status_message, [instance, inputs], opts) end @doc """ Status message after a `dspy.Module` or `dspy.Predict` is called. ## Parameters - `outputs` (term()) ## Returns - `nil` """ @spec module_end_status_message(SnakeBridge.Ref.t(), term(), keyword()) :: {:ok, nil} | {:error, Snakepit.Error.t()} def module_end_status_message(ref, outputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :module_end_status_message, [outputs], opts) end @doc """ Status message before a `dspy.Module` or `dspy.Predict` is called. ## Parameters - `instance` (term()) - `inputs` (%{optional(String.t()) => term()}) ## Returns - `term()` """ @spec module_start_status_message( SnakeBridge.Ref.t(), term(), %{optional(String.t()) => term()}, keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()} def module_start_status_message(ref, instance, inputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :module_start_status_message, [instance, inputs], opts) end @doc """ Status message after a `dspy.Tool` is called. ## Parameters - `outputs` (term()) ## Returns - `nil` """ @spec tool_end_status_message(SnakeBridge.Ref.t(), term(), keyword()) :: {:ok, nil} | {:error, Snakepit.Error.t()} def tool_end_status_message(ref, outputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :tool_end_status_message, [outputs], opts) end @doc """ Status message before a `dspy.Tool` is called. ## Parameters - `instance` (term()) - `inputs` (%{optional(String.t()) => term()}) ## Returns - `term()` """ @spec tool_start_status_message( SnakeBridge.Ref.t(), term(), %{optional(String.t()) => term()}, keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()} def tool_start_status_message(ref, instance, inputs, opts \\ []) do SnakeBridge.Runtime.call_method(ref, :tool_start_status_message, [instance, inputs], opts) end end