class MistralProvider extends Provider implements AudioProvider, EmbeddingProvider, TextProvider, TranscriptionProvider

Traits

Properties

protected AudioGateway $audioGateway from  HasAudioGateway
protected EmbeddingGateway $embeddingGateway from  HasEmbeddingGateway
protected StepTextGateway $textGateway from  HasTextGateway
protected TextGenerationLoop|null $textGenerationLoop from  HasTextGateway
protected TranscriptionGateway $transcriptionGateway from  HasTranscriptionGateway
protected MistralGateway|null $mistralGateway

Methods

__construct(array $config, Dispatcher $events)

Create a Mistral provider instance.

string
name()

Get the name of the underlying AI provider.

from  Provider
string
driver()

Get the name of the underlying AI driver.

from  Provider
array
providerCredentials()

Get the credentials for the underlying AI provider.

from  Provider
array
additionalConfiguration()

Get the provider connection configuration other than the driver, key, and name.

from  Provider
withHeaders(array $headers)

Get a provider instance that sends the given HTTP headers with each request.

from  Provider
mixed
dispatchingFailure(Closure $call, Closure $failed)

Run the given gateway call, dispatching the event built from its exception before rethrowing.

from  Provider
static array
formatProviderAndModelList(Provider|Lab|array|string $providers, string|null $model = null)

Format the given provider / model list.

from  Provider
static array
providerAndModelPairs(Provider|Lab|array|string $providers, string|null $model = null)

Get provider and model pairs without discarding on-demand instances.

from  Provider
array
__serialize()

Get the serializable representation of the provider.

from  Provider
void
__unserialize(array $data)

Restore the provider from its serialized representation.

from  Provider
string
__toString()

Convert the provider to its string representation.

from  Provider
audio(string $text, string $voice = 'default-female', string|null $instructions = null, string|null $model = null, int $timeout = 30, array $providerOptions = [])

Generate audio from the given text.

embeddings(array $inputs, int|null $dimensions = null, string|null $model = null, int $timeout = 30, array $providerOptions = [])

Get embedding vectors representing the given inputs.

bool
supportsNativeEmbeddingDimensions()

Determine if the provider may omit dimensions and use a model's native embedding dimensions.

void
validateEmbeddingInputs(array $inputs, string $model)

Validate embeddings inputs against the provider's supported media types.

array|null
resumableApprovalFor(AgentPrompt $prompt, array $messages, array $tools)

Get the tool approval to resume with, unless a faked agent has no paused approval to resume.

array
withoutForeignReplayBlocks(array $messages)

Replace another provider's raw paused-turn replay state with its generic mapping, since raw blocks are only valid verbatim on the provider that produced them.

bool
resumesApproval(AgentPrompt $prompt, array $messages, array $tools)

Determine whether the prompt is a resume that runs the approved tools.

Closure|null
approvalResultRecorderFor(AgentPrompt $prompt, array|null $approval, Collection|null $resolvedApprovalResults)

Get a callback that captures a resume's resolved approval results for its completion event.

prompt(AgentPrompt $prompt)

Invoke the given agent.

array
gatherMiddlewareFor(Agent $agent)

Gather the internal run middleware for the given agent.

array
resolveTools(AgentPrompt $prompt)

Resolve the tools for the given prompt, wrapping any agent instances as tools.

array
declaredTools(Agent $agent)

Get the tools the agent declares, including the tool that loads its skills.

mixed
resolveTool(mixed $tool)

Resolve a tool returned by the agent into a native tool instance when needed.

prepareRunContext(string $invocationId, AgentPrompt $prompt, array|null $approval)

Build the run's context, letting a remembered conversation claim and record the approval decisions the run resumes.

runContextFor(string $invocationId, AgentPrompt $prompt)

Build the context that identifies this run and reports its step and tool events.

void
recordAgentFailure(string $invocationId, AgentPrompt $prompt, Throwable $exception, bool $retryable = true)

Dispatch the terminal failure event for a run, unless the caller may still retry it against another provider.

void
throwIfNotResumable(AgentPrompt $prompt)

Throw when a pause has surfaced on a prompt that cannot be resumed from persisted or replayed history.

transcribe(TranscribableAudio $audio, string|null $language = null, bool $diarize = false, string|null $model = null, int|null $timeout = null, array $providerOptions = [])

Transcribe the given audio to text.

audioGateway()

Get the provider's audio gateway.

useAudioGateway(AudioGateway $gateway)

Set the provider's audio gateway.

embeddingGateway()

Get the provider's embedding gateway.

useEmbeddingGateway(EmbeddingGateway $gateway)

Set the provider's embedding gateway.

textGateway()

Get the provider's text gateway.

useTextGateway(StepTextGateway $gateway)

Set the provider's text gateway.

textGenerationLoop()

Get the multi-step text generation loop wrapping the provider's text gateway.

transcriptionGateway()

Get the provider's transcription gateway.

