class AnthropicProvider extends Provider implements FileProvider, SupportsCodeExecution, SupportsToolSearch, SupportsWebFetch, SupportsWebSearch, TextProvider

Traits

Properties

protected FileGateway $fileGateway from  HasFileGateway
protected StepTextGateway $textGateway from  HasTextGateway
protected TextGenerationLoop|null $textGenerationLoop from  HasTextGateway

Methods

__construct(Gateway $gateway, array $config, Dispatcher $events)

Create a provider instance.

from  Provider
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
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.

fileGateway()

Get the provider's file gateway.

useFileGateway(FileGateway $gateway)

Set the provider's file 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.

getFile(string $fileId)

Get a file by its ID.

putFile(StorableFile $file)

Store the given file.

void
deleteFile(string $fileId)

Delete a file by its ID.

stream(AgentPrompt $prompt)

Stream the response from the given agent.

array
codeExecutionToolOptions(CodeExecution $codeExecution)

Get the code execution tool options for the provider.

array
webFetchToolOptions(WebFetch $fetch)

Get the web fetch tool options for the provider.

array
webSearchToolOptions(WebSearch $search)

Get the web search tool options for the provider.

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.

Details

in Provider at line 24
__construct(Gateway $gateway, array $config, Dispatcher $events)

Create a provider instance.

Parameters

Gateway $gateway
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

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

at line 102
FileGateway fileGateway()

Get the provider's file gateway.

Return Value

FileGateway

in HasFileGateway at line 27
HasFileGateway useFileGateway(FileGateway $gateway)

Set the provider's file gateway.

Changing a shared provider's gateway affects subsequent operations.

Parameters

FileGateway $gateway

Return Value

HasFileGateway

in HasTextGateway at line 20
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

in ManagesFiles at line 23
FileResponse getFile(string $fileId)

Get a file by its ID.

Parameters

string $fileId

Return Value

FileResponse

in ManagesFiles at line 31
StoredFileResponse putFile(StorableFile $file)

Store the given file.

Parameters

StorableFile $file

Return Value

StoredFileResponse

in ManagesFiles at line 68
void deleteFile(string $fileId)

Delete a file by its ID.

Parameters

string $fileId

Return Value

void

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

Stream the response from the given agent.

Parameters

AgentPrompt $prompt

Return Value

StreamableAgentResponse

at line 36
array codeExecutionToolOptions(CodeExecution $codeExecution)

Get the code execution tool options for the provider.

Parameters

CodeExecution $codeExecution

Return Value

array

at line 44
array webFetchToolOptions(WebFetch $fetch)

Get the web fetch tool options for the provider.

Parameters

WebFetch $fetch

Return Value

array

at line 57
array webSearchToolOptions(WebSearch $search)

Get the web search tool options for the provider.

Parameters

WebSearch $search

Return Value

array

at line 78
string defaultTextModel()

Get the name of the default text model.

Return Value

string

at line 86
string cheapestTextModel()

Get the name of the cheapest text model.

Return Value

string

at line 94
string smartestTextModel()

Get the name of the smartest text model.

Return Value

string