Skip to main content

Interface: IToolErrorReport

Defined in: contracts/types.ts:503

Everything the gateway knows about one failed tool call: the tool threw, timed out, returned too much, got an input its schema rejected, or was not offered to the run. Written for the developer, so nothing is held back; the model reads modelText only.

Handed to IToolRegistryConfig.onToolError by ToolRegistry.execute, once per failed call, right before the failure becomes the tool's result. Never for a call the caller aborted (D90): that is not a failure of the tool.

Properties​

at​

at: Date

Defined in: contracts/types.ts:532

When the failure was recorded.


callId​

callId: string

Defined in: contracts/types.ts:520

The model's id of the call.

The key into the rest of the record: the thread's IToolCallPart and IToolResultPart carry it, and so does the request of the next step's trace entry (ITraceEntry.request.messages).


durationMs​

durationMs: number

Defined in: contracts/types.ts:530

Time from the start of execute to the failure.


error​

error: unknown

Defined in: contracts/types.ts:526

The error as it was thrown, untouched: the tool's own, or the gateway's dynaError (code, status, data).


input​

input: unknown

Defined in: contracts/types.ts:524

The model's input: parsed when the tool's schema accepted it, raw when the rejected input is the failure.


modelText​

modelText: string

Defined in: contracts/types.ts:528

The text the model reads as the result of the call.


runId?​

optional runId?: string

Defined in: contracts/types.ts:511

The run, when it is already stored: on a resume. A fresh run is stored when it pauses, so during its loop there is none.


stepIndex​

stepIndex: number

Defined in: contracts/types.ts:513

Step of the run (0-based) in which the model asked for the call.


tenantId​

tenantId: string

Defined in: contracts/types.ts:505

Tenant of the call.


threadId​

threadId: string

Defined in: contracts/types.ts:509

Thread of the call.


toolName​

toolName: string

Defined in: contracts/types.ts:522

The tool the model called, as it named it.


userContext​

userContext: IUserContext

Defined in: contracts/types.ts:507

Who was calling.