useTranscriptionGateway(TranscriptionGateway $gateway)

Set the provider's transcription gateway.

stream(AgentPrompt $prompt)

Stream the response from the given agent.

mistralGateway()

Get the shared Mistral gateway instance.

string
defaultTextModel()

Get the name of the default text model.

string
cheapestTextModel()

Get the name of the cheapest text model.

string
smartestTextModel()

Get the name of the smartest text model.

string
defaultAudioModel()

Get the name of the default audio (TTS) model.

string
defaultTranscriptionModel()

Get the name of the default transcription (STT) model.

string
defaultEmbeddingsModel()

Get the name of the default embeddings model.

int
defaultEmbeddingsDimensions()

Get the default dimensions of the default embeddings model.

Details

at line 44
__construct(array $config, Dispatcher $events)

Create a Mistral provider instance.

Parameters

array $config
Dispatcher $events

in Provider at line 34
string name()

Get the name of the underlying AI provider.

Return Value

string

in Provider at line 42
string driver()

Get the name of the underlying AI driver.

Return Value

string

in Provider at line 50
array providerCredentials()

Get the credentials for the underlying AI provider.

Return Value

array

in Provider at line 60
array additionalConfiguration()

Get the provider connection configuration other than the driver, key, and name.

Return Value

array

in Provider at line 72
Provider withHeaders(array $headers)

internal  
 

Get a provider instance that sends the given HTTP headers with each request.

Parameters

array $headers

Return Value

Provider

in Provider at line 92
protected mixed dispatchingFailure(Closure $call, Closure $failed)

Run the given gateway call, dispatching the event built from its exception before rethrowing.

Parameters

Closure $call
Closure $failed

Return Value

mixed

in Provider at line 114
static array formatProviderAndModelList(Provider|Lab|array|string $providers, string|null $model = null)

Format the given provider / model list.

Parameters

Provider|Lab|array|string $providers
string|null $model

Return Value

array

in Provider at line 132
static array providerAndModelPairs(Provider|Lab|array|string $providers, string|null $model = null)

internal  
 

Get provider and model pairs without discarding on-demand instances.

Parameters

Provider|Lab|array|string $providers
string|null $model

Return Value

array

in Provider at line 164
array __serialize()

Get the serializable representation of the provider.

Return Value

array

in Provider at line 174
void __unserialize(array $data)

Restore the provider from its serialized representation.

Parameters

array $data

Return Value

void

in Provider at line 190
string __toString()

Convert the provider to its string representation.

Return Value

string

in GeneratesAudio at line 23
AudioResponse audio(string $text, string $voice = 'default-female', string|null $instructions = null, string|null $model = null, int $timeout = 30, array $providerOptions = [])

Generate audio from the given text.

Parameters

string $text
string $voice
string|null $instructions
string|null $model
int $timeout
array $providerOptions

Return Value

AudioResponse

EmbeddingsResponse embeddings(array $inputs, int|null $dimensions = null, string|null $model = null, int $timeout = 30, array $providerOptions = [])

Get embedding vectors representing the given inputs.

Parameters

array $inputs
int|null $dimensions
string|null $model
int $timeout
array $providerOptions

Return Value

EmbeddingsResponse

protected bool supportsNativeEmbeddingDimensions()

Determine if the provider may omit dimensions and use a model's native embedding dimensions.

Return Value

bool

protected void validateEmbeddingInputs(array $inputs, string $model)

Validate embeddings inputs against the provider's supported media types.

Parameters

array $inputs
string $model

Return Value

void

protected array|null resumableApprovalFor(AgentPrompt $prompt, array $messages, array $tools)

Get the tool approval to resume with, unless a faked agent has no paused approval to resume.

Parameters

AgentPrompt $prompt
array $messages
array $tools

Return Value

array|null

protected array withoutForeignReplayBlocks(array $messages)

Replace another provider's raw paused-turn replay state with its generic mapping, since raw blocks are only valid verbatim on the provider that produced them.

Parameters

array $messages

Return Value

array

protected bool resumesApproval(AgentPrompt $prompt, array $messages, array $tools)

Determine whether the prompt is a resume that runs the approved tools.

Parameters

AgentPrompt $prompt
array $messages
array $tools

Return Value

bool

protected Closure|null approvalResultRecorderFor(AgentPrompt $prompt, array|null $approval, Collection|null $resolvedApprovalResults)

Get a callback that captures a resume's resolved approval results for its completion event.

Parameters

AgentPrompt $prompt
array|null $approval
Collection|null $resolvedApprovalResults

Return Value

Closure|null

in GeneratesText at line 53
AgentResponse prompt(AgentPrompt $prompt)

Invoke the given agent.

Parameters

AgentPrompt $prompt

Return Value

AgentResponse

in GeneratesText at line 175
protected array gatherMiddlewareFor(Agent $agent)

Gather the internal run middleware for the given agent.

Parameters

Agent $agent

Return Value

