ReqLLM.ProviderFileReference (ReqLLM v1.19.0)

View Source

Metadata and validation for explicitly provider-owned file references.

Provider ownership is opt-in. Legacy ReqLLM.Message.ContentPart.file_id/1 values do not contain this metadata and are never inferred to belong to a provider.

Owned references store a versioned record below the reserved "req_llm" -> "provider_file" metadata namespace. Use ReqLLM.Message.ContentPart.owned_file_id/3 to create one.

Summary

Functions

Returns the full ownership record for an explicitly owned file.

Returns the reserved metadata path used for provider-owned files.

Returns whether a content part was explicitly marked as provider-owned.

Returns a redacted ownership record suitable for logs and diagnostics.

Types

t()

@type t() :: %{required(String.t()) => term()}

Functions

fetch(part)

@spec fetch(ReqLLM.Message.ContentPart.t() | map()) :: {:ok, t()} | :error

Returns the full ownership record for an explicitly owned file.

metadata_path()

@spec metadata_path() :: [String.t()]

Returns the reserved metadata path used for provider-owned files.

owned?(part)

@spec owned?(ReqLLM.Message.ContentPart.t() | map()) :: boolean()

Returns whether a content part was explicitly marked as provider-owned.

redacted(part)

@spec redacted(ReqLLM.Message.ContentPart.t() | map()) :: {:ok, t()} | :error

Returns a redacted ownership record suitable for logs and diagnostics.