array

in GeneratesText at line 193
protected array resolveTools(AgentPrompt $prompt)

Resolve the tools for the given prompt, wrapping any agent instances as tools.

Parameters

AgentPrompt $prompt

Return Value

array

in GeneratesText at line 204
protected array declaredTools(Agent $agent)

Get the tools the agent declares, including the tool that loads its skills.

Parameters

Agent $agent

Return Value

array

in GeneratesText at line 214
protected mixed resolveTool(mixed $tool)

Resolve a tool returned by the agent into a native tool instance when needed.

Parameters

mixed $tool

Return Value

mixed

in GeneratesText at line 233
protected RunContext prepareRunContext(string $invocationId, AgentPrompt $prompt, array|null $approval)

Build the run's context, letting a remembered conversation claim and record the approval decisions the run resumes.

Parameters

string $invocationId
AgentPrompt $prompt
array|null $approval

Return Value

RunContext

in GeneratesText at line 257
protected RunContext runContextFor(string $invocationId, AgentPrompt $prompt)

Build the context that identifies this run and reports its step and tool events.

Parameters

string $invocationId
AgentPrompt $prompt

Return Value

RunContext

in GeneratesText at line 268
protected void recordAgentFailure(string $invocationId, AgentPrompt $prompt, Throwable $exception, bool $retryable = true)

Dispatch the terminal failure event for a run, unless the caller may still retry it against another provider.

Parameters

string $invocationId
AgentPrompt $prompt
Throwable $exception
bool $retryable

Return Value

void

in GeneratesText at line 285
protected void throwIfNotResumable(AgentPrompt $prompt)

Throw when a pause has surfaced on a prompt that cannot be resumed from persisted or replayed history.

Parameters

AgentPrompt $prompt

Return Value

void

TranscriptionResponse transcribe(TranscribableAudio $audio, string|null $language = null, bool $diarize = false, string|null $model = null, int|null $timeout = null, array $providerOptions = [])

Transcribe the given audio to text.

Parameters

TranscribableAudio $audio
string|null $language
bool $diarize
string|null $model
int|null $timeout
array $providerOptions

Return Value

TranscriptionResponse

at line 59
AudioGateway audioGateway()

Get the provider's audio gateway.

Return Value

AudioGateway

in HasAudioGateway at line 27
HasAudioGateway useAudioGateway(AudioGateway $gateway)

Set the provider's audio gateway.

Changing a shared provider's gateway affects subsequent operations.

Parameters

AudioGateway $gateway

Return Value

HasAudioGateway

at line 75
EmbeddingGateway embeddingGateway()

Get the provider's embedding gateway.

Return Value

EmbeddingGateway

HasEmbeddingGateway useEmbeddingGateway(EmbeddingGateway $gateway)

Set the provider's embedding gateway.

Changing a shared provider's gateway affects subsequent operations.

Parameters

EmbeddingGateway $gateway

Return Value

HasEmbeddingGateway

at line 67
StepTextGateway textGateway()

Get the provider's text gateway.

Return Value

StepTextGateway

in HasTextGateway at line 30
HasTextGateway useTextGateway(StepTextGateway $gateway)

Set the provider's text gateway.

Changing a shared provider's gateway affects subsequent operations.

Parameters

StepTextGateway $gateway

Return Value

HasTextGateway

in HasTextGateway at line 42
TextGenerationLoop textGenerationLoop()

Get the multi-step text generation loop wrapping the provider's text gateway.

Return Value

TextGenerationLoop

at line 83
TranscriptionGateway transcriptionGateway()

Get the provider's transcription gateway.

Return Value

TranscriptionGateway

HasTranscriptionGateway useTranscriptionGateway(TranscriptionGateway $gateway)

Set the provider's transcription gateway.

Changing a shared provider's gateway affects subsequent operations.

Parameters

TranscriptionGateway $gateway

Return Value

HasTranscriptionGateway

in StreamsText at line 37
StreamableAgentResponse stream(AgentPrompt $prompt)

Stream the response from the given agent.

Parameters

AgentPrompt $prompt

Return Value

StreamableAgentResponse

at line 51
protected MistralGateway mistralGateway()

Get the shared Mistral gateway instance.

Return Value

MistralGateway

at line 91
string defaultTextModel()

Get the name of the default text model.

Return Value

string

at line 99
string cheapestTextModel()

Get the name of the cheapest text model.

Return Value

string

at line 107
string smartestTextModel()

Get the name of the smartest text model.

Return Value

string

at line 115
string defaultAudioModel()

Get the name of the default audio (TTS) model.

Return Value

string

at line 123
string defaultTranscriptionModel()

Get the name of the default transcription (STT) model.

Return Value

string

at line 131
string defaultEmbeddingsModel()

Get the name of the default embeddings model.

Return Value

string

at line 139
int defaultEmbeddingsDimensions()

Get the default dimensions of the default embeddings model.

Return Value